@splendidlabz/utils 1.11.2 → 1.11.3
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/CHANGELOG.md +6 -0
- package/package.json +2 -2
- package/src/lib/objects/omit-empty.js +1 -1
- package/src/lib/strings/markdown.spec.js +73 -0
- package/src/node/context.js +0 -0
- package/src/node/file-cache.js +1 -1
- package/src/node/pkce.js +1 -1
- package/tsup.config.mjs +19 -1
- package/dist/cjs/dom/accessibility.cjs +0 -51
- package/dist/cjs/dom/actions/index.cjs +0 -25
- package/dist/cjs/dom/actions/masonry.cjs +0 -61
- package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +0 -113
- package/dist/cjs/dom/actions/sticky.cjs +0 -93
- package/dist/cjs/dom/bounding-box.cjs +0 -68
- package/dist/cjs/dom/clipboard.cjs +0 -35
- package/dist/cjs/dom/cookie.cjs +0 -55
- package/dist/cjs/dom/css-vars.cjs +0 -47
- package/dist/cjs/dom/events.cjs +0 -57
- package/dist/cjs/dom/focusable.cjs +0 -141
- package/dist/cjs/dom/font-size.cjs +0 -68
- package/dist/cjs/dom/get-element.cjs +0 -96
- package/dist/cjs/dom/hash.cjs +0 -33
- package/dist/cjs/dom/index.cjs +0 -65
- package/dist/cjs/dom/keyboard.cjs +0 -49
- package/dist/cjs/dom/local-store.cjs +0 -77
- package/dist/cjs/dom/media.cjs +0 -57
- package/dist/cjs/dom/observers/index.cjs +0 -27
- package/dist/cjs/dom/observers/intersection-observer.cjs +0 -59
- package/dist/cjs/dom/observers/mutation-observer.cjs +0 -63
- package/dist/cjs/dom/observers/observer.cjs +0 -38
- package/dist/cjs/dom/observers/resize-observer.cjs +0 -52
- package/dist/cjs/dom/observers/scroll-observer.cjs +0 -118
- package/dist/cjs/dom/pkce.cjs +0 -43
- package/dist/cjs/dom/query-params.cjs +0 -36
- package/dist/cjs/dom/random-string.cjs +0 -36
- package/dist/cjs/dom/sanitize.cjs +0 -41
- package/dist/cjs/dom/session-store.cjs +0 -47
- package/dist/cjs/dom/spam-prevention.cjs +0 -48
- package/dist/cjs/dom/trap-focus.cjs +0 -75
- package/dist/cjs/dom/ui/aria-current.cjs +0 -41
- package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +0 -33
- package/dist/cjs/dom/ui/index.cjs +0 -27
- package/dist/cjs/dom/ui/scroll-container.cjs +0 -45
- package/dist/cjs/dom/ui/traverse-and-scramble.cjs +0 -48
- package/dist/cjs/lib/arrays/index.cjs +0 -31
- package/dist/cjs/lib/arrays/item-position.cjs +0 -40
- package/dist/cjs/lib/arrays/join.cjs +0 -35
- package/dist/cjs/lib/arrays/shuffle.cjs +0 -40
- package/dist/cjs/lib/arrays/sort.cjs +0 -59
- package/dist/cjs/lib/arrays/split-array.cjs +0 -39
- package/dist/cjs/lib/arrays/unique.cjs +0 -29
- package/dist/cjs/lib/auth/index.cjs +0 -21
- package/dist/cjs/lib/auth/route-manager.cjs +0 -49
- package/dist/cjs/lib/checks.cjs +0 -61
- package/dist/cjs/lib/date/days.cjs +0 -35
- package/dist/cjs/lib/date/index.cjs +0 -25
- package/dist/cjs/lib/date/months.cjs +0 -100
- package/dist/cjs/lib/date/time.cjs +0 -105
- package/dist/cjs/lib/form/form-data.cjs +0 -81
- package/dist/cjs/lib/form/index.cjs +0 -23
- package/dist/cjs/lib/form/sanitize.cjs +0 -59
- package/dist/cjs/lib/functions/callback.cjs +0 -29
- package/dist/cjs/lib/functions/debounce.cjs +0 -41
- package/dist/cjs/lib/functions/env.cjs +0 -30
- package/dist/cjs/lib/functions/functional.cjs +0 -80
- package/dist/cjs/lib/functions/index.cjs +0 -29
- package/dist/cjs/lib/functions/throttle.cjs +0 -36
- package/dist/cjs/lib/functions/timeout.cjs +0 -39
- package/dist/cjs/lib/hash.cjs +0 -41
- package/dist/cjs/lib/index.cjs +0 -47
- package/dist/cjs/lib/numbers/index.cjs +0 -36
- package/dist/cjs/lib/numbers/math.cjs +0 -34
- package/dist/cjs/lib/objects/camelcase-keys.cjs +0 -39
- package/dist/cjs/lib/objects/empty.cjs +0 -37
- package/dist/cjs/lib/objects/equal.cjs +0 -45
- package/dist/cjs/lib/objects/extend.cjs +0 -36
- package/dist/cjs/lib/objects/flatten.cjs +0 -40
- package/dist/cjs/lib/objects/index.cjs +0 -45
- package/dist/cjs/lib/objects/json.cjs +0 -33
- package/dist/cjs/lib/objects/loop.cjs +0 -38
- package/dist/cjs/lib/objects/mix/mix.cjs +0 -113
- package/dist/cjs/lib/objects/nested-property.cjs +0 -43
- package/dist/cjs/lib/objects/normalize-object.cjs +0 -32
- package/dist/cjs/lib/objects/omit-empty.cjs +0 -38
- package/dist/cjs/lib/objects/size.cjs +0 -61
- package/dist/cjs/lib/objects/split.cjs +0 -37
- package/dist/cjs/lib/promises/index.cjs +0 -21
- package/dist/cjs/lib/promises/reject.cjs +0 -50
- package/dist/cjs/lib/sse.cjs +0 -74
- package/dist/cjs/lib/strings/convert-case/convert-case.cjs +0 -94
- package/dist/cjs/lib/strings/index.cjs +0 -29
- package/dist/cjs/lib/strings/markdown.cjs +0 -74
- package/dist/cjs/lib/strings/name.cjs +0 -44
- package/dist/cjs/lib/strings/pluralize.cjs +0 -38
- package/dist/cjs/lib/strings/query-string.cjs +0 -41
- package/dist/cjs/lib/style/index.cjs +0 -35
- package/dist/cjs/lib/symbols/index.cjs +0 -21
- package/dist/cjs/lib/symbols/symbols.cjs +0 -36
- package/dist/cjs/node/dirname.cjs +0 -47
- package/dist/cjs/node/file-cache.cjs +0 -158
- package/dist/cjs/node/file.cjs +0 -48
- package/dist/cjs/node/hash.cjs +0 -40
- package/dist/cjs/node/index.cjs +0 -33
- package/dist/cjs/node/pkce.cjs +0 -52
- package/dist/cjs/node/random-string.cjs +0 -41
- package/dist/cjs/node/sanitize.cjs +0 -41
- package/dist/cjs/node/uuid.cjs +0 -40
- package/dist/esm/dom/accessibility.js +0 -26
- package/dist/esm/dom/actions/index.js +0 -3
- package/dist/esm/dom/actions/masonry.js +0 -38
- package/dist/esm/dom/actions/prefer-horizontal-scroll.js +0 -90
- package/dist/esm/dom/actions/sticky.js +0 -70
- package/dist/esm/dom/bounding-box.js +0 -44
- package/dist/esm/dom/clipboard.js +0 -12
- package/dist/esm/dom/cookie.js +0 -31
- package/dist/esm/dom/css-vars.js +0 -21
- package/dist/esm/dom/events.js +0 -31
- package/dist/esm/dom/focusable.js +0 -117
- package/dist/esm/dom/font-size.js +0 -40
- package/dist/esm/dom/get-element.js +0 -66
- package/dist/esm/dom/hash.js +0 -10
- package/dist/esm/dom/index.js +0 -23
- package/dist/esm/dom/keyboard.js +0 -22
- package/dist/esm/dom/local-store.js +0 -54
- package/dist/esm/dom/media.js +0 -32
- package/dist/esm/dom/observers/index.js +0 -4
- package/dist/esm/dom/observers/intersection-observer.js +0 -36
- package/dist/esm/dom/observers/mutation-observer.js +0 -40
- package/dist/esm/dom/observers/observer.js +0 -15
- package/dist/esm/dom/observers/resize-observer.js +0 -29
- package/dist/esm/dom/observers/scroll-observer.js +0 -95
- package/dist/esm/dom/pkce.js +0 -20
- package/dist/esm/dom/query-params.js +0 -13
- package/dist/esm/dom/random-string.js +0 -12
- package/dist/esm/dom/sanitize.js +0 -8
- package/dist/esm/dom/session-store.js +0 -24
- package/dist/esm/dom/spam-prevention.js +0 -25
- package/dist/esm/dom/trap-focus.js +0 -51
- package/dist/esm/dom/ui/aria-current.js +0 -17
- package/dist/esm/dom/ui/inconsistent-button-fix.js +0 -10
- package/dist/esm/dom/ui/index.js +0 -4
- package/dist/esm/dom/ui/scroll-container.js +0 -22
- package/dist/esm/dom/ui/traverse-and-scramble.js +0 -25
- package/dist/esm/lib/arrays/index.js +0 -6
- package/dist/esm/lib/arrays/item-position.js +0 -15
- package/dist/esm/lib/arrays/join.js +0 -12
- package/dist/esm/lib/arrays/shuffle.js +0 -17
- package/dist/esm/lib/arrays/sort.js +0 -36
- package/dist/esm/lib/arrays/split-array.js +0 -16
- package/dist/esm/lib/arrays/unique.js +0 -6
- package/dist/esm/lib/auth/index.js +0 -1
- package/dist/esm/lib/auth/route-manager.js +0 -25
- package/dist/esm/lib/checks.js +0 -34
- package/dist/esm/lib/date/days.js +0 -12
- package/dist/esm/lib/date/index.js +0 -3
- package/dist/esm/lib/date/months.js +0 -77
- package/dist/esm/lib/date/time.js +0 -75
- package/dist/esm/lib/form/form-data.js +0 -57
- package/dist/esm/lib/form/index.js +0 -2
- package/dist/esm/lib/form/sanitize.js +0 -34
- package/dist/esm/lib/functions/callback.js +0 -6
- package/dist/esm/lib/functions/debounce.js +0 -18
- package/dist/esm/lib/functions/env.js +0 -7
- package/dist/esm/lib/functions/functional.js +0 -52
- package/dist/esm/lib/functions/index.js +0 -5
- package/dist/esm/lib/functions/throttle.js +0 -13
- package/dist/esm/lib/functions/timeout.js +0 -14
- package/dist/esm/lib/hash.js +0 -18
- package/dist/esm/lib/index.js +0 -14
- package/dist/esm/lib/numbers/index.js +0 -11
- package/dist/esm/lib/numbers/math.js +0 -10
- package/dist/esm/lib/objects/camelcase-keys.js +0 -16
- package/dist/esm/lib/objects/empty.js +0 -13
- package/dist/esm/lib/objects/equal.js +0 -11
- package/dist/esm/lib/objects/extend.js +0 -13
- package/dist/esm/lib/objects/flatten.js +0 -17
- package/dist/esm/lib/objects/index.js +0 -13
- package/dist/esm/lib/objects/json.js +0 -10
- package/dist/esm/lib/objects/loop.js +0 -14
- package/dist/esm/lib/objects/mix/mix.js +0 -88
- package/dist/esm/lib/objects/nested-property.js +0 -18
- package/dist/esm/lib/objects/normalize-object.js +0 -9
- package/dist/esm/lib/objects/omit-empty.js +0 -15
- package/dist/esm/lib/objects/size.js +0 -38
- package/dist/esm/lib/objects/split.js +0 -14
- package/dist/esm/lib/promises/index.js +0 -1
- package/dist/esm/lib/promises/reject.js +0 -17
- package/dist/esm/lib/sse.js +0 -50
- package/dist/esm/lib/strings/convert-case/convert-case.js +0 -64
- package/dist/esm/lib/strings/index.js +0 -5
- package/dist/esm/lib/strings/markdown.js +0 -40
- package/dist/esm/lib/strings/name.js +0 -21
- package/dist/esm/lib/strings/pluralize.js +0 -5
- package/dist/esm/lib/strings/query-string.js +0 -16
- package/dist/esm/lib/style/index.js +0 -12
- package/dist/esm/lib/symbols/index.js +0 -1
- package/dist/esm/lib/symbols/symbols.js +0 -12
- package/dist/esm/node/dirname.js +0 -13
- package/dist/esm/node/file-cache.js +0 -121
- package/dist/esm/node/file.js +0 -14
- package/dist/esm/node/hash.js +0 -7
- package/dist/esm/node/index.js +0 -7
- package/dist/esm/node/pkce.js +0 -19
- package/dist/esm/node/random-string.js +0 -8
- package/dist/esm/node/sanitize.js +0 -8
- package/dist/esm/node/uuid.js +0 -7
- package/dist/types/dom/accessibility.d.cts +0 -30
- package/dist/types/dom/actions/index.d.cts +0 -3
- package/dist/types/dom/actions/masonry.d.cts +0 -5
- package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +0 -5
- package/dist/types/dom/actions/sticky.d.cts +0 -5
- package/dist/types/dom/bounding-box.d.cts +0 -41
- package/dist/types/dom/clipboard.d.cts +0 -7
- package/dist/types/dom/cookie.d.cts +0 -7
- package/dist/types/dom/css-vars.d.cts +0 -6
- package/dist/types/dom/events.d.cts +0 -92
- package/dist/types/dom/focusable.d.cts +0 -78
- package/dist/types/dom/font-size.d.cts +0 -8
- package/dist/types/dom/get-element.d.cts +0 -102
- package/dist/types/dom/hash.d.cts +0 -3
- package/dist/types/dom/index.d.cts +0 -31
- package/dist/types/dom/keyboard.d.cts +0 -32
- package/dist/types/dom/local-store.d.cts +0 -31
- package/dist/types/dom/media.d.cts +0 -5
- package/dist/types/dom/observers/index.d.cts +0 -4
- package/dist/types/dom/observers/intersection-observer.d.cts +0 -10
- package/dist/types/dom/observers/mutation-observer.d.cts +0 -9
- package/dist/types/dom/observers/observer.d.cts +0 -3
- package/dist/types/dom/observers/resize-observer.d.cts +0 -40
- package/dist/types/dom/observers/scroll-observer.d.cts +0 -40
- package/dist/types/dom/pkce.d.cts +0 -8
- package/dist/types/dom/query-params.d.cts +0 -6
- package/dist/types/dom/random-string.d.cts +0 -9
- package/dist/types/dom/sanitize.d.cts +0 -10
- package/dist/types/dom/session-store.d.cts +0 -7
- package/dist/types/dom/spam-prevention.d.cts +0 -14
- package/dist/types/dom/trap-focus.d.cts +0 -32
- package/dist/types/dom/ui/aria-current.d.cts +0 -7
- package/dist/types/dom/ui/inconsistent-button-fix.d.cts +0 -14
- package/dist/types/dom/ui/index.d.cts +0 -4
- package/dist/types/dom/ui/scroll-container.d.cts +0 -3
- package/dist/types/dom/ui/traverse-and-scramble.d.cts +0 -21
- package/dist/types/lib/arrays/index.d.cts +0 -6
- package/dist/types/lib/arrays/item-position.d.cts +0 -16
- package/dist/types/lib/arrays/join.d.cts +0 -15
- package/dist/types/lib/arrays/shuffle.d.cts +0 -3
- package/dist/types/lib/arrays/sort.d.cts +0 -32
- package/dist/types/lib/arrays/split-array.d.cts +0 -6
- package/dist/types/lib/arrays/unique.d.cts +0 -3
- package/dist/types/lib/auth/index.d.cts +0 -1
- package/dist/types/lib/auth/route-manager.d.cts +0 -28
- package/dist/types/lib/checks.d.cts +0 -33
- package/dist/types/lib/date/days.d.cts +0 -7
- package/dist/types/lib/date/index.d.cts +0 -3
- package/dist/types/lib/date/months.d.cts +0 -11
- package/dist/types/lib/date/time.d.cts +0 -21
- package/dist/types/lib/form/form-data.d.cts +0 -9
- package/dist/types/lib/form/index.d.cts +0 -2
- package/dist/types/lib/form/sanitize.d.cts +0 -60
- package/dist/types/lib/functions/callback.d.cts +0 -8
- package/dist/types/lib/functions/debounce.d.cts +0 -3
- package/dist/types/lib/functions/env.d.cts +0 -3
- package/dist/types/lib/functions/functional.d.cts +0 -72
- package/dist/types/lib/functions/index.d.cts +0 -5
- package/dist/types/lib/functions/throttle.d.cts +0 -3
- package/dist/types/lib/functions/timeout.d.cts +0 -5
- package/dist/types/lib/hash.d.cts +0 -3
- package/dist/types/lib/index.d.cts +0 -43
- package/dist/types/lib/numbers/index.d.cts +0 -5
- package/dist/types/lib/numbers/math.d.cts +0 -4
- package/dist/types/lib/objects/camelcase-keys.d.cts +0 -3
- package/dist/types/lib/objects/empty.d.cts +0 -4
- package/dist/types/lib/objects/equal.d.cts +0 -4
- package/dist/types/lib/objects/extend.d.cts +0 -6
- package/dist/types/lib/objects/flatten.d.cts +0 -6
- package/dist/types/lib/objects/index.d.cts +0 -13
- package/dist/types/lib/objects/json.d.cts +0 -3
- package/dist/types/lib/objects/loop.d.cts +0 -4
- package/dist/types/lib/objects/mix/mix.d.cts +0 -44
- package/dist/types/lib/objects/nested-property.d.cts +0 -24
- package/dist/types/lib/objects/normalize-object.d.cts +0 -3
- package/dist/types/lib/objects/omit-empty.d.cts +0 -3
- package/dist/types/lib/objects/size.d.cts +0 -3
- package/dist/types/lib/objects/split.d.cts +0 -14
- package/dist/types/lib/promises/index.d.cts +0 -1
- package/dist/types/lib/promises/reject.d.cts +0 -5
- package/dist/types/lib/sse.d.cts +0 -18
- package/dist/types/lib/strings/convert-case/convert-case.d.cts +0 -10
- package/dist/types/lib/strings/index.d.cts +0 -5
- package/dist/types/lib/strings/markdown.d.cts +0 -25
- package/dist/types/lib/strings/name.d.cts +0 -7
- package/dist/types/lib/strings/pluralize.d.cts +0 -3
- package/dist/types/lib/strings/query-string.d.cts +0 -10
- package/dist/types/lib/style/index.d.cts +0 -3
- package/dist/types/lib/symbols/index.d.cts +0 -1
- package/dist/types/lib/symbols/symbols.d.cts +0 -4
- package/dist/types/node/dirname.d.cts +0 -9
- package/dist/types/node/file-cache.d.cts +0 -56
- package/dist/types/node/file.d.cts +0 -4
- package/dist/types/node/hash.d.cts +0 -3
- package/dist/types/node/index.d.cts +0 -7
- package/dist/types/node/pkce.d.cts +0 -8
- package/dist/types/node/random-string.d.cts +0 -3
- package/dist/types/node/sanitize.d.cts +0 -10
- package/dist/types/node/uuid.d.cts +0 -3
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splendidlabz/utils",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://splendidlabz.com/docs/utils",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"statuses": "^2.0.1"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@splendidlabz/eslint-config": "2.1.
|
|
69
|
+
"@splendidlabz/eslint-config": "2.1.3",
|
|
70
70
|
"jsdom": "^26.0.0",
|
|
71
71
|
"np": "^10.2.0",
|
|
72
72
|
"tsup": "^8.0.0",
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest'
|
|
2
|
+
import { markdown, treatMarkdownWhitespace } from './markdown.js'
|
|
3
|
+
|
|
4
|
+
describe('markdown', () => {
|
|
5
|
+
describe('block (default)', () => {
|
|
6
|
+
test('wraps output in <p>', () => {
|
|
7
|
+
const result = markdown('hello')
|
|
8
|
+
expect(result).toBe('<p>hello</p>\n')
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
test('renders bold', () => {
|
|
12
|
+
const result = markdown('**bold**')
|
|
13
|
+
expect(result).toBe('<p><strong>bold</strong></p>\n')
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
test('renders headings', () => {
|
|
17
|
+
const result = markdown('# Hello')
|
|
18
|
+
expect(result).toContain('<h1')
|
|
19
|
+
expect(result).toContain('Hello</h1>')
|
|
20
|
+
})
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
describe('inline', () => {
|
|
24
|
+
test('never produces <p> tags', () => {
|
|
25
|
+
const result = markdown('hello', { inline: true })
|
|
26
|
+
expect(result).not.toContain('<p>')
|
|
27
|
+
expect(result).not.toContain('</p>')
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
test('plain text renders as-is', () => {
|
|
31
|
+
const result = markdown('hello', { inline: true })
|
|
32
|
+
expect(result).toBe('hello')
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
test('renders bold without <p>', () => {
|
|
36
|
+
const result = markdown('**bold**', { inline: true })
|
|
37
|
+
expect(result).toBe('<strong>bold</strong>')
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
test('renders em without <p>', () => {
|
|
41
|
+
const result = markdown('_em_', { inline: true })
|
|
42
|
+
expect(result).toBe('<em>em</em>')
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
test('renders inline code without <p>', () => {
|
|
46
|
+
const result = markdown('`code`', { inline: true })
|
|
47
|
+
expect(result).toBe('<code>code</code>')
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
describe('treatMarkdownWhitespace', () => {
|
|
53
|
+
test('returns empty string for falsy content', () => {
|
|
54
|
+
const a = treatMarkdownWhitespace('')
|
|
55
|
+
const b = treatMarkdownWhitespace(null)
|
|
56
|
+
const c = treatMarkdownWhitespace(undefined)
|
|
57
|
+
expect(a.content).toBe('')
|
|
58
|
+
expect(b.content).toBe('')
|
|
59
|
+
expect(c.content).toBe('')
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
test('strips leading indentation', () => {
|
|
63
|
+
const { content } = treatMarkdownWhitespace('\n hello\n world')
|
|
64
|
+
expect(content).not.toContain(' hello')
|
|
65
|
+
expect(content).toContain('hello')
|
|
66
|
+
expect(content).toContain('world')
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
test('returns inline content as-is when first line is not empty', () => {
|
|
70
|
+
const { content } = treatMarkdownWhitespace('hello world', { inline: true })
|
|
71
|
+
expect(content).toBe('hello world')
|
|
72
|
+
})
|
|
73
|
+
})
|
|
File without changes
|
package/src/node/file-cache.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from 'fs/promises'
|
|
2
2
|
import { glob } from 'glob'
|
|
3
3
|
import path from 'node:path'
|
|
4
|
-
import { sort } from '../lib/arrays/
|
|
4
|
+
import { sort } from '../lib/arrays/sort.js'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Resolves a path to an absolute path, handling both absolute and relative paths
|
package/src/node/pkce.js
CHANGED
|
@@ -20,7 +20,7 @@ export async function PKCE() {
|
|
|
20
20
|
* @param {string} verifier
|
|
21
21
|
* @returns string
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
export function getCodeChallenge(verifier) {
|
|
24
24
|
// Hash to code verifier with SHA-256
|
|
25
25
|
const hash = crypto.createHash('sha256').update(verifier).digest()
|
|
26
26
|
|
package/tsup.config.mjs
CHANGED
|
@@ -27,10 +27,28 @@ export default defineConfig([
|
|
|
27
27
|
outDir: 'dist/cjs',
|
|
28
28
|
outExtension: () => ({ js: '.cjs' }),
|
|
29
29
|
clean: false,
|
|
30
|
-
bundle:
|
|
30
|
+
bundle: true,
|
|
31
31
|
splitting: false,
|
|
32
32
|
sourcemap: false,
|
|
33
33
|
dts: false,
|
|
34
|
+
external: [
|
|
35
|
+
'fs',
|
|
36
|
+
'fs/promises',
|
|
37
|
+
'node:path',
|
|
38
|
+
'node:crypto',
|
|
39
|
+
'node:fs',
|
|
40
|
+
'glob',
|
|
41
|
+
'deep-eql',
|
|
42
|
+
'dompurify',
|
|
43
|
+
'markdown-it',
|
|
44
|
+
'markdown-it-anchor',
|
|
45
|
+
'marked',
|
|
46
|
+
'marked-gfm-heading-id',
|
|
47
|
+
'marked-mangle',
|
|
48
|
+
'pluralize',
|
|
49
|
+
'sanitize-html',
|
|
50
|
+
'statuses',
|
|
51
|
+
],
|
|
34
52
|
},
|
|
35
53
|
// Types build
|
|
36
54
|
{
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var accessibility_exports = {};
|
|
19
|
-
__export(accessibility_exports, {
|
|
20
|
-
checkForAccessibleName: () => checkForAccessibleName,
|
|
21
|
-
hasAccessibleName: () => hasAccessibleName,
|
|
22
|
-
isInvalidAriaPopup: () => isInvalidAriaPopup
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(accessibility_exports);
|
|
25
|
-
function hasAccessibleName(label, labelledBy) {
|
|
26
|
-
if (label || labelledBy) return true;
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
function checkForAccessibleName({
|
|
30
|
-
name,
|
|
31
|
-
ariaLabel,
|
|
32
|
-
ariaLabelledBy,
|
|
33
|
-
severity = "warn"
|
|
34
|
-
} = {}) {
|
|
35
|
-
if (ariaLabel || ariaLabelledBy) return true;
|
|
36
|
-
const message = `${name} is missing an accessible name. Please provide an accessible name with 'aria-label' or 'aria-labelledby'.`;
|
|
37
|
-
if (severity === "warn") console.warn(message);
|
|
38
|
-
if (severity === "error") console.error(message);
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
function isInvalidAriaPopup(value) {
|
|
42
|
-
const allowedPopoupValues = ["dialog", "menu", "listbox", "grid", "tree"];
|
|
43
|
-
if (!allowedPopoupValues.includes(value)) return true;
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
checkForAccessibleName,
|
|
49
|
-
hasAccessibleName,
|
|
50
|
-
isInvalidAriaPopup
|
|
51
|
-
});
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
-
}
|
|
11
|
-
return to;
|
|
12
|
-
};
|
|
13
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
var actions_exports = {};
|
|
16
|
-
module.exports = __toCommonJS(actions_exports);
|
|
17
|
-
__reExport(actions_exports, require("./masonry.js"), module.exports);
|
|
18
|
-
__reExport(actions_exports, require("./prefer-horizontal-scroll.js"), module.exports);
|
|
19
|
-
__reExport(actions_exports, require("./sticky.js"), module.exports);
|
|
20
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
-
0 && (module.exports = {
|
|
22
|
-
...require("./masonry.js"),
|
|
23
|
-
...require("./prefer-horizontal-scroll.js"),
|
|
24
|
-
...require("./sticky.js")
|
|
25
|
-
});
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var masonry_exports = {};
|
|
19
|
-
__export(masonry_exports, {
|
|
20
|
-
masonry: () => masonry
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(masonry_exports);
|
|
23
|
-
var import_get_element = require("../get-element.js");
|
|
24
|
-
var import_media = require("../media.js");
|
|
25
|
-
var import_resize_observer = require("../observers/resize-observer.js");
|
|
26
|
-
async function masonry(node) {
|
|
27
|
-
if (nativeMasonrySupport(node)) return;
|
|
28
|
-
const colGap = parseFloat(getComputedStyle(node).columnGap);
|
|
29
|
-
const items = (0, import_get_element.getChildrenElements)(node);
|
|
30
|
-
node.style.setProperty("row-gap", "1px", "important");
|
|
31
|
-
node.style.gridAutoRows = "0px";
|
|
32
|
-
node.updateMasonryLayout = (_) => layout({ colGap, items });
|
|
33
|
-
try {
|
|
34
|
-
await (0, import_media.mediaLoaded)(node);
|
|
35
|
-
} catch (e) {
|
|
36
|
-
}
|
|
37
|
-
layout({ colGap, items });
|
|
38
|
-
const obs = (0, import_resize_observer.resizeObserver)(node, {
|
|
39
|
-
async callback(opts) {
|
|
40
|
-
layout({ colGap, items });
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
async function layout({ colGap: colGap2, items: items2 }) {
|
|
44
|
-
items2.forEach((item) => {
|
|
45
|
-
const ib = item.getBoundingClientRect();
|
|
46
|
-
item.style.gridRowEnd = `span ${Math.round(ib.height + colGap2)}`;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
destroy() {
|
|
51
|
-
obs.disconnect();
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function nativeMasonrySupport(node) {
|
|
56
|
-
return getComputedStyle(node).gridTemplateRows === "masonry";
|
|
57
|
-
}
|
|
58
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
-
0 && (module.exports = {
|
|
60
|
-
masonry
|
|
61
|
-
});
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var prefer_horizontal_scroll_exports = {};
|
|
19
|
-
__export(prefer_horizontal_scroll_exports, {
|
|
20
|
-
preferHorizontalScroll: () => preferHorizontalScroll
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(prefer_horizontal_scroll_exports);
|
|
23
|
-
var import_omit_empty = require("../../lib/objects/omit-empty.js");
|
|
24
|
-
var import_css_vars = require("../css-vars.js");
|
|
25
|
-
var import_events = require("../events.js");
|
|
26
|
-
const DEFAULT_OPTIONS = {
|
|
27
|
-
scrollSnapDelay: 1e3
|
|
28
|
-
};
|
|
29
|
-
function preferHorizontalScroll(node, props = {}) {
|
|
30
|
-
if (!node.classList.contains("scrollable-prefer-horizontal")) return;
|
|
31
|
-
const state = {
|
|
32
|
-
origSnapType: null,
|
|
33
|
-
currentSnapType: null,
|
|
34
|
-
snapTimeoutID: null
|
|
35
|
-
};
|
|
36
|
-
const options = {
|
|
37
|
-
...DEFAULT_OPTIONS,
|
|
38
|
-
...(0, import_omit_empty.omitEmpty)({
|
|
39
|
-
scrollSnapDelay: (0, import_css_vars.getCSSVar)(node, "--scroll-snap-delay")
|
|
40
|
-
}),
|
|
41
|
-
...(0, import_omit_empty.omitEmpty)(props)
|
|
42
|
-
};
|
|
43
|
-
const listeners = [
|
|
44
|
-
{
|
|
45
|
-
event: "wheel",
|
|
46
|
-
node,
|
|
47
|
-
handler: handleWheel
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
event: "pointerenter",
|
|
51
|
-
node,
|
|
52
|
-
handler: handlePointerEnter
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
event: "pointerleave",
|
|
56
|
-
node,
|
|
57
|
-
handler: handlePointerLeave
|
|
58
|
-
}
|
|
59
|
-
];
|
|
60
|
-
(0, import_events.addListeners)(listeners);
|
|
61
|
-
function handleWheel(event) {
|
|
62
|
-
const direction = event.deltaY > 0 ? "down" : "up";
|
|
63
|
-
const updatedDelta = event.deltaY;
|
|
64
|
-
if (isTrackpad(event)) return false;
|
|
65
|
-
(0, import_css_vars.setCSSVar)(node, "--snap-type", "none");
|
|
66
|
-
const scrolledAmount = node.scrollLeft;
|
|
67
|
-
const scrollWidth = node.scrollWidth;
|
|
68
|
-
const clientWidth = node.clientWidth;
|
|
69
|
-
const scrollableAmount = scrollWidth - clientWidth;
|
|
70
|
-
if (direction === "down" && scrolledAmount < scrollableAmount) {
|
|
71
|
-
node.scrollLeft += updatedDelta;
|
|
72
|
-
event.preventDefault();
|
|
73
|
-
}
|
|
74
|
-
if (direction === "up" && scrolledAmount > 0) {
|
|
75
|
-
node.scrollLeft += updatedDelta;
|
|
76
|
-
event.preventDefault();
|
|
77
|
-
}
|
|
78
|
-
const { snapTimeoutID } = state;
|
|
79
|
-
if (snapTimeoutID) clearTimeout(snapTimeoutID);
|
|
80
|
-
state.snapTimeoutID = setTimeout((_) => {
|
|
81
|
-
restoreHijackedState(node, state);
|
|
82
|
-
}, options.scrollSnapDelay);
|
|
83
|
-
}
|
|
84
|
-
function handlePointerEnter(event) {
|
|
85
|
-
state.origSnapType = (0, import_css_vars.getCSSVar)(node, "--snap-type") || "proximity";
|
|
86
|
-
}
|
|
87
|
-
function handlePointerLeave(event) {
|
|
88
|
-
restoreHijackedState(node, state);
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
destroy() {
|
|
92
|
-
(0, import_events.removeListeners)(listeners);
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
function restoreHijackedState(node, state) {
|
|
97
|
-
const scrollLeft = node.scrollLeft;
|
|
98
|
-
(0, import_css_vars.setCSSVar)(node, "--snap-type", state.origSnapType);
|
|
99
|
-
const finalScrollLeft = node.scrollLeft;
|
|
100
|
-
(0, import_css_vars.setCSSVar)(node, "--snap-type", "none");
|
|
101
|
-
node.scrollTo({ left: scrollLeft, behavior: "instant" });
|
|
102
|
-
node.scrollTo({ left: finalScrollLeft, behavior: "smooth" });
|
|
103
|
-
setTimeout((_) => {
|
|
104
|
-
(0, import_css_vars.setCSSVar)(node, "--snap-type", state.origSnapType);
|
|
105
|
-
}, 250);
|
|
106
|
-
}
|
|
107
|
-
function isTrackpad(event) {
|
|
108
|
-
if (event.wheelDeltaY === event.deltaY * -3) return true;
|
|
109
|
-
}
|
|
110
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
-
0 && (module.exports = {
|
|
112
|
-
preferHorizontalScroll
|
|
113
|
-
});
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var sticky_exports = {};
|
|
19
|
-
__export(sticky_exports, {
|
|
20
|
-
sticky: () => sticky
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(sticky_exports);
|
|
23
|
-
var import_bounding_box = require("../bounding-box.js");
|
|
24
|
-
var import_resize_observer = require("../observers/resize-observer.js");
|
|
25
|
-
var import_scroll_container = require("../ui/scroll-container.js");
|
|
26
|
-
function sticky(node, props = {}) {
|
|
27
|
-
const scrollContainer = (0, import_scroll_container.findScrollContainer)(node);
|
|
28
|
-
let stickyTBLR = getComputedTBLR(node);
|
|
29
|
-
const obs = (0, import_resize_observer.resizeObserver)(node, {
|
|
30
|
-
callback: ({ entry }) => {
|
|
31
|
-
stickyTBLR = getComputedTBLR(node);
|
|
32
|
-
isSticking();
|
|
33
|
-
scrollContainer === document.documentElement ? window.addEventListener("scroll", scrollEventListener) : scrollContainer.addEventListener("scroll", scrollEventListener);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
function scrollEventListener(event) {
|
|
37
|
-
isSticking();
|
|
38
|
-
}
|
|
39
|
-
function isSticking() {
|
|
40
|
-
const { top, bottom, left, right } = stickyTBLR;
|
|
41
|
-
const relativeRect = (0, import_bounding_box.boundingBoxRelativeToAncestor)({
|
|
42
|
-
element: node,
|
|
43
|
-
ancestorElement: scrollContainer
|
|
44
|
-
});
|
|
45
|
-
if (!isNaN(top)) {
|
|
46
|
-
if (relativeRect.top - top <= 1) {
|
|
47
|
-
node.classList.add("sticking");
|
|
48
|
-
} else {
|
|
49
|
-
node.classList.remove("sticking");
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (!isNaN(bottom)) {
|
|
53
|
-
if (relativeRect.bottom + bottom >= -1) {
|
|
54
|
-
node.classList.add("sticking");
|
|
55
|
-
} else {
|
|
56
|
-
node.classList.remove("sticking");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (!isNaN(left)) {
|
|
60
|
-
if (relativeRect.left - left <= 1) {
|
|
61
|
-
node.classList.add("sticking");
|
|
62
|
-
} else {
|
|
63
|
-
node.classList.remove("sticking");
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (!isNaN(right)) {
|
|
67
|
-
if (relativeRect.right + right >= -1) {
|
|
68
|
-
node.classList.add("sticking");
|
|
69
|
-
} else {
|
|
70
|
-
node.classList.remove("sticking");
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
destroy() {
|
|
76
|
-
obs.disconnect();
|
|
77
|
-
scrollContainer.removeEventListener("scroll", scrollEventListener);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function getComputedTBLR(element) {
|
|
82
|
-
const style = getComputedStyle(element);
|
|
83
|
-
return {
|
|
84
|
-
top: parseFloat(style.top),
|
|
85
|
-
bottom: parseFloat(style.bottom),
|
|
86
|
-
left: parseFloat(style.left),
|
|
87
|
-
right: parseFloat(style.right)
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
91
|
-
0 && (module.exports = {
|
|
92
|
-
sticky
|
|
93
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var bounding_box_exports = {};
|
|
19
|
-
__export(bounding_box_exports, {
|
|
20
|
-
boundingBox: () => boundingBox,
|
|
21
|
-
boundingBoxRelativeToAncestor: () => boundingBoxRelativeToAncestor
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(bounding_box_exports);
|
|
24
|
-
function boundingBox(element, { containsPadding = true } = {}) {
|
|
25
|
-
const box = element.getBoundingClientRect();
|
|
26
|
-
const ret = {};
|
|
27
|
-
for (const prop in box) ret[prop] = box[prop];
|
|
28
|
-
if (!containsPadding) {
|
|
29
|
-
const style = getComputedStyle(element);
|
|
30
|
-
const paddingTop = parseFloat(style.paddingTop);
|
|
31
|
-
const paddingRight = parseFloat(style.paddingRight);
|
|
32
|
-
const paddingBottom = parseFloat(style.paddingBottom);
|
|
33
|
-
const paddingLeft = parseFloat(style.paddingLeft);
|
|
34
|
-
ret.x = ret.x + paddingLeft;
|
|
35
|
-
ret.y = ret.y + paddingTop;
|
|
36
|
-
ret.width = ret.width - paddingLeft - paddingRight;
|
|
37
|
-
ret.height = ret.height - paddingTop - paddingBottom;
|
|
38
|
-
ret.top = ret.top + paddingTop;
|
|
39
|
-
ret.bottom = ret.bottom - paddingBottom;
|
|
40
|
-
ret.right = ret.right - paddingRight;
|
|
41
|
-
ret.left = ret.left + paddingLeft;
|
|
42
|
-
}
|
|
43
|
-
ret.xCenter = (ret.left + ret.right) / 2;
|
|
44
|
-
ret.yCenter = (ret.top + ret.bottom) / 2;
|
|
45
|
-
return ret;
|
|
46
|
-
}
|
|
47
|
-
function boundingBoxRelativeToAncestor({ element, ancestorElement }) {
|
|
48
|
-
ancestorElement = ancestorElement || element.parentElement;
|
|
49
|
-
const box = boundingBox(element);
|
|
50
|
-
const ancestorBox = boundingBox(ancestorElement, {
|
|
51
|
-
containsPadding: false
|
|
52
|
-
});
|
|
53
|
-
return {
|
|
54
|
-
top: box.top - ancestorBox.top,
|
|
55
|
-
right: box.right - ancestorBox.right,
|
|
56
|
-
bottom: box.bottom - ancestorBox.bottom,
|
|
57
|
-
left: box.left - ancestorBox.left,
|
|
58
|
-
width: box.width,
|
|
59
|
-
height: box.height,
|
|
60
|
-
xCenter: (box.left + box.right) / 2 - ancestorBox.left,
|
|
61
|
-
yCenter: (box.top + box.bottom) / 2 - ancestorBox.top
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
-
0 && (module.exports = {
|
|
66
|
-
boundingBox,
|
|
67
|
-
boundingBoxRelativeToAncestor
|
|
68
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var clipboard_exports = {};
|
|
19
|
-
__export(clipboard_exports, {
|
|
20
|
-
copyRichText: () => copyRichText
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(clipboard_exports);
|
|
23
|
-
function copyRichText(element) {
|
|
24
|
-
const range = document.createRange();
|
|
25
|
-
range.selectNode(element);
|
|
26
|
-
const selection = window.getSelection();
|
|
27
|
-
selection.removeAllRanges();
|
|
28
|
-
selection.addRange(range);
|
|
29
|
-
document.execCommand("copy");
|
|
30
|
-
selection.removeAllRanges();
|
|
31
|
-
}
|
|
32
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
-
0 && (module.exports = {
|
|
34
|
-
copyRichText
|
|
35
|
-
});
|
package/dist/cjs/dom/cookie.cjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var cookie_exports = {};
|
|
19
|
-
__export(cookie_exports, {
|
|
20
|
-
cookies: () => cookies,
|
|
21
|
-
getCookie: () => getCookie
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cookie_exports);
|
|
24
|
-
const cookies = {
|
|
25
|
-
get(name) {
|
|
26
|
-
return getCookie(name);
|
|
27
|
-
},
|
|
28
|
-
set(name, value, days) {
|
|
29
|
-
setCookie(name, value, days);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
function getCookie(name) {
|
|
33
|
-
const match = document.cookie.match(new RegExp("(^| )" + name + "=([^;]+)"));
|
|
34
|
-
if (!match) return null;
|
|
35
|
-
const decoded = decodeURIComponent(match[2]);
|
|
36
|
-
try {
|
|
37
|
-
return JSON.parse(decoded);
|
|
38
|
-
} catch (e) {
|
|
39
|
-
return decoded;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function setCookie(name, value, days) {
|
|
43
|
-
let expires = "";
|
|
44
|
-
if (days) {
|
|
45
|
-
const date = /* @__PURE__ */ new Date();
|
|
46
|
-
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1e3);
|
|
47
|
-
expires = "; expires=" + date.toUTCString();
|
|
48
|
-
}
|
|
49
|
-
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
|
50
|
-
}
|
|
51
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
-
0 && (module.exports = {
|
|
53
|
-
cookies,
|
|
54
|
-
getCookie
|
|
55
|
-
});
|