luxen-ui 0.6.2 → 0.8.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/bin/cli.mjs +54 -10
- package/cdn/chunks/decorate.js +1 -1
- package/cdn/chunks/floating-ui.dom.js +2 -0
- package/cdn/chunks/floating-ui.dom.js.map +1 -0
- package/cdn/chunks/lit-html.js +3 -0
- package/cdn/chunks/lit-html.js.map +1 -0
- package/cdn/chunks/lit.js +1 -2
- package/cdn/chunks/lit.js.map +1 -1
- package/cdn/chunks/module.js +717 -0
- package/cdn/chunks/module.js.map +1 -0
- package/cdn/chunks/native.js +2 -0
- package/cdn/chunks/native.js.map +1 -0
- package/cdn/chunks/static-html.js +2 -0
- package/cdn/chunks/static-html.js.map +1 -0
- package/cdn/custom-elements.json +1412 -12629
- package/cdn/elements/avatar/avatar.d.ts +5 -0
- package/cdn/elements/avatar/avatar.d.ts.map +1 -1
- package/cdn/elements/avatar/avatar.js +5 -5
- package/cdn/elements/avatar/avatar.js.map +1 -1
- package/cdn/elements/button/button.meta.d.ts +33 -0
- package/cdn/elements/button/button.meta.d.ts.map +1 -0
- package/cdn/elements/button/button.meta.js +0 -0
- package/cdn/elements/carousel/carousel.d.ts +6 -0
- package/cdn/elements/carousel/carousel.d.ts.map +1 -1
- package/cdn/elements/carousel/carousel.js +1 -1
- package/cdn/elements/carousel/carousel.js.map +1 -1
- package/cdn/elements/carousel-item/carousel-item.d.ts +2 -0
- package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
- package/cdn/elements/carousel-item/carousel-item.js +1 -1
- package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
- package/cdn/elements/close-button/close-button.meta.d.ts +24 -0
- package/cdn/elements/close-button/close-button.meta.d.ts.map +1 -0
- package/cdn/elements/close-button/close-button.meta.js +0 -0
- package/cdn/elements/dialog/dialog.d.ts +12 -6
- package/cdn/elements/dialog/dialog.d.ts.map +1 -1
- package/cdn/elements/dialog/dialog.js +8 -5
- 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/disclosure/disclosure.meta.d.ts +28 -0
- package/cdn/elements/disclosure/disclosure.meta.d.ts.map +1 -0
- package/cdn/elements/disclosure/disclosure.meta.js +0 -0
- package/cdn/elements/divider/divider.d.ts +1 -1
- package/cdn/elements/divider/divider.js.map +1 -1
- package/cdn/elements/drawer/drawer.d.ts +5 -0
- package/cdn/elements/drawer/drawer.d.ts.map +1 -1
- package/cdn/elements/drawer/drawer.js +1 -1
- package/cdn/elements/drawer/drawer.js.map +1 -1
- package/cdn/elements/dropdown/dropdown.d.ts +2 -0
- package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
- package/cdn/elements/dropdown/dropdown.js +1 -1
- package/cdn/elements/dropdown/dropdown.js.map +1 -1
- package/cdn/elements/dropdown-item/dropdown-item.d.ts +2 -0
- package/cdn/elements/dropdown-item/dropdown-item.d.ts.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/icon/icon.js +1 -1
- package/cdn/elements/icon/icon.js.map +1 -1
- package/cdn/elements/input-otp/input-otp.d.ts +2 -0
- package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
- package/cdn/elements/input-otp/input-otp.js.map +1 -1
- package/cdn/elements/input-stepper/input-stepper.d.ts +2 -0
- package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
- package/cdn/elements/input-stepper/input-stepper.js +1 -1
- package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
- package/cdn/elements/kbd/kbd.meta.d.ts +14 -0
- package/cdn/elements/kbd/kbd.meta.d.ts.map +1 -0
- package/cdn/elements/kbd/kbd.meta.js +0 -0
- package/cdn/elements/popover/popover.js +1 -1
- package/cdn/elements/popover/popover.js.map +1 -1
- package/cdn/elements/progress/progress.meta.d.ts +22 -0
- package/cdn/elements/progress/progress.meta.d.ts.map +1 -0
- package/cdn/elements/progress/progress.meta.js +0 -0
- package/cdn/elements/prose-editor/index.d.ts +2 -0
- package/cdn/elements/prose-editor/index.d.ts.map +1 -0
- package/cdn/elements/prose-editor/index.js +2 -0
- package/cdn/elements/prose-editor/index.js.map +1 -0
- package/cdn/elements/prose-editor/prose-editor.d.ts +113 -0
- package/cdn/elements/prose-editor/prose-editor.d.ts.map +1 -0
- package/cdn/elements/prose-editor/prose-editor.js +180 -0
- package/cdn/elements/prose-editor/prose-editor.js.map +1 -0
- package/cdn/elements/rating/rating.d.ts +2 -0
- package/cdn/elements/rating/rating.d.ts.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.meta.d.ts +28 -0
- package/cdn/elements/select/select.meta.d.ts.map +1 -0
- package/cdn/elements/select/select.meta.js +0 -0
- package/cdn/elements/skeleton/skeleton.d.ts +3 -0
- package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
- package/cdn/elements/skeleton/skeleton.js.map +1 -1
- package/cdn/elements/spinner/spinner.js +1 -1
- package/cdn/elements/spinner/spinner.js.map +1 -1
- package/cdn/elements/sticky-bar/sticky-bar.js +1 -1
- package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.d.ts +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.js +26 -26
- package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -1
- package/cdn/elements/story/story.d.ts +10 -1
- package/cdn/elements/story/story.d.ts.map +1 -1
- package/cdn/elements/story/story.js +20 -20
- package/cdn/elements/story/story.js.map +1 -1
- package/cdn/elements/toast/toast.d.ts +5 -0
- package/cdn/elements/toast/toast.d.ts.map +1 -1
- package/cdn/elements/toast/toast.js.map +1 -1
- package/cdn/elements/tooltip/tooltip.js +1 -1
- package/cdn/elements/tooltip/tooltip.js.map +1 -1
- package/cdn/elements/tree/tree.d.ts +2 -0
- package/cdn/elements/tree/tree.d.ts.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.d.ts +2 -0
- package/cdn/elements/tree-item/tree-item.d.ts.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/registry.d.ts +1 -1
- package/cdn/registry.d.ts.map +1 -1
- package/cdn/registry.js.map +1 -1
- package/cdn/shared/controllers/has-slot-controller.d.ts +37 -0
- package/cdn/shared/controllers/has-slot-controller.d.ts.map +1 -0
- package/cdn/shared/controllers/has-slot-controller.js +2 -0
- package/cdn/shared/controllers/has-slot-controller.js.map +1 -0
- package/cdn/shared/controllers/popover.js +1 -1
- package/cdn/shared/controllers/popover.js.map +1 -1
- package/cdn/shared/styles/host.styles.js +1 -1
- package/cdn/standalone.css +132 -1
- package/cdn/standalone.js +25743 -191
- package/cdn/standalone.js.map +1 -1
- package/cdn/static-tag.d.ts +17 -0
- package/cdn/static-tag.d.ts.map +1 -0
- package/cdn/static-tag.js +2 -0
- package/cdn/static-tag.js.map +1 -0
- package/cdn/styles/elements/prose-editor.css +129 -0
- package/cdn/styles/elements/toast.css +1 -1
- package/dist/css/elements/prose-editor.css +129 -0
- package/dist/css/elements/toast.css +1 -1
- package/dist/custom-elements.json +1412 -12629
- package/dist/elements/avatar/avatar.d.ts +5 -0
- package/dist/elements/avatar/avatar.d.ts.map +1 -1
- package/dist/elements/avatar/avatar.js +5 -0
- package/dist/elements/button/button.meta.d.ts +33 -0
- package/dist/elements/button/button.meta.d.ts.map +1 -0
- package/dist/elements/button/button.meta.js +44 -0
- package/dist/elements/carousel/carousel.d.ts +6 -0
- package/dist/elements/carousel/carousel.d.ts.map +1 -1
- package/dist/elements/carousel/carousel.js +6 -0
- package/dist/elements/carousel-item/carousel-item.d.ts +2 -0
- package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
- package/dist/elements/carousel-item/carousel-item.js +2 -0
- package/dist/elements/close-button/close-button.meta.d.ts +24 -0
- package/dist/elements/close-button/close-button.meta.d.ts.map +1 -0
- package/dist/elements/close-button/close-button.meta.js +30 -0
- package/dist/elements/dialog/dialog.css +15 -0
- package/dist/elements/dialog/dialog.d.ts +12 -6
- package/dist/elements/dialog/dialog.d.ts.map +1 -1
- package/dist/elements/dialog/dialog.js +21 -7
- package/dist/elements/disclosure/disclosure.meta.d.ts +28 -0
- package/dist/elements/disclosure/disclosure.meta.d.ts.map +1 -0
- package/dist/elements/disclosure/disclosure.meta.js +34 -0
- package/dist/elements/divider/divider.d.ts +1 -1
- package/dist/elements/divider/divider.js +1 -1
- package/dist/elements/drawer/drawer.d.ts +5 -0
- package/dist/elements/drawer/drawer.d.ts.map +1 -1
- package/dist/elements/drawer/drawer.js +5 -0
- package/dist/elements/dropdown/dropdown.d.ts +2 -0
- package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
- package/dist/elements/dropdown/dropdown.js +2 -0
- package/dist/elements/dropdown-item/dropdown-item.d.ts +2 -0
- package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
- package/dist/elements/dropdown-item/dropdown-item.js +2 -0
- package/dist/elements/input-otp/input-otp.d.ts +2 -0
- package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
- package/dist/elements/input-otp/input-otp.js +2 -0
- package/dist/elements/input-stepper/input-stepper.d.ts +2 -0
- package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
- package/dist/elements/input-stepper/input-stepper.js +5 -1
- package/dist/elements/kbd/kbd.meta.d.ts +14 -0
- package/dist/elements/kbd/kbd.meta.d.ts.map +1 -0
- package/dist/elements/kbd/kbd.meta.js +20 -0
- package/dist/elements/progress/progress.meta.d.ts +22 -0
- package/dist/elements/progress/progress.meta.d.ts.map +1 -0
- package/dist/elements/progress/progress.meta.js +28 -0
- package/dist/elements/prose-editor/index.d.ts +2 -0
- package/dist/elements/prose-editor/index.d.ts.map +1 -0
- package/dist/elements/prose-editor/index.js +4 -0
- package/dist/elements/prose-editor/prose-editor.css +133 -0
- package/dist/elements/prose-editor/prose-editor.d.ts +114 -0
- package/dist/elements/prose-editor/prose-editor.d.ts.map +1 -0
- package/dist/elements/prose-editor/prose-editor.js +481 -0
- package/dist/elements/rating/rating.d.ts +2 -0
- package/dist/elements/rating/rating.d.ts.map +1 -1
- package/dist/elements/rating/rating.js +2 -0
- package/dist/elements/select/select.meta.d.ts +28 -0
- package/dist/elements/select/select.meta.d.ts.map +1 -0
- package/dist/elements/select/select.meta.js +34 -0
- package/dist/elements/skeleton/skeleton.d.ts +3 -0
- package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
- package/dist/elements/skeleton/skeleton.js +3 -0
- package/dist/elements/stories-viewer/stories-viewer.d.ts +1 -1
- package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
- package/dist/elements/stories-viewer/stories-viewer.js +23 -19
- package/dist/elements/story/story.d.ts +10 -1
- package/dist/elements/story/story.d.ts.map +1 -1
- package/dist/elements/story/story.js +29 -17
- package/dist/elements/toast/toast.d.ts +5 -0
- package/dist/elements/toast/toast.d.ts.map +1 -1
- package/dist/elements/toast/toast.js +5 -0
- package/dist/elements/tree/tree.d.ts +2 -0
- package/dist/elements/tree/tree.d.ts.map +1 -1
- package/dist/elements/tree/tree.js +2 -0
- package/dist/elements/tree-item/tree-item.d.ts +2 -0
- package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
- package/dist/elements/tree-item/tree-item.js +2 -0
- package/dist/metadata/avatar.json +83 -0
- package/dist/metadata/badge.json +59 -0
- package/dist/metadata/button.json +138 -0
- package/dist/metadata/carousel-item.json +32 -0
- package/dist/metadata/carousel.json +388 -0
- package/dist/metadata/close-button.json +90 -0
- package/dist/metadata/dialog.json +163 -0
- package/dist/metadata/disclosure.json +88 -0
- package/dist/metadata/divider.json +65 -0
- package/dist/metadata/drawer.json +176 -0
- package/dist/metadata/dropdown-item.json +85 -0
- package/dist/metadata/dropdown.json +157 -0
- package/dist/metadata/icon.json +49 -0
- package/dist/metadata/index.json +4062 -0
- package/dist/metadata/input-otp.json +86 -0
- package/dist/metadata/input-stepper.json +122 -0
- package/dist/metadata/kbd.json +37 -0
- package/dist/metadata/popover.json +157 -0
- package/dist/metadata/progress.json +71 -0
- package/dist/metadata/prose-editor.json +365 -0
- package/dist/metadata/rating.json +126 -0
- package/dist/metadata/select.json +82 -0
- package/dist/metadata/skeleton.json +56 -0
- package/dist/metadata/spinner.json +47 -0
- package/dist/metadata/sticky-bar.json +93 -0
- package/dist/metadata/stories-viewer.json +316 -0
- package/dist/metadata/stories.json +109 -0
- package/dist/metadata/story.json +148 -0
- package/dist/metadata/tabs.json +74 -0
- package/dist/metadata/toast.json +122 -0
- package/dist/metadata/tooltip.json +144 -0
- package/dist/metadata/tree-item.json +199 -0
- package/dist/metadata/tree.json +130 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/shared/controllers/has-slot-controller.d.ts +37 -0
- package/dist/shared/controllers/has-slot-controller.d.ts.map +1 -0
- package/dist/shared/controllers/has-slot-controller.js +66 -0
- package/dist/static-tag.d.ts +17 -0
- package/dist/static-tag.d.ts.map +1 -0
- package/dist/static-tag.js +22 -0
- package/dist/templates/elements/avatar.md +21 -24
- package/dist/templates/elements/badge.md +9 -15
- package/dist/templates/elements/button.md +31 -41
- package/dist/templates/elements/close-button.md +24 -36
- package/dist/templates/elements/dialog.md +73 -54
- package/dist/templates/elements/drawer.md +39 -52
- package/dist/templates/elements/progress.md +13 -23
- package/dist/templates/elements/prose-editor.md +211 -0
- package/dist/templates/elements/select.md +20 -31
- package/dist/templates/elements/sticky-bar.md +16 -60
- package/dist/templates/elements/toast.md +33 -53
- package/dist/templates/elements/tree.md +39 -67
- package/elements.json +46 -1
- package/package.json +13 -3
- package/templates/SKILL.md.tpl +5 -1
|
@@ -0,0 +1,4062 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.8.0",
|
|
3
|
+
"elements": [
|
|
4
|
+
{
|
|
5
|
+
"name": "avatar",
|
|
6
|
+
"displayName": "Avatar",
|
|
7
|
+
"type": "shadow",
|
|
8
|
+
"isCustomElement": true,
|
|
9
|
+
"tag": "l-avatar",
|
|
10
|
+
"nativeTag": null,
|
|
11
|
+
"selector": "l-avatar",
|
|
12
|
+
"summary": "An avatar component for displaying user images, initials, or a default icon.",
|
|
13
|
+
"status": "stable",
|
|
14
|
+
"appearances": [],
|
|
15
|
+
"import": {
|
|
16
|
+
"css": "luxen-ui/css/avatar",
|
|
17
|
+
"js": "luxen-ui/avatar"
|
|
18
|
+
},
|
|
19
|
+
"properties": [
|
|
20
|
+
{
|
|
21
|
+
"name": "src",
|
|
22
|
+
"attribute": "src",
|
|
23
|
+
"type": "string",
|
|
24
|
+
"default": "''",
|
|
25
|
+
"reflects": false,
|
|
26
|
+
"description": ""
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "name",
|
|
30
|
+
"attribute": "name",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"default": "''",
|
|
33
|
+
"reflects": false,
|
|
34
|
+
"description": ""
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "size",
|
|
38
|
+
"attribute": "size",
|
|
39
|
+
"type": "string",
|
|
40
|
+
"default": "'md'",
|
|
41
|
+
"reflects": true,
|
|
42
|
+
"description": ""
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "badge",
|
|
46
|
+
"attribute": "badge",
|
|
47
|
+
"type": "number",
|
|
48
|
+
"default": "0",
|
|
49
|
+
"reflects": false,
|
|
50
|
+
"description": ""
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "interactive",
|
|
54
|
+
"attribute": "interactive",
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"default": "false",
|
|
57
|
+
"reflects": true,
|
|
58
|
+
"description": ""
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"attributes": [],
|
|
62
|
+
"events": [],
|
|
63
|
+
"methods": [],
|
|
64
|
+
"slots": [],
|
|
65
|
+
"cssClasses": [
|
|
66
|
+
{
|
|
67
|
+
"name": ".l-avatar-group",
|
|
68
|
+
"description": "Flex wrapper that overlaps a row of stacked avatars."
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"cssParts": [],
|
|
72
|
+
"cssProperties": [
|
|
73
|
+
{
|
|
74
|
+
"name": "--color",
|
|
75
|
+
"default": null,
|
|
76
|
+
"description": "Background fill color for initials and the default icon."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "--appearance",
|
|
80
|
+
"default": null,
|
|
81
|
+
"description": "Set to `circle` for a fully circular avatar (default is a rounded square)."
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"commands": [],
|
|
85
|
+
"examples": []
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "badge",
|
|
89
|
+
"displayName": "Badge",
|
|
90
|
+
"type": "custom",
|
|
91
|
+
"isCustomElement": true,
|
|
92
|
+
"tag": "l-badge",
|
|
93
|
+
"nativeTag": null,
|
|
94
|
+
"selector": "l-badge",
|
|
95
|
+
"summary": "A badge component for displaying small status indicators.",
|
|
96
|
+
"status": "stable",
|
|
97
|
+
"appearances": [],
|
|
98
|
+
"import": {
|
|
99
|
+
"css": "luxen-ui/css/badge",
|
|
100
|
+
"js": "luxen-ui/badge"
|
|
101
|
+
},
|
|
102
|
+
"properties": [
|
|
103
|
+
{
|
|
104
|
+
"name": "variant",
|
|
105
|
+
"attribute": "variant",
|
|
106
|
+
"type": "BadgeVariant | undefined",
|
|
107
|
+
"default": null,
|
|
108
|
+
"reflects": true,
|
|
109
|
+
"description": "Style variant: `info`, `success`, `warning`, `danger`, or `neutral` (default)"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "pill",
|
|
113
|
+
"attribute": "pill",
|
|
114
|
+
"type": "boolean",
|
|
115
|
+
"default": "false",
|
|
116
|
+
"reflects": true,
|
|
117
|
+
"description": "Display as pill shape"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "size",
|
|
121
|
+
"attribute": "size",
|
|
122
|
+
"type": "BadgeSize | undefined",
|
|
123
|
+
"default": null,
|
|
124
|
+
"reflects": true,
|
|
125
|
+
"description": "Badge size: `sm`, `lg`. Default is md."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "appearance",
|
|
129
|
+
"attribute": "appearance",
|
|
130
|
+
"type": "BadgeAppearance | undefined",
|
|
131
|
+
"default": null,
|
|
132
|
+
"reflects": true,
|
|
133
|
+
"description": "Visual appearance: `filled`, `filled-outlined`, `accent`. Default is outlined."
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"attributes": [],
|
|
137
|
+
"events": [],
|
|
138
|
+
"methods": [],
|
|
139
|
+
"slots": [],
|
|
140
|
+
"cssClasses": [],
|
|
141
|
+
"cssParts": [],
|
|
142
|
+
"cssProperties": [],
|
|
143
|
+
"commands": [],
|
|
144
|
+
"examples": []
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "button",
|
|
148
|
+
"displayName": "Button",
|
|
149
|
+
"type": "native",
|
|
150
|
+
"isCustomElement": false,
|
|
151
|
+
"tag": null,
|
|
152
|
+
"nativeTag": "button",
|
|
153
|
+
"selector": ".l-button",
|
|
154
|
+
"summary": "Buttons trigger actions such as submitting forms, confirming dialogs, or navigating.",
|
|
155
|
+
"status": "stable",
|
|
156
|
+
"appearances": [],
|
|
157
|
+
"import": {
|
|
158
|
+
"css": "luxen-ui/css/button",
|
|
159
|
+
"js": null
|
|
160
|
+
},
|
|
161
|
+
"properties": [],
|
|
162
|
+
"attributes": [
|
|
163
|
+
{
|
|
164
|
+
"name": "disabled",
|
|
165
|
+
"data": false,
|
|
166
|
+
"values": [],
|
|
167
|
+
"description": "Disables the button."
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "command",
|
|
171
|
+
"data": false,
|
|
172
|
+
"values": [],
|
|
173
|
+
"description": "Invoker command (`show-modal`, `close`, `show-popover`, etc.)."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "commandfor",
|
|
177
|
+
"data": false,
|
|
178
|
+
"values": [],
|
|
179
|
+
"description": "ID of the target element for `command`."
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "data-variant",
|
|
183
|
+
"data": true,
|
|
184
|
+
"values": [
|
|
185
|
+
"primary",
|
|
186
|
+
"destructive"
|
|
187
|
+
],
|
|
188
|
+
"description": "Visual variant. Default is the secondary style."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "data-size",
|
|
192
|
+
"data": true,
|
|
193
|
+
"values": [
|
|
194
|
+
"sm",
|
|
195
|
+
"lg",
|
|
196
|
+
"xl"
|
|
197
|
+
],
|
|
198
|
+
"description": "Control size. Default is md."
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "data-icon-only",
|
|
202
|
+
"data": true,
|
|
203
|
+
"values": [],
|
|
204
|
+
"description": "Icon-only mode (square button, width equals height). Auto-detected for a single icon child."
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "data-press-effect",
|
|
208
|
+
"data": true,
|
|
209
|
+
"values": [],
|
|
210
|
+
"description": "Press effect (scale + translate on active)."
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"events": [],
|
|
214
|
+
"methods": [],
|
|
215
|
+
"slots": [],
|
|
216
|
+
"cssClasses": [
|
|
217
|
+
{
|
|
218
|
+
"name": ".l-button",
|
|
219
|
+
"description": "Base button style."
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
"cssParts": [],
|
|
223
|
+
"cssProperties": [
|
|
224
|
+
{
|
|
225
|
+
"name": "--height",
|
|
226
|
+
"default": "32px",
|
|
227
|
+
"description": "Button height (md size)."
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "--padding-inline",
|
|
231
|
+
"default": "0.625rem",
|
|
232
|
+
"description": "Horizontal padding."
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"name": "--background-color",
|
|
236
|
+
"default": null,
|
|
237
|
+
"description": "Background color."
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "--background-color-hover",
|
|
241
|
+
"default": null,
|
|
242
|
+
"description": "Background color on hover."
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "--background-color-active",
|
|
246
|
+
"default": null,
|
|
247
|
+
"description": "Background color on press."
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "--text-color",
|
|
251
|
+
"default": null,
|
|
252
|
+
"description": "Text color."
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "--text-color-hover",
|
|
256
|
+
"default": null,
|
|
257
|
+
"description": "Text color on hover."
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "--border-color",
|
|
261
|
+
"default": null,
|
|
262
|
+
"description": "Border color."
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "--border-color-hover",
|
|
266
|
+
"default": null,
|
|
267
|
+
"description": "Border color on hover."
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "--font-size",
|
|
271
|
+
"default": null,
|
|
272
|
+
"description": "Font size."
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"commands": [],
|
|
276
|
+
"examples": [
|
|
277
|
+
{
|
|
278
|
+
"title": "Primary",
|
|
279
|
+
"language": "html",
|
|
280
|
+
"code": "<button class=\"l-button\" data-variant=\"primary\">Save</button>"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "carousel",
|
|
286
|
+
"displayName": "Carousel",
|
|
287
|
+
"type": "shadow",
|
|
288
|
+
"isCustomElement": true,
|
|
289
|
+
"tag": "l-carousel",
|
|
290
|
+
"nativeTag": null,
|
|
291
|
+
"selector": "l-carousel",
|
|
292
|
+
"summary": "Carousel custom element based on Embla Carousel.",
|
|
293
|
+
"status": "stable",
|
|
294
|
+
"appearances": [],
|
|
295
|
+
"import": {
|
|
296
|
+
"css": null,
|
|
297
|
+
"js": "luxen-ui/carousel"
|
|
298
|
+
},
|
|
299
|
+
"properties": [
|
|
300
|
+
{
|
|
301
|
+
"name": "embla",
|
|
302
|
+
"attribute": null,
|
|
303
|
+
"type": "EmblaCarouselType",
|
|
304
|
+
"default": null,
|
|
305
|
+
"reflects": false,
|
|
306
|
+
"description": ""
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "autoplay",
|
|
310
|
+
"attribute": "autoplay",
|
|
311
|
+
"type": "number",
|
|
312
|
+
"default": "0",
|
|
313
|
+
"reflects": true,
|
|
314
|
+
"description": "Choose a delay between transitions in milliseconds (default: 4000)."
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"name": "autoplayOptions",
|
|
318
|
+
"attribute": "autoplay-options",
|
|
319
|
+
"type": "any",
|
|
320
|
+
"default": null,
|
|
321
|
+
"reflects": false,
|
|
322
|
+
"description": "Configure autoplay options."
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"name": "axis",
|
|
326
|
+
"attribute": "axis",
|
|
327
|
+
"type": "AxisOptionType",
|
|
328
|
+
"default": "'x'",
|
|
329
|
+
"reflects": false,
|
|
330
|
+
"description": "Choose scroll axis between x and y."
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "align",
|
|
334
|
+
"attribute": "align",
|
|
335
|
+
"type": "AlignmentOptionType",
|
|
336
|
+
"default": "'start'",
|
|
337
|
+
"reflects": false,
|
|
338
|
+
"description": "Align the slides relative to the carousel viewport."
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "breakpoints",
|
|
342
|
+
"attribute": "breakpoints",
|
|
343
|
+
"type": "any",
|
|
344
|
+
"default": "{}",
|
|
345
|
+
"reflects": true,
|
|
346
|
+
"description": "Breakpoint overrides for options."
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "loop",
|
|
350
|
+
"attribute": "loop",
|
|
351
|
+
"type": "boolean",
|
|
352
|
+
"default": "false",
|
|
353
|
+
"reflects": false,
|
|
354
|
+
"description": "Enables infinite looping."
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"name": "dragFree",
|
|
358
|
+
"attribute": "drag-free",
|
|
359
|
+
"type": "boolean",
|
|
360
|
+
"default": "false",
|
|
361
|
+
"reflects": false,
|
|
362
|
+
"description": "Enables momentum scrolling (drag free)."
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"name": "duration",
|
|
366
|
+
"attribute": "duration",
|
|
367
|
+
"type": "number",
|
|
368
|
+
"default": "20",
|
|
369
|
+
"reflects": false,
|
|
370
|
+
"description": "Set scroll duration when triggered by API methods."
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "skipSnaps",
|
|
374
|
+
"attribute": "skip-snaps",
|
|
375
|
+
"type": "boolean",
|
|
376
|
+
"default": "false",
|
|
377
|
+
"reflects": false,
|
|
378
|
+
"description": "Allow skipping scroll snaps on vigorous drag."
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "slidesToScroll",
|
|
382
|
+
"attribute": "slides-to-scroll",
|
|
383
|
+
"type": "SlidesToScrollOptionType",
|
|
384
|
+
"default": "1",
|
|
385
|
+
"reflects": false,
|
|
386
|
+
"description": "Group slides together for navigation."
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"name": "startIndex",
|
|
390
|
+
"attribute": "start-index",
|
|
391
|
+
"type": "number",
|
|
392
|
+
"default": "0",
|
|
393
|
+
"reflects": false,
|
|
394
|
+
"description": "Set the initial scroll snap index."
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"name": "containScroll",
|
|
398
|
+
"attribute": "contain-scroll",
|
|
399
|
+
"type": "ScrollContainOptionType",
|
|
400
|
+
"default": "'trimSnaps'",
|
|
401
|
+
"reflects": false,
|
|
402
|
+
"description": "Clear leading and trailing empty space."
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "single",
|
|
406
|
+
"attribute": "single",
|
|
407
|
+
"type": "boolean",
|
|
408
|
+
"default": "false",
|
|
409
|
+
"reflects": false,
|
|
410
|
+
"description": ""
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "withDots",
|
|
414
|
+
"attribute": "with-dots",
|
|
415
|
+
"type": "boolean",
|
|
416
|
+
"default": "false",
|
|
417
|
+
"reflects": false,
|
|
418
|
+
"description": ""
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"name": "withScrollbar",
|
|
422
|
+
"attribute": "with-scrollbar",
|
|
423
|
+
"type": "boolean",
|
|
424
|
+
"default": "false",
|
|
425
|
+
"reflects": false,
|
|
426
|
+
"description": ""
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "withFullscreen",
|
|
430
|
+
"attribute": "with-fullscreen",
|
|
431
|
+
"type": "boolean",
|
|
432
|
+
"default": "false",
|
|
433
|
+
"reflects": false,
|
|
434
|
+
"description": ""
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "dotAppearance",
|
|
438
|
+
"attribute": "dot-appearance",
|
|
439
|
+
"type": "'circle' | 'bar'",
|
|
440
|
+
"default": "'bar'",
|
|
441
|
+
"reflects": false,
|
|
442
|
+
"description": ""
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"name": "maxVisibleDots",
|
|
446
|
+
"attribute": "max-visible-dots",
|
|
447
|
+
"type": "number",
|
|
448
|
+
"default": "0",
|
|
449
|
+
"reflects": false,
|
|
450
|
+
"description": "Maximum number of dots rendered at once. When the snap count exceeds this,\na sliding window keeps the active dot in view and shrinks the edge dot(s)\non the side where dots are hidden. `0` (default) renders all dots."
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"name": "scrollButtonsPosition",
|
|
454
|
+
"attribute": "scroll-buttons-position",
|
|
455
|
+
"type": "'inside' | 'outside'",
|
|
456
|
+
"default": "'inside'",
|
|
457
|
+
"reflects": false,
|
|
458
|
+
"description": ""
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"name": "next",
|
|
462
|
+
"attribute": null,
|
|
463
|
+
"type": null,
|
|
464
|
+
"default": null,
|
|
465
|
+
"reflects": false,
|
|
466
|
+
"description": ""
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "previous",
|
|
470
|
+
"attribute": null,
|
|
471
|
+
"type": null,
|
|
472
|
+
"default": null,
|
|
473
|
+
"reflects": false,
|
|
474
|
+
"description": ""
|
|
475
|
+
}
|
|
476
|
+
],
|
|
477
|
+
"attributes": [],
|
|
478
|
+
"events": [
|
|
479
|
+
{
|
|
480
|
+
"name": "select",
|
|
481
|
+
"description": "Fired when the active slide changes. Detail: `{ index: number }`.",
|
|
482
|
+
"cancelable": false
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "slides-in-view",
|
|
486
|
+
"description": "Fired when the set of slides in view changes. Detail: `{ indexes: number[] }`.",
|
|
487
|
+
"cancelable": false
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"name": "fullscreen",
|
|
491
|
+
"description": "Fired when the fullscreen button is activated.",
|
|
492
|
+
"cancelable": false
|
|
493
|
+
}
|
|
494
|
+
],
|
|
495
|
+
"methods": [
|
|
496
|
+
{
|
|
497
|
+
"name": "options",
|
|
498
|
+
"params": [],
|
|
499
|
+
"returns": "EmblaOptionsType",
|
|
500
|
+
"description": ""
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "goToSlide",
|
|
504
|
+
"params": [
|
|
505
|
+
{
|
|
506
|
+
"name": "index",
|
|
507
|
+
"type": "number"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "jump",
|
|
511
|
+
"type": "boolean"
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"returns": null,
|
|
515
|
+
"description": ""
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "slideNodes",
|
|
519
|
+
"params": [],
|
|
520
|
+
"returns": null,
|
|
521
|
+
"description": ""
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "slidesInView",
|
|
525
|
+
"params": [],
|
|
526
|
+
"returns": null,
|
|
527
|
+
"description": ""
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "isActive",
|
|
531
|
+
"params": [],
|
|
532
|
+
"returns": null,
|
|
533
|
+
"description": ""
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "renderFullscreenButton",
|
|
537
|
+
"params": [],
|
|
538
|
+
"returns": null,
|
|
539
|
+
"description": ""
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "renderNextPreviousButtons",
|
|
543
|
+
"params": [],
|
|
544
|
+
"returns": null,
|
|
545
|
+
"description": ""
|
|
546
|
+
}
|
|
547
|
+
],
|
|
548
|
+
"slots": [],
|
|
549
|
+
"cssClasses": [],
|
|
550
|
+
"cssParts": [
|
|
551
|
+
{
|
|
552
|
+
"name": "viewport",
|
|
553
|
+
"description": "The carousel viewport container."
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"name": "container",
|
|
557
|
+
"description": "The slides container slot."
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "scroll-buttons",
|
|
561
|
+
"description": "The scroll buttons wrapper."
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"name": "button",
|
|
565
|
+
"description": "Any navigation button."
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"name": "button-previous",
|
|
569
|
+
"description": "The previous slide navigation button."
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "button-next",
|
|
573
|
+
"description": "The next slide navigation button."
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"name": "button-dot",
|
|
577
|
+
"description": "Any dot navigation button."
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "dots",
|
|
581
|
+
"description": "The dots navigation wrapper."
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "button-fullscreen",
|
|
585
|
+
"description": "The fullscreen button."
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"name": "button-icon",
|
|
589
|
+
"description": "Any button icon SVG."
|
|
590
|
+
}
|
|
591
|
+
],
|
|
592
|
+
"cssProperties": [
|
|
593
|
+
{
|
|
594
|
+
"name": "--slide-height",
|
|
595
|
+
"default": null,
|
|
596
|
+
"description": "Height of slides in vertical axis mode."
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"name": "--slide-size",
|
|
600
|
+
"default": null,
|
|
601
|
+
"description": "Width of each slide (e.g. `100%`, `calc(100% / 3)`)."
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "--slide-gap",
|
|
605
|
+
"default": null,
|
|
606
|
+
"description": "Gap between slides."
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "--button-size",
|
|
610
|
+
"default": null,
|
|
611
|
+
"description": "Size of navigation buttons."
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"name": "--button-arrow-size",
|
|
615
|
+
"default": null,
|
|
616
|
+
"description": "Size of arrow icons inside buttons."
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"name": "--button-arrow-color",
|
|
620
|
+
"default": null,
|
|
621
|
+
"description": "Color of arrow icons."
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"name": "--button-offset",
|
|
625
|
+
"default": null,
|
|
626
|
+
"description": "Offset of inside-positioned buttons from edges."
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "--button-border-color",
|
|
630
|
+
"default": null,
|
|
631
|
+
"description": "Border color of buttons."
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"name": "--button-border-radius",
|
|
635
|
+
"default": null,
|
|
636
|
+
"description": "Border radius of buttons."
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"name": "--button-bg",
|
|
640
|
+
"default": null,
|
|
641
|
+
"description": "Background color of buttons."
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"name": "--button-color",
|
|
645
|
+
"default": null,
|
|
646
|
+
"description": "Text/icon color of buttons."
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "--dot-color",
|
|
650
|
+
"default": null,
|
|
651
|
+
"description": "Color of inactive dots."
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"name": "--dot-color-active",
|
|
655
|
+
"default": null,
|
|
656
|
+
"description": "Color of active dot."
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "--dot-margin",
|
|
660
|
+
"default": null,
|
|
661
|
+
"description": "Margin around dots container."
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "--dot-edge-scale",
|
|
665
|
+
"default": "0.5",
|
|
666
|
+
"description": "Scale factor applied to edge dots that signal more dots exist beyond the visible window ()."
|
|
667
|
+
}
|
|
668
|
+
],
|
|
669
|
+
"commands": [],
|
|
670
|
+
"examples": []
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "carousel-item",
|
|
674
|
+
"displayName": "Carousel item",
|
|
675
|
+
"type": "custom",
|
|
676
|
+
"isCustomElement": true,
|
|
677
|
+
"tag": "l-carousel-item",
|
|
678
|
+
"nativeTag": null,
|
|
679
|
+
"selector": "l-carousel-item",
|
|
680
|
+
"summary": "A single slide inside an `<l-carousel>`.",
|
|
681
|
+
"status": "stable",
|
|
682
|
+
"appearances": [],
|
|
683
|
+
"import": {
|
|
684
|
+
"css": null,
|
|
685
|
+
"js": "luxen-ui/carousel-item"
|
|
686
|
+
},
|
|
687
|
+
"properties": [],
|
|
688
|
+
"attributes": [],
|
|
689
|
+
"events": [],
|
|
690
|
+
"methods": [],
|
|
691
|
+
"slots": [],
|
|
692
|
+
"cssClasses": [],
|
|
693
|
+
"cssParts": [],
|
|
694
|
+
"cssProperties": [
|
|
695
|
+
{
|
|
696
|
+
"name": "--aspect-ratio",
|
|
697
|
+
"default": null,
|
|
698
|
+
"description": "Aspect ratio of the slide."
|
|
699
|
+
}
|
|
700
|
+
],
|
|
701
|
+
"commands": [],
|
|
702
|
+
"examples": []
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"name": "close-button",
|
|
706
|
+
"displayName": "Close button",
|
|
707
|
+
"type": "native",
|
|
708
|
+
"isCustomElement": false,
|
|
709
|
+
"tag": null,
|
|
710
|
+
"nativeTag": "button",
|
|
711
|
+
"selector": ".l-close",
|
|
712
|
+
"summary": "A circular/square icon button that renders an X via CSS mask, for dismissing dialogs and panels.",
|
|
713
|
+
"status": "stable",
|
|
714
|
+
"appearances": [
|
|
715
|
+
"ring",
|
|
716
|
+
"square",
|
|
717
|
+
"circle"
|
|
718
|
+
],
|
|
719
|
+
"import": {
|
|
720
|
+
"css": "luxen-ui/css/close-button/ring",
|
|
721
|
+
"js": null
|
|
722
|
+
},
|
|
723
|
+
"properties": [],
|
|
724
|
+
"attributes": [
|
|
725
|
+
{
|
|
726
|
+
"name": "data-appearance",
|
|
727
|
+
"data": true,
|
|
728
|
+
"values": [
|
|
729
|
+
"ring",
|
|
730
|
+
"square",
|
|
731
|
+
"circle"
|
|
732
|
+
],
|
|
733
|
+
"description": "Visual appearance (matches the imported appearance CSS)."
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"name": "command",
|
|
737
|
+
"data": false,
|
|
738
|
+
"values": [],
|
|
739
|
+
"description": "Invoker command (typically `close`)."
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"name": "commandfor",
|
|
743
|
+
"data": false,
|
|
744
|
+
"values": [],
|
|
745
|
+
"description": "ID of the target element to close."
|
|
746
|
+
}
|
|
747
|
+
],
|
|
748
|
+
"events": [],
|
|
749
|
+
"methods": [],
|
|
750
|
+
"slots": [],
|
|
751
|
+
"cssClasses": [
|
|
752
|
+
{
|
|
753
|
+
"name": ".l-close",
|
|
754
|
+
"description": "Base close button with X icon via CSS mask."
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"cssParts": [],
|
|
758
|
+
"cssProperties": [
|
|
759
|
+
{
|
|
760
|
+
"name": "--size",
|
|
761
|
+
"default": "36px",
|
|
762
|
+
"description": "Button size."
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"name": "--icon-color",
|
|
766
|
+
"default": null,
|
|
767
|
+
"description": "Icon color."
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"name": "--icon-size",
|
|
771
|
+
"default": "24px",
|
|
772
|
+
"description": "Icon size."
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"name": "--ring-color",
|
|
776
|
+
"default": null,
|
|
777
|
+
"description": "Hover ring color (`ring` appearance only)."
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"name": "--ring-tickness",
|
|
781
|
+
"default": null,
|
|
782
|
+
"description": "Hover ring thickness (`ring` appearance only)."
|
|
783
|
+
}
|
|
784
|
+
],
|
|
785
|
+
"commands": [],
|
|
786
|
+
"examples": [
|
|
787
|
+
{
|
|
788
|
+
"title": "Ring appearance",
|
|
789
|
+
"language": "html",
|
|
790
|
+
"code": "<button class=\"l-close\" data-appearance=\"ring\" aria-label=\"Close\"></button>"
|
|
791
|
+
}
|
|
792
|
+
]
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "dialog",
|
|
796
|
+
"displayName": "Dialog",
|
|
797
|
+
"type": "shadow",
|
|
798
|
+
"isCustomElement": true,
|
|
799
|
+
"tag": "l-dialog",
|
|
800
|
+
"nativeTag": null,
|
|
801
|
+
"selector": "l-dialog",
|
|
802
|
+
"summary": "A modal dialog rendered in the top layer via the native `<dialog>` element.\n\nOpen and close by toggling the `open` property (or the `--show` / `--hide`\nInvoker commands). There are no public `show()` / `close()` methods.",
|
|
803
|
+
"status": "stable",
|
|
804
|
+
"appearances": [],
|
|
805
|
+
"import": {
|
|
806
|
+
"css": null,
|
|
807
|
+
"js": "luxen-ui/dialog"
|
|
808
|
+
},
|
|
809
|
+
"properties": [
|
|
810
|
+
{
|
|
811
|
+
"name": "title",
|
|
812
|
+
"attribute": "title",
|
|
813
|
+
"type": "string",
|
|
814
|
+
"default": "''",
|
|
815
|
+
"reflects": false,
|
|
816
|
+
"description": "Dialog title rendered in the header."
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"name": "open",
|
|
820
|
+
"attribute": "open",
|
|
821
|
+
"type": "boolean",
|
|
822
|
+
"default": "false",
|
|
823
|
+
"reflects": true,
|
|
824
|
+
"description": "Whether the dialog is open."
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"name": "lightDismiss",
|
|
828
|
+
"attribute": "light-dismiss",
|
|
829
|
+
"type": "boolean",
|
|
830
|
+
"default": "false",
|
|
831
|
+
"reflects": true,
|
|
832
|
+
"description": "Close when the backdrop is clicked."
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "withoutHeader",
|
|
836
|
+
"attribute": "without-header",
|
|
837
|
+
"type": "boolean",
|
|
838
|
+
"default": "false",
|
|
839
|
+
"reflects": true,
|
|
840
|
+
"description": "Hide the header entirely (title and close slot)."
|
|
841
|
+
}
|
|
842
|
+
],
|
|
843
|
+
"attributes": [],
|
|
844
|
+
"events": [
|
|
845
|
+
{
|
|
846
|
+
"name": "show",
|
|
847
|
+
"description": "Fired when the dialog opens. Not cancelable.",
|
|
848
|
+
"cancelable": false
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"name": "after-show",
|
|
852
|
+
"description": "Fired after the open animation completes.",
|
|
853
|
+
"cancelable": false
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"name": "hide",
|
|
857
|
+
"description": "Fired when the dialog is about to close. Cancelable — call `event.preventDefault()` to keep it open.",
|
|
858
|
+
"cancelable": true
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"name": "after-hide",
|
|
862
|
+
"description": "Fired after the close animation completes.",
|
|
863
|
+
"cancelable": false
|
|
864
|
+
}
|
|
865
|
+
],
|
|
866
|
+
"methods": [],
|
|
867
|
+
"slots": [
|
|
868
|
+
{
|
|
869
|
+
"name": "",
|
|
870
|
+
"description": "Body content."
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"name": "title",
|
|
874
|
+
"description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property."
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"name": "close",
|
|
878
|
+
"description": "Close button (typically `<button class=\"l-close\">`)."
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"name": "footer",
|
|
882
|
+
"description": "Footer actions."
|
|
883
|
+
}
|
|
884
|
+
],
|
|
885
|
+
"cssClasses": [],
|
|
886
|
+
"cssParts": [
|
|
887
|
+
{
|
|
888
|
+
"name": "dialog",
|
|
889
|
+
"description": "The native `<dialog>` element."
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"name": "header",
|
|
893
|
+
"description": "The header wrapper containing the title and close slot."
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"name": "title",
|
|
897
|
+
"description": "The dialog title heading."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "body",
|
|
901
|
+
"description": "The body wrapper around the default slot."
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"name": "footer",
|
|
905
|
+
"description": "The footer wrapper around the footer slot."
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"cssProperties": [
|
|
909
|
+
{
|
|
910
|
+
"name": "--width",
|
|
911
|
+
"default": "31rem",
|
|
912
|
+
"description": "Dialog width."
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"name": "--border-radius",
|
|
916
|
+
"default": "6px",
|
|
917
|
+
"description": "Dialog border radius."
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"name": "--padding",
|
|
921
|
+
"default": "1.5rem",
|
|
922
|
+
"description": "Padding applied to the header, footer, and inline-padding of the body. Set to `0` to remove all internal spacing (e.g. for edge-to-edge media)."
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"name": "--show-duration",
|
|
926
|
+
"default": "200ms",
|
|
927
|
+
"description": "Open transition duration."
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"name": "--hide-duration",
|
|
931
|
+
"default": "200ms",
|
|
932
|
+
"description": "Close transition duration."
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"name": "--backdrop",
|
|
936
|
+
"default": null,
|
|
937
|
+
"description": "Backdrop color."
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"name": "--backdrop-blur",
|
|
941
|
+
"default": "0",
|
|
942
|
+
"description": "Backdrop blur amount (any CSS length). `0` means no blur; set e.g. `4px` for a subtle frost."
|
|
943
|
+
}
|
|
944
|
+
],
|
|
945
|
+
"commands": [
|
|
946
|
+
{
|
|
947
|
+
"name": "--show",
|
|
948
|
+
"description": "Sets `open = true`."
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"name": "--hide",
|
|
952
|
+
"description": "Sets `open = false`."
|
|
953
|
+
}
|
|
954
|
+
],
|
|
955
|
+
"examples": []
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "disclosure",
|
|
959
|
+
"displayName": "Disclosure",
|
|
960
|
+
"type": "native",
|
|
961
|
+
"isCustomElement": false,
|
|
962
|
+
"tag": null,
|
|
963
|
+
"nativeTag": "details",
|
|
964
|
+
"selector": ".l-disclosure",
|
|
965
|
+
"summary": "A headless, animated disclosure built on native `<details>`/`<summary>`.",
|
|
966
|
+
"status": "stable",
|
|
967
|
+
"appearances": [],
|
|
968
|
+
"import": {
|
|
969
|
+
"css": "luxen-ui/css/disclosure",
|
|
970
|
+
"js": null
|
|
971
|
+
},
|
|
972
|
+
"properties": [],
|
|
973
|
+
"attributes": [
|
|
974
|
+
{
|
|
975
|
+
"name": "open",
|
|
976
|
+
"data": false,
|
|
977
|
+
"values": [],
|
|
978
|
+
"description": "Native attribute — starts the disclosure expanded."
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
"name": "name",
|
|
982
|
+
"data": false,
|
|
983
|
+
"values": [],
|
|
984
|
+
"description": "Native attribute — groups disclosures into an exclusive accordion."
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"name": "data-marker",
|
|
988
|
+
"data": true,
|
|
989
|
+
"values": [
|
|
990
|
+
"arrow",
|
|
991
|
+
"plus"
|
|
992
|
+
],
|
|
993
|
+
"description": "Marker icon: `arrow` rotates 180° when open; `plus` rotates 45° into a cross."
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
"name": "data-variant",
|
|
997
|
+
"data": true,
|
|
998
|
+
"values": [],
|
|
999
|
+
"description": "bordered — Adds border, background, and border-radius."
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
"name": "disabled",
|
|
1003
|
+
"data": false,
|
|
1004
|
+
"values": [],
|
|
1005
|
+
"description": "Disables interaction (set on `<details>` or `<summary>`)."
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
"events": [
|
|
1009
|
+
{
|
|
1010
|
+
"name": "toggle",
|
|
1011
|
+
"description": "Fires when the disclosure opens or closes (`e.newState` is `\"open\"` or `\"closed\"`).",
|
|
1012
|
+
"cancelable": false
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
1015
|
+
"methods": [],
|
|
1016
|
+
"slots": [],
|
|
1017
|
+
"cssClasses": [
|
|
1018
|
+
{
|
|
1019
|
+
"name": ".l-disclosure",
|
|
1020
|
+
"description": "Headless base — layout, animation, and marker behavior only."
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"cssParts": [],
|
|
1024
|
+
"cssProperties": [
|
|
1025
|
+
{
|
|
1026
|
+
"name": "--marker-size",
|
|
1027
|
+
"default": "20px",
|
|
1028
|
+
"description": "Marker icon size."
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"name": "--marker-color",
|
|
1032
|
+
"default": "var(--l-color-text-tertiary)",
|
|
1033
|
+
"description": "Marker icon color ()."
|
|
1034
|
+
}
|
|
1035
|
+
],
|
|
1036
|
+
"commands": [],
|
|
1037
|
+
"examples": [
|
|
1038
|
+
{
|
|
1039
|
+
"title": "Bordered with arrow marker",
|
|
1040
|
+
"language": "html",
|
|
1041
|
+
"code": "<details class=\"l-disclosure\" data-variant=\"bordered\" data-marker=\"arrow\">\n<summary>Details</summary>\n<div>Content</div>\n</details>"
|
|
1042
|
+
}
|
|
1043
|
+
]
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"name": "divider",
|
|
1047
|
+
"displayName": "Divider",
|
|
1048
|
+
"type": "custom",
|
|
1049
|
+
"isCustomElement": true,
|
|
1050
|
+
"tag": "l-divider",
|
|
1051
|
+
"nativeTag": null,
|
|
1052
|
+
"selector": "l-divider",
|
|
1053
|
+
"summary": "Dividers visually separate or group elements.",
|
|
1054
|
+
"status": "stable",
|
|
1055
|
+
"appearances": [],
|
|
1056
|
+
"import": {
|
|
1057
|
+
"css": "luxen-ui/css/divider",
|
|
1058
|
+
"js": "luxen-ui/divider"
|
|
1059
|
+
},
|
|
1060
|
+
"properties": [
|
|
1061
|
+
{
|
|
1062
|
+
"name": "orientation",
|
|
1063
|
+
"attribute": "orientation",
|
|
1064
|
+
"type": "DividerOrientation",
|
|
1065
|
+
"default": "'horizontal'",
|
|
1066
|
+
"reflects": true,
|
|
1067
|
+
"description": "The divider's orientation."
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"name": "label",
|
|
1071
|
+
"attribute": "label",
|
|
1072
|
+
"type": "string | undefined",
|
|
1073
|
+
"default": null,
|
|
1074
|
+
"reflects": true,
|
|
1075
|
+
"description": "Optional text label displayed over the divider line."
|
|
1076
|
+
}
|
|
1077
|
+
],
|
|
1078
|
+
"attributes": [],
|
|
1079
|
+
"events": [],
|
|
1080
|
+
"methods": [],
|
|
1081
|
+
"slots": [],
|
|
1082
|
+
"cssClasses": [],
|
|
1083
|
+
"cssParts": [],
|
|
1084
|
+
"cssProperties": [
|
|
1085
|
+
{
|
|
1086
|
+
"name": "--color",
|
|
1087
|
+
"default": null,
|
|
1088
|
+
"description": "The color of the divider line."
|
|
1089
|
+
},
|
|
1090
|
+
{
|
|
1091
|
+
"name": "--thickness",
|
|
1092
|
+
"default": null,
|
|
1093
|
+
"description": "The thickness of the divider line."
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"name": "--spacing",
|
|
1097
|
+
"default": null,
|
|
1098
|
+
"description": "The spacing between the divider and its neighboring elements."
|
|
1099
|
+
}
|
|
1100
|
+
],
|
|
1101
|
+
"commands": [],
|
|
1102
|
+
"examples": [
|
|
1103
|
+
{
|
|
1104
|
+
"title": null,
|
|
1105
|
+
"language": "html",
|
|
1106
|
+
"code": "<l-divider></l-divider>"
|
|
1107
|
+
}
|
|
1108
|
+
]
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"name": "drawer",
|
|
1112
|
+
"displayName": "Drawer",
|
|
1113
|
+
"type": "shadow",
|
|
1114
|
+
"isCustomElement": true,
|
|
1115
|
+
"tag": "l-drawer",
|
|
1116
|
+
"nativeTag": null,
|
|
1117
|
+
"selector": "l-drawer",
|
|
1118
|
+
"summary": "A drawer that slides in from a screen edge. Extends `<l-dialog>`.\n\nOpen and close by toggling the `open` property (or the `--show` / `--hide`\nInvoker commands). Always opens as modal.",
|
|
1119
|
+
"status": "stable",
|
|
1120
|
+
"appearances": [],
|
|
1121
|
+
"import": {
|
|
1122
|
+
"css": null,
|
|
1123
|
+
"js": "luxen-ui/drawer"
|
|
1124
|
+
},
|
|
1125
|
+
"properties": [
|
|
1126
|
+
{
|
|
1127
|
+
"name": "placement",
|
|
1128
|
+
"attribute": "placement",
|
|
1129
|
+
"type": "'start' | 'end' | 'bottom' | undefined",
|
|
1130
|
+
"default": null,
|
|
1131
|
+
"reflects": true,
|
|
1132
|
+
"description": "Edge the drawer slides in from. Defaults to the start (inline-start) edge."
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
"name": "title",
|
|
1136
|
+
"attribute": "title",
|
|
1137
|
+
"type": "string",
|
|
1138
|
+
"default": "''",
|
|
1139
|
+
"reflects": false,
|
|
1140
|
+
"description": "Dialog title rendered in the header."
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"name": "open",
|
|
1144
|
+
"attribute": "open",
|
|
1145
|
+
"type": "boolean",
|
|
1146
|
+
"default": "false",
|
|
1147
|
+
"reflects": true,
|
|
1148
|
+
"description": "Whether the dialog is open."
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"name": "lightDismiss",
|
|
1152
|
+
"attribute": "light-dismiss",
|
|
1153
|
+
"type": "boolean",
|
|
1154
|
+
"default": "false",
|
|
1155
|
+
"reflects": true,
|
|
1156
|
+
"description": "Close when the backdrop is clicked."
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"name": "withoutHeader",
|
|
1160
|
+
"attribute": "without-header",
|
|
1161
|
+
"type": "boolean",
|
|
1162
|
+
"default": "false",
|
|
1163
|
+
"reflects": true,
|
|
1164
|
+
"description": "Hide the header entirely (title and close slot)."
|
|
1165
|
+
}
|
|
1166
|
+
],
|
|
1167
|
+
"attributes": [],
|
|
1168
|
+
"events": [
|
|
1169
|
+
{
|
|
1170
|
+
"name": "show",
|
|
1171
|
+
"description": "Fired when the drawer opens. Not cancelable.",
|
|
1172
|
+
"cancelable": false
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
"name": "after-show",
|
|
1176
|
+
"description": "Fired after the open animation completes.",
|
|
1177
|
+
"cancelable": false
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"name": "hide",
|
|
1181
|
+
"description": "Fired when the drawer is about to close. Cancelable — call `event.preventDefault()` to keep it open.",
|
|
1182
|
+
"cancelable": true
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
"name": "after-hide",
|
|
1186
|
+
"description": "Fired after the close animation completes.",
|
|
1187
|
+
"cancelable": false
|
|
1188
|
+
}
|
|
1189
|
+
],
|
|
1190
|
+
"methods": [],
|
|
1191
|
+
"slots": [
|
|
1192
|
+
{
|
|
1193
|
+
"name": "",
|
|
1194
|
+
"description": "Body content."
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "close",
|
|
1198
|
+
"description": "Close button (typically `<button class=\"l-close\">`)."
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"name": "footer",
|
|
1202
|
+
"description": "Footer actions."
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"name": "title",
|
|
1206
|
+
"description": "Custom heading element. Overrides the default `<h2>` rendered from the `title` property."
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
"cssClasses": [],
|
|
1210
|
+
"cssParts": [
|
|
1211
|
+
{
|
|
1212
|
+
"name": "dialog",
|
|
1213
|
+
"description": "The native `<dialog>` element."
|
|
1214
|
+
},
|
|
1215
|
+
{
|
|
1216
|
+
"name": "header",
|
|
1217
|
+
"description": "The header wrapper containing the title and close slot."
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"name": "title",
|
|
1221
|
+
"description": "The drawer title heading."
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
"name": "body",
|
|
1225
|
+
"description": "The body wrapper around the default slot."
|
|
1226
|
+
},
|
|
1227
|
+
{
|
|
1228
|
+
"name": "footer",
|
|
1229
|
+
"description": "The footer wrapper around the footer slot."
|
|
1230
|
+
}
|
|
1231
|
+
],
|
|
1232
|
+
"cssProperties": [
|
|
1233
|
+
{
|
|
1234
|
+
"name": "--size",
|
|
1235
|
+
"default": "320px",
|
|
1236
|
+
"description": "Drawer size on the axis perpendicular to its edge (width for `start`/`end`, height for `bottom`)."
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"name": "--border-radius",
|
|
1240
|
+
"default": "6px",
|
|
1241
|
+
"description": "Drawer border radius on the inner edges."
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"name": "--show-duration",
|
|
1245
|
+
"default": "200ms",
|
|
1246
|
+
"description": "Open transition duration."
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "--hide-duration",
|
|
1250
|
+
"default": "200ms",
|
|
1251
|
+
"description": "Close transition duration."
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
"name": "--backdrop",
|
|
1255
|
+
"default": null,
|
|
1256
|
+
"description": "Backdrop color."
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"name": "--width",
|
|
1260
|
+
"default": "31rem",
|
|
1261
|
+
"description": "Dialog width."
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
"name": "--padding",
|
|
1265
|
+
"default": "1.5rem",
|
|
1266
|
+
"description": "Padding applied to the header, footer, and inline-padding of the body. Set to `0` to remove all internal spacing (e.g. for edge-to-edge media)."
|
|
1267
|
+
},
|
|
1268
|
+
{
|
|
1269
|
+
"name": "--backdrop-blur",
|
|
1270
|
+
"default": "0",
|
|
1271
|
+
"description": "Backdrop blur amount (any CSS length). `0` means no blur; set e.g. `4px` for a subtle frost."
|
|
1272
|
+
}
|
|
1273
|
+
],
|
|
1274
|
+
"commands": [
|
|
1275
|
+
{
|
|
1276
|
+
"name": "--show",
|
|
1277
|
+
"description": "Sets `open = true`."
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
"name": "--hide",
|
|
1281
|
+
"description": "Sets `open = false`."
|
|
1282
|
+
}
|
|
1283
|
+
],
|
|
1284
|
+
"examples": []
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
"name": "dropdown",
|
|
1288
|
+
"displayName": "Dropdown",
|
|
1289
|
+
"type": "shadow",
|
|
1290
|
+
"isCustomElement": true,
|
|
1291
|
+
"tag": "l-dropdown",
|
|
1292
|
+
"nativeTag": null,
|
|
1293
|
+
"selector": "l-dropdown",
|
|
1294
|
+
"summary": "A dropdown menu anchored to a trigger element.",
|
|
1295
|
+
"status": "stable",
|
|
1296
|
+
"appearances": [],
|
|
1297
|
+
"import": {
|
|
1298
|
+
"css": null,
|
|
1299
|
+
"js": "luxen-ui/dropdown"
|
|
1300
|
+
},
|
|
1301
|
+
"properties": [
|
|
1302
|
+
{
|
|
1303
|
+
"name": "open",
|
|
1304
|
+
"attribute": "open",
|
|
1305
|
+
"type": "boolean",
|
|
1306
|
+
"default": "false",
|
|
1307
|
+
"reflects": true,
|
|
1308
|
+
"description": "Whether the dropdown is open."
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"name": "placement",
|
|
1312
|
+
"attribute": "placement",
|
|
1313
|
+
"type": "Placement",
|
|
1314
|
+
"default": "'bottom-start'",
|
|
1315
|
+
"reflects": false,
|
|
1316
|
+
"description": "Preferred placement of the panel."
|
|
1317
|
+
},
|
|
1318
|
+
{
|
|
1319
|
+
"name": "distance",
|
|
1320
|
+
"attribute": "distance",
|
|
1321
|
+
"type": "number",
|
|
1322
|
+
"default": "4",
|
|
1323
|
+
"reflects": false,
|
|
1324
|
+
"description": "Distance in pixels from the trigger."
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"name": "disabled",
|
|
1328
|
+
"attribute": "disabled",
|
|
1329
|
+
"type": "boolean",
|
|
1330
|
+
"default": "false",
|
|
1331
|
+
"reflects": true,
|
|
1332
|
+
"description": "Disables the dropdown trigger."
|
|
1333
|
+
}
|
|
1334
|
+
],
|
|
1335
|
+
"attributes": [],
|
|
1336
|
+
"events": [
|
|
1337
|
+
{
|
|
1338
|
+
"name": "show",
|
|
1339
|
+
"description": "Fired before the dropdown opens. Cancelable.",
|
|
1340
|
+
"cancelable": true
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"name": "after-show",
|
|
1344
|
+
"description": "Fired after the open animation completes.",
|
|
1345
|
+
"cancelable": false
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
"name": "hide",
|
|
1349
|
+
"description": "Fired before the dropdown closes. Cancelable.",
|
|
1350
|
+
"cancelable": true
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"name": "after-hide",
|
|
1354
|
+
"description": "Fired after the close animation completes.",
|
|
1355
|
+
"cancelable": false
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"name": "select",
|
|
1359
|
+
"description": "Fired when an item is selected. Detail: `{ item: DropdownItem }`.",
|
|
1360
|
+
"cancelable": false
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"methods": [
|
|
1364
|
+
{
|
|
1365
|
+
"name": "show",
|
|
1366
|
+
"params": [],
|
|
1367
|
+
"returns": null,
|
|
1368
|
+
"description": ""
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "hide",
|
|
1372
|
+
"params": [],
|
|
1373
|
+
"returns": null,
|
|
1374
|
+
"description": ""
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"name": "toggle",
|
|
1378
|
+
"params": [],
|
|
1379
|
+
"returns": null,
|
|
1380
|
+
"description": ""
|
|
1381
|
+
}
|
|
1382
|
+
],
|
|
1383
|
+
"slots": [
|
|
1384
|
+
{
|
|
1385
|
+
"name": "trigger",
|
|
1386
|
+
"description": "The element that triggers the dropdown."
|
|
1387
|
+
},
|
|
1388
|
+
{
|
|
1389
|
+
"name": "header",
|
|
1390
|
+
"description": "Optional content rendered above the menu items (e.g. a user profile row). Use an `<l-divider>` (or `<hr>`) after it to separate from items."
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"name": "",
|
|
1394
|
+
"description": "Menu content (`l-dropdown-item` elements). Drop an `<l-divider>` (or `<hr>`) between items to render a section separator."
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"name": "footer",
|
|
1398
|
+
"description": "Optional content rendered below the menu items (e.g. a version label or shortcut row). Use an `<l-divider>` (or `<hr>`) before it to separate from items."
|
|
1399
|
+
}
|
|
1400
|
+
],
|
|
1401
|
+
"cssClasses": [],
|
|
1402
|
+
"cssParts": [
|
|
1403
|
+
{
|
|
1404
|
+
"name": "panel",
|
|
1405
|
+
"description": "The floating menu container."
|
|
1406
|
+
}
|
|
1407
|
+
],
|
|
1408
|
+
"cssProperties": [
|
|
1409
|
+
{
|
|
1410
|
+
"name": "--background",
|
|
1411
|
+
"default": null,
|
|
1412
|
+
"description": "Panel background color."
|
|
1413
|
+
},
|
|
1414
|
+
{
|
|
1415
|
+
"name": "--border-radius",
|
|
1416
|
+
"default": "8px",
|
|
1417
|
+
"description": "Panel border radius."
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"name": "--padding",
|
|
1421
|
+
"default": "0.25rem",
|
|
1422
|
+
"description": "Panel inner padding. Slotted `<l-divider>` elements bleed by this amount on each side to span the panel edges."
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"name": "--shadow",
|
|
1426
|
+
"default": null,
|
|
1427
|
+
"description": "Panel box shadow."
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"name": "--show-duration",
|
|
1431
|
+
"default": "150",
|
|
1432
|
+
"description": "Show animation duration in ms."
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"name": "--hide-duration",
|
|
1436
|
+
"default": "150",
|
|
1437
|
+
"description": "Hide animation duration in ms."
|
|
1438
|
+
}
|
|
1439
|
+
],
|
|
1440
|
+
"commands": [],
|
|
1441
|
+
"examples": []
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
"name": "dropdown-item",
|
|
1445
|
+
"displayName": "Dropdown item",
|
|
1446
|
+
"type": "custom",
|
|
1447
|
+
"isCustomElement": true,
|
|
1448
|
+
"tag": "l-dropdown-item",
|
|
1449
|
+
"nativeTag": null,
|
|
1450
|
+
"selector": "l-dropdown-item",
|
|
1451
|
+
"summary": "A menu item for use inside `<l-dropdown>`.",
|
|
1452
|
+
"status": "stable",
|
|
1453
|
+
"appearances": [],
|
|
1454
|
+
"import": {
|
|
1455
|
+
"css": null,
|
|
1456
|
+
"js": "luxen-ui/dropdown-item"
|
|
1457
|
+
},
|
|
1458
|
+
"properties": [
|
|
1459
|
+
{
|
|
1460
|
+
"name": "value",
|
|
1461
|
+
"attribute": "value",
|
|
1462
|
+
"type": "string",
|
|
1463
|
+
"default": "''",
|
|
1464
|
+
"reflects": false,
|
|
1465
|
+
"description": "The value associated with this item."
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1468
|
+
"name": "disabled",
|
|
1469
|
+
"attribute": "disabled",
|
|
1470
|
+
"type": "boolean",
|
|
1471
|
+
"default": "false",
|
|
1472
|
+
"reflects": true,
|
|
1473
|
+
"description": "Disables the item."
|
|
1474
|
+
},
|
|
1475
|
+
{
|
|
1476
|
+
"name": "type",
|
|
1477
|
+
"attribute": "type",
|
|
1478
|
+
"type": "'normal' | 'checkbox'",
|
|
1479
|
+
"default": "'normal'",
|
|
1480
|
+
"reflects": false,
|
|
1481
|
+
"description": "The type of item: `normal` or `checkbox`."
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
"name": "checked",
|
|
1485
|
+
"attribute": "checked",
|
|
1486
|
+
"type": "boolean",
|
|
1487
|
+
"default": "false",
|
|
1488
|
+
"reflects": true,
|
|
1489
|
+
"description": "Whether the checkbox item is checked."
|
|
1490
|
+
}
|
|
1491
|
+
],
|
|
1492
|
+
"attributes": [],
|
|
1493
|
+
"events": [],
|
|
1494
|
+
"methods": [
|
|
1495
|
+
{
|
|
1496
|
+
"name": "getTextLabel",
|
|
1497
|
+
"params": [],
|
|
1498
|
+
"returns": "string",
|
|
1499
|
+
"description": "Returns the text label of this item."
|
|
1500
|
+
}
|
|
1501
|
+
],
|
|
1502
|
+
"slots": [
|
|
1503
|
+
{
|
|
1504
|
+
"name": "",
|
|
1505
|
+
"description": "Label text."
|
|
1506
|
+
},
|
|
1507
|
+
{
|
|
1508
|
+
"name": "prefix",
|
|
1509
|
+
"description": "Leading content (e.g. icon)."
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"name": "suffix",
|
|
1513
|
+
"description": "Trailing content."
|
|
1514
|
+
}
|
|
1515
|
+
],
|
|
1516
|
+
"cssClasses": [],
|
|
1517
|
+
"cssParts": [],
|
|
1518
|
+
"cssProperties": [
|
|
1519
|
+
{
|
|
1520
|
+
"name": "--color",
|
|
1521
|
+
"default": null,
|
|
1522
|
+
"description": "Text color."
|
|
1523
|
+
}
|
|
1524
|
+
],
|
|
1525
|
+
"commands": [],
|
|
1526
|
+
"examples": []
|
|
1527
|
+
},
|
|
1528
|
+
{
|
|
1529
|
+
"name": "icon",
|
|
1530
|
+
"displayName": "Icon",
|
|
1531
|
+
"type": "shadow",
|
|
1532
|
+
"isCustomElement": true,
|
|
1533
|
+
"tag": "l-icon",
|
|
1534
|
+
"nativeTag": null,
|
|
1535
|
+
"selector": "l-icon",
|
|
1536
|
+
"summary": "An icon component that renders icons from any Iconify icon set. Decorative by default. Set `label` for meaningful icons.",
|
|
1537
|
+
"status": "stable",
|
|
1538
|
+
"appearances": [],
|
|
1539
|
+
"import": {
|
|
1540
|
+
"css": null,
|
|
1541
|
+
"js": "luxen-ui/icon"
|
|
1542
|
+
},
|
|
1543
|
+
"properties": [
|
|
1544
|
+
{
|
|
1545
|
+
"name": "name",
|
|
1546
|
+
"attribute": "name",
|
|
1547
|
+
"type": "string",
|
|
1548
|
+
"default": "''",
|
|
1549
|
+
"reflects": false,
|
|
1550
|
+
"description": "The icon name in Iconify format (e.g. `mdi:home`, `lucide:check`)."
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"name": "label",
|
|
1554
|
+
"attribute": "label",
|
|
1555
|
+
"type": "string | undefined",
|
|
1556
|
+
"default": null,
|
|
1557
|
+
"reflects": false,
|
|
1558
|
+
"description": "Accessible label. When set, the icon becomes meaningful (`role=\"img\"` + `aria-label`). When absent, the icon is decorative."
|
|
1559
|
+
}
|
|
1560
|
+
],
|
|
1561
|
+
"attributes": [],
|
|
1562
|
+
"events": [],
|
|
1563
|
+
"methods": [],
|
|
1564
|
+
"slots": [],
|
|
1565
|
+
"cssClasses": [],
|
|
1566
|
+
"cssParts": [],
|
|
1567
|
+
"cssProperties": [
|
|
1568
|
+
{
|
|
1569
|
+
"name": "--color",
|
|
1570
|
+
"default": "currentColor",
|
|
1571
|
+
"description": "The color of the icon."
|
|
1572
|
+
}
|
|
1573
|
+
],
|
|
1574
|
+
"commands": [],
|
|
1575
|
+
"examples": []
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
"name": "input-otp",
|
|
1579
|
+
"displayName": "Input OTP",
|
|
1580
|
+
"type": "progressive",
|
|
1581
|
+
"isCustomElement": true,
|
|
1582
|
+
"tag": "l-input-otp",
|
|
1583
|
+
"nativeTag": null,
|
|
1584
|
+
"selector": "l-input-otp",
|
|
1585
|
+
"summary": "Stripe-style OTP input with visual digit cells over a hidden native input.",
|
|
1586
|
+
"status": "stable",
|
|
1587
|
+
"appearances": [],
|
|
1588
|
+
"import": {
|
|
1589
|
+
"css": "luxen-ui/css/input-otp",
|
|
1590
|
+
"js": "luxen-ui/input-otp"
|
|
1591
|
+
},
|
|
1592
|
+
"properties": [
|
|
1593
|
+
{
|
|
1594
|
+
"name": "separatorAfter",
|
|
1595
|
+
"attribute": "separator-after",
|
|
1596
|
+
"type": "number | undefined",
|
|
1597
|
+
"default": null,
|
|
1598
|
+
"reflects": true,
|
|
1599
|
+
"description": "Position after which to insert a visual separator (e.g., 3 for a 3-3 grouping)."
|
|
1600
|
+
}
|
|
1601
|
+
],
|
|
1602
|
+
"attributes": [
|
|
1603
|
+
{
|
|
1604
|
+
"name": "size",
|
|
1605
|
+
"data": false,
|
|
1606
|
+
"values": [
|
|
1607
|
+
"sm",
|
|
1608
|
+
"lg"
|
|
1609
|
+
],
|
|
1610
|
+
"description": "Cell size. Default is md."
|
|
1611
|
+
}
|
|
1612
|
+
],
|
|
1613
|
+
"events": [],
|
|
1614
|
+
"methods": [],
|
|
1615
|
+
"slots": [],
|
|
1616
|
+
"cssClasses": [],
|
|
1617
|
+
"cssParts": [],
|
|
1618
|
+
"cssProperties": [
|
|
1619
|
+
{
|
|
1620
|
+
"name": "--digits",
|
|
1621
|
+
"default": null,
|
|
1622
|
+
"description": "Number of digit boxes (default: 6). Must match input's maxlength."
|
|
1623
|
+
},
|
|
1624
|
+
{
|
|
1625
|
+
"name": "--cell-size",
|
|
1626
|
+
"default": null,
|
|
1627
|
+
"description": "Cell width and height (default: 2.75rem). Font size scales automatically."
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"name": "--cell-gap",
|
|
1631
|
+
"default": null,
|
|
1632
|
+
"description": "Space between cells (default: 0.5rem)."
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"name": "--cell-bg-color",
|
|
1636
|
+
"default": null,
|
|
1637
|
+
"description": "Cell background color."
|
|
1638
|
+
},
|
|
1639
|
+
{
|
|
1640
|
+
"name": "--cell-border-color",
|
|
1641
|
+
"default": null,
|
|
1642
|
+
"description": "Cell border color."
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"name": "--cell-border-radius",
|
|
1646
|
+
"default": null,
|
|
1647
|
+
"description": "Cell border-radius."
|
|
1648
|
+
},
|
|
1649
|
+
{
|
|
1650
|
+
"name": "--cell-focus-color",
|
|
1651
|
+
"default": null,
|
|
1652
|
+
"description": "Border + ring color of the active (focused) cell."
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
"name": "--cell-focus-ring",
|
|
1656
|
+
"default": null,
|
|
1657
|
+
"description": "`box-shadow` of the active cell ring (defaults to a 1px solid ring; set to `none` to disable)."
|
|
1658
|
+
}
|
|
1659
|
+
],
|
|
1660
|
+
"commands": [],
|
|
1661
|
+
"examples": []
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"name": "input-stepper",
|
|
1665
|
+
"displayName": "Input stepper",
|
|
1666
|
+
"type": "progressive",
|
|
1667
|
+
"isCustomElement": true,
|
|
1668
|
+
"tag": "l-input-stepper",
|
|
1669
|
+
"nativeTag": null,
|
|
1670
|
+
"selector": "l-input-stepper",
|
|
1671
|
+
"summary": "A stepper control that enhances a native `<input type=\"number\">` with\ndecrement/increment buttons and an optional animated number track.",
|
|
1672
|
+
"status": "stable",
|
|
1673
|
+
"appearances": [
|
|
1674
|
+
"default",
|
|
1675
|
+
"rounded"
|
|
1676
|
+
],
|
|
1677
|
+
"import": {
|
|
1678
|
+
"css": "luxen-ui/css/input-stepper/default",
|
|
1679
|
+
"js": "luxen-ui/input-stepper"
|
|
1680
|
+
},
|
|
1681
|
+
"properties": [
|
|
1682
|
+
{
|
|
1683
|
+
"name": "min",
|
|
1684
|
+
"attribute": "min",
|
|
1685
|
+
"type": "number | undefined",
|
|
1686
|
+
"default": null,
|
|
1687
|
+
"reflects": false,
|
|
1688
|
+
"description": "Minimum allowed value. Falls back to the input's `min` attribute."
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"name": "max",
|
|
1692
|
+
"attribute": "max",
|
|
1693
|
+
"type": "number | undefined",
|
|
1694
|
+
"default": null,
|
|
1695
|
+
"reflects": false,
|
|
1696
|
+
"description": "Maximum allowed value. Falls back to the input's `max` attribute."
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"name": "step",
|
|
1700
|
+
"attribute": "step",
|
|
1701
|
+
"type": "number | undefined",
|
|
1702
|
+
"default": null,
|
|
1703
|
+
"reflects": false,
|
|
1704
|
+
"description": "Step increment. Falls back to the input's `step` attribute."
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
"name": "size",
|
|
1708
|
+
"attribute": "size",
|
|
1709
|
+
"type": "InputStepperSize",
|
|
1710
|
+
"default": "'md'",
|
|
1711
|
+
"reflects": true,
|
|
1712
|
+
"description": "Control size."
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
"name": "withRoller",
|
|
1716
|
+
"attribute": "with-roller",
|
|
1717
|
+
"type": "boolean",
|
|
1718
|
+
"default": "false",
|
|
1719
|
+
"reflects": true,
|
|
1720
|
+
"description": "Enable the animated number roller overlay."
|
|
1721
|
+
},
|
|
1722
|
+
{
|
|
1723
|
+
"name": "decrementIcon",
|
|
1724
|
+
"attribute": "decrement-icon",
|
|
1725
|
+
"type": "string",
|
|
1726
|
+
"default": "'lucide:minus'",
|
|
1727
|
+
"reflects": false,
|
|
1728
|
+
"description": "Icon name for the decrement button."
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"name": "incrementIcon",
|
|
1732
|
+
"attribute": "increment-icon",
|
|
1733
|
+
"type": "string",
|
|
1734
|
+
"default": "'lucide:plus'",
|
|
1735
|
+
"reflects": false,
|
|
1736
|
+
"description": "Icon name for the increment button."
|
|
1737
|
+
}
|
|
1738
|
+
],
|
|
1739
|
+
"attributes": [],
|
|
1740
|
+
"events": [
|
|
1741
|
+
{
|
|
1742
|
+
"name": "change",
|
|
1743
|
+
"description": "Fired when the value changes. Detail: `{ value: number }`.",
|
|
1744
|
+
"cancelable": false
|
|
1745
|
+
}
|
|
1746
|
+
],
|
|
1747
|
+
"methods": [
|
|
1748
|
+
{
|
|
1749
|
+
"name": "decrement",
|
|
1750
|
+
"params": [],
|
|
1751
|
+
"returns": null,
|
|
1752
|
+
"description": "Decrease the value by one step."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"name": "increment",
|
|
1756
|
+
"params": [],
|
|
1757
|
+
"returns": null,
|
|
1758
|
+
"description": "Increase the value by one step."
|
|
1759
|
+
}
|
|
1760
|
+
],
|
|
1761
|
+
"slots": [],
|
|
1762
|
+
"cssClasses": [],
|
|
1763
|
+
"cssParts": [],
|
|
1764
|
+
"cssProperties": [
|
|
1765
|
+
{
|
|
1766
|
+
"name": "--border-color",
|
|
1767
|
+
"default": "--l-color-border",
|
|
1768
|
+
"description": "Border color of the stepper container (default appearance) and of each button (rounded appearance)."
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
"name": "--border-radius",
|
|
1772
|
+
"default": "--radius-md",
|
|
1773
|
+
"description": "Border radius of the stepper container (default appearance)."
|
|
1774
|
+
}
|
|
1775
|
+
],
|
|
1776
|
+
"commands": [],
|
|
1777
|
+
"examples": [
|
|
1778
|
+
{
|
|
1779
|
+
"title": null,
|
|
1780
|
+
"language": "html",
|
|
1781
|
+
"code": "<l-input-stepper>\n <input type=\"number\" min=\"0\" max=\"10\" value=\"5\" />\n</l-input-stepper>"
|
|
1782
|
+
}
|
|
1783
|
+
]
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "kbd",
|
|
1787
|
+
"displayName": "Kbd",
|
|
1788
|
+
"type": "native",
|
|
1789
|
+
"isCustomElement": false,
|
|
1790
|
+
"tag": null,
|
|
1791
|
+
"nativeTag": "kbd",
|
|
1792
|
+
"selector": ".l-kbd",
|
|
1793
|
+
"summary": "Displays keyboard keys or shortcuts inline with text.",
|
|
1794
|
+
"status": "stable",
|
|
1795
|
+
"appearances": [],
|
|
1796
|
+
"import": {
|
|
1797
|
+
"css": "luxen-ui/css/kbd",
|
|
1798
|
+
"js": null
|
|
1799
|
+
},
|
|
1800
|
+
"properties": [],
|
|
1801
|
+
"attributes": [],
|
|
1802
|
+
"events": [],
|
|
1803
|
+
"methods": [],
|
|
1804
|
+
"slots": [],
|
|
1805
|
+
"cssClasses": [
|
|
1806
|
+
{
|
|
1807
|
+
"name": ".l-kbd",
|
|
1808
|
+
"description": "Base class for keyboard key styling on `<kbd>` elements."
|
|
1809
|
+
}
|
|
1810
|
+
],
|
|
1811
|
+
"cssParts": [],
|
|
1812
|
+
"cssProperties": [],
|
|
1813
|
+
"commands": [],
|
|
1814
|
+
"examples": [
|
|
1815
|
+
{
|
|
1816
|
+
"title": "Single key",
|
|
1817
|
+
"language": "html",
|
|
1818
|
+
"code": "<kbd class=\"l-kbd\">Esc</kbd>"
|
|
1819
|
+
}
|
|
1820
|
+
]
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"name": "popover",
|
|
1824
|
+
"displayName": "Popover",
|
|
1825
|
+
"type": "shadow",
|
|
1826
|
+
"isCustomElement": true,
|
|
1827
|
+
"tag": "l-popover",
|
|
1828
|
+
"nativeTag": null,
|
|
1829
|
+
"selector": "l-popover",
|
|
1830
|
+
"summary": "A popover that displays interactive content anchored to a trigger.",
|
|
1831
|
+
"status": "stable",
|
|
1832
|
+
"appearances": [],
|
|
1833
|
+
"import": {
|
|
1834
|
+
"css": null,
|
|
1835
|
+
"js": "luxen-ui/popover"
|
|
1836
|
+
},
|
|
1837
|
+
"properties": [
|
|
1838
|
+
{
|
|
1839
|
+
"name": "for",
|
|
1840
|
+
"attribute": "for",
|
|
1841
|
+
"type": "string",
|
|
1842
|
+
"default": "''",
|
|
1843
|
+
"reflects": false,
|
|
1844
|
+
"description": "The HTML id of the element triggering the popover."
|
|
1845
|
+
},
|
|
1846
|
+
{
|
|
1847
|
+
"name": "placement",
|
|
1848
|
+
"attribute": "placement",
|
|
1849
|
+
"type": "Placement",
|
|
1850
|
+
"default": "'bottom'",
|
|
1851
|
+
"reflects": false,
|
|
1852
|
+
"description": "The preferred placement of the popover."
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"name": "distance",
|
|
1856
|
+
"attribute": "distance",
|
|
1857
|
+
"type": "number",
|
|
1858
|
+
"default": "8",
|
|
1859
|
+
"reflects": false,
|
|
1860
|
+
"description": "The distance in pixels from the target element."
|
|
1861
|
+
},
|
|
1862
|
+
{
|
|
1863
|
+
"name": "open",
|
|
1864
|
+
"attribute": "open",
|
|
1865
|
+
"type": "boolean",
|
|
1866
|
+
"default": "false",
|
|
1867
|
+
"reflects": true,
|
|
1868
|
+
"description": "Whether or not the popover is visible."
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"name": "withoutArrow",
|
|
1872
|
+
"attribute": "without-arrow",
|
|
1873
|
+
"type": "boolean",
|
|
1874
|
+
"default": "false",
|
|
1875
|
+
"reflects": true,
|
|
1876
|
+
"description": "Hide the directional arrow."
|
|
1877
|
+
},
|
|
1878
|
+
{
|
|
1879
|
+
"name": "fullWidth",
|
|
1880
|
+
"attribute": "full-width",
|
|
1881
|
+
"type": "boolean",
|
|
1882
|
+
"default": "false",
|
|
1883
|
+
"reflects": true,
|
|
1884
|
+
"description": "Stretch the popover to the viewport width. Useful for mega menus."
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
"name": "trigger",
|
|
1888
|
+
"attribute": "trigger",
|
|
1889
|
+
"type": "string",
|
|
1890
|
+
"default": "'click'",
|
|
1891
|
+
"reflects": false,
|
|
1892
|
+
"description": "Space-separated list of trigger modes: `click`, `hover`, `focus`, `manual`."
|
|
1893
|
+
}
|
|
1894
|
+
],
|
|
1895
|
+
"attributes": [],
|
|
1896
|
+
"events": [],
|
|
1897
|
+
"methods": [
|
|
1898
|
+
{
|
|
1899
|
+
"name": "show",
|
|
1900
|
+
"params": [],
|
|
1901
|
+
"returns": null,
|
|
1902
|
+
"description": ""
|
|
1903
|
+
},
|
|
1904
|
+
{
|
|
1905
|
+
"name": "hide",
|
|
1906
|
+
"params": [],
|
|
1907
|
+
"returns": null,
|
|
1908
|
+
"description": ""
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
"name": "toggle",
|
|
1912
|
+
"params": [],
|
|
1913
|
+
"returns": null,
|
|
1914
|
+
"description": ""
|
|
1915
|
+
}
|
|
1916
|
+
],
|
|
1917
|
+
"slots": [
|
|
1918
|
+
{
|
|
1919
|
+
"name": "",
|
|
1920
|
+
"description": "Popover content."
|
|
1921
|
+
}
|
|
1922
|
+
],
|
|
1923
|
+
"cssClasses": [],
|
|
1924
|
+
"cssParts": [
|
|
1925
|
+
{
|
|
1926
|
+
"name": "body",
|
|
1927
|
+
"description": "The popover container."
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
"name": "arrow",
|
|
1931
|
+
"description": "The directional arrow element."
|
|
1932
|
+
}
|
|
1933
|
+
],
|
|
1934
|
+
"cssProperties": [
|
|
1935
|
+
{
|
|
1936
|
+
"name": "--background",
|
|
1937
|
+
"default": null,
|
|
1938
|
+
"description": "Background color. Default: `Canvas`."
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
"name": "--color",
|
|
1942
|
+
"default": null,
|
|
1943
|
+
"description": "Text color. Default: inherited."
|
|
1944
|
+
},
|
|
1945
|
+
{
|
|
1946
|
+
"name": "--border-radius",
|
|
1947
|
+
"default": "8px",
|
|
1948
|
+
"description": "Border radius."
|
|
1949
|
+
},
|
|
1950
|
+
{
|
|
1951
|
+
"name": "--max-width",
|
|
1952
|
+
"default": "320px",
|
|
1953
|
+
"description": "Maximum width."
|
|
1954
|
+
},
|
|
1955
|
+
{
|
|
1956
|
+
"name": "--shadow",
|
|
1957
|
+
"default": null,
|
|
1958
|
+
"description": "Box shadow."
|
|
1959
|
+
},
|
|
1960
|
+
{
|
|
1961
|
+
"name": "--arrow-size",
|
|
1962
|
+
"default": "8px",
|
|
1963
|
+
"description": "Arrow size."
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
"name": "--show-duration",
|
|
1967
|
+
"default": "150ms",
|
|
1968
|
+
"description": "Show animation duration."
|
|
1969
|
+
},
|
|
1970
|
+
{
|
|
1971
|
+
"name": "--hide-duration",
|
|
1972
|
+
"default": "150ms",
|
|
1973
|
+
"description": "Hide animation duration."
|
|
1974
|
+
}
|
|
1975
|
+
],
|
|
1976
|
+
"commands": [],
|
|
1977
|
+
"examples": []
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"name": "progress",
|
|
1981
|
+
"displayName": "Progress",
|
|
1982
|
+
"type": "native",
|
|
1983
|
+
"isCustomElement": false,
|
|
1984
|
+
"tag": null,
|
|
1985
|
+
"nativeTag": "progress",
|
|
1986
|
+
"selector": ".l-progress",
|
|
1987
|
+
"summary": "A progress bar built on the native `<progress>` element.",
|
|
1988
|
+
"status": "stable",
|
|
1989
|
+
"appearances": [],
|
|
1990
|
+
"import": {
|
|
1991
|
+
"css": "luxen-ui/css/progress",
|
|
1992
|
+
"js": null
|
|
1993
|
+
},
|
|
1994
|
+
"properties": [],
|
|
1995
|
+
"attributes": [
|
|
1996
|
+
{
|
|
1997
|
+
"name": "value",
|
|
1998
|
+
"data": false,
|
|
1999
|
+
"values": [],
|
|
2000
|
+
"description": "Current progress between `0` and `1` (omit for indeterminate)."
|
|
2001
|
+
},
|
|
2002
|
+
{
|
|
2003
|
+
"name": "data-orientation",
|
|
2004
|
+
"data": true,
|
|
2005
|
+
"values": [],
|
|
2006
|
+
"description": "vertical — Vertical orientation."
|
|
2007
|
+
}
|
|
2008
|
+
],
|
|
2009
|
+
"events": [],
|
|
2010
|
+
"methods": [],
|
|
2011
|
+
"slots": [],
|
|
2012
|
+
"cssClasses": [
|
|
2013
|
+
{
|
|
2014
|
+
"name": ".l-progress",
|
|
2015
|
+
"description": "Base progress bar style."
|
|
2016
|
+
}
|
|
2017
|
+
],
|
|
2018
|
+
"cssParts": [],
|
|
2019
|
+
"cssProperties": [
|
|
2020
|
+
{
|
|
2021
|
+
"name": "--size",
|
|
2022
|
+
"default": "4px",
|
|
2023
|
+
"description": "Bar thickness."
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
"name": "--track-color",
|
|
2027
|
+
"default": null,
|
|
2028
|
+
"description": "Track background color."
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
"name": "--indicator-color",
|
|
2032
|
+
"default": null,
|
|
2033
|
+
"description": "Fill/indicator color."
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
"name": "--indeterminate-animation",
|
|
2037
|
+
"default": null,
|
|
2038
|
+
"description": "Animation name for the indeterminate state."
|
|
2039
|
+
}
|
|
2040
|
+
],
|
|
2041
|
+
"commands": [],
|
|
2042
|
+
"examples": [
|
|
2043
|
+
{
|
|
2044
|
+
"title": "Determinate",
|
|
2045
|
+
"language": "html",
|
|
2046
|
+
"code": "<progress class=\"l-progress\" value=\"0.5\"></progress>"
|
|
2047
|
+
}
|
|
2048
|
+
]
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"name": "prose-editor",
|
|
2052
|
+
"displayName": "Prose editor",
|
|
2053
|
+
"type": "shadow",
|
|
2054
|
+
"isCustomElement": true,
|
|
2055
|
+
"tag": "l-prose-editor",
|
|
2056
|
+
"nativeTag": null,
|
|
2057
|
+
"selector": "l-prose-editor",
|
|
2058
|
+
"summary": "A rich text editor built on Tiptap (ProseMirror). Form-associated: its value is the editor HTML.",
|
|
2059
|
+
"status": "stable",
|
|
2060
|
+
"appearances": [],
|
|
2061
|
+
"import": {
|
|
2062
|
+
"css": "luxen-ui/css/prose-editor",
|
|
2063
|
+
"js": "luxen-ui/prose-editor"
|
|
2064
|
+
},
|
|
2065
|
+
"properties": [
|
|
2066
|
+
{
|
|
2067
|
+
"name": "editor",
|
|
2068
|
+
"attribute": null,
|
|
2069
|
+
"type": "Editor",
|
|
2070
|
+
"default": null,
|
|
2071
|
+
"reflects": false,
|
|
2072
|
+
"description": "The Tiptap editor instance. Available after the first render."
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
"name": "initialHtml",
|
|
2076
|
+
"attribute": "initial-html",
|
|
2077
|
+
"type": "string",
|
|
2078
|
+
"default": "''",
|
|
2079
|
+
"reflects": false,
|
|
2080
|
+
"description": "Initial HTML content."
|
|
2081
|
+
},
|
|
2082
|
+
{
|
|
2083
|
+
"name": "initialJson",
|
|
2084
|
+
"attribute": "initial-json",
|
|
2085
|
+
"type": "string",
|
|
2086
|
+
"default": "''",
|
|
2087
|
+
"reflects": false,
|
|
2088
|
+
"description": "Initial content as a serialized ProseMirror JSON string."
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
"name": "editorClass",
|
|
2092
|
+
"attribute": "editor-class",
|
|
2093
|
+
"type": "string",
|
|
2094
|
+
"default": "'prose'",
|
|
2095
|
+
"reflects": false,
|
|
2096
|
+
"description": "Class applied to the `.ProseMirror` editable element (e.g. for Tailwind Typography `prose`)."
|
|
2097
|
+
},
|
|
2098
|
+
{
|
|
2099
|
+
"name": "toolbar",
|
|
2100
|
+
"attribute": "toolbar",
|
|
2101
|
+
"type": "ToolbarCommandName[]",
|
|
2102
|
+
"default": "[]",
|
|
2103
|
+
"reflects": false,
|
|
2104
|
+
"description": "Explicit list of toolbar commands. Overrides `toolbar-preset` when set."
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
"name": "toolbarPreset",
|
|
2108
|
+
"attribute": "toolbar-preset",
|
|
2109
|
+
"type": "'default' | 'minimal'",
|
|
2110
|
+
"default": "'default'",
|
|
2111
|
+
"reflects": false,
|
|
2112
|
+
"description": "Built-in toolbar layout used when `toolbar` is not set."
|
|
2113
|
+
},
|
|
2114
|
+
{
|
|
2115
|
+
"name": "toolbarPlacement",
|
|
2116
|
+
"attribute": "toolbar-placement",
|
|
2117
|
+
"type": "'top' | 'bottom'",
|
|
2118
|
+
"default": "'top'",
|
|
2119
|
+
"reflects": true,
|
|
2120
|
+
"description": "Where the toolbar sits relative to the content."
|
|
2121
|
+
},
|
|
2122
|
+
{
|
|
2123
|
+
"name": "autofocus",
|
|
2124
|
+
"attribute": "autofocus",
|
|
2125
|
+
"type": "boolean",
|
|
2126
|
+
"default": "false",
|
|
2127
|
+
"reflects": true,
|
|
2128
|
+
"description": "Focus the editor on creation."
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"name": "placeholder",
|
|
2132
|
+
"attribute": "placeholder",
|
|
2133
|
+
"type": "string",
|
|
2134
|
+
"default": "''",
|
|
2135
|
+
"reflects": false,
|
|
2136
|
+
"description": "Placeholder shown when the editor is empty."
|
|
2137
|
+
},
|
|
2138
|
+
{
|
|
2139
|
+
"name": "validationTarget",
|
|
2140
|
+
"attribute": null,
|
|
2141
|
+
"type": "HTMLElement | undefined",
|
|
2142
|
+
"default": null,
|
|
2143
|
+
"reflects": false,
|
|
2144
|
+
"description": ""
|
|
2145
|
+
}
|
|
2146
|
+
],
|
|
2147
|
+
"attributes": [],
|
|
2148
|
+
"events": [
|
|
2149
|
+
{
|
|
2150
|
+
"name": "change",
|
|
2151
|
+
"description": "Fired when the content changes. `detail` is `{ html, json }`.",
|
|
2152
|
+
"cancelable": false
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
"name": "add-file",
|
|
2156
|
+
"description": "Fired when the attachment toolbar button is clicked.",
|
|
2157
|
+
"cancelable": false
|
|
2158
|
+
}
|
|
2159
|
+
],
|
|
2160
|
+
"methods": [
|
|
2161
|
+
{
|
|
2162
|
+
"name": "getHTML",
|
|
2163
|
+
"params": [],
|
|
2164
|
+
"returns": "string",
|
|
2165
|
+
"description": "Get the current content as an HTML string. Empty paragraph resolves to `''`."
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
"name": "getJSON",
|
|
2169
|
+
"params": [],
|
|
2170
|
+
"returns": "JSONContent",
|
|
2171
|
+
"description": "Get the current content as ProseMirror JSON."
|
|
2172
|
+
},
|
|
2173
|
+
{
|
|
2174
|
+
"name": "clear",
|
|
2175
|
+
"params": [],
|
|
2176
|
+
"returns": null,
|
|
2177
|
+
"description": "Remove all content."
|
|
2178
|
+
},
|
|
2179
|
+
{
|
|
2180
|
+
"name": "focus",
|
|
2181
|
+
"params": [],
|
|
2182
|
+
"returns": null,
|
|
2183
|
+
"description": ""
|
|
2184
|
+
},
|
|
2185
|
+
{
|
|
2186
|
+
"name": "blur",
|
|
2187
|
+
"params": [],
|
|
2188
|
+
"returns": null,
|
|
2189
|
+
"description": ""
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"name": "toggleBold",
|
|
2193
|
+
"params": [],
|
|
2194
|
+
"returns": null,
|
|
2195
|
+
"description": ""
|
|
2196
|
+
},
|
|
2197
|
+
{
|
|
2198
|
+
"name": "toggleItalic",
|
|
2199
|
+
"params": [],
|
|
2200
|
+
"returns": null,
|
|
2201
|
+
"description": ""
|
|
2202
|
+
},
|
|
2203
|
+
{
|
|
2204
|
+
"name": "toggleUnderline",
|
|
2205
|
+
"params": [],
|
|
2206
|
+
"returns": null,
|
|
2207
|
+
"description": ""
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"name": "toggleStrike",
|
|
2211
|
+
"params": [],
|
|
2212
|
+
"returns": null,
|
|
2213
|
+
"description": ""
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"name": "toggleHighlight",
|
|
2217
|
+
"params": [],
|
|
2218
|
+
"returns": null,
|
|
2219
|
+
"description": ""
|
|
2220
|
+
},
|
|
2221
|
+
{
|
|
2222
|
+
"name": "toggleHeading",
|
|
2223
|
+
"params": [
|
|
2224
|
+
{
|
|
2225
|
+
"name": "level",
|
|
2226
|
+
"type": "1 | 2 | 3"
|
|
2227
|
+
}
|
|
2228
|
+
],
|
|
2229
|
+
"returns": null,
|
|
2230
|
+
"description": ""
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
"name": "toggleBulletList",
|
|
2234
|
+
"params": [],
|
|
2235
|
+
"returns": null,
|
|
2236
|
+
"description": ""
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
"name": "toggleOrderedList",
|
|
2240
|
+
"params": [],
|
|
2241
|
+
"returns": null,
|
|
2242
|
+
"description": ""
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
"name": "toggleBlockquote",
|
|
2246
|
+
"params": [],
|
|
2247
|
+
"returns": null,
|
|
2248
|
+
"description": ""
|
|
2249
|
+
},
|
|
2250
|
+
{
|
|
2251
|
+
"name": "toggleCodeBlock",
|
|
2252
|
+
"params": [],
|
|
2253
|
+
"returns": null,
|
|
2254
|
+
"description": ""
|
|
2255
|
+
},
|
|
2256
|
+
{
|
|
2257
|
+
"name": "setHorizontalRule",
|
|
2258
|
+
"params": [],
|
|
2259
|
+
"returns": null,
|
|
2260
|
+
"description": ""
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
"name": "undo",
|
|
2264
|
+
"params": [],
|
|
2265
|
+
"returns": null,
|
|
2266
|
+
"description": ""
|
|
2267
|
+
},
|
|
2268
|
+
{
|
|
2269
|
+
"name": "redo",
|
|
2270
|
+
"params": [],
|
|
2271
|
+
"returns": null,
|
|
2272
|
+
"description": ""
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
"name": "toggleLink",
|
|
2276
|
+
"params": [],
|
|
2277
|
+
"returns": null,
|
|
2278
|
+
"description": ""
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"name": "formResetCallback",
|
|
2282
|
+
"params": [],
|
|
2283
|
+
"returns": null,
|
|
2284
|
+
"description": ""
|
|
2285
|
+
}
|
|
2286
|
+
],
|
|
2287
|
+
"slots": [
|
|
2288
|
+
{
|
|
2289
|
+
"name": "toolbar-start",
|
|
2290
|
+
"description": "Content placed before the generated toolbar buttons."
|
|
2291
|
+
},
|
|
2292
|
+
{
|
|
2293
|
+
"name": "toolbar-end",
|
|
2294
|
+
"description": "Content placed after the generated toolbar buttons."
|
|
2295
|
+
}
|
|
2296
|
+
],
|
|
2297
|
+
"cssClasses": [],
|
|
2298
|
+
"cssParts": [
|
|
2299
|
+
{
|
|
2300
|
+
"name": "wrapper",
|
|
2301
|
+
"description": "The editor frame wrapping the toolbar and content."
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
"name": "toolbar",
|
|
2305
|
+
"description": "The toolbar row."
|
|
2306
|
+
},
|
|
2307
|
+
{
|
|
2308
|
+
"name": "toolbar-button",
|
|
2309
|
+
"description": "Any toolbar button."
|
|
2310
|
+
},
|
|
2311
|
+
{
|
|
2312
|
+
"name": "divider",
|
|
2313
|
+
"description": "A toolbar divider."
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
"name": "editor",
|
|
2317
|
+
"description": "The container around the editable content."
|
|
2318
|
+
}
|
|
2319
|
+
],
|
|
2320
|
+
"cssProperties": [
|
|
2321
|
+
{
|
|
2322
|
+
"name": "--border-color",
|
|
2323
|
+
"default": null,
|
|
2324
|
+
"description": "Color of the editor frame border."
|
|
2325
|
+
},
|
|
2326
|
+
{
|
|
2327
|
+
"name": "--border-width",
|
|
2328
|
+
"default": null,
|
|
2329
|
+
"description": "Width of the editor frame border."
|
|
2330
|
+
},
|
|
2331
|
+
{
|
|
2332
|
+
"name": "--border-radius",
|
|
2333
|
+
"default": null,
|
|
2334
|
+
"description": "Corner radius of the editor frame."
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"name": "--background",
|
|
2338
|
+
"default": null,
|
|
2339
|
+
"description": "Background color of the editor."
|
|
2340
|
+
},
|
|
2341
|
+
{
|
|
2342
|
+
"name": "--color",
|
|
2343
|
+
"default": null,
|
|
2344
|
+
"description": "Text color of the editor."
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"name": "--toolbar-background",
|
|
2348
|
+
"default": null,
|
|
2349
|
+
"description": "Background color of the toolbar."
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
"name": "--toolbar-padding",
|
|
2353
|
+
"default": null,
|
|
2354
|
+
"description": "Padding around the toolbar."
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
"name": "--toolbar-gap",
|
|
2358
|
+
"default": null,
|
|
2359
|
+
"description": "Gap between toolbar buttons."
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
"name": "--toolbar-divider-color",
|
|
2363
|
+
"default": null,
|
|
2364
|
+
"description": "Color of toolbar dividers."
|
|
2365
|
+
},
|
|
2366
|
+
{
|
|
2367
|
+
"name": "--toolbar-button-size",
|
|
2368
|
+
"default": null,
|
|
2369
|
+
"description": "Size of toolbar buttons."
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
"name": "--toolbar-button-radius",
|
|
2373
|
+
"default": null,
|
|
2374
|
+
"description": "Corner radius of toolbar buttons."
|
|
2375
|
+
},
|
|
2376
|
+
{
|
|
2377
|
+
"name": "--toolbar-button-color",
|
|
2378
|
+
"default": null,
|
|
2379
|
+
"description": "Icon color of inactive toolbar buttons."
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"name": "--toolbar-button-color-active",
|
|
2383
|
+
"default": null,
|
|
2384
|
+
"description": "Icon color of hovered/active toolbar buttons."
|
|
2385
|
+
},
|
|
2386
|
+
{
|
|
2387
|
+
"name": "--toolbar-button-background-hover",
|
|
2388
|
+
"default": null,
|
|
2389
|
+
"description": "Background of hovered toolbar buttons."
|
|
2390
|
+
},
|
|
2391
|
+
{
|
|
2392
|
+
"name": "--toolbar-button-background-active",
|
|
2393
|
+
"default": null,
|
|
2394
|
+
"description": "Background of active toolbar buttons."
|
|
2395
|
+
},
|
|
2396
|
+
{
|
|
2397
|
+
"name": "--content-padding",
|
|
2398
|
+
"default": "0.75rem 1rem",
|
|
2399
|
+
"description": "Padding inside the editable content region."
|
|
2400
|
+
},
|
|
2401
|
+
{
|
|
2402
|
+
"name": "--content-min-height",
|
|
2403
|
+
"default": "8rem",
|
|
2404
|
+
"description": "Minimum height of the editable content region."
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
"name": "--placeholder-color",
|
|
2408
|
+
"default": null,
|
|
2409
|
+
"description": "Placeholder text color."
|
|
2410
|
+
}
|
|
2411
|
+
],
|
|
2412
|
+
"commands": [],
|
|
2413
|
+
"examples": []
|
|
2414
|
+
},
|
|
2415
|
+
{
|
|
2416
|
+
"name": "rating",
|
|
2417
|
+
"displayName": "Rating",
|
|
2418
|
+
"type": "shadow",
|
|
2419
|
+
"isCustomElement": true,
|
|
2420
|
+
"tag": "l-rating",
|
|
2421
|
+
"nativeTag": null,
|
|
2422
|
+
"selector": "l-rating",
|
|
2423
|
+
"summary": "Displays a star rating, optionally interactive.",
|
|
2424
|
+
"status": "stable",
|
|
2425
|
+
"appearances": [],
|
|
2426
|
+
"import": {
|
|
2427
|
+
"css": null,
|
|
2428
|
+
"js": "luxen-ui/rating"
|
|
2429
|
+
},
|
|
2430
|
+
"properties": [
|
|
2431
|
+
{
|
|
2432
|
+
"name": "editMode",
|
|
2433
|
+
"attribute": "edit-mode",
|
|
2434
|
+
"type": "boolean",
|
|
2435
|
+
"default": "false",
|
|
2436
|
+
"reflects": true,
|
|
2437
|
+
"description": ""
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
"name": "labels",
|
|
2441
|
+
"attribute": "labels",
|
|
2442
|
+
"type": "string[]",
|
|
2443
|
+
"default": "[]",
|
|
2444
|
+
"reflects": true,
|
|
2445
|
+
"description": ""
|
|
2446
|
+
},
|
|
2447
|
+
{
|
|
2448
|
+
"name": "value",
|
|
2449
|
+
"attribute": "value",
|
|
2450
|
+
"type": "number",
|
|
2451
|
+
"default": "0",
|
|
2452
|
+
"reflects": true,
|
|
2453
|
+
"description": ""
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
"name": "length",
|
|
2457
|
+
"attribute": "length",
|
|
2458
|
+
"type": "number",
|
|
2459
|
+
"default": "5",
|
|
2460
|
+
"reflects": true,
|
|
2461
|
+
"description": ""
|
|
2462
|
+
},
|
|
2463
|
+
{
|
|
2464
|
+
"name": "getIcon",
|
|
2465
|
+
"attribute": null,
|
|
2466
|
+
"type": "(value: number) => string | undefined",
|
|
2467
|
+
"default": null,
|
|
2468
|
+
"reflects": false,
|
|
2469
|
+
"description": "Optional callback returning a CSS `url()` string for a given position (1-based)."
|
|
2470
|
+
}
|
|
2471
|
+
],
|
|
2472
|
+
"attributes": [],
|
|
2473
|
+
"events": [
|
|
2474
|
+
{
|
|
2475
|
+
"name": "{{",
|
|
2476
|
+
"description": "name: string, value: string, checked: boolean, sourceEvent: Event }} change - Emitted when the rating value changes in edit mode.",
|
|
2477
|
+
"cancelable": false
|
|
2478
|
+
}
|
|
2479
|
+
],
|
|
2480
|
+
"methods": [
|
|
2481
|
+
{
|
|
2482
|
+
"name": "formResetCallback",
|
|
2483
|
+
"params": [],
|
|
2484
|
+
"returns": null,
|
|
2485
|
+
"description": ""
|
|
2486
|
+
},
|
|
2487
|
+
{
|
|
2488
|
+
"name": "formStateRestoreCallback",
|
|
2489
|
+
"params": [
|
|
2490
|
+
{
|
|
2491
|
+
"name": "state",
|
|
2492
|
+
"type": "string"
|
|
2493
|
+
},
|
|
2494
|
+
{
|
|
2495
|
+
"name": "_mode",
|
|
2496
|
+
"type": "'restore' | 'autocomplete'"
|
|
2497
|
+
}
|
|
2498
|
+
],
|
|
2499
|
+
"returns": null,
|
|
2500
|
+
"description": ""
|
|
2501
|
+
}
|
|
2502
|
+
],
|
|
2503
|
+
"slots": [],
|
|
2504
|
+
"cssClasses": [],
|
|
2505
|
+
"cssParts": [
|
|
2506
|
+
{
|
|
2507
|
+
"name": "label",
|
|
2508
|
+
"description": "The label element shown in edit mode."
|
|
2509
|
+
}
|
|
2510
|
+
],
|
|
2511
|
+
"cssProperties": [
|
|
2512
|
+
{
|
|
2513
|
+
"name": "--icon-size",
|
|
2514
|
+
"default": "20px",
|
|
2515
|
+
"description": "The size of each icon."
|
|
2516
|
+
},
|
|
2517
|
+
{
|
|
2518
|
+
"name": "--active-color",
|
|
2519
|
+
"default": "gold",
|
|
2520
|
+
"description": "The fill color for rated icons."
|
|
2521
|
+
},
|
|
2522
|
+
{
|
|
2523
|
+
"name": "--inactive-color",
|
|
2524
|
+
"default": "#ddd",
|
|
2525
|
+
"description": "The fill color for empty icons."
|
|
2526
|
+
},
|
|
2527
|
+
{
|
|
2528
|
+
"name": "--spacing",
|
|
2529
|
+
"default": "0px",
|
|
2530
|
+
"description": "The spacing between icons."
|
|
2531
|
+
},
|
|
2532
|
+
{
|
|
2533
|
+
"name": "--icon",
|
|
2534
|
+
"default": null,
|
|
2535
|
+
"description": "Custom SVG shape as a `url()`. Defaults to a 5-pointed star."
|
|
2536
|
+
}
|
|
2537
|
+
],
|
|
2538
|
+
"commands": [],
|
|
2539
|
+
"examples": []
|
|
2540
|
+
},
|
|
2541
|
+
{
|
|
2542
|
+
"name": "select",
|
|
2543
|
+
"displayName": "Select",
|
|
2544
|
+
"type": "native",
|
|
2545
|
+
"isCustomElement": false,
|
|
2546
|
+
"tag": null,
|
|
2547
|
+
"nativeTag": "select",
|
|
2548
|
+
"selector": ".l-select",
|
|
2549
|
+
"summary": "A styled native `<select>` using the customizable `base-select` appearance.",
|
|
2550
|
+
"status": "stable",
|
|
2551
|
+
"appearances": [],
|
|
2552
|
+
"import": {
|
|
2553
|
+
"css": "luxen-ui/css/select",
|
|
2554
|
+
"js": null
|
|
2555
|
+
},
|
|
2556
|
+
"properties": [],
|
|
2557
|
+
"attributes": [
|
|
2558
|
+
{
|
|
2559
|
+
"name": "disabled",
|
|
2560
|
+
"data": false,
|
|
2561
|
+
"values": [],
|
|
2562
|
+
"description": "Disables the select."
|
|
2563
|
+
},
|
|
2564
|
+
{
|
|
2565
|
+
"name": "required",
|
|
2566
|
+
"data": false,
|
|
2567
|
+
"values": [],
|
|
2568
|
+
"description": "Marks the field as required."
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"name": "multiple",
|
|
2572
|
+
"data": false,
|
|
2573
|
+
"values": [],
|
|
2574
|
+
"description": "Allows multiple selections."
|
|
2575
|
+
}
|
|
2576
|
+
],
|
|
2577
|
+
"events": [
|
|
2578
|
+
{
|
|
2579
|
+
"name": "change",
|
|
2580
|
+
"description": "Fires when an option is selected.",
|
|
2581
|
+
"cancelable": false
|
|
2582
|
+
},
|
|
2583
|
+
{
|
|
2584
|
+
"name": "input",
|
|
2585
|
+
"description": "Fires when the value changes.",
|
|
2586
|
+
"cancelable": false
|
|
2587
|
+
}
|
|
2588
|
+
],
|
|
2589
|
+
"methods": [],
|
|
2590
|
+
"slots": [],
|
|
2591
|
+
"cssClasses": [
|
|
2592
|
+
{
|
|
2593
|
+
"name": ".l-select",
|
|
2594
|
+
"description": "Base select element with `appearance: base-select`."
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"name": ".l-select-item",
|
|
2598
|
+
"description": "Option styling with checkmark indicator."
|
|
2599
|
+
}
|
|
2600
|
+
],
|
|
2601
|
+
"cssParts": [],
|
|
2602
|
+
"cssProperties": [
|
|
2603
|
+
{
|
|
2604
|
+
"name": "--border-radius",
|
|
2605
|
+
"default": "4px",
|
|
2606
|
+
"description": "Border radius."
|
|
2607
|
+
},
|
|
2608
|
+
{
|
|
2609
|
+
"name": "--border-color",
|
|
2610
|
+
"default": null,
|
|
2611
|
+
"description": "Border color (adapts to light/dark)."
|
|
2612
|
+
}
|
|
2613
|
+
],
|
|
2614
|
+
"commands": [],
|
|
2615
|
+
"examples": [
|
|
2616
|
+
{
|
|
2617
|
+
"title": "Basic",
|
|
2618
|
+
"language": "html",
|
|
2619
|
+
"code": "<select class=\"l-select\">\n<option>One</option>\n<option>Two</option>\n</select>"
|
|
2620
|
+
}
|
|
2621
|
+
]
|
|
2622
|
+
},
|
|
2623
|
+
{
|
|
2624
|
+
"name": "skeleton",
|
|
2625
|
+
"displayName": "Skeleton",
|
|
2626
|
+
"type": "custom",
|
|
2627
|
+
"isCustomElement": true,
|
|
2628
|
+
"tag": "l-skeleton",
|
|
2629
|
+
"nativeTag": null,
|
|
2630
|
+
"selector": "l-skeleton",
|
|
2631
|
+
"summary": "A skeleton loading placeholder.",
|
|
2632
|
+
"status": "stable",
|
|
2633
|
+
"appearances": [],
|
|
2634
|
+
"import": {
|
|
2635
|
+
"css": "luxen-ui/css/skeleton",
|
|
2636
|
+
"js": "luxen-ui/skeleton"
|
|
2637
|
+
},
|
|
2638
|
+
"properties": [],
|
|
2639
|
+
"attributes": [
|
|
2640
|
+
{
|
|
2641
|
+
"name": "shape",
|
|
2642
|
+
"data": false,
|
|
2643
|
+
"values": [
|
|
2644
|
+
"circle",
|
|
2645
|
+
"text"
|
|
2646
|
+
],
|
|
2647
|
+
"description": "Placeholder shape. Default is a block."
|
|
2648
|
+
},
|
|
2649
|
+
{
|
|
2650
|
+
"name": "animation",
|
|
2651
|
+
"data": false,
|
|
2652
|
+
"values": [
|
|
2653
|
+
"pulse",
|
|
2654
|
+
"wave"
|
|
2655
|
+
],
|
|
2656
|
+
"description": "Loading animation. Default is `pulse`."
|
|
2657
|
+
}
|
|
2658
|
+
],
|
|
2659
|
+
"events": [],
|
|
2660
|
+
"methods": [],
|
|
2661
|
+
"slots": [],
|
|
2662
|
+
"cssClasses": [],
|
|
2663
|
+
"cssParts": [],
|
|
2664
|
+
"cssProperties": [
|
|
2665
|
+
{
|
|
2666
|
+
"name": "--width",
|
|
2667
|
+
"default": null,
|
|
2668
|
+
"description": "Width of the skeleton"
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
"name": "--height",
|
|
2672
|
+
"default": null,
|
|
2673
|
+
"description": "Height of the skeleton"
|
|
2674
|
+
}
|
|
2675
|
+
],
|
|
2676
|
+
"commands": [],
|
|
2677
|
+
"examples": []
|
|
2678
|
+
},
|
|
2679
|
+
{
|
|
2680
|
+
"name": "spinner",
|
|
2681
|
+
"displayName": "Spinner",
|
|
2682
|
+
"type": "shadow",
|
|
2683
|
+
"isCustomElement": true,
|
|
2684
|
+
"tag": "l-spinner",
|
|
2685
|
+
"nativeTag": null,
|
|
2686
|
+
"selector": "l-spinner",
|
|
2687
|
+
"summary": "A spinner component for indicating loading state.",
|
|
2688
|
+
"status": "stable",
|
|
2689
|
+
"appearances": [],
|
|
2690
|
+
"import": {
|
|
2691
|
+
"css": null,
|
|
2692
|
+
"js": "luxen-ui/spinner"
|
|
2693
|
+
},
|
|
2694
|
+
"properties": [],
|
|
2695
|
+
"attributes": [],
|
|
2696
|
+
"events": [],
|
|
2697
|
+
"methods": [],
|
|
2698
|
+
"slots": [],
|
|
2699
|
+
"cssClasses": [],
|
|
2700
|
+
"cssParts": [
|
|
2701
|
+
{
|
|
2702
|
+
"name": "base",
|
|
2703
|
+
"description": "The SVG container element."
|
|
2704
|
+
}
|
|
2705
|
+
],
|
|
2706
|
+
"cssProperties": [
|
|
2707
|
+
{
|
|
2708
|
+
"name": "--size",
|
|
2709
|
+
"default": "1em",
|
|
2710
|
+
"description": "The size of the spinner (width and height)."
|
|
2711
|
+
},
|
|
2712
|
+
{
|
|
2713
|
+
"name": "--indicator-color",
|
|
2714
|
+
"default": null,
|
|
2715
|
+
"description": "The color of the spinner."
|
|
2716
|
+
},
|
|
2717
|
+
{
|
|
2718
|
+
"name": "--speed",
|
|
2719
|
+
"default": null,
|
|
2720
|
+
"description": "The duration of one full spin cycle."
|
|
2721
|
+
}
|
|
2722
|
+
],
|
|
2723
|
+
"commands": [],
|
|
2724
|
+
"examples": []
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "sticky-bar",
|
|
2728
|
+
"displayName": "Sticky bar",
|
|
2729
|
+
"type": "shadow",
|
|
2730
|
+
"isCustomElement": true,
|
|
2731
|
+
"tag": "l-sticky-bar",
|
|
2732
|
+
"nativeTag": null,
|
|
2733
|
+
"selector": "l-sticky-bar",
|
|
2734
|
+
"summary": "A bar docked to the viewport edge, revealed in the top layer when a referenced element scrolls out of view.",
|
|
2735
|
+
"status": "stable",
|
|
2736
|
+
"appearances": [],
|
|
2737
|
+
"import": {
|
|
2738
|
+
"css": null,
|
|
2739
|
+
"js": "luxen-ui/sticky-bar"
|
|
2740
|
+
},
|
|
2741
|
+
"properties": [
|
|
2742
|
+
{
|
|
2743
|
+
"name": "for",
|
|
2744
|
+
"attribute": "for",
|
|
2745
|
+
"type": "string",
|
|
2746
|
+
"default": "''",
|
|
2747
|
+
"reflects": false,
|
|
2748
|
+
"description": "HTML id of the element to track. When that element leaves the viewport, the bar reveals. Omit for a permanently visible bar."
|
|
2749
|
+
},
|
|
2750
|
+
{
|
|
2751
|
+
"name": "root",
|
|
2752
|
+
"attribute": "root",
|
|
2753
|
+
"type": "string",
|
|
2754
|
+
"default": "''",
|
|
2755
|
+
"reflects": false,
|
|
2756
|
+
"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)."
|
|
2757
|
+
},
|
|
2758
|
+
{
|
|
2759
|
+
"name": "placement",
|
|
2760
|
+
"attribute": "placement",
|
|
2761
|
+
"type": "'bottom' | 'top'",
|
|
2762
|
+
"default": "'bottom'",
|
|
2763
|
+
"reflects": true,
|
|
2764
|
+
"description": "Edge to dock against."
|
|
2765
|
+
}
|
|
2766
|
+
],
|
|
2767
|
+
"attributes": [],
|
|
2768
|
+
"events": [
|
|
2769
|
+
{
|
|
2770
|
+
"name": "show",
|
|
2771
|
+
"description": "Fired before the bar reveals. Cancelable.",
|
|
2772
|
+
"cancelable": true
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"name": "after-show",
|
|
2776
|
+
"description": "Fired after the reveal animation completes.",
|
|
2777
|
+
"cancelable": false
|
|
2778
|
+
},
|
|
2779
|
+
{
|
|
2780
|
+
"name": "hide",
|
|
2781
|
+
"description": "Fired before the bar hides. Cancelable.",
|
|
2782
|
+
"cancelable": true
|
|
2783
|
+
},
|
|
2784
|
+
{
|
|
2785
|
+
"name": "after-hide",
|
|
2786
|
+
"description": "Fired after the hide animation completes.",
|
|
2787
|
+
"cancelable": false
|
|
2788
|
+
}
|
|
2789
|
+
],
|
|
2790
|
+
"methods": [],
|
|
2791
|
+
"slots": [
|
|
2792
|
+
{
|
|
2793
|
+
"name": "",
|
|
2794
|
+
"description": "Bar content. Owns its own background, padding, and typography."
|
|
2795
|
+
}
|
|
2796
|
+
],
|
|
2797
|
+
"cssClasses": [],
|
|
2798
|
+
"cssParts": [],
|
|
2799
|
+
"cssProperties": [
|
|
2800
|
+
{
|
|
2801
|
+
"name": "--show-duration",
|
|
2802
|
+
"default": "200ms",
|
|
2803
|
+
"description": "Reveal animation duration."
|
|
2804
|
+
},
|
|
2805
|
+
{
|
|
2806
|
+
"name": "--hide-duration",
|
|
2807
|
+
"default": "200ms",
|
|
2808
|
+
"description": "Dismiss animation duration."
|
|
2809
|
+
},
|
|
2810
|
+
{
|
|
2811
|
+
"name": "--offset",
|
|
2812
|
+
"default": "0px",
|
|
2813
|
+
"description": "Distance from the active edge. Use to clear a sticky header when `placement=\"top\"`."
|
|
2814
|
+
}
|
|
2815
|
+
],
|
|
2816
|
+
"commands": [],
|
|
2817
|
+
"examples": []
|
|
2818
|
+
},
|
|
2819
|
+
{
|
|
2820
|
+
"name": "stories",
|
|
2821
|
+
"displayName": "Stories",
|
|
2822
|
+
"type": "custom",
|
|
2823
|
+
"isCustomElement": true,
|
|
2824
|
+
"tag": "l-stories",
|
|
2825
|
+
"nativeTag": null,
|
|
2826
|
+
"selector": "l-stories",
|
|
2827
|
+
"summary": "A horizontal row of `<l-story>` thumbnails. Click opens the linked\n`<l-stories-viewer>` (matched by `for` → `id`). If `for` is omitted and no\nviewer exists, a singleton viewer is appended to `<body>` on first click.",
|
|
2828
|
+
"status": "experimental",
|
|
2829
|
+
"appearances": [],
|
|
2830
|
+
"import": {
|
|
2831
|
+
"css": "luxen-ui/css/stories",
|
|
2832
|
+
"js": "luxen-ui/stories"
|
|
2833
|
+
},
|
|
2834
|
+
"properties": [
|
|
2835
|
+
{
|
|
2836
|
+
"name": "for",
|
|
2837
|
+
"attribute": "for",
|
|
2838
|
+
"type": "string",
|
|
2839
|
+
"default": "''",
|
|
2840
|
+
"reflects": true,
|
|
2841
|
+
"description": "ID of the linked `<l-stories-viewer>`."
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
"name": "appearance",
|
|
2845
|
+
"attribute": "appearance",
|
|
2846
|
+
"type": "StoriesAppearance",
|
|
2847
|
+
"default": "'rounded'",
|
|
2848
|
+
"reflects": true,
|
|
2849
|
+
"description": "Visual appearance of the thumbnails."
|
|
2850
|
+
}
|
|
2851
|
+
],
|
|
2852
|
+
"attributes": [],
|
|
2853
|
+
"events": [
|
|
2854
|
+
{
|
|
2855
|
+
"name": "story-open",
|
|
2856
|
+
"description": "Fired when the viewer opens. Detail: `{ index: number, story: LuxenStory }`.",
|
|
2857
|
+
"cancelable": false
|
|
2858
|
+
}
|
|
2859
|
+
],
|
|
2860
|
+
"methods": [
|
|
2861
|
+
{
|
|
2862
|
+
"name": "open",
|
|
2863
|
+
"params": [
|
|
2864
|
+
{
|
|
2865
|
+
"name": "index",
|
|
2866
|
+
"type": null
|
|
2867
|
+
}
|
|
2868
|
+
],
|
|
2869
|
+
"returns": null,
|
|
2870
|
+
"description": "Open the linked viewer at the given index."
|
|
2871
|
+
},
|
|
2872
|
+
{
|
|
2873
|
+
"name": "stories",
|
|
2874
|
+
"params": [],
|
|
2875
|
+
"returns": "LuxenStory[]",
|
|
2876
|
+
"description": "All `<l-story>` children."
|
|
2877
|
+
}
|
|
2878
|
+
],
|
|
2879
|
+
"slots": [],
|
|
2880
|
+
"cssClasses": [],
|
|
2881
|
+
"cssParts": [],
|
|
2882
|
+
"cssProperties": [
|
|
2883
|
+
{
|
|
2884
|
+
"name": "--size",
|
|
2885
|
+
"default": null,
|
|
2886
|
+
"description": "Thumbnail size (width). Default per appearance."
|
|
2887
|
+
},
|
|
2888
|
+
{
|
|
2889
|
+
"name": "--radius",
|
|
2890
|
+
"default": null,
|
|
2891
|
+
"description": "Thumbnail border radius. Default per appearance (`--radius-full` for rounded, `1rem` for portrait)."
|
|
2892
|
+
},
|
|
2893
|
+
{
|
|
2894
|
+
"name": "--gap",
|
|
2895
|
+
"default": "1rem",
|
|
2896
|
+
"description": "Gap between thumbnails."
|
|
2897
|
+
},
|
|
2898
|
+
{
|
|
2899
|
+
"name": "--ring-color",
|
|
2900
|
+
"default": null,
|
|
2901
|
+
"description": "Ring color around fresh thumbnails."
|
|
2902
|
+
},
|
|
2903
|
+
{
|
|
2904
|
+
"name": "--ring-color-seen",
|
|
2905
|
+
"default": null,
|
|
2906
|
+
"description": "Ring color for `[seen]` thumbnails."
|
|
2907
|
+
},
|
|
2908
|
+
{
|
|
2909
|
+
"name": "--ring-width",
|
|
2910
|
+
"default": "2px",
|
|
2911
|
+
"description": "Ring width."
|
|
2912
|
+
},
|
|
2913
|
+
{
|
|
2914
|
+
"name": "--label-color",
|
|
2915
|
+
"default": null,
|
|
2916
|
+
"description": "Label text color."
|
|
2917
|
+
}
|
|
2918
|
+
],
|
|
2919
|
+
"commands": [],
|
|
2920
|
+
"examples": [
|
|
2921
|
+
{
|
|
2922
|
+
"title": null,
|
|
2923
|
+
"language": "html",
|
|
2924
|
+
"code": "<l-stories for=\"brand\">\n <l-story src=\"…video.mp4\" poster=\"…jpg\" label=\"Notre concept\"></l-story>\n <l-story src=\"…video2.mp4\" label=\"Collant Essentiel\"></l-story>\n</l-stories>\n<l-stories-viewer id=\"brand\"></l-stories-viewer>"
|
|
2925
|
+
}
|
|
2926
|
+
]
|
|
2927
|
+
},
|
|
2928
|
+
{
|
|
2929
|
+
"name": "stories-viewer",
|
|
2930
|
+
"displayName": "Stories viewer",
|
|
2931
|
+
"type": "shadow",
|
|
2932
|
+
"isCustomElement": true,
|
|
2933
|
+
"tag": "l-stories-viewer",
|
|
2934
|
+
"nativeTag": null,
|
|
2935
|
+
"selector": "l-stories-viewer",
|
|
2936
|
+
"summary": "Fullscreen modal that plays a sequence of `<l-story>` videos with an\nInstagram-style segmented progress bar, previous/next navigation, mute toggle,\nand auto-advance.\n\nLinked to one or more `<l-stories>` rows via matching `id` ↔ `for`. Open\nprogrammatically via `open()` or by clicking a thumbnail in a linked row.",
|
|
2937
|
+
"status": "experimental",
|
|
2938
|
+
"appearances": [],
|
|
2939
|
+
"import": {
|
|
2940
|
+
"css": null,
|
|
2941
|
+
"js": "luxen-ui/stories-viewer"
|
|
2942
|
+
},
|
|
2943
|
+
"properties": [
|
|
2944
|
+
{
|
|
2945
|
+
"name": "open",
|
|
2946
|
+
"attribute": "open",
|
|
2947
|
+
"type": "boolean",
|
|
2948
|
+
"default": "false",
|
|
2949
|
+
"reflects": true,
|
|
2950
|
+
"description": "Whether the viewer is open."
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"name": "index",
|
|
2954
|
+
"attribute": "index",
|
|
2955
|
+
"type": "number",
|
|
2956
|
+
"default": "0",
|
|
2957
|
+
"reflects": true,
|
|
2958
|
+
"description": "Active story index (0-based)."
|
|
2959
|
+
},
|
|
2960
|
+
{
|
|
2961
|
+
"name": "muted",
|
|
2962
|
+
"attribute": "muted",
|
|
2963
|
+
"type": "boolean",
|
|
2964
|
+
"default": "true",
|
|
2965
|
+
"reflects": true,
|
|
2966
|
+
"description": "Whether playback is muted. so autoplay always succeeds across browsers. The user can unmute via the dedicated button or the `m` keyboard shortcut."
|
|
2967
|
+
},
|
|
2968
|
+
{
|
|
2969
|
+
"name": "loop",
|
|
2970
|
+
"attribute": "loop",
|
|
2971
|
+
"type": "boolean",
|
|
2972
|
+
"default": "false",
|
|
2973
|
+
"reflects": true,
|
|
2974
|
+
"description": "Loop the active story instead of advancing."
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
"name": "autoAdvance",
|
|
2978
|
+
"attribute": "auto-advance",
|
|
2979
|
+
"type": "boolean",
|
|
2980
|
+
"default": "true",
|
|
2981
|
+
"reflects": true,
|
|
2982
|
+
"description": "Move to the next story when the current one ends; close after the last story."
|
|
2983
|
+
},
|
|
2984
|
+
{
|
|
2985
|
+
"name": "lightDismiss",
|
|
2986
|
+
"attribute": "light-dismiss",
|
|
2987
|
+
"type": "boolean",
|
|
2988
|
+
"default": "true",
|
|
2989
|
+
"reflects": true,
|
|
2990
|
+
"description": "Close when the backdrop is clicked."
|
|
2991
|
+
},
|
|
2992
|
+
{
|
|
2993
|
+
"name": "chapter",
|
|
2994
|
+
"attribute": "chapter",
|
|
2995
|
+
"type": "number",
|
|
2996
|
+
"default": "0",
|
|
2997
|
+
"reflects": true,
|
|
2998
|
+
"description": "Active chapter index within the current story. Reflected."
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
"name": "stories",
|
|
3002
|
+
"attribute": null,
|
|
3003
|
+
"type": "LuxenStory[]",
|
|
3004
|
+
"default": "[]",
|
|
3005
|
+
"reflects": false,
|
|
3006
|
+
"description": "Internal: the playlist set by the source `<l-stories>`."
|
|
3007
|
+
},
|
|
3008
|
+
{
|
|
3009
|
+
"name": "source",
|
|
3010
|
+
"attribute": null,
|
|
3011
|
+
"type": "LuxenStories | null",
|
|
3012
|
+
"default": "null",
|
|
3013
|
+
"reflects": false,
|
|
3014
|
+
"description": "Internal: the source `<l-stories>` element that opened the viewer."
|
|
3015
|
+
}
|
|
3016
|
+
],
|
|
3017
|
+
"attributes": [],
|
|
3018
|
+
"events": [
|
|
3019
|
+
{
|
|
3020
|
+
"name": "show",
|
|
3021
|
+
"description": "Fired when the viewer opens.",
|
|
3022
|
+
"cancelable": false
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
"name": "after-show",
|
|
3026
|
+
"description": "Fired after the open transition completes.",
|
|
3027
|
+
"cancelable": false
|
|
3028
|
+
},
|
|
3029
|
+
{
|
|
3030
|
+
"name": "hide",
|
|
3031
|
+
"description": "Fired when the viewer is about to close. Cancelable.",
|
|
3032
|
+
"cancelable": true
|
|
3033
|
+
},
|
|
3034
|
+
{
|
|
3035
|
+
"name": "after-hide",
|
|
3036
|
+
"description": "Fired after the close transition completes.",
|
|
3037
|
+
"cancelable": false
|
|
3038
|
+
},
|
|
3039
|
+
{
|
|
3040
|
+
"name": "story-change",
|
|
3041
|
+
"description": "Fired when the active story changes. Detail: `{ index: number, story: LuxenStory }`.",
|
|
3042
|
+
"cancelable": false
|
|
3043
|
+
},
|
|
3044
|
+
{
|
|
3045
|
+
"name": "story-end",
|
|
3046
|
+
"description": "Fired when the active story finishes playback. Detail: `{ index: number }`.",
|
|
3047
|
+
"cancelable": false
|
|
3048
|
+
},
|
|
3049
|
+
{
|
|
3050
|
+
"name": "chapter-change",
|
|
3051
|
+
"description": "Fired when the active chapter (within a story) changes. Detail: `{ chapter: number, story: LuxenStory }`.",
|
|
3052
|
+
"cancelable": false
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
"name": "mute-change",
|
|
3056
|
+
"description": "Fired when the mute state changes. Detail: `{ muted: boolean }`.",
|
|
3057
|
+
"cancelable": false
|
|
3058
|
+
}
|
|
3059
|
+
],
|
|
3060
|
+
"methods": [
|
|
3061
|
+
{
|
|
3062
|
+
"name": "openAt",
|
|
3063
|
+
"params": [
|
|
3064
|
+
{
|
|
3065
|
+
"name": "stories",
|
|
3066
|
+
"type": "LuxenStory[]"
|
|
3067
|
+
},
|
|
3068
|
+
{
|
|
3069
|
+
"name": "index",
|
|
3070
|
+
"type": null
|
|
3071
|
+
},
|
|
3072
|
+
{
|
|
3073
|
+
"name": "source",
|
|
3074
|
+
"type": "LuxenStories | null"
|
|
3075
|
+
}
|
|
3076
|
+
],
|
|
3077
|
+
"returns": null,
|
|
3078
|
+
"description": "Open the viewer at the given index with an explicit playlist."
|
|
3079
|
+
},
|
|
3080
|
+
{
|
|
3081
|
+
"name": "close",
|
|
3082
|
+
"params": [],
|
|
3083
|
+
"returns": null,
|
|
3084
|
+
"description": ""
|
|
3085
|
+
},
|
|
3086
|
+
{
|
|
3087
|
+
"name": "next",
|
|
3088
|
+
"params": [],
|
|
3089
|
+
"returns": null,
|
|
3090
|
+
"description": "Advance one chapter, or to the next story at the chapter boundary."
|
|
3091
|
+
},
|
|
3092
|
+
{
|
|
3093
|
+
"name": "previous",
|
|
3094
|
+
"params": [],
|
|
3095
|
+
"returns": null,
|
|
3096
|
+
"description": "Retreat one chapter, restart the current chapter past 1s in, or cross into the previous story."
|
|
3097
|
+
},
|
|
3098
|
+
{
|
|
3099
|
+
"name": "nextStory",
|
|
3100
|
+
"params": [],
|
|
3101
|
+
"returns": null,
|
|
3102
|
+
"description": "Jump to the next story, skipping any remaining chapters in the current story."
|
|
3103
|
+
},
|
|
3104
|
+
{
|
|
3105
|
+
"name": "previousStory",
|
|
3106
|
+
"params": [],
|
|
3107
|
+
"returns": null,
|
|
3108
|
+
"description": "Jump to the previous story regardless of current chapter. Lands on chapter 0 of the previous story."
|
|
3109
|
+
},
|
|
3110
|
+
{
|
|
3111
|
+
"name": "play",
|
|
3112
|
+
"params": [],
|
|
3113
|
+
"returns": null,
|
|
3114
|
+
"description": ""
|
|
3115
|
+
},
|
|
3116
|
+
{
|
|
3117
|
+
"name": "pause",
|
|
3118
|
+
"params": [],
|
|
3119
|
+
"returns": null,
|
|
3120
|
+
"description": ""
|
|
3121
|
+
}
|
|
3122
|
+
],
|
|
3123
|
+
"slots": [
|
|
3124
|
+
{
|
|
3125
|
+
"name": "cta",
|
|
3126
|
+
"description": "Default CTA overlay (e.g. shoppable card). Per-story `slot=\"cta\"` inside `<l-story>` overrides this when that story is active."
|
|
3127
|
+
},
|
|
3128
|
+
{
|
|
3129
|
+
"name": "header",
|
|
3130
|
+
"description": "Default header overlay (e.g. avatar + author). Per-story override available the same way."
|
|
3131
|
+
},
|
|
3132
|
+
{
|
|
3133
|
+
"name": "close",
|
|
3134
|
+
"description": "Override the default close button."
|
|
3135
|
+
}
|
|
3136
|
+
],
|
|
3137
|
+
"cssClasses": [],
|
|
3138
|
+
"cssParts": [
|
|
3139
|
+
{
|
|
3140
|
+
"name": "dialog",
|
|
3141
|
+
"description": "The native `<dialog>` element."
|
|
3142
|
+
},
|
|
3143
|
+
{
|
|
3144
|
+
"name": "frame",
|
|
3145
|
+
"description": "The aspect-ratio video frame."
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
"name": "progress",
|
|
3149
|
+
"description": "The progress bar wrapper."
|
|
3150
|
+
},
|
|
3151
|
+
{
|
|
3152
|
+
"name": "progress-segment",
|
|
3153
|
+
"description": "A single progress segment."
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
"name": "progress-fill",
|
|
3157
|
+
"description": "The fill element inside an active segment."
|
|
3158
|
+
},
|
|
3159
|
+
{
|
|
3160
|
+
"name": "video",
|
|
3161
|
+
"description": "The `<video>` element."
|
|
3162
|
+
},
|
|
3163
|
+
{
|
|
3164
|
+
"name": "overlay",
|
|
3165
|
+
"description": "The overlay wrapper that hosts CTA/header slots."
|
|
3166
|
+
},
|
|
3167
|
+
{
|
|
3168
|
+
"name": "header",
|
|
3169
|
+
"description": "The top-left header area (story thumbnail + label fallback, or consumer-supplied content via the `header` slot)."
|
|
3170
|
+
},
|
|
3171
|
+
{
|
|
3172
|
+
"name": "header-label",
|
|
3173
|
+
"description": "The default story label inside the header."
|
|
3174
|
+
},
|
|
3175
|
+
{
|
|
3176
|
+
"name": "actions",
|
|
3177
|
+
"description": "The top-right vertical button stack (close, play/pause, mute)."
|
|
3178
|
+
},
|
|
3179
|
+
{
|
|
3180
|
+
"name": "button-close",
|
|
3181
|
+
"description": "The close button."
|
|
3182
|
+
},
|
|
3183
|
+
{
|
|
3184
|
+
"name": "button-pause",
|
|
3185
|
+
"description": "The play/pause toggle."
|
|
3186
|
+
},
|
|
3187
|
+
{
|
|
3188
|
+
"name": "button-mute",
|
|
3189
|
+
"description": "The mute toggle."
|
|
3190
|
+
},
|
|
3191
|
+
{
|
|
3192
|
+
"name": "button-previous",
|
|
3193
|
+
"description": "The previous story button."
|
|
3194
|
+
},
|
|
3195
|
+
{
|
|
3196
|
+
"name": "button-next",
|
|
3197
|
+
"description": "The next story button."
|
|
3198
|
+
},
|
|
3199
|
+
{
|
|
3200
|
+
"name": "spinner",
|
|
3201
|
+
"description": "The loading spinner shown while the current video is buffering."
|
|
3202
|
+
}
|
|
3203
|
+
],
|
|
3204
|
+
"cssProperties": [
|
|
3205
|
+
{
|
|
3206
|
+
"name": "--width",
|
|
3207
|
+
"default": "min(420px, 100vw)",
|
|
3208
|
+
"description": "Frame width."
|
|
3209
|
+
},
|
|
3210
|
+
{
|
|
3211
|
+
"name": "--progress-color",
|
|
3212
|
+
"default": "white",
|
|
3213
|
+
"description": "Active progress fill color."
|
|
3214
|
+
},
|
|
3215
|
+
{
|
|
3216
|
+
"name": "--progress-bg",
|
|
3217
|
+
"default": "rgb(255 255 255 / 35%)",
|
|
3218
|
+
"description": "Inactive progress segment background."
|
|
3219
|
+
},
|
|
3220
|
+
{
|
|
3221
|
+
"name": "--progress-gap",
|
|
3222
|
+
"default": "4px",
|
|
3223
|
+
"description": "Gap between segments."
|
|
3224
|
+
},
|
|
3225
|
+
{
|
|
3226
|
+
"name": "--show-duration",
|
|
3227
|
+
"default": "200ms",
|
|
3228
|
+
"description": "Open transition duration."
|
|
3229
|
+
},
|
|
3230
|
+
{
|
|
3231
|
+
"name": "--hide-duration",
|
|
3232
|
+
"default": "200ms",
|
|
3233
|
+
"description": "Close transition duration."
|
|
3234
|
+
},
|
|
3235
|
+
{
|
|
3236
|
+
"name": "--backdrop",
|
|
3237
|
+
"default": "var(--l-backdrop-strong)",
|
|
3238
|
+
"description": "Backdrop color. — darker than `--l-backdrop` to focus attention on the immersive frame, but still translucent so the page stays perceptible."
|
|
3239
|
+
}
|
|
3240
|
+
],
|
|
3241
|
+
"commands": [],
|
|
3242
|
+
"examples": []
|
|
3243
|
+
},
|
|
3244
|
+
{
|
|
3245
|
+
"name": "story",
|
|
3246
|
+
"displayName": "Story",
|
|
3247
|
+
"type": "custom",
|
|
3248
|
+
"isCustomElement": true,
|
|
3249
|
+
"tag": "l-story",
|
|
3250
|
+
"nativeTag": null,
|
|
3251
|
+
"selector": "l-story",
|
|
3252
|
+
"summary": "A single story declaration inside an `<l-stories>` row.\n\nRenders the clickable thumbnail (poster image + centered play overlay).\nThe viewer reads `src`, `poster`, `label`, `handle`, `duration`, and\n`tracks` to play this story when opened.",
|
|
3253
|
+
"status": "experimental",
|
|
3254
|
+
"appearances": [],
|
|
3255
|
+
"import": {
|
|
3256
|
+
"css": "luxen-ui/css/story",
|
|
3257
|
+
"js": "luxen-ui/story"
|
|
3258
|
+
},
|
|
3259
|
+
"properties": [
|
|
3260
|
+
{
|
|
3261
|
+
"name": "src",
|
|
3262
|
+
"attribute": "src",
|
|
3263
|
+
"type": "string",
|
|
3264
|
+
"default": "''",
|
|
3265
|
+
"reflects": true,
|
|
3266
|
+
"description": "Video URL."
|
|
3267
|
+
},
|
|
3268
|
+
{
|
|
3269
|
+
"name": "poster",
|
|
3270
|
+
"attribute": "poster",
|
|
3271
|
+
"type": "string",
|
|
3272
|
+
"default": "''",
|
|
3273
|
+
"reflects": true,
|
|
3274
|
+
"description": "Thumbnail poster image. Falls back to the first video frame."
|
|
3275
|
+
},
|
|
3276
|
+
{
|
|
3277
|
+
"name": "preview",
|
|
3278
|
+
"attribute": "preview",
|
|
3279
|
+
"type": "string",
|
|
3280
|
+
"default": "''",
|
|
3281
|
+
"reflects": true,
|
|
3282
|
+
"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."
|
|
3283
|
+
},
|
|
3284
|
+
{
|
|
3285
|
+
"name": "label",
|
|
3286
|
+
"attribute": "label",
|
|
3287
|
+
"type": "string",
|
|
3288
|
+
"default": "''",
|
|
3289
|
+
"reflects": true,
|
|
3290
|
+
"description": "Caption shown below the thumbnail (or overlaid, depending on appearance) and used as the trigger `aria-label`."
|
|
3291
|
+
},
|
|
3292
|
+
{
|
|
3293
|
+
"name": "duration",
|
|
3294
|
+
"attribute": "duration",
|
|
3295
|
+
"type": "number",
|
|
3296
|
+
"default": "0",
|
|
3297
|
+
"reflects": false,
|
|
3298
|
+
"description": "Override the progress duration in seconds. Defaults to the video's metadata duration."
|
|
3299
|
+
},
|
|
3300
|
+
{
|
|
3301
|
+
"name": "seen",
|
|
3302
|
+
"attribute": "seen",
|
|
3303
|
+
"type": "boolean",
|
|
3304
|
+
"default": "false",
|
|
3305
|
+
"reflects": true,
|
|
3306
|
+
"description": "Mark this story as already viewed (faded ring). Reflected."
|
|
3307
|
+
},
|
|
3308
|
+
{
|
|
3309
|
+
"name": "pulse",
|
|
3310
|
+
"attribute": "pulse",
|
|
3311
|
+
"type": "boolean",
|
|
3312
|
+
"default": "false",
|
|
3313
|
+
"reflects": true,
|
|
3314
|
+
"description": "Pulse the thumbnail with an animated halo + a subtle scale tap to draw attention. Reflected."
|
|
3315
|
+
},
|
|
3316
|
+
{
|
|
3317
|
+
"name": "chapters",
|
|
3318
|
+
"attribute": "chapters",
|
|
3319
|
+
"type": "string",
|
|
3320
|
+
"default": "''",
|
|
3321
|
+
"reflects": false,
|
|
3322
|
+
"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."
|
|
3323
|
+
},
|
|
3324
|
+
{
|
|
3325
|
+
"name": "tracks",
|
|
3326
|
+
"attribute": "tracks",
|
|
3327
|
+
"type": "string",
|
|
3328
|
+
"default": "''",
|
|
3329
|
+
"reflects": false,
|
|
3330
|
+
"description": "Comma-separated VTT track URLs for captions."
|
|
3331
|
+
}
|
|
3332
|
+
],
|
|
3333
|
+
"attributes": [],
|
|
3334
|
+
"events": [],
|
|
3335
|
+
"methods": [
|
|
3336
|
+
{
|
|
3337
|
+
"name": "getChapterStarts",
|
|
3338
|
+
"params": [],
|
|
3339
|
+
"returns": "number[]",
|
|
3340
|
+
"description": "Parsed chapter start times. Always begins with `0`, sorted, deduplicated. Empty `chapters` returns `[0]`."
|
|
3341
|
+
}
|
|
3342
|
+
],
|
|
3343
|
+
"slots": [
|
|
3344
|
+
{
|
|
3345
|
+
"name": "cta",
|
|
3346
|
+
"description": "Overlay surfaced by the viewer when this story is active (e.g. product card, link)."
|
|
3347
|
+
},
|
|
3348
|
+
{
|
|
3349
|
+
"name": "header",
|
|
3350
|
+
"description": "Header overlay (e.g. avatar + author)."
|
|
3351
|
+
}
|
|
3352
|
+
],
|
|
3353
|
+
"cssClasses": [
|
|
3354
|
+
{
|
|
3355
|
+
"name": ".l-story-trigger",
|
|
3356
|
+
"description": "The clickable thumbnail button wrapper."
|
|
3357
|
+
},
|
|
3358
|
+
{
|
|
3359
|
+
"name": ".l-story-thumb",
|
|
3360
|
+
"description": "The poster/video thumbnail frame (ring + offset)."
|
|
3361
|
+
},
|
|
3362
|
+
{
|
|
3363
|
+
"name": ".l-story-play",
|
|
3364
|
+
"description": "The centered play-icon overlay."
|
|
3365
|
+
},
|
|
3366
|
+
{
|
|
3367
|
+
"name": ".l-story-label",
|
|
3368
|
+
"description": "The caption text below the thumbnail."
|
|
3369
|
+
}
|
|
3370
|
+
],
|
|
3371
|
+
"cssParts": [],
|
|
3372
|
+
"cssProperties": [
|
|
3373
|
+
{
|
|
3374
|
+
"name": "--pulse-color",
|
|
3375
|
+
"default": null,
|
|
3376
|
+
"description": "Color of the attention pulse ring (only with the `pulse` attribute)."
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3379
|
+
"name": "--pulse-scale",
|
|
3380
|
+
"default": "1.2",
|
|
3381
|
+
"description": "Peak scale of the pulse animation."
|
|
3382
|
+
},
|
|
3383
|
+
{
|
|
3384
|
+
"name": "--pulse-duration",
|
|
3385
|
+
"default": "1.6s",
|
|
3386
|
+
"description": "Duration of one pulse cycle."
|
|
3387
|
+
}
|
|
3388
|
+
],
|
|
3389
|
+
"commands": [],
|
|
3390
|
+
"examples": []
|
|
3391
|
+
},
|
|
3392
|
+
{
|
|
3393
|
+
"name": "tabs",
|
|
3394
|
+
"displayName": "Tabs",
|
|
3395
|
+
"type": "progressive",
|
|
3396
|
+
"isCustomElement": true,
|
|
3397
|
+
"tag": "l-tabs",
|
|
3398
|
+
"nativeTag": null,
|
|
3399
|
+
"selector": "l-tabs",
|
|
3400
|
+
"summary": "A tabs component that progressively enhances light DOM markup\nwith ARIA roles, keyboard navigation, and animated indicators.",
|
|
3401
|
+
"status": "stable",
|
|
3402
|
+
"appearances": [
|
|
3403
|
+
"line",
|
|
3404
|
+
"enclosed"
|
|
3405
|
+
],
|
|
3406
|
+
"import": {
|
|
3407
|
+
"css": "luxen-ui/css/tabs/line",
|
|
3408
|
+
"js": "luxen-ui/tabs"
|
|
3409
|
+
},
|
|
3410
|
+
"properties": [
|
|
3411
|
+
{
|
|
3412
|
+
"name": "variant",
|
|
3413
|
+
"attribute": "variant",
|
|
3414
|
+
"type": "TabsVariant",
|
|
3415
|
+
"default": "'line'",
|
|
3416
|
+
"reflects": true,
|
|
3417
|
+
"description": "Visual variant."
|
|
3418
|
+
},
|
|
3419
|
+
{
|
|
3420
|
+
"name": "value",
|
|
3421
|
+
"attribute": "value",
|
|
3422
|
+
"type": "string",
|
|
3423
|
+
"default": "'0'",
|
|
3424
|
+
"reflects": true,
|
|
3425
|
+
"description": "Index of the active tab (0-based)."
|
|
3426
|
+
},
|
|
3427
|
+
{
|
|
3428
|
+
"name": "fullWidth",
|
|
3429
|
+
"attribute": "full-width",
|
|
3430
|
+
"type": "boolean",
|
|
3431
|
+
"default": "false",
|
|
3432
|
+
"reflects": true,
|
|
3433
|
+
"description": "Stretch tabs to fill container width."
|
|
3434
|
+
},
|
|
3435
|
+
{
|
|
3436
|
+
"name": "orientation",
|
|
3437
|
+
"attribute": "orientation",
|
|
3438
|
+
"type": "TabsOrientation",
|
|
3439
|
+
"default": "'horizontal'",
|
|
3440
|
+
"reflects": true,
|
|
3441
|
+
"description": "Tab orientation."
|
|
3442
|
+
}
|
|
3443
|
+
],
|
|
3444
|
+
"attributes": [],
|
|
3445
|
+
"events": [
|
|
3446
|
+
{
|
|
3447
|
+
"name": "change",
|
|
3448
|
+
"description": "Fired when the active tab changes. Detail: `{ index: number, name: string | null }`.",
|
|
3449
|
+
"cancelable": false
|
|
3450
|
+
}
|
|
3451
|
+
],
|
|
3452
|
+
"methods": [],
|
|
3453
|
+
"slots": [],
|
|
3454
|
+
"cssClasses": [],
|
|
3455
|
+
"cssParts": [],
|
|
3456
|
+
"cssProperties": [],
|
|
3457
|
+
"commands": [],
|
|
3458
|
+
"examples": [
|
|
3459
|
+
{
|
|
3460
|
+
"title": null,
|
|
3461
|
+
"language": "html",
|
|
3462
|
+
"code": "<l-tabs variant=\"enclosed\">\n <div>\n <button>Tab 1</button>\n <button>Tab 2</button>\n </div>\n <div>Content 1</div>\n <div>Content 2</div>\n</l-tabs>"
|
|
3463
|
+
}
|
|
3464
|
+
]
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
"name": "toast",
|
|
3468
|
+
"displayName": "Toast",
|
|
3469
|
+
"type": "custom",
|
|
3470
|
+
"isCustomElement": true,
|
|
3471
|
+
"tag": "l-toast",
|
|
3472
|
+
"nativeTag": null,
|
|
3473
|
+
"selector": "l-toast",
|
|
3474
|
+
"summary": "A toast notification container that generates toast items internally.",
|
|
3475
|
+
"status": "stable",
|
|
3476
|
+
"appearances": [],
|
|
3477
|
+
"import": {
|
|
3478
|
+
"css": "luxen-ui/css/toast",
|
|
3479
|
+
"js": "luxen-ui/toast"
|
|
3480
|
+
},
|
|
3481
|
+
"properties": [
|
|
3482
|
+
{
|
|
3483
|
+
"name": "placement",
|
|
3484
|
+
"attribute": "placement",
|
|
3485
|
+
"type": "ToastPlacement",
|
|
3486
|
+
"default": "'top-end'",
|
|
3487
|
+
"reflects": true,
|
|
3488
|
+
"description": "Position of the toast stack on the screen."
|
|
3489
|
+
},
|
|
3490
|
+
{
|
|
3491
|
+
"name": "duration",
|
|
3492
|
+
"attribute": "duration",
|
|
3493
|
+
"type": "number",
|
|
3494
|
+
"default": "5000",
|
|
3495
|
+
"reflects": true,
|
|
3496
|
+
"description": "Default auto-dismiss delay in milliseconds. 0 disables auto-dismiss."
|
|
3497
|
+
},
|
|
3498
|
+
{
|
|
3499
|
+
"name": "variant",
|
|
3500
|
+
"attribute": "variant",
|
|
3501
|
+
"type": "ToastVariant | undefined",
|
|
3502
|
+
"default": null,
|
|
3503
|
+
"reflects": true,
|
|
3504
|
+
"description": "Default variant for toast items: `info`, `success`, `warning`, `danger`."
|
|
3505
|
+
}
|
|
3506
|
+
],
|
|
3507
|
+
"attributes": [],
|
|
3508
|
+
"events": [
|
|
3509
|
+
{
|
|
3510
|
+
"name": "show",
|
|
3511
|
+
"description": "Emitted when a toast begins to show. Cancelable.",
|
|
3512
|
+
"cancelable": true
|
|
3513
|
+
},
|
|
3514
|
+
{
|
|
3515
|
+
"name": "after-show",
|
|
3516
|
+
"description": "Emitted after the show animation completes.",
|
|
3517
|
+
"cancelable": false
|
|
3518
|
+
},
|
|
3519
|
+
{
|
|
3520
|
+
"name": "hide",
|
|
3521
|
+
"description": "Emitted when a toast begins to hide. Cancelable.",
|
|
3522
|
+
"cancelable": true
|
|
3523
|
+
},
|
|
3524
|
+
{
|
|
3525
|
+
"name": "after-hide",
|
|
3526
|
+
"description": "Emitted after the hide animation completes and toast is removed.",
|
|
3527
|
+
"cancelable": false
|
|
3528
|
+
}
|
|
3529
|
+
],
|
|
3530
|
+
"methods": [
|
|
3531
|
+
{
|
|
3532
|
+
"name": "toast",
|
|
3533
|
+
"params": [
|
|
3534
|
+
{
|
|
3535
|
+
"name": "options",
|
|
3536
|
+
"type": "ToastOptions"
|
|
3537
|
+
}
|
|
3538
|
+
],
|
|
3539
|
+
"returns": "HTMLElement",
|
|
3540
|
+
"description": "Create and show a toast notification."
|
|
3541
|
+
}
|
|
3542
|
+
],
|
|
3543
|
+
"slots": [],
|
|
3544
|
+
"cssClasses": [
|
|
3545
|
+
{
|
|
3546
|
+
"name": ".l-toast-accent",
|
|
3547
|
+
"description": "The left accent bar, colored by variant."
|
|
3548
|
+
},
|
|
3549
|
+
{
|
|
3550
|
+
"name": ".l-toast-icon",
|
|
3551
|
+
"description": "The leading icon, colored by variant (replaces the accent bar)."
|
|
3552
|
+
},
|
|
3553
|
+
{
|
|
3554
|
+
"name": ".l-toast-content",
|
|
3555
|
+
"description": "The content column wrapping the heading and message."
|
|
3556
|
+
},
|
|
3557
|
+
{
|
|
3558
|
+
"name": ".l-toast-timer",
|
|
3559
|
+
"description": "The countdown progress bar (for timed toasts)."
|
|
3560
|
+
}
|
|
3561
|
+
],
|
|
3562
|
+
"cssParts": [],
|
|
3563
|
+
"cssProperties": [
|
|
3564
|
+
{
|
|
3565
|
+
"name": "--gap",
|
|
3566
|
+
"default": null,
|
|
3567
|
+
"description": "Gap between stacked toast items."
|
|
3568
|
+
},
|
|
3569
|
+
{
|
|
3570
|
+
"name": "--width",
|
|
3571
|
+
"default": null,
|
|
3572
|
+
"description": "Width of the toast stack."
|
|
3573
|
+
},
|
|
3574
|
+
{
|
|
3575
|
+
"name": "--show-duration",
|
|
3576
|
+
"default": null,
|
|
3577
|
+
"description": "Duration of the show animation."
|
|
3578
|
+
},
|
|
3579
|
+
{
|
|
3580
|
+
"name": "--hide-duration",
|
|
3581
|
+
"default": null,
|
|
3582
|
+
"description": "Duration of the hide animation."
|
|
3583
|
+
}
|
|
3584
|
+
],
|
|
3585
|
+
"commands": [],
|
|
3586
|
+
"examples": []
|
|
3587
|
+
},
|
|
3588
|
+
{
|
|
3589
|
+
"name": "tooltip",
|
|
3590
|
+
"displayName": "Tooltip",
|
|
3591
|
+
"type": "shadow",
|
|
3592
|
+
"isCustomElement": true,
|
|
3593
|
+
"tag": "l-tooltip",
|
|
3594
|
+
"nativeTag": null,
|
|
3595
|
+
"selector": "l-tooltip",
|
|
3596
|
+
"summary": "A tooltip that displays contextual text on hover or focus.",
|
|
3597
|
+
"status": "stable",
|
|
3598
|
+
"appearances": [],
|
|
3599
|
+
"import": {
|
|
3600
|
+
"css": null,
|
|
3601
|
+
"js": "luxen-ui/tooltip"
|
|
3602
|
+
},
|
|
3603
|
+
"properties": [
|
|
3604
|
+
{
|
|
3605
|
+
"name": "for",
|
|
3606
|
+
"attribute": "for",
|
|
3607
|
+
"type": "string",
|
|
3608
|
+
"default": "''",
|
|
3609
|
+
"reflects": false,
|
|
3610
|
+
"description": "The HTML id of the element triggering the tooltip."
|
|
3611
|
+
},
|
|
3612
|
+
{
|
|
3613
|
+
"name": "placement",
|
|
3614
|
+
"attribute": "placement",
|
|
3615
|
+
"type": "Placement",
|
|
3616
|
+
"default": "'top'",
|
|
3617
|
+
"reflects": false,
|
|
3618
|
+
"description": "The preferred placement of the tooltip."
|
|
3619
|
+
},
|
|
3620
|
+
{
|
|
3621
|
+
"name": "distance",
|
|
3622
|
+
"attribute": "distance",
|
|
3623
|
+
"type": "number",
|
|
3624
|
+
"default": "8",
|
|
3625
|
+
"reflects": false,
|
|
3626
|
+
"description": "The distance in pixels from the target element."
|
|
3627
|
+
},
|
|
3628
|
+
{
|
|
3629
|
+
"name": "open",
|
|
3630
|
+
"attribute": "open",
|
|
3631
|
+
"type": "boolean",
|
|
3632
|
+
"default": "false",
|
|
3633
|
+
"reflects": true,
|
|
3634
|
+
"description": "Whether or not the tooltip is visible."
|
|
3635
|
+
},
|
|
3636
|
+
{
|
|
3637
|
+
"name": "withoutArrow",
|
|
3638
|
+
"attribute": "without-arrow",
|
|
3639
|
+
"type": "boolean",
|
|
3640
|
+
"default": "false",
|
|
3641
|
+
"reflects": true,
|
|
3642
|
+
"description": "Hide the directional arrow."
|
|
3643
|
+
},
|
|
3644
|
+
{
|
|
3645
|
+
"name": "trigger",
|
|
3646
|
+
"attribute": "trigger",
|
|
3647
|
+
"type": "string",
|
|
3648
|
+
"default": "'hover focus'",
|
|
3649
|
+
"reflects": false,
|
|
3650
|
+
"description": "Space-separated list of trigger modes: `hover`, `focus`, `click`, `manual`."
|
|
3651
|
+
}
|
|
3652
|
+
],
|
|
3653
|
+
"attributes": [],
|
|
3654
|
+
"events": [],
|
|
3655
|
+
"methods": [
|
|
3656
|
+
{
|
|
3657
|
+
"name": "show",
|
|
3658
|
+
"params": [],
|
|
3659
|
+
"returns": null,
|
|
3660
|
+
"description": ""
|
|
3661
|
+
},
|
|
3662
|
+
{
|
|
3663
|
+
"name": "hide",
|
|
3664
|
+
"params": [],
|
|
3665
|
+
"returns": null,
|
|
3666
|
+
"description": ""
|
|
3667
|
+
},
|
|
3668
|
+
{
|
|
3669
|
+
"name": "toggle",
|
|
3670
|
+
"params": [],
|
|
3671
|
+
"returns": null,
|
|
3672
|
+
"description": ""
|
|
3673
|
+
}
|
|
3674
|
+
],
|
|
3675
|
+
"slots": [
|
|
3676
|
+
{
|
|
3677
|
+
"name": "",
|
|
3678
|
+
"description": "Tooltip content (text or rich HTML)."
|
|
3679
|
+
}
|
|
3680
|
+
],
|
|
3681
|
+
"cssClasses": [],
|
|
3682
|
+
"cssParts": [
|
|
3683
|
+
{
|
|
3684
|
+
"name": "body",
|
|
3685
|
+
"description": "The tooltip popover container."
|
|
3686
|
+
},
|
|
3687
|
+
{
|
|
3688
|
+
"name": "arrow",
|
|
3689
|
+
"description": "The directional arrow element."
|
|
3690
|
+
}
|
|
3691
|
+
],
|
|
3692
|
+
"cssProperties": [
|
|
3693
|
+
{
|
|
3694
|
+
"name": "--background-color",
|
|
3695
|
+
"default": null,
|
|
3696
|
+
"description": "Background color. Default: dark in light mode, light in dark mode."
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
"name": "--text-color",
|
|
3700
|
+
"default": null,
|
|
3701
|
+
"description": "Text color. If unset, auto-derived from `--background-color` luminance."
|
|
3702
|
+
},
|
|
3703
|
+
{
|
|
3704
|
+
"name": "--border-radius",
|
|
3705
|
+
"default": "4px",
|
|
3706
|
+
"description": "Border radius."
|
|
3707
|
+
},
|
|
3708
|
+
{
|
|
3709
|
+
"name": "--max-width",
|
|
3710
|
+
"default": "180px",
|
|
3711
|
+
"description": "Maximum width."
|
|
3712
|
+
},
|
|
3713
|
+
{
|
|
3714
|
+
"name": "--arrow-size",
|
|
3715
|
+
"default": "6px",
|
|
3716
|
+
"description": "Arrow size."
|
|
3717
|
+
},
|
|
3718
|
+
{
|
|
3719
|
+
"name": "--show-duration",
|
|
3720
|
+
"default": "150ms",
|
|
3721
|
+
"description": "Show animation duration."
|
|
3722
|
+
},
|
|
3723
|
+
{
|
|
3724
|
+
"name": "--hide-duration",
|
|
3725
|
+
"default": "150ms",
|
|
3726
|
+
"description": "Hide animation duration."
|
|
3727
|
+
}
|
|
3728
|
+
],
|
|
3729
|
+
"commands": [],
|
|
3730
|
+
"examples": []
|
|
3731
|
+
},
|
|
3732
|
+
{
|
|
3733
|
+
"name": "tree",
|
|
3734
|
+
"displayName": "Tree",
|
|
3735
|
+
"type": "shadow",
|
|
3736
|
+
"isCustomElement": true,
|
|
3737
|
+
"tag": "l-tree",
|
|
3738
|
+
"nativeTag": null,
|
|
3739
|
+
"selector": "l-tree",
|
|
3740
|
+
"summary": "A hierarchical tree view composed of `<l-tree-item>` children.",
|
|
3741
|
+
"status": "stable",
|
|
3742
|
+
"appearances": [],
|
|
3743
|
+
"import": {
|
|
3744
|
+
"css": null,
|
|
3745
|
+
"js": "luxen-ui/tree"
|
|
3746
|
+
},
|
|
3747
|
+
"properties": [
|
|
3748
|
+
{
|
|
3749
|
+
"name": "selection",
|
|
3750
|
+
"attribute": "selection",
|
|
3751
|
+
"type": "TreeSelection",
|
|
3752
|
+
"default": "'single'",
|
|
3753
|
+
"reflects": true,
|
|
3754
|
+
"description": "Selection behaviour:\n- `single` (default): at most one item selected via `aria-selected`.\n- `multiple`: any number of items selected. Checkboxes are rendered.\n- `leaf`: only leaf items can be selected (single). Branches just toggle.\n- `none`: purely navigable, no selection state."
|
|
3755
|
+
},
|
|
3756
|
+
{
|
|
3757
|
+
"name": "independent",
|
|
3758
|
+
"attribute": "independent",
|
|
3759
|
+
"type": "boolean",
|
|
3760
|
+
"default": "false",
|
|
3761
|
+
"reflects": true,
|
|
3762
|
+
"description": "When set with `selection=\"multiple\"`, parent and children selection are decoupled:\ntoggling a parent does NOT toggle its descendants and vice versa.\nWithout it, selection cascades both ways and branches may become indeterminate."
|
|
3763
|
+
}
|
|
3764
|
+
],
|
|
3765
|
+
"attributes": [],
|
|
3766
|
+
"events": [
|
|
3767
|
+
{
|
|
3768
|
+
"name": "selection-change",
|
|
3769
|
+
"description": "Fired when the selected items change. Detail: `{ selection: TreeItem[] }`.",
|
|
3770
|
+
"cancelable": false
|
|
3771
|
+
}
|
|
3772
|
+
],
|
|
3773
|
+
"methods": [
|
|
3774
|
+
{
|
|
3775
|
+
"name": "getAllItems",
|
|
3776
|
+
"params": [
|
|
3777
|
+
{
|
|
3778
|
+
"name": "{ includeDisabled = true }",
|
|
3779
|
+
"type": null
|
|
3780
|
+
}
|
|
3781
|
+
],
|
|
3782
|
+
"returns": "TreeItem[]",
|
|
3783
|
+
"description": "Returns all items in document (flat) order, including nested ones."
|
|
3784
|
+
},
|
|
3785
|
+
{
|
|
3786
|
+
"name": "getSelection",
|
|
3787
|
+
"params": [],
|
|
3788
|
+
"returns": "TreeItem[]",
|
|
3789
|
+
"description": "Returns currently selected items."
|
|
3790
|
+
},
|
|
3791
|
+
{
|
|
3792
|
+
"name": "expandAll",
|
|
3793
|
+
"params": [],
|
|
3794
|
+
"returns": null,
|
|
3795
|
+
"description": "Expands every item that has children."
|
|
3796
|
+
},
|
|
3797
|
+
{
|
|
3798
|
+
"name": "collapseAll",
|
|
3799
|
+
"params": [],
|
|
3800
|
+
"returns": null,
|
|
3801
|
+
"description": "Collapses every item."
|
|
3802
|
+
}
|
|
3803
|
+
],
|
|
3804
|
+
"slots": [
|
|
3805
|
+
{
|
|
3806
|
+
"name": "",
|
|
3807
|
+
"description": "One or more `l-tree-item` elements."
|
|
3808
|
+
}
|
|
3809
|
+
],
|
|
3810
|
+
"cssClasses": [],
|
|
3811
|
+
"cssParts": [
|
|
3812
|
+
{
|
|
3813
|
+
"name": "base",
|
|
3814
|
+
"description": "The root tree container."
|
|
3815
|
+
}
|
|
3816
|
+
],
|
|
3817
|
+
"cssProperties": [
|
|
3818
|
+
{
|
|
3819
|
+
"name": "--indent-size",
|
|
3820
|
+
"default": "1rem",
|
|
3821
|
+
"description": "Horizontal indent per depth level."
|
|
3822
|
+
},
|
|
3823
|
+
{
|
|
3824
|
+
"name": "--indent-guide-width",
|
|
3825
|
+
"default": "1px",
|
|
3826
|
+
"description": "Thickness of the vertical guide line between a parent and its children. Set to `0` to hide guides."
|
|
3827
|
+
},
|
|
3828
|
+
{
|
|
3829
|
+
"name": "--indent-guide-style",
|
|
3830
|
+
"default": "solid",
|
|
3831
|
+
"description": "Line style of the guide (`solid`, `dashed`, `dotted`, `double`…)."
|
|
3832
|
+
},
|
|
3833
|
+
{
|
|
3834
|
+
"name": "--indent-guide-color",
|
|
3835
|
+
"default": null,
|
|
3836
|
+
"description": "Color of the guide line."
|
|
3837
|
+
},
|
|
3838
|
+
{
|
|
3839
|
+
"name": "--row-height",
|
|
3840
|
+
"default": "1.75rem",
|
|
3841
|
+
"description": "Minimum row height."
|
|
3842
|
+
},
|
|
3843
|
+
{
|
|
3844
|
+
"name": "--row-padding-inline",
|
|
3845
|
+
"default": "0.25rem",
|
|
3846
|
+
"description": "Inner inline padding of the row; also drives the content slot left indent and the indent guide column."
|
|
3847
|
+
},
|
|
3848
|
+
{
|
|
3849
|
+
"name": "--chevron-size",
|
|
3850
|
+
"default": "1.125rem",
|
|
3851
|
+
"description": "Size of the expand/collapse chevron box."
|
|
3852
|
+
},
|
|
3853
|
+
{
|
|
3854
|
+
"name": "--item-gap",
|
|
3855
|
+
"default": "0.375rem",
|
|
3856
|
+
"description": "Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent."
|
|
3857
|
+
}
|
|
3858
|
+
],
|
|
3859
|
+
"commands": [],
|
|
3860
|
+
"examples": []
|
|
3861
|
+
},
|
|
3862
|
+
{
|
|
3863
|
+
"name": "tree-item",
|
|
3864
|
+
"displayName": "Tree item",
|
|
3865
|
+
"type": "shadow",
|
|
3866
|
+
"isCustomElement": true,
|
|
3867
|
+
"tag": "l-tree-item",
|
|
3868
|
+
"nativeTag": null,
|
|
3869
|
+
"selector": "l-tree-item",
|
|
3870
|
+
"summary": "A node inside `<l-tree>`. Nested `<l-tree-item>` children become sub-nodes.",
|
|
3871
|
+
"status": "stable",
|
|
3872
|
+
"appearances": [],
|
|
3873
|
+
"import": {
|
|
3874
|
+
"css": null,
|
|
3875
|
+
"js": "luxen-ui/tree-item"
|
|
3876
|
+
},
|
|
3877
|
+
"properties": [
|
|
3878
|
+
{
|
|
3879
|
+
"name": "expanded",
|
|
3880
|
+
"attribute": "expanded",
|
|
3881
|
+
"type": "boolean",
|
|
3882
|
+
"default": "false",
|
|
3883
|
+
"reflects": true,
|
|
3884
|
+
"description": "Whether the item is expanded."
|
|
3885
|
+
},
|
|
3886
|
+
{
|
|
3887
|
+
"name": "selected",
|
|
3888
|
+
"attribute": "selected",
|
|
3889
|
+
"type": "boolean",
|
|
3890
|
+
"default": "false",
|
|
3891
|
+
"reflects": true,
|
|
3892
|
+
"description": "Whether the item is selected."
|
|
3893
|
+
},
|
|
3894
|
+
{
|
|
3895
|
+
"name": "indeterminate",
|
|
3896
|
+
"attribute": "indeterminate",
|
|
3897
|
+
"type": "boolean",
|
|
3898
|
+
"default": "false",
|
|
3899
|
+
"reflects": true,
|
|
3900
|
+
"description": "Whether the checkbox is indeterminate (some descendants selected)."
|
|
3901
|
+
},
|
|
3902
|
+
{
|
|
3903
|
+
"name": "disabled",
|
|
3904
|
+
"attribute": "disabled",
|
|
3905
|
+
"type": "boolean",
|
|
3906
|
+
"default": "false",
|
|
3907
|
+
"reflects": true,
|
|
3908
|
+
"description": "Whether the item is disabled."
|
|
3909
|
+
},
|
|
3910
|
+
{
|
|
3911
|
+
"name": "lazy",
|
|
3912
|
+
"attribute": "lazy",
|
|
3913
|
+
"type": "boolean",
|
|
3914
|
+
"default": "false",
|
|
3915
|
+
"reflects": true,
|
|
3916
|
+
"description": "Marks this item as having children that will be loaded on first expand."
|
|
3917
|
+
},
|
|
3918
|
+
{
|
|
3919
|
+
"name": "loading",
|
|
3920
|
+
"attribute": "loading",
|
|
3921
|
+
"type": "boolean",
|
|
3922
|
+
"default": "false",
|
|
3923
|
+
"reflects": true,
|
|
3924
|
+
"description": "Whether the item is currently loading (shows a spinner)."
|
|
3925
|
+
},
|
|
3926
|
+
{
|
|
3927
|
+
"name": "showCheckbox",
|
|
3928
|
+
"attribute": null,
|
|
3929
|
+
"type": "boolean",
|
|
3930
|
+
"default": null,
|
|
3931
|
+
"reflects": false,
|
|
3932
|
+
"description": "Set by `<l-tree>`: whether a checkbox is shown."
|
|
3933
|
+
},
|
|
3934
|
+
{
|
|
3935
|
+
"name": "depth",
|
|
3936
|
+
"attribute": null,
|
|
3937
|
+
"type": "number",
|
|
3938
|
+
"default": null,
|
|
3939
|
+
"reflects": false,
|
|
3940
|
+
"description": "Set by `<l-tree>`: depth of the item in the tree (0 = root)."
|
|
3941
|
+
},
|
|
3942
|
+
{
|
|
3943
|
+
"name": "hasChildren",
|
|
3944
|
+
"attribute": null,
|
|
3945
|
+
"type": "boolean",
|
|
3946
|
+
"default": null,
|
|
3947
|
+
"reflects": false,
|
|
3948
|
+
"description": "Whether this item has nested tree-item children."
|
|
3949
|
+
}
|
|
3950
|
+
],
|
|
3951
|
+
"attributes": [],
|
|
3952
|
+
"events": [
|
|
3953
|
+
{
|
|
3954
|
+
"name": "expand",
|
|
3955
|
+
"description": "Fired when the item is expanded.",
|
|
3956
|
+
"cancelable": false
|
|
3957
|
+
},
|
|
3958
|
+
{
|
|
3959
|
+
"name": "collapse",
|
|
3960
|
+
"description": "Fired when the item is collapsed.",
|
|
3961
|
+
"cancelable": false
|
|
3962
|
+
},
|
|
3963
|
+
{
|
|
3964
|
+
"name": "lazy-load",
|
|
3965
|
+
"description": "Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.",
|
|
3966
|
+
"cancelable": false
|
|
3967
|
+
}
|
|
3968
|
+
],
|
|
3969
|
+
"methods": [
|
|
3970
|
+
{
|
|
3971
|
+
"name": "getChildrenItems",
|
|
3972
|
+
"params": [
|
|
3973
|
+
{
|
|
3974
|
+
"name": "{ includeDisabled = true }",
|
|
3975
|
+
"type": null
|
|
3976
|
+
}
|
|
3977
|
+
],
|
|
3978
|
+
"returns": "TreeItem[]",
|
|
3979
|
+
"description": "Returns the child `<l-tree-item>` elements directly under this one."
|
|
3980
|
+
},
|
|
3981
|
+
{
|
|
3982
|
+
"name": "isLeaf",
|
|
3983
|
+
"params": [],
|
|
3984
|
+
"returns": "boolean",
|
|
3985
|
+
"description": "Returns true if this item has no expandable children."
|
|
3986
|
+
},
|
|
3987
|
+
{
|
|
3988
|
+
"name": "getTextLabel",
|
|
3989
|
+
"params": [],
|
|
3990
|
+
"returns": "string",
|
|
3991
|
+
"description": "Returns the text label of this item."
|
|
3992
|
+
},
|
|
3993
|
+
{
|
|
3994
|
+
"name": "toggle",
|
|
3995
|
+
"params": [],
|
|
3996
|
+
"returns": null,
|
|
3997
|
+
"description": "Toggle expand state. Emits `lazy-load` the first time a lazy item opens."
|
|
3998
|
+
}
|
|
3999
|
+
],
|
|
4000
|
+
"slots": [
|
|
4001
|
+
{
|
|
4002
|
+
"name": "",
|
|
4003
|
+
"description": "Label content (kept to a single row)."
|
|
4004
|
+
},
|
|
4005
|
+
{
|
|
4006
|
+
"name": "prefix",
|
|
4007
|
+
"description": "Leading content before the label (e.g. icon)."
|
|
4008
|
+
},
|
|
4009
|
+
{
|
|
4010
|
+
"name": "suffix",
|
|
4011
|
+
"description": "Trailing content."
|
|
4012
|
+
},
|
|
4013
|
+
{
|
|
4014
|
+
"name": "expand-icon",
|
|
4015
|
+
"description": "Icon shown when the item is collapsed."
|
|
4016
|
+
},
|
|
4017
|
+
{
|
|
4018
|
+
"name": "collapse-icon",
|
|
4019
|
+
"description": "Icon shown when the item is expanded."
|
|
4020
|
+
},
|
|
4021
|
+
{
|
|
4022
|
+
"name": "content",
|
|
4023
|
+
"description": "Block content that belongs to the item but not to its header row (e.g. comment body, action bar). Hidden when a branch is collapsed."
|
|
4024
|
+
}
|
|
4025
|
+
],
|
|
4026
|
+
"cssClasses": [],
|
|
4027
|
+
"cssParts": [
|
|
4028
|
+
{
|
|
4029
|
+
"name": "base",
|
|
4030
|
+
"description": "The item row."
|
|
4031
|
+
},
|
|
4032
|
+
{
|
|
4033
|
+
"name": "expand-button",
|
|
4034
|
+
"description": "The chevron toggle area."
|
|
4035
|
+
},
|
|
4036
|
+
{
|
|
4037
|
+
"name": "checkbox",
|
|
4038
|
+
"description": "The native checkbox input."
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
"name": "label",
|
|
4042
|
+
"description": "The label container."
|
|
4043
|
+
},
|
|
4044
|
+
{
|
|
4045
|
+
"name": "branch",
|
|
4046
|
+
"description": "Wrapper around the content and children slots; carries the indent guide."
|
|
4047
|
+
},
|
|
4048
|
+
{
|
|
4049
|
+
"name": "content",
|
|
4050
|
+
"description": "The content slot wrapper (block area between the row and the children)."
|
|
4051
|
+
},
|
|
4052
|
+
{
|
|
4053
|
+
"name": "children",
|
|
4054
|
+
"description": "The nested items container."
|
|
4055
|
+
}
|
|
4056
|
+
],
|
|
4057
|
+
"cssProperties": [],
|
|
4058
|
+
"commands": [],
|
|
4059
|
+
"examples": []
|
|
4060
|
+
}
|
|
4061
|
+
]
|
|
4062
|
+
}
|