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.
Files changed (270) hide show
  1. package/bin/cli.mjs +54 -10
  2. package/cdn/chunks/decorate.js +1 -1
  3. package/cdn/chunks/floating-ui.dom.js +2 -0
  4. package/cdn/chunks/floating-ui.dom.js.map +1 -0
  5. package/cdn/chunks/lit-html.js +3 -0
  6. package/cdn/chunks/lit-html.js.map +1 -0
  7. package/cdn/chunks/lit.js +1 -2
  8. package/cdn/chunks/lit.js.map +1 -1
  9. package/cdn/chunks/module.js +717 -0
  10. package/cdn/chunks/module.js.map +1 -0
  11. package/cdn/chunks/native.js +2 -0
  12. package/cdn/chunks/native.js.map +1 -0
  13. package/cdn/chunks/static-html.js +2 -0
  14. package/cdn/chunks/static-html.js.map +1 -0
  15. package/cdn/custom-elements.json +1412 -12629
  16. package/cdn/elements/avatar/avatar.d.ts +5 -0
  17. package/cdn/elements/avatar/avatar.d.ts.map +1 -1
  18. package/cdn/elements/avatar/avatar.js +5 -5
  19. package/cdn/elements/avatar/avatar.js.map +1 -1
  20. package/cdn/elements/button/button.meta.d.ts +33 -0
  21. package/cdn/elements/button/button.meta.d.ts.map +1 -0
  22. package/cdn/elements/button/button.meta.js +0 -0
  23. package/cdn/elements/carousel/carousel.d.ts +6 -0
  24. package/cdn/elements/carousel/carousel.d.ts.map +1 -1
  25. package/cdn/elements/carousel/carousel.js +1 -1
  26. package/cdn/elements/carousel/carousel.js.map +1 -1
  27. package/cdn/elements/carousel-item/carousel-item.d.ts +2 -0
  28. package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
  29. package/cdn/elements/carousel-item/carousel-item.js +1 -1
  30. package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
  31. package/cdn/elements/close-button/close-button.meta.d.ts +24 -0
  32. package/cdn/elements/close-button/close-button.meta.d.ts.map +1 -0
  33. package/cdn/elements/close-button/close-button.meta.js +0 -0
  34. package/cdn/elements/dialog/dialog.d.ts +12 -6
  35. package/cdn/elements/dialog/dialog.d.ts.map +1 -1
  36. package/cdn/elements/dialog/dialog.js +8 -5
  37. package/cdn/elements/dialog/dialog.js.map +1 -1
  38. package/cdn/elements/dialog/dialog.styles.js +1 -1
  39. package/cdn/elements/dialog/dialog.styles.js.map +1 -1
  40. package/cdn/elements/disclosure/disclosure.meta.d.ts +28 -0
  41. package/cdn/elements/disclosure/disclosure.meta.d.ts.map +1 -0
  42. package/cdn/elements/disclosure/disclosure.meta.js +0 -0
  43. package/cdn/elements/divider/divider.d.ts +1 -1
  44. package/cdn/elements/divider/divider.js.map +1 -1
  45. package/cdn/elements/drawer/drawer.d.ts +5 -0
  46. package/cdn/elements/drawer/drawer.d.ts.map +1 -1
  47. package/cdn/elements/drawer/drawer.js +1 -1
  48. package/cdn/elements/drawer/drawer.js.map +1 -1
  49. package/cdn/elements/dropdown/dropdown.d.ts +2 -0
  50. package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
  51. package/cdn/elements/dropdown/dropdown.js +1 -1
  52. package/cdn/elements/dropdown/dropdown.js.map +1 -1
  53. package/cdn/elements/dropdown-item/dropdown-item.d.ts +2 -0
  54. package/cdn/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  55. package/cdn/elements/dropdown-item/dropdown-item.js +1 -1
  56. package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
  57. package/cdn/elements/icon/icon.js +1 -1
  58. package/cdn/elements/icon/icon.js.map +1 -1
  59. package/cdn/elements/input-otp/input-otp.d.ts +2 -0
  60. package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
  61. package/cdn/elements/input-otp/input-otp.js.map +1 -1
  62. package/cdn/elements/input-stepper/input-stepper.d.ts +2 -0
  63. package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
  64. package/cdn/elements/input-stepper/input-stepper.js +1 -1
  65. package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
  66. package/cdn/elements/kbd/kbd.meta.d.ts +14 -0
  67. package/cdn/elements/kbd/kbd.meta.d.ts.map +1 -0
  68. package/cdn/elements/kbd/kbd.meta.js +0 -0
  69. package/cdn/elements/popover/popover.js +1 -1
  70. package/cdn/elements/popover/popover.js.map +1 -1
  71. package/cdn/elements/progress/progress.meta.d.ts +22 -0
  72. package/cdn/elements/progress/progress.meta.d.ts.map +1 -0
  73. package/cdn/elements/progress/progress.meta.js +0 -0
  74. package/cdn/elements/prose-editor/index.d.ts +2 -0
  75. package/cdn/elements/prose-editor/index.d.ts.map +1 -0
  76. package/cdn/elements/prose-editor/index.js +2 -0
  77. package/cdn/elements/prose-editor/index.js.map +1 -0
  78. package/cdn/elements/prose-editor/prose-editor.d.ts +113 -0
  79. package/cdn/elements/prose-editor/prose-editor.d.ts.map +1 -0
  80. package/cdn/elements/prose-editor/prose-editor.js +180 -0
  81. package/cdn/elements/prose-editor/prose-editor.js.map +1 -0
  82. package/cdn/elements/rating/rating.d.ts +2 -0
  83. package/cdn/elements/rating/rating.d.ts.map +1 -1
  84. package/cdn/elements/rating/rating.js +1 -1
  85. package/cdn/elements/rating/rating.js.map +1 -1
  86. package/cdn/elements/select/select.meta.d.ts +28 -0
  87. package/cdn/elements/select/select.meta.d.ts.map +1 -0
  88. package/cdn/elements/select/select.meta.js +0 -0
  89. package/cdn/elements/skeleton/skeleton.d.ts +3 -0
  90. package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
  91. package/cdn/elements/skeleton/skeleton.js.map +1 -1
  92. package/cdn/elements/spinner/spinner.js +1 -1
  93. package/cdn/elements/spinner/spinner.js.map +1 -1
  94. package/cdn/elements/sticky-bar/sticky-bar.js +1 -1
  95. package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -1
  96. package/cdn/elements/stories-viewer/stories-viewer.d.ts +1 -1
  97. package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
  98. package/cdn/elements/stories-viewer/stories-viewer.js +26 -26
  99. package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -1
  100. package/cdn/elements/story/story.d.ts +10 -1
  101. package/cdn/elements/story/story.d.ts.map +1 -1
  102. package/cdn/elements/story/story.js +20 -20
  103. package/cdn/elements/story/story.js.map +1 -1
  104. package/cdn/elements/toast/toast.d.ts +5 -0
  105. package/cdn/elements/toast/toast.d.ts.map +1 -1
  106. package/cdn/elements/toast/toast.js.map +1 -1
  107. package/cdn/elements/tooltip/tooltip.js +1 -1
  108. package/cdn/elements/tooltip/tooltip.js.map +1 -1
  109. package/cdn/elements/tree/tree.d.ts +2 -0
  110. package/cdn/elements/tree/tree.d.ts.map +1 -1
  111. package/cdn/elements/tree/tree.js +1 -1
  112. package/cdn/elements/tree/tree.js.map +1 -1
  113. package/cdn/elements/tree-item/tree-item.d.ts +2 -0
  114. package/cdn/elements/tree-item/tree-item.d.ts.map +1 -1
  115. package/cdn/elements/tree-item/tree-item.js +1 -1
  116. package/cdn/elements/tree-item/tree-item.js.map +1 -1
  117. package/cdn/registry.d.ts +1 -1
  118. package/cdn/registry.d.ts.map +1 -1
  119. package/cdn/registry.js.map +1 -1
  120. package/cdn/shared/controllers/has-slot-controller.d.ts +37 -0
  121. package/cdn/shared/controllers/has-slot-controller.d.ts.map +1 -0
  122. package/cdn/shared/controllers/has-slot-controller.js +2 -0
  123. package/cdn/shared/controllers/has-slot-controller.js.map +1 -0
  124. package/cdn/shared/controllers/popover.js +1 -1
  125. package/cdn/shared/controllers/popover.js.map +1 -1
  126. package/cdn/shared/styles/host.styles.js +1 -1
  127. package/cdn/standalone.css +132 -1
  128. package/cdn/standalone.js +25743 -191
  129. package/cdn/standalone.js.map +1 -1
  130. package/cdn/static-tag.d.ts +17 -0
  131. package/cdn/static-tag.d.ts.map +1 -0
  132. package/cdn/static-tag.js +2 -0
  133. package/cdn/static-tag.js.map +1 -0
  134. package/cdn/styles/elements/prose-editor.css +129 -0
  135. package/cdn/styles/elements/toast.css +1 -1
  136. package/dist/css/elements/prose-editor.css +129 -0
  137. package/dist/css/elements/toast.css +1 -1
  138. package/dist/custom-elements.json +1412 -12629
  139. package/dist/elements/avatar/avatar.d.ts +5 -0
  140. package/dist/elements/avatar/avatar.d.ts.map +1 -1
  141. package/dist/elements/avatar/avatar.js +5 -0
  142. package/dist/elements/button/button.meta.d.ts +33 -0
  143. package/dist/elements/button/button.meta.d.ts.map +1 -0
  144. package/dist/elements/button/button.meta.js +44 -0
  145. package/dist/elements/carousel/carousel.d.ts +6 -0
  146. package/dist/elements/carousel/carousel.d.ts.map +1 -1
  147. package/dist/elements/carousel/carousel.js +6 -0
  148. package/dist/elements/carousel-item/carousel-item.d.ts +2 -0
  149. package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
  150. package/dist/elements/carousel-item/carousel-item.js +2 -0
  151. package/dist/elements/close-button/close-button.meta.d.ts +24 -0
  152. package/dist/elements/close-button/close-button.meta.d.ts.map +1 -0
  153. package/dist/elements/close-button/close-button.meta.js +30 -0
  154. package/dist/elements/dialog/dialog.css +15 -0
  155. package/dist/elements/dialog/dialog.d.ts +12 -6
  156. package/dist/elements/dialog/dialog.d.ts.map +1 -1
  157. package/dist/elements/dialog/dialog.js +21 -7
  158. package/dist/elements/disclosure/disclosure.meta.d.ts +28 -0
  159. package/dist/elements/disclosure/disclosure.meta.d.ts.map +1 -0
  160. package/dist/elements/disclosure/disclosure.meta.js +34 -0
  161. package/dist/elements/divider/divider.d.ts +1 -1
  162. package/dist/elements/divider/divider.js +1 -1
  163. package/dist/elements/drawer/drawer.d.ts +5 -0
  164. package/dist/elements/drawer/drawer.d.ts.map +1 -1
  165. package/dist/elements/drawer/drawer.js +5 -0
  166. package/dist/elements/dropdown/dropdown.d.ts +2 -0
  167. package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
  168. package/dist/elements/dropdown/dropdown.js +2 -0
  169. package/dist/elements/dropdown-item/dropdown-item.d.ts +2 -0
  170. package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  171. package/dist/elements/dropdown-item/dropdown-item.js +2 -0
  172. package/dist/elements/input-otp/input-otp.d.ts +2 -0
  173. package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
  174. package/dist/elements/input-otp/input-otp.js +2 -0
  175. package/dist/elements/input-stepper/input-stepper.d.ts +2 -0
  176. package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
  177. package/dist/elements/input-stepper/input-stepper.js +5 -1
  178. package/dist/elements/kbd/kbd.meta.d.ts +14 -0
  179. package/dist/elements/kbd/kbd.meta.d.ts.map +1 -0
  180. package/dist/elements/kbd/kbd.meta.js +20 -0
  181. package/dist/elements/progress/progress.meta.d.ts +22 -0
  182. package/dist/elements/progress/progress.meta.d.ts.map +1 -0
  183. package/dist/elements/progress/progress.meta.js +28 -0
  184. package/dist/elements/prose-editor/index.d.ts +2 -0
  185. package/dist/elements/prose-editor/index.d.ts.map +1 -0
  186. package/dist/elements/prose-editor/index.js +4 -0
  187. package/dist/elements/prose-editor/prose-editor.css +133 -0
  188. package/dist/elements/prose-editor/prose-editor.d.ts +114 -0
  189. package/dist/elements/prose-editor/prose-editor.d.ts.map +1 -0
  190. package/dist/elements/prose-editor/prose-editor.js +481 -0
  191. package/dist/elements/rating/rating.d.ts +2 -0
  192. package/dist/elements/rating/rating.d.ts.map +1 -1
  193. package/dist/elements/rating/rating.js +2 -0
  194. package/dist/elements/select/select.meta.d.ts +28 -0
  195. package/dist/elements/select/select.meta.d.ts.map +1 -0
  196. package/dist/elements/select/select.meta.js +34 -0
  197. package/dist/elements/skeleton/skeleton.d.ts +3 -0
  198. package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
  199. package/dist/elements/skeleton/skeleton.js +3 -0
  200. package/dist/elements/stories-viewer/stories-viewer.d.ts +1 -1
  201. package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
  202. package/dist/elements/stories-viewer/stories-viewer.js +23 -19
  203. package/dist/elements/story/story.d.ts +10 -1
  204. package/dist/elements/story/story.d.ts.map +1 -1
  205. package/dist/elements/story/story.js +29 -17
  206. package/dist/elements/toast/toast.d.ts +5 -0
  207. package/dist/elements/toast/toast.d.ts.map +1 -1
  208. package/dist/elements/toast/toast.js +5 -0
  209. package/dist/elements/tree/tree.d.ts +2 -0
  210. package/dist/elements/tree/tree.d.ts.map +1 -1
  211. package/dist/elements/tree/tree.js +2 -0
  212. package/dist/elements/tree-item/tree-item.d.ts +2 -0
  213. package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
  214. package/dist/elements/tree-item/tree-item.js +2 -0
  215. package/dist/metadata/avatar.json +83 -0
  216. package/dist/metadata/badge.json +59 -0
  217. package/dist/metadata/button.json +138 -0
  218. package/dist/metadata/carousel-item.json +32 -0
  219. package/dist/metadata/carousel.json +388 -0
  220. package/dist/metadata/close-button.json +90 -0
  221. package/dist/metadata/dialog.json +163 -0
  222. package/dist/metadata/disclosure.json +88 -0
  223. package/dist/metadata/divider.json +65 -0
  224. package/dist/metadata/drawer.json +176 -0
  225. package/dist/metadata/dropdown-item.json +85 -0
  226. package/dist/metadata/dropdown.json +157 -0
  227. package/dist/metadata/icon.json +49 -0
  228. package/dist/metadata/index.json +4062 -0
  229. package/dist/metadata/input-otp.json +86 -0
  230. package/dist/metadata/input-stepper.json +122 -0
  231. package/dist/metadata/kbd.json +37 -0
  232. package/dist/metadata/popover.json +157 -0
  233. package/dist/metadata/progress.json +71 -0
  234. package/dist/metadata/prose-editor.json +365 -0
  235. package/dist/metadata/rating.json +126 -0
  236. package/dist/metadata/select.json +82 -0
  237. package/dist/metadata/skeleton.json +56 -0
  238. package/dist/metadata/spinner.json +47 -0
  239. package/dist/metadata/sticky-bar.json +93 -0
  240. package/dist/metadata/stories-viewer.json +316 -0
  241. package/dist/metadata/stories.json +109 -0
  242. package/dist/metadata/story.json +148 -0
  243. package/dist/metadata/tabs.json +74 -0
  244. package/dist/metadata/toast.json +122 -0
  245. package/dist/metadata/tooltip.json +144 -0
  246. package/dist/metadata/tree-item.json +199 -0
  247. package/dist/metadata/tree.json +130 -0
  248. package/dist/registry.d.ts +1 -1
  249. package/dist/registry.d.ts.map +1 -1
  250. package/dist/shared/controllers/has-slot-controller.d.ts +37 -0
  251. package/dist/shared/controllers/has-slot-controller.d.ts.map +1 -0
  252. package/dist/shared/controllers/has-slot-controller.js +66 -0
  253. package/dist/static-tag.d.ts +17 -0
  254. package/dist/static-tag.d.ts.map +1 -0
  255. package/dist/static-tag.js +22 -0
  256. package/dist/templates/elements/avatar.md +21 -24
  257. package/dist/templates/elements/badge.md +9 -15
  258. package/dist/templates/elements/button.md +31 -41
  259. package/dist/templates/elements/close-button.md +24 -36
  260. package/dist/templates/elements/dialog.md +73 -54
  261. package/dist/templates/elements/drawer.md +39 -52
  262. package/dist/templates/elements/progress.md +13 -23
  263. package/dist/templates/elements/prose-editor.md +211 -0
  264. package/dist/templates/elements/select.md +20 -31
  265. package/dist/templates/elements/sticky-bar.md +16 -60
  266. package/dist/templates/elements/toast.md +33 -53
  267. package/dist/templates/elements/tree.md +39 -67
  268. package/elements.json +46 -1
  269. package/package.json +13 -3
  270. package/templates/SKILL.md.tpl +5 -1
@@ -0,0 +1,365 @@
1
+ {
2
+ "name": "prose-editor",
3
+ "displayName": "Prose editor",
4
+ "type": "shadow",
5
+ "isCustomElement": true,
6
+ "tag": "l-prose-editor",
7
+ "nativeTag": null,
8
+ "selector": "l-prose-editor",
9
+ "summary": "A rich text editor built on Tiptap (ProseMirror). Form-associated: its value is the editor HTML.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/prose-editor",
14
+ "js": "luxen-ui/prose-editor"
15
+ },
16
+ "properties": [
17
+ {
18
+ "name": "editor",
19
+ "attribute": null,
20
+ "type": "Editor",
21
+ "default": null,
22
+ "reflects": false,
23
+ "description": "The Tiptap editor instance. Available after the first render."
24
+ },
25
+ {
26
+ "name": "initialHtml",
27
+ "attribute": "initial-html",
28
+ "type": "string",
29
+ "default": "''",
30
+ "reflects": false,
31
+ "description": "Initial HTML content."
32
+ },
33
+ {
34
+ "name": "initialJson",
35
+ "attribute": "initial-json",
36
+ "type": "string",
37
+ "default": "''",
38
+ "reflects": false,
39
+ "description": "Initial content as a serialized ProseMirror JSON string."
40
+ },
41
+ {
42
+ "name": "editorClass",
43
+ "attribute": "editor-class",
44
+ "type": "string",
45
+ "default": "'prose'",
46
+ "reflects": false,
47
+ "description": "Class applied to the `.ProseMirror` editable element (e.g. for Tailwind Typography `prose`)."
48
+ },
49
+ {
50
+ "name": "toolbar",
51
+ "attribute": "toolbar",
52
+ "type": "ToolbarCommandName[]",
53
+ "default": "[]",
54
+ "reflects": false,
55
+ "description": "Explicit list of toolbar commands. Overrides `toolbar-preset` when set."
56
+ },
57
+ {
58
+ "name": "toolbarPreset",
59
+ "attribute": "toolbar-preset",
60
+ "type": "'default' | 'minimal'",
61
+ "default": "'default'",
62
+ "reflects": false,
63
+ "description": "Built-in toolbar layout used when `toolbar` is not set."
64
+ },
65
+ {
66
+ "name": "toolbarPlacement",
67
+ "attribute": "toolbar-placement",
68
+ "type": "'top' | 'bottom'",
69
+ "default": "'top'",
70
+ "reflects": true,
71
+ "description": "Where the toolbar sits relative to the content."
72
+ },
73
+ {
74
+ "name": "autofocus",
75
+ "attribute": "autofocus",
76
+ "type": "boolean",
77
+ "default": "false",
78
+ "reflects": true,
79
+ "description": "Focus the editor on creation."
80
+ },
81
+ {
82
+ "name": "placeholder",
83
+ "attribute": "placeholder",
84
+ "type": "string",
85
+ "default": "''",
86
+ "reflects": false,
87
+ "description": "Placeholder shown when the editor is empty."
88
+ },
89
+ {
90
+ "name": "validationTarget",
91
+ "attribute": null,
92
+ "type": "HTMLElement | undefined",
93
+ "default": null,
94
+ "reflects": false,
95
+ "description": ""
96
+ }
97
+ ],
98
+ "attributes": [],
99
+ "events": [
100
+ {
101
+ "name": "change",
102
+ "description": "Fired when the content changes. `detail` is `{ html, json }`.",
103
+ "cancelable": false
104
+ },
105
+ {
106
+ "name": "add-file",
107
+ "description": "Fired when the attachment toolbar button is clicked.",
108
+ "cancelable": false
109
+ }
110
+ ],
111
+ "methods": [
112
+ {
113
+ "name": "getHTML",
114
+ "params": [],
115
+ "returns": "string",
116
+ "description": "Get the current content as an HTML string. Empty paragraph resolves to `''`."
117
+ },
118
+ {
119
+ "name": "getJSON",
120
+ "params": [],
121
+ "returns": "JSONContent",
122
+ "description": "Get the current content as ProseMirror JSON."
123
+ },
124
+ {
125
+ "name": "clear",
126
+ "params": [],
127
+ "returns": null,
128
+ "description": "Remove all content."
129
+ },
130
+ {
131
+ "name": "focus",
132
+ "params": [],
133
+ "returns": null,
134
+ "description": ""
135
+ },
136
+ {
137
+ "name": "blur",
138
+ "params": [],
139
+ "returns": null,
140
+ "description": ""
141
+ },
142
+ {
143
+ "name": "toggleBold",
144
+ "params": [],
145
+ "returns": null,
146
+ "description": ""
147
+ },
148
+ {
149
+ "name": "toggleItalic",
150
+ "params": [],
151
+ "returns": null,
152
+ "description": ""
153
+ },
154
+ {
155
+ "name": "toggleUnderline",
156
+ "params": [],
157
+ "returns": null,
158
+ "description": ""
159
+ },
160
+ {
161
+ "name": "toggleStrike",
162
+ "params": [],
163
+ "returns": null,
164
+ "description": ""
165
+ },
166
+ {
167
+ "name": "toggleHighlight",
168
+ "params": [],
169
+ "returns": null,
170
+ "description": ""
171
+ },
172
+ {
173
+ "name": "toggleHeading",
174
+ "params": [
175
+ {
176
+ "name": "level",
177
+ "type": "1 | 2 | 3"
178
+ }
179
+ ],
180
+ "returns": null,
181
+ "description": ""
182
+ },
183
+ {
184
+ "name": "toggleBulletList",
185
+ "params": [],
186
+ "returns": null,
187
+ "description": ""
188
+ },
189
+ {
190
+ "name": "toggleOrderedList",
191
+ "params": [],
192
+ "returns": null,
193
+ "description": ""
194
+ },
195
+ {
196
+ "name": "toggleBlockquote",
197
+ "params": [],
198
+ "returns": null,
199
+ "description": ""
200
+ },
201
+ {
202
+ "name": "toggleCodeBlock",
203
+ "params": [],
204
+ "returns": null,
205
+ "description": ""
206
+ },
207
+ {
208
+ "name": "setHorizontalRule",
209
+ "params": [],
210
+ "returns": null,
211
+ "description": ""
212
+ },
213
+ {
214
+ "name": "undo",
215
+ "params": [],
216
+ "returns": null,
217
+ "description": ""
218
+ },
219
+ {
220
+ "name": "redo",
221
+ "params": [],
222
+ "returns": null,
223
+ "description": ""
224
+ },
225
+ {
226
+ "name": "toggleLink",
227
+ "params": [],
228
+ "returns": null,
229
+ "description": ""
230
+ },
231
+ {
232
+ "name": "formResetCallback",
233
+ "params": [],
234
+ "returns": null,
235
+ "description": ""
236
+ }
237
+ ],
238
+ "slots": [
239
+ {
240
+ "name": "toolbar-start",
241
+ "description": "Content placed before the generated toolbar buttons."
242
+ },
243
+ {
244
+ "name": "toolbar-end",
245
+ "description": "Content placed after the generated toolbar buttons."
246
+ }
247
+ ],
248
+ "cssClasses": [],
249
+ "cssParts": [
250
+ {
251
+ "name": "wrapper",
252
+ "description": "The editor frame wrapping the toolbar and content."
253
+ },
254
+ {
255
+ "name": "toolbar",
256
+ "description": "The toolbar row."
257
+ },
258
+ {
259
+ "name": "toolbar-button",
260
+ "description": "Any toolbar button."
261
+ },
262
+ {
263
+ "name": "divider",
264
+ "description": "A toolbar divider."
265
+ },
266
+ {
267
+ "name": "editor",
268
+ "description": "The container around the editable content."
269
+ }
270
+ ],
271
+ "cssProperties": [
272
+ {
273
+ "name": "--border-color",
274
+ "default": null,
275
+ "description": "Color of the editor frame border."
276
+ },
277
+ {
278
+ "name": "--border-width",
279
+ "default": null,
280
+ "description": "Width of the editor frame border."
281
+ },
282
+ {
283
+ "name": "--border-radius",
284
+ "default": null,
285
+ "description": "Corner radius of the editor frame."
286
+ },
287
+ {
288
+ "name": "--background",
289
+ "default": null,
290
+ "description": "Background color of the editor."
291
+ },
292
+ {
293
+ "name": "--color",
294
+ "default": null,
295
+ "description": "Text color of the editor."
296
+ },
297
+ {
298
+ "name": "--toolbar-background",
299
+ "default": null,
300
+ "description": "Background color of the toolbar."
301
+ },
302
+ {
303
+ "name": "--toolbar-padding",
304
+ "default": null,
305
+ "description": "Padding around the toolbar."
306
+ },
307
+ {
308
+ "name": "--toolbar-gap",
309
+ "default": null,
310
+ "description": "Gap between toolbar buttons."
311
+ },
312
+ {
313
+ "name": "--toolbar-divider-color",
314
+ "default": null,
315
+ "description": "Color of toolbar dividers."
316
+ },
317
+ {
318
+ "name": "--toolbar-button-size",
319
+ "default": null,
320
+ "description": "Size of toolbar buttons."
321
+ },
322
+ {
323
+ "name": "--toolbar-button-radius",
324
+ "default": null,
325
+ "description": "Corner radius of toolbar buttons."
326
+ },
327
+ {
328
+ "name": "--toolbar-button-color",
329
+ "default": null,
330
+ "description": "Icon color of inactive toolbar buttons."
331
+ },
332
+ {
333
+ "name": "--toolbar-button-color-active",
334
+ "default": null,
335
+ "description": "Icon color of hovered/active toolbar buttons."
336
+ },
337
+ {
338
+ "name": "--toolbar-button-background-hover",
339
+ "default": null,
340
+ "description": "Background of hovered toolbar buttons."
341
+ },
342
+ {
343
+ "name": "--toolbar-button-background-active",
344
+ "default": null,
345
+ "description": "Background of active toolbar buttons."
346
+ },
347
+ {
348
+ "name": "--content-padding",
349
+ "default": "0.75rem 1rem",
350
+ "description": "Padding inside the editable content region."
351
+ },
352
+ {
353
+ "name": "--content-min-height",
354
+ "default": "8rem",
355
+ "description": "Minimum height of the editable content region."
356
+ },
357
+ {
358
+ "name": "--placeholder-color",
359
+ "default": null,
360
+ "description": "Placeholder text color."
361
+ }
362
+ ],
363
+ "commands": [],
364
+ "examples": []
365
+ }
@@ -0,0 +1,126 @@
1
+ {
2
+ "name": "rating",
3
+ "displayName": "Rating",
4
+ "type": "shadow",
5
+ "isCustomElement": true,
6
+ "tag": "l-rating",
7
+ "nativeTag": null,
8
+ "selector": "l-rating",
9
+ "summary": "Displays a star rating, optionally interactive.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": null,
14
+ "js": "luxen-ui/rating"
15
+ },
16
+ "properties": [
17
+ {
18
+ "name": "editMode",
19
+ "attribute": "edit-mode",
20
+ "type": "boolean",
21
+ "default": "false",
22
+ "reflects": true,
23
+ "description": ""
24
+ },
25
+ {
26
+ "name": "labels",
27
+ "attribute": "labels",
28
+ "type": "string[]",
29
+ "default": "[]",
30
+ "reflects": true,
31
+ "description": ""
32
+ },
33
+ {
34
+ "name": "value",
35
+ "attribute": "value",
36
+ "type": "number",
37
+ "default": "0",
38
+ "reflects": true,
39
+ "description": ""
40
+ },
41
+ {
42
+ "name": "length",
43
+ "attribute": "length",
44
+ "type": "number",
45
+ "default": "5",
46
+ "reflects": true,
47
+ "description": ""
48
+ },
49
+ {
50
+ "name": "getIcon",
51
+ "attribute": null,
52
+ "type": "(value: number) => string | undefined",
53
+ "default": null,
54
+ "reflects": false,
55
+ "description": "Optional callback returning a CSS `url()` string for a given position (1-based)."
56
+ }
57
+ ],
58
+ "attributes": [],
59
+ "events": [
60
+ {
61
+ "name": "{{",
62
+ "description": "name: string, value: string, checked: boolean, sourceEvent: Event }} change - Emitted when the rating value changes in edit mode.",
63
+ "cancelable": false
64
+ }
65
+ ],
66
+ "methods": [
67
+ {
68
+ "name": "formResetCallback",
69
+ "params": [],
70
+ "returns": null,
71
+ "description": ""
72
+ },
73
+ {
74
+ "name": "formStateRestoreCallback",
75
+ "params": [
76
+ {
77
+ "name": "state",
78
+ "type": "string"
79
+ },
80
+ {
81
+ "name": "_mode",
82
+ "type": "'restore' | 'autocomplete'"
83
+ }
84
+ ],
85
+ "returns": null,
86
+ "description": ""
87
+ }
88
+ ],
89
+ "slots": [],
90
+ "cssClasses": [],
91
+ "cssParts": [
92
+ {
93
+ "name": "label",
94
+ "description": "The label element shown in edit mode."
95
+ }
96
+ ],
97
+ "cssProperties": [
98
+ {
99
+ "name": "--icon-size",
100
+ "default": "20px",
101
+ "description": "The size of each icon."
102
+ },
103
+ {
104
+ "name": "--active-color",
105
+ "default": "gold",
106
+ "description": "The fill color for rated icons."
107
+ },
108
+ {
109
+ "name": "--inactive-color",
110
+ "default": "#ddd",
111
+ "description": "The fill color for empty icons."
112
+ },
113
+ {
114
+ "name": "--spacing",
115
+ "default": "0px",
116
+ "description": "The spacing between icons."
117
+ },
118
+ {
119
+ "name": "--icon",
120
+ "default": null,
121
+ "description": "Custom SVG shape as a `url()`. Defaults to a 5-pointed star."
122
+ }
123
+ ],
124
+ "commands": [],
125
+ "examples": []
126
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "select",
3
+ "displayName": "Select",
4
+ "type": "native",
5
+ "isCustomElement": false,
6
+ "tag": null,
7
+ "nativeTag": "select",
8
+ "selector": ".l-select",
9
+ "summary": "A styled native `<select>` using the customizable `base-select` appearance.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/select",
14
+ "js": null
15
+ },
16
+ "properties": [],
17
+ "attributes": [
18
+ {
19
+ "name": "disabled",
20
+ "data": false,
21
+ "values": [],
22
+ "description": "Disables the select."
23
+ },
24
+ {
25
+ "name": "required",
26
+ "data": false,
27
+ "values": [],
28
+ "description": "Marks the field as required."
29
+ },
30
+ {
31
+ "name": "multiple",
32
+ "data": false,
33
+ "values": [],
34
+ "description": "Allows multiple selections."
35
+ }
36
+ ],
37
+ "events": [
38
+ {
39
+ "name": "change",
40
+ "description": "Fires when an option is selected.",
41
+ "cancelable": false
42
+ },
43
+ {
44
+ "name": "input",
45
+ "description": "Fires when the value changes.",
46
+ "cancelable": false
47
+ }
48
+ ],
49
+ "methods": [],
50
+ "slots": [],
51
+ "cssClasses": [
52
+ {
53
+ "name": ".l-select",
54
+ "description": "Base select element with `appearance: base-select`."
55
+ },
56
+ {
57
+ "name": ".l-select-item",
58
+ "description": "Option styling with checkmark indicator."
59
+ }
60
+ ],
61
+ "cssParts": [],
62
+ "cssProperties": [
63
+ {
64
+ "name": "--border-radius",
65
+ "default": "4px",
66
+ "description": "Border radius."
67
+ },
68
+ {
69
+ "name": "--border-color",
70
+ "default": null,
71
+ "description": "Border color (adapts to light/dark)."
72
+ }
73
+ ],
74
+ "commands": [],
75
+ "examples": [
76
+ {
77
+ "title": "Basic",
78
+ "language": "html",
79
+ "code": "<select class=\"l-select\">\n<option>One</option>\n<option>Two</option>\n</select>"
80
+ }
81
+ ]
82
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "skeleton",
3
+ "displayName": "Skeleton",
4
+ "type": "custom",
5
+ "isCustomElement": true,
6
+ "tag": "l-skeleton",
7
+ "nativeTag": null,
8
+ "selector": "l-skeleton",
9
+ "summary": "A skeleton loading placeholder.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/skeleton",
14
+ "js": "luxen-ui/skeleton"
15
+ },
16
+ "properties": [],
17
+ "attributes": [
18
+ {
19
+ "name": "shape",
20
+ "data": false,
21
+ "values": [
22
+ "circle",
23
+ "text"
24
+ ],
25
+ "description": "Placeholder shape. Default is a block."
26
+ },
27
+ {
28
+ "name": "animation",
29
+ "data": false,
30
+ "values": [
31
+ "pulse",
32
+ "wave"
33
+ ],
34
+ "description": "Loading animation. Default is `pulse`."
35
+ }
36
+ ],
37
+ "events": [],
38
+ "methods": [],
39
+ "slots": [],
40
+ "cssClasses": [],
41
+ "cssParts": [],
42
+ "cssProperties": [
43
+ {
44
+ "name": "--width",
45
+ "default": null,
46
+ "description": "Width of the skeleton"
47
+ },
48
+ {
49
+ "name": "--height",
50
+ "default": null,
51
+ "description": "Height of the skeleton"
52
+ }
53
+ ],
54
+ "commands": [],
55
+ "examples": []
56
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "spinner",
3
+ "displayName": "Spinner",
4
+ "type": "shadow",
5
+ "isCustomElement": true,
6
+ "tag": "l-spinner",
7
+ "nativeTag": null,
8
+ "selector": "l-spinner",
9
+ "summary": "A spinner component for indicating loading state.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": null,
14
+ "js": "luxen-ui/spinner"
15
+ },
16
+ "properties": [],
17
+ "attributes": [],
18
+ "events": [],
19
+ "methods": [],
20
+ "slots": [],
21
+ "cssClasses": [],
22
+ "cssParts": [
23
+ {
24
+ "name": "base",
25
+ "description": "The SVG container element."
26
+ }
27
+ ],
28
+ "cssProperties": [
29
+ {
30
+ "name": "--size",
31
+ "default": "1em",
32
+ "description": "The size of the spinner (width and height)."
33
+ },
34
+ {
35
+ "name": "--indicator-color",
36
+ "default": null,
37
+ "description": "The color of the spinner."
38
+ },
39
+ {
40
+ "name": "--speed",
41
+ "default": null,
42
+ "description": "The duration of one full spin cycle."
43
+ }
44
+ ],
45
+ "commands": [],
46
+ "examples": []
47
+ }