nanosplash 4.0.7 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,25 +7,19 @@
7
7
 
8
8
  ---
9
9
 
10
- ## 🚀 Introduction
10
+ ### Nanosplash is the ultra-lightweight JavaScript library that makes adding a polished loading experience to your web app effortless. Weighing in at just 3KB and with zero dependencies, it’s designed to be blazingly fast and beautifully simple. Whether you need a fullscreen spinner or a branded loading message within a specific container, Nanosplash’s dead-simple 2-function API (show and hide) and full CSS customization make it the perfect tool for any modern web project. Try it today and elevate your app’s loading experience with zero fuss!
11
11
 
12
- Nanosplash provides a lightweight and customizable loading screen for your web applications. Whether you want a simple spinner or a fully branded loading experience, Nanosplash makes it easy to implement and customize.
12
+ ## Features
13
13
 
14
- ---
15
-
16
- ## Features
17
-
18
- - 🔬 Tiny size: Only 3KB – ideal for lean, fast applications.
19
- - High performance: Engineered for speed and responsiveness.
20
- - Zero dependencies: No extra baggage – pure JavaScript!
21
- - 🎨 Minimalistic design: Easily integrates with other designs.
22
- - 🚚 Exports in multiple formats: Supports ESM, CJS, and IIFE.
23
- - 📘 TypeScript support: Fully typed. Better DX.
24
- - ✌️ 2 Function API: Small, simple – just what you need.
25
-
26
- ---
14
+ - **Tiny**: Only 3KB
15
+ - **Performance**: Created to be fast.
16
+ - **Zero dependencies**: Pure JS.
17
+ - **Beautiful**: Good and generic design.
18
+ - **Modules**: Supports ESM, CJS, and IIFE.
19
+ - **TypeScript support**: Fully typed.
20
+ - **2 Function API**: Easy to use.
27
21
 
28
- ## 📦 Installation
22
+ ## Installation
29
23
 
30
24
  Include Nanosplash in your project via your preferred method (e.g., CDN, module bundler). Example:
31
25
 
@@ -39,13 +33,19 @@ or
39
33
  npm install nanosplash
40
34
  ```
41
35
 
42
- ---
36
+ ## API Documentation
37
+
38
+ ### Show
43
39
 
44
- ## 🎯 API Documentation
40
+ The show function displays a Nanosplash loading indicator on your page.
41
+ You can pass in optional text to display with the spinner, and an optional target element (or CSS selector) to control where it appears.
42
+ If no target is provided, Nanosplash will create a fullscreen splash covering the entire viewport.
45
43
 
46
- ### `ns.show(text?, target?)`
44
+ ```txt
45
+ show(text?: string, target?: string | Element): number
46
+ ```
47
47
 
48
- Displays a Nanosplash.
48
+ #### Parameters
49
49
 
50
50
  | Parameter | Type | Description |
51
51
  |-----------|----------------------------------|-------------------------------------------------------------|
@@ -78,11 +78,16 @@ Displays a Nanosplash.
78
78
  ns.show('Please wait', '#my-div')
79
79
  ```
80
80
 
81
- ---
81
+ ### Hide
82
82
 
83
- ### `ns.hide(id?)`
83
+ The hide function removes one or more Nanosplash loading indicators from your page.
84
+ By default, it removes the oldest fullscreen splash (FIFO). If you want to remove a specific splash, you can pass its ID (returned by show).
85
+ You can also remove all splashes at once by passing the wildcard '*'.
84
86
 
85
- Hides or removes a Nanosplash.
87
+ ```txt
88
+ hide(id?: number | '*'): void
89
+ ```
90
+ #### Arguments
86
91
 
87
92
  | Parameter | Type | Description |
88
93
  |-----------|-----------------------|------------------------------------------------------------|
@@ -109,9 +114,7 @@ Hides or removes a Nanosplash.
109
114
  ns.hide('*')
110
115
  ```
111
116
 
112
- ---
113
-
114
- ## 🎨 Customization
117
+ ## Customization
115
118
 
116
119
  Nanosplash is designed to be fully customizable with CSS. You can style its key parts using these selectors:
117
120
 
@@ -122,9 +125,7 @@ Nanosplash is designed to be fully customizable with CSS. You can style its key
122
125
  | `.nst` | Text element |
123
126
  | `.nss` | Spinner element |
124
127
 
125
- ---
126
-
127
- ## 🛠️ Examples
128
+ ## Examples
128
129
 
129
130
  Here’s a quick snippet to show a loading indicator while fetching data:
130
131
 
@@ -147,10 +148,6 @@ Here’s a quick snippet to show a loading indicator while fetching data:
147
148
  </script>
148
149
  ```
149
150
 
150
- ---
151
-
152
151
  ## 💖 Contributing & Feedback
153
152
 
154
- Found a bug or have a feature request? Visit the [GitHub repository](https://github.com/isakhauge/nanosplash) and open an issue or pull request!
155
-
156
- ---
153
+ Found a bug or have a feature request? Visit the [GitHub repository](https://github.com/isakhauge/nanosplash) and open an issue or pull request!
package/bun.lock CHANGED
@@ -17,7 +17,6 @@
17
17
  "globals": "^16.2.0",
18
18
  "jsdom": "^26.1.0",
19
19
  "postcss": "^8.5.4",
20
- "postcss-cli": "^11.0.1",
21
20
  "prettier": "3.5.3",
22
21
  "typescript": "^5.8.3",
23
22
  "typescript-eslint": "^8.33.0",
@@ -241,20 +240,16 @@
241
240
 
242
241
  "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
243
242
 
244
- "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
243
+ "ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
245
244
 
246
245
  "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
247
246
 
248
- "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
249
-
250
247
  "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
251
248
 
252
249
  "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="],
253
250
 
254
251
  "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
255
252
 
256
- "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="],
257
-
258
253
  "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
259
254
 
260
255
  "brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
@@ -277,10 +272,6 @@
277
272
 
278
273
  "check-error": ["check-error@2.1.1", "", {}, "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw=="],
279
274
 
280
- "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
281
-
282
- "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
283
-
284
275
  "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
285
276
 
286
277
  "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
@@ -325,8 +316,6 @@
325
316
 
326
317
  "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
327
318
 
328
- "dependency-graph": ["dependency-graph@1.0.0", "", {}, "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg=="],
329
-
330
319
  "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
331
320
 
332
321
  "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
@@ -341,7 +330,7 @@
341
330
 
342
331
  "electron-to-chromium": ["electron-to-chromium@1.5.165", "", {}, "sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw=="],
343
332
 
344
- "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
333
+ "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
345
334
 
346
335
  "entities": ["entities@6.0.0", "", {}, "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw=="],
347
336
 
@@ -399,20 +388,14 @@
399
388
 
400
389
  "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
401
390
 
402
- "fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="],
403
-
404
391
  "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
405
392
 
406
- "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
407
-
408
393
  "glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="],
409
394
 
410
395
  "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
411
396
 
412
397
  "globals": ["globals@16.2.0", "", {}, "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg=="],
413
398
 
414
- "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
415
-
416
399
  "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="],
417
400
 
418
401
  "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
@@ -433,8 +416,6 @@
433
416
 
434
417
  "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
435
418
 
436
- "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="],
437
-
438
419
  "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
439
420
 
440
421
  "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
@@ -467,8 +448,6 @@
467
448
 
468
449
  "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
469
450
 
470
- "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="],
471
-
472
451
  "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
473
452
 
474
453
  "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
@@ -511,8 +490,6 @@
511
490
 
512
491
  "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="],
513
492
 
514
- "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
515
-
516
493
  "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
517
494
 
518
495
  "nwsapi": ["nwsapi@2.2.20", "", {}, "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA=="],
@@ -543,14 +520,10 @@
543
520
 
544
521
  "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
545
522
 
546
- "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="],
547
-
548
523
  "postcss": ["postcss@8.5.4", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w=="],
549
524
 
550
525
  "postcss-calc": ["postcss-calc@10.1.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.38" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="],
551
526
 
552
- "postcss-cli": ["postcss-cli@11.0.1", "", { "dependencies": { "chokidar": "^3.3.0", "dependency-graph": "^1.0.0", "fs-extra": "^11.0.0", "picocolors": "^1.0.0", "postcss-load-config": "^5.0.0", "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", "slash": "^5.0.0", "tinyglobby": "^0.2.12", "yargs": "^17.0.0" }, "peerDependencies": { "postcss": "^8.0.0" }, "bin": { "postcss": "index.js" } }, "sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g=="],
553
-
554
527
  "postcss-colormin": ["postcss-colormin@7.0.3", "", { "dependencies": { "browserslist": "^4.24.5", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA=="],
555
528
 
556
529
  "postcss-convert-values": ["postcss-convert-values@7.0.5", "", { "dependencies": { "browserslist": "^4.24.5", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw=="],
@@ -563,8 +536,6 @@
563
536
 
564
537
  "postcss-discard-overridden": ["postcss-discard-overridden@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg=="],
565
538
 
566
- "postcss-load-config": ["postcss-load-config@5.1.0", "", { "dependencies": { "lilconfig": "^3.1.1", "yaml": "^2.4.2" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1" }, "optionalPeers": ["jiti", "postcss", "tsx"] }, "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA=="],
567
-
568
539
  "postcss-merge-longhand": ["postcss-merge-longhand@7.0.5", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^7.0.5" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw=="],
569
540
 
570
541
  "postcss-merge-rules": ["postcss-merge-rules@7.0.5", "", { "dependencies": { "browserslist": "^4.24.5", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg=="],
@@ -601,8 +572,6 @@
601
572
 
602
573
  "postcss-reduce-transforms": ["postcss-reduce-transforms@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g=="],
603
574
 
604
- "postcss-reporter": ["postcss-reporter@7.1.0", "", { "dependencies": { "picocolors": "^1.0.0", "thenby": "^1.3.4" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA=="],
605
-
606
575
  "postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="],
607
576
 
608
577
  "postcss-svgo": ["postcss-svgo@7.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^3.3.2" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA=="],
@@ -615,18 +584,10 @@
615
584
 
616
585
  "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="],
617
586
 
618
- "pretty-hrtime": ["pretty-hrtime@1.0.3", "", {}, "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A=="],
619
-
620
587
  "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
621
588
 
622
589
  "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
623
590
 
624
- "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="],
625
-
626
- "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="],
627
-
628
- "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
629
-
630
591
  "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="],
631
592
 
632
593
  "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
@@ -651,19 +612,17 @@
651
612
 
652
613
  "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
653
614
 
654
- "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="],
655
-
656
615
  "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
657
616
 
658
617
  "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="],
659
618
 
660
619
  "std-env": ["std-env@3.9.0", "", {}, "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="],
661
620
 
662
- "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
621
+ "string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
663
622
 
664
623
  "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
665
624
 
666
- "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
625
+ "strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
667
626
 
668
627
  "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
669
628
 
@@ -679,8 +638,6 @@
679
638
 
680
639
  "test-exclude": ["test-exclude@7.0.1", "", { "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^10.4.1", "minimatch": "^9.0.4" } }, "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg=="],
681
640
 
682
- "thenby": ["thenby@1.3.4", "", {}, "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ=="],
683
-
684
641
  "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="],
685
642
 
686
643
  "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="],
@@ -713,8 +670,6 @@
713
670
 
714
671
  "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
715
672
 
716
- "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="],
717
-
718
673
  "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="],
719
674
 
720
675
  "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
@@ -743,7 +698,7 @@
743
698
 
744
699
  "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
745
700
 
746
- "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
701
+ "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
747
702
 
748
703
  "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
749
704
 
@@ -753,14 +708,8 @@
753
708
 
754
709
  "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="],
755
710
 
756
- "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
757
-
758
711
  "yaml": ["yaml@2.8.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ=="],
759
712
 
760
- "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],
761
-
762
- "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
763
-
764
713
  "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
765
714
 
766
715
  "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
@@ -771,18 +720,8 @@
771
720
 
772
721
  "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="],
773
722
 
774
- "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
775
-
776
- "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
777
-
778
- "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
779
-
780
723
  "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
781
724
 
782
- "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
783
-
784
- "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
785
-
786
725
  "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
787
726
 
788
727
  "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
@@ -795,15 +734,19 @@
795
734
 
796
735
  "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
797
736
 
798
- "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
737
+ "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
738
+
739
+ "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
740
+
741
+ "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
799
742
 
800
743
  "test-exclude/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
801
744
 
802
- "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
745
+ "wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
803
746
 
804
- "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
747
+ "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
805
748
 
806
- "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
749
+ "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
807
750
 
808
751
  "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
809
752
 
@@ -811,6 +754,12 @@
811
754
 
812
755
  "glob/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
813
756
 
757
+ "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
758
+
814
759
  "test-exclude/minimatch/brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
760
+
761
+ "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
762
+
763
+ "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
815
764
  }
816
765
  }
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2025-06-09T11:51:54.650Z
164
+ at 2025-06-09T13:54:28.777Z
165
165
  </div>
166
166
  <script src="prettify.js"></script>
167
167
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-06-09T11:51:54.650Z
104
+ at 2025-06-09T13:54:28.777Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -371,7 +371,7 @@
371
371
  <span class="cline-any cline-yes">11x</span>
372
372
  <span class="cline-any cline-yes">11x</span>
373
373
  <span class="cline-any cline-yes">11x</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import style from '@/style/ns.min.css?raw'
374
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import style from '@/style/ns.css?inline'
375
375
  import type { INanosplash } from '@/interfaces/INanosplash.ts'
376
376
  import type { Func } from '@/types/generic/function.ts'
377
377
  import type { INSElement } from '@/interfaces/INSElement.ts'
@@ -532,7 +532,7 @@ export const useNs: Func&lt;INanosplash&gt; = (): INanosplash =&gt; {
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
535
- at 2025-06-09T11:51:54.650Z
535
+ at 2025-06-09T13:54:28.777Z
536
536
  </div>
537
537
  <script src="../../prettify.js"></script>
538
538
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-06-09T11:51:54.650Z
104
+ at 2025-06-09T13:54:28.777Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -109,7 +109,7 @@ export const Selectors = {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2025-06-09T11:51:54.650Z
112
+ at 2025-06-09T13:54:28.777Z
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88
- at 2025-06-09T11:51:54.650Z
88
+ at 2025-06-09T13:54:28.777Z
89
89
  </div>
90
90
  <script src="../prettify.js"></script>
91
91
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-06-09T11:51:54.650Z
104
+ at 2025-06-09T13:54:28.777Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -85,7 +85,7 @@ export interface INSElement extends HTMLDivElement {
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88
- at 2025-06-09T11:51:54.650Z
88
+ at 2025-06-09T13:54:28.777Z
89
89
  </div>
90
90
  <script src="../../prettify.js"></script>
91
91
  <script>
@@ -289,7 +289,7 @@ export interface INanosplash {
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at 2025-06-09T11:51:54.650Z
292
+ at 2025-06-09T13:54:28.777Z
293
293
  </div>
294
294
  <script src="../../prettify.js"></script>
295
295
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-06-09T11:51:54.650Z
119
+ at 2025-06-09T13:54:28.777Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -274,7 +274,7 @@ export const parseHtml = &lt;T extends HTMLElement&gt;(html: HTMLString): T =&gt
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at 2025-06-09T11:51:54.650Z
277
+ at 2025-06-09T13:54:28.777Z
278
278
  </div>
279
279
  <script src="../../prettify.js"></script>
280
280
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-06-09T11:51:54.650Z
104
+ at 2025-06-09T13:54:28.777Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -1,135 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=`@keyframes nsRotate {
2
- 100% {
3
- transform: rotate(360deg);
4
- }
5
- }
6
-
7
- @keyframes nsDash {
8
- 0% {
9
- stroke-dasharray: 1, 150;
10
- stroke-dashoffset: 0;
11
- }
12
- 50% {
13
- stroke-dasharray: 90, 150;
14
- stroke-dashoffset: -35;
15
- }
16
- 100% {
17
- stroke-dasharray: 90, 150;
18
- stroke-dashoffset: -124;
19
- }
20
- }
21
-
22
- @keyframes nsFade {
23
- from {
24
- opacity: 0;
25
- }
26
- to {
27
- opacity: 1;
28
- }
29
- }
30
-
31
- @keyframes nsAscend {
32
- from {
33
- opacity: 0;
34
- transform: translateY(13px);
35
- }
36
- to {
37
- opacity: 1;
38
- transform: translateY(0);
39
- }
40
- }
41
-
42
- :root {
43
- --ns-top: 0;
44
- }
45
-
46
- /* Nanosplash host */
47
- .nsh {
48
- --color: DarkSlateGray;
49
- --size: 20px;
50
- --relSize: calc(var(--size) * 0.9);
51
- --font: 'Inter', 'Helvetica', 'Arial';
52
- --weight: 400;
53
- --bg: rgba(255, 255, 255, 0.9);
54
- --zIdx: 9999999999;
55
- --blur: blur(5px);
56
-
57
- position: relative;
58
- z-index: var(--zIdx);
59
- &::before {
60
- width: 100%;
61
- height: 100%;
62
- bottom: 0; /* Not sure why */
63
- right: 0; /* Not sure why */
64
- position: absolute;
65
- content: '';
66
- background-color: var(--bg);
67
- backdrop-filter: var(--blur);
68
- -webkit-backdrop-filter: var(--blur);
69
- z-index: calc(var(--zIdx) + 1);
70
- border-radius: var(--size);
71
- }
72
- }
73
-
74
- /* For when the Nanosplash host is the document body */
75
- body.nsh {
76
- &,
77
- &::before {
78
- width: 100%;
79
- height: 100%;
80
- position: fixed;
81
- top: var(--ns-top);
82
- left: 0;
83
- }
84
- }
85
-
86
- /* Nanosplash main element */
87
- .ns {
88
- width: 100%;
89
- height: 100%;
90
- bottom: 0; /* Not sure why */
91
- right: 0; /* Not sure why */
92
- display: flex;
93
- justify-content: center;
94
- align-items: center;
95
- position: absolute;
96
- z-index: calc(var(--zIdx) + 2);
97
- animation: nsFade 2s;
98
- gap: var(--relSize);
99
- }
100
-
101
- /* Nanosplash text */
102
- .nst {
103
- color: var(--color);
104
- font-size: var(--size);
105
- font-family: var(--font), sans-serif;
106
- font-weight: var(--weight);
107
- max-width: 80dvw;
108
- white-space: nowrap;
109
- text-overflow: ellipsis;
110
- overflow: hidden;
111
- text-shadow: 0 0 0.06rem rgba(0, 0, 0, 0.25);
112
- filter: drop-shadow(0 0 0.07rem rgba(0, 0, 0, 0.25));
113
- animation: nsAscend 0.5s;
114
- }
115
-
116
- /* Nanosplash spinner */
117
- .nss {
118
- display: block;
119
- width: var(--relSize);
120
- height: var(--relSize);
121
- animation: nsAscend 0.5s;
122
- & > svg {
123
- animation: nsRotate 2s linear infinite;
124
- position: relative;
125
- width: inherit;
126
- height: inherit;
127
- stroke-width: 8;
128
- }
129
- & .path {
130
- stroke: var(--color);
131
- stroke-linecap: round;
132
- animation: nsDash 1.5s ease-in-out infinite;
133
- }
134
- }
135
- `,d=()=>globalThis.document,l=()=>globalThis.document.body,y=t=>Array.from(t),v=(t,o)=>y(t.querySelectorAll(o)),h=(t,o)=>v(t,o)[0]??null,I=t=>t instanceof Element?t:h(d(),t),c=(t,...o)=>{const a=d().createElement("div");return t&&a.classList.add(t),a.append(...o),a},m=t=>{const o=c();return o.innerHTML=t,o.firstChild},r={ns:"ns",nsHost:"nsh",nsText:"nst",nsSpinner:"nss"},u={ns:"."+r.ns,nsText:"."+r.nsText},A="4.0.5",E=()=>{const t=()=>v(d(),u.ns),o=()=>{const e=m('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'),s=c(r.ns,c(r.nsText),c(r.nsSpinner,e));return s.nsId=Date.now(),s},a=()=>t().sort((n,e)=>n.nsId-e.nsId),b=()=>a()[0]??null,g=(n,e)=>{var i;if((i=h(n,u.nsText))==null||i.remove(),!e)return;const s=c(r.nsText,e);n.insertBefore(s,n.firstChild)},w=(n,e)=>{const s=e.firstElementChild;s&&e.insertBefore(n,s),e.append(n),e.classList.add(r.nsHost)},x=n=>y(n.children).find(s=>s.classList.contains(r.ns)),k=(n,e)=>{const s=e?I(e)??l():l();let i;const p=x(s);if(p?i=p:(i=o(),w(i,s)),g(i,n??""),s===l()){const S=scrollY+"px";l().style.setProperty("--ns-top",S)}return i.nsId},f=n=>{var e;(e=n==null?void 0:n.parentElement)==null||e.classList.remove(r.nsHost),n==null||n.remove()},N=n=>t().find(e=>e.nsId===n)??null,z=n=>{n==="*"?t().forEach(f):f(typeof n=="number"?N(n):b())};return(()=>{var e;(e=h(d(),"#ns"))==null||e.remove();const n=m(`<style id="ns">${T}</style>`);l().append(n)})(),{show:k,hide:z,version:A}};exports.useNs=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I='@keyframes nsRotate{to{transform:rotate(360deg)}}@keyframes nsDash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes nsFade{0%{opacity:0}to{opacity:1}}@keyframes nsAscend{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}:root{--ns-top: 0}.nsh{--color: DarkSlateGray;--size: 20px;--relSize: calc(var(--size) * .9);--font: "Inter", "Helvetica", "Arial";--weight: 400;--bg: rgba(255, 255, 255, .9);--zIdx: 9999999999;--blur: blur(5px);position:relative;z-index:var(--zIdx)}.nsh:before{width:100%;height:100%;bottom:0;right:0;position:absolute;content:"";background-color:var(--bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);z-index:calc(var(--zIdx) + 1);border-radius:var(--size)}body.nsh,body.nsh:before{width:100%;height:100%;position:fixed;top:var(--ns-top);left:0}.ns{width:100%;height:100%;bottom:0;right:0;display:flex;justify-content:center;align-items:center;position:absolute;z-index:calc(var(--zIdx) + 2);animation:nsFade 2s;gap:var(--relSize)}.nst{color:var(--color);font-size:var(--size);font-family:var(--font),sans-serif;font-weight:var(--weight);max-width:80dvw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 0 .06rem rgba(0,0,0,.25);filter:drop-shadow(0 0 .07rem rgba(0,0,0,.25));animation:nsAscend .5s}.nss{display:block;width:var(--relSize);height:var(--relSize);animation:nsAscend .5s}.nss>svg{animation:nsRotate 2s linear infinite;position:relative;width:inherit;height:inherit;stroke-width:8}.nss .path{stroke:var(--color);stroke-linecap:round;animation:nsDash 1.5s ease-in-out infinite}',d=()=>globalThis.document,l=()=>globalThis.document.body,y=s=>Array.from(s),u=(s,o)=>y(s.querySelectorAll(o)),h=(s,o)=>u(s,o)[0]??null,N=s=>s instanceof Element?s:h(d(),s),c=(s,...o)=>{const a=d().createElement("div");return s&&a.classList.add(s),a.append(...o),a},v=s=>{const o=c();return o.innerHTML=s,o.firstChild},r={ns:"ns",nsHost:"nsh",nsText:"nst",nsSpinner:"nss"},m={ns:"."+r.ns,nsText:"."+r.nsText},A="4.0.8",E=()=>{const s=()=>u(d(),m.ns),o=()=>{const t=v('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'),n=c(r.ns,c(r.nsText),c(r.nsSpinner,t));return n.nsId=Date.now(),n},a=()=>s().sort((e,t)=>e.nsId-t.nsId),b=()=>a()[0]??null,g=(e,t)=>{var i;if((i=h(e,m.nsText))==null||i.remove(),!t)return;const n=c(r.nsText,t);e.insertBefore(n,e.firstChild)},x=(e,t)=>{const n=t.firstElementChild;n&&t.insertBefore(e,n),t.append(e),t.classList.add(r.nsHost)},w=e=>y(e.children).find(n=>n.classList.contains(r.ns)),k=(e,t)=>{const n=t?N(t)??l():l();let i;const p=w(n);if(p?i=p:(i=o(),x(i,n)),g(i,e??""),n===l()){const T=scrollY+"px";l().style.setProperty("--ns-top",T)}return i.nsId},f=e=>{var t;(t=e==null?void 0:e.parentElement)==null||t.classList.remove(r.nsHost),e==null||e.remove()},z=e=>s().find(t=>t.nsId===e)??null,S=e=>{e==="*"?s().forEach(f):f(typeof e=="number"?z(e):b())};return(()=>{var t;(t=h(d(),"#ns"))==null||t.remove();const e=v(`<style id="ns">${I}</style>`);l().append(e)})(),{show:k,hide:S,version:A}};exports.useNs=E;
package/dist/es/ns.es.js CHANGED
@@ -1,195 +1,61 @@
1
- const S = `@keyframes nsRotate {
2
- 100% {
3
- transform: rotate(360deg);
4
- }
5
- }
6
-
7
- @keyframes nsDash {
8
- 0% {
9
- stroke-dasharray: 1, 150;
10
- stroke-dashoffset: 0;
11
- }
12
- 50% {
13
- stroke-dasharray: 90, 150;
14
- stroke-dashoffset: -35;
15
- }
16
- 100% {
17
- stroke-dasharray: 90, 150;
18
- stroke-dashoffset: -124;
19
- }
20
- }
21
-
22
- @keyframes nsFade {
23
- from {
24
- opacity: 0;
25
- }
26
- to {
27
- opacity: 1;
28
- }
29
- }
30
-
31
- @keyframes nsAscend {
32
- from {
33
- opacity: 0;
34
- transform: translateY(13px);
35
- }
36
- to {
37
- opacity: 1;
38
- transform: translateY(0);
39
- }
40
- }
41
-
42
- :root {
43
- --ns-top: 0;
44
- }
45
-
46
- /* Nanosplash host */
47
- .nsh {
48
- --color: DarkSlateGray;
49
- --size: 20px;
50
- --relSize: calc(var(--size) * 0.9);
51
- --font: 'Inter', 'Helvetica', 'Arial';
52
- --weight: 400;
53
- --bg: rgba(255, 255, 255, 0.9);
54
- --zIdx: 9999999999;
55
- --blur: blur(5px);
56
-
57
- position: relative;
58
- z-index: var(--zIdx);
59
- &::before {
60
- width: 100%;
61
- height: 100%;
62
- bottom: 0; /* Not sure why */
63
- right: 0; /* Not sure why */
64
- position: absolute;
65
- content: '';
66
- background-color: var(--bg);
67
- backdrop-filter: var(--blur);
68
- -webkit-backdrop-filter: var(--blur);
69
- z-index: calc(var(--zIdx) + 1);
70
- border-radius: var(--size);
71
- }
72
- }
73
-
74
- /* For when the Nanosplash host is the document body */
75
- body.nsh {
76
- &,
77
- &::before {
78
- width: 100%;
79
- height: 100%;
80
- position: fixed;
81
- top: var(--ns-top);
82
- left: 0;
83
- }
84
- }
85
-
86
- /* Nanosplash main element */
87
- .ns {
88
- width: 100%;
89
- height: 100%;
90
- bottom: 0; /* Not sure why */
91
- right: 0; /* Not sure why */
92
- display: flex;
93
- justify-content: center;
94
- align-items: center;
95
- position: absolute;
96
- z-index: calc(var(--zIdx) + 2);
97
- animation: nsFade 2s;
98
- gap: var(--relSize);
99
- }
100
-
101
- /* Nanosplash text */
102
- .nst {
103
- color: var(--color);
104
- font-size: var(--size);
105
- font-family: var(--font), sans-serif;
106
- font-weight: var(--weight);
107
- max-width: 80dvw;
108
- white-space: nowrap;
109
- text-overflow: ellipsis;
110
- overflow: hidden;
111
- text-shadow: 0 0 0.06rem rgba(0, 0, 0, 0.25);
112
- filter: drop-shadow(0 0 0.07rem rgba(0, 0, 0, 0.25));
113
- animation: nsAscend 0.5s;
114
- }
115
-
116
- /* Nanosplash spinner */
117
- .nss {
118
- display: block;
119
- width: var(--relSize);
120
- height: var(--relSize);
121
- animation: nsAscend 0.5s;
122
- & > svg {
123
- animation: nsRotate 2s linear infinite;
124
- position: relative;
125
- width: inherit;
126
- height: inherit;
127
- stroke-width: 8;
128
- }
129
- & .path {
130
- stroke: var(--color);
131
- stroke-linecap: round;
132
- animation: nsDash 1.5s ease-in-out infinite;
133
- }
134
- }
135
- `, d = () => globalThis.document, l = () => globalThis.document.body, v = (t) => Array.from(t), u = (t, o) => v(t.querySelectorAll(o)), h = (t, o) => u(t, o)[0] ?? null, T = (t) => t instanceof Element ? t : h(d(), t), c = (t, ...o) => {
1
+ const T = '@keyframes nsRotate{to{transform:rotate(360deg)}}@keyframes nsDash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes nsFade{0%{opacity:0}to{opacity:1}}@keyframes nsAscend{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}:root{--ns-top: 0}.nsh{--color: DarkSlateGray;--size: 20px;--relSize: calc(var(--size) * .9);--font: "Inter", "Helvetica", "Arial";--weight: 400;--bg: rgba(255, 255, 255, .9);--zIdx: 9999999999;--blur: blur(5px);position:relative;z-index:var(--zIdx)}.nsh:before{width:100%;height:100%;bottom:0;right:0;position:absolute;content:"";background-color:var(--bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);z-index:calc(var(--zIdx) + 1);border-radius:var(--size)}body.nsh,body.nsh:before{width:100%;height:100%;position:fixed;top:var(--ns-top);left:0}.ns{width:100%;height:100%;bottom:0;right:0;display:flex;justify-content:center;align-items:center;position:absolute;z-index:calc(var(--zIdx) + 2);animation:nsFade 2s;gap:var(--relSize)}.nst{color:var(--color);font-size:var(--size);font-family:var(--font),sans-serif;font-weight:var(--weight);max-width:80dvw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 0 .06rem rgba(0,0,0,.25);filter:drop-shadow(0 0 .07rem rgba(0,0,0,.25));animation:nsAscend .5s}.nss{display:block;width:var(--relSize);height:var(--relSize);animation:nsAscend .5s}.nss>svg{animation:nsRotate 2s linear infinite;position:relative;width:inherit;height:inherit;stroke-width:8}.nss .path{stroke:var(--color);stroke-linecap:round;animation:nsDash 1.5s ease-in-out infinite}', d = () => globalThis.document, l = () => globalThis.document.body, y = (s) => Array.from(s), u = (s, o) => y(s.querySelectorAll(o)), h = (s, o) => u(s, o)[0] ?? null, A = (s) => s instanceof Element ? s : h(d(), s), c = (s, ...o) => {
136
2
  const a = d().createElement("div");
137
- return t && a.classList.add(t), a.append(...o), a;
138
- }, m = (t) => {
3
+ return s && a.classList.add(s), a.append(...o), a;
4
+ }, v = (s) => {
139
5
  const o = c();
140
- return o.innerHTML = t, o.firstChild;
6
+ return o.innerHTML = s, o.firstChild;
141
7
  }, r = {
142
8
  ns: "ns",
143
9
  nsHost: "nsh",
144
10
  nsText: "nst",
145
11
  nsSpinner: "nss"
146
- }, y = {
12
+ }, m = {
147
13
  ns: "." + r.ns,
148
14
  nsText: "." + r.nsText
149
- }, A = "4.0.5", H = () => {
150
- const t = () => u(d(), y.ns), o = () => {
151
- const e = m('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'), s = c(
15
+ }, N = "4.0.8", H = () => {
16
+ const s = () => u(d(), m.ns), o = () => {
17
+ const t = v('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'), n = c(
152
18
  r.ns,
153
19
  c(r.nsText),
154
- c(r.nsSpinner, e)
20
+ c(r.nsSpinner, t)
155
21
  );
156
- return s.nsId = Date.now(), s;
157
- }, a = () => t().sort((n, e) => n.nsId - e.nsId), b = () => a()[0] ?? null, g = (n, e) => {
22
+ return n.nsId = Date.now(), n;
23
+ }, a = () => s().sort((e, t) => e.nsId - t.nsId), b = () => a()[0] ?? null, g = (e, t) => {
158
24
  var i;
159
- if ((i = h(n, y.nsText)) == null || i.remove(), !e) return;
160
- const s = c(r.nsText, e);
161
- n.insertBefore(s, n.firstChild);
162
- }, w = (n, e) => {
163
- const s = e.firstElementChild;
164
- s && e.insertBefore(n, s), e.append(n), e.classList.add(r.nsHost);
165
- }, x = (n) => v(n.children).find(
166
- (s) => s.classList.contains(r.ns)
167
- ), k = (n, e) => {
168
- const s = e ? T(e) ?? l() : l();
25
+ if ((i = h(e, m.nsText)) == null || i.remove(), !t) return;
26
+ const n = c(r.nsText, t);
27
+ e.insertBefore(n, e.firstChild);
28
+ }, x = (e, t) => {
29
+ const n = t.firstElementChild;
30
+ n && t.insertBefore(e, n), t.append(e), t.classList.add(r.nsHost);
31
+ }, w = (e) => y(e.children).find(
32
+ (n) => n.classList.contains(r.ns)
33
+ ), k = (e, t) => {
34
+ const n = t ? A(t) ?? l() : l();
169
35
  let i;
170
- const p = x(s);
171
- if (p ? i = p : (i = o(), w(i, s)), g(i, n ?? ""), s === l()) {
172
- const I = scrollY + "px";
173
- l().style.setProperty("--ns-top", I);
36
+ const p = w(n);
37
+ if (p ? i = p : (i = o(), x(i, n)), g(i, e ?? ""), n === l()) {
38
+ const S = scrollY + "px";
39
+ l().style.setProperty("--ns-top", S);
174
40
  }
175
41
  return i.nsId;
176
- }, f = (n) => {
177
- var e;
178
- (e = n == null ? void 0 : n.parentElement) == null || e.classList.remove(r.nsHost), n == null || n.remove();
179
- }, N = (n) => t().find((e) => e.nsId === n) ?? null, z = (n) => {
180
- n === "*" ? t().forEach(f) : f(typeof n == "number" ? N(n) : b());
42
+ }, f = (e) => {
43
+ var t;
44
+ (t = e == null ? void 0 : e.parentElement) == null || t.classList.remove(r.nsHost), e == null || e.remove();
45
+ }, z = (e) => s().find((t) => t.nsId === e) ?? null, I = (e) => {
46
+ e === "*" ? s().forEach(f) : f(typeof e == "number" ? z(e) : b());
181
47
  };
182
48
  return (() => {
183
- var e;
184
- (e = h(d(), "#ns")) == null || e.remove();
185
- const n = m(
186
- `<style id="ns">${S}</style>`
49
+ var t;
50
+ (t = h(d(), "#ns")) == null || t.remove();
51
+ const e = v(
52
+ `<style id="ns">${T}</style>`
187
53
  );
188
- l().append(n);
54
+ l().append(e);
189
55
  })(), {
190
56
  show: k,
191
- hide: z,
192
- version: A
57
+ hide: I,
58
+ version: N
193
59
  };
194
60
  };
195
61
  export {
@@ -1,135 +1 @@
1
- (function(){"use strict";const w=`@keyframes nsRotate {
2
- 100% {
3
- transform: rotate(360deg);
4
- }
5
- }
6
-
7
- @keyframes nsDash {
8
- 0% {
9
- stroke-dasharray: 1, 150;
10
- stroke-dashoffset: 0;
11
- }
12
- 50% {
13
- stroke-dasharray: 90, 150;
14
- stroke-dashoffset: -35;
15
- }
16
- 100% {
17
- stroke-dasharray: 90, 150;
18
- stroke-dashoffset: -124;
19
- }
20
- }
21
-
22
- @keyframes nsFade {
23
- from {
24
- opacity: 0;
25
- }
26
- to {
27
- opacity: 1;
28
- }
29
- }
30
-
31
- @keyframes nsAscend {
32
- from {
33
- opacity: 0;
34
- transform: translateY(13px);
35
- }
36
- to {
37
- opacity: 1;
38
- transform: translateY(0);
39
- }
40
- }
41
-
42
- :root {
43
- --ns-top: 0;
44
- }
45
-
46
- /* Nanosplash host */
47
- .nsh {
48
- --color: DarkSlateGray;
49
- --size: 20px;
50
- --relSize: calc(var(--size) * 0.9);
51
- --font: 'Inter', 'Helvetica', 'Arial';
52
- --weight: 400;
53
- --bg: rgba(255, 255, 255, 0.9);
54
- --zIdx: 9999999999;
55
- --blur: blur(5px);
56
-
57
- position: relative;
58
- z-index: var(--zIdx);
59
- &::before {
60
- width: 100%;
61
- height: 100%;
62
- bottom: 0; /* Not sure why */
63
- right: 0; /* Not sure why */
64
- position: absolute;
65
- content: '';
66
- background-color: var(--bg);
67
- backdrop-filter: var(--blur);
68
- -webkit-backdrop-filter: var(--blur);
69
- z-index: calc(var(--zIdx) + 1);
70
- border-radius: var(--size);
71
- }
72
- }
73
-
74
- /* For when the Nanosplash host is the document body */
75
- body.nsh {
76
- &,
77
- &::before {
78
- width: 100%;
79
- height: 100%;
80
- position: fixed;
81
- top: var(--ns-top);
82
- left: 0;
83
- }
84
- }
85
-
86
- /* Nanosplash main element */
87
- .ns {
88
- width: 100%;
89
- height: 100%;
90
- bottom: 0; /* Not sure why */
91
- right: 0; /* Not sure why */
92
- display: flex;
93
- justify-content: center;
94
- align-items: center;
95
- position: absolute;
96
- z-index: calc(var(--zIdx) + 2);
97
- animation: nsFade 2s;
98
- gap: var(--relSize);
99
- }
100
-
101
- /* Nanosplash text */
102
- .nst {
103
- color: var(--color);
104
- font-size: var(--size);
105
- font-family: var(--font), sans-serif;
106
- font-weight: var(--weight);
107
- max-width: 80dvw;
108
- white-space: nowrap;
109
- text-overflow: ellipsis;
110
- overflow: hidden;
111
- text-shadow: 0 0 0.06rem rgba(0, 0, 0, 0.25);
112
- filter: drop-shadow(0 0 0.07rem rgba(0, 0, 0, 0.25));
113
- animation: nsAscend 0.5s;
114
- }
115
-
116
- /* Nanosplash spinner */
117
- .nss {
118
- display: block;
119
- width: var(--relSize);
120
- height: var(--relSize);
121
- animation: nsAscend 0.5s;
122
- & > svg {
123
- animation: nsRotate 2s linear infinite;
124
- position: relative;
125
- width: inherit;
126
- height: inherit;
127
- stroke-width: 8;
128
- }
129
- & .path {
130
- stroke: var(--color);
131
- stroke-linecap: round;
132
- animation: nsDash 1.5s ease-in-out infinite;
133
- }
134
- }
135
- `,d=()=>globalThis.document,a=()=>globalThis.document.body,f=t=>Array.from(t),p=(t,o)=>f(t.querySelectorAll(o)),h=(t,o)=>p(t,o)[0]??null,b=t=>t instanceof Element?t:h(d(),t),l=(t,...o)=>{const c=d().createElement("div");return t&&c.classList.add(t),c.append(...o),c},m=t=>{const o=l();return o.innerHTML=t,o.firstChild},r={ns:"ns",nsHost:"nsh",nsText:"nst",nsSpinner:"nss"},u={ns:"."+r.ns,nsText:"."+r.nsText},g="4.0.5",x=()=>{const t=()=>p(d(),u.ns),o=()=>{const e=m('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'),s=l(r.ns,l(r.nsText),l(r.nsSpinner,e));return s.nsId=Date.now(),s},c=()=>t().sort((n,e)=>n.nsId-e.nsId),k=()=>c()[0]??null,N=(n,e)=>{var i;if((i=h(n,u.nsText))==null||i.remove(),!e)return;const s=l(r.nsText,e);n.insertBefore(s,n.firstChild)},z=(n,e)=>{const s=e.firstElementChild;s&&e.insertBefore(n,s),e.append(n),e.classList.add(r.nsHost)},I=n=>f(n.children).find(s=>s.classList.contains(r.ns)),S=(n,e)=>{const s=e?b(e)??a():a();let i;const y=I(s);if(y?i=y:(i=o(),z(i,s)),N(i,n??""),s===a()){const E=scrollY+"px";a().style.setProperty("--ns-top",E)}return i.nsId},v=n=>{var e;(e=n==null?void 0:n.parentElement)==null||e.classList.remove(r.nsHost),n==null||n.remove()},T=n=>t().find(e=>e.nsId===n)??null,A=n=>{n==="*"?t().forEach(v):v(typeof n=="number"?T(n):k())};return(()=>{var e;(e=h(d(),"#ns"))==null||e.remove();const n=m(`<style id="ns">${w}</style>`);a().append(n)})(),{show:S,hide:A,version:g}};window.addEventListener("load",function(){this.ns=x()})})();
1
+ (function(){"use strict";const b='@keyframes nsRotate{to{transform:rotate(360deg)}}@keyframes nsDash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes nsFade{0%{opacity:0}to{opacity:1}}@keyframes nsAscend{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}:root{--ns-top: 0}.nsh{--color: DarkSlateGray;--size: 20px;--relSize: calc(var(--size) * .9);--font: "Inter", "Helvetica", "Arial";--weight: 400;--bg: rgba(255, 255, 255, .9);--zIdx: 9999999999;--blur: blur(5px);position:relative;z-index:var(--zIdx)}.nsh:before{width:100%;height:100%;bottom:0;right:0;position:absolute;content:"";background-color:var(--bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);z-index:calc(var(--zIdx) + 1);border-radius:var(--size)}body.nsh,body.nsh:before{width:100%;height:100%;position:fixed;top:var(--ns-top);left:0}.ns{width:100%;height:100%;bottom:0;right:0;display:flex;justify-content:center;align-items:center;position:absolute;z-index:calc(var(--zIdx) + 2);animation:nsFade 2s;gap:var(--relSize)}.nst{color:var(--color);font-size:var(--size);font-family:var(--font),sans-serif;font-weight:var(--weight);max-width:80dvw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 0 .06rem rgba(0,0,0,.25);filter:drop-shadow(0 0 .07rem rgba(0,0,0,.25));animation:nsAscend .5s}.nss{display:block;width:var(--relSize);height:var(--relSize);animation:nsAscend .5s}.nss>svg{animation:nsRotate 2s linear infinite;position:relative;width:inherit;height:inherit;stroke-width:8}.nss .path{stroke:var(--color);stroke-linecap:round;animation:nsDash 1.5s ease-in-out infinite}',d=()=>globalThis.document,a=()=>globalThis.document.body,f=s=>Array.from(s),p=(s,o)=>f(s.querySelectorAll(o)),h=(s,o)=>p(s,o)[0]??null,g=s=>s instanceof Element?s:h(d(),s),c=(s,...o)=>{const l=d().createElement("div");return s&&l.classList.add(s),l.append(...o),l},v=s=>{const o=c();return o.innerHTML=s,o.firstChild},r={ns:"ns",nsHost:"nsh",nsText:"nst",nsSpinner:"nss"},m={ns:"."+r.ns,nsText:"."+r.nsText},x="4.0.8",w=()=>{const s=()=>p(d(),m.ns),o=()=>{const t=v('<svg viewBox="0 0 50 50"><circle class=path cx=25 cy=25 r=20 fill=none /></svg>'),n=c(r.ns,c(r.nsText),c(r.nsSpinner,t));return n.nsId=Date.now(),n},l=()=>s().sort((e,t)=>e.nsId-t.nsId),k=()=>l()[0]??null,z=(e,t)=>{var i;if((i=h(e,m.nsText))==null||i.remove(),!t)return;const n=c(r.nsText,t);e.insertBefore(n,e.firstChild)},I=(e,t)=>{const n=t.firstElementChild;n&&t.insertBefore(e,n),t.append(e),t.classList.add(r.nsHost)},S=e=>f(e.children).find(n=>n.classList.contains(r.ns)),T=(e,t)=>{const n=t?g(t)??a():a();let i;const y=S(n);if(y?i=y:(i=o(),I(i,n)),z(i,e??""),n===a()){const E=scrollY+"px";a().style.setProperty("--ns-top",E)}return i.nsId},u=e=>{var t;(t=e==null?void 0:e.parentElement)==null||t.classList.remove(r.nsHost),e==null||e.remove()},A=e=>s().find(t=>t.nsId===e)??null,N=e=>{e==="*"?s().forEach(u):u(typeof e=="number"?A(e):k())};return(()=>{var t;(t=h(d(),"#ns"))==null||t.remove();const e=v(`<style id="ns">${b}</style>`);a().append(e)})(),{show:T,hide:N,version:x}};window.addEventListener("load",function(){this.ns=w()})})();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nanosplash",
3
3
  "private": false,
4
- "version": "4.0.7",
4
+ "version": "4.0.8",
5
5
  "type": "module",
6
6
  "author": {
7
7
  "name": "Isak K. Hauge",
@@ -33,11 +33,10 @@
33
33
  ],
34
34
  "scripts": {
35
35
  "dev": "vite",
36
- "build": "bun run cssnano && bun run build:es && bun run build:cjs && bun run build:iife",
36
+ "build": "bun run build:es && bun run build:cjs && bun run build:iife",
37
37
  "build:es": "tsc && cross-env entry=./src/composables/ns.ts format=es vite build -m production --outDir ./dist/es",
38
38
  "build:cjs": "tsc && cross-env entry=./src/composables/ns.ts format=cjs vite build -m production --outDir ./dist/cjs",
39
39
  "build:iife": "tsc && cross-env entry=./src/iife.ts format=iife vite build -m production --outDir ./dist/iife",
40
- "cssnano": "bunx postcss ./src/style/ns.css --use cssnano --output ./src/style/ns.min.css",
41
40
  "preview": "vite preview",
42
41
  "lint": "eslint . --fix",
43
42
  "format": "prettier --write ./src/**/*.ts ./vite.config.ts",
@@ -69,7 +68,6 @@
69
68
  "globals": "^16.2.0",
70
69
  "jsdom": "^26.1.0",
71
70
  "postcss": "^8.5.4",
72
- "postcss-cli": "^11.0.1",
73
71
  "prettier": "3.5.3",
74
72
  "typescript": "^5.8.3",
75
73
  "typescript-eslint": "^8.33.0",
@@ -1,4 +1,4 @@
1
- import style from '@/style/ns.min.css?raw'
1
+ import style from '@/style/ns.css?inline'
2
2
  import type { INanosplash } from '@/interfaces/INanosplash.ts'
3
3
  import type { Func } from '@/types/generic/function.ts'
4
4
  import type { INSElement } from '@/interfaces/INSElement.ts'
package/vite.config.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { defineConfig, type LibraryFormats } from 'vite'
2
2
  import path from 'node:path'
3
3
  import { config } from 'dotenv'
4
+ import postcss from 'postcss'
5
+ import cssnano from 'cssnano'
4
6
  config()
5
7
 
6
8
  const name = 'ns'
@@ -21,4 +23,14 @@ export default defineConfig({
21
23
  '@': path.resolve(__dirname, './src'),
22
24
  },
23
25
  },
26
+ plugins: [
27
+ // @ts-expect-error Because postcss is missing types.
28
+ postcss({
29
+ plugins: [
30
+ cssnano({
31
+ preset: 'default', // Use default preset for standard CSS minification
32
+ }),
33
+ ],
34
+ }),
35
+ ],
24
36
  })
@@ -1,2 +0,0 @@
1
- @keyframes nsRotate{to{transform:rotate(1turn)}}@keyframes nsDash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes nsFade{0%{opacity:0}to{opacity:1}}@keyframes nsAscend{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}:root{--ns-top:0}.nsh{--color:#2f4f4f;--size:20px;--relSize:calc(var(--size)*0.9);--font:"Inter","Helvetica","Arial";--weight:400;--bg:hsla(0,0%,100%,.9);--zIdx:9999999999;--blur:blur(5px);position:relative;z-index:var(--zIdx);&:before{backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);background-color:var(--bg);border-radius:var(--size);bottom:0;content:"";height:100%;position:absolute;right:0;width:100%;z-index:calc(var(--zIdx) + 1)}}body.nsh{&,&:before{height:100%;left:0;position:fixed;top:var(--ns-top);width:100%}}.ns{align-items:center;animation:nsFade 2s;bottom:0;display:flex;gap:var(--relSize);height:100%;justify-content:center;position:absolute;right:0;width:100%;z-index:calc(var(--zIdx) + 2)}.nst{animation:nsAscend .5s;color:var(--color);filter:drop-shadow(0 0 .07rem rgba(0,0,0,.25));font-family:var(--font),sans-serif;font-size:var(--size);font-weight:var(--weight);max-width:80dvw;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 .06rem rgba(0,0,0,.25);white-space:nowrap}.nss{animation:nsAscend .5s;display:block;height:var(--relSize);width:var(--relSize);&>svg{animation:nsRotate 2s linear infinite;height:inherit;position:relative;width:inherit;stroke-width:8}& .path{stroke:var(--color);stroke-linecap:round;animation:nsDash 1.5s ease-in-out infinite}}
2
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5zLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFDRSxHQUNFLHVCQUNGLENBQ0YsQ0FFQSxrQkFDRSxHQUNFLHNCQUF3QixDQUN4QixtQkFDRixDQUNBLElBQ0UsdUJBQXlCLENBQ3pCLHFCQUNGLENBQ0EsR0FDRSx1QkFBeUIsQ0FDekIsc0JBQ0YsQ0FDRixDQUVBLGtCQUNFLEdBQ0UsU0FDRixDQUNBLEdBQ0UsU0FDRixDQUNGLENBRUEsb0JBQ0UsR0FDRSxTQUFVLENBQ1YsMEJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVix1QkFDRixDQUNGLENBRUEsTUFDRSxVQUNGLENBR0EsS0FDRSxlQUFzQixDQUN0QixXQUFZLENBQ1osK0JBQWtDLENBQ2xDLGtDQUFxQyxDQUNyQyxZQUFhLENBQ2IsdUJBQThCLENBQzlCLGlCQUFrQixDQUNsQixnQkFBaUIsQ0FFakIsaUJBQWtCLENBQ2xCLG1CQUFvQixDQUNwQixTQVFFLDJCQUE0QixDQUM1QixtQ0FBb0MsQ0FGcEMsMEJBQTJCLENBSTNCLHlCQUEwQixDQVIxQixRQUFTLENBR1QsVUFBVyxDQUpYLFdBQVksQ0FHWixpQkFBa0IsQ0FEbEIsT0FBUSxDQUhSLFVBQVcsQ0FTWCw2QkFFRixDQUNGLENBR0EsU0FDRSxXQUdFLFdBQVksQ0FHWixNQUFPLENBRlAsY0FBZSxDQUNmLGlCQUFrQixDQUhsQixVQUtGLENBQ0YsQ0FHQSxJQU9FLGtCQUFtQixDQUduQixtQkFBb0IsQ0FQcEIsUUFBUyxDQUVULFlBQWEsQ0FNYixrQkFBbUIsQ0FUbkIsV0FBWSxDQUlaLHNCQUF1QixDQUV2QixpQkFBa0IsQ0FKbEIsT0FBUSxDQUhSLFVBQVcsQ0FRWCw2QkFHRixDQUdBLEtBV0Usc0JBQXdCLENBVnhCLGtCQUFtQixDQVNuQiw4Q0FBb0QsQ0FQcEQsa0NBQW9DLENBRHBDLHFCQUFzQixDQUV0Qix5QkFBMEIsQ0FDMUIsZUFBZ0IsQ0FHaEIsZUFBZ0IsQ0FEaEIsc0JBQXVCLENBRXZCLHNDQUE0QyxDQUg1QyxrQkFNRixDQUdBLEtBSUUsc0JBQXdCLENBSHhCLGFBQWMsQ0FFZCxxQkFBc0IsQ0FEdEIsb0JBQXFCLENBR3JCLE1BQ0UscUNBQXNDLENBR3RDLGNBQWUsQ0FGZixpQkFBa0IsQ0FDbEIsYUFBYyxDQUVkLGNBQ0YsQ0FDQSxRQUNFLG1CQUFvQixDQUNwQixvQkFBcUIsQ0FDckIsMENBQ0YsQ0FDRiIsImZpbGUiOiJucy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGtleWZyYW1lcyBuc1JvdGF0ZSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuc0Rhc2gge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMTUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogOTAsIDE1MDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTM1O1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDkwLCAxNTA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xMjQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBuc0ZhZGUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbnNBc2NlbmQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuOnJvb3Qge1xuICAtLW5zLXRvcDogMDtcbn1cblxuLyogTmFub3NwbGFzaCBob3N0ICovXG4ubnNoIHtcbiAgLS1jb2xvcjogRGFya1NsYXRlR3JheTtcbiAgLS1zaXplOiAyMHB4O1xuICAtLXJlbFNpemU6IGNhbGModmFyKC0tc2l6ZSkgKiAwLjkpO1xuICAtLWZvbnQ6ICdJbnRlcicsICdIZWx2ZXRpY2EnLCAnQXJpYWwnO1xuICAtLXdlaWdodDogNDAwO1xuICAtLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIC0teklkeDogOTk5OTk5OTk5OTtcbiAgLS1ibHVyOiBibHVyKDVweCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiB2YXIoLS16SWR4KTtcbiAgJjo6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiAwOyAvKiBOb3Qgc3VyZSB3aHkgKi9cbiAgICByaWdodDogMDsgLyogTm90IHN1cmUgd2h5ICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWJsdXIpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1ibHVyKTtcbiAgICB6LWluZGV4OiBjYWxjKHZhcigtLXpJZHgpICsgMSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZSk7XG4gIH1cbn1cblxuLyogRm9yIHdoZW4gdGhlIE5hbm9zcGxhc2ggaG9zdCBpcyB0aGUgZG9jdW1lbnQgYm9keSAqL1xuYm9keS5uc2gge1xuICAmLFxuICAmOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiB2YXIoLS1ucy10b3ApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLyogTmFub3NwbGFzaCBtYWluIGVsZW1lbnQgKi9cbi5ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvdHRvbTogMDsgLyogTm90IHN1cmUgd2h5ICovXG4gIHJpZ2h0OiAwOyAvKiBOb3Qgc3VyZSB3aHkgKi9cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogY2FsYyh2YXIoLS16SWR4KSArIDIpO1xuICBhbmltYXRpb246IG5zRmFkZSAycztcbiAgZ2FwOiB2YXIoLS1yZWxTaXplKTtcbn1cblxuLyogTmFub3NwbGFzaCB0ZXh0ICovXG4ubnN0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zaXplKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQpLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogdmFyKC0td2VpZ2h0KTtcbiAgbWF4LXdpZHRoOiA4MGR2dztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtc2hhZG93OiAwIDAgMC4wNnJlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA3cmVtIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICBhbmltYXRpb246IG5zQXNjZW5kIDAuNXM7XG59XG5cbi8qIE5hbm9zcGxhc2ggc3Bpbm5lciAqL1xuLm5zcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogdmFyKC0tcmVsU2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tcmVsU2l6ZSk7XG4gIGFuaW1hdGlvbjogbnNBc2NlbmQgMC41cztcbiAgJiA+IHN2ZyB7XG4gICAgYW5pbWF0aW9uOiBuc1JvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBzdHJva2Utd2lkdGg6IDg7XG4gIH1cbiAgJiAucGF0aCB7XG4gICAgc3Ryb2tlOiB2YXIoLS1jb2xvcik7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIGFuaW1hdGlvbjogbnNEYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cbiJdfQ== */