nanosplash 3.1.0 → 3.1.1
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/.github/workflows/ci.yml +51 -49
- package/.github/workflows/vitepress.yml +52 -52
- package/README.md +22 -2
- package/dist/cjs/ns.cjs +1 -1
- package/dist/es/ns.js +40 -40
- package/dist/iife/ns.iife.js +1 -1
- package/docs/.vitepress/theme/vue/Exe.vue +65 -61
- package/docs/api/start/customize.md +1 -1
- package/package.json +90 -91
- package/src/ts/Nanosplash.ts +58 -58
- package/tests/Nanosplash.spec.ts +7 -5
- package/bun.lockb +0 -0
- package/docs/.vitepress/.temp/@localSearchIndexroot.Ba2B1gNE.js +0 -4
- package/docs/.vitepress/.temp/Card.Ce4dbGEn.js +0 -30
- package/docs/.vitepress/.temp/VPLocalSearchBox.DV6bivXX.js +0 -382
- package/docs/.vitepress/.temp/api_doc_hide.md.js +0 -25
- package/docs/.vitepress/.temp/api_doc_show.md.js +0 -25
- package/docs/.vitepress/.temp/api_start_customize.md.js +0 -42
- package/docs/.vitepress/.temp/api_start_features.md.js +0 -19
- package/docs/.vitepress/.temp/api_start_install.md.js +0 -35
- package/docs/.vitepress/.temp/api_start_playground.md.js +0 -213
- package/docs/.vitepress/.temp/api_start_usage.md.js +0 -36
- package/docs/.vitepress/.temp/app.js +0 -5090
- package/docs/.vitepress/.temp/assets/style.lcyfX_uc.css +0 -5374
- package/docs/.vitepress/.temp/index.md.js +0 -19
- package/docs/.vitepress/.temp/macos.jpg +0 -0
- package/docs/.vitepress/.temp/package.json +0 -1
- package/docs/.vitepress/.temp/plugin-vue_export-helper.1tPrXgE0.js +0 -10
- /package/docs/.vitepress/{config.mts → config.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,92 +1,91 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
2
|
+
"name": "nanosplash",
|
|
3
|
+
"version": "3.1.1",
|
|
4
|
+
"author": {
|
|
5
|
+
"name": "Isak K. Hauge",
|
|
6
|
+
"email": "isakhauge@icloud.com",
|
|
7
|
+
"url": "https://no.linkedin.com/in/isakhauge"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/isakhauge/nanosplash.git"
|
|
12
|
+
},
|
|
13
|
+
"main": "./dist/es/ns.js",
|
|
14
|
+
"module": "./dist/es/ns.js",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@types/jsdom": "^21.1.6",
|
|
17
|
+
"@types/node": "^20.11.29",
|
|
18
|
+
"@types/rollup": "^0.54.0",
|
|
19
|
+
"@vitest/coverage-v8": "^1.4.0",
|
|
20
|
+
"@vitest/ui": "^1.4.0",
|
|
21
|
+
"cross-env": "^7.0.3",
|
|
22
|
+
"eslint": "^8.57.0",
|
|
23
|
+
"eslint-config-prettier": "^9.1.0",
|
|
24
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
25
|
+
"jsdom": "^24.0.0",
|
|
26
|
+
"sass": "^1.72.0",
|
|
27
|
+
"stylelint-prettier": "^5.0.0",
|
|
28
|
+
"typescript": "5.4.2",
|
|
29
|
+
"typescript-eslint": "^7.2.0",
|
|
30
|
+
"vite": "^5.1.6",
|
|
31
|
+
"vitepress": "",
|
|
32
|
+
"vitest": "^1.4.0"
|
|
33
|
+
},
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": {
|
|
37
|
+
"require": "./src/ts/types/global.d.ts",
|
|
38
|
+
"default": "./src/ts/types/global.d.ts"
|
|
39
|
+
},
|
|
40
|
+
"browser": {
|
|
41
|
+
"require": "./dist/cjs/ns.cjs",
|
|
42
|
+
"default": "./dist/es/ns.js"
|
|
43
|
+
},
|
|
44
|
+
"default": {
|
|
45
|
+
"require": "./dist/cjs/ns.cjs",
|
|
46
|
+
"default": "./dist/es/ns.js"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"description": "The tiny loading screen for web artisans",
|
|
51
|
+
"homepage": "https://isakhauge.github.io/nanosplash",
|
|
52
|
+
"keywords": [
|
|
53
|
+
"loading",
|
|
54
|
+
"loader",
|
|
55
|
+
"screen",
|
|
56
|
+
"splash",
|
|
57
|
+
"nano",
|
|
58
|
+
"nanosplash",
|
|
59
|
+
"small",
|
|
60
|
+
"tiny",
|
|
61
|
+
"es",
|
|
62
|
+
"esm",
|
|
63
|
+
"ts",
|
|
64
|
+
"typescript",
|
|
65
|
+
"iife",
|
|
66
|
+
"cdn",
|
|
67
|
+
"vite"
|
|
68
|
+
],
|
|
69
|
+
"license": "MIT",
|
|
70
|
+
"private": false,
|
|
71
|
+
"source": "./src/main.ts",
|
|
72
|
+
"type": "module",
|
|
73
|
+
"types": "./src/ts/types/global.d.ts",
|
|
74
|
+
"unpkg": "./dist/iife/ns.iife.js",
|
|
75
|
+
"scripts": {
|
|
76
|
+
"build": "pnpm build:all && pnpm build:docs",
|
|
77
|
+
"build:es": "tsc && cross-env entry=./src/ts/Nanosplash.ts format=es vite build -m production --c vite.config.ts",
|
|
78
|
+
"build:cjs": "tsc && cross-env entry=./src/ts/Nanosplash.ts format=cjs vite build -m production --c vite.config.ts",
|
|
79
|
+
"build:iife": "tsc && cross-env entry=./src/ts/main.ts format=iife vite build -m production --c vite.config.ts",
|
|
80
|
+
"build:all": "pnpm build:es && pnpm build:cjs && pnpm build:iife",
|
|
81
|
+
"build:docs": "pnpm docs:build",
|
|
82
|
+
"preview": "vite preview",
|
|
83
|
+
"test": "vitest",
|
|
84
|
+
"test:ui": "vitest --ui",
|
|
85
|
+
"lint": "eslint src/ts/**/*.ts --fix",
|
|
86
|
+
"coverage": "vitest --coverage",
|
|
87
|
+
"docs:dev": "pnpm exec vitepress dev docs",
|
|
88
|
+
"docs:build": "pnpm exec vitepress build docs",
|
|
89
|
+
"docs:preview": "pnpm exec vitepress preview docs"
|
|
90
|
+
}
|
|
91
|
+
}
|
package/src/ts/Nanosplash.ts
CHANGED
|
@@ -9,8 +9,9 @@ import {
|
|
|
9
9
|
} from './types/Types'
|
|
10
10
|
import { version } from '../../package.json'
|
|
11
11
|
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const styleId: string = 'ns'
|
|
13
|
+
const doc: Document = document
|
|
14
|
+
const bod: HTMLElement = doc.body
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* # Scope
|
|
@@ -30,8 +31,7 @@ const scope = (node: ParentNode): ScopedSelectors =>
|
|
|
30
31
|
* @param selector CSS selector used to match nodes in the DOM.
|
|
31
32
|
* @returns An array of Element nodes.
|
|
32
33
|
*/
|
|
33
|
-
const getAll = (selector: DOMSelector): Element[] =>
|
|
34
|
-
scope(document).all(selector)
|
|
34
|
+
const getAll = (selector: DOMSelector): Element[] => scope(doc).all(selector)
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* # Get
|
|
@@ -39,13 +39,13 @@ const getAll = (selector: DOMSelector): Element[] =>
|
|
|
39
39
|
* @returns Firs Element node from the DOM matching the selector.
|
|
40
40
|
*/
|
|
41
41
|
const get = (selector: DOMSelector): Element | null =>
|
|
42
|
-
scope(
|
|
42
|
+
scope(doc).first(selector)
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
|
-
* # Get All
|
|
45
|
+
* # Get All Nanosplashes
|
|
46
46
|
* @returns An array of all Nanosplash elements in the DOM.
|
|
47
47
|
*/
|
|
48
|
-
const
|
|
48
|
+
const getAllNs = (): NSElement[] => getAll('.ns') as NSElement[]
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
51
|
* # Parse Ref
|
|
@@ -56,7 +56,7 @@ const parseRef = (ref: ElementReference): Element | null =>
|
|
|
56
56
|
ref instanceof Element ? ref : get(ref)
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* #
|
|
59
|
+
* # Create HTMLDivElement
|
|
60
60
|
* @param className Optional string containing class names.
|
|
61
61
|
* @param children Optional list of Nodes or strings.
|
|
62
62
|
* @returns The newly created HTMLDivElement.
|
|
@@ -65,10 +65,10 @@ const div = (
|
|
|
65
65
|
className?: string,
|
|
66
66
|
...children: (Node | string)[]
|
|
67
67
|
): HTMLDivElement => {
|
|
68
|
-
const
|
|
69
|
-
if (className)
|
|
70
|
-
|
|
71
|
-
return
|
|
68
|
+
const node: HTMLDivElement = doc.createElement('div')
|
|
69
|
+
if (className) node.classList.add(className)
|
|
70
|
+
node.append(...children)
|
|
71
|
+
return node
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/**
|
|
@@ -77,58 +77,57 @@ const div = (
|
|
|
77
77
|
* @returns Parsed node.
|
|
78
78
|
*/
|
|
79
79
|
const parse = (html: string): Node => {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
return
|
|
80
|
+
const node: HTMLDivElement = div()
|
|
81
|
+
node.innerHTML = html
|
|
82
|
+
return node.firstChild as Node
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* #
|
|
86
|
+
* # Make Nanosplash Element
|
|
87
87
|
* @returns Nanpslash DOM element.
|
|
88
88
|
*/
|
|
89
|
-
const
|
|
89
|
+
const makeNs = (): NSElement => {
|
|
90
90
|
const circle: string = '<circle class=path cx=25 cy=25 r=20 fill=none />'
|
|
91
91
|
const svg = parse(`<svg viewBox="0 0 50 50">${circle}</svg>`) as Element
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
return
|
|
92
|
+
const node = div('ns', div('nst'), div('nss', svg)) as NSElement
|
|
93
|
+
node.nsId = Date.now()
|
|
94
|
+
return node
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
|
-
* # Peek
|
|
98
|
+
* # Peek Nanosplash Queue
|
|
99
99
|
* Collect all Nanosplash elements in the DOM, sort them by their NS ID
|
|
100
100
|
* in ascending order, and return the first element.
|
|
101
101
|
* @returns The front of the queue.
|
|
102
102
|
*/
|
|
103
|
-
const
|
|
104
|
-
|
|
103
|
+
const peekNsQueue = (): NSElement | null =>
|
|
104
|
+
getAllNs().sort((a: NSElement, b: NSElement) => a.nsId - b.nsId)[0] ?? null
|
|
105
105
|
|
|
106
106
|
/**
|
|
107
|
-
* # Set
|
|
107
|
+
* # Set Nanosplash Text
|
|
108
108
|
* Replace the text node to trigger the animation which in turn is invoked
|
|
109
109
|
* by the connected callback in the DOM.
|
|
110
110
|
* @param ns Nanosplash element.
|
|
111
111
|
* @param text Text to display adjacent to spinner.
|
|
112
112
|
*/
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
oldNst.replaceWith(newNst)
|
|
113
|
+
const setNsText = (ns: NSElement, text: string): void => {
|
|
114
|
+
const oldNsText = scope(ns).first('.nst') as Element | null
|
|
115
|
+
if (!text) return oldNsText?.remove()
|
|
116
|
+
const newNsText = div('nst', text)
|
|
117
|
+
if (oldNsText) {
|
|
118
|
+
oldNsText.replaceWith(newNsText)
|
|
120
119
|
} else {
|
|
121
|
-
ns.insertBefore(
|
|
120
|
+
ns.insertBefore(newNsText, ns.firstChild)
|
|
122
121
|
}
|
|
123
122
|
}
|
|
124
123
|
|
|
125
124
|
/**
|
|
126
|
-
* # Set
|
|
125
|
+
* # Set Nanosplash Parent
|
|
127
126
|
* Define where inside the DOM to spawn the Nansoplash.
|
|
128
127
|
* @param ns Nanosplash element.
|
|
129
128
|
* @param parent NS element's parent to be.
|
|
130
129
|
*/
|
|
131
|
-
const
|
|
130
|
+
const setNsParent = (ns: NSElement, parent: Element): void => {
|
|
132
131
|
const child = parent.firstElementChild
|
|
133
132
|
if (child) {
|
|
134
133
|
parent.insertBefore(ns, child)
|
|
@@ -138,72 +137,73 @@ const setNSParent = (ns: NSElement, parent: Element): void => {
|
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
/**
|
|
141
|
-
* # Show
|
|
140
|
+
* # Show Nanosplash
|
|
142
141
|
* @param text Text to display adjacent to spinner.
|
|
143
142
|
* @param inside Selector or element in which the NS element will be spawned.
|
|
144
143
|
* @returns The ID if the NS element — which is a UTC integer.
|
|
145
144
|
*/
|
|
146
145
|
const show = (text?: string, inside?: string | Element): number | null => {
|
|
147
146
|
const parent: Element | null = (
|
|
148
|
-
inside ? parseRef(inside) :
|
|
147
|
+
inside ? parseRef(inside) : bod
|
|
149
148
|
) as Element | null
|
|
150
149
|
let ns: NSElement
|
|
151
|
-
const recycledNs = scope(parent ??
|
|
150
|
+
const recycledNs = scope(parent ?? bod).first('& > .ns')
|
|
152
151
|
if (recycledNs) {
|
|
153
152
|
ns = recycledNs as NSElement
|
|
154
153
|
} else {
|
|
155
|
-
ns =
|
|
156
|
-
|
|
154
|
+
ns = makeNs()
|
|
155
|
+
setNsParent(ns, parent as Element)
|
|
157
156
|
}
|
|
158
|
-
|
|
159
|
-
const top: string =
|
|
160
|
-
|
|
157
|
+
setNsText(ns, text ?? '')
|
|
158
|
+
const top: string = scrollY + 'px'
|
|
159
|
+
bod.style.setProperty('--ns-top', top)
|
|
161
160
|
return ns.nsId
|
|
162
161
|
}
|
|
163
162
|
|
|
164
163
|
/**
|
|
165
|
-
* #
|
|
164
|
+
* # Remove Nanosplash
|
|
166
165
|
* @param ns Nanosplash elememnt.
|
|
167
166
|
*/
|
|
168
|
-
const
|
|
167
|
+
const removeNs = (ns?: Element | null): void => {
|
|
169
168
|
ns?.parentElement?.classList.remove('nsh')
|
|
170
169
|
ns?.remove()
|
|
171
170
|
}
|
|
172
171
|
|
|
173
172
|
/**
|
|
174
|
-
* # Find
|
|
173
|
+
* # Find Nanosplash
|
|
175
174
|
* @param id The UTC integer returned from the `show` function.
|
|
176
175
|
* @returns Null or the corresponding Nanosplash element.
|
|
177
176
|
*/
|
|
178
|
-
const
|
|
177
|
+
const findNs = (id: number) => getAllNs().find(v => v.nsId === id) ?? null
|
|
179
178
|
|
|
180
179
|
/**
|
|
181
|
-
* # Hide
|
|
180
|
+
* # Hide Nanosplash
|
|
182
181
|
* Hide agnostically in FIFO order, specifically by ID, or all by the asterisk
|
|
183
182
|
* which will delete all Nanosplashes.
|
|
184
183
|
* @param id Optional ID of a Nanosplash element or '*' .
|
|
185
184
|
*/
|
|
186
185
|
const hide = (id?: number | '*'): void => {
|
|
187
|
-
if (id === '*') getAll('.ns').forEach(
|
|
188
|
-
else
|
|
186
|
+
if (id === '*') getAll('.ns').forEach(removeNs)
|
|
187
|
+
else removeNs(typeof id === 'number' ? findNs(id) : peekNsQueue())
|
|
189
188
|
}
|
|
190
189
|
|
|
191
190
|
/**
|
|
192
|
-
* # Add
|
|
191
|
+
* # Add CSS
|
|
193
192
|
*/
|
|
194
|
-
const
|
|
195
|
-
get('#
|
|
196
|
-
|
|
193
|
+
const addCssToBody = (): void => {
|
|
194
|
+
get('#' + styleId)?.remove()
|
|
195
|
+
bod.append(parse(`<style id=${styleId}>${style}</style>`))
|
|
197
196
|
}
|
|
198
197
|
|
|
199
198
|
/**
|
|
200
|
-
* # Use
|
|
199
|
+
* # Use Nanosplash
|
|
201
200
|
* @returns Nanosplash API.
|
|
202
201
|
*/
|
|
203
|
-
export const useNs = (): NanosplashInterface =>
|
|
204
|
-
|
|
205
|
-
(window.ns = {
|
|
202
|
+
export const useNs = (): NanosplashInterface => {
|
|
203
|
+
addCssToBody()
|
|
204
|
+
return (window.ns = {
|
|
206
205
|
show,
|
|
207
206
|
hide,
|
|
208
|
-
version
|
|
207
|
+
version,
|
|
209
208
|
})
|
|
209
|
+
}
|
package/tests/Nanosplash.spec.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { describe, it, test, expect, beforeEach } from 'vitest'
|
|
2
|
-
import { useNs } from '../src/ts/Nanosplash'
|
|
3
2
|
import { JSDOM } from 'jsdom'
|
|
4
3
|
import { NanosplashInterface } from '../src/ts/types/NanosplashInterface'
|
|
5
4
|
|
|
5
|
+
let dom = new JSDOM()
|
|
6
6
|
let document: Document | null = null
|
|
7
7
|
let ns: NanosplashInterface | null = null
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
async function updateGlobals() {
|
|
10
|
+
dom = new JSDOM()
|
|
11
11
|
// @ts-ignore
|
|
12
12
|
globalThis.window = dom.window
|
|
13
13
|
document = globalThis.document = dom.window.document
|
|
14
|
-
ns = globalThis.window.ns = useNs()
|
|
15
|
-
}
|
|
14
|
+
ns = globalThis.window.ns = (await import('../src/ts/Nanosplash')).useNs()
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
beforeEach(updateGlobals)
|
|
16
18
|
|
|
17
19
|
describe('Nanosplash API', () => {
|
|
18
20
|
it('should be defined', () => {
|
package/bun.lockb
DELETED
|
Binary file
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const _localSearchIndexroot = '{"documentCount":19,"nextId":19,"documentIds":{"0":"/nanosplash/api/doc/hide.html#hide-nanosplash","1":"/nanosplash/api/doc/hide.html#hide","2":"/nanosplash/api/doc/hide.html#hide-by-id","3":"/nanosplash/api/doc/hide.html#hide-all","4":"/nanosplash/api/doc/show.html#show-nanosplash","5":"/nanosplash/api/doc/show.html#show","6":"/nanosplash/api/doc/show.html#show-inside","7":"/nanosplash/api/start/customize.html#customize","8":"/nanosplash/api/start/features.html#features","9":"/nanosplash/api/start/features.html#small-bundle-size","10":"/nanosplash/api/start/features.html#simple-2-function-api","11":"/nanosplash/api/start/features.html#spawning","12":"/nanosplash/api/start/features.html#node-recycling","13":"/nanosplash/api/start/install.html#installation","14":"/nanosplash/api/start/install.html#css","15":"/nanosplash/api/start/install.html#install-via-cdn","16":"/nanosplash/api/start/install.html#install-via-npm","17":"/nanosplash/api/start/playground.html#playground","18":"/nanosplash/api/start/usage.html#usage"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,1],"1":[1,2,41],"2":[3,2,32],"3":[2,2,10],"4":[2,1,1],"5":[1,2,30],"6":[2,2,67],"7":[1,1,38],"8":[1,1,1],"9":[3,1,28],"10":[4,1,39],"11":[1,1,26],"12":[2,1,33],"13":[1,1,34],"14":[1,1,9],"15":[3,1,52],"16":[3,1,51],"17":[1,1,27],"18":[1,1,32]},"averageFieldLength":[1.8421052631578947,1.263157894736842,29.05263157894737],"storedFields":{"0":{"title":"Hide Nanosplash","titles":[]},"1":{"title":"Hide","titles":["Hide Nanosplash"]},"2":{"title":"Hide by ID","titles":["Hide Nanosplash"]},"3":{"title":"Hide all","titles":["Hide Nanosplash"]},"4":{"title":"Show Nanosplash","titles":[]},"5":{"title":"Show","titles":["Show Nanosplash"]},"6":{"title":"Show inside","titles":["Show Nanosplash"]},"7":{"title":"Customize","titles":[]},"8":{"title":"Features","titles":[]},"9":{"title":"Small bundle size","titles":["Features"]},"10":{"title":"Simple, 2 Function API","titles":["Features"]},"11":{"title":"Spawning","titles":["Features"]},"12":{"title":"Node recycling","titles":["Features"]},"13":{"title":"Installation","titles":[]},"14":{"title":"CSS","titles":["Installation"]},"15":{"title":"Install via CDN","titles":["Installation"]},"16":{"title":"Install via NPM","titles":["Installation"]},"17":{"title":"Playground","titles":[]},"18":{"title":"Usage","titles":[]}},"dirtCount":0,"index":[["quot",{"2":{"17":2}}],["play",{"2":{"17":1}}],["playground",{"0":{"17":1}}],["parent",{"2":{"12":1}}],["package",{"2":{"10":1}}],["🚀",{"2":{"15":1}}],["8",{"2":{"15":1}}],[">",{"2":{"15":3}}],["x3c",{"2":{"15":13}}],["🎉",{"2":{"14":1}}],["run",{"2":{"17":1}}],["running",{"2":{"13":1,"16":1}}],["requires",{"2":{"13":1}}],["repurpose",{"2":{"12":1}}],["recycle",{"2":{"12":1}}],["recycling",{"0":{"12":1}}],["recommend",{"2":{"1":1}}],["ref",{"2":{"6":1}}],["reference",{"2":{"6":1}}],["returns",{"2":{"2":1,"5":1,"6":1}}],["just",{"2":{"10":1}}],["jsimport",{"2":{"16":1}}],["js",{"2":{"6":1,"14":1,"15":2,"18":1}}],["jsconst",{"2":{"2":1}}],["jsns",{"2":{"1":1,"5":2}}],["utf",{"2":{"15":1}}],["unpkg",{"2":{"15":2}}],["usage",{"0":{"18":1}}],["using",{"2":{"10":1,"15":1,"16":1}}],["usens",{"2":{"16":2}}],["use",{"2":{"10":1,"12":1}}],["used",{"2":{"2":1}}],["up",{"2":{"10":1}}],["2",{"0":{"10":1}}],["2kb",{"2":{"9":1}}],["global",{"2":{"16":1}}],["gt",{"2":{"15":1}}],["getting",{"2":{"10":1}}],["get",{"2":{"10":1}}],["getelementbyid",{"2":{"6":1}}],["ground",{"2":{"10":1}}],["go",{"2":{"9":1,"10":1,"11":1}}],["gzipped",{"2":{"9":1}}],["gap",{"2":{"7":1}}],["\\t\\t",{"2":{"15":4}}],["\\t",{"2":{"15":4}}],["\\theight",{"2":{"7":1}}],["\\twidth",{"2":{"7":1}}],["\\tfont",{"2":{"7":3}}],["\\tcolor",{"2":{"7":1}}],["\\tgap",{"2":{"7":1}}],["\\tbackdrop",{"2":{"7":1}}],["\\tbackground",{"2":{"7":1}}],["via",{"0":{"15":1,"16":1},"2":{"13":3,"16":1}}],["very",{"2":{"10":1}}],["var",{"2":{"7":9}}],["void",{"2":{"1":1,"3":1}}],["data",{"2":{"18":1}}],["dropdown",{"2":{"17":1}}],["dist",{"2":{"15":2}}],["display",{"2":{"5":3,"6":1,"18":1}}],["documentation",{"2":{"11":1}}],["document",{"2":{"6":1}}],["dom",{"2":{"6":2,"11":1,"12":1}}],["does",{"2":{"6":1}}],["either",{"2":{"13":1}}],["each",{"2":{"12":1}}],["easier",{"2":{"13":1}}],["easily",{"2":{"10":1,"15":1}}],["easy",{"2":{"7":1,"10":1}}],["exhausting",{"2":{"12":1}}],["existing",{"2":{"6":1,"12":1}}],["even",{"2":{"11":1}}],["ever",{"2":{"9":1}}],["element",{"2":{"6":8,"11":1,"12":2,"18":1}}],["elements",{"2":{"1":1,"11":1,"12":3}}],["enter",{"2":{"5":2}}],["works",{"2":{"15":1,"16":1,"17":1}}],["would",{"2":{"1":1}}],["we",{"2":{"12":2}}],["weight",{"2":{"7":2,"9":1}}],["want",{"2":{"11":1}}],["was",{"2":{"10":1}}],["written",{"2":{"10":1}}],["what",{"2":{"9":1}}],["wheel",{"2":{"5":2,"18":2}}],["with",{"2":{"10":1,"11":1,"17":1,"18":1}}],["width",{"2":{"7":1}}],["will",{"2":{"5":2,"6":1,"9":1,"16":1}}],["window",{"2":{"3":1,"16":1}}],["lt",{"2":{"15":1}}],["less",{"2":{"9":1,"13":1}}],["loading",{"2":{"2":1,"5":1,"6":2,"18":5}}],["later",{"2":{"2":1}}],["=",{"2":{"2":1,"6":2,"16":1,"18":1}}],["|",{"2":{"2":1,"6":2}}],["menu",{"2":{"17":1}}],["meta",{"2":{"15":1}}],["method",{"2":{"2":1,"17":1}}],["mind",{"2":{"10":1}}],["minified",{"2":{"9":1}}],["manipulations",{"2":{"12":1}}],["main",{"2":{"7":1}}],["match",{"2":{"6":1}}],["my",{"2":{"6":2,"18":1}}],["more",{"2":{"1":1,"13":1}}],["multiple",{"2":{"1":1,"11":1}}],["fetching",{"2":{"18":1}}],["features",{"0":{"8":1},"1":{"9":1,"10":1,"11":1,"12":1}}],["flexible",{"2":{"13":1}}],["from",{"2":{"10":1,"16":1,"17":1}}],["following",{"2":{"15":1,"16":1}}],["font",{"2":{"7":1}}],["for",{"2":{"1":1,"9":1,"12":2}}],["family",{"2":{"7":1}}],["first",{"2":{"18":1}}],["filter",{"2":{"7":2}}],["fifo",{"2":{"1":1,"18":1}}],["fullscreen",{"2":{"5":1,"18":2}}],["function",{"0":{"10":1},"2":{"5":1,"6":1}}],["import",{"2":{"16":2}}],["imports",{"2":{"13":1}}],["iife",{"2":{"15":4}}],["is",{"2":{"7":1,"9":1,"10":1,"12":1,"13":2,"14":1}}],["it",{"2":{"5":2,"15":1,"16":2,"17":2}}],["its",{"2":{"2":1}}],["inject",{"2":{"16":1}}],["included",{"2":{"14":1}}],["initialization",{"2":{"13":1}}],["instead",{"2":{"12":3}}],["installing",{"2":{"13":2}}],["installed",{"2":{"13":1}}],["installation",{"0":{"13":1},"1":{"14":1,"15":1,"16":1}}],["install",{"0":{"15":1,"16":1},"2":{"10":1,"16":1}}],["inside",{"0":{"6":1},"2":{"6":3,"12":1,"14":1,"15":1,"16":1,"18":1}}],["internal",{"2":{"5":1,"6":1}}],["in",{"2":{"3":1,"5":1,"10":2,"11":1,"13":1,"16":1,"17":1}}],["information",{"2":{"1":1}}],["identifier",{"2":{"2":1}}],["id",{"0":{"2":1},"2":{"1":2,"2":5,"5":1,"6":1,"18":2}}],["i",{"2":{"1":1}}],["if",{"2":{"1":1,"5":2,"6":2,"11":1}}],["screens",{"2":{"18":1}}],["screen",{"2":{"18":2}}],["script>",{"2":{"15":2}}],["script",{"2":{"15":3}}],["src=",{"2":{"15":2}}],["so",{"2":{"9":1}}],["simply",{"2":{"15":1,"16":1}}],["simplicity",{"2":{"10":1}}],["simple",{"0":{"10":1},"2":{"10":1}}],["significant",{"2":{"9":1}}],["size",{"0":{"9":1},"2":{"7":2}}],["small",{"0":{"9":1}}],["start",{"2":{"10":1,"15":1,"16":3}}],["started",{"2":{"10":2}}],["stying",{"2":{"7":1}}],["string",{"2":{"5":1,"6":3}}],["select",{"2":{"17":1}}],["selector",{"2":{"6":3}}],["service",{"2":{"13":1,"16":2}}],["seconds",{"2":{"10":1}}],["see",{"2":{"1":1,"9":1,"10":1,"11":1,"17":2}}],["spawn",{"2":{"11":2}}],["spawning",{"0":{"11":1}}],["spinner",{"2":{"7":4}}],["spinning",{"2":{"5":2,"18":2}}],["splash",{"2":{"6":3,"11":2,"12":3}}],["specific",{"2":{"1":1,"2":1,"18":1}}],["same",{"2":{"1":1}}],["show",{"0":{"4":1,"5":1,"6":1},"1":{"5":1,"6":1},"2":{"1":3,"2":2,"5":3,"6":4,"10":1,"15":2,"16":2,"18":4}}],["object",{"2":{"16":1}}],["obsolete",{"2":{"12":1}}],["of",{"2":{"12":2,"13":1,"15":1}}],["overwritten",{"2":{"6":1}}],["or",{"2":{"6":1,"13":1}}],["ones",{"2":{"12":1}}],["one",{"2":{"6":1}}],["only",{"2":{"5":1,"6":1}}],["on",{"2":{"1":1}}],["open",{"2":{"1":1}}],["oldest",{"2":{"1":1}}],["here",{"2":{"17":1}}],["head>",{"2":{"15":2}}],["height",{"2":{"7":1}}],["https",{"2":{"15":2}}],["html>",{"2":{"15":2}}],["html",{"2":{"15":2}}],["htmlelement",{"2":{"6":1}}],["hook",{"2":{"16":1}}],["how",{"2":{"10":1,"11":1,"17":1}}],["host",{"2":{"6":1}}],["have",{"2":{"1":1}}],["hides",{"2":{"1":4,"2":1,"3":1}}],["hide",{"0":{"0":1,"1":1,"2":1,"3":1},"1":{"1":1,"2":1,"3":1},"2":{"1":6,"2":3,"3":1,"10":1,"18":6}}],["yourself",{"2":{"9":1}}],["your",{"2":{"7":3,"9":1,"11":1,"13":1,"16":1}}],["you",{"2":{"1":2,"5":2,"6":1,"10":1,"11":3,"13":1,"15":1,"16":2,"17":1}}],["click",{"2":{"17":1}}],["class",{"2":{"16":1}}],["calling",{"2":{"15":1,"16":1}}],["can",{"2":{"2":1,"6":1,"10":1,"11":2,"13":1,"15":1,"16":1,"17":1}}],["charset=",{"2":{"15":1}}],["check",{"2":{"12":1}}],["cdn",{"0":{"15":1},"2":{"13":2}}],["created",{"2":{"12":1,"18":1}}],["creating",{"2":{"12":2}}],["command",{"2":{"16":1}}],["com",{"2":{"15":2}}],["color",{"2":{"7":2}}],["controll",{"2":{"13":1}}],["contains",{"2":{"6":1}}],["contain",{"2":{"6":1}}],["configuration",{"2":{"13":1}}],["const",{"2":{"6":2,"16":1,"18":1}}],["css",{"0":{"14":1},"2":{"7":1,"14":1}}],["customize",{"0":{"7":1}}],["c",{"2":{"1":2}}],["body>",{"2":{"15":2}}],["body",{"2":{"15":1}}],["but",{"2":{"13":1}}],["bundlephobia",{"2":{"9":1}}],["bundle",{"0":{"9":1},"2":{"9":1,"14":1}}],["bg",{"2":{"7":1}}],["bashyarn",{"2":{"16":1}}],["based",{"2":{"1":1}}],["backdrop",{"2":{"7":1}}],["before",{"2":{"7":1}}],["be",{"2":{"2":1,"6":1,"13":1}}],["by",{"0":{"2":1},"2":{"1":1,"2":1,"15":1,"16":2}}],["b",{"2":{"1":2}}],["npm",{"0":{"16":1},"2":{"13":2,"16":1}}],["need",{"2":{"16":1}}],["needs",{"2":{"7":1}}],["new",{"2":{"12":2}}],["now",{"2":{"15":1,"16":1}}],["node",{"0":{"12":1},"2":{"6":1}}],["not",{"2":{"6":1,"9":1}}],["no",{"2":{"5":1}}],["null",{"2":{"2":1,"6":2}}],["number",{"2":{"2":2,"5":3,"6":1}}],["nss",{"2":{"7":1}}],["nst",{"2":{"7":1}}],["nsh",{"2":{"7":1}}],["ns",{"2":{"1":5,"2":2,"5":1,"6":3,"7":1,"10":2,"15":3,"16":3,"18":7}}],["nanosplashes",{"2":{"1":1,"3":1}}],["nanosplash",{"0":{"0":1,"4":1},"1":{"1":1,"2":1,"3":1,"5":1,"6":1},"2":{"1":1,"2":3,"6":1,"7":1,"9":1,"10":1,"11":1,"13":2,"15":3,"16":6,"17":1}}],["action",{"2":{"17":1}}],["above",{"2":{"17":1}}],["around",{"2":{"17":1}}],["argument",{"2":{"6":1}}],["awesome",{"2":{"15":1}}],["api",{"0":{"10":1},"2":{"10":1,"11":1,"16":1}}],["application",{"2":{"9":1,"13":1,"15":1,"16":1}}],["add",{"2":{"9":1,"15":1,"16":1}}],["adjacent",{"2":{"5":1}}],["already",{"2":{"6":1}}],["allows",{"2":{"13":1}}],["all",{"0":{"3":1},"2":{"3":1,"12":1,"18":1}}],["an",{"2":{"6":1,"18":1}}],["anywhere",{"2":{"11":1}}],["any",{"2":{"6":1,"9":1}}],["another",{"2":{"6":1}}],["and",{"2":{"5":1,"6":1,"9":2,"10":4,"12":3,"13":3,"16":2,"17":2}}],["at",{"2":{"1":1,"2":1,"6":1}}],["a",{"2":{"1":2,"2":3,"6":4,"11":1,"12":1,"17":1}}],["tag",{"2":{"15":2}}],["table",{"2":{"6":2,"18":1}}],["try",{"2":{"6":1}}],["text",{"2":{"5":4,"6":1,"7":2,"18":1}}],["to",{"2":{"2":1,"5":1,"6":1,"7":1,"9":3,"10":3,"11":3,"13":1,"16":2,"17":1}}],["than",{"2":{"9":1}}],["that",{"2":{"1":1,"6":1}}],["this",{"2":{"2":1,"5":1,"6":1}}],["them",{"2":{"12":1}}],["their",{"2":{"1":1}}],["the",{"2":{"1":2,"2":2,"3":1,"5":4,"6":4,"9":1,"10":3,"11":1,"12":2,"13":2,"14":1,"15":2,"16":6,"17":1,"18":1}}],["title>",{"2":{"15":1}}],["title>my",{"2":{"15":1}}],["time",{"2":{"1":1,"2":1,"6":1,"12":2}}],["tip",{"2":{"1":1,"6":1}}],["tsns",{"2":{"1":1,"2":1,"3":1,"5":1,"6":1,"15":1}}]],"serializationVersion":2}';
|
|
2
|
-
export {
|
|
3
|
-
_localSearchIndexroot as default
|
|
4
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { useSSRContext, useAttrs, mergeProps, unref } from "vue";
|
|
2
|
-
import { ssrRenderAttrs, ssrInterpolate, ssrRenderSlot } from "vue/server-renderer";
|
|
3
|
-
import { _ as _export_sfc } from "./plugin-vue_export-helper.1tPrXgE0.js";
|
|
4
|
-
const _sfc_main = {
|
|
5
|
-
__name: "Card",
|
|
6
|
-
__ssrInlineRender: true,
|
|
7
|
-
setup(__props) {
|
|
8
|
-
const attrs = useAttrs();
|
|
9
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
10
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "card" }, _attrs))} data-v-11a850dd>`);
|
|
11
|
-
if (unref(attrs).id) {
|
|
12
|
-
_push(`<div class="id" data-v-11a850dd>#${ssrInterpolate(unref(attrs).id)}</div>`);
|
|
13
|
-
} else {
|
|
14
|
-
_push(`<!---->`);
|
|
15
|
-
}
|
|
16
|
-
ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
|
|
17
|
-
_push(`</div>`);
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const _sfc_setup = _sfc_main.setup;
|
|
22
|
-
_sfc_main.setup = (props, ctx) => {
|
|
23
|
-
const ssrContext = useSSRContext();
|
|
24
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add(".vitepress/theme/vue/Card.vue");
|
|
25
|
-
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
26
|
-
};
|
|
27
|
-
const Card = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-11a850dd"]]);
|
|
28
|
-
export {
|
|
29
|
-
Card as C
|
|
30
|
-
};
|