luxen-ui 0.25.0 → 0.26.0
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 +1 -0
- package/bin/cli.mjs +16 -1
- package/cdn/custom-elements.json +402 -276
- package/cdn/elements/alert-dialog/alert-dialog.d.ts +3 -2
- package/cdn/elements/alert-dialog/alert-dialog.d.ts.map +1 -1
- package/cdn/elements/alert-dialog/alert-dialog.js.map +1 -1
- package/cdn/elements/avatar/avatar.js +1 -1
- package/cdn/elements/avatar/avatar.js.map +1 -1
- package/cdn/elements/carousel/carousel.js +1 -1
- package/cdn/elements/carousel/carousel.js.map +1 -1
- package/cdn/elements/combobox/combobox.d.ts.map +1 -1
- package/cdn/elements/combobox/combobox.js +2 -1
- package/cdn/elements/combobox/combobox.js.map +1 -1
- package/cdn/elements/dialog/dialog.d.ts +2 -1
- package/cdn/elements/dialog/dialog.d.ts.map +1 -1
- package/cdn/elements/dialog/dialog.js.map +1 -1
- package/cdn/elements/dialog/dialog.styles.js +1 -1
- package/cdn/elements/dialog/dialog.styles.js.map +1 -1
- package/cdn/elements/drawer/drawer.d.ts +7 -7
- package/cdn/elements/drawer/drawer.js +1 -1
- package/cdn/elements/drawer/drawer.js.map +1 -1
- package/cdn/elements/dropdown-item/dropdown-item.js +1 -1
- package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
- package/cdn/elements/input-otp/input-otp.d.ts +2 -2
- package/cdn/elements/input-otp/input-otp.js.map +1 -1
- package/cdn/elements/prose-editor/prose-editor.js +1 -1
- package/cdn/elements/prose-editor/prose-editor.js.map +1 -1
- package/cdn/elements/rating/rating.js +1 -1
- package/cdn/elements/rating/rating.js.map +1 -1
- package/cdn/elements/select/select.d.ts.map +1 -1
- package/cdn/elements/select/select.js +2 -1
- package/cdn/elements/select/select.js.map +1 -1
- package/cdn/elements/slider/slider.js +1 -1
- package/cdn/elements/slider/slider.js.map +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.js +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -1
- package/cdn/elements/table/table.meta.d.ts +55 -0
- package/cdn/elements/table/table.meta.d.ts.map +1 -0
- package/cdn/elements/table/table.meta.js +0 -0
- package/cdn/elements/tag/tag.js +1 -1
- package/cdn/elements/tag/tag.js.map +1 -1
- package/cdn/elements/tree/tree.js +1 -1
- package/cdn/elements/tree/tree.js.map +1 -1
- package/cdn/elements/tree-item/tree-item.js +1 -1
- package/cdn/elements/tree-item/tree-item.js.map +1 -1
- package/cdn/shared/controllers/listbox-nav.d.ts +7 -0
- package/cdn/shared/controllers/listbox-nav.d.ts.map +1 -1
- package/cdn/shared/controllers/listbox-nav.js +1 -1
- package/cdn/shared/controllers/listbox-nav.js.map +1 -1
- package/cdn/shared/styles/button-core.styles.js +1 -1
- package/cdn/shared/styles/button-core.styles.js.map +1 -1
- package/cdn/shared/styles/checkbox-appearance.styles.js +1 -1
- package/cdn/shared/styles/checkbox-appearance.styles.js.map +1 -1
- package/cdn/shared/styles/picker-core.styles.js +1 -1
- package/cdn/shared/styles/picker-core.styles.js.map +1 -1
- package/cdn/standalone.css +284 -67
- package/cdn/standalone.js +38 -28
- package/cdn/standalone.js.map +1 -1
- package/cdn/styles/base.css +11 -0
- package/cdn/styles/elements/breadcrumb.css +2 -2
- package/cdn/styles/elements/button.css +2 -2
- package/cdn/styles/elements/checkbox.css +2 -2
- package/cdn/styles/elements/close-button/circle.css +2 -2
- package/cdn/styles/elements/close-button/ring.css +2 -2
- package/cdn/styles/elements/close-button/square.css +2 -2
- package/cdn/styles/elements/disclosure.css +1 -1
- package/cdn/styles/elements/input-otp.css +19 -3
- package/cdn/styles/elements/input-stepper/default.css +1 -1
- package/cdn/styles/elements/input-stepper/pill.css +1 -1
- package/cdn/styles/elements/input-stepper/rounded.css +1 -1
- package/cdn/styles/elements/input.css +11 -11
- package/cdn/styles/elements/prose-editor.css +6 -6
- package/cdn/styles/elements/radio-group.css +2 -2
- package/cdn/styles/elements/radio.css +2 -2
- package/cdn/styles/elements/segmented-control.css +1 -1
- package/cdn/styles/elements/select.css +5 -5
- package/cdn/styles/elements/story.css +2 -2
- package/cdn/styles/elements/switch.css +2 -2
- package/cdn/styles/elements/table.css +186 -0
- package/cdn/styles/elements/tabs/enclosed.css +3 -3
- package/cdn/styles/elements/tabs/line.css +3 -3
- package/cdn/styles/elements/textarea.css +5 -5
- package/cdn/styles/preset.css +19 -6
- package/cdn/styles/tokens/aliases.css +5 -3
- package/cdn/styles/tokens/forms.css +3 -3
- package/cdn/styles/tokens.css +8 -6
- package/dist/css/base.css +11 -0
- package/dist/css/elements/breadcrumb.css +2 -2
- package/dist/css/elements/button.css +2 -2
- package/dist/css/elements/checkbox.css +2 -2
- package/dist/css/elements/close-button/circle.css +2 -2
- package/dist/css/elements/close-button/ring.css +2 -2
- package/dist/css/elements/close-button/square.css +2 -2
- package/dist/css/elements/disclosure.css +1 -1
- package/dist/css/elements/input-otp.css +19 -3
- package/dist/css/elements/input-stepper/default.css +1 -1
- package/dist/css/elements/input-stepper/pill.css +1 -1
- package/dist/css/elements/input-stepper/rounded.css +1 -1
- package/dist/css/elements/input.css +11 -11
- package/dist/css/elements/prose-editor.css +6 -6
- package/dist/css/elements/radio-group.css +2 -2
- package/dist/css/elements/radio.css +2 -2
- package/dist/css/elements/segmented-control.css +1 -1
- package/dist/css/elements/select.css +5 -5
- package/dist/css/elements/story.css +2 -2
- package/dist/css/elements/switch.css +2 -2
- package/dist/css/elements/table.css +186 -0
- package/dist/css/elements/tabs/enclosed.css +3 -3
- package/dist/css/elements/tabs/line.css +3 -3
- package/dist/css/elements/textarea.css +5 -5
- package/dist/css/preset.css +19 -6
- package/dist/css/tokens/aliases.css +5 -3
- package/dist/css/tokens/forms.css +3 -3
- package/dist/css/tokens.css +8 -6
- package/dist/custom-elements.json +402 -276
- package/dist/elements/alert-dialog/alert-dialog.d.ts +3 -2
- package/dist/elements/alert-dialog/alert-dialog.d.ts.map +1 -1
- package/dist/elements/alert-dialog/alert-dialog.js +3 -2
- package/dist/elements/avatar/avatar.css +2 -2
- package/dist/elements/carousel/carousel.css +18 -0
- package/dist/elements/combobox/combobox.css +9 -0
- package/dist/elements/combobox/combobox.d.ts.map +1 -1
- package/dist/elements/combobox/combobox.js +1 -0
- package/dist/elements/dialog/dialog.css +12 -0
- package/dist/elements/dialog/dialog.d.ts +2 -1
- package/dist/elements/dialog/dialog.d.ts.map +1 -1
- package/dist/elements/dialog/dialog.js +2 -1
- package/dist/elements/drawer/drawer.css +11 -1
- package/dist/elements/drawer/drawer.d.ts +7 -7
- package/dist/elements/drawer/drawer.js +7 -7
- package/dist/elements/dropdown-item/dropdown-item.css +1 -1
- package/dist/elements/input-otp/input-otp.d.ts +2 -2
- package/dist/elements/input-otp/input-otp.js +2 -2
- package/dist/elements/prose-editor/prose-editor.css +5 -3
- package/dist/elements/rating/rating.css +9 -10
- package/dist/elements/select/select.css +10 -5
- package/dist/elements/select/select.d.ts.map +1 -1
- package/dist/elements/select/select.js +1 -0
- package/dist/elements/slider/slider.css +5 -1
- package/dist/elements/stories-viewer/stories-viewer.css +10 -2
- package/dist/elements/table/table.meta.d.ts +55 -0
- package/dist/elements/table/table.meta.d.ts.map +1 -0
- package/dist/elements/table/table.meta.js +65 -0
- package/dist/elements/tag/tag.css +3 -3
- package/dist/elements/tree/tree.css +3 -3
- package/dist/elements/tree-item/tree-item.css +5 -3
- package/dist/metadata/alert-dialog.json +90 -85
- package/dist/metadata/alert.json +22 -22
- package/dist/metadata/avatar.json +26 -26
- package/dist/metadata/badge.json +13 -13
- package/dist/metadata/breadcrumb.json +9 -9
- package/dist/metadata/button.json +40 -40
- package/dist/metadata/carousel.json +133 -133
- package/dist/metadata/checkbox.json +13 -13
- package/dist/metadata/close-button.json +15 -15
- package/dist/metadata/color-scheme-icon.json +13 -13
- package/dist/metadata/combobox.json +77 -94
- package/dist/metadata/dialog.json +49 -44
- package/dist/metadata/disclosure.json +17 -17
- package/dist/metadata/divider.json +12 -12
- package/dist/metadata/drawer.json +61 -61
- package/dist/metadata/dropdown-item.json +50 -50
- package/dist/metadata/dropdown.json +32 -32
- package/dist/metadata/form-field.json +15 -15
- package/dist/metadata/icon.json +8 -8
- package/dist/metadata/index.json +1761 -1765
- package/dist/metadata/input-group.json +5 -5
- package/dist/metadata/input-otp.json +17 -17
- package/dist/metadata/input-stepper.json +24 -24
- package/dist/metadata/input.json +31 -31
- package/dist/metadata/popover.json +49 -49
- package/dist/metadata/progress.json +15 -15
- package/dist/metadata/prose-editor.json +110 -116
- package/dist/metadata/radio.json +15 -15
- package/dist/metadata/rating.json +25 -47
- package/dist/metadata/segmented-control.json +24 -46
- package/dist/metadata/select.json +81 -98
- package/dist/metadata/skeleton.json +12 -12
- package/dist/metadata/slider.json +60 -78
- package/dist/metadata/spinner.json +5 -5
- package/dist/metadata/sticky-bar.json +13 -13
- package/dist/metadata/stories-viewer.json +105 -105
- package/dist/metadata/stories.json +17 -17
- package/dist/metadata/story.json +41 -41
- package/dist/metadata/switch.json +9 -9
- package/dist/metadata/table.json +88 -0
- package/dist/metadata/tabs.json +26 -26
- package/dist/metadata/tag.json +50 -50
- package/dist/metadata/textarea.json +28 -28
- package/dist/metadata/toast.json +16 -16
- package/dist/metadata/tooltip.json +49 -49
- package/dist/metadata/tree-item.json +73 -73
- package/dist/metadata/tree.json +39 -39
- package/dist/shared/controllers/listbox-nav.d.ts +7 -0
- package/dist/shared/controllers/listbox-nav.d.ts.map +1 -1
- package/dist/shared/controllers/listbox-nav.js +12 -0
- package/dist/shared/styles/button-core.css +2 -2
- package/dist/shared/styles/checkbox-appearance.css +2 -2
- package/dist/shared/styles/picker-core.css +13 -10
- package/dist/templates/elements/alert-dialog.md +19 -18
- package/dist/templates/elements/alert.md +4 -4
- package/dist/templates/elements/avatar.md +9 -9
- package/dist/templates/elements/badge.md +4 -4
- package/dist/templates/elements/breadcrumb.md +4 -4
- package/dist/templates/elements/button.md +8 -8
- package/dist/templates/elements/carousel.md +32 -32
- package/dist/templates/elements/checkbox.md +4 -4
- package/dist/templates/elements/close-button.md +2 -2
- package/dist/templates/elements/color-scheme-icon.md +13 -13
- package/dist/templates/elements/combobox.md +19 -19
- package/dist/templates/elements/dialog.md +11 -10
- package/dist/templates/elements/disclosure.md +3 -3
- package/dist/templates/elements/divider.md +2 -2
- package/dist/templates/elements/drawer.md +15 -15
- package/dist/templates/elements/dropdown.md +15 -15
- package/dist/templates/elements/form-field.md +3 -3
- package/dist/templates/elements/icon.md +1 -1
- package/dist/templates/elements/input-otp.md +5 -5
- package/dist/templates/elements/input-stepper.md +4 -4
- package/dist/templates/elements/input.md +15 -8
- package/dist/templates/elements/popover.md +8 -8
- package/dist/templates/elements/progress.md +3 -3
- package/dist/templates/elements/prose-editor.md +38 -39
- package/dist/templates/elements/radio.md +6 -6
- package/dist/templates/elements/rating.md +5 -13
- package/dist/templates/elements/segmented-control.md +4 -4
- package/dist/templates/elements/select.md +23 -23
- package/dist/templates/elements/skeleton.md +2 -2
- package/dist/templates/elements/slider.md +13 -13
- package/dist/templates/elements/spinner.md +1 -1
- package/dist/templates/elements/sticky-bar.md +2 -2
- package/dist/templates/elements/stories-viewer.md +29 -29
- package/dist/templates/elements/stories.md +4 -4
- package/dist/templates/elements/story.md +11 -11
- package/dist/templates/elements/switch.md +5 -5
- package/dist/templates/elements/table.md +210 -0
- package/dist/templates/elements/tabs.md +4 -4
- package/dist/templates/elements/tag.md +14 -14
- package/dist/templates/elements/textarea.md +8 -8
- package/dist/templates/elements/toast.md +4 -4
- package/dist/templates/elements/tooltip.md +9 -9
- package/dist/templates/elements/tree-item.md +18 -18
- package/dist/templates/elements/tree.md +13 -13
- package/dist/templates/foundations/focus.md +303 -0
- package/elements.json +9 -0
- package/package.json +1 -1
- package/postcss-plugin-prefix.js +2 -2
- package/templates/SKILL.md.tpl +1 -0
- package/templates/choosing-elements.md.tpl +1 -0
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
}
|
|
28
28
|
],
|
|
29
29
|
"cssProperties": [
|
|
30
|
-
{
|
|
31
|
-
"name": "--size",
|
|
32
|
-
"default": "1em",
|
|
33
|
-
"description": "The size of the spinner (width and height)."
|
|
34
|
-
},
|
|
35
30
|
{
|
|
36
31
|
"name": "--indicator-color",
|
|
37
32
|
"default": null,
|
|
38
33
|
"description": "The color of the spinner."
|
|
39
34
|
},
|
|
35
|
+
{
|
|
36
|
+
"name": "--size",
|
|
37
|
+
"default": "1em",
|
|
38
|
+
"description": "The size of the spinner (width and height)."
|
|
39
|
+
},
|
|
40
40
|
{
|
|
41
41
|
"name": "--speed",
|
|
42
42
|
"default": null,
|
|
@@ -23,14 +23,6 @@
|
|
|
23
23
|
"reflects": false,
|
|
24
24
|
"description": "HTML id of the element to track. When that element leaves the viewport, the bar reveals. Omit for a permanently visible bar."
|
|
25
25
|
},
|
|
26
|
-
{
|
|
27
|
-
"name": "root",
|
|
28
|
-
"attribute": "root",
|
|
29
|
-
"type": "string",
|
|
30
|
-
"default": "''",
|
|
31
|
-
"reflects": false,
|
|
32
|
-
"description": "HTML id of the scrolling ancestor used as the IntersectionObserver root. Omit to use the viewport. Useful for nested scroll containers (CMS preview panes, modals)."
|
|
33
|
-
},
|
|
34
26
|
{
|
|
35
27
|
"name": "placement",
|
|
36
28
|
"attribute": "placement",
|
|
@@ -38,6 +30,14 @@
|
|
|
38
30
|
"default": "'bottom'",
|
|
39
31
|
"reflects": true,
|
|
40
32
|
"description": "Edge to dock against."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "root",
|
|
36
|
+
"attribute": "root",
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "''",
|
|
39
|
+
"reflects": false,
|
|
40
|
+
"description": "HTML id of the scrolling ancestor used as the IntersectionObserver root. Omit to use the viewport. Useful for nested scroll containers (CMS preview panes, modals)."
|
|
41
41
|
}
|
|
42
42
|
],
|
|
43
43
|
"attributes": [],
|
|
@@ -73,11 +73,6 @@
|
|
|
73
73
|
"cssClasses": [],
|
|
74
74
|
"cssParts": [],
|
|
75
75
|
"cssProperties": [
|
|
76
|
-
{
|
|
77
|
-
"name": "--show-duration",
|
|
78
|
-
"default": "200ms",
|
|
79
|
-
"description": "Reveal animation duration."
|
|
80
|
-
},
|
|
81
76
|
{
|
|
82
77
|
"name": "--hide-duration",
|
|
83
78
|
"default": "200ms",
|
|
@@ -87,6 +82,11 @@
|
|
|
87
82
|
"name": "--offset",
|
|
88
83
|
"default": "0px",
|
|
89
84
|
"description": "Distance from the active edge. Use to clear a sticky header when `placement=\"top\"`."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "--show-duration",
|
|
88
|
+
"default": "200ms",
|
|
89
|
+
"description": "Reveal animation duration."
|
|
90
90
|
}
|
|
91
91
|
],
|
|
92
92
|
"commands": [],
|
|
@@ -16,12 +16,20 @@
|
|
|
16
16
|
},
|
|
17
17
|
"properties": [
|
|
18
18
|
{
|
|
19
|
-
"name": "
|
|
20
|
-
"attribute": "
|
|
19
|
+
"name": "autoAdvance",
|
|
20
|
+
"attribute": "auto-advance",
|
|
21
21
|
"type": "boolean",
|
|
22
|
-
"default": "
|
|
22
|
+
"default": "true",
|
|
23
23
|
"reflects": true,
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Move to the next story when the current one ends; close after the last story."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "chapter",
|
|
28
|
+
"attribute": "chapter",
|
|
29
|
+
"type": "number",
|
|
30
|
+
"default": "0",
|
|
31
|
+
"reflects": true,
|
|
32
|
+
"description": "Active chapter index within the current story. Reflected."
|
|
25
33
|
},
|
|
26
34
|
{
|
|
27
35
|
"name": "index",
|
|
@@ -32,12 +40,12 @@
|
|
|
32
40
|
"description": "Active story index (0-based)."
|
|
33
41
|
},
|
|
34
42
|
{
|
|
35
|
-
"name": "
|
|
36
|
-
"attribute": "
|
|
43
|
+
"name": "lightDismiss",
|
|
44
|
+
"attribute": "light-dismiss",
|
|
37
45
|
"type": "boolean",
|
|
38
46
|
"default": "true",
|
|
39
47
|
"reflects": true,
|
|
40
|
-
"description": "
|
|
48
|
+
"description": "Close when the backdrop is clicked."
|
|
41
49
|
},
|
|
42
50
|
{
|
|
43
51
|
"name": "loop",
|
|
@@ -48,28 +56,28 @@
|
|
|
48
56
|
"description": "Loop the active story instead of advancing."
|
|
49
57
|
},
|
|
50
58
|
{
|
|
51
|
-
"name": "
|
|
52
|
-
"attribute": "
|
|
59
|
+
"name": "muted",
|
|
60
|
+
"attribute": "muted",
|
|
53
61
|
"type": "boolean",
|
|
54
62
|
"default": "true",
|
|
55
63
|
"reflects": true,
|
|
56
|
-
"description": "
|
|
64
|
+
"description": "Whether playback is muted. so autoplay always succeeds across browsers. The user can unmute via the dedicated button or the `m` keyboard shortcut."
|
|
57
65
|
},
|
|
58
66
|
{
|
|
59
|
-
"name": "
|
|
60
|
-
"attribute": "
|
|
67
|
+
"name": "open",
|
|
68
|
+
"attribute": "open",
|
|
61
69
|
"type": "boolean",
|
|
62
|
-
"default": "
|
|
70
|
+
"default": "false",
|
|
63
71
|
"reflects": true,
|
|
64
|
-
"description": "
|
|
72
|
+
"description": "Whether the viewer is open."
|
|
65
73
|
},
|
|
66
74
|
{
|
|
67
|
-
"name": "
|
|
68
|
-
"attribute":
|
|
69
|
-
"type": "
|
|
70
|
-
"default": "
|
|
71
|
-
"reflects":
|
|
72
|
-
"description": "
|
|
75
|
+
"name": "source",
|
|
76
|
+
"attribute": null,
|
|
77
|
+
"type": "LuxenStories | null",
|
|
78
|
+
"default": "null",
|
|
79
|
+
"reflects": false,
|
|
80
|
+
"description": "Internal: the source `<l-stories>` element that opened the viewer."
|
|
73
81
|
},
|
|
74
82
|
{
|
|
75
83
|
"name": "stories",
|
|
@@ -78,14 +86,6 @@
|
|
|
78
86
|
"default": "[]",
|
|
79
87
|
"reflects": false,
|
|
80
88
|
"description": "Internal: the playlist set by the source `<l-stories>`."
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"name": "source",
|
|
84
|
-
"attribute": null,
|
|
85
|
-
"type": "LuxenStories | null",
|
|
86
|
-
"default": "null",
|
|
87
|
-
"reflects": false,
|
|
88
|
-
"description": "Internal: the source `<l-stories>` element that opened the viewer."
|
|
89
89
|
}
|
|
90
90
|
],
|
|
91
91
|
"attributes": [],
|
|
@@ -111,27 +111,45 @@
|
|
|
111
111
|
"cancelable": false
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
|
-
"name": "
|
|
115
|
-
"description": "Fired when the active story changes. Properties: `
|
|
114
|
+
"name": "chapter-change",
|
|
115
|
+
"description": "Fired when the active chapter (within a story) changes. Properties: `chapter: number`, `story: LuxenStory`.",
|
|
116
116
|
"cancelable": false
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
|
-
"name": "
|
|
120
|
-
"description": "Fired when the
|
|
119
|
+
"name": "mute-change",
|
|
120
|
+
"description": "Fired when the mute state changes. Properties: `muted: boolean`.",
|
|
121
121
|
"cancelable": false
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
|
-
"name": "
|
|
125
|
-
"description": "Fired when the active
|
|
124
|
+
"name": "story-change",
|
|
125
|
+
"description": "Fired when the active story changes. Properties: `index: number`, `story: LuxenStory`.",
|
|
126
126
|
"cancelable": false
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
"name": "
|
|
130
|
-
"description": "Fired when the
|
|
129
|
+
"name": "story-end",
|
|
130
|
+
"description": "Fired when the active story finishes playback. Properties: `index: number`.",
|
|
131
131
|
"cancelable": false
|
|
132
132
|
}
|
|
133
133
|
],
|
|
134
134
|
"methods": [
|
|
135
|
+
{
|
|
136
|
+
"name": "close",
|
|
137
|
+
"params": [],
|
|
138
|
+
"returns": null,
|
|
139
|
+
"description": ""
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "next",
|
|
143
|
+
"params": [],
|
|
144
|
+
"returns": null,
|
|
145
|
+
"description": "Advance one chapter, or to the next story at the chapter boundary."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "nextStory",
|
|
149
|
+
"params": [],
|
|
150
|
+
"returns": null,
|
|
151
|
+
"description": "Jump to the next story, skipping any remaining chapters in the current story."
|
|
152
|
+
},
|
|
135
153
|
{
|
|
136
154
|
"name": "openAt",
|
|
137
155
|
"params": [
|
|
@@ -152,16 +170,16 @@
|
|
|
152
170
|
"description": "Open the viewer at the given index with an explicit playlist."
|
|
153
171
|
},
|
|
154
172
|
{
|
|
155
|
-
"name": "
|
|
173
|
+
"name": "pause",
|
|
156
174
|
"params": [],
|
|
157
175
|
"returns": null,
|
|
158
176
|
"description": ""
|
|
159
177
|
},
|
|
160
178
|
{
|
|
161
|
-
"name": "
|
|
179
|
+
"name": "play",
|
|
162
180
|
"params": [],
|
|
163
181
|
"returns": null,
|
|
164
|
-
"description": "
|
|
182
|
+
"description": ""
|
|
165
183
|
},
|
|
166
184
|
{
|
|
167
185
|
"name": "previous",
|
|
@@ -169,32 +187,18 @@
|
|
|
169
187
|
"returns": null,
|
|
170
188
|
"description": "Retreat one chapter, restart the current chapter past 1s in, or cross into the previous story."
|
|
171
189
|
},
|
|
172
|
-
{
|
|
173
|
-
"name": "nextStory",
|
|
174
|
-
"params": [],
|
|
175
|
-
"returns": null,
|
|
176
|
-
"description": "Jump to the next story, skipping any remaining chapters in the current story."
|
|
177
|
-
},
|
|
178
190
|
{
|
|
179
191
|
"name": "previousStory",
|
|
180
192
|
"params": [],
|
|
181
193
|
"returns": null,
|
|
182
194
|
"description": "Jump to the previous story regardless of current chapter. Lands on chapter 0 of the previous story."
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"name": "play",
|
|
186
|
-
"params": [],
|
|
187
|
-
"returns": null,
|
|
188
|
-
"description": ""
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
"name": "pause",
|
|
192
|
-
"params": [],
|
|
193
|
-
"returns": null,
|
|
194
|
-
"description": ""
|
|
195
195
|
}
|
|
196
196
|
],
|
|
197
197
|
"slots": [
|
|
198
|
+
{
|
|
199
|
+
"name": "close",
|
|
200
|
+
"description": "Override the default close button."
|
|
201
|
+
},
|
|
198
202
|
{
|
|
199
203
|
"name": "cta",
|
|
200
204
|
"description": "Default CTA overlay (e.g. shoppable card). Per-story `slot=\"cta\"` inside `<l-story>` overrides this when that story is active."
|
|
@@ -202,41 +206,41 @@
|
|
|
202
206
|
{
|
|
203
207
|
"name": "header",
|
|
204
208
|
"description": "Default header overlay (e.g. avatar + author). Per-story override available the same way."
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
"name": "close",
|
|
208
|
-
"description": "Override the default close button."
|
|
209
209
|
}
|
|
210
210
|
],
|
|
211
211
|
"cssClasses": [],
|
|
212
212
|
"cssParts": [
|
|
213
213
|
{
|
|
214
|
-
"name": "
|
|
215
|
-
"description": "The
|
|
214
|
+
"name": "actions",
|
|
215
|
+
"description": "The top-right vertical button stack (close, play/pause, mute)."
|
|
216
216
|
},
|
|
217
217
|
{
|
|
218
|
-
"name": "
|
|
219
|
-
"description": "The
|
|
218
|
+
"name": "button-close",
|
|
219
|
+
"description": "The close button."
|
|
220
220
|
},
|
|
221
221
|
{
|
|
222
|
-
"name": "
|
|
223
|
-
"description": "The
|
|
222
|
+
"name": "button-mute",
|
|
223
|
+
"description": "The mute toggle."
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
|
-
"name": "
|
|
227
|
-
"description": "
|
|
226
|
+
"name": "button-next",
|
|
227
|
+
"description": "The next story button."
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
|
-
"name": "
|
|
231
|
-
"description": "The
|
|
230
|
+
"name": "button-pause",
|
|
231
|
+
"description": "The play/pause toggle."
|
|
232
232
|
},
|
|
233
233
|
{
|
|
234
|
-
"name": "
|
|
235
|
-
"description": "The
|
|
234
|
+
"name": "button-previous",
|
|
235
|
+
"description": "The previous story button."
|
|
236
236
|
},
|
|
237
237
|
{
|
|
238
|
-
"name": "
|
|
239
|
-
"description": "The
|
|
238
|
+
"name": "dialog",
|
|
239
|
+
"description": "The native `<dialog>` element."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "frame",
|
|
243
|
+
"description": "The aspect-ratio video frame."
|
|
240
244
|
},
|
|
241
245
|
{
|
|
242
246
|
"name": "header",
|
|
@@ -247,50 +251,51 @@
|
|
|
247
251
|
"description": "The default story label inside the header."
|
|
248
252
|
},
|
|
249
253
|
{
|
|
250
|
-
"name": "
|
|
251
|
-
"description": "The
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
"name": "button-close",
|
|
255
|
-
"description": "The close button."
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
"name": "button-pause",
|
|
259
|
-
"description": "The play/pause toggle."
|
|
254
|
+
"name": "overlay",
|
|
255
|
+
"description": "The overlay wrapper that hosts CTA/header slots."
|
|
260
256
|
},
|
|
261
257
|
{
|
|
262
|
-
"name": "
|
|
263
|
-
"description": "The
|
|
258
|
+
"name": "progress",
|
|
259
|
+
"description": "The progress bar wrapper."
|
|
264
260
|
},
|
|
265
261
|
{
|
|
266
|
-
"name": "
|
|
267
|
-
"description": "The
|
|
262
|
+
"name": "progress-fill",
|
|
263
|
+
"description": "The fill element inside an active segment."
|
|
268
264
|
},
|
|
269
265
|
{
|
|
270
|
-
"name": "
|
|
271
|
-
"description": "
|
|
266
|
+
"name": "progress-segment",
|
|
267
|
+
"description": "A single progress segment."
|
|
272
268
|
},
|
|
273
269
|
{
|
|
274
270
|
"name": "spinner",
|
|
275
271
|
"description": "The loading spinner shown while the current video is buffering."
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "video",
|
|
275
|
+
"description": "The `<video>` element."
|
|
276
276
|
}
|
|
277
277
|
],
|
|
278
278
|
"cssProperties": [
|
|
279
279
|
{
|
|
280
|
-
"name": "--
|
|
281
|
-
"default": "
|
|
282
|
-
"description": "
|
|
280
|
+
"name": "--backdrop",
|
|
281
|
+
"default": "var(--l-backdrop-strong)",
|
|
282
|
+
"description": "Backdrop color. — darker than `--l-backdrop` to focus attention on the immersive frame, but still translucent so the page stays perceptible."
|
|
283
283
|
},
|
|
284
284
|
{
|
|
285
|
-
"name": "--
|
|
286
|
-
"default": "
|
|
287
|
-
"description": "
|
|
285
|
+
"name": "--hide-duration",
|
|
286
|
+
"default": "200ms",
|
|
287
|
+
"description": "Close transition duration."
|
|
288
288
|
},
|
|
289
289
|
{
|
|
290
290
|
"name": "--progress-bg",
|
|
291
291
|
"default": "rgb(255 255 255 / 35%)",
|
|
292
292
|
"description": "Inactive progress segment background."
|
|
293
293
|
},
|
|
294
|
+
{
|
|
295
|
+
"name": "--progress-color",
|
|
296
|
+
"default": "white",
|
|
297
|
+
"description": "Active progress fill color."
|
|
298
|
+
},
|
|
294
299
|
{
|
|
295
300
|
"name": "--progress-gap",
|
|
296
301
|
"default": "4px",
|
|
@@ -302,14 +307,9 @@
|
|
|
302
307
|
"description": "Open transition duration."
|
|
303
308
|
},
|
|
304
309
|
{
|
|
305
|
-
"name": "--
|
|
306
|
-
"default": "
|
|
307
|
-
"description": "
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
"name": "--backdrop",
|
|
311
|
-
"default": "var(--l-backdrop-strong)",
|
|
312
|
-
"description": "Backdrop color. — darker than `--l-backdrop` to focus attention on the immersive frame, but still translucent so the page stays perceptible."
|
|
310
|
+
"name": "--width",
|
|
311
|
+
"default": "min(420px, 100vw)",
|
|
312
|
+
"description": "Frame width."
|
|
313
313
|
}
|
|
314
314
|
],
|
|
315
315
|
"commands": [],
|
|
@@ -15,14 +15,6 @@
|
|
|
15
15
|
"js": "luxen-ui/stories"
|
|
16
16
|
},
|
|
17
17
|
"properties": [
|
|
18
|
-
{
|
|
19
|
-
"name": "for",
|
|
20
|
-
"attribute": "for",
|
|
21
|
-
"type": "string",
|
|
22
|
-
"default": "''",
|
|
23
|
-
"reflects": true,
|
|
24
|
-
"description": "ID of the linked `<l-stories-viewer>`."
|
|
25
|
-
},
|
|
26
18
|
{
|
|
27
19
|
"name": "appearance",
|
|
28
20
|
"attribute": "appearance",
|
|
@@ -30,6 +22,14 @@
|
|
|
30
22
|
"default": "'rounded'",
|
|
31
23
|
"reflects": true,
|
|
32
24
|
"description": "Visual appearance of the thumbnails."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "for",
|
|
28
|
+
"attribute": "for",
|
|
29
|
+
"type": "string",
|
|
30
|
+
"default": "''",
|
|
31
|
+
"reflects": true,
|
|
32
|
+
"description": "ID of the linked `<l-stories-viewer>`."
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
35
|
"attributes": [],
|
|
@@ -64,20 +64,20 @@
|
|
|
64
64
|
"cssParts": [],
|
|
65
65
|
"cssProperties": [
|
|
66
66
|
{
|
|
67
|
-
"name": "--
|
|
67
|
+
"name": "--gap",
|
|
68
|
+
"default": "1rem",
|
|
69
|
+
"description": "Gap between thumbnails."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "--label-color",
|
|
68
73
|
"default": null,
|
|
69
|
-
"description": "
|
|
74
|
+
"description": "Label text color."
|
|
70
75
|
},
|
|
71
76
|
{
|
|
72
77
|
"name": "--radius",
|
|
73
78
|
"default": null,
|
|
74
79
|
"description": "Thumbnail border radius. Default per appearance (`--radius-full` for rounded, `1rem` for portrait)."
|
|
75
80
|
},
|
|
76
|
-
{
|
|
77
|
-
"name": "--gap",
|
|
78
|
-
"default": "1rem",
|
|
79
|
-
"description": "Gap between thumbnails."
|
|
80
|
-
},
|
|
81
81
|
{
|
|
82
82
|
"name": "--ring-color",
|
|
83
83
|
"default": null,
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
"description": "Ring width."
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
"name": "--
|
|
97
|
+
"name": "--size",
|
|
98
98
|
"default": null,
|
|
99
|
-
"description": "
|
|
99
|
+
"description": "Thumbnail size (width). Default per appearance."
|
|
100
100
|
}
|
|
101
101
|
],
|
|
102
102
|
"commands": [],
|
package/dist/metadata/story.json
CHANGED
|
@@ -16,12 +16,28 @@
|
|
|
16
16
|
},
|
|
17
17
|
"properties": [
|
|
18
18
|
{
|
|
19
|
-
"name": "
|
|
20
|
-
"attribute": "
|
|
19
|
+
"name": "chapters",
|
|
20
|
+
"attribute": "chapters",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"default": "''",
|
|
23
|
+
"reflects": false,
|
|
24
|
+
"description": "Chapter start times within the video, comma-separated seconds (e.g. `0,5,12,20`). `0` is implicit if omitted. Empty = single chapter spanning the full video."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "duration",
|
|
28
|
+
"attribute": "duration",
|
|
29
|
+
"type": "number",
|
|
30
|
+
"default": "0",
|
|
31
|
+
"reflects": false,
|
|
32
|
+
"description": "Override the progress duration in seconds. Defaults to the video's metadata duration."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "label",
|
|
36
|
+
"attribute": "label",
|
|
21
37
|
"type": "string",
|
|
22
38
|
"default": "''",
|
|
23
39
|
"reflects": true,
|
|
24
|
-
"description": "
|
|
40
|
+
"description": "Caption shown below the thumbnail (or overlaid, depending on appearance) and used as the trigger `aria-label`."
|
|
25
41
|
},
|
|
26
42
|
{
|
|
27
43
|
"name": "poster",
|
|
@@ -40,20 +56,12 @@
|
|
|
40
56
|
"description": "Optional short looping preview video (URL of a small dedicated MP4, typically 2-3s, 480p, no audio). When set, the thumbnail renders this video muted+looped+autoplayed in place of `poster`. Gated by an `IntersectionObserver` so off-screen previews don't play."
|
|
41
57
|
},
|
|
42
58
|
{
|
|
43
|
-
"name": "
|
|
44
|
-
"attribute": "
|
|
45
|
-
"type": "
|
|
46
|
-
"default": "
|
|
59
|
+
"name": "pulse",
|
|
60
|
+
"attribute": "pulse",
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"default": "false",
|
|
47
63
|
"reflects": true,
|
|
48
|
-
"description": "
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"name": "duration",
|
|
52
|
-
"attribute": "duration",
|
|
53
|
-
"type": "number",
|
|
54
|
-
"default": "0",
|
|
55
|
-
"reflects": false,
|
|
56
|
-
"description": "Override the progress duration in seconds. Defaults to the video's metadata duration."
|
|
64
|
+
"description": "Pulse the thumbnail with an animated halo + a subtle scale tap to draw attention. Reflected."
|
|
57
65
|
},
|
|
58
66
|
{
|
|
59
67
|
"name": "seen",
|
|
@@ -64,20 +72,12 @@
|
|
|
64
72
|
"description": "Mark this story as already viewed (faded ring). Reflected."
|
|
65
73
|
},
|
|
66
74
|
{
|
|
67
|
-
"name": "
|
|
68
|
-
"attribute": "
|
|
69
|
-
"type": "boolean",
|
|
70
|
-
"default": "false",
|
|
71
|
-
"reflects": true,
|
|
72
|
-
"description": "Pulse the thumbnail with an animated halo + a subtle scale tap to draw attention. Reflected."
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"name": "chapters",
|
|
76
|
-
"attribute": "chapters",
|
|
75
|
+
"name": "src",
|
|
76
|
+
"attribute": "src",
|
|
77
77
|
"type": "string",
|
|
78
78
|
"default": "''",
|
|
79
|
-
"reflects":
|
|
80
|
-
"description": "
|
|
79
|
+
"reflects": true,
|
|
80
|
+
"description": "Video URL."
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"name": "tracks",
|
|
@@ -110,20 +110,20 @@
|
|
|
110
110
|
],
|
|
111
111
|
"cssClasses": [
|
|
112
112
|
{
|
|
113
|
-
"name": ".l-story-
|
|
114
|
-
"description": "The
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"name": ".l-story-thumb",
|
|
118
|
-
"description": "The poster/video thumbnail frame (ring + offset)."
|
|
113
|
+
"name": ".l-story-label",
|
|
114
|
+
"description": "The caption text below the thumbnail."
|
|
119
115
|
},
|
|
120
116
|
{
|
|
121
117
|
"name": ".l-story-play",
|
|
122
118
|
"description": "The centered play-icon overlay."
|
|
123
119
|
},
|
|
124
120
|
{
|
|
125
|
-
"name": ".l-story-
|
|
126
|
-
"description": "The
|
|
121
|
+
"name": ".l-story-thumb",
|
|
122
|
+
"description": "The poster/video thumbnail frame (ring + offset)."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": ".l-story-trigger",
|
|
126
|
+
"description": "The clickable thumbnail button wrapper."
|
|
127
127
|
}
|
|
128
128
|
],
|
|
129
129
|
"cssParts": [],
|
|
@@ -133,15 +133,15 @@
|
|
|
133
133
|
"default": null,
|
|
134
134
|
"description": "Color of the attention pulse ring (only with the `pulse` attribute)."
|
|
135
135
|
},
|
|
136
|
-
{
|
|
137
|
-
"name": "--pulse-scale",
|
|
138
|
-
"default": "1.2",
|
|
139
|
-
"description": "Peak scale of the pulse animation."
|
|
140
|
-
},
|
|
141
136
|
{
|
|
142
137
|
"name": "--pulse-duration",
|
|
143
138
|
"default": "1.6s",
|
|
144
139
|
"description": "Duration of one pulse cycle."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "--pulse-scale",
|
|
143
|
+
"default": "1.2",
|
|
144
|
+
"description": "Peak scale of the pulse animation."
|
|
145
145
|
}
|
|
146
146
|
],
|
|
147
147
|
"commands": [],
|