Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8531993279 | ||
|
|
5701c3fc12 | ||
|
|
12b608f3ca | ||
|
|
8b96d182a8 | ||
|
|
78b87e60b9 | ||
|
|
3b6817b0f8 | ||
|
|
f3e4246db1 | ||
|
|
23772af8fe | ||
|
|
5af39e116e | ||
|
|
bd7d43561e | ||
|
|
32ac1de4d2 | ||
|
|
30559800cb | ||
|
|
4baf448a5e | ||
|
|
b5471d52ae | ||
|
|
e434fe9c99 | ||
|
|
4a660645d4 | ||
|
|
870d126a8f | ||
|
|
962dbb3dd3 | ||
|
|
53918411a0 | ||
|
|
ed57d748a2 | ||
|
|
b5dd43eab0 | ||
|
|
8b75721494 | ||
|
|
994f30d0fc | ||
|
|
54a1595f2f | ||
|
|
8557ad92bb | ||
|
|
c9474e425d | ||
|
|
aaa76e04d3 | ||
|
|
4815406fe5 | ||
|
|
ea8793fac8 | ||
|
|
d1f6b62606 | ||
|
|
d6859f6168 | ||
|
|
ec3c638f20 | ||
|
|
09f5b9a55d | ||
|
|
5361f2c5df | ||
|
|
ee96370a3b | ||
|
|
1dae62baa7 | ||
|
|
7c8aac7fb0 | ||
|
|
d0eb74c10f | ||
|
|
445b23b874 | ||
|
|
574d0f16a7 | ||
|
|
c0033de00e | ||
|
|
04a6b626c7 | ||
|
|
e98c89daa7 | ||
|
|
df41cfd725 | ||
|
|
3a0f07b0f3 | ||
|
|
06d9bff485 | ||
|
|
06d9e18599 | ||
|
|
b2a05f09cd | ||
|
|
3fa4fbcfb5 | ||
|
|
533dfaf56a | ||
|
|
8b33d98f7b | ||
|
|
749b9dac1c | ||
|
|
5e5d77a577 | ||
|
|
54059b0e57 | ||
|
|
c0b196834f | ||
|
|
0930093773 | ||
|
|
6a83762f12 | ||
|
|
be3a6aa16b | ||
|
|
6a61b8f50e | ||
|
|
e92a664196 | ||
|
|
b8548af007 | ||
|
|
31ba51515c | ||
|
|
19761bf3f5 | ||
|
|
c69ce15924 | ||
|
|
297ab4ae45 | ||
|
|
05d7810940 | ||
|
|
a7933ea949 | ||
|
|
f94115f8b6 | ||
|
|
03675528c2 | ||
|
|
e381e9bb03 | ||
|
|
4790d18acc | ||
|
|
ea2f848064 | ||
|
|
06b291dd8d | ||
|
|
2379ef80a2 | ||
|
|
ee83ed46aa | ||
|
|
6e0164d0e4 | ||
|
|
45819c5dba | ||
|
|
b18dbe2713 | ||
|
|
f67922fc47 | ||
|
|
f55ba5bb64 | ||
|
|
52bbe6ff93 | ||
|
|
55bb0db3ac | ||
|
|
96fdb6db8b | ||
|
|
968d1ccc12 | ||
|
|
08e80d235f | ||
|
|
dc1ff0f998 | ||
|
|
8985243d2f | ||
|
|
5ffa6eadea | ||
|
|
c0608aea89 | ||
|
|
78e353dc90 | ||
|
|
7b48cb1481 | ||
|
|
2f08a50e5c | ||
|
|
2d993c911c | ||
|
|
47e5bb600d | ||
|
|
f16fe7f8dc | ||
|
|
9dbb6fb92b | ||
|
|
717b514cbc | ||
|
|
c02a293294 | ||
|
|
e038155bc8 | ||
|
|
cf73268bdd | ||
|
|
8875f5ba7d | ||
|
|
87b33b461a | ||
|
|
7ed77a41ed | ||
|
|
9242c1c57f | ||
|
|
da623dc9cc | ||
|
|
45e51c93bc | ||
|
|
086061cca0 | ||
|
|
2535f39fb5 | ||
|
|
ee04983cda | ||
|
|
e3caa6044d | ||
|
|
c15d23a264 | ||
|
|
fb35880330 | ||
|
|
6d100ad274 | ||
|
|
43695bad64 | ||
|
|
a9ded90dca | ||
|
|
b5ac2766f5 | ||
|
|
26900dbd93 | ||
|
|
a6263505f8 | ||
|
|
2c3cbeb0ae | ||
|
|
126dfa720b | ||
|
|
585f28e293 | ||
|
|
e86beacb49 | ||
|
|
a7998e4631 | ||
|
|
102a9bcaa3 | ||
|
|
e7a77c81b3 | ||
|
|
5c16a683d7 | ||
|
|
b72debb415 | ||
|
|
fdbc2ccf24 | ||
|
|
d0af4cc90f | ||
|
|
48c506915a | ||
|
|
31b2b0149f | ||
|
|
02b9f1b27b | ||
|
|
90f1711bf7 | ||
|
|
8cb34f3deb | ||
|
|
1465b90757 | ||
|
|
9cc25e15bd | ||
|
|
a62dcb402c | ||
|
|
50a4eda53a | ||
|
|
df3cadd320 | ||
|
|
c827cc5c04 | ||
|
|
2482ccf446 | ||
|
|
8f9b4d8201 | ||
|
|
532738e92c | ||
|
|
e51b6121c5 | ||
|
|
17a53b56e9 | ||
|
|
ff2b7dfa48 | ||
|
|
044736208a | ||
|
|
5ee491bc0a | ||
|
|
3eb9031b84 | ||
|
|
045416daf1 | ||
|
|
1c91bb6fd5 | ||
|
|
cd342e8674 | ||
|
|
a5b20fff6c | ||
|
|
bb713eaaa4 | ||
|
|
0e577e2d5c | ||
|
|
a640a461d1 | ||
|
|
bfe41ff1a9 | ||
|
|
22f25b912f | ||
|
|
b97bd9a0fc | ||
|
|
dcc8821b32 | ||
|
|
5206b02121 | ||
|
|
3c1fd22fdb | ||
|
|
cfbfc2fbc1 | ||
|
|
e09bb0c7ac | ||
|
|
f86a95a189 | ||
|
|
ada540f102 | ||
|
|
c21aac1baa | ||
|
|
9d28ff57f2 | ||
|
|
1b5fb63275 | ||
|
|
ad79f8f19e | ||
|
|
e9d43b07c1 | ||
|
|
3fa1bcd3e4 | ||
|
|
7305e629da | ||
|
|
3c7c54e3b1 | ||
|
|
cd28a023eb | ||
|
|
2edf271084 | ||
|
|
8936b4d0fc | ||
|
|
13a7ad8ec4 | ||
|
|
fef151c3eb | ||
|
|
ba7d7d5a6c | ||
|
|
869da321a6 | ||
|
|
02258281cf | ||
|
|
134d9c1179 | ||
|
|
ada2b2c99b | ||
|
|
7a40cfdb11 | ||
|
|
afd4334cf8 | ||
|
|
78108c70de | ||
|
|
6f06d8550a | ||
|
|
83a2471949 | ||
|
|
ba8045651a | ||
|
|
93f70df482 | ||
|
|
43cc1c7c82 | ||
|
|
d9530c1dda | ||
|
|
4798c98291 | ||
|
|
5330bdc0bf | ||
|
|
154fa8caca | ||
|
|
9c9cbef243 | ||
|
|
a0dc9825dc | ||
|
|
b51d2dd68e | ||
|
|
517c9d0ff2 | ||
|
|
db3cefaacb | ||
|
|
eae354183e | ||
|
|
38f7e449bb | ||
|
|
a6e9a885ec | ||
|
|
eda728ba1d | ||
|
|
7a7fa2bf24 | ||
|
|
85867e3f14 | ||
|
|
18c163c563 | ||
|
|
8aa33cfdd8 | ||
|
|
61dbc60f03 | ||
|
|
53bc9b922b | ||
|
|
8dcddb1d88 | ||
|
|
9ccbeb696e | ||
|
|
eceda27458 | ||
|
|
d55ec148dc | ||
|
|
97d0326417 | ||
|
|
4f1209b158 | ||
|
|
02c96872ba | ||
|
|
6a4f0101c8 | ||
|
|
b643e6f05b | ||
|
|
7c6663c348 | ||
|
|
9d8d050cd6 | ||
|
|
3eafcd94ce | ||
|
|
b32b2d0a07 | ||
|
|
496a45fb89 | ||
|
|
9be10d53aa | ||
|
|
257f2d4928 | ||
|
|
f57c38018e | ||
|
|
06b5f02635 | ||
|
|
3336416867 | ||
|
|
bb779204d1 | ||
|
|
4693a07499 | ||
|
|
de90e84c6b | ||
|
|
93290bbb1f | ||
|
|
2fd531cfdf | ||
|
|
d4f121f28f | ||
|
|
4d29012edb | ||
|
|
aa03e677db | ||
|
|
6f08a1dba6 | ||
|
|
06d2675436 | ||
|
|
4f12aa3578 | ||
|
|
fbc8d1e364 | ||
|
|
c49443d765 | ||
|
|
4ec5848594 | ||
|
|
74a09bab49 | ||
|
|
02da08de65 | ||
|
|
95145d4665 | ||
|
|
a9d8eee152 | ||
|
|
cdb84c8b0e | ||
|
|
384cba03cd | ||
|
|
9f741eb71d | ||
|
|
3b2bf23b00 | ||
|
|
982d80dae6 | ||
|
|
14ceca7ca1 | ||
|
|
785b0f3ed6 | ||
|
|
5409a07ee0 | ||
|
|
c40880a70b | ||
|
|
b85caa20b0 | ||
|
|
fb55b339d3 | ||
|
|
dcec748080 | ||
|
|
9952298f85 | ||
|
|
c04a56e7a2 | ||
|
|
bd603475c7 | ||
|
|
2b3b34fab9 | ||
|
|
b64e7fc6d5 | ||
|
|
ebb7e950fc | ||
|
|
86c5650925 | ||
|
|
9d18e3d78c | ||
|
|
616ebd1cf5 | ||
|
|
4f3f908a37 | ||
|
|
a2d5c361b4 | ||
|
|
e26ede4f7a | ||
|
|
7bf971b481 | ||
|
|
b3d692bf2f | ||
|
|
f47c51b59e | ||
|
|
ab2b979da4 | ||
|
|
cbfe4eb570 | ||
|
|
6bbc2985e0 | ||
|
|
83eae55276 | ||
|
|
10b1dca2c2 | ||
|
|
fdb4a4be14 | ||
|
|
3c0d54c41d | ||
|
|
e832e646bf | ||
|
|
49bf99641e | ||
|
|
e015e32356 | ||
|
|
f11c652362 | ||
|
|
bb44f5b17a | ||
|
|
bdd1c3f136 | ||
|
|
9bc237dc34 | ||
|
|
802d9369b8 | ||
|
|
4685aff77c | ||
|
|
2d0f9852d8 | ||
|
|
23ef06829a | ||
|
|
eaa5e500af | ||
|
|
92f704cd61 | ||
|
|
9e1fc48e96 | ||
|
|
a387038958 | ||
|
|
08d28ec1c1 | ||
|
|
914352f71c | ||
|
|
8ca246ce31 | ||
|
|
485b08193c | ||
|
|
50e4c2b9aa | ||
|
|
34ca5acc8f | ||
|
|
7c2ca7969e | ||
|
|
00704d369a | ||
|
|
1aa41fae0f | ||
|
|
99c5fa5a00 | ||
|
|
96529363cd | ||
|
|
cd946b93e5 | ||
|
|
8d6c5b7905 | ||
|
|
0b94dd1479 | ||
|
|
70da7fc17a | ||
|
|
f8b90ea3ba | ||
|
|
5cf45863cb | ||
|
|
16600ee159 | ||
|
|
a246ba2451 | ||
|
|
f57b0dc2b2 | ||
|
|
9914624b84 | ||
|
|
cb77f886ea | ||
|
|
e75be1c390 | ||
|
|
679f0684b5 | ||
|
|
740fc1763f | ||
|
|
5518d77c68 | ||
|
|
0f01a1b680 | ||
|
|
1ae18a8c6e | ||
|
|
eaf4ea9270 | ||
|
|
0427f9f5af | ||
|
|
4a428f41f4 | ||
|
|
b579398813 | ||
|
|
c92e208864 | ||
|
|
2c3235eeac | ||
|
|
a660482b24 | ||
|
|
c6869834ea | ||
|
|
0e07a9f265 | ||
|
|
5c12f7597a | ||
|
|
e3869849bd | ||
|
|
b8f23598c8 | ||
|
|
e545d7403c | ||
|
|
bf8f63b4a6 | ||
|
|
8b55912ceb | ||
|
|
6eb430368e | ||
|
|
4f75ade0c3 | ||
|
|
9b54ae3d49 | ||
|
|
242a0ece62 | ||
|
|
097f5f84ad | ||
|
|
14b91db78f | ||
|
|
77c7697e25 | ||
|
|
2a6a48ee7b | ||
|
|
19db5a64a9 | ||
|
|
9e7abf32cf | ||
|
|
92f26f9bdd | ||
|
|
ad620c454b | ||
|
|
e10caf4cf4 | ||
|
|
04e4419c07 | ||
|
|
5ba7d0d9f7 | ||
|
|
66198da716 | ||
|
|
974fbf2687 | ||
|
|
53e6a6a45b | ||
|
|
ca81165e93 | ||
|
|
bb92f916fb | ||
|
|
cfa91313a3 | ||
|
|
9c06a77fdf | ||
|
|
495670c03a | ||
|
|
bfea9da5b8 | ||
|
|
a974891894 | ||
|
|
c3be8efbd6 | ||
|
|
25a60fffd1 | ||
|
|
c5ce1df3a3 | ||
|
|
f74fa4c47c | ||
|
|
19cf871962 | ||
|
|
ac0e87102d | ||
|
|
887fe0a5c4 | ||
|
|
083bea8573 | ||
|
|
2f0151858a | ||
|
|
02b6dc91c8 | ||
|
|
8cfcf441cf | ||
|
|
6ad2415c6d | ||
|
|
979dd97103 | ||
|
|
096fa3e919 | ||
|
|
af93d93c23 | ||
|
|
0a2854079a | ||
|
|
ec9e78e3e1 | ||
|
|
1fd4c96eb9 | ||
|
|
31c6cf5a14 | ||
|
|
68a9e1f903 | ||
|
|
eb4fd37982 | ||
|
|
8e7037268a | ||
|
|
1ac7f4583e | ||
|
|
04d514c06a | ||
|
|
9c91fc3083 | ||
|
|
3be3e817bc | ||
|
|
e770bc974a | ||
|
|
b18027c486 | ||
|
|
b2849743d6 | ||
|
|
ae3b8d9933 | ||
|
|
7d8f6afab2 | ||
|
|
088050c06f | ||
|
|
b041980cc0 | ||
|
|
015c2955a9 | ||
|
|
9856cf1e3b | ||
|
|
56f6ee08c6 | ||
|
|
a3aa70db86 | ||
|
|
9024af82bf | ||
|
|
8a892cfb68 | ||
|
|
d335c7dc71 | ||
|
|
c1aca647c7 | ||
|
|
8ece6072fc | ||
|
|
347a58a504 | ||
|
|
2189a0c997 | ||
|
|
45a861c56d | ||
|
|
b91d9c2d4c | ||
|
|
2949795cc2 | ||
|
|
c45cf9b65d | ||
|
|
c5570a2e93 | ||
|
|
3d9978c225 | ||
|
|
242789f6d2 | ||
|
|
74c105c1fd | ||
|
|
36b59471eb | ||
|
|
b0875b040a | ||
|
|
ba2758b3ed | ||
|
|
96f8994866 | ||
|
|
d038fd0b33 | ||
|
|
75ea2736ad | ||
|
|
243100053e |
No files matched your search
@@ -7,7 +7,8 @@ updates:
|
||||
directory: "/"
|
||||
target-branch: "dev"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
interval: "weekly"
|
||||
day: "wednesday"
|
||||
commit-message:
|
||||
prefix: "📌"
|
||||
labels:
|
||||
@@ -17,7 +18,7 @@ updates:
|
||||
target-branch: "dev"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "sunday"
|
||||
day: "wednesday"
|
||||
commit-message:
|
||||
prefix: "👷"
|
||||
labels:
|
||||
|
||||
@@ -8,7 +8,7 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: "${{ github.head_ref }}"
|
||||
- name: Install dependencies and Build Theme
|
||||
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
HUGO_ENVIRONMENT: production
|
||||
HUGO_ENV: production
|
||||
run: |
|
||||
hugo --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page
|
||||
hugo -E -F --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page
|
||||
|
||||
- name: Deploy preview
|
||||
uses: FirebaseExtended/action-hosting-deploy@v0
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
HUGO_ENVIRONMENT: production
|
||||
HUGO_ENV: production
|
||||
run: |
|
||||
hugo --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page
|
||||
hugo -E -F --minify -s exampleSite --themesDir ../.. -d ../public --baseURL https://blowfish.page
|
||||
|
||||
- name: Deploy Production
|
||||
uses: FirebaseExtended/action-hosting-deploy@v0
|
||||
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
|
||||
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup Pages
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
run: |
|
||||
hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v1
|
||||
uses: actions/upload-pages-artifact@v2
|
||||
with:
|
||||
path: ./docs
|
||||
|
||||
@@ -65,4 +65,4 @@ jobs:
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v1
|
||||
uses: actions/deploy-pages@v2
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v7
|
||||
- uses: actions/stale@v8
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue will be closed since it has been stale for 60 days.'
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
|
||||
#others
|
||||
node_modules
|
||||
.DS_Store
|
||||
**/.DS_Store
|
||||
.hugo_build.lock
|
||||
|
||||
# OS generated files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
@@ -0,0 +1,2 @@
|
||||
github: [nunocoracao]
|
||||
custom: ["https://www.paypal.me/nunocoracao", "https://www.buymeacoffee.com/nunocoracao"]
|
||||
@@ -29,13 +29,13 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
||||
- Highly customisable configuration
|
||||
- Firebase integration to support dynamic data
|
||||
- Views count & like mechanism
|
||||
- Related articles
|
||||
- Multiple homepage layouts
|
||||
- Support for multiple authors
|
||||
- Support for series of articles
|
||||
- Multiple authors
|
||||
- Series of articles
|
||||
- Flexible with any content types, taxonomies and menus
|
||||
- Support for header and footer menus
|
||||
- Support for nested menus
|
||||
- Support for sub-navigation menu
|
||||
- Header and footer menus
|
||||
- Nested menus & sub-navigation menu
|
||||
- Multilingual content support inlcuding support for RTL languages
|
||||
- Ability to link to posts on third-party websites
|
||||
- Support for several shortcodes like Gallery, Timeline, GitHub cards, and Carousels
|
||||
|
||||
@@ -348,7 +348,14 @@ body:has(#menu-controller:checked) {
|
||||
}
|
||||
|
||||
.thumbnail_card {
|
||||
height: 250px;
|
||||
height: 200px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
}
|
||||
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
|
||||
<path fill="currentColor" d="M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z"/></svg>
|
||||
|
After Width: | Height: | Size: 857 B |
@@ -0,0 +1,2 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 640 512">
|
||||
<path fill="currentColor" d="M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z"/></svg>
|
||||
|
After Width: | Height: | Size: 840 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 511.471"><path fill="currentColor" d="M0 0h448v62.804H0V0zm0 229.083h448v282.388L223.954 385.808 0 511.471V229.083zm0-114.542h448v62.804H0v-62.804z"/></svg>
|
||||
|
After Width: | Height: | Size: 213 B |
@@ -26,16 +26,19 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
const switcher = document.getElementById("appearance-switcher");
|
||||
const switcherMobile = document.getElementById("appearance-switcher-mobile");
|
||||
|
||||
updateMeta()
|
||||
updateMeta();
|
||||
this.updateLogo?.(getTargetAppearance());
|
||||
|
||||
if (switcher) {
|
||||
switcher.addEventListener("click", () => {
|
||||
document.documentElement.classList.toggle("dark");
|
||||
var targetAppearance = getTargetAppearance();
|
||||
localStorage.setItem(
|
||||
"appearance",
|
||||
document.documentElement.classList.contains("dark") ? "dark" : "light"
|
||||
targetAppearance
|
||||
);
|
||||
updateMeta()
|
||||
updateMeta();
|
||||
this.updateLogo?.(targetAppearance);
|
||||
});
|
||||
switcher.addEventListener("contextmenu", (event) => {
|
||||
event.preventDefault();
|
||||
@@ -45,11 +48,13 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
if (switcherMobile) {
|
||||
switcherMobile.addEventListener("click", () => {
|
||||
document.documentElement.classList.toggle("dark");
|
||||
var targetAppearance = getTargetAppearance();
|
||||
localStorage.setItem(
|
||||
"appearance",
|
||||
document.documentElement.classList.contains("dark") ? "dark" : "light"
|
||||
targetAppearance
|
||||
);
|
||||
updateMeta()
|
||||
updateMeta();
|
||||
this.updateLogo?.(targetAppearance);
|
||||
});
|
||||
switcherMobile.addEventListener("contextmenu", (event) => {
|
||||
event.preventDefault();
|
||||
@@ -64,4 +69,33 @@ var updateMeta = () => {
|
||||
elem = document.querySelector('body');
|
||||
style = getComputedStyle(elem);
|
||||
document.querySelector('meta[name="theme-color"]').setAttribute('content', style.backgroundColor);
|
||||
}
|
||||
}
|
||||
|
||||
{{ if and (.Site.Params.Logo) (.Site.Params.SecondaryLogo) }}
|
||||
{{ $primaryLogo := resources.Get .Site.Params.Logo }}
|
||||
{{ $secondaryLogo := resources.Get .Site.Params.SecondaryLogo }}
|
||||
{{ if and ($primaryLogo) ($secondaryLogo) }}
|
||||
var updateLogo = (targetAppearance) => {
|
||||
var elems;
|
||||
elems = document.querySelectorAll("img.logo")
|
||||
targetLogoPath =
|
||||
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
|
||||
"{{ $primaryLogo.RelPermalink }}" : "{{ $secondaryLogo.RelPermalink }}"
|
||||
for (const elem of elems) {
|
||||
elem.setAttribute("src", targetLogoPath)
|
||||
}
|
||||
}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
var getTargetAppearance = () => {
|
||||
return document.documentElement.classList.contains("dark") ? "dark" : "light"
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
const scroller = document.getElementById("top-scroller");
|
||||
const footer = document.getElementById("site-footer");
|
||||
if(scroller && footer && scroller.getBoundingClientRect().top > footer.getBoundingClientRect().top) {
|
||||
scroller.hidden = true;
|
||||
}
|
||||
});
|
||||
@@ -3,26 +3,23 @@ if (typeof auth !== 'undefined') {
|
||||
var likesCollection = db.collection('likes');
|
||||
|
||||
function numberWithCommas(x) {
|
||||
//return x.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",");
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||
}
|
||||
|
||||
var update_views = function (oid, id) {
|
||||
var update_views = function (node, id) {
|
||||
viewsCollection.doc(id).onSnapshot(doc => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
var label = document.querySelectorAll("span[id='" + oid + "']")[0].innerText.split(' ')[1]
|
||||
document.querySelectorAll("span[id='" + oid + "']")[0].innerText = numberWithCommas(data.views)
|
||||
node.innerText = numberWithCommas(data.views)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var update_likes = function (oid, id) {
|
||||
var update_likes = function (node, id) {
|
||||
likesCollection.doc(id).onSnapshot(doc => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
var label = document.querySelectorAll("span[id='" + oid + "']")[0].innerText.split(' ')[1]
|
||||
document.querySelectorAll("span[id='" + oid + "']")[0].innerText = numberWithCommas(data.likes)
|
||||
node.innerText = numberWithCommas(data.likes)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -33,20 +30,20 @@ if (typeof auth !== 'undefined') {
|
||||
var views_nodes = document.querySelectorAll("span[id^='views_']")
|
||||
|
||||
for (var i in views_nodes) {
|
||||
var oid = views_nodes[i].id
|
||||
var id = oid ? oid.replaceAll("/", "-") : oid
|
||||
var node = views_nodes[i]
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id
|
||||
if (id) {
|
||||
update_views(oid, id)
|
||||
update_views(node, id)
|
||||
}
|
||||
}
|
||||
|
||||
var likes_nodes = document.querySelectorAll("span[id^='likes_']")
|
||||
|
||||
for (var i in likes_nodes) {
|
||||
var oid = likes_nodes[i].id
|
||||
var id = oid ? oid.replaceAll("/", "-") : oid
|
||||
var node = likes_nodes[i]
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id
|
||||
if (id) {
|
||||
update_likes(oid, id)
|
||||
update_likes(node, id)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/*!
|
||||
* Chart.js v4.2.1
|
||||
* Chart.js v4.3.3
|
||||
* https://www.chartjs.org
|
||||
* (c) 2023 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
*/
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return jo},get Decimation(){return Uo},get Filler(){return ha},get Legend(){return fa},get SubTitle(){return ba},get Title(){return pa},get Tooltip(){return La}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?b(n,a,s):e[t]=g(a)}function b(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function x(t,e){return b(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?x(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function N(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function W(t){return!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function Z(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function J(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return J(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){Line truncated
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Ko},get Decimation(){return Jo},get Filler(){return pa},get Legend(){return _a},get SubTitle(){return wa},get Title(){return va},get Tooltip(){return Va}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?b(n,a,s):e[t]=g(a)}function b(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function x(t,e){return b(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?x(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function W(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function Z(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function J(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return J(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){Line truncated
|
||||
/*!
|
||||
* @kurkle/color v0.3.0
|
||||
* @kurkle/color v0.3.2
|
||||
* https://github.com/kurkle/color#readme
|
||||
* (c) 2022 Jukka Kurkela
|
||||
* (c) 2023 Jukka Kurkela
|
||||
* Released under the MIT License
|
||||
*/function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Nt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Wt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Wt),i=Object.keys(Nt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Nt[o]);o=parseInt(Wt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
||||
*/function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
||||
//# sourceMappingURL=chart.umd.js.map
|
||||
@@ -1,2 +1,2 @@
|
||||
/*! jQuery v3.6.4 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */
|
||||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.4 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+Line truncated
|
||||
/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */
|
||||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},m=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||m).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var de=oe.pop,pe=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function d(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+Line truncated
|
||||
@@ -1 +1 @@
|
||||
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.4"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1pxLine truncated
|
||||
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.8"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1pxLine truncated
|
||||
@@ -1 +1 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Qn}});var r=function e(t,r){this.position=void 0;var n,a="KaTeX parse error: "+t,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;n=i.start;var s=i.end;n===o.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var l=o.slice(n,s).replace(/[^]/g,"$&\u0332");a+=(n>15?"\u2026"+o.slice(n-15,n):o.slice(0,n))+l+(s+15<o.length?o.slice(s,s+15)+"\u2026":o.slice(s))}var h=new Error(a);return h.name="ParseError",h.__proto__=e.prototype,h.position=n,h};r.prototype.__proto__=Error.prototype;var n=r,a=/([A-Z])/g,i={"&":"&",">":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand <n>",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,thiLine truncated
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return na}});var r=function e(t,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,a,i="KaTeX parse error: "+t,o=r&&r.loc;if(o&&o.start<=o.end){var s=o.lexer.input;n=o.start,a=o.end,n===s.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var l=s.slice(n,a).replace(/[^]/g,"$&\u0332");i+=(n>15?"\u2026"+s.slice(n-15,n):s.slice(0,n))+l+(a+15<s.length?s.slice(a,a+15)+"\u2026":s.slice(a))}var h=new Error(i);return h.name="ParseError",h.__proto__=e.prototype,h.position=n,null!=n&&null!=a&&(h.length=a-n),h.rawMessage=t,h};r.prototype.__proto__=Error.prototype;var n=r,a=/([A-Z])/g,i={"&":"&",">":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:function(e){return Math.max(0,e)},cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:function(e){return Math.max(0,e)},cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:function(e){return Math.max(0,e)},cli:"-e, --max-expand <n>",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void
Line truncated
|
||||
@@ -1,18 +1,435 @@
|
||||
/*!
|
||||
*
|
||||
* Tailwind Elements is an open-source UI kit of advanced components for TailwindCSS.
|
||||
* Copyright © 2023 MDBootstrap.com
|
||||
*
|
||||
* Unless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
* In addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||||
*
|
||||
*/
|
||||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("te",[],e):"object"==typeof exports?exports.te=e():t.te=e()}(this,function(){return i=[function(t,e,i){var i=i(44),n=Function.prototype,s=n.call,n=i&&n.bind.bind(s,s);t.exports=i?n:function(t){return function(){return s.apply(t,arguments)}}},function(t,e,i){var i=i(72),n=i.all;t.exports=i.IS_HTMLDDA?function(t){return"function"==typeof t||t===n}:function(t){return"function"==typeof t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(i,t,e){!function(t){function e(t){return t&&t.Math==Math&&t}i.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||function(){return this}()||Function("return this")()}.call(this,e(119))},function(t,e,i){var n=i(3),s=i(54),o=i(12),a=i(76),r=i(75),i=i(74),l=n.Symbol,c=s("wks"),h=i?l.for||l:l&&l.withoutSetter||a;t.exports=function(t){return o(c,t)||(c[t]=r&&o(l,t)?l[t]:h("Symbol."+t)),c[t]}},function(t,e,i){var i=i(44),n=Function.prototype.call;t.exports=i?n.bind(n):function(){return n.apply(n,arguments)}},function(t,e,i){"use strict";var n=i(31),s=i(93),o=i(38),a=i(20),r=i(14).f,l=i(96),c=i(100),h=i(19),i=i(11),d="Array Iterator",u=a.set,p=a.getterFor(d),a=(t.exports=l(Array,"Array",function(t,e){u(this,{type:d,target:n(t),index:0,kind:e})},function(){var t=p(this),e=t.target,i=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,c(void 0,!0)):c("keys"==i?n:"values"==i?e[n]:[n,e[n]],!1)},"values"),o.Arguments=o.Array);if(s("keys"),s("values"),s("entries"),!h&&i&&"values"!==a.name)try{r(a,"name",{value:"values"})}catch(t){}},function(t,e,i){"use strict";var n=i(10),i=i(63);n({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,e,i){"use strict";var n=i(10),s=i(83).includes,o=i(2),i=i(93);n({target:"Array",proto:!0,forced:o(function(){return!Array(1).includes()})},{includes:function(t){return s(this,t,1<arguments.length?arguments[1]:void 0)}}),i("includes")},function(t,e,i){function n(e,t){if(e){if(e[h]!==u)try{c(e,h,u)}catch(t){e[h]=u}if(e[d]||c(e,d,t),a[t])for(var i in l)if(e[i]!==l[i])try{c(e,i,l[i])}catch(t){e[i]=l[i]}}}var s,o=i(3),a=i(135),r=i(136),l=i(6),c=i(26),i=i(4),h=i("iterator"),d=i("toStringTag"),u=l.values;for(s in a)n(o[s]&&o[s].prototype,s);n(r,"DOMTokenList")},function(t,e,i){var c=i(3),h=i(51).f,d=i(26),u=i(16),p=i(56),f=i(80),m=i(62);t.exports=function(t,e){var i,n,s,o=t.target,a=t.global,r=t.stat,l=a?c:r?c[o]||p(o,{}):(c[o]||{}).prototype;if(l)for(i in e){if(n=e[i],s=t.dontCallGetSet?(s=h(l,i))&&s.value:l[i],!m(a?i:o+(r?".":"#")+i,t.forced)&&void 0!==s){if(typeof n==typeof s)continue;f(n,s)}(t.sham||s&&s.sham)&&d(n,"sham",!0),u(l,i,n,t)}}},function(t,e,i){i=i(2);t.exports=!i(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},function(t,e,i){var n=i(0),s=i(23),o=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(s(t),e)}},function(t,e,i){var n=i(15),s=String,o=TypeError;t.exports=function(t){if(n(t))return t;throw o(s(t)+" is not an object")}},function(t,e,i){var n=i(11),s=i(77),o=i(78),a=i(13),r=i(53),l=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,d="enumerable",u="configurable",p="writable";e.f=n?o?function(t,e,i){var n;return a(t),e=r(e),a(i),"function"==typeof t&&"prototype"===e&&"value"in i&&p in i&&!i[p]&&(n=h(t,e))&&n[p]&&(t[e]=i.value,i={configurable:(u in i?i:n)[u],enumerable:(d in i?i:n)[d],writable:!1}),c(t,e,i)}:c:function(t,e,i){if(a(t),e=r(e),a(i),s)try{return c(t,e,i)}catch(t){}if("get"in i||"set"in i)throw l("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var n=i(1),i=i(72),s=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:n(t)||t===s}:function(t){return"object"==typeof t?null!==t:n(t)}},function(t,e,i){var a=i(1),r=i(14),l=i(79),c=i(56);t.exports=function(t,e,i,n){var s=(n=n||{}).enumerable,o=void 0!==n.name?n.name:e;if(a(i)&&l(i,o,n),n.global)s?t[e]=i:c(e,i);else{try{n.unsafe?t[e]&&(s=!0):delete t[e]}catch(t){}s?t[e]=i:r.f(t,e,{value:i,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t}},function(t,e,i){var n=i(49),s=String;t.exports=function(t){if("Symbol"===n(t))throw TypeError("Cannot convert a Symbol value to a string");return s(t)}},function(t,e,i){var n=i(1),s=i(34),o=TypeError;t.exports=function(t){if(n(t))return t;throw o(s(t)+" is not a function")}},function(t,e){t.exports=!1},function(t,e,i){var n,s,o,a,r=i(122),l=i(3),c=i(15),h=i(26),d=i(12),u=i(55),p=i(59),i=i(60),f="Object already initialized",m=l.TypeError,l=l.WeakMap,g=r||u.state?((o=u.state||(u.state=new l)).get=o.get,o.has=o.has,o.set=o.set,n=function(t,e){if(o.has(t))throw m(f);return e.facade=t,o.set(t,e),e},s=function(t){return o.get(t)||{}},function(t){return o.has(t)}):(i[a=p("state")]=!0,n=function(t,e){if(d(t,a))throw m(f);return e.facade=Line truncated
|
||||
/*!
|
||||
* Tailwind Elements 1.0.0
|
||||
*
|
||||
* Tailwind Elements is an open-source UI kit of advanced components for TailwindCSS.
|
||||
* Copyright © 2023 MDBootstrap.com
|
||||
*
|
||||
* Unless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
* In addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||||
*
|
||||
*/
|
||||
(function(N,_t){typeof exports=="object"&&typeof module<"u"?_t(exports):typeof define=="function"&&define.amd?define(["exports"],_t):(N=typeof globalThis<"u"?globalThis:N||self,_t(N.te={}))})(this,function(N){"use strict";var AM=Object.defineProperty;var wM=(N,_t,D)=>_t in N?AM(N,_t,{enumerable:!0,configurable:!0,writable:!0,value:D}):N[_t]=D;var we=(N,_t,D)=>(wM(N,typeof _t!="symbol"?_t+"":_t,D),D);const _t=(()=>{const s={};let t=1;return{set(e,i,n){typeof e[i]>"u"&&(e[i]={key:i,id:t},t++),s[e[i].id]=n},get(e,i){if(!e||typeof e[i]>"u")return null;const n=e[i];return n.key===i?s[n.id]:null},delete(e,i){if(typeof e[i]>"u")return;const n=e[i];n.key===i&&(delete s[n.id],delete e[i])}}})(),D={setData(s,t,e){_t.set(s,t,e)},getData(s,t){return _t.get(s,t)},removeData(s,t){_t.delete(s,t)}},Ng=1e6,Bg=1e3,da="transitionend",Hg=s=>s==null?`${s}`:{}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase(),Et=s=>{do s+=Math.floor(Math.random()*Ng);while(document.getElementById(s));return s},Gc=s=>{let t=s.getAttribute("data-te-target");if(!t||t==="#"){let e=s.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?e.trim():null}return t},ua=s=>{const t=Gc(s);return t&&document.querySelector(t)?t:null},Re=s=>{const t=Gc(s);return t?document.querySelector(t):null},Vg=s=>{if(!s)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(s);const i=Number.parseFloat(t),n=Number.parseFloat(e);return!i&&!n?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*Bg)},qc=s=>{s.dispatchEvent(new Event(da))},Bi=s=>!s||typeof s!="object"?!1:(typeof s.jquery<"u"&&(s=s[0]),typeof s.nodeType<"u"),Ne=s=>Bi(s)?s.jquery?s[0]:s:typeof s=="string"&&s.length>0?document.querySelector(s):null,L=(s,t,e)=>{Object.keys(e).forEach(i=>{const n=e[i],o=t[i],r=o&&Bi(o)?"element":Hg(o);if(!new RegExp(n).test(r))throw new Error(`${s.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${n}".`)})},re=s=>{if(!s||s.getClientRects().length===0)return!1;if(s.style&&s.parentNode&&s.parentNode.style){const t=getComputedStyle(s),e=getComputedStyle(s.parentNode);return getComputedStyle(s).getPropertyValue("visibility")==="visible"||t.display!=="none"&&e.display!=="none"&&t.visibility!=="hidden"}return!1},ai=s=>!s||s.nodeType!==Node.ELEMENT_NODE||s.classList.contains("disabled")?!0:typeof s.disabled<"u"?s.disabled:s.hasAttribute("disabled")&&s.getAttribute("disabled")!=="false",Zc=s=>{if(!document.documentElement.attachShadow)return null;if(typeof s.getRootNode=="function"){const t=s.getRootNode();return t instanceof ShadowRoot?t:null}return s instanceof ShadowRoot?s:s.parentNode?Zc(s.parentNode):null},eo=()=>function(){},Hi=s=>{s.offsetHeight},Qc=()=>{const{jQuery:s}=window;return s&&!document.body.hasAttribute("data-te-no-jquery")?s:null},pa=[],Jc=s=>{document.readyState==="loading"?(pa.length||document.addEventListener("DOMContentLoaded",()=>{pa.forEach(t=>t())}),pa.push(s)):s()},st=()=>document.documentElement.dir==="rtl",Fg=s=>Array.from(s),$=s=>document.createElement(s),li=s=>{typeof s=="function"&&s()},th=(s,t,e=!0)=>{if(!e){li(s);return}const i=5,n=Vg(t)+i;let o=!1;const r=({target:a})=>{a===t&&(o=!0,t.removeEventListener(da,r),li(s))};t.addEventListener(da,r),setTimeout(()=>{o||qc(t)},n)},eh=(s,t,e,i)=>{let n=s.indexOf(t);if(n===-1)return s[!e&&i?s.length-1:0];const o=s.length;return n+=e?1:-1,i&&(n=(n+o)%o),s[Math.max(0,Math.min(n,o-1))]},Wg=/[^.]*(?=\..*)\.|.*/,zg=/\..*/,jg=/::\d+$/,fa={};let ih=1;const Yg={mouseenter:"mouseover",mouseleave:"mouseout"},Kg=/^(mouseenter|mouseleave)/i,sh=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function nh(s,t){return t&&`${t}::${ih++}`||s.uidEvent||ih++}function oh(s){const t=nh(s);return s.uidEvent=t,fa[t]=fa[t]||{},fa[t]}function Ug(s,t){return function e(i){return i.delegateTarget=s,e.oneOff&&_.off(s,i.type,t),t.apply(s,[i])}}function Xg(s,t,e){return function i(n){const o=s.querySelectorAll(t);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;"")if(o[a]===r)return n.delegateTarget=r,i.oneOff&&_.off(s,n.type,e),e.apply(r,[n]);return null}}function rh(s,t,e=null){const i=Object.keys(s);for(let n=0,o=i.length;n<o;n++){const r=s[i[n]];if(r.originalHandler===t&&r.delegationSelector===e)return r}return null}function ah(s,t,e){const i=typeof t=="string",n=i?e:t;let o=ch(s);return sh.has(o)||(o=s),[i,n,o]}function lh(s,t,e,i,n){if(typeof t!="striLine truncated
|
||||
|
||||
`,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",`
|
||||
|
||||
`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "))}var h={placement:Zt(t.placement),variation:Yi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Sh(Object.assign({},h,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Sh(Object.assign({},h,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Ca={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:cm,data:{}};var ro={passive:!0};function hm(s){var t=s.state,e=s.instance,i=s.options,n=i.scroll,o=n===void 0?!0:n,r=i.resize,a=r===void 0?!0:r,l=Mt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",e.update,ro)}),a&&l.addEventListener("resize",e.update,ro),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",e.update,ro)}),a&&l.removeEventListener("resize",e.update,ro)}}const Aa={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:hm,data:{}};var dm={left:"right",right:"left",bottom:"top",top:"bottom"};function ao(s){return s.replace(/left|right|bottom|top/g,function(t){return dm[t]})}var um={start:"end",end:"start"};function Oh(s){return s.replace(/start|end/g,function(t){return um[t]})}function wa(s){var t=Mt(s),e=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:e,scrollTop:i}}function ka(s){return ji(Be(s)).left+wa(s).scrollLeft}function pm(s,t){var e=Mt(s),i=Be(s),n=e.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(n){o=n.width,r=n.height;var c=Th();(c||!c&&t==="fixed")&&(a=n.offsetLeft,l=n.offsetTop)}return{width:o,height:r,x:a+ka(s),y:l}}function fm(s){var t,e=Be(s),i=wa(s),n=(t=s.ownerDocument)==null?void 0:t.body,o=ui(e.scrollWidth,e.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=ui(e.scrollHeight,e.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-i.scrollLeft+ka(s),l=-i.scrollTop;return Qt(n||e).direction==="rtl"&&(a+=ui(e.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Sa(s){var t=Qt(s),e=t.overflow,i=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+n+i)}function Dh(s){return["html","body","#document"].indexOf(ae(s))>=0?s.ownerDocument.body:Lt(s)&&Sa(s)?s:Dh(oo(s))}function $s(s,t){var e;t===void 0&&(t=[]);var i=Dh(s),n=i===((e=s.ownerDocument)==null?void 0:e.body),o=Mt(i),r=n?[o].concat(o.visualViewport||[],Sa(i)?i:[]):i,a=t.concat(r);return n?a:a.concat($s(oo(r)))}function Oa(s){return Object.assign({},s,{left:s.x,top:s.y,right:s.x+s.width,bottom:s.y+s.height})}function _m(s,t){var e=ji(s,!1,t==="fixed");return e.top=e.top+s.clientTop,e.left=e.left+s.clientLeft,e.bottom=e.top+s.clientHeight,e.right=e.left+s.clientWidth,e.width=s.clientWidth,e.height=s.clientHeight,e.x=e.left,e.y=e.top,e}function Ih(s,t,e){return t===ga?Oa(pm(s,e)):di(t)?_m(t,e):Oa(fm(Be(s)))}function gm(s){var t=$s(oo(s)),e=["absolute","fixed"].indexOf(Qt(s).position)>=0,i=e&&Lt(s)?Ms(s):s;return di(i)?t.filter(function(n){return di(n)&&Eh(n,i)&&ae(n)!=="body"}):[]}function mm(s,t,e,i){var n=t==="clippingParents"?gm(s):[].concat(t),o=[].concat(n,[e]),r=o[0],a=o.reduce(function(l,c){var h=Ih(s,c,i);return l.top=ui(h.top,l.top),l.right=no(h.right,l.right),l.bottom=no(h.bottom,l.bottom),l.left=ui(h.left,l.left),l},Ih(s,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Mh(s){var t=s.reference,e=s.element,i=s.placement,n=i?Zt(i):null,o=i?Yi(i):null,r=t.x+t.width/2-e.width/2,a=t.y+t.height/2-e.height/2,l;switch(n){case gt:l={x:r,y:t.y-e.height};break;case Dt:l={x:r,y:t.y+t.height};break;case It:l={x:t.x+t.width,y:a};break;case mt:l={x:t.x-e.width,y:a};break;default:l={x:t.x,y:t.y}}var c=n?xa(n):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case hi:l[c]=l[c]-(t[h]/2-e[h]/2);break;case Fi:l[c]=l[c]+(t[h]/2-e[h]/2);break}}return l}function Ki(s,t){t===void 0&&(t={});var e=t,i=e.placement,n=i===void 0?s.placement:i,o=e.strategy,r=o===void 0?s.strategy:o,a=e.boundary,l=a===void 0?hh:a,c=e.rootBoundary,h=c===void 0?ga:c,d=e.elementContext,u=d===void 0?Wi:d,p=e.altBoundary,f=p===void 0?!1:p,b=e.padding,v=b===void 0?0:b,y=Ah(typeof v!="number"?v:wh(v,Vi)),T=u===Wi?dh:Wi,x=s.rects.popper,E=s.elements[f?T:u],C=mm(di(E)?E:E.contextElement||Be(s.elements.popper),l,h,r),A=ji(s.elements.reference),w=Mh({reference:A,element:x,strategy:"absolute",placement:n}),S=Oa(Object.assign({},x,w)),k=u===Wi?S:A,I={top:C.top-k.top+y.top,bottom:k.bottom-C.bottom+y.bottom,left:C.left-k.left+y.left,right:k.right-C.right+y.right},O=s.modifiersData.offset;if(u===Wi&&O){var M=O[n]
Line truncated
|
||||
`)});function f(x,E,C,A){var w=C?"":A.media?"@media ".concat(A.media," {").concat(A.css,"}"):A.css;if(x.styleSheet)x.styleSheet.cssText=p(E,w);else{var S=document.createTextNode(w),k=x.childNodes;k[E]&&x.removeChild(k[E]),k.length?x.insertBefore(S,k[E]):x.appendChild(S)}}function b(x,E,C){var A=C.css,w=C.media,S=C.sourceMap;if(w?x.setAttribute("media",w):x.removeAttribute("media"),S&&typeof btoa<"u"&&(A+=`
|
||||
/*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(S))))," */")),x.styleSheet)x.styleSheet.cssText=A;else{for(;x.firstChild;)x.removeChild(x.firstChild);x.appendChild(document.createTextNode(A))}}var v=null,y=0;function T(x,E){var C,A,w;if(E.singleton){var S=y++;C=v||(v=d(E)),A=f.bind(null,C,S,!1),w=f.bind(null,C,S,!0)}else C=d(E),A=b.bind(null,C,E),w=function(){(function(k){if(k.parentNode===null)return!1;k.parentNode.removeChild(k)})(C)};return A(x),function(k){if(k){if(k.css===x.css&&k.media===x.media&&k.sourceMap===x.sourceMap)return;A(x=k)}else w()}}i.exports=function(x,E){(E=E||{}).singleton||typeof E.singleton=="boolean"||(E.singleton=(r===void 0&&(r=!!(window&&document&&document.all&&!window.atob)),r));var C=h(x=x||[],E);return function(A){if(A=A||[],Object.prototype.toString.call(A)==="[object Array]"){for(var w=0;w<C.length;w++){var S=c(C[w]);l[S].references--}for(var k=h(A,E),I=0;I<C.length;I++){var O=c(C[I]);l[O].references===0&&(l[O].updater(),l.splice(O,1))}C=k}}}}},t={};function e(i){var n=t[i];if(n!==void 0)return n.exports;var o=t[i]={id:i,exports:{}};return s[i](o,o.exports,e),o.exports}e.n=i=>{var n=i&&i.__esModule?()=>i.default:()=>i;return e.d(n,{a:n}),n},e.d=(i,n)=>{for(var o in n)e.o(n,o)&&!e.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:n[o]})},e.o=(i,n)=>Object.prototype.hasOwnProperty.call(i,n),(()=>{var i=e(379),n=e.n(i),o=e(454);function r(l){if(!l.hasAttribute("autocompleted")){l.setAttribute("autocompleted","");var c=new window.CustomEvent("onautocomplete",{bubbles:!0,cancelable:!0,detail:null});l.dispatchEvent(c)||(l.value="")}}function a(l){l.hasAttribute("autocompleted")&&(l.removeAttribute("autocompleted"),l.dispatchEvent(new window.CustomEvent("onautocomplete",{bubbles:!0,cancelable:!1,detail:null})))}n()(o.Z,{insert:"head",singleton:!1}),o.Z.locals,e(810),document.addEventListener("animationstart",function(l){l.animationName==="onautofillstart"?r(l.target):a(l.target)},!0),document.addEventListener("input",function(l){l.inputType!=="insertReplacementText"&&"data"in l?a(l.target):r(l.target)},!0)})()})();const sl="input",xo="te.input",$d="data-te-input-wrapper-init",Pd="data-te-input-notch-ref",Rd="data-te-input-notch-leading-ref",Nd="data-te-input-notch-middle-ref",I0="data-te-input-notch-trailing-ref",M0="data-te-input-helper-ref",L0="data-te-input-placeholder-active",We="data-te-input-state-active",Bd="data-te-input-focused",Hd="data-te-input-form-counter",yi=`[${$d}] input`,Ti=`[${$d}] textarea`,ts=`[${Pd}]`,Vd=`[${Rd}]`,Fd=`[${Nd}]`,$0=`[${M0}]`,P0={inputFormWhite:!1},R0={inputFormWhite:"(boolean)"},Wd={notch:"group flex absolute left-0 top-0 w-full max-w-full h-full text-left pointer-events-none",notchLeading:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none left-0 top-0 h-full w-2 border-r-0 rounded-l-[0.25rem] group-data-[te-input-focused]:border-r-0 group-data-[te-input-state-active]:border-r-0",notchLeadingNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[-1px_0_0_#3b71ca,_0_1px_0_0_#3b71ca,_0_-1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchLeadingWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[-1px_0_0_#ffffff,_0_1px_0_0_#ffffff,_0_-1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",notchMiddle:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none grow-0 shrink-0 basis-auto w-auto max-w-[calc(100%-1rem)] h-full border-r-0 border-l-0 group-data-[te-input-focused]:border-x-0 group-data-[te-input-state-active]:border-x-0 group-data-[te-input-focused]:border-t group-data-[te-input-state-active]:border-t group-data-[te-input-focused]:border-solid group-data-[te-input-state-active]:border-solid group-data-[te-input-focused]:border-t-transparent group-data-[te-input-state-active]:border-t-transparent",notchMiddleNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[0_1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchMiddleWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[0_1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",notchTrailing:"pointer-events-none border border-solid box-border bg-transparent transition-all duration-200 ease-linear motion-reduce:transition-none grow h-full border-l-0 rounded-r-[0.25rem] group-data-[te-input-focused]:border-l-0 group-data-[te-input-state-active]:border-l-0",notchTrailingNormal:"border-neutral-300 dark:border-neutral-600 group-data-[te-input-focused]:shadow-[1px_0_0_#3b71ca,_0_-1px_0_0_#3b71ca,_0_1px_0_0_#3b71ca] group-data-[te-input-focused]:border-primary",notchTrailingWhite:"border-neutral-200 group-data-[te-input-focused]:shadow-[1px_0_0_#ffffff,_0_-1px_0_0_#ffffff,_0_1px_0_0_#ffffff] group-data-[te-input-focused]:border-white",counteLine truncated
|
||||
${Xd(s,h,d,t,e,i,n,o,r,a,c)}
|
||||
`,v=`
|
||||
${uy(u,p,h,n,c)}
|
||||
${Xd(s,h,d,t,e,i,n,o,r,a,c)}
|
||||
`;return n.inline?(g.addClass(f,c.datepickerDropdownContainer),f.setAttribute(ey,l),f.innerHTML=b):(g.addClass(f,c.modalContainer),f.setAttribute(ty,l),f.innerHTML=v),f}function dy(s){const t=$("div");return g.addClass(t,s),t.setAttribute(iy,""),t}function uy(s,t,e,i,n){return`
|
||||
<div class="${n.datepickerHeader}" data-te-datepicker-header>
|
||||
<div class="${n.datepickerTitle}">
|
||||
<span class="${n.datepickerTitleText}">${i.title}</span>
|
||||
</div>
|
||||
<div class="${n.datepickerDate}">
|
||||
<span class="${n.datepickerDateText}" ${sy} >${i.weekdaysShort[t]}, ${i.monthsShort[e]} ${s}</span>
|
||||
</div>
|
||||
</div>
|
||||
`}function Xd(s,t,e,i,n,o,r,a,l,c,h){let d;return r.inline?d=`
|
||||
<div class="${h.datepickerMain}">
|
||||
${qd(t,e,r,h)}
|
||||
<div class="${h.datepickerView}" ${Ud} tabindex="0">
|
||||
${Gd(s,e,i,n,o,r,a,l,c,h)}
|
||||
</div>
|
||||
</div>
|
||||
`:d=`
|
||||
<div class="${h.datepickerMain}">
|
||||
${qd(t,e,r,h)}
|
||||
<div class="${h.datepickerView}" ${Ud} tabindex="0">
|
||||
${Gd(s,e,i,n,o,r,a,l,c,h)}
|
||||
</div>
|
||||
${py(r,h)}
|
||||
</div>
|
||||
`,d}function Gd(s,t,e,i,n,o,r,a,l,c){let h;return o.view==="days"?h=Oo(s,e,o,c):o.view==="months"?h=Do(t,i,n,o,r,c):h=Io(s,i,o,a,l,c),h}function qd(s,t,e,i){return`
|
||||
<div class="${i.datepickerDateControls}">
|
||||
<button class="${i.datepickerViewChangeButton}" aria-label="${e.switchToMultiYearViewLabel}" ${cy}>
|
||||
${e.monthsFull[s]} ${t} ${ue(e,i)}
|
||||
</button>
|
||||
<div class="${i.datepickerArrowControls}">
|
||||
<button class="${i.datepickerPreviousButton}" aria-label="${e.prevMonthLabel}" ${ny}>${e.changeMonthIconTemplate}</button>
|
||||
<button class="${i.datepickerNextButton}" aria-label="${e.nextMonthLabel}" ${oy}>${e.changeMonthIconTemplate}</button>
|
||||
</div>
|
||||
</div>
|
||||
`}function ue(s,t){return`
|
||||
<span class="${t.datepickerViewChangeIcon}">
|
||||
${s.viewChangeIconTemplate}
|
||||
</span>
|
||||
`}function py(s,t){const e=`<button class="${t.datepickerFooterBtn}" aria-label="${s.okBtnLabel}" ${ry}>${s.okBtnText}</button>`,i=`<button class="${t.datepickerFooterBtn}" aria-label="${s.cancelBtnLabel}" ${ay}>${s.cancelBtnText}</button>`,n=`<button class="${t.datepickerFooterBtn} ${t.datepickerClearBtn}" aria-label="${s.clearBtnLabel}" ${ly}>${s.clearBtnText}</button>`;return`
|
||||
<div class="${t.datepickerFooter}">
|
||||
|
||||
${s.removeClearBtn?"":n}
|
||||
${s.removeCancelBtn?"":i}
|
||||
${s.removeOkBtn?"":e}
|
||||
</div>
|
||||
`}function Oo(s,t,e,i){const n=fy(s,t,e),r=`
|
||||
<tr>
|
||||
${e.weekdaysNarrow.map((l,c)=>`<th class="${i.datepickerDayHeading}" scope="col" aria-label="${e.weekdaysFull[c]}">${l}</th>`).join("")}
|
||||
</tr>
|
||||
`,a=n.map(l=>`
|
||||
<tr>
|
||||
${l.map(c=>`
|
||||
<td
|
||||
class="${i.datepickerCell} ${i.datepickerCellSmall}"
|
||||
data-te-date="${K(c.date)}-${ot(c.date)}-${bt(c.date)}"
|
||||
aria-label="${c.date}"
|
||||
aria-selected="${c.isSelected}"
|
||||
${c.isSelected?"data-te-datepicker-cell-selected":""}
|
||||
${!c.currentMonth||c.disabled?"data-te-datepicker-cell-disabled":""}
|
||||
${c.isToday?"data-te-datepicker-cell-current":""}
|
||||
>
|
||||
<div
|
||||
class="${i.datepickerCellContent} ${i.datepickerCellContentSmall}"
|
||||
style="${c.currentMonth?"display: block":"display: none"}"
|
||||
>
|
||||
${c.dayNumber}
|
||||
</div>
|
||||
</td>
|
||||
`).join("")}
|
||||
</tr>
|
||||
`).join("");return`
|
||||
<table class="${i.datepickerTable}">
|
||||
<thead>
|
||||
${r}
|
||||
</thead>
|
||||
<tbody>
|
||||
${a}
|
||||
</tbody>
|
||||
</table>
|
||||
`}function fy(s,t,e){const i=[],n=ot(s),o=ot(Ct(s,-1)),r=ot(Ct(s,1)),a=K(s),l=U0(a,n,e),c=rl(s),h=rl(Ct(s,-1)),d=7;let u=1,p=!1;for(let f=1;f<d;f++){const b=[];if(f===1){const v=h-l+1;for(let T=v;T<=h;T++){const x=te(a,o,T);b.push({date:x,currentMonth:p,isSelected:t&&Ei(x,t),isToday:Ei(x,es()),dayNumber:bt(x)})}p=!0;const y=d-b.length;for(let T=0;T<y;T++){const x=te(a,n,u);b.push({date:x,currentMonth:p,isSelected:t&&Ei(x,t),isToday:Ei(x,es()),dayNumber:bt(x),disabled:So(x,e.min,e.max,e.filter,e.disablePast,e.disableFuture)}),u++}}else for(let v=1;v<8;v++){u>c&&(u=1,p=!1);const y=te(a,p?n:r,u);b.push({date:y,currentMonth:p,isSelected:t&&Ei(y,t),isToday:Ei(y,es()),dayNumber:bt(y),disabled:So(y,e.min,e.max,e.filter,e.disablePast,e.disableFuture)}),u++}i.push(b)}return i}function Do(s,t,e,i,n,o){const r=_y(i,n),a=ot(es()),l=K(es()),c=`
|
||||
${r.map(h=>`
|
||||
<tr>
|
||||
${h.map(d=>{const u=i.monthsShort.indexOf(d);return`
|
||||
<td class="${o.datepickerCell} ${o.datepickerCellLarge}"
|
||||
${Kd(u,s,i.min,i.max,i.disablePast,i.disableFuture)?"data-te-datepicker-cell-disabled":""}
|
||||
|
||||
data-te-month="${u}" data-te-year="${s}" aria-label="${d}, ${s}"
|
||||
${u===e&&s===t?"data-te-datepicker-cell-selected":""}
|
||||
${u===a&&s===l?"data-te-datepicker-cell-current":""}" data-te-month="${u}" data-te-year="${s}" aria-label="${d}, ${s}">
|
||||
<div class="${o.datepickerCellContent} ${o.datepickerCellContentLarge}">${d}</div>
|
||||
</td>
|
||||
`}).join("")}
|
||||
</tr>
|
||||
`).join("")}
|
||||
`;return`
|
||||
<table class="${o.datepickerTable}">
|
||||
<tbody>
|
||||
${c}
|
||||
</tbody>
|
||||
</table>
|
||||
`}function _y(s,t){const e=[];let i=[];for(let n=0;n<s.monthsShort.length;n++)if(i.push(s.monthsShort[n]),i.length===t){const o=i;e.push(o),i=[]}return e}function Io(s,t,e,i,n,o){const r=gy(s,i,n),a=K(es()),l=`
|
||||
${r.map(c=>`
|
||||
<tr>
|
||||
${c.map(h=>`
|
||||
<td class="${o.datepickerCell} ${o.datepickerCellLarge}" aria-label="${h}" data-te-year="${h}"
|
||||
${al(h,e.min,e.max,e.disablePast,e.disableFuture)?"data-te-datepicker-cell-disabled":""}
|
||||
${h===t?"data-te-datepicker-cell-selected":""}
|
||||
${h===a?"data-te-datepicker-cell-current":""}
|
||||
>
|
||||
<div class="${o.datepickerCellContent} ${o.datepickerCellContentLarge}">${h}</div>
|
||||
</td>
|
||||
`).join("")}
|
||||
</tr>
|
||||
`).join("")}
|
||||
`;return`
|
||||
<table class="${o.datepickerTable}">
|
||||
<tbody>
|
||||
${l}
|
||||
</tbody>
|
||||
</table>
|
||||
`}function gy(s,t,e){const i=[],n=K(s),o=ko(s,t),r=n-o;let a=[];for(let l=0;l<t;l++)if(a.push(r+l),a.length===e){const c=a;i.push(c),a=[]}return i}function my(s,t){return`
|
||||
<button id="${s}" type="button" class="${t}" data-te-datepicker-toggle-button-ref data-te-datepicker-toggle-ref>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M6.75 2.25A.75.75 0 017.5 3v1.5h9V3A.75.75 0 0118 3v1.5h.75a3 3 0 013 3v11.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V7.5a3 3 0 013-3H6V3a.75.75 0 01.75-.75zm13.5 9a1.5 1.5 0 00-1.5-1.5H5.25a1.5 1.5 0 00-1.5 1.5v7.5a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5v-7.5z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</button>
|
||||
`}const ns=37,At=38,os=39,ut=40,rs=36,as=35,ll=33,cl=34,Pt=13,Mo=32,Ks=27,Us=9,by=8,vy=46,ee=24,Lo=4,$o=4,hl="datepicker",Po="te.datepicker",Ro=`.${Po}`,yy=".data-api",Ty=`close${Ro}`,Ey=`open${Ro}`,xy=`dateChange${Ro}`,No=`click${Ro}${yy}`,Zd="data-te-datepicker-modal-container-ref",Qd="data-te-datepicker-dropdown-container-ref",Bo="[data-te-datepicker-toggle-ref]",Cy=`[${Zd}]`,Ay=`[${Qd}]`,wy="[data-te-datepicker-view-change-button-ref]",ky="[data-te-datepicker-previous-button-ref]",Sy="[data-te-datepicker-next-button-ref]",Oy="[data-te-datepicker-ok-button-ref]",Dy="[data-te-datepicker-cancel-button-ref]",Iy="[data-te-datepicker-clear-button-ref]",My="[data-te-datepicker-view-ref]",Ly="[data-te-datepicker-toggle-button-ref]",$y="[data-te-datepicker-date-text-ref]",Py="[data-te-dropdown-backdrop-ref]",Ry="animate-[fade-in_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",Ny="animate-[fade-out_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",By="animate-[fade-in_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",Hy="animate-[fade-out_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none",Vy="flex flex-col fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[328px] h-[512px] bg-white rounded-[0.6rem] shadow-lg z-[1066] xs:max-md:landscape:w-[475px] xs:max-md:landscape:h-[360px] xs:max-md:landscape:flex-row dark:bg-zinc-700",Fy="w-full h-full fixed top-0 right-0 left-0 bottom-0 bg-black/40 z-[1065]",Wy="relative h-full",zy="xs:max-md:landscape:h-full h-[120px] px-6 bg-primary flex flex-col rounded-t-lg dark:bg-zinc-800",jy="h-8 flex flex-col justify-end",Yy="text-[10px] font-normal uppercase tracking-[1.7px] text-white",Ky="xs:max-md:landscape:mt-24 h-[72px] flex flex-col justify-end",Uy="text-[34px] font-normal text-white",Xy="outline-none px-3",Gy="px-3 pt-2.5 pb-0 flex justify-between text-black/[64]",qy="flex items-center outline-none p-2.5 text-neutral-500 font-medium text-[0.9rem] rounded-xl shadow-none bg-transparent m-0 border-none hover:bg-neutral-200 focus:bg-neutral-200 dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10",Zy="mt-2.5",Qy="p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent mr-6 hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:mx-auto",Jy="p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:rotate-180 [&>svg]:mx-auto",tT="h-14 flex absolute w-full bottom-0 justify-end items-center px-3",eT="outline-none bg-white text-primary border-none cursor-pointer py-0 px-2.5 uppercase text-[0.8rem] leading-10 font-medium h-10 tracking-[.1rem] rounded-[10px] mb-2.5 hover:bg-neutral-200 focus:bg-neutral-200 dark:bg-transparent dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10",iT="mr-auto",sT="w-10 h-10 text-center text-[12px] font-normal dark:text-white",nT="text-center data-[te-datepicker-cell-disabled]:text-neutral-300 data-[te-datepicker-cell-disabled]:cursor-default data-[te-datepicker-cell-disabled]:pointer-events-none data-[te-datepicker-cell-disabled]:hover:cursor-default hover:cursor-pointer group",oT="w-10 h-10 xs:max-md:landscape:w-8 xs:max-md:landscape:h-8",rT="w-[76px] h-[42px]",aT="mx-auto group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-neutral-300 group-[[data-te-datepicker-cell-selected]]:bg-primary group-[[data-te-datepicker-cell-selected]]:text-white group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-neutral-100 group-[[data-te-datepicker-cell-focused]]:data-[te-datepicker-cell-selected]:bg-primary group-[[data-te-datepicker-cell-current]]:border-solid group-[[data-te-datepicker-cell-current]]:border-black group-[[data-te-datepicker-cell-current]]:border dark:group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-white/10 dark:group-[[data-te-datepicker-cell-current]]:border-white dark:text-white dark:group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-white/10 dark:group-[[data-te-datepicker-cell-disabled]]:text-neutral-500",lT="w-9 h-9 leading-9 rounded-[50%] text-[13px]",cT="w-[72px] h-10 leading-10 py-[1px] px-0.5 rounded-[999px]",hT="mx-auto w-[304px]",dT="flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200",uT="inline-block pointer-events-none ml-[3px] [&>svg]:w-4 [&>svg]:h-4 [&>svg]:fill-
Line truncated
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5" />
|
||||
</svg>
|
||||
`,nextMultiYearLabel:"Next 24 years",prevMultiYearLabel:"Previous 24 years",switchToMultiYearViewLabel:"Choose year and month",switchToMonthViewLabel:"Choose date",switchToDayViewLabel:"Choose date",startDate:null,startDay:0,format:"dd/mm/yyyy",view:"days",viewChangeIconTemplate:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="0" stroke="currentColor" class="w-6 h-6">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
|
||||
</svg>
|
||||
`,min:null,max:null,filter:null,inline:!1,toggleButton:!0,disableToggleButton:!1,disableInput:!1,animations:!0,confirmDateOnSelect:!1,removeOkBtn:!1,removeCancelBtn:!1,removeClearBtn:!1},_T={title:"string",container:"string",disablePast:"boolean",disableFuture:"boolean",monthsFull:"array",monthsShort:"array",weekdaysFull:"array",weekdaysShort:"array",weekdaysNarrow:"array",okBtnText:"string",clearBtnText:"string",cancelBtnText:"string",okBtnLabel:"string",clearBtnLabel:"string",cancelBtnLabel:"string",nextMonthLabel:"string",prevMonthLabel:"string",nextYearLabel:"string",prevYearLabel:"string",nextMultiYearLabel:"string",prevMultiYearLabel:"string",changeMonthIconTemplate:"string",switchToMultiYearViewLabel:"string",switchToMonthViewLabel:"string",switchToDayViewLabel:"string",startDate:"(null|string|date)",startDay:"number",format:"string",view:"string",viewChangeIconTemplate:"string",min:"(null|string|date)",max:"(null|string|date)",filter:"(null|function)",inline:"boolean",toggleButton:"boolean",disableToggleButton:"boolean",disableInput:"boolean",animations:"boolean",confirmDateOnSelect:"boolean",removeOkBtn:"boolean",removeCancelBtn:"boolean",removeClearBtn:"boolean"},gT={fadeIn:Ry,fadeOut:Ny,fadeInShort:By,fadeOutShort:Hy,modalContainer:Vy,datepickerBackdrop:Fy,datepickerMain:Wy,datepickerHeader:zy,datepickerTitle:jy,datepickerTitleText:Yy,datepickerDate:Ky,datepickerDateText:Uy,datepickerView:Xy,datepickerDateControls:Gy,datepickerViewChangeButton:qy,datepickerViewChangeIcon:uT,datepickerArrowControls:Zy,datepickerPreviousButton:Qy,datepickerNextButton:Jy,datepickerFooter:tT,datepickerFooterBtn:eT,datepickerClearBtn:iT,datepickerDayHeading:sT,datepickerCell:nT,datepickerCellSmall:oT,datepickerCellLarge:rT,datepickerCellContent:aT,datepickerCellContentSmall:lT,datepickerCellContentLarge:cT,datepickerTable:hT,datepickerToggleButton:dT,datepickerDropdownContainer:pT},mT={fadeIn:"string",fadeOut:"string",fadeInShort:"string",fadeOutShort:"string",modalContainer:"string",datepickerBackdrop:"string",datepickerMain:"string",datepickerHeader:"string",datepickerTitle:"string",datepickerTitleText:"string",datepickerDate:"string",datepickerDateText:"string",datepickerView:"string",datepickerDateControls:"string",datepickerViewChangeButton:"string",datepickerArrowControls:"string",datepickerPreviousButton:"string",datepickerNextButton:"string",datepickerFooter:"string",datepickerFooterBtn:"string",datepickerClearBtn:"string",datepickerDayHeading:"string",datepickerCell:"string",datepickerCellSmall:"string",datepickerCellLarge:"string",datepickerCellContent:"string",datepickerCellContentSmall:"string",datepickerCellContentLarge:"string",datepickerTable:"string",datepickerToggleButton:"string",datepickerDropdownContainer:"string"};class dl{constructor(t,e,i){this._element=t,this._input=m.findOne("input",this._element),this._options=this._getConfig(e),this._classes=this._getClasses(i),this._activeDate=new Date,this._selectedDate=null,this._selectedYear=null,this._selectedMonth=null,this._headerDate=null,this._headerYear=null,this._headerMonth=null,this._view=this._options.view,this._popper=null,this._focusTrap=null,this._isOpen=!1,this._toggleButtonId=Et("datepicker-toggle-"),this._animations=!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&this._options.animations,this._scrollBar=new Xi,this._element&&D.setData(t,Po,this),this._init(),this.toggleButton&&this._options.disableToggle&&(this.toggleButton.disabled="true"),this._options.disableInput&&(this._input.disabled="true")}static get NAME(){return hl}get container(){return m.findOne(`[${Zd}='${this._toggleButtonId}']`)||m.findOne(`[${Qd}='${this._toggleButtonId}']`)}get options(){return this._options}get activeCell(){let t;return this._view==="days"&&(t=this._getActiveDayCell()),this._view==="months"&&(t=this._getActiveMonthCell()),this._view==="years"&&(t=this._getActiveYearCell()),t}get activeDay(){return bt(this._activeDate)}get activeMonth(){return ot(this._activeDate)}get activeYear(){return K(this._activeDate)}get firstYearInView(){return this.activeYear-ko(this._activeDate,ee)}get lastYearInView(){return this.firstYearInView+ee-1}get viewChangeButton(){return m.findOne(wy,this.container)}get previousButton(){return m.findOne(ky,this.container)}get nextButton(){return m.findOne(Sy,this.container)}get okButton(){return m.findOne(Oy,this.container)}get cancelButton(){return m.findOne(Dy,this.container)}get clearButton(){return m.findOne(Iy,this.container)}get datesContainer(){return m.findOne(My,this.container)}get toggleButton(){return m.findOne(Ly,this._element)}update(t={}){this._options=this._getConfig({...this._options,...t})}_getConfig(t){const e=g.getDataAttributes(this._element);if(t={...fT,...e,...t},L(hl,t,_T),t.max&&typeof t.max=="string"&&(t.max=new Date(t.max)),t.min&&typeof t.min=="string"&&(t.min=new Date(t.min)),t.startDay&&t.startDay!==0){const i=this._getNewDaysOrderArray(t);t.weekdaysNarrow=i}return t}_getClasses(t){const
Line truncated
|
||||
<div class="${u.timepickerContainer}">
|
||||
<div class="${u.timepickerElements}" data-te-timepicker-elements-wrapper>
|
||||
<div id='${i}' class='${u.timepickerHead}' style='padding-right:${s?50:10}px'>
|
||||
<div class='${u.timepickerHeadContent}'>
|
||||
<div class="${u.timepickerCurrentWrapper}">
|
||||
<span class="${u.timepickerCurrentButtonWrapper}">
|
||||
<button type='button' class='${u.timepickerCurrentButton}' tabindex="0" data-te-timepicker-active data-te-timepicker-current data-te-timepicker-hour data-te-ripple-init>21</button>
|
||||
</span>
|
||||
<button type='button' class='${u.timepickerDot}' disabled>:</button>
|
||||
<span class="${u.timepickerCurrentButtonWrapper}">
|
||||
<button type='button' class='${u.timepickerCurrentButton}' tabindex="0" data-te-timepicker-current data-te-timepicker-minute data-te-ripple-init>21</button>
|
||||
</span>
|
||||
</div>
|
||||
${s?"":`<div class="${u.timepickerModeWrapper}">
|
||||
<button type='button' class="${u.timepickerModeAm}" tabindex="0" data-te-timepicker-am data-te-timepicker-hour-mode data-te-ripple-init>${h}</button>
|
||||
<button class="${u.timepickerModePm}" tabindex="0" data-te-timepicker-pm data-te-timepicker-hour-mode data-te-ripple-init>${d}</button>
|
||||
</div>`}
|
||||
</div>
|
||||
</div>
|
||||
${l?"":`<div id='${o}' class='${u.timepickerClockWrapper}' data-te-timepicker-clock-wrapper>
|
||||
<div class='${u.timepickerClock}' data-te-timepicker-clock>
|
||||
<span class='${u.timepickerMiddleDot}' data-te-timepicker-middle-dot></span>
|
||||
<div class='${u.timepickerHandPointer}' data-te-timepicker-hand-pointer>
|
||||
<div class='${u.timepickerPointerCircle}' data-te-timepicker-circle></div>
|
||||
</div>
|
||||
${s?'<div class="'+u.timepickerClockInner+'" data-te-timepicker-clock-inner></div>':""}
|
||||
</div>
|
||||
</div>`}
|
||||
</div>
|
||||
<div id='${n}' class='${u.timepickerFooterWrapper}'>
|
||||
<div class="${u.timepickerFooter}">
|
||||
${c?`<button type='button' class='${u.timepickerFooterButton}' data-te-timepicker-clear tabindex="0" data-te-ripple-init>${a}</button>`:""}
|
||||
<button type='button' class='${u.timepickerFooterButton}' data-te-timepicker-cancel tabindex="0" data-te-ripple-init>${e}</button>
|
||||
<button type='button' class='${u.timepickerFooterButton}' data-te-timepicker-submit tabindex="0" data-te-ripple-init>${t}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`,f=`<div id='${r}' class='${u.timepickerInlineWrapper}' data-te-timepicker-wrapper>
|
||||
<div class="${u.timepickerInlineContainer}">
|
||||
<div class="${u.timepickerInlineElements}" data-te-timepicker-elements-wrapper>
|
||||
<div id='${i}' class='${u.timepickerInlineHead}'
|
||||
style='padding-right:10px'>
|
||||
<div class='${u.timepickerInlineHeadContent}'>
|
||||
<div class="${u.timepickerCurrentWrapper}">
|
||||
<span class="${u.timepickerInlineHourWrapper}" data-te-timepicker-inline-hour-icons>
|
||||
<span class="${u.timepickerInlineIconUp}" data-te-timepicker-icon-up data-te-timepicker-icon-inline-hour>
|
||||
<span class="${u.timepickerInlineIconSvg}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M4.5 15.75l7.5-7.5 7.5 7.5" />
|
||||
</svg>
|
||||
</span>
|
||||
</span>
|
||||
<button type='button' class='${u.timepickerInlineCurrentButton}' data-te-timepicker-hour data-te-timepicker-current data-te-timepicker-current-inline tabindex="0" data-te-ripple-init>21</button>
|
||||
<span class="${u.timepickerInlineIconDown}" data-te-timepicker-icon-inline-hour data-te-timepicker-icon-down>
|
||||
<span class="${u.timepickerInlineIconSvg}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
|
||||
</svg>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
<button type='button' class='${u.timepickerInlineDot}' data-te-timepicker-current-inline disabled>:</button>
|
||||
<span class="${u.timepickerCurrentMinuteWrapper}">
|
||||
<span class="${u.timepickerInlineIconUp}" data-te-timepicker-icon-up data-te-timepicker-icon-inline-minute>
|
||||
<span class="${u.timepickerInlineIconSvg}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M4.5 15.75l7.5-7.5 7.5 7.5" />
|
||||
</svg>
|
||||
</span>
|
||||
</span>
|
||||
<button type='button' class='${u.timepickerInlineCurrentButton}' data-te-timepicker-minute data-te-timepicker-current data-te-timepicker-current-inline tabindex="0" data-te-ripple-init>21</button>
|
||||
<span class="${u.timepickerInlineIconDown}" data-te-timepicker-icon-inline-minute data-te-timepicker-icon-down>
|
||||
<span class="${u.timepickerInlineIconSvg}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
|
||||
</svg>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
${s?"":`<div class="${u.timepickerInlineModeWrapper}">
|
||||
<button type='button' class="${u.timepickerInlineModeAm}" data-te-timepicker-am data-te-timepicker-hour-mode tabindex="0" data-te-ripple-init>${h}</button>
|
||||
<button class="${u.timepickerInlineModePm}" data-te-timepicker-hour-mode data-te-timepicker-pm tabindex="0" data-te-ripple-init>${d}</button>
|
||||
<button type='button' class='${u.timepickerInlineSubmitButton}' data-te-timepicker-submit tabindex="0" data-te-ripple-init>${t}</button>
|
||||
</div>`}
|
||||
${s?`<button class='${u.timepickerInlineSubmitButton}' data-te-timepicker-submit tabindex="0" data-te-ripple-init>${t}</button>`:""}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;return l?f:p},vT=(s,t,e)=>{const{iconSVG:i}=s;return`
|
||||
<button id="${t}" tabindex="0" type="button" class="${e.timepickerToggleButton}" data-te-toggle="timepicker" data-te-timepicker-toggle-button data-te-timepicker-icon>
|
||||
${i}
|
||||
</button>
|
||||
`},Ho="data-te-timepicker-disabled",Vo="data-te-timepicker-active",xi=s=>{if(s==="")return;let t,e,i,n;return Jd(s)?(t=s.getHours(),n=t,e=s.getMinutes(),t%=12,n===0&&t===0&&(i="AM"),t=t||12,i===void 0&&(i=Number(n)>=12?"PM":"AM"),e=e<10?`0${e}`:e):([t,e,i]=j(s,!1),n=t,t%=12,n===0&&t===0&&(i="AM"),t=t||12,i===void 0&&(i=Number(n)>=12?"PM":"AM")),{hours:t,minutes:e,amOrPm:i}},Jd=s=>s&&Object.prototype.toString.call(s)==="[object Date]"&&!Number.isNaN(s),tu=s=>{if(s==="")return;let t,e;return Jd(s)?(t=s.getHours(),e=s.getMinutes()):[t,e]=j(s,!1),e=Number(e)<10?`0${Number(e)}`:e,{hours:t,minutes:e}},yT=(s,t,e)=>_.on(document,s,t,({target:i})=>{if(i.hasAttribute(Vo))return;document.querySelectorAll(t).forEach(o=>{o.hasAttribute(Vo)&&(g.removeClass(o,e.opacity),o.removeAttribute(Vo))}),g.addClass(i,e.opacity),i.setAttribute(Vo,"")}),eu=({clientX:s,clientY:t,touches:e},i,n=!1)=>{const{left:o,top:r}=i.getBoundingClientRect();let a={};return!n||!e?a={x:s-o,y:t-r}:n&&Object.keys(e).length>0&&(a={x:e[0].clientX-o,y:e[0].clientY-r}),a},Fo=()=>navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)||/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),j=(s,t=!0)=>t?s.value.replace(/:/gi," ").split(" "):s.replace(/:/gi," ").split(" "),iu=(s,t)=>{const[e,i,n]=j(s,!1),[o,r,a]=j(t,!1);return n==="PM"&&a==="AM"||n===a&&e>o||i>r},su=()=>{const s=new Date,t=s.getHours(),e=s.getMinutes();return`${t}:${e<10?`0${e}`:e}`},je=(s,t,e)=>{if(!t)return s;let i=su();return e&&(i=`${xi(i).hours}:${xi(i).minutes} ${xi(i).amOrPm}`),(s!==""&&iu(i,s)||s==="")&&(s=i),s},Ye=(s,t,e)=>{if(!t)return s;let i=su();return e&&(i=`${xi(i).hours}:${xi(i).minutes} ${xi(i).amOrPm}`),(s!==""&&!iu(i,s)||s==="")&&(s=i),s},TT=({format12:s,maxTime:t,minTime:e,disablePast:i,disableFuture:n},o,r)=>{const a=j(o)[1];e=je(e,i,s),t=Ye(t,n,s);const[l,c,h]=j(t,!1),[d,u,p]=j(e,!1);if(h!==void 0||p!==void 0)return[r,a];if(!(l!==""&&d===""&&Number(r)>Number(l))&&!(l===""&&d!==""&&c===void 0&&u!==""&&Number(r)<Number(d)))return[r,a]},nu=(s,t,e,i)=>{s.forEach(n=>{t=t==="12"&&i?"0":t,(n.textContent==="00"||Number(n.textContent==="12"&&i?"0":n.textContent)>t)&&(g.addClass(n,e.tipsDisabled),n.setAttribute(Ho,""))})},ou=(s,t,e,i)=>{s.forEach(n=>{t=t==="12"&&i?"0":t,n.textContent!=="00"&&Number(n.textContent==="12"&&i?"0":n.textContent)<Number(t)&&(g.addClass(n,e.tipsDisabled),n.setAttribute(Ho,""))})},ru=(s,t,e,i)=>{if(t==="12"||t==="24")return;const n=e?12:24;return i==="max"?(Number(s)===n?0:Number(s))>Number(t):(Number(s)===n?0:Number(s))<Number(t)},ET=(s,t,e,i,n,o)=>{s.forEach(r=>{(ru(i,e,o,"max")||Number(r.textContent)>t&&Number(i)===Number(e))&&(g.addClass(r,n.tipsDisabled),r.setAttribute(Ho,""))})},xT=(s,t,e,i,n,o)=>{s.forEach(r=>{(ru(i,e,o,"min")||Number(r.textContent)<t&&Number(i)===Number(e))&&(g.addClass(r,n.tipsDisabled),r.setAttribute(Ho,""))})},CT=s=>s.startsWith("0")?Number(s.slice(1)):Number(s),Xs="timepicker",W=`data-te-${Xs}`,au="[data-te-toggle]",Wo=`te.${Xs}`,pe=`.${Wo}`,fe=".data-api",lu=`click${pe}${fe}`,zo=`keydown${pe}${fe}`,cu=`mousedown${pe}${fe}`,hu=`mouseup${pe}${fe}`,du=`mousemove${pe}${fe}`,uu=`mouseleave${pe}${fe}`,pu=`mouseover${pe}${fe}`,fu=`touchmove${pe}${fe}`,_u=`touchend${pe}${fe}`,gu=`touchstart${pe}${fe}`,AT=`[${W}-am]`,wT=`[${W}-pm]`,kT=`[${W}-format24]`,jo=`[${W}-current]`,Yo=`[${W}-hour-mode]`,ST=`[${W}-toggle-button]`,ul=`${W}-cancel`,mu=`${W}-clear`,pl=`${W}-submit`,OT=`${W}-icon`,fl=`${W}-icon-up`,_l=`${W}-icon-down`,DT=`${W}-icon-inline-hour`,IT=`${W}-icon-inline-minute`,bu=`${W}-inline-hour-icons`,MT=`${W}-current-inline`,LT="readonly",$T=`${W}-invalid-feedback`,gl=`${W}-is-invalid`,Ke=`${W}-disabled`,J=`${W}-active`,PT=`${W}-input`,Ci=`${W}-clock`,Gs=`${W}-clock-inner`,ml=`${W}-wrapper`,vu=`${W}-clock-wrapper`,Ko=`${W}-hour`,bl=`${W}-minute`,Uo=`${W}-tips-element`,pt=`${W}-tips-hours`,vt=`${W}-tips-minutes`,Rt=`${W}-tips-inner`,Xo=`${W}-tips-inner-element`,yu=`${W}-middle-dot`,vl=`${W}-hand-pointer`,yl=`${W}-circle`,Tu=`${W}-modal`,RT={appendValidationInfo:!0,bodyID:"",cancelLabel:"Cancel",clearLabel:"Clear",closeModalOnBackdropClick:!0,closeModalOnMinutesClick:!1,container:"body",defaultTime:"",disabled:!1,disablePast:!1,disableFuture:!1,enableValidation:!0,focusInputAfterApprove:!1,footerID:"",format12:!0,format24:!1,headID:"",increment:!1,inline:!1,invalidLabel:"Invalid Time Format",maxTime:"",minTime:"",modalID:"",okLabel:"Ok",overflowHidden:!0,pickerID:"",readOnly:!1,showClearBtn:!0,switchHoursToMinutesOnClick:!0,iconSVG:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>`,withIcon:!0,pmLabel:"PM",amLabel:"AM",animations:!0},NT={appendValidationInfo:"boolean",bodyID:"string",cancelLabel:"string",clearLabel:"string",closeModalOnBackdropClick:"boolean",closeModalOnMinutesClick:"boolean",container:"string",disabled:"boolean",disablePast:"boolean",disableFuture:"boolean",enableValidation:"boolean",footerID:"string",format12:"boolean",format24:"boolean",headID:"string",increment:"boolean",inline:"boolean",invalidLabel:"string",modalID:"string",okLabel:"string",overflowHidden:"boolean",pickerID:"string",readOnly:"boolean",showClearBtn:"boolean",switchHoursToMinutesOnClick:"boolean",defaultTime:"(string|date|number)",iconSVG:"string",withIcon:"boolean",pmLabel:"string",amLabel:"string",animations:"boolean"},BT={tips:"absolute rounded-[100%] w-[32px] h-[32px] text-center cursor-pointer text-[1.1rem] rounded-[100%] bg-transparent flex justify-center items-center font-light focus:outline-none selection:bg-transparent",tipsActive:"text-white bg-[#3b71ca] font-normal",tipsDisabled:"text-[#b3afaf] pointer-events-none bg-transparent",transform:"transition-[transform,height] ease-in-out duration-[400ms]",modal:"z-[1065]",clockAnimation:"animate-[show-up-clock_350ms_linear]",opacity:"!opacity-100",timepickerWrapper:"touch-none opacity-100 z-[1065] inset-0 bg-[#00000066] h-full flex items-center justify-center flex-col fixed",timepickerContainer:"flex items-center justify-center flex-col max-h-[calc(100%-64px)] overflow-y-auto shadow-[0_10px_15px_-3px_rgba(0,0,0,0.07),0_4px_6px_-2px_rgba(0,0,0,0.05)] min-[320px]:max-[825px]:landscape:rounded-lg",timepickerElements:"flex flex-col min-w-[310px] min-h-[325px] bg-white rounded-t-[0.6rem] min-[320px]:max-[825px]:landscape:!flex-row min-[320px]:max-[825px]:landscape:min-w-[auto] min-[320px]:max-[825px]:landscape:min-h-[auto] min-[320px]:max-[825px]:landscape:overflow-y-auto justify-around",timepickerHead:"bg-[#3b71ca] dark:bg-zinc-700 h-[100px] rounded-t-lg pr-[24px] pl-[50px] py-[10px] min-[320px]:max-[825px]:landscape:rounded-tr-none min-[320px]:max-[825px]:landscape:rounded-bl-none min-[320px]:max-[825px]:landscape:p-[10px] min-[320px]:max-[825px]:landscape:pr-[10px] min-[320px]:max-[825px]:landscape:h-auto min-[320px]:max-[825px]:landscape:min-h-[305px] flex flex-row items-center justify-center",timepickerHeadContent:"min-[320px]:max-[825px]:landscape:flex-col flex w-full justify-evenly",timepickerCurrentWrapper:"[direction:ltr] rtl:[direction:rtl]",timepickerCurrentButtonWrapper:"relative h-full",timepickerCurrentButton:"text-[3.75rem] font-light leading-[1.2] tracking-[-0.00833em] text-white opacity-[.54] border-none bg-transparent p-0 min-[320px]:max-[825px]:landscape:text-5xl min-[320px]:max-[825px]:landscape:font-normal cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none ",timepickerDot:"font-light leading-[1.2] tracking-[-0.00833em] text-[3.75rem] opacity-[.54] border-none bg-transparent p-0 text-white min-[320px]:max-[825px]:landscape:text-[3rem] min-[320px]:max-[825px]:landscape:font-normal",timepickerModeWrapper:"flex flex-col justify-center text-[18px] text-[#ffffff8a] min-[320px]:max-[825px]:landscape:!justify-around min-[320px]:max-[825px]:landscape:!flex-row",timepickerModeAm:"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none",timepickerModePm:"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none",timepickerClockWrapper:"min-w-[310px] max-w-[325px] min-h-[305px] overflow-x-hidden h-full flex justify-center flex-col items-center dark:bg-zinc-500",timepickerClock:"relative rounded-[100%] w-[260px] h-[260px] cursor-default my-0 mx-auto bg-[#00000012] dark:bg-zinc-600/50",timepickerMiddleDot:"top-1/2 left-1/2 w-[6px] h-[6px] -translate-y-1/2 -translate-x-1/2 rounded-[50%] bg-[#3b71ca] absolute",timepickerHandPointer:"bg-[#3b71ca] bottom-1/2 h-2/5 left-[calc(50%-1px)] rtl:!left-auto origin-[center_bottom_0] rtl:!origin-[50%_50%_0] w-[2px] absolute",timepickerPointerCircle:"-top-[21px] -left-[15px] w-[4px] border-[14px] border-solid border-[#3b71ca] h-[4px] box-content rounded-[100%] absolute",timepickerClockInner:"absolute top-1/2 left-1/2 -translate-y-1/2 -translate-x-1/2 w-[160px] h-[160px] rounded-[100%]",timepickerFooterWrapper:"rounded-b-lg flex justify-between items-center w-full h-[56px] px-[12px] bg-white dark:bg-zinc-500",timepickerFooter:"w-full flex justify-between",timepickerFooterButton:"text-[0.8rem] min-w-[64px] box-border font-medium leading-[40px] rounded-[10px] tracking-[0.1rem] uppercase text-[#3b71ca] dark:text-white border-none bg-transparent transition-[background-color,box-shadow,border] duration-[250ms] ease-[cubic-bezier(0.4,0,0.2,1)] delay-[0ms] outline-none py-0 px-[10px] h-[40px] mb-[10px] hover:bg-[#00000014] focus:bg-[#00000014] focus:outline-none",timepickerInLine truncated
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
|
||||
</svg>
|
||||
`,lE=s=>{s.code==="Tab"||s.code==="Esc"||s.preventDefault()};function Jo(s,t,e,i,n){t.selectSize==="default"&&g.addClass(s,e),t.selectSize==="sm"&&g.addClass(s,i),t.selectSize==="lg"&&g.addClass(s,n)}function cE(s,t,e,i,n){const o=document.createElement("div");o.setAttribute("id",s),o.setAttribute(XT,"");const r=$("div");r.setAttribute(UT,""),g.addClass(r,i.formOutline);const a=$("input"),l=t.selectFilter?"combobox":"listbox",c=t.multiple?"true":"false",h=t.disabled?"true":"false";a.setAttribute(GT,""),g.addClass(a,i.selectInput),Jo(a,t,i.selectInputSizeDefault,i.selectInputSizeSm,i.selectInputSizeLg),t.selectFormWhite&&g.addClass(a,i.selectInputWhite),a.setAttribute("type","text"),a.setAttribute("role",l),a.setAttribute("aria-multiselectable",c),a.setAttribute("aria-disabled",h),a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded",!1),a.name=n,t.tabIndex&&a.setAttribute("tabIndex",t.tabIndex),t.disabled&&a.setAttribute("disabled",""),t.selectPlaceholder!==""&&a.setAttribute("placeholder",t.selectPlaceholder),t.selectValidation?(g.addStyle(a,{"pointer-events":"none","caret-color":"transparent"}),g.addStyle(r,{cursor:"pointer"})):a.setAttribute("readonly","true"),t.selectValidation&&(a.setAttribute("required","true"),a.setAttribute("aria-required","true"),a.addEventListener("keydown",lE));const d=$("div");g.addClass(d,i.selectValidationValid);const u=document.createTextNode(`${t.selectValidFeedback}`);d.appendChild(u);const p=$("div");g.addClass(p,i.selectValidationInvalid);const f=document.createTextNode(`${t.selectInvalidFeedback}`);p.appendChild(f);const b=$("span");b.setAttribute(qT,""),g.addClass(b,i.selectClearBtn),Jo(b,t,i.selectClearBtnDefault,i.selectClearBtnSm,i.selectClearBtnLg),t.selectFormWhite&&g.addClass(b,i.selectClearBtnWhite);const v=document.createTextNode("✕");b.appendChild(v),b.setAttribute("tabindex","0");const y=$("span");return g.addClass(y,i.selectArrow),Jo(y,t,i.selectArrowDefault,i.selectArrowSm,i.selectArrowLg),t.selectFormWhite&&g.addClass(y,i.selectArrowWhite),y.innerHTML=aE,r.appendChild(a),e&&(g.addClass(e,i.selectLabel),Jo(e,t,i.selectLabelSizeDefault,i.selectLabelSizeSm,i.selectLabelSizeLg),t.selectFormWhite&&g.addClass(e,i.selectLabelWhite),r.appendChild(e)),t.selectValidation&&(r.appendChild(d),r.appendChild(p)),t.selectClearButton&&r.appendChild(b),r.appendChild(y),o.appendChild(r),o}function Lu(s,t,e,i,n,o,r,a){const l=document.createElement("div");l.setAttribute(ZT,""),g.addClass(l,a.selectDropdownContainer),l.setAttribute("id",`${s}`),l.style.width=`${e}px`;const c=document.createElement("div");c.setAttribute("tabindex",0),c.setAttribute(QT,""),g.addClass(c,a.dropdown);const h=$("div");h.setAttribute(JT,""),g.addClass(h,a.optionsWrapper),g.addClass(h,a.optionsWrapperScrollbar),h.style.maxHeight=`${i}px`;const d=$u(o,n,t,a);return h.appendChild(d),t.selectFilter&&c.appendChild(hE(t.selectSearchPlaceholder,a)),c.appendChild(h),r&&c.appendChild(r),l.appendChild(c),l}function $u(s,t,e,i){const n=$("div");n.setAttribute(tE,""),g.addClass(n,i.optionsList);let o;return e.multiple?o=uE(s,t,e,i):o=dE(s,e,i),o.forEach(r=>{n.appendChild(r)}),n}function hE(s,t){const e=$("div");g.addClass(e,t.inputGroup);const i=$("input");return i.setAttribute(eE,""),g.addClass(i,t.selectFilterInput),i.placeholder=s,i.setAttribute("role","searchbox"),i.setAttribute("type","text"),e.appendChild(i),e}function dE(s,t,e){return Pu(s,t,e)}function uE(s,t,e,i){let n=null;e.selectAll&&(n=pE(t,s,e,i));const o=Pu(s,e,i);return n?[n,...o]:o}function Pu(s,t,e){const i=[];return s.forEach(n=>{if(Object.prototype.hasOwnProperty.call(n,"options")){const r=mE(n,t,e);i.push(r)}else i.push(Ru(n,t,e))}),i}function pE(s,t,e,i){const n=xl(t),o=$("div");return o.setAttribute(Iu,""),g.addClass(o,i.selectOption),o.setAttribute(iE,""),g.addStyle(o,{height:`${e.selectOptionHeight}px`}),o.setAttribute("role","option"),o.setAttribute("aria-selected",n),n&&o.setAttribute(Mu,""),o.appendChild(Nu(s,e,i)),s.setNode(o),o}function Ru(s,t,e){if(s.node)return s.node;const i=$("div");return i.setAttribute(Iu,""),g.addClass(i,e.selectOption),g.addStyle(i,{height:`${t.selectOptionHeight}px`}),g.setDataAttribute(i,"id",s.id),i.setAttribute("role","option"),i.setAttribute("aria-selected",s.selected),i.setAttribute("aria-disabled",s.disabled),s.selected&&i.setAttribute(Mu,""),s.disabled&&i.setAttribute("data-te-select-option-disabled",!0),s.hidden&&g.addClass(i,"hidden"),i.appendChild(Nu(s,t,e)),s.icon&&i.appendChild(gE(s,e)),s.setNode(i),i}function Nu(s,t,e){const i=$("span");i.setAttribute(sE,""),g.addClass(i,e.selectOptionText);const n=document.createTextNode(s.label);return t.multiple&&i.appendChild(_E(s,e)),i.appendChild(n),(s.secondaryText||typeof s.secondaryText=="number")&&i.appendChild(fE(s.secondaryText,e)),i}function fE(s,t){const e=$("span");g.addClass(e,t.selectOptionSecondaryText);const i=document.createTextNode(s);return e.appendChild(i),e}function _E(s,t){const e=$("input");e.setAttribute("type","chec
Line truncated
|
||||
<input
|
||||
type="text"
|
||||
class="${e.chipsInput}"
|
||||
id="${s}"
|
||||
placeholder="Example label" />
|
||||
<label
|
||||
for="${s}"
|
||||
class="${e.chipsLabel}"
|
||||
>${t}
|
||||
</label>
|
||||
</div>
|
||||
</div>`,VE=({text:s,iconSVG:t},e)=>`<div data-te-chip-init data-te-ripple-init class="${e.chipElement}">
|
||||
<span data-te-chip-text>${s}</span>
|
||||
<span data-te-chip-close class="${e.chipCloseIcon}">
|
||||
${t}
|
||||
</span>
|
||||
</div>`,tr="chip",FE=`te.${tr}`,Ku="data-te-chip-close",kl=`[${Ku}]`,WE="delete.te.chips",zE="select.te.chip",jE='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-3 h-3"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>',YE={text:"string",closeIcon:"boolean",img:"object",iconSVG:"string"},KE={text:"",closeIcon:!1,img:{path:"",alt:""},iconSVG:jE},UE={icon:"float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:text-[#8b8b8b] transition-all duration-200 ease-in-out",chipElement:"flex justify-between items-center h-[32px] leading-loose py-[5px] px-[12px] mr-4 my-[5px] text-[13px] font-normal text-[#4f4f4f] cursor-pointer bg-[#eceff1] dark:text-white dark:bg-neutral-600 rounded-[16px] transition-[opacity] duration-300 ease-linear [word-wrap: break-word] shadow-none normal-case hover:!shadow-none active:bg-[#cacfd1] inline-block font-medium leading-normal text-[#4f4f4f] text-center no-underline align-middle cursor-pointer select-none border-[.125rem] border-solid border-transparent py-1.5 px-3 text-xs rounded",chipCloseIcon:"w-4 float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:fill-[#8b8b8b] dark:fill-gray-400 dark:hover:fill-gray-100 transition-all duration-200 ease-in-out"},XE={icon:"string",chipElement:"string",chipCloseIcon:"string"};class Ai{constructor(t,e={},i){this._element=t,this._options=this._getConfig(e),this._classes=this._getClasses(i)}static get NAME(){return tr}init(){this._appendCloseIcon(),this._handleDelete(),this._handleTextChip(),this._handleClickOnChip()}dispose(){this._element=null,this._options=null,_.off(this._element,"click")}appendChip(){const{text:t,closeIcon:e,iconSVG:i}=this._options;return VE({text:t,closeIcon:e,iconSVG:i},this._classes)}_appendCloseIcon(t=this._element){if(!(m.find(kl,this._element).length>0)&&this._options.closeIcon){const e=$("span");e.classList=this._classes.icon,e.setAttribute(Ku),e.innerHTML=this._options.iconSVG,t.insertAdjacentElement("beforeend",e)}}_handleClickOnChip(){_.on(this._element,"click",t=>{const{textContent:e}=t.target,i={};i.tag=e.trim(),_.trigger(zE,{event:t,obj:i})})}_handleDelete(){m.find(kl,this._element).length!==0&&_.on(this._element,"click",kl,()=>{_.trigger(this._element,WE),this._element.remove()})}_handleTextChip(){this._element.innerText===""&&(this._element.innerText=this._options.text)}_getConfig(t){const e={...KE,...g.getDataAttributes(this._element),...t};return L(tr,e,YE),e}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...UE,...e,...t},L(tr,t,XE),t}static getInstance(t){return D.getData(t,FE)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const sn="chips",nn=`data-te-${sn}`,Uu=`te.${sn}`,GE=`${nn}-input-init`,Ft=`${nn}-active`,Xu=`${nn}-initial`,Gu=`${nn}-placeholder`,qE=`${nn}-input-wrapper`,Sl="data-te-chip-init",qu="data-te-chip-close",Zu="data-te-chip-text",ZE=`[${Ft}]`,Ol=`[${Sl}]`,QE=`${Ol}${ZE}`,Dl=`[${qu}]`,JE=`[${qE}]`,tx=`[${Zu}]`,ex=`[${Gu}]`,ix="data-te-input-notch-leading-ref",sx="data-te-input-notch-middle-ref",nx=`[${ix}]`,ox=`[${sx}]`,ls="data-te-input-state-active",Il="[data-te-input-notch-ref]",rx="add.te.chips",ax="arrowDown.te.chips",lx="arrowLeft.te.chips",cx="arrowRight.te.chips",hx="arrowUp.te.chips",Qu="delete.te.chips",Ju="select.te.chips",dx={inputID:"string",parentSelector:"string",initialValues:"array",editable:"boolean",labelText:"string",inputClasses:"object",inputOptions:"object"},ux={inputID:Et("chips-input-"),parentSelector:"",initialValues:[{tag:"init1"},{tag:"init2"}],editable:!1,labelText:"Example label",inputClasses:{},inputOptions:{}},px={opacity:"opacity-0",inputWrapperPadding:"p-[5px]",transition:"transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]",contentEditable:"outline-none !border-[3px] !border-solid !border-[#b2b3b4]",chipsInputWrapper:"relative flex items-center flex-wrap transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]",chipsInput:"peer block min-h-[auto] w-[150px] rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-gray-200 dark:placeholder:text-gray-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0",chipsLabel:"pointer-events-none absolute top-0 left-3 mb-0 max-w-[90%] origin-[0_0] truncate pt-[0.37rem] leading-[1.6] text-gray-500 transition-all duration-200 ease-out peer-focus:-translate-y-[0.9rem] peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[te-input-state-active]:-translate-y-[0.9rem] peer-data-[te-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-gray-200 dark:peer-focus:text-gray-200"},fx={opacity:"string",inputWrapperPadding:"string",transition:"string"Line truncated
|
||||
* perfect-scrollbar v1.5.3
|
||||
* Copyright 2021 Hyunje Jun, MDBootstrap and Contributors
|
||||
* Licensed under MIT
|
||||
*/
|
||||
function ml(t){return getComputedStyle(t)}function p(t,e){for(var i in e){var n=e[i];"number"==typeof n&&(n+="px"),t.style[i]=n}}function gl(t){var e=document.createElement("div");return e.className=t,e}var _l="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function vl(t,e){if(_l)return _l.call(t,e);throw new Error("No element matching method supported")}function bl(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function yl(t,e){return Array.prototype.filter.call(t.children,function(t){return vl(t,e)})}var B={main:"ps",rtl:"ps__rtl",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},wl={x:null,y:null};function xl(t,e){var t=t.element.classList,i=B.state.scrolling(e);t.contains(i)?clearTimeout(wl[e]):t.add(i)}function Cl(t,e){wl[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(B.state.scrolling(e))},t.settings.scrollingThreshold)}function kl(t){this.element=t,this.handlers={}}function Al(){this.eventElements=[]}t={isEmpty:{configurable:!0}};kl.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},kl.prototype.unbind=function(e,i){var n=this;this.handlers[e]=this.handlers[e].filter(function(t){return!(!i||t===i)||(n.element.removeEventListener(e,t,!1),!1)})},kl.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},t.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every(function(t){return 0===e.handlers[t].length})},Object.defineProperties(kl.prototype,t);function Sl(t){var e;return"function"==typeof window.CustomEvent?new CustomEvent(t):((e=document.createEvent("CustomEvent")).initCustomEvent(t,!1,!1,void 0),e)}function Tl(t,e,i,n,s){var o;if(void 0===n&&(n=!0),void 0===s&&(s=!1),"top"===e)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}var e=t,t=i,i=n,n=s,a=(s=o)[0],r=s[1],l=s[2],c=s[3],h=s[4],s=s[5],d=(void 0===i&&(i=!0),void 0===n&&(n=!1),e.element);e.reach[c]=null,d[l]<1&&(e.reach[c]="start"),d[l]>e[a]-e[r]-1&&(e.reach[c]="end"),t&&(d.dispatchEvent(Sl("ps-scroll-"+c)),t<0?d.dispatchEvent(Sl("ps-scroll-"+h)):0<t&&d.dispatchEvent(Sl("ps-scroll-"+s)),i)&&(xl(l=e,a=c),Cl(l,a));e.reach[c]&&(t||n)&&d.dispatchEvent(Sl("ps-"+c+"-reach-"+e.reach[c]))}function f(t){return parseInt(t,10)||0}Al.prototype.eventElement=function(e){var t=this.eventElements.filter(function(t){return t.element===e})[0];return t||(t=new kl(e),this.eventElements.push(t)),t},Al.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},Al.prototype.unbind=function(t,e,i){t=this.eventElement(t);t.unbind(e,i),t.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(t),1)},Al.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},Al.prototype.once=function(t,e,i){var n=this.eventElement(t),s=function(t){n.unbind(e,s),i(t)};n.bind(e,s)};var Ol={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&0<window.navigator.maxTouchPoints||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function El(t){var e=t.element,i=Math.floor(e.scrollTop),n=e.getBoundingClientRect(),n=(t.containerWidth=Math.round(n.width),t.containerHeight=Math.round(n.height),t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(yl(e,B.element.rail("x")).forEach(bl),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(yl(e,B.element.rail("y")).forEach(bl),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset<t.contentWidth?(t.scrollbarXActive=!0,t.railXWidth=t.containerWidth-t.railXMarginWidth,t.railXRatio=t.containerWidth/t.railXWidth,t.scrollbarXWidth=Il(t,f(t.railXWidth*t.containerWidth/t.contentWidth)),t.scrollbarXLeft=f((t.negativeScrollAdjustment+e.scrollLeft)*(t.railXWidth-t.scrollbarXWidth)/(t.contentWidth-t.containerWidth))):t.scrollbarXActive=!1,!t.settings.suppressScrollY&&t.containerHeight+t.settings.scrollYMarginOffset<t.contentHeight?(t.scrollbarYActive=!0,t.railYHeight=t.containerHeight-t.railYMarginHeight,t.railYRatio=t.containerHeight/t.railYHeight,t.scrollbarYHeight=Il(t,f(t.railYHeight*t.containerHeight/t.contentHeight)),t.scrolLine truncated
|
||||
//# sourceMappingURL=index.min.js.map
|
||||
*/function ge(s){return getComputedStyle(s)}function kt(s,t){for(var e in t){var i=t[e];typeof i=="number"&&(i=i+"px"),s.style[e]=i}return s}function ir(s){var t=document.createElement("div");return t.className=s,t}var op=typeof Element<"u"&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function qe(s,t){if(!op)throw new Error("No element matching method supported");return op.call(s,t)}function hs(s){s.remove?s.remove():s.parentNode&&s.parentNode.removeChild(s)}function rp(s,t){return Array.prototype.filter.call(s.children,function(e){return qe(e,t)})}var at={main:"ps",rtl:"ps__rtl",element:{thumb:function(s){return"ps__thumb-"+s},rail:function(s){return"ps__rail-"+s},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(s){return"ps--active-"+s},scrolling:function(s){return"ps--scrolling-"+s}}},ap={x:null,y:null};function lp(s,t){var e=s.element.classList,i=at.state.scrolling(t);e.contains(i)?clearTimeout(ap[t]):e.add(i)}function cp(s,t){ap[t]=setTimeout(function(){return s.isAlive&&s.element.classList.remove(at.state.scrolling(t))},s.settings.scrollingThreshold)}function Ix(s,t){lp(s,t),cp(s,t)}var an=function(t){this.element=t,this.handlers={}},hp={isEmpty:{configurable:!0}};an.prototype.bind=function(t,e){typeof this.handlers[t]>"u"&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},an.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(n){return e&&n!==e?!0:(i.element.removeEventListener(t,n,!1),!1)})},an.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},hp.isEmpty.get=function(){var s=this;return Object.keys(this.handlers).every(function(t){return s.handlers[t].length===0})},Object.defineProperties(an.prototype,hp);var ds=function(){this.eventElements=[]};ds.prototype.eventElement=function(t){var e=this.eventElements.filter(function(i){return i.element===t})[0];return e||(e=new an(t),this.eventElements.push(e)),e},ds.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},ds.prototype.unbind=function(t,e,i){var n=this.eventElement(t);n.unbind(e,i),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},ds.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},ds.prototype.once=function(t,e,i){var n=this.eventElement(t),o=function(r){n.unbind(e,o),i(r)};n.bind(e,o)};function sr(s){if(typeof window.CustomEvent=="function")return new CustomEvent(s);var t=document.createEvent("CustomEvent");return t.initCustomEvent(s,!1,!1,void 0),t}function nr(s,t,e,i,n){i===void 0&&(i=!0),n===void 0&&(n=!1);var o;if(t==="top")o=["contentHeight","containerHeight","scrollTop","y","up","down"];else if(t==="left")o=["contentWidth","containerWidth","scrollLeft","x","left","right"];else throw new Error("A proper axis should be provided");Mx(s,e,o,i,n)}function Mx(s,t,e,i,n){var o=e[0],r=e[1],a=e[2],l=e[3],c=e[4],h=e[5];i===void 0&&(i=!0),n===void 0&&(n=!1);var d=s.element;s.reach[l]=null,d[a]<1&&(s.reach[l]="start"),d[a]>s[o]-s[r]-1&&(s.reach[l]="end"),t&&(d.dispatchEvent(sr("ps-scroll-"+l)),t<0?d.dispatchEvent(sr("ps-scroll-"+c)):t>0&&d.dispatchEvent(sr("ps-scroll-"+h)),i&&Ix(s,l)),s.reach[l]&&(t||n)&&d.dispatchEvent(sr("ps-"+l+"-reach-"+s.reach[l]))}function it(s){return parseInt(s,10)||0}function Lx(s){return qe(s,"input,[contenteditable]")||qe(s,"select,[contenteditable]")||qe(s,"textarea,[contenteditable]")||qe(s,"button,[contenteditable]")}function $x(s){var t=ge(s);return it(t.width)+it(t.paddingLeft)+it(t.paddingRight)+it(t.borderLeftWidth)+it(t.borderRightWidth)}var us={isWebKit:typeof document<"u"&&"WebkitAppearance"in document.documentElement.style,supportsTouch:typeof window<"u"&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:typeof navigator<"u"&&navigator.msMaxTouchPoints,isChrome:typeof navigator<"u"&&/Chrome/i.test(navigator&&navigator.userAgent)};function ke(s){var t=s.element,e=Math.floor(t.scrollTop),i=t.getBoundingClientRect();s.containerWidth=Math.round(i.width),s.containerHeight=Math.round(i.height),s.contentWidth=t.scrollWidth,s.contentHeight=t.scrollHeight,t.contains(s.scrollbarXRail)||(rp(t,at.element.rail("x")).forEach(function(n){return hs(n)}),t.appendChild(s.scrollbarXRail)),t.contains(s.scrollbarYRail)||(rp(t,at.element.rail("y")).forEach(function(n){return hs(n)}),t.appendChild(s.scrollbarYRail)),!s.settings.suppressScrollX&&s.containerWidth+s.settings.scrollXMarginOffset<s.contentWidth?(s.scrollbarXActive=!0,s.railXWidth=s.containerWidth-s.railXMarginWidth,s.railXRatio=s.containerWidth/s.railXWidth,s.scrollbarXWidth=dp(s,it(s.railXWidth*s.containerWidth/s.contentWidth)),s.scrollbarXLeft=it((s.negativeScrollAdjustment+t.scrollLeft)*(s.railXWidth-Line truncated
|
||||
`);return`
|
||||
<div class="${h.pagination} ${u?`${h.paginationBordered}`:""} ${h.borderColor} ${h.color}">
|
||||
<div class="${h.selectItemsWrapper}">
|
||||
<p class="${h.paginationRowsText} ${d?`${h.loadingPaginationRowsText}`:""}">${n}</p>
|
||||
<div class="${h.selectWrapper} ${d?`${h.loadingPaginationSelectWrapper}`:""}">
|
||||
<select name="entries"
|
||||
${d?"disabled":""} class="select" ${Xx}>
|
||||
${p}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="${h.paginationNav} ${d?`${h.loadingPaginationNav}`:""}" ${Gx}>
|
||||
${s}
|
||||
</div>
|
||||
<div class="${h.paginationButtonsWrapper}">
|
||||
${i?`<button data-te-ripple-init data-te-ripple-color="dark" class="${h.paginationStartButton}" ${Qx}>
|
||||
${r}
|
||||
</button>`:""}
|
||||
<button data-te-ripple-init data-te-ripple-color="dark" class="${h.paginationLeftButton}" ${Zx}>
|
||||
${a}
|
||||
</button>
|
||||
<button data-te-ripple-init data-te-ripple-color="dark" class="${h.paginationRightButton}" ${qx}>
|
||||
${l}
|
||||
</button>
|
||||
${i?`<button data-te-ripple-init data-te-ripple-color="dark" class="${h.paginationEndButton}" ${Jx}>
|
||||
${c}
|
||||
</button>`:""}
|
||||
</div>
|
||||
</div>
|
||||
`},eC="data-te-datatable-sort-icon-ref",iC="data-te-datatable-header-checkbox-ref",sC=(s,t,e,i,n,o,r,a)=>{const l=e?`
|
||||
<th scope="col">
|
||||
<div class="${a.checkboxHeaderWrapper}">
|
||||
<input
|
||||
class="${a.checkboxHeader}"
|
||||
type="checkbox"
|
||||
value=""
|
||||
${iC}
|
||||
/>
|
||||
</div>
|
||||
</th>
|
||||
`:'<th scope="col"></th>',c=s.map((h,d)=>{const u=h.fixed?s.filter((p,f)=>p.fixed===h.fixed&&f<d).reduce((p,f)=>p+f.width,0):null;return`<th class="${a.column} ${i?`${a.tableBordered}`:""} ${a.borderColor} ${n?`${a.sm}`:""} ${h.fixed?`${a.fixedHeader} ${a.color}`:""} ${o?`${a.loadingColumn}`:""}" style="${h.fixed?`${h.fixed==="right"?"right":"left"}: ${u}px;`:""}" scope="col">${h.sort?`<div class="${a.sortIconWrapper}"><span class="${a.sortIcon} ${o?"invisible":""}" data-te-sort="${h.field}" ${eC}>${r}</span>`:""} <span class="${h.sort?"":"pl-[18px]"}">${h.label}</span></div></th>`});return[t?l:"",...c].join(`
|
||||
`)},nC="data-te-datatable-row-ref",oC="data-te-datatable-row-checkbox-ref",rC="data-te-datatable-cell-ref",aC=({rows:s,columns:t,noFoundMessage:e,edit:i,selectable:n,loading:o,bordered:r,borderless:a,striped:l,hover:c,sm:h,classes:d})=>{const u=s.map(p=>{const f=`
|
||||
<td data-te-field="checkbox" class="${r?`${d.tableBordered} ${d.borderColor}`:""}">
|
||||
<div class="${d.checkboxRowWrapper}">
|
||||
<input
|
||||
class="${d.checkboxRow}"
|
||||
type="checkbox"
|
||||
value=""
|
||||
data-te-row-index="${p.rowIndex}" ${oC}/>
|
||||
</div>
|
||||
</td>`,b=t.map((v,y)=>{const T={};if(v.width&&(T["min-width"]=`${v.width-1}px`,T["max-width"]=`${v.width}px`,T.width=`${v.width}px`),v.fixed){const E=t.filter((C,A)=>C.fixed===v.fixed&&A<y).reduce((C,A)=>C+A.width,0);T[v.fixed==="right"?"right":"left"]=`${E}px`}return`<td style="${Object.keys(T).map(E=>`${E}: ${T[E]}`).join("; ")}" class="${d.rowItem} ${d.borderColor} ${i?`${d.edit}`:""} ${r?`${d.tableBordered}`:""} ${h?`${d.sm}`:""} ${v.fixed?`${d.fixedHeader} ${d.color}`:""}" ${rC} data-te-field="${v.field}" ${i&&'contenteditable="true"'}>${p[v.field]}</td>`}).join("");return`<tr scope="row" class="${d.row} ${d.borderColor} ${d.rowAnimation} ${l?`${d.striped}`:""} ${a?`${d.borderless}`:""} ${c?`${d.hoverRow}`:""}" data-te-index="${p.rowIndex}" ${nC}>${n?f:""}${b}</tr>`});return s.length>0||o?u.join(`
|
||||
`):`<tr class="${d.noFoundMessageWrapper} ${d.borderColor}"><td class="${d.noFoundMessage}">${e}</td></tr>`},lC="data-te-datatable-inner-ref",cC="data-te-datatable-header-ref",pp=({columns:s,rows:t,noFoundMessage:e,edit:i,multi:n,selectable:o,loading:r,loadingMessage:a,pagination:l,bordered:c,borderless:h,striped:d,hover:u,fixedHeader:p,sm:f,sortIconTemplate:b,classes:v})=>{const y=aC({rows:t,columns:s,noFoundMessage:e,edit:i,loading:r,selectable:o,bordered:c,borderless:h,striped:d,hover:u,sm:f,classes:v}),T=sC(s,o,n,c,f,r,b,v);return{table:`
|
||||
<div class="${v.color}" ${lC}>
|
||||
<table class="${v.table}">
|
||||
<thead class="${v.tableHeader} ${c?`${v.tableBordered}`:""} ${h?`${v.borderless}`:""} ${v.borderColor}" ${cC}>
|
||||
<tr>
|
||||
${T}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="${p?`${v.fixedHeaderBody}`:""}">
|
||||
${r?"":y}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
${r?`
|
||||
<div class="${v.loadingItemsWrapper}">
|
||||
<div class="${v.loadingProgressBarWrapper}">
|
||||
<div class="${v.loadingProgressBar}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="${v.loadingMessage}">${a}</p>
|
||||
`:""}
|
||||
${l.enable?tC(l,r,c):""}
|
||||
`,rows:y,column:T}},hC=({rows:s,field:t,order:e})=>s.sort((n,o)=>{let r=n[t],a=o[t];return typeof r=="string"&&(r=r.toLowerCase()),typeof a=="string"&&(a=a.toLowerCase()),r<a?e==="desc"?1:-1:r>a?e==="desc"?-1:1:0}),dC=(s,t,e)=>{if(!t)return s;const i=n=>{const o=document.createElement("div");return o.innerHTML=n,n=o.textContent||o.innerText||"",n.toString().toLowerCase().match(t.toLowerCase())};return s.filter(n=>{if(e&&typeof e=="string")return i(n[e]);let o=Object.values(n);return e&&Array.isArray(e)&&(o=Object.keys(n).filter(r=>e.includes(r)).map(r=>n[r])),o.filter(r=>i(r)).length>0})},fp=({rows:s,entries:t,activePage:e})=>{const i=e*t;return s.slice(i,i+Number(t))},cn="datatable",Nt=`data-te-${cn}`,hn=`te.${cn}`,rr=`.${hn}`,uC=`[${Nt}-inner-ref]`,Rl=`[${Nt}-cell-ref]`,pC=`[${Nt}-header-ref]`,fC=`[${Nt}-header-checkbox-ref]`,_C=`[${Nt}-pagination-right-ref]`,gC=`[${Nt}-pagination-left-ref]`,mC=`[${Nt}-pagination-start-ref]`,bC=`[${Nt}-pagination-end-ref]`,vC=`[${Nt}-pagination-nav-ref]`,yC=`[${Nt}-select-ref]`,Nl=`[${Nt}-sort-icon-ref]`,dn=`[${Nt}-row-ref]`,Bl=`[${Nt}-row-checkbox-ref]`,TC=`selectRows${rr}`,_p=`render${rr}`,EC=`rowClick${rr}`,xC=`update${rr}`,CC=`<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5L12 3m0 0l7.5 7.5M12 3v18" />
|
||||
</svg>`,AC=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M18.75 19.5l-7.5-7.5 7.5-7.5m-6 15L5.25 12l7.5-7.5" />
|
||||
</svg>`,wC=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5" />
|
||||
</svg>`,kC=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" />
|
||||
</svg>`,SC=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 4.5l7.5 7.5-7.5 7.5m-6-15l7.5 7.5-7.5 7.5"/>
|
||||
</svg>`,OC="border-neutral-200 dark:border-neutral-500",DC="border-none",IC="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",MC="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",LC="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",$C="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",PC="bg-white dark:bg-neutral-800",RC="py-4 pl-1 text-clip overflow-hidden text-[#212529] dark:text-white",NC="focus:outline-none",BC="sticky top-0 z-30",HC="sticky z-10 bg-inherit",VC="hover:bg-neutral-100 dark:hover:bg-neutral-700",FC="pointer-events-none cursor-none text-neutral-400 dark:text-neutral-300",WC="h-[2px] relative w-full overflow-hidden",zC="text-center text-neutral-500 font-ligh text-sm my-4 dark:text-neutral-400",jC="text-neutral-500 dark:text-neutral-300",YC="text-neutral-500 dark:text-neutral-300",KC="pointer-events-none cursor-none",UC="h-full w-[45%] bg-primary-400 dark:bg-primLine truncated
|
||||
<p class="${this._classes.message}">
|
||||
${this._options.popconfirmIconTemplate?`<span class="${this._classes.icon}">${this._options.popconfirmIconTemplate}</span>`:""}
|
||||
<span class="${this._classes.messageText}">${this._options.message}</span>
|
||||
</p>
|
||||
<div class="${this._classes.btnsContainer}">
|
||||
${this._options.cancelText?`<button type="button" data-te-ripple-init data-te-ripple-color="light" id="popconfirm-button-cancel" aria-label="${this._options.cancelLabel}"
|
||||
class="${this._classes.btnCancel}">${this._options.cancelText}</button>`:""}
|
||||
<button type="button" data-te-ripple-init data-te-ripple-color="light" id="popconfirm-button-confirm"
|
||||
aria-label="${this._options.confirmLabel}"
|
||||
class="${this._classes.btnConfirm}">${this._options.okText?this._options.okText:"Ok"}</button>
|
||||
</div>
|
||||
</div>`}_getConfig(t){return t={...BA,...g.getDataAttributes(this._element),...t},L(Hl,t,NA),t}_getClasses(t){const e=g.getDataClassAttributes(this._element);return t={...VA,...e,...t},L(Hl,t,HA),t}_openPopover(t){this._popper=fi(this._element,t,{placement:this._translatePositionValue(),modifiers:[{name:"offset",options:{offset:[0,5]}}]}),document.body.appendChild(t),setTimeout(()=>{g.addClass(this.popconfirmBody,`${this._classes.fade} opacity-100`),this._isOpen=!0},0)}_openModal(t){const e=$("div");e.setAttribute(Cp,""),g.addClass(e,this._classes.backdrop),document.body.appendChild(e),e.appendChild(t),g.addClass(this.popconfirmBody,"opacity-100"),this._isOpen=!0}_handleCancelButtonClick(){const t=this.container;this._cancelButton=m.findOne("#popconfirm-button-cancel",t),ze.getOrCreateInstance(this._cancelButton,{rippleColor:"light"}),this._cancelButton!==null&&_.on(this._cancelButton,"click",()=>{this.close(),_.trigger(this._element,LA)})}_handleConfirmButtonClick(){const t=this.container;this._confirmButton=m.findOne("#popconfirm-button-confirm",t),ze.getOrCreateInstance(this._confirmButton,{rippleColor:"light"}),_.on(this._confirmButton,"click",()=>{this.close(),_.trigger(this._element,$A)})}_listenToEscapeKey(){_.on(document,"keydown",this._handleEscapeKey.bind(this))}_handleEscapeKey(t){t.keyCode===Ks&&this.close()}_listenToOutsideClick(){_.on(document,"click",this._handleOutsideClick.bind(this))}_handleOutsideClick(t){const e=this.container,i=t.target===e,n=e&&e.contains(t.target),o=t.target===this._element,r=this._element&&this._element.contains(t.target);!i&&!n&&!o&&!r&&this.close()}_translatePositionValue(){switch(this._options.position){case"top left":return"top-end";case"top":return"top";case"top right":return"top-start";case"bottom left":return"bottom-end";case"bottom":return"bottom";case"bottom right":return"bottom-start";case"left":return"left";case"left top":return"left-end";case"left bottom":return"left-start";case"right":return"right";case"right top":return"right-end";case"right bottom":return"right-start";case void 0:return"bottom";default:return"bottom"}}static jQueryInterface(t,e){return this.each(function(){const i=D.getData(this,un),n=typeof t=="object"&&t;if(!(!i&&/dispose/.test(t))){if(!i)return new cr(this,n);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}}})}static getInstance(t){return D.getData(t,un)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}}const Fl="lightbox",pn="te.lightbox",_s=`click${`.${pn}`}.data-api`,Ap="[data-te-lightbox-init]",FA=`${Ap} img:not([data-te-lightbox-disabled])`,wp="data-te-lightbox-caption",WA="data-te-lightbox-disabled",ve="data-te-lightbox-active",zA=`<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 12h-15m0 0l6.75 6.75M4.5 12l6.75-6.75" />
|
||||
</svg>
|
||||
`,jA=`<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12h15m0 0l-6.75-6.75M19.5 12l-6.75 6.75" />
|
||||
</svg>
|
||||
`,YA=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" />
|
||||
</svg>
|
||||
`,KA=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25" />
|
||||
</svg>
|
||||
`,UA=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607zM10.5 7.5v6m3-3h-6" />
|
||||
</svg>
|
||||
`,XA=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607zM13.5 10.5h-6" />
|
||||
</svg>
|
||||
`,GA=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" class="w-4 h-4">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
||||
</svg>
|
||||
`,qA={container:"string",zoomLevel:"(number|string)",prevIconTemplate:"string",nextIconTemplate:"string",showFullscreenIconTemplate:"string",hideFullscreenIconTemplate:"string",zoomInIconTemplate:"string",closeIconTemplate:"string",zoomOutIconTemplate:"string",spinnerContent:"string"},ZA={container:"body",zoomLevel:1,prevIconTemplate:zA,nextIconTemplate:jA,showFullscreenIconTemplate:YA,hideFullscreenIconTemplate:KA,zoomInIconTemplate:UA,zoomOutIconTemplate:XA,closeIconTemplate:GA,spinnerContent:"Loading..."},QA={caption:"text-white text-ellipsis overflow-hidden whitespace-nowrap mx-[10px] text-center",captionWrapper:"fixed left-0 bottom-0 w-full h-[50px] flex justify-center items-center",closeBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",fullscreenBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",gallery:"invisible fixed left-0 top-0 w-full h-full z-[1100] pointer-events-none opacity-0 bg-[#000000e6] transition-all duration-[400ms] motion-reduce:transition-none",galleryContent:"fixed top-[50px] left-[50px] w-[calc(100%-100px)] h-[calc(100%-100px)]",galleryCounter:"flex justify-center items-center px-[10px] mb-0 h-full text-[#b3b3b3]",img:"absolute left-0 top-0 w-full max-h-full h-auto cursor-pointer pointer-events-auto",imgWrapper:"absolute top-0 left-0 w-full h-full opacity-0 transform scale-[0.25] transition-all duration-[400ms] ease-out pointer-events-none motion-reduce:transition-none motion-reduce:transform-none",leftTools:"float-left h-full",loader:"fixed left-0 top-0 z-[2] w-full h-full text-neutral-50 opacity-1 flex justify-center items-center pointer-events-none transition-opacity duration-[1000ms] motion-reduce:transition-none",nextBtn:"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",nextBtnWrapper:"fixed right-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none",prevBtn:"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none",prevBtnWrapper:"fixed left-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none",rightTools:"float-right",spinner:"inline-block h-8 w-8 animate-[spinner-grow_0.75s_linear_infinite] rounded-full bg-current align-[-0.125em] motion-reduce:animate-[spinner-grow_1.5s_linear_infinite]",spinnerContent:"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]",toolbar:"absolute top-0 left-0 w-full h-[50px] z-20 transition-opacity duration-[400ms] motion-reduce:transition-none",vertical:"h-full max-h-full w-auto",zoomBtn:"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none"},JA={caption:"string",captionWrapper:"string",closeBtn:"string",fullscreenBtn:"string",gallery:"string",galleryContent:"string",galleryCounter:"string",img:"string",imgWrapper:"string",leftTools:"string",loader:"string",nextBtn:"string",nextBtnWrapper:"string",prevBtn:"string",prevBtnWrapper:"string",rightTools:"string",spinner:"string",spinnerContent:"string",toolbar:"string",vertical:"string",zoomBtn:"string"};class gs{constructor(t,e={},i){this._element=t,this._options=e,this._classes=this._getClasses(i),this._getContainer(),this._id=`lightbox-${Math.random().toString(36).substr(2,9)}`,this._activeImg=0,this._images=[],this._zoom=1,this._gallery=null,this._galleryToolbar=null,this._galleryContent=null,this._loader=null,this._imgCounter=null,this._animating=!1,this._fullscreen=!1,this._zoomBtn=null,this._fullscreenBtn=null,this._toolsToggleTimer=0,this._mousedown=!1,this._mousedownPositionX=0,this._mousedownPositionY=0,this._originalPositionX=0,this._originalPositionY=0,this._positionX=0,this._positionY=0,this._zoomTimer=0,this._tapCounter=0,this._tapTime=0,this._rightArrow=null,this._leftArrowWrapper=null,this._rightArrowWrapper=null,this._initiated=!1,this._multitouch=!1,this._touchZoomPosition=[],this._element&&(D.setData(t,pn,this),this.init())}static get NAME(){return Fl}get activeImg(){return this._activeImg}get currentImg(){return m.findOne(`[${ve}]`,this._galleryContent)}get options(){const t={...ZA,...g.getDataAttributes(this._element),...this._options};return L(Fl,t,qA),t}init(){this._initiated||(this._appendTemplate(),this._initiated=!0)}open(t=0){this._getImages(),this._setActiveImg(t),this._
Line truncated
|
||||
<button type="button" class="${e.pickerIcon}" data-te-datepicker-toggle-button-ref>
|
||||
${s}
|
||||
</button>
|
||||
<button type="button" class="${e.pickerIcon}" data-te-timepicker-toggle-button-ref>
|
||||
${t}
|
||||
</button>
|
||||
`,xk=(s,t)=>`
|
||||
<button type="button" class="${t.toggleButton}" data-te-date-timepicker-toggle-ref>
|
||||
${s}
|
||||
</button>
|
||||
`,Cr="datetimepicker",yn=`te.${Cr}`,Ql=`.${yn}`,$p="data-te-datepicker-init",Pp="data-te-timepicker-init",Ck="data-te-datepicker-header",Ak="data-te-datepicker-cancel-button-ref",wk="data-te-datepicker-ok-button-ref",Jl="data-te-timepicker-wrapper",Rp="data-te-timepicker-cancel",kk="data-te-timepicker-submit",Sk="data-te-timepicker-clear",Np="data-te-buttons-timepicker",Ok="data-te-date-timepicker-toggle-ref",Dk="data-te-datepicker-toggle-button-ref",Ik="data-te-timepicker-toggle-button-ref",Mk=`[${Pp}]`,Lk=`[${$p}]`,$k=`[${Ok}]`,Pk=`[${Ik}]`,Rk="[data-te-input-notch-ref]",Nk="[data-te-date-timepicker-toggle-ref]",Bk="[data-te-timepicker-elements-wrapper]",Hk="[data-te-timepicker-clock-wrapper]",Vk=`open${Ql}`,Fk=`close${Ql}`,Wk=`datetimeChange${Ql}`,Bp="close.te.datepicker",Hp="input.te.timepicker",bs=$("div"),Vp={inline:!1,toggleButton:!0,container:"body",disabled:!1,disablePast:!1,disableFuture:!1,defaultTime:"",defaultDate:"",timepicker:{},datepicker:{},showFormat:!1,dateTimepickerToggleIconTemplate:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M6.75 2.25A.75.75 0 017.5 3v1.5h9V3A.75.75 0 0118 3v1.5h.75a3 3 0 013 3v11.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V7.5a3 3 0 013-3H6V3a.75.75 0 01.75-.75zm13.5 9a1.5 1.5 0 00-1.5-1.5H5.25a1.5 1.5 0 00-1.5 1.5v7.5a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5v-7.5z" clip-rule="evenodd" />
|
||||
</svg>`,datepickerToggleIconTemplate:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M6.75 2.25A.75.75 0 017.5 3v1.5h9V3A.75.75 0 0118 3v1.5h.75a3 3 0 013 3v11.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V7.5a3 3 0 013-3H6V3a.75.75 0 01.75-.75zm13.5 9a1.5 1.5 0 00-1.5-1.5H5.25a1.5 1.5 0 00-1.5 1.5v7.5a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5v-7.5z" clip-rule="evenodd" />
|
||||
</svg>`,timepickerToggleIconTemplate:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>`},zk={inline:"boolean",toggleButton:"boolean",container:"string",disabled:"boolean",disablePast:"boolean",disableFuture:"boolean",defaultTime:"(string|date|number)",defaultDate:"(string|date|number)",timepicker:"object",datepicker:"object",showFormat:"boolean",dateTimepickerToggleIconTemplate:"string",datepickerToggleIconTemplate:"string",timepickerToggleIconTemplate:"string"},jk={toggleButton:"flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200",pickerIcon:"[&>svg]:w-6 [&>svg]:h-6 [&>svg]:mx-auto [&>svg]:pointer-events-none w-1/2 px-1.5 py-[1px] rounded-[10px] min-h-[40px] cursor-pointer outline-none border-none text-white hover:bg-primary-600 dark:hover:bg-neutral-600",buttonsContainer:"flex justify-evenly items-end bg-primary dark:bg-zinc-800 dark:data-[te-buttons-timepicker]:bg-zinc-700",timepicker:{},datepicker:{}},Yk={toggleButton:"string",pickerIcon:"string",buttonsContainer:"string",timepicker:"object",datepicker:"object"};class Ar{constructor(t,e,i){this._element=t,this._input=m.findOne("input",this._element),this._options=this._getConfig(e),this._classes=this._getClasses(i),this._timepicker=null,this._datepicker=null,this._dateValue=this._options.defaultDate?this._options.defaultDate:"",this._timeValue=this._options.defaultTime?this._options.defaultTime:"",this._isInvalidTimeFormat=!1,this._format=this._options.datepicker.format?this._options.datepicker.format:"dd/mm/yyyy",this._cancel=!1,this._scrollBar=new Xi,this._element&&D.setData(t,yn,this),this._init()}static get NAME(){return Cr}get toggleButton(){return m.findOne($k,this._element)}get notch(){return m.findOne(Rk,this._element)}dispose(){_.off(this._element,"click",this._openDatePicker),_.off(this._input,"input",this._handleInput),_.off(this._element,"click"),D.removeData(this._element,yn),this._removeTimePicker(),this._removeDatepicker(),this.toggleButton.remove(),this._options=Vp,this._timepicker=null,this._datepicker=null,this._dateValue=null,this._timeValue=null,this._isInvalidTimeFormat=null}update(t={}){const e=this._getConfig({...this._options,...t});this.dispose(),this._options=e,this._init()}_init(){this._addDatepicker(),this._addTimePicker(),this._appendToggleButton(),this._listenToToggleClick(),this._listenToUserInput(),this._disableInput(),this._setInitialDefaultInput(),this._applyFormatPlaceholder(),this._options.disablePast&&this._handleTimepickerDisablePast(),this._options.disableFuture&&this._handleTimepickerDisableFuture()}_removeDatepicker(){const t=this._element.querySelector(Lk);t&&t.remove()}_addDatepicker(){const t=$("div");t.id=this._element.id?`datepicker-${this._element.id}`:Et("datepicker-");const e='<input type="text">';t.innerHTML=e,t.setAttribute($p,""),this._element.appendChild(t),g.addClass(t,"hidden");let i={...this._options.datepicker,container:this._options.container,disablePast:this._options.disablePast,disableFuture:this._options.disableFuture};(this._options.inline||this._options.datepicker.inline)&&(i={...i,inline:!0}),this._datepicker=new dl(t,i,{...this._classes.datepicker}),this._datepicker._input.value=this._dateValue}_removeTimePicker(){const t=this._element.querySelector(Mk);t&&(t.remove(),this._scrollBar.reset())}_addTimePicker(){const t=$("div");t.id=this._element.id?`timepicker-${this._element.id}`:Et("timepicker-");const e='<input type="text">';t.innerHTML=e,t.setAttribute(Pp,""),this._element.appendChild(t),g.addClass(t,"hidden");let i={...this._options.timepicker,container:this._options.container};(this._options.inline||this._options.timepicker.inline)&&(i={timepickerOptions:i,inline:!0}),this._timepicker=new Tl(t,i,{...this._classes.timepicker}),this._timepicker.input.value=this._timeValue}_addIconButtons(){if(g.addClass(bs,this._classes.buttonsContainer),bs.innerHTML=Ek(this._options.datepickerToggleIconTemplate,this._options.timepickerToggleIconTemplate,this._classes),bs.removeAttribute(Np),!(this._options.inline||this._options.datepicker.inline)){if(this._scrollBar.hide(),this._datepicker._isOpen)m.findOne(`[${Ck}]`,document.body).appendChild(bs);else if(this._timepicker._modal&&!this._options.timepicker.inline){const t=m.findOne(Bk,document.body),e=m.findOne(Hk,document.body);bs.setAttribute(Np,""),t.insertBefore(bs,e)}}}_enableOrDisableToggleButton(){this._options.disabled?(this.toggleButton.disabled=!0,g.addClass(this.toggleButton,"pointer-events-none")):(this.toggleButton.disabled=!1,g.removeClass(this.toggleButton,"pointer-events-none"))}_appendToggleButton(){this._options.toggleButton&&(this._element.insertAdjacentHTML("beforeend",xk(this._options.dateTimepickerToggleIconTemplate,this._classes)),this._enableOrDisableToggleButton())}_applyFormatPlaceholder(){this._options.showFormat&&(this._input.placeholder=this._format)}_listenToCancelClick(){cLine truncated
|
||||
* Chart.js v3.9.1
|
||||
* https://www.chartjs.org
|
||||
* (c) 2022 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
*/function Se(){}const CS=function(){let s=0;return function(){return s++}}();function H(s){return s===null||typeof s>"u"}function Q(s){if(Array.isArray&&Array.isArray(s))return!0;const t=Object.prototype.toString.call(s);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function V(s){return s!==null&&Object.prototype.toString.call(s)==="[object Object]"}const rt=s=>(typeof s=="number"||s instanceof Number)&&isFinite(+s);function Wt(s,t){return rt(s)?s:t}function B(s,t){return typeof s>"u"?t:s}const AS=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100:s/t,jp=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100*t:+s;function G(s,t,e){if(s&&typeof s.call=="function")return s.apply(e,t)}function U(s,t,e,i){let n,o,r;if(Q(s))if(o=s.length,i)for(n=o-1;n>=0;n--)t.call(e,s[n],n);else for(n=0;n<o;n++)t.call(e,s[n],n);else if(V(s))for(r=Object.keys(s),o=r.length,n=0;n<o;n++)t.call(e,s[r[n]],r[n])}function Or(s,t){let e,i,n,o;if(!s||!t||s.length!==t.length)return!1;for(e=0,i=s.length;e<i;++e)if(n=s[e],o=t[e],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function Dr(s){if(Q(s))return s.map(Dr);if(V(s)){const t=Object.create(null),e=Object.keys(s),i=e.length;let n=0;for(;n<i;++n)t[e[n]]=Dr(s[e[n]]);return t}return s}function Yp(s){return["__proto__","prototype","constructor"].indexOf(s)===-1}function wS(s,t,e,i){if(!Yp(s))return;const n=t[s],o=e[s];V(n)&&V(o)?ye(n,o,i):t[s]=Dr(o)}function ye(s,t,e){const i=Q(t)?t:[t],n=i.length;if(!V(s))return s;e=e||{};const o=e.merger||wS;for(let r=0;r<n;++r){if(t=i[r],!V(t))continue;const a=Object.keys(t);for(let l=0,c=a.length;l<c;++l)o(a[l],s,t,e)}return s}function Cn(s,t){return ye(s,t,{merger:kS})}function kS(s,t,e){if(!Yp(s))return;const i=t[s],n=e[s];V(i)&&V(n)?Cn(i,n):Object.prototype.hasOwnProperty.call(t,s)||(t[s]=Dr(n))}const Kp={"":s=>s,x:s=>s.x,y:s=>s.y};function Qe(s,t){return(Kp[t]||(Kp[t]=SS(t)))(s)}function SS(s){const t=OS(s);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function OS(s){const t=s.split("."),e=[];let i="";for(const n of t)i+=n,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function ic(s){return s.charAt(0).toUpperCase()+s.slice(1)}const zt=s=>typeof s<"u",Je=s=>typeof s=="function",Up=(s,t)=>{if(s.size!==t.size)return!1;for(const e of s)if(!t.has(e))return!1;return!0};function DS(s){return s.type==="mouseup"||s.type==="click"||s.type==="contextmenu"}const et=Math.PI,q=2*et,IS=q+et,Ir=Number.POSITIVE_INFINITY,MS=et/180,nt=et/2,An=et/4,Xp=et*2/3,jt=Math.log10,Te=Math.sign;function Gp(s){const t=Math.round(s);s=wn(s,t,s/1e3)?t:s;const e=Math.pow(10,Math.floor(jt(s))),i=s/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function LS(s){const t=[],e=Math.sqrt(s);let i;for(i=1;i<e;i++)s%i===0&&(t.push(i),t.push(s/i));return e===(e|0)&&t.push(e),t.sort((n,o)=>n-o).pop(),t}function ys(s){return!isNaN(parseFloat(s))&&isFinite(s)}function wn(s,t,e){return Math.abs(s-t)<e}function $S(s,t){const e=Math.round(s);return e-t<=s&&e+t>=s}function qp(s,t,e){let i,n,o;for(i=0,n=s.length;i<n;i++)o=s[i][e],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function ie(s){return s*(et/180)}function sc(s){return s*(180/et)}function Zp(s){if(!rt(s))return;let t=1,e=0;for(;Math.round(s*t)/t!==s;)t*=10,e++;return e}function Qp(s,t){const e=t.x-s.x,i=t.y-s.y,n=Math.sqrt(e*e+i*i);let o=Math.atan2(i,e);return o<-.5*et&&(o+=q),{angle:o,distance:n}}function nc(s,t){return Math.sqrt(Math.pow(t.x-s.x,2)+Math.pow(t.y-s.y,2))}function PS(s,t){return(s-t+IS)%q-et}function Bt(s){return(s%q+q)%q}function kn(s,t,e,i){const n=Bt(s),o=Bt(t),r=Bt(e),a=Bt(o-n),l=Bt(r-n),c=Bt(n-o),h=Bt(n-r);return n===o||n===r||i&&o===r||a>l&&c<h}function ct(s,t,e){return Math.max(t,Math.min(e,s))}function RS(s){return ct(s,-32768,32767)}function Oe(s,t,e,i=1e-6){return s>=Math.min(t,e)-i&&s<=Math.max(t,e)+i}function oc(s,t,e){e=e||(r=>s[r]<t);let i=s.length-1,n=0,o;for(;i-n>1;)o=n+i>>1,e(o)?n=o:i=o;return{lo:n,hi:i}}const De=(s,t,e,i)=>oc(s,e,i?n=>s[n][t]<=e:n=>s[n][t]<e),NS=(s,t,e)=>oc(s,e,i=>s[i][t]>=e);function BS(s,t,e){let i=0,n=s.length;for(;i<n&&s[i]<t;)i++;for(;n>i&&s[n-1]>e;)n--;return i>0||n<s.length?s.slice(i,n):s}const Jp=["push","pop","shift","splice","unshift"];function HS(s,t){if(s._chartjs){s._chartjs.listeners.push(t);return}Object.defineProperty(s,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Jp.forEach(e=>{const i="_onData"+ic(e),n=s[e];Object.defineProperty(s,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return s._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function tf(s,t){const e=s._chartjs;if(!e)return;const i=e.listeners,n=i.indexOf(t);n!==-1&&i.splice(n,1),!(i.length>0)&&(Jp.forEach(o=>{delete s[o]}),delete s._chartjs)}function ef(s){const t=new Set;let e,i;for(e=0,i=s.length;e<i;++e)t.add(s[e]);return t.size===i?s:Array.from(t)}const sf=function(){return typeof window>"u"?function(s){return s()}:window.requestAnimationFrame}();functiLine truncated
|
||||
* @kurkle/color v0.2.1
|
||||
* https://github.com/kurkle/color#readme
|
||||
* (c) 2022 Jukka Kurkela
|
||||
* Released under the MIT License
|
||||
*/function On(s){return s+.5|0}const ti=(s,t,e)=>Math.max(Math.min(s,e),t);function Dn(s){return ti(On(s*2.55),0,255)}function ei(s){return ti(On(s*255),0,255)}function Ie(s){return ti(On(s/2.55)/100,0,1)}function cf(s){return ti(On(s*100),0,100)}const Yt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},ac=[..."0123456789ABCDEF"],WS=s=>ac[s&15],zS=s=>ac[(s&240)>>4]+ac[s&15],Lr=s=>(s&240)>>4===(s&15),jS=s=>Lr(s.r)&&Lr(s.g)&&Lr(s.b)&&Lr(s.a);function YS(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&Yt[s[1]]*17,g:255&Yt[s[2]]*17,b:255&Yt[s[3]]*17,a:t===5?Yt[s[4]]*17:255}:(t===7||t===9)&&(e={r:Yt[s[1]]<<4|Yt[s[2]],g:Yt[s[3]]<<4|Yt[s[4]],b:Yt[s[5]]<<4|Yt[s[6]],a:t===9?Yt[s[7]]<<4|Yt[s[8]]:255})),e}const KS=(s,t)=>s<255?t(s):"";function US(s){var t=jS(s)?WS:zS;return s?"#"+t(s.r)+t(s.g)+t(s.b)+KS(s.a,t):void 0}const XS=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hf(s,t,e){const i=t*Math.min(e,1-e),n=(o,r=(o+s/30)%12)=>e-i*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function GS(s,t,e){const i=(n,o=(n+s/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function qS(s,t,e){const i=hf(s,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function ZS(s,t,e,i,n){return s===n?(t-e)/i+(t<e?6:0):t===n?(e-s)/i+2:(s-t)/i+4}function lc(s){const e=s.r/255,i=s.g/255,n=s.b/255,o=Math.max(e,i,n),r=Math.min(e,i,n),a=(o+r)/2;let l,c,h;return o!==r&&(h=o-r,c=a>.5?h/(2-o-r):h/(o+r),l=ZS(e,i,n,h,o),l=l*60+.5),[l|0,c||0,a]}function cc(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(ei)}function hc(s,t,e){return cc(hf,s,t,e)}function QS(s,t,e){return cc(qS,s,t,e)}function JS(s,t,e){return cc(GS,s,t,e)}function df(s){return(s%360+360)%360}function tO(s){const t=XS.exec(s);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?Dn(+t[5]):ei(+t[5]));const n=df(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=QS(n,o,r):t[1]==="hsv"?i=JS(n,o,r):i=hc(n,o,r),{r:i[0],g:i[1],b:i[2],a:e}}function eO(s,t){var e=lc(s);e[0]=df(e[0]+t),e=hc(e),s.r=e[0],s.g=e[1],s.b=e[2]}function iO(s){if(!s)return;const t=lc(s),e=t[0],i=cf(t[1]),n=cf(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Ie(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}const uf={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},pf={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function sO(){const s={},t=Object.keys(pf),e=Object.keys(uf);let i,n,o,r,a;for(i=0;i<t.length;i++){for(r=a=t[i],n=0;n<e.length;n++)o=e[n]Line truncated
|
||||
* Chart.js v3.9.1
|
||||
* https://www.chartjs.org
|
||||
* (c) 2022 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
*/class iD{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,n){const o=e.listeners[n],r=e.duration;o.forEach(a=>a({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(i-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=sf.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;const o=i.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,i,t,"progress")),o.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Ee=new iD;const Wf="transparent",sD={boolean(s,t,e){return e>.5?t:s},color(s,t,e){const i=bf(s||Wf),n=i.valid&&bf(t||Wf);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}};class zf{constructor(t,e,i,n){const o=e[i];n=tt([t.to,n,o,t.from]);const r=tt([t.from,o,n]);this._active=!0,this._fn=t.fn||sD[t.type||typeof r],this._easing=Sn[t.easing]||Sn.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const n=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=tt([t.to,e,n,t.from]),this._from=tt([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e<i),!this._active){this._target[n]=a,this._notify(!0);return}if(e<0){this._target[n]=o;return}l=e/i%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let n=0;n<i.length;n++)i[n][e]()}}const nD=["x","y","borderWidth","radius","tension"],oD=["color","borderColor","backgroundColor"];F.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const rD=Object.keys(F.animation);F.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),F.set("animations",{colors:{type:"color",properties:oD},numbers:{type:"number",properties:nD}}),F.describe("animations",{_fallback:"animation"}),F.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}});class Ec{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!V(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach(i=>{const n=t[i];if(!V(n))return;const o={};for(const r of rD)o[r]=n[r];(Q(n.properties)&&n.properties||[i]).forEach(r=>{(r===i||!e.has(r))&&e.set(r,o)})})}_animateOptions(t,e){const i=e.options,n=lD(t,i);if(!n)return[];const o=this._createAnimations(n,i);return i.$shared&&aD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,e){const i=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const u=i.get(c);if(d)if(u&&d.active()){d.update(u,h,a);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new zf(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return Ee.add(this._chart,i),!0}}function aD(s,t){const e=[],i=Object.Line truncated
|
||||
`)>-1?s.split(`
|
||||
`):s}function x1(s,t){const{element:e,datasetIndex:i,index:n}=t,o=s.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:s,label:r,parsed:o.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function tg(s,t){const e=s.chart.ctx,{body:i,footer:n,title:o}=s,{boxWidth:r,boxHeight:a}=t,l=lt(t.bodyFont),c=lt(t.titleFont),h=lt(t.footerFont),d=o.length,u=n.length,p=i.length,f=ht(t.padding);let b=f.height,v=0,y=i.reduce((E,C)=>E+C.before.length+C.lines.length+C.after.length,0);if(y+=s.beforeBody.length+s.afterBody.length,d&&(b+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),y){const E=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;b+=p*E+(y-p)*l.lineHeight+(y-1)*t.bodySpacing}u&&(b+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let T=0;const x=function(E){v=Math.max(v,e.measureText(E).width+T)};return e.save(),e.font=c.string,U(s.title,x),e.font=l.string,U(s.beforeBody.concat(s.afterBody),x),T=t.displayColors?r+2+t.boxPadding:0,U(i,E=>{U(E.before,x),U(E.lines,x),U(E.after,x)}),T=0,e.font=h.string,U(s.footer,x),e.restore(),v+=f.width,{width:v,height:b}}function C1(s,t){const{y:e,height:i}=t;return e<i/2?"top":e>s.height-i/2?"bottom":"center"}function A1(s,t,e,i){const{x:n,width:o}=i,r=e.caretSize+e.caretPadding;if(s==="left"&&n+o+r>t.width||s==="right"&&n-o-r<0)return!0}function w1(s,t,e,i){const{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=s;let c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),A1(c,s,t,e)&&(c="center"),c}function eg(s,t,e){const i=e.yAlign||t.yAlign||C1(s,e);return{xAlign:e.xAlign||t.xAlign||w1(s,t,e,i),yAlign:i}}function k1(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function S1(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function ig(s,t,e,i){const{caretSize:n,caretPadding:o,cornerRadius:r}=s,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:p}=Di(r);let f=k1(t,a);const b=S1(t,l,c);return l==="center"?a==="left"?f+=c:a==="right"&&(f-=c):a==="left"?f-=Math.max(h,u)+n:a==="right"&&(f+=Math.max(d,p)+n),{x:ct(f,0,i.width-t.width),y:ct(b,0,i.height-t.height)}}function Qr(s,t,e){const i=ht(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function sg(s){return xe([],Le(s))}function O1(s,t,e){return ii(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function ng(s,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}class Wc extends Ut{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,o=new Ec(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=O1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,n=i.beforeTitle.apply(this,[t]),o=i.title.apply(this,[t]),r=i.afterTitle.apply(this,[t]);let a=[];return a=xe(a,Le(n)),a=xe(a,Le(o)),a=xe(a,Le(r)),a}getBeforeBody(t,e){return sg(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,n=[];return U(t,o=>{const r={before:[],lines:[],after:[]},a=ng(i,o);xe(r.before,Le(a.beforeLabel.call(this,o))),xe(r.lines,a.label.call(this,o)),xe(r.after,Le(a.afterLabel.call(this,o))),n.push(r)}),n}getAfterBody(t,e){return sg(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,n=i.beforeFooter.apply(this,[t]),o=i.footer.apply(this,[t]),r=i.afterFooter.apply(this,[t]);let a=[];return a=xe(a,Le(n)),a=xe(a,Le(o)),a=xe(a,Le(r)),a}_createItems(t){const e=this._active,i=this.chart.data,n=[],o=[],r=[];let a=[],l,c;for(l=0,c=e.length;l<c;++l)a.push(x1(this.chart,e[l]));return t.filter&&(a=a.filter((h,d,u)=>t.filter(h,d,u,i))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,i))),U(a,h=>{const d=ng(t.callbacks,h);n.push(d.labelColor.call(this,h)),o.push(d.labelPointStyle.call(this,h)),r.push(d.labelTextColor.call(this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){const i=this.options.setContext(this.getContext()),n=this._active;let o,r=[]
Line truncated
|
||||
* chartjs-plugin-datalabels v2.2.0
|
||||
* https://chartjs-plugin-datalabels.netlify.app
|
||||
* (c) 2017-2022 chartjs-plugin-datalabels contributors
|
||||
* Released under the MIT license
|
||||
*/var gg=function(){if(typeof window<"u"){if(window.devicePixelRatio)return window.devicePixelRatio;var s=window.screen;if(s)return(s.deviceXDPI||1)/(s.logicalXDPI||1)}return 1}(),Qn={toTextLines:function(s){var t=[],e;for(s=[].concat(s);s.length;)e=s.pop(),typeof e=="string"?t.unshift.apply(t,e.split(`
|
||||
`)):Array.isArray(e)?s.push.apply(s,e):H(s)||t.unshift(""+e);return t},textSize:function(s,t,e){var i=[].concat(t),n=i.length,o=s.font,r=0,a;for(s.font=e.string,a=0;a<n;++a)r=Math.max(s.measureText(i[a]).width,r);return s.font=o,{height:n*e.lineHeight,width:r}},bound:function(s,t,e){return Math.max(s,Math.min(t,e))},arrayDiff:function(s,t){var e=s.slice(),i=[],n,o,r,a;for(n=0,r=t.length;n<r;++n)a=t[n],o=e.indexOf(a),o===-1?i.push([a,1]):e.splice(o,1);for(n=0,r=e.length;n<r;++n)i.push([e[n],-1]);return i},rasterize:function(s){return Math.round(s*gg)/gg}};function jc(s,t){var e=t.x,i=t.y;if(e===null)return{x:0,y:-1};if(i===null)return{x:1,y:0};var n=s.x-e,o=s.y-i,r=Math.sqrt(n*n+o*o);return{x:r?n/r:0,y:r?o/r:-1}}function q1(s,t,e,i,n){switch(n){case"center":e=i=0;break;case"bottom":e=0,i=1;break;case"right":e=1,i=0;break;case"left":e=-1,i=0;break;case"top":e=0,i=-1;break;case"start":e=-e,i=-i;break;case"end":break;default:n*=Math.PI/180,e=Math.cos(n),i=Math.sin(n);break}return{x:s,y:t,vx:e,vy:i}}var Z1=0,mg=1,bg=2,vg=4,yg=8;function oa(s,t,e){var i=Z1;return s<e.left?i|=mg:s>e.right&&(i|=bg),t<e.top?i|=yg:t>e.bottom&&(i|=vg),i}function Q1(s,t){for(var e=s.x0,i=s.y0,n=s.x1,o=s.y1,r=oa(e,i,t),a=oa(n,o,t),l,c,h;!(!(r|a)||r&a);)l=r||a,l&yg?(c=e+(n-e)*(t.top-i)/(o-i),h=t.top):l&vg?(c=e+(n-e)*(t.bottom-i)/(o-i),h=t.bottom):l&bg?(h=i+(o-i)*(t.right-e)/(n-e),c=t.right):l&mg&&(h=i+(o-i)*(t.left-e)/(n-e),c=t.left),l===r?(e=c,i=h,r=oa(e,i,t)):(n=c,o=h,a=oa(n,o,t));return{x0:e,x1:n,y0:i,y1:o}}function ra(s,t){var e=t.anchor,i=s,n,o;return t.clamp&&(i=Q1(i,t.area)),e==="start"?(n=i.x0,o=i.y0):e==="end"?(n=i.x1,o=i.y1):(n=(i.x0+i.x1)/2,o=(i.y0+i.y1)/2),q1(n,o,s.vx,s.vy,t.align)}var aa={arc:function(s,t){var e=(s.startAngle+s.endAngle)/2,i=Math.cos(e),n=Math.sin(e),o=s.innerRadius,r=s.outerRadius;return ra({x0:s.x+i*o,y0:s.y+n*o,x1:s.x+i*r,y1:s.y+n*r,vx:i,vy:n},t)},point:function(s,t){var e=jc(s,t.origin),i=e.x*s.options.radius,n=e.y*s.options.radius;return ra({x0:s.x-i,y0:s.y-n,x1:s.x+i,y1:s.y+n,vx:e.x,vy:e.y},t)},bar:function(s,t){var e=jc(s,t.origin),i=s.x,n=s.y,o=0,r=0;return s.horizontal?(i=Math.min(s.x,s.base),o=Math.abs(s.base-s.x)):(n=Math.min(s.y,s.base),r=Math.abs(s.base-s.y)),ra({x0:i,y0:n+r,x1:i+o,y1:n,vx:e.x,vy:e.y},t)},fallback:function(s,t){var e=jc(s,t.origin);return ra({x0:s.x,y0:s.y,x1:s.x+(s.width||0),y1:s.y+(s.height||0),vx:e.x,vy:e.y},t)}},$e=Qn.rasterize;function J1(s){var t=s.borderWidth||0,e=s.padding,i=s.size.height,n=s.size.width,o=-n/2,r=-i/2;return{frame:{x:o-e.left-t,y:r-e.top-t,w:n+e.width+t*2,h:i+e.height+t*2},text:{x:o,y:r,w:n,h:i}}}function tM(s,t){var e=t.chart.getDatasetMeta(t.datasetIndex).vScale;if(!e)return null;if(e.xCenter!==void 0&&e.yCenter!==void 0)return{x:e.xCenter,y:e.yCenter};var i=e.getBasePixel();return s.horizontal?{x:i,y:null}:{x:null,y:i}}function eM(s){return s instanceof ws?aa.arc:s instanceof ks?aa.point:s instanceof Ss?aa.bar:aa.fallback}function iM(s,t,e,i,n,o){var r=Math.PI/2;if(o){var a=Math.min(o,n/2,i/2),l=t+a,c=e+a,h=t+i-a,d=e+n-a;s.moveTo(t,c),l<h&&c<d?(s.arc(l,c,a,-Math.PI,-r),s.arc(h,c,a,-r,0),s.arc(h,d,a,0,r),s.arc(l,d,a,r,Math.PI)):l<h?(s.moveTo(l,e),s.arc(h,c,a,-r,r),s.arc(l,c,a,r,Math.PI+r)):c<d?(s.arc(l,c,a,-Math.PI,0),s.arc(l,d,a,0,Math.PI)):s.arc(l,c,a,-Math.PI,Math.PI),s.closePath(),s.moveTo(t,e)}else s.rect(t,e,i,n)}function sM(s,t,e){var i=e.backgroundColor,n=e.borderColor,o=e.borderWidth;!i&&(!n||!o)||(s.beginPath(),iM(s,$e(t.x)+o/2,$e(t.y)+o/2,$e(t.w)-o,$e(t.h)-o,e.borderRadius),s.closePath(),i&&(s.fillStyle=i,s.fill()),n&&o&&(s.strokeStyle=n,s.lineWidth=o,s.lineJoin="miter",s.stroke()))}function nM(s,t,e){var i=e.lineHeight,n=s.w,o=s.x,r=s.y+i/2;return t==="center"?o+=n/2:(t==="end"||t==="right")&&(o+=n),{h:i,w:n,x:o,y:r}}function oM(s,t,e){var i=s.shadowBlur,n=e.stroked,o=$e(e.x),r=$e(e.y),a=$e(e.w);n&&s.strokeText(t,o,r,a),e.filled&&(i&&n&&(s.shadowBlur=0),s.fillText(t,o,r,a),i&&n&&(s.shadowBlur=i))}function rM(s,t,e,i){var n=i.textAlign,o=i.color,r=!!o,a=i.font,l=t.length,c=i.textStrokeColor,h=i.textStrokeWidth,d=c&&h,u;if(!(!l||!r&&!d))for(e=nM(e,n,a),s.font=a.string,s.textAlign=n,s.textBaseline="middle",s.shadowBlur=i.textShadowBlur,s.shadowColor=i.textShadowColor,r&&(s.fillStyle=o),d&&(s.lineJoin="round",s.lineWidth=h,s.strokeStyle=c),u=0,l=t.length;u<l;++u)oM(s,t[u],{stroked:d,filled:r,w:e.w,x:e.x,y:e.y+e.h*u})}var Tg=function(s,t,e,i){var n=this;n._config=s,n._index=i,n._model=null,n._rects=null,n._ctx=t,n._el=e};ye(Tg.prototype,{_modelize:function(s,t,e,i){var n=this,o=n._index,r=lt(tt([e.font,{}],i,o)),a=tt([e.color,F.color],i,o);return{align:tt([e.align,"center"],i,o),anchor:tt([e.anchor,"center"],i,o),area:i.chart.chartArea,backgroundColor:tt([e.backgroundColor,null],i,o),borderColor:tt([e.borderColor,null],i,o),borderRadius:tt([e.borderRadius,0],i,o),borderWidth:tt([e.borderWidth,0],i,o),clamp:tt([e.clamp,!1],i,o),clip:tt([e.clip,!1],i,o),color:a,display:s,font:r,lines:t,offset:tt([e.offset,4],i,o),opacity:tt([e.opacity,1],i,o),orig
Line truncated
|
||||
//# sourceMappingURL=tw-elements.umd.min.js.map
|
||||
@@ -1,5 +1,5 @@
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.87.0 "
|
||||
max = "0.111.3"
|
||||
min = "0.87.0"
|
||||
max = "0.119.0"
|
||||
@@ -33,3 +33,33 @@ buildFuture = false
|
||||
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "JSON"]
|
||||
|
||||
[related]
|
||||
threshold = 0
|
||||
toLower = false
|
||||
|
||||
[[related.indices]]
|
||||
name = "tags"
|
||||
weight = 100
|
||||
|
||||
[[related.indices]]
|
||||
name = "categories"
|
||||
weight = 100
|
||||
|
||||
[[related.indices]]
|
||||
name = "series"
|
||||
weight = 50
|
||||
|
||||
[[related.indices]]
|
||||
name = "authors"
|
||||
weight = 20
|
||||
|
||||
[[related.indices]]
|
||||
name = "date"
|
||||
weight = 10
|
||||
|
||||
[[related.indices]]
|
||||
applyFilter = false
|
||||
name = 'fragmentrefs'
|
||||
type = 'fragments'
|
||||
weight = 10
|
||||
@@ -1,16 +1,17 @@
|
||||
languageCode = "en"
|
||||
languageName = "English"
|
||||
displayName = "EN"
|
||||
isoCode = "en"
|
||||
weight = 1
|
||||
rtl = false
|
||||
|
||||
title = "Blowfish"
|
||||
# logo = "img/logo.png"
|
||||
# description = "My awesome website"
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
[params]
|
||||
displayName = "EN"
|
||||
isoCode = "en"
|
||||
rtl = false
|
||||
dateFormat = "2 January 2006"
|
||||
# logo = "img/logo.png"
|
||||
# secondaryLogo = "img/secondary-logo.png"
|
||||
# description = "My awesome website"
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
# [author]
|
||||
# name = "Your name here"
|
||||
|
||||
@@ -9,15 +9,16 @@ colorScheme = "blowfish"
|
||||
defaultAppearance = "light" # valid options: light or dark
|
||||
autoSwitchAppearance = true
|
||||
|
||||
enableSearch = false
|
||||
enableSearch = true
|
||||
enableCodeCopy = false
|
||||
|
||||
# mainSections = ["section1", "section2"]
|
||||
# robots = ""
|
||||
|
||||
disableImageOptimization = false
|
||||
disableImageOptimization = true
|
||||
|
||||
# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
|
||||
# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles
|
||||
|
||||
# highlightCurrentMenuArea = true
|
||||
# smartTOC = true
|
||||
@@ -30,7 +31,7 @@ disableImageOptimization = false
|
||||
showMenu = true
|
||||
showCopyright = true
|
||||
showThemeAttribution = true
|
||||
showAppearanceSwitcher = false
|
||||
showAppearanceSwitcher = true
|
||||
showScrollToTop = true
|
||||
|
||||
[homepage]
|
||||
@@ -65,11 +66,12 @@ disableImageOptimization = false
|
||||
invertPagination = false
|
||||
showReadingTime = true
|
||||
showTableOfContents = false
|
||||
# showRelatedContent = false
|
||||
# relatedContentLimit = 3
|
||||
showTaxonomies = false
|
||||
showAuthorsBadges = false
|
||||
showWordCount = true
|
||||
showSummary = true
|
||||
# sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email"]
|
||||
# sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"]
|
||||
|
||||
[list]
|
||||
showHero = false
|
||||
|
||||
@@ -28,5 +28,15 @@
|
||||
"icon": "twitter",
|
||||
"title": "sharing.twitter",
|
||||
"url": "https://twitter.com/intent/tweet/?url=%s&text=%s"
|
||||
},
|
||||
"whatsapp": {
|
||||
"icon": "whatsapp",
|
||||
"title": "sharing.whatsapp",
|
||||
"url": "https://api.whatsapp.com/send?text=%s&resubmit=true&title=%s"
|
||||
},
|
||||
"telegram": {
|
||||
"icon": "telegram",
|
||||
"title": "sharing.telegram",
|
||||
"url": "https://t.me/share/url?url=%s&resubmit=true&title=%s"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 4.9 MiB |
@@ -35,8 +35,8 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
});
|
||||
|
||||
var list_config = [
|
||||
"CardViewScreenWidth",
|
||||
"CardViewProse",
|
||||
"CardViewScreenWidth",
|
||||
"NormalView"
|
||||
]
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ defaultContentLanguage = "en"
|
||||
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
|
||||
|
||||
enableRobotsTXT = true
|
||||
paginate = 20
|
||||
paginate = 100
|
||||
summaryLength = 30
|
||||
|
||||
buildDrafts = false
|
||||
@@ -33,3 +33,33 @@ googleAnalytics = "G-PEDMYR1V0K"
|
||||
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "JSON"]
|
||||
|
||||
[related]
|
||||
threshold = 0
|
||||
toLower = false
|
||||
|
||||
[[related.indices]]
|
||||
name = "tags"
|
||||
weight = 100
|
||||
|
||||
[[related.indices]]
|
||||
name = "categories"
|
||||
weight = 100
|
||||
|
||||
[[related.indices]]
|
||||
name = "series"
|
||||
weight = 50
|
||||
|
||||
[[related.indices]]
|
||||
name = "authors"
|
||||
weight = 20
|
||||
|
||||
[[related.indices]]
|
||||
name = "date"
|
||||
weight = 10
|
||||
|
||||
[[related.indices]]
|
||||
applyFilter = false
|
||||
name = 'fragmentrefs'
|
||||
type = 'fragments'
|
||||
weight = 10
|
||||
@@ -1,16 +1,17 @@
|
||||
languageCode = "en"
|
||||
languageName = "English"
|
||||
displayName = "EN"
|
||||
isoCode = "en"
|
||||
weight = 1
|
||||
rtl = false
|
||||
|
||||
title = "Blowfish"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
dateFormat = "2 January 2006"
|
||||
[params]
|
||||
displayName = "EN"
|
||||
isoCode = "en"
|
||||
rtl = false
|
||||
dateFormat = "2 January 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
# secondaryLogo = "PATH"
|
||||
description = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
[author]
|
||||
name = "Blowfish"
|
||||
@@ -22,3 +23,5 @@ dateFormat = "2 January 2006"
|
||||
{ mastodon = "https://masto.ai/@blowfish" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
|
||||
|
||||
@@ -16,19 +16,17 @@
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Examples"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Recipes"
|
||||
parent = "Examples"
|
||||
pageRef = "guides"
|
||||
weight = 10
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Samples"
|
||||
parent = "Examples"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Examples"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
@@ -38,14 +36,20 @@
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Users"
|
||||
pageRef = "users"
|
||||
name = "Recipes"
|
||||
parent = "Examples"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "http://tee.pub/lic/qwSlWVBL5zc"
|
||||
weight = 50
|
||||
name = "Users"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
#[[main]]
|
||||
# name = "Merch"
|
||||
# url = "http://tee.pub/lic/qwSlWVBL5zc"
|
||||
# weight = 100
|
||||
|
||||
#[[main]]
|
||||
# name = "Test"
|
||||
@@ -56,19 +60,19 @@
|
||||
identifier = "twitter"
|
||||
pre = "twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 60
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "mastodon"
|
||||
pre = "mastodon"
|
||||
url = "https://masto.ai/@blowfish"
|
||||
weight = 70
|
||||
weight = 300
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 80
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Footer Menu --
|
||||
@@ -83,4 +87,4 @@
|
||||
[[footer]]
|
||||
name = "Authors"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
weight = 20
|
||||
@@ -17,11 +17,12 @@ mainSections = ["docs"]
|
||||
|
||||
disableImageOptimization = false
|
||||
|
||||
defaultBackgroundImage = "/img/bg.jpg"
|
||||
defaultBackgroundImage = "/img/ocean.jpg"
|
||||
defaultFeaturedImage = "/img/ocean.jpg"
|
||||
|
||||
highlightCurrentMenuArea = true
|
||||
smartTOC = true
|
||||
smartTOCHideUnfocusedChildren = true
|
||||
smartTOCHideUnfocusedChildren = false
|
||||
|
||||
[header]
|
||||
layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-fill-blur
|
||||
@@ -37,7 +38,7 @@ smartTOCHideUnfocusedChildren = true
|
||||
layout = "custom" # valid options: page, profile, hero, card, background, custom
|
||||
# homepageImage = "/img/iceland.jpg" # used in: hero, and card
|
||||
showRecent = false
|
||||
showRecentItems = 10
|
||||
showRecentItems = 12
|
||||
showMoreLink = true
|
||||
showMoreLinkDest = "docs"
|
||||
cardView = false
|
||||
@@ -64,11 +65,12 @@ smartTOCHideUnfocusedChildren = true
|
||||
invertPagination = false
|
||||
showReadingTime = true
|
||||
showTableOfContents = true
|
||||
showRelatedContent = true
|
||||
relatedContentLimit = 6
|
||||
showTaxonomies = true
|
||||
showAuthorsBadges = true
|
||||
showWordCount = false
|
||||
showSummary = true
|
||||
sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email"]
|
||||
sharingLinks = [ "linkedin", "twitter", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email"]
|
||||
|
||||
[list]
|
||||
showHero = true
|
||||
@@ -110,7 +112,6 @@ smartTOCHideUnfocusedChildren = true
|
||||
cardView = true
|
||||
cardViewScreenWidth = false
|
||||
|
||||
|
||||
[firebase]
|
||||
apiKey = "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY"
|
||||
authDomain = "blowfish-21fff.firebaseapp.com"
|
||||
|
||||
@@ -57,6 +57,8 @@ The theme currently supports the following languages by default:
|
||||
|
||||
| Language | Code |
|
||||
| ------------------------------ | ------- |
|
||||
| 🇦🇪 Arabic | `ar` |
|
||||
| 🇧🇬 Bulgarian | `bg` |
|
||||
| 🇧🇩 Bengali | `bn` |
|
||||
| 🇨🇿 Czech | `cs` |
|
||||
| 🇩🇪 German | `de` |
|
||||
@@ -70,6 +72,7 @@ The theme currently supports the following languages by default:
|
||||
| 🇮🇩 Indonesian | `id` |
|
||||
| 🇮🇹 Italian | `it` |
|
||||
| 🇯🇵 Japanese | `ja` |
|
||||
| 🇰🇷 Korean | `ko` |
|
||||
| 🇵🇱 Polish | `pl` |
|
||||
| 🇧🇷 Portuguese (Brazil) | `pt-br` |
|
||||
| 🇵🇹 Portuguese (Portugal) | `pt-pt` |
|
||||
@@ -94,24 +97,43 @@ The default file can be used as a template to create additional languages, or re
|
||||
**Note:** Ensure the `defaultContentLanguage` parameter in the [site configuration](#site-configuration) matches the language code in your language config filename.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
#### Global
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Default | Description |
|
||||
| ----------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `languageCode` | `"en"` | The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `isoCode` parameter which is case-sensitive. |
|
||||
| `languageName` | `"English"` | The name of the language. |
|
||||
| `displayName` | `"EN"` | The name used when the language appears on the website. |
|
||||
| `isoCode` | `"en"` | The ISO language code for HTML metadata purposes. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`). |
|
||||
| `weight` | `1` | The weight determines the order of languages when building multilingual sites. |
|
||||
| `rtl` | `false` | Whether or not this is a RTL language. Set to `true` to reflow content from right-to-left. Blowfish fully supports using RTL and LTR languages at the same time and will dynamically adjust to both. |
|
||||
| `dateFormat` | `"2 January 2006"` | How dates are formatted in this language. Refer to the [Hugo docs](https://gohugo.io/functions/format/#gos-layout-string) for acceptable formats. |
|
||||
| `title` | `"Blowfish"` | The title of the website. This will be displayed in the site header and footer. |
|
||||
| `description` | _Not set_ | The website description. This will be used in the site metadata. |
|
||||
| `copyright` | _Not set_ | A Markdown string for the site footer copyright message can include the placeholder { year } to dynamically insert the current year. If none is provided, Blowfish will automatically generate a copyright string using the site `title`. |
|
||||
| `author.name` | _Not set_ | The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used. |
|
||||
| `author.image` | _Not set_ | Path to the image file of the author. The image should be a 1:1 aspect ratio and placed in the site's `assets/` folder. |
|
||||
| `author.headline` | _Not set_ | A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name. |
|
||||
| `author.bio` | _Not set_ | A Markdown string containing the author's bio. It will be displayed in article footers. |
|
||||
| `author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. |
|
||||
| Name | Default | Description |
|
||||
| -------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `languageCode` | `"en"` | The Hugo language code for this file. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-au`) and should match the language code in the filename. Hugo expects this value to always be in lowercase. For proper HTML compliance, set the `isoCode` parameter which is case-sensitive. |
|
||||
| `languageName` | `"English"` | The name of the language. |
|
||||
| `weight` | `1` | The weight determines the order of languages when building multilingual sites. |
|
||||
| `title` | `"Blowfish"` | The title of the website. This will be displayed in the site header and footer. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### Params
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Default | Description |
|
||||
| ---------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `params.displayName` | `"EN"` | The name used when the language appears on the website. |
|
||||
| `params.isoCode` | `"en"` | The ISO language code for HTML metadata purposes. It can be a top-level language (ie. `en`) or a sub-variant (ie. `en-AU`). |
|
||||
| `params.rtl` | `false` | Whether or not this is a RTL language. Set to `true` to reflow content from right-to-left. Blowfish fully supports using RTL and LTR languages at the same time and will dynamically adjust to both. |
|
||||
| `params.dateFormat` | `"2 January 2006"` | How dates are formatted in this language. Refer to the [Hugo docs](https://gohugo.io/functions/format/#gos-layout-string) for acceptable formats. |
|
||||
| `params.logo` | _Not set_ | The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. |
|
||||
| `params.secondaryLogo` | _Not set_ | The relative path to the secondary site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. This should have an inverted/contrasting colour scheme to `logo`. If set, this logo will be shown when users toggle from the `defaultAppearance` mode. |
|
||||
| `params.description` | _Not set_ | The website description. This will be used in the site metadata. |
|
||||
| `params.copyright` | _Not set_ | A Markdown string for the site footer copyright message can include the placeholder { year } to dynamically insert the current year. If none is provided, Blowfish will automatically generate a copyright string using the site `title`. |
|
||||
|
||||
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### Author
|
||||
| Name | Default | Description |
|
||||
| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `author.name` | _Not set_ | The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used. |
|
||||
| `author.image` | _Not set_ | Path to the image file of the author. The image should be a 1:1 aspect ratio and placed in the site's `assets/` folder. |
|
||||
| `author.headline` | _Not set_ | A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name. |
|
||||
| `author.bio` | _Not set_ | A Markdown string containing the author's bio. It will be displayed in article footers. |
|
||||
| `author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### Menus
|
||||
@@ -139,7 +161,6 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. |
|
||||
| `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly. |
|
||||
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
|
||||
| `logo` | _Not set_ | The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. |
|
||||
| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
|
||||
| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
@@ -147,14 +168,15 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
|
||||
| `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site. |
|
||||
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||
| `defaultBackgrouclearndImage` | _Not set_ | Marks menu entries in the main manu when selected |
|
||||
| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overriden by a local `featured` image. |
|
||||
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main manu when selected |
|
||||
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
|
||||
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
|
||||
|
||||
### Header
|
||||
|
||||
| Name | Default | Description |
|
||||
| --------------- | --------- | --------------------------------------------------------------------------------- |
|
||||
| Name | Default | Description |
|
||||
| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. |
|
||||
### Footer
|
||||
|
||||
@@ -180,34 +202,35 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll |
|
||||
### Article
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `article.showDate` | `true` | Whether or not article dates are displayed. |
|
||||
| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
|
||||
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
||||
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
||||
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
||||
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
||||
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
||||
| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
|
||||
| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
|
||||
| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
|
||||
| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
|
||||
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
|
||||
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
|
||||
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| `article.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. |
|
||||
| Name | Default | Description |
|
||||
| ------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `article.showDate` | `true` | Whether or not article dates are displayed. |
|
||||
| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
|
||||
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
||||
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
||||
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
||||
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
||||
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
||||
| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
|
||||
| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
|
||||
| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
|
||||
| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
|
||||
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
|
||||
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
|
||||
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `config.toml`. Please check the theme `config.toml` if you want to enable this feature and copy all the relevant *related* entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
|
||||
| `article.relatedContentLimit` | `3` | Limit of related articles to display if ` showRelatedContent` is turned on. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", and "telegram" |
|
||||
|
||||
### List
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ Both menus are completely optional and can be commented out if not required. Use
|
||||
|
||||
### Nested menus
|
||||
|
||||
The theme also supports nested menus. In order to use them you just need to define a parent entry in `menu.toml` and its sub-menus using the `parent` parameter to reference the parent. All properties can be used for sub-menus. Note that `pageRef` and `url` will be ignored for the parent entry. Nested menus is only available in the main menu not for the footer.
|
||||
The theme also supports nested menus. In order to use them you just need to define a parent entry in `menu.toml` and its sub-menus using the `parent` parameter to reference the parent. All properties can be used for sub-menus. `pageRef` and `url` can also be used in the parent entry. Nested menus are only available in the main menu not for the footer.
|
||||
|
||||
```toml
|
||||
# config/_default/menus.toml
|
||||
@@ -228,7 +228,8 @@ The theme also supports nested menus. In order to use them you just need to defi
|
||||
|
||||
### Sub-Navigation menu
|
||||
|
||||
Additionally, you can also configure a sub-navigation menu. Just define new menu entries as `subnavigation` in `menu.toml`. This will render a second line with caregories below the main header menu.
|
||||
Additionally, you can also configure a sub-navigation menu. Just define new menu entries as `subnavigation` in `menus.toml`.
|
||||
This will render a second line with sub-categories below the main header menu.
|
||||
|
||||
```toml
|
||||
# config/_default/menus.toml
|
||||
@@ -244,7 +245,7 @@ Additionally, you can also configure a sub-navigation menu. Just define new menu
|
||||
weight = 20
|
||||
```
|
||||
|
||||
|
||||
The default `name` is the `pageRef` title cased.
|
||||
|
||||
## Thumbnails & Backgrounds
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ date: 2020-08-07
|
||||
draft: false
|
||||
description: "Learn how to deploy a Blowfish site."
|
||||
slug: "hosting-deployment"
|
||||
tags: ["hosting", "deployment", "docs", "github", "netlify", "render"]
|
||||
tags: ["docs", "hosting", "deployment", "github", "netlify", "render"]
|
||||
series: ["Documentation"]
|
||||
series_order: 14
|
||||
---
|
||||
|
||||
@@ -204,6 +204,7 @@ The `figure` shortcode accepts six parameters:
|
||||
| `caption` | Markdown for the image caption, which will be displayed below the image. |
|
||||
| `class` | Additional CSS classes to apply to the image. |
|
||||
| `href` | URL that the image should be linked to. |
|
||||
| `nozoom` | `nozoom=true` disables the image "zoom" functionality. This is most useful in combination with a `href` link. |
|
||||
| `default` | Special parameter to revert to default Hugo `figure` behaviour. Simply provide `default=true` and then use normal [Hugo shortcode syntax](https://gohugo.io/content-management/shortcodes/#figure). |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
@@ -296,7 +297,7 @@ In order to add images to the gallery, use `img` tags for each image and add `cl
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Parameter | Description |
|
||||
| --------- | ----------------------------------------------------- |
|
||||
|-----------|-------------------------------------------------------|
|
||||
| `repo` | [String] github repo in the format of `username/repo` |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
@@ -310,6 +311,30 @@ In order to add images to the gallery, use `img` tags for each image and add `cl
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## GitLab Card
|
||||
|
||||
`gitlab` allows you to quickly link a GitLab Project (GitLab's jargon for repo).
|
||||
It displays realtime stats about it, such as the number of stars and forks it has.
|
||||
Unlike `github` it can't display the main programming language of a project.
|
||||
Finaly custom GitLab instace URL can be provided, as long as the `api/v4/projects/` endpoint is available, making this shortcode compatible with most self-hosted / entreprise deployments.
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Parameter | Description |
|
||||
|-------------|------------------------------------------------------------------------|
|
||||
| `projectID` | [String] gitlab numeric ProjectID |
|
||||
| `baseURL` | [String] optional gitlab instace URL, default is `https://gitlab.com/` |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
**Example 1:**
|
||||
|
||||
```md
|
||||
{{</* gitlab projectID="278964" */>}}
|
||||
```
|
||||
|
||||
{{< gitlab projectID="278964" >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Icon
|
||||
|
||||
`icon` outputs an SVG icon and takes the icon name as its only parameter. The icon is scaled to match the current text size.
|
||||
@@ -406,6 +431,30 @@ The `where` and `value` values are used in the following query `where .Site.Regu
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## LTR/RTL
|
||||
|
||||
`ltr` and `rtl` allows you to mix your contents. Many RTL language users want to include parts of the content in LTR. Using this shortcode will let you do so, and by leveraging `%` as the outer-most dilemeter in the shortcode [Hugo shortcodes](https://gohugo.io/content-management/shortcodes/#shortcodes-with-markdown), any markdown inside will be rendered normally.
|
||||
|
||||
**Example:**
|
||||
|
||||
```md
|
||||
- This is an markdown list.
|
||||
- Its per default a LTR direction
|
||||
{{%/* rtl */%}}
|
||||
- هذه القائمة باللغة العربية
|
||||
- من اليمين الى اليسار
|
||||
{{%/* /rtl */%}}
|
||||
```
|
||||
|
||||
- This is an markdown list.
|
||||
- Its per default a LTR direction
|
||||
{{% rtl %}}
|
||||
- هذه القائمة باللغة العربية
|
||||
- من اليمين الى اليسار
|
||||
{{% /rtl %}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Mermaid
|
||||
|
||||
`mermaid` allows you to draw detailed diagrams and visualisations using text. It uses Mermaid under the hood and supports a wide variety of diagrams, charts and other output formats.
|
||||
|
||||
@@ -11,7 +11,7 @@ series_order: 6
|
||||
|
||||
## Thumbnails
|
||||
|
||||
Blowfish was enhanced in order to make it easy to add visual support to your posts. To do so, you just need to place an image file (almost all formats are supported bue we recommend `.png` or `.jpg`) that starts with `feature*` inside your article main directory as shown in the example below.
|
||||
Blowfish was enhanced in order to make it easy to add visual support to your posts. To do so, you just need to place an image file (almost all formats are supported but we recommend `.png` or `.jpg`) that starts with `feature*` inside your article's main directory, as shown in the example below.
|
||||
|
||||
```shell
|
||||
content
|
||||
@@ -22,7 +22,7 @@ content
|
||||
|
||||
This will tell Blowfish that this article has a feature image that can be used both as a thumbnail across your website as well as for <a target="_blank" href="https://oembed.com/">oEmbed</a> cards across social platforms.
|
||||
|
||||
## Folder Strucutre
|
||||
## Folder Structure
|
||||
|
||||
If you are using single `.md` files for your articles and have a file structure similar to this:
|
||||
|
||||
@@ -38,8 +38,8 @@ content
|
||||
└── awesome_article
|
||||
└── featured.png
|
||||
```
|
||||
The you just need to add an image like explain earlier. If you want to see a sample of this you can consult [this sample]({{< ref "thumbnail_sample" >}}).
|
||||
Then you just need to add an image like explained earlier. If you want to see a sample of this, you can consult [this sample]({{< ref "thumbnail_sample" >}}).
|
||||
|
||||
## Hero Images
|
||||
|
||||
Thumbnails will be used by default as hero images withing each article. Use the global `article.showHero` or the front-matter parameter `showHero` to control this feature across the entire site or for each specific post. If you want to override the style of the hero image you can create a file called `hero.html` in `./layouts/partials/` that will override the original partial from the theme.
|
||||
Thumbnails will be used by default as hero images within each article. Use the global `article.showHero` or the front-matter parameter `showHero` to control this feature across the entire site or for each specific post. If you want to override the style of the hero image, you can create a file called `hero.html` in `./layouts/partials/` that will override the original partial from the theme.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Blowfish Tutorial"
|
||||
date: 2023-10-02
|
||||
externalUrl: "hhttps://blowfish-tutorial.web.app/"
|
||||
---
|
||||
|
After Width: | Height: | Size: 3.0 MiB |
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Blowfish Tutorial - Repo"
|
||||
date: 2023-10-01
|
||||
externalUrl: "https://github.com/nunocoracao/blowfish-tutorial"
|
||||
---
|
||||
|
After Width: | Height: | Size: 3.0 MiB |
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>defaultPathExtensions</key>
|
||||
<string>md</string>
|
||||
<key>enforceFencedCodeBlocks</key>
|
||||
<false/>
|
||||
<key>sheetFormat</key>
|
||||
<string>foreign</string>
|
||||
<key>useInlineLinks</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
After Width: | Height: | Size: 7.7 MiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 169 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 199 KiB |
|
After Width: | Height: | Size: 850 KiB |
|
After Width: | Height: | Size: 287 KiB |
|
After Width: | Height: | Size: 467 KiB |
@@ -0,0 +1,410 @@
|
||||
---
|
||||
title: "Build your homepage using Blowfish and Hugo"
|
||||
summary: "Just one year ago, I created Blowfish, a Hugo theme crafted to build my unique vision for my personal homepage. I also decided to make it an open-source project. Fast-forward to today, and Blowfish has transformed into a thriving open-source project with over 600 stars on GitHub and a user base of hundreds. In this tutorial, I’ll show you how to get started and have your website running in a couple of minutes."
|
||||
description: "Just one year ago, I created Blowfish, a Hugo theme crafted to build my unique vision for my personal homepage. I also decided to make it an open-source project. Fast-forward to today, and Blowfish has transformed into a thriving open-source project with over 600 stars on GitHub and a user base of hundreds. In this tutorial, I’ll show you how to get started and have your website running in a couple of minutes."
|
||||
categories: ["Open-Source", "Blowfish"]
|
||||
tags: ["tutorial", "blowfish", "hugo"]
|
||||
externalUrl: "https://nunocoracao.com/posts/202310-blowfish-tutorial/"
|
||||
date: 2023-10-04
|
||||
draft: false
|
||||
showauthor: false
|
||||
authors:
|
||||
- nunocoracao
|
||||
---
|
||||
|
||||
Just one year ago, I created[Blowfish](https://blowfish.page/), a [Hugo](https://gohugo.io/) theme crafted to build my unique vision for my personal homepage. I also decided to make it an open-source project. Fast-forward to today, and Blowfish has transformed into a thriving open-source project with over 600 stars on GitHub and a user base of hundreds. In this tutorial, I’ll show you how to get started and have your website running in a couple of minutes.
|
||||
|
||||
{{< github repo="nunocoracao/blowfish" >}}
|
||||
|
||||
## TL;DR
|
||||
|
||||
The goal of this guide is to walk a newcomer to Hugo on how to install, manage, and publish your own website. The final version of the code is available in this [repo](https://github.com/nunocoracao/blowfish-tutorial/tree/main) - for those that would like to jump to the end.
|
||||
|
||||

|
||||
|
||||
The visual style is just one of the many possibilities available in Blowfish. Users are encouraged to check the [documentation page](https://blowfish.page/) and learn how to customize the theme to their needs. Additionally, there are already [great examples](https://blowfish.page/users/) of the theme from other users available for inspiration. Blowfish also offers several extra features in the form of `shortcodes` available out of the box in the theme - check them out [here](https://blowfish.page/docs/shortcodes/) and get inspired.
|
||||
|
||||
## Setup your environment
|
||||
|
||||
Let’s begin by installing all the tools you need. This guide will cover the steps for Mac so these instructions might not apply to your hardware and OS. If you are on Windows or Linux, please consult the guides on how to [install Hugo](https://gohugo.io/installation/), and [GitHub’s CLI](https://cli.github.com/) for your OS.
|
||||
|
||||
Anyway, if you are using MacOS let’s install `brew` - a package manager for mac - as that will help installing and managing the other tools.
|
||||
|
||||
```bash
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
Once `brew` is installed let’s install Git, Hugo and GitHub’s CLI.
|
||||
```bash
|
||||
brew install git
|
||||
brew install hugo
|
||||
brew install gh
|
||||
```
|
||||
|
||||
Create a folder for your code and open a terminal session into it (I chose _blowfish-tutorial_ in the commands below, feel free to call the folder whatever you want).
|
||||
```bash
|
||||
mkdir blowfish-tutorial
|
||||
cd blowfish-tutorial
|
||||
```
|
||||
|
||||
Once inside the folder, the next step is to initialize your local `git` repo.
|
||||
```bash
|
||||
git init -b main
|
||||
```
|
||||
|
||||
Now, let’s create and sync the local repo to a GitHub repo so that your code is stored remotely.
|
||||
```bash
|
||||
gh auth login
|
||||
gh repo create
|
||||
git push --set-upstream origin main
|
||||
```
|
||||
|
||||
Check the image below for the options I selected for this guide, again feel free to change names and description to your use-case.
|
||||
|
||||

|
||||
|
||||
|
||||
Finally, create a **.gitignore** file which allows you to exclude certain files from your repo automatically. I would start with something like the example below.
|
||||
|
||||
```bash
|
||||
#others
|
||||
node_modules
|
||||
.hugo_build.lock
|
||||
|
||||
# OS generated files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
|
||||
# Hugo
|
||||
public
|
||||
```
|
||||
|
||||
The last step is to save all the changes to the repo.
|
||||
```bash
|
||||
git add .
|
||||
git commit -m “initial commit”
|
||||
git push
|
||||
```
|
||||
|
||||
|
||||
## Create site and configure it
|
||||
|
||||
With all the tools ready, creating and configuring your site will be easy. Still within the folder you created in the last section, let’s create an empty Hugo website (_with no theme_).
|
||||
|
||||
```bash
|
||||
hugo new site --force .
|
||||
```
|
||||
|
||||
Once the scaffolding finishes, try the command below to run your page. Open a browser on _[https://localhost:1313](https://localhost:1313)_ to see your site…
|
||||
|
||||
```bash
|
||||
hugo server
|
||||
```
|
||||
|
||||
Ups… Page not found – right?
|
||||
This was expected, even though you created a website, Hugo doesn’t give any default experience – aka your site doesn’t have any page to show.
|
||||
|
||||
Next step, let's install Blowfish using `git submodules` which will make it easier to manage and upgrade to new versions in the future.
|
||||
|
||||
```bash
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
Next, create the following folder structure at the root of your code directory - `config/_default/`. Now you will need to download [these files](https://minhaskamal.github.io/DownGit/#/home?url=https:%2F%2Fgithub.com%2Fnunocoracao%2Fblowfish%2Ftree%2Fmain%2Fconfig%2F%5C_default) and place them in _\_default_ folder you just created. The final structure should look something like this.
|
||||
|
||||
```md
|
||||
config/_default/
|
||||
├─ config.toml
|
||||
├─ languages.en.toml
|
||||
├─ markup.toml
|
||||
├─ menus.en.toml
|
||||
└─ params.toml
|
||||
`
|
||||
```
|
||||
|
||||
|
||||
Open the **config.toml** and uncomment the line **theme = "blowfish”** and you are ready to go. Try the running the site again and check the result at _[https://localhost:1313](https://localhost:1313)_
|
||||
|
||||
```bash
|
||||
hugo server
|
||||
```
|
||||
|
||||
You should see something like the image below. Not much yet as we didn’t add any content, but the main skeleton for Blowfish is already in place - just requires configuration.
|
||||
|
||||

|
||||
|
||||
Now let’s configure the theme.
|
||||
|
||||
{{< alert d>}}
|
||||
**FYI** This guide will not cover in detail what each parameter available in Blowfish does – for everything available and how to use it, check [Blowfish documentation](https://blowfish.page/docs/configuration/#theme-parameters) for every option in every file.
|
||||
{{< /alert >}}
|
||||
|
||||
### menus.en.toml
|
||||
This file defines your menu structure, for the top banner and the footer. For this guide, let’s create two menu sections: one for _Posts_ and one for _Tags_.
|
||||
- **Posts** - will display the full list of entries
|
||||
- **Tags** - automatically generated based on tags placed on each article
|
||||
|
||||
To achieve this, make sure the following entries exist in the **menus.en.toml** file. Once the changes are done, you should see the menus appearing by re-running **hugo server**.
|
||||
|
||||
```toml
|
||||
[[main]]
|
||||
name = "Posts"
|
||||
pageRef = "posts"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 30
|
||||
```
|
||||
|
||||
|
||||
### languages.en.toml
|
||||
|
||||
This file will configure your main details as the author of the website. Change the section below to reflect your details.
|
||||
|
||||
```bash
|
||||
[author]
|
||||
name = "Your name here"
|
||||
image = "profile.jpg"
|
||||
headline = "I'm only human"
|
||||
bio = "A little bit about you" # appears in author card for each article
|
||||
```
|
||||
|
||||
The images for the website should be placed in the _assets_ folder. For this step, please add a profile picture to that folder named _profile.jpg_ or change the configuration above to the filename you chose. If you don’t have a profile image available, you can use the one below for the tutorial.
|
||||
|
||||

|
||||
|
||||
The last step is configuring your links – social media, GitHub, etc. The file includes all the supported options, but they are commented. You are welcome to uncomment everything and delete the ones you would rather not use. Replace the right links on the ones you decided to keep. You can also change the order.
|
||||
|
||||
|
||||
|
||||
### params.toml
|
||||
|
||||
This is the main configuration file for Blowfish. Most of the visual options or customization available can be configured using it, and it covers several areas of the theme. For this tutorial, I decided to use a **background** layout - [check other layouts for Blowfish’s landing page](https://blowfish.page/) - with the **Neon** color scheme - you can pick a different color scheme if you want to - check [this list](https://blowfish.page/docs/getting-started/#colour-schemes) or [create your own](https://blowfish.page/docs/advanced-customisation/#colour-schemes).
|
||||
|
||||
Add an **image.jpg** to the assets folder which will be the background for the site. You can also download the examples I am using in this tutorial.
|
||||
|
||||

|
||||
|
||||
Now let’s jump into the _params.toml_ and start configuring the file. I will focus only on the values that need to be changed, don’t delete the rest of the file without reading the docs. Let’s begin by making sure that we have the right color scheme, that image optimization is on, and configure the default background image.
|
||||
|
||||
```bash
|
||||
colorScheme = "neon"
|
||||
disableImageOptimization = false
|
||||
defaultBackgroundImage = "image.jpg" # used as default for background images
|
||||
```
|
||||
|
||||
Next, let's configure our homepage. We’re going with the _background_ layout, configuring the homepage image and recent items. Furthermore, we are using the **card view** for items in the recent category. Finally, let’s configure the header to be fixed.
|
||||
|
||||
```bash
|
||||
[homepage]
|
||||
layout = "background" # valid options: page, profile, hero, card, background, custom
|
||||
homepageImage = "image.jpg" # used in: hero, and card
|
||||
showRecent = true
|
||||
showRecentItems = 6
|
||||
showMoreLink = true
|
||||
showMoreLinkDest = "/posts"
|
||||
cardView = true
|
||||
cardViewScreenWidth = false
|
||||
layoutBackgroundBlur = true # only used when layout equals background
|
||||
|
||||
[header]
|
||||
layout = "fixed"
|
||||
```
|
||||
|
||||
Now configure how the article and list pages will look. Here are the configurations for those.
|
||||
|
||||
```bash
|
||||
[article]
|
||||
showHero = true
|
||||
heroStyle = "background"
|
||||
showSummary = true
|
||||
showTableOfContents = true
|
||||
showRelatedContent = true
|
||||
relatedContentLimit = 3
|
||||
|
||||
[list]
|
||||
showCards = true
|
||||
groupByYear = false
|
||||
cardView = true
|
||||
```
|
||||
|
||||
|
||||
If you run **hugo server** again, you should see something like the image below.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Adding content to your site
|
||||
|
||||
Create a folder to place your posts in `/content/posts`. This was also the directory configured in your menu to list all the articles. Within that folder, let’s create a new directory and give it the name **myfirstpost**. Within it create an **index.md** file – your article and place a featured.jpg or .png for in the same directory as the thumbnail for the article. Use the example below to get started. The first lines in the file are the Front Matter, which tell Hugo what the look and experience of the article will be – different themes support different params for this. Check the [docs](https://blowfish.page/docs/front-matter/) for more info.
|
||||
|
||||
```md
|
||||
---
|
||||
title: "My first post"
|
||||
date: 2023-08-14
|
||||
draft: false
|
||||
summary: "This is my first post on my site"
|
||||
tags: ["space"]
|
||||
---
|
||||
|
||||
## A sub-title
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nibh nisl, vulputate eu lacus vitae, maximus molestie libero. Vestibulum laoreet, odio et sollicitudin sollicitudin, quam ligula tempus urna, sed sagittis eros eros ac felis. In tristique tortor vitae lacinia commodo. Mauris venenatis ultrices purus nec fermentum. Nunc sit amet aliquet metus. Morbi nisl felis, gravida ac consequat vitae, blandit eu libero. Curabitur porta est in dui elementum porttitor. Maecenas fermentum, tortor ac feugiat fringilla, orci sem sagittis massa, a congue risus ipsum vel massa. Aliquam sit amet nunc vulputate, facilisis neque in, faucibus nisl.
|
||||
```
|
||||
|
||||
You can create additional articles to see what your site will look like once there is content in it. Your site should look like the images below. The main page shows the recent articles, each article is connected through others automatically via related section, you have tag aggregation, and full-text search.
|
||||
|
||||
{{< gallery >}}
|
||||
<img src="img/blowfishrecent.png" class="grid-w50" />
|
||||
<img src="img/article.png" class="grid-w50" />
|
||||
<img src="img/search.png" class="grid-w50" />
|
||||
<img src="img/tag.png" class="grid-w50" />
|
||||
{{< /gallery >}}
|
||||
|
||||
|
||||
## Ship it
|
||||
|
||||
The only thing missing is to ship your site. I will be using [Firebase](https://firebase.google.com/) for hosting - it’s a free alternative and provides more advanced features if you are creating something more complex. Go to firebase and create a new project. Once that is done, let’s switch to the CLI as it will make it easier to configure everything.
|
||||
|
||||
Let’s install firebase’s CLI - if not on Mac check [install instructions on Firebase](https://firebase.google.com/docs/cli).
|
||||
```bash
|
||||
brew install firebase
|
||||
```
|
||||
|
||||
Now log in and init firebase hosting for the project.
|
||||
|
||||
```bash
|
||||
firebase login
|
||||
firebase init
|
||||
```
|
||||
|
||||
Select hosting and proceed.
|
||||
|
||||

|
||||
|
||||
Follow the image below for the options I recommend. Make sure to set up the workflow files for GitHub actions. These will guarantee that your code will be deployed once there is a change to the repo.
|
||||
|
||||

|
||||
|
||||
However, those files will not work out-of-box, as Hugo requires extra steps for the build to work. Please copy and paste the code blocks below to the respective files within the **.github** folder, but keep the original **projectId** in the files generated by firebase.
|
||||
|
||||
### firebase-hosting-merge.yml
|
||||
```yaml
|
||||
# This file was auto-generated by the Firebase CLI
|
||||
# https://github.com/firebase/firebase-tools
|
||||
|
||||
name: Deploy to Firebase Hosting on merge
|
||||
'on':
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
jobs:
|
||||
build_and_deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Hugo setup
|
||||
uses: peaceiris/actions-hugo@v2.6.0
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Build with Hugo
|
||||
env:
|
||||
# For maximum backward compatibility with Hugo modules
|
||||
HUGO_ENVIRONMENT: production
|
||||
HUGO_ENV: production
|
||||
run: hugo -E -F --minify -d public
|
||||
|
||||
- name: Deploy Production
|
||||
uses: FirebaseExtended/action-hosting-deploy@v0
|
||||
with:
|
||||
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_TUTORIAL }}'
|
||||
channelId: live
|
||||
projectId: blowfish-tutorial
|
||||
|
||||
```
|
||||
|
||||
|
||||
### firebase-hosting-pull-request.yml
|
||||
```yaml
|
||||
# This file was auto-generated by the Firebase CLI
|
||||
# https://github.com/firebase/firebase-tools
|
||||
|
||||
name: Deploy to Firebase Hosting on PR
|
||||
'on': pull_request
|
||||
jobs:
|
||||
build_and_preview:
|
||||
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Hugo setup
|
||||
uses: peaceiris/actions-hugo@v2.6.0
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Build with Hugo
|
||||
env:
|
||||
# For maximum backward compatibility with Hugo modules
|
||||
HUGO_ENVIRONMENT: production
|
||||
HUGO_ENV: production
|
||||
run: hugo -E -F --minify -d public
|
||||
|
||||
- name: Deploy preview
|
||||
uses: FirebaseExtended/action-hosting-deploy@v0
|
||||
with:
|
||||
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOWFISH_TUTORIAL }}'
|
||||
expires: 30d
|
||||
channelId: preview-${{ github.event.number }}
|
||||
projectId: blowfish-tutorial
|
||||
```
|
||||
|
||||
|
||||
The last step is committing your code to GitHub and let the workflows you created take care of deploying your site. Since we configured GitHub actions, this will trigger a job that will configure and deploy your site automatically.
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "add github actions workflows"
|
||||
git push
|
||||
```
|
||||
|
||||
If the actions tab for your repo, you should see something like this.
|
||||
|
||||

|
||||
|
||||
Once all the steps finish, your Firebase console should show something like the image below - including the links to see your app – I got a version of this tutorial running on [https://blowfish-tutorial.web.app/](https://blowfish-tutorial.web.app/).
|
||||
|
||||

|
||||
|
||||
|
||||
## Conclusion and Next Steps
|
||||
|
||||
Now you have your first version of your homepage. You can make changes locally and once you commit your code they will automatically be reflected online. What shall you do next? I’ll leave you with some useful links to get you inspired and learn more about Blowfish and Hugo.
|
||||
|
||||
- https://blowfish.page/docs/
|
||||
- https://blowfish.page/docs/configuration/
|
||||
- https://blowfish.page/docs/shortcodes/
|
||||
- https://blowfish.page/examples/
|
||||
- https://blowfish.page/users/
|
||||
- https://gohugo.io/documentation/
|
||||
|
||||

|
||||
@@ -5,6 +5,7 @@ description: "See what's possible with Blowfish."
|
||||
cascade:
|
||||
showEdit: false
|
||||
showSummary: false
|
||||
hideFeatureImage: false
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
|
||||
|
After Width: | Height: | Size: 2.2 MiB |
@@ -12,7 +12,7 @@ Blowfish includes support for Chart.js using the `chart` shortcode. Simply wrap
|
||||
|
||||
Refer to the [chart shortcode]({{< ref "docs/shortcodes#chart" >}}) docs for more details.
|
||||
|
||||
The examples below are a small selection taken from the [official Chart.js docs](https://www.chartjs.org/docs/latest/samples). You can also [view the page source](https://raw.githubusercontent.com/nunocoracao/blowfish/main/exampleSite/content/samples/charts.md) on GitHub to see the markup.
|
||||
The examples below are a small selection taken from the [official Chart.js docs](https://www.chartjs.org/docs/latest/samples). You can also [view the page source](https://raw.githubusercontent.com/nunocoracao/blowfish/main/exampleSite/content/samples/charts/index.md) on GitHub to see the markup.
|
||||
|
||||
## Bar chart
|
||||
|
||||
|
After Width: | Height: | Size: 3.7 MiB |
@@ -11,7 +11,7 @@ Mermaid diagrams are supported in Blowfish using the `mermaid` shortcode. Simply
|
||||
|
||||
Refer to the [mermaid shortcode]({{< ref "docs/shortcodes#mermaid" >}}) docs for more details.
|
||||
|
||||
The examples below are a small selection taken from the [official Mermaid docs](https://mermaid-js.github.io/mermaid/). You can also [view the page source](https://raw.githubusercontent.com/nunocoracao/blowfish/main/exampleSite/content/samples/diagrams-flowcharts.md) on GitHub to see the markup.
|
||||
The examples below are a small selection taken from the [official Mermaid docs](https://mermaid-js.github.io/mermaid/). You can also [view the page source](https://raw.githubusercontent.com/nunocoracao/blowfish/main/exampleSite/content/samples/diagrams-flowcharts/index.md) on GitHub to see the markup.
|
||||
|
||||
## Flowchart
|
||||
|
||||
|
After Width: | Height: | Size: 6.1 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
@@ -4,8 +4,6 @@ date: 2019-01-24
|
||||
externalUrl: "https://nunocoracao.com/projects/"
|
||||
summary: "The `externalUrl` front matter parameter can link to any URL."
|
||||
showReadingTime: true
|
||||
showLikes: false
|
||||
showViews: false
|
||||
_build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
|
After Width: | Height: | Size: 1.3 MiB |
@@ -49,6 +49,7 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
@@ -83,6 +84,7 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
@@ -93,6 +95,7 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
|
||||
|
After Width: | Height: | Size: 6.2 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 871 KiB |
|
After Width: | Height: | Size: 560 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 58 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "50-nuances-octets.fr"
|
||||
tags: [Organization site]
|
||||
externalUrl: "https://www.50-nuances-octets.fr/"
|
||||
date: 9950-08-08
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
showLikes: false
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: "Users"
|
||||
date: 2020-08-14
|
||||
draft: false
|
||||
description: "Some real-life Blowfish examples."
|
||||
slug: "users"
|
||||
tags: ["users", "sample"]
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
cardViewScreenWidth: true
|
||||
---
|
||||
|
||||
|
||||
|
||||
Real websites that are built with Blowfish. Check the full list in [JSON format](/users/users.json).
|
||||
|
||||
|
||||
{{< alert >}}
|
||||
|
||||
**Blowfish user?** To add your site to this list, [submit a pull request](https://github.com/nunocoracao/blowfish/blob/main/exampleSite/content/users/users.json).
|
||||
|
||||
{{</ alert >}}
|
||||
|
||||
</BR>
|
||||
|
After Width: | Height: | Size: 40 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "adilhyz.github.io"
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://adilhyz.github.io"
|
||||
date: 9936-08-08
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
showLikes: false
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
After Width: | Height: | Size: 73 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "adir1.com"
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://adir1.com/"
|
||||
date: 9971-08-08
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
showLikes: false
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
After Width: | Height: | Size: 43 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "alanctanner.com"
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://alanctanner.com/"
|
||||
date: 9960-08-08
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
showLikes: false
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "albertolvera.com"
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://albertolvera.com"
|
||||
date: 9989-08-08
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
showReadingTime: false
|
||||
showEdit: false
|
||||
showLikes: false
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||