luxen-ui 0.4.0 → 0.6.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 (461) hide show
  1. package/README.md +91 -0
  2. package/bin/cli.mjs +527 -0
  3. package/cdn/chunks/lit.js.map +1 -1
  4. package/cdn/chunks/map.js +2 -0
  5. package/cdn/chunks/map.js.map +1 -0
  6. package/cdn/config.d.ts +82 -0
  7. package/cdn/config.d.ts.map +1 -0
  8. package/cdn/config.js +0 -0
  9. package/cdn/custom-elements.json +6841 -4299
  10. package/cdn/define.d.ts +1 -1
  11. package/cdn/define.d.ts.map +1 -1
  12. package/cdn/define.js.map +1 -1
  13. package/cdn/elements/avatar/avatar.d.ts +2 -2
  14. package/cdn/elements/avatar/avatar.d.ts.map +1 -1
  15. package/cdn/elements/avatar/avatar.js +2 -2
  16. package/cdn/elements/avatar/avatar.js.map +1 -1
  17. package/cdn/elements/avatar/index.d.ts +1 -7
  18. package/cdn/elements/avatar/index.d.ts.map +1 -1
  19. package/cdn/elements/avatar/index.js +1 -1
  20. package/cdn/elements/avatar/index.js.map +1 -1
  21. package/cdn/elements/badge/badge.d.ts +8 -5
  22. package/cdn/elements/badge/badge.d.ts.map +1 -1
  23. package/cdn/elements/badge/badge.js +1 -1
  24. package/cdn/elements/badge/badge.js.map +1 -1
  25. package/cdn/elements/badge/index.d.ts +1 -7
  26. package/cdn/elements/badge/index.d.ts.map +1 -1
  27. package/cdn/elements/badge/index.js +1 -1
  28. package/cdn/elements/badge/index.js.map +1 -1
  29. package/cdn/elements/carousel/carousel.d.ts +10 -11
  30. package/cdn/elements/carousel/carousel.d.ts.map +1 -1
  31. package/cdn/elements/carousel/carousel.js +4 -4
  32. package/cdn/elements/carousel/carousel.js.map +1 -1
  33. package/cdn/elements/carousel/index.d.ts +1 -7
  34. package/cdn/elements/carousel/index.d.ts.map +1 -1
  35. package/cdn/elements/carousel/index.js +1 -1
  36. package/cdn/elements/carousel/index.js.map +1 -1
  37. package/cdn/elements/carousel-item/carousel-item.d.ts +2 -2
  38. package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
  39. package/cdn/elements/carousel-item/carousel-item.js +1 -1
  40. package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
  41. package/cdn/elements/carousel-item/index.d.ts +1 -7
  42. package/cdn/elements/carousel-item/index.d.ts.map +1 -1
  43. package/cdn/elements/carousel-item/index.js +1 -1
  44. package/cdn/elements/carousel-item/index.js.map +1 -1
  45. package/cdn/elements/dialog/dialog.d.ts +2 -2
  46. package/cdn/elements/dialog/dialog.d.ts.map +1 -1
  47. package/cdn/elements/dialog/dialog.js +1 -1
  48. package/cdn/elements/dialog/dialog.js.map +1 -1
  49. package/cdn/elements/dialog/dialog.styles.js.map +1 -1
  50. package/cdn/elements/dialog/index.d.ts +1 -7
  51. package/cdn/elements/dialog/index.d.ts.map +1 -1
  52. package/cdn/elements/dialog/index.js +1 -1
  53. package/cdn/elements/dialog/index.js.map +1 -1
  54. package/cdn/elements/divider/divider.d.ts +2 -2
  55. package/cdn/elements/divider/divider.d.ts.map +1 -1
  56. package/cdn/elements/divider/divider.js +1 -1
  57. package/cdn/elements/divider/divider.js.map +1 -1
  58. package/cdn/elements/divider/index.d.ts +1 -7
  59. package/cdn/elements/divider/index.d.ts.map +1 -1
  60. package/cdn/elements/divider/index.js +1 -1
  61. package/cdn/elements/divider/index.js.map +1 -1
  62. package/cdn/elements/drawer/drawer.d.ts +2 -2
  63. package/cdn/elements/drawer/drawer.d.ts.map +1 -1
  64. package/cdn/elements/drawer/drawer.js +1 -1
  65. package/cdn/elements/drawer/drawer.js.map +1 -1
  66. package/cdn/elements/drawer/index.d.ts +1 -7
  67. package/cdn/elements/drawer/index.d.ts.map +1 -1
  68. package/cdn/elements/drawer/index.js +1 -1
  69. package/cdn/elements/drawer/index.js.map +1 -1
  70. package/cdn/elements/dropdown/dropdown.d.ts +3 -3
  71. package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
  72. package/cdn/elements/dropdown/dropdown.js +1 -1
  73. package/cdn/elements/dropdown/dropdown.js.map +1 -1
  74. package/cdn/elements/dropdown/index.d.ts +1 -7
  75. package/cdn/elements/dropdown/index.d.ts.map +1 -1
  76. package/cdn/elements/dropdown/index.js +1 -1
  77. package/cdn/elements/dropdown/index.js.map +1 -1
  78. package/cdn/elements/dropdown-item/dropdown-item.d.ts +2 -2
  79. package/cdn/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  80. package/cdn/elements/dropdown-item/dropdown-item.js +1 -1
  81. package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
  82. package/cdn/elements/dropdown-item/index.d.ts +1 -7
  83. package/cdn/elements/dropdown-item/index.d.ts.map +1 -1
  84. package/cdn/elements/dropdown-item/index.js +1 -1
  85. package/cdn/elements/dropdown-item/index.js.map +1 -1
  86. package/cdn/elements/icon/icon.d.ts +2 -2
  87. package/cdn/elements/icon/icon.d.ts.map +1 -1
  88. package/cdn/elements/icon/icon.js +1 -1
  89. package/cdn/elements/icon/icon.js.map +1 -1
  90. package/cdn/elements/icon/index.d.ts +1 -7
  91. package/cdn/elements/icon/index.d.ts.map +1 -1
  92. package/cdn/elements/icon/index.js +1 -1
  93. package/cdn/elements/icon/index.js.map +1 -1
  94. package/cdn/elements/input-otp/index.d.ts +1 -7
  95. package/cdn/elements/input-otp/index.d.ts.map +1 -1
  96. package/cdn/elements/input-otp/index.js +1 -1
  97. package/cdn/elements/input-otp/index.js.map +1 -1
  98. package/cdn/elements/input-otp/input-otp.d.ts +2 -2
  99. package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
  100. package/cdn/elements/input-otp/input-otp.js +1 -1
  101. package/cdn/elements/input-otp/input-otp.js.map +1 -1
  102. package/cdn/elements/input-stepper/index.d.ts +1 -7
  103. package/cdn/elements/input-stepper/index.d.ts.map +1 -1
  104. package/cdn/elements/input-stepper/index.js +1 -1
  105. package/cdn/elements/input-stepper/index.js.map +1 -1
  106. package/cdn/elements/input-stepper/input-stepper.d.ts +2 -2
  107. package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
  108. package/cdn/elements/input-stepper/input-stepper.js +1 -1
  109. package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
  110. package/cdn/elements/popover/index.d.ts +1 -7
  111. package/cdn/elements/popover/index.d.ts.map +1 -1
  112. package/cdn/elements/popover/index.js +1 -1
  113. package/cdn/elements/popover/index.js.map +1 -1
  114. package/cdn/elements/popover/popover.d.ts +2 -2
  115. package/cdn/elements/popover/popover.d.ts.map +1 -1
  116. package/cdn/elements/popover/popover.js +1 -1
  117. package/cdn/elements/popover/popover.js.map +1 -1
  118. package/cdn/elements/rating/index.d.ts +1 -7
  119. package/cdn/elements/rating/index.d.ts.map +1 -1
  120. package/cdn/elements/rating/index.js +1 -1
  121. package/cdn/elements/rating/index.js.map +1 -1
  122. package/cdn/elements/rating/rating.d.ts +2 -2
  123. package/cdn/elements/rating/rating.d.ts.map +1 -1
  124. package/cdn/elements/rating/rating.js +2 -2
  125. package/cdn/elements/rating/rating.js.map +1 -1
  126. package/cdn/elements/skeleton/index.d.ts +1 -7
  127. package/cdn/elements/skeleton/index.d.ts.map +1 -1
  128. package/cdn/elements/skeleton/index.js +1 -1
  129. package/cdn/elements/skeleton/index.js.map +1 -1
  130. package/cdn/elements/skeleton/skeleton.d.ts +2 -2
  131. package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
  132. package/cdn/elements/skeleton/skeleton.js +1 -1
  133. package/cdn/elements/skeleton/skeleton.js.map +1 -1
  134. package/cdn/elements/spinner/index.d.ts +1 -7
  135. package/cdn/elements/spinner/index.d.ts.map +1 -1
  136. package/cdn/elements/spinner/index.js +1 -1
  137. package/cdn/elements/spinner/index.js.map +1 -1
  138. package/cdn/elements/spinner/spinner.d.ts +2 -2
  139. package/cdn/elements/spinner/spinner.d.ts.map +1 -1
  140. package/cdn/elements/spinner/spinner.js +1 -1
  141. package/cdn/elements/spinner/spinner.js.map +1 -1
  142. package/cdn/elements/sticky-bar/index.d.ts +2 -0
  143. package/cdn/elements/sticky-bar/index.d.ts.map +1 -0
  144. package/cdn/elements/sticky-bar/index.js +2 -0
  145. package/cdn/elements/sticky-bar/index.js.map +1 -0
  146. package/cdn/elements/sticky-bar/sticky-bar.d.ts +46 -0
  147. package/cdn/elements/sticky-bar/sticky-bar.d.ts.map +1 -0
  148. package/cdn/elements/sticky-bar/sticky-bar.js +2 -0
  149. package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -0
  150. package/cdn/elements/stories/index.d.ts +2 -0
  151. package/cdn/elements/stories/index.d.ts.map +1 -0
  152. package/cdn/elements/stories/index.js +2 -0
  153. package/cdn/elements/stories/index.js.map +1 -0
  154. package/cdn/elements/stories/stories.d.ts +45 -0
  155. package/cdn/elements/stories/stories.d.ts.map +1 -0
  156. package/cdn/elements/stories/stories.js +2 -0
  157. package/cdn/elements/stories/stories.js.map +1 -0
  158. package/cdn/elements/stories-viewer/index.d.ts +2 -0
  159. package/cdn/elements/stories-viewer/index.d.ts.map +1 -0
  160. package/cdn/elements/stories-viewer/index.js +2 -0
  161. package/cdn/elements/stories-viewer/index.js.map +1 -0
  162. package/cdn/elements/stories-viewer/stories-viewer.d.ts +131 -0
  163. package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -0
  164. package/cdn/elements/stories-viewer/stories-viewer.js +160 -0
  165. package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -0
  166. package/cdn/elements/story/index.d.ts +2 -0
  167. package/cdn/elements/story/index.d.ts.map +1 -0
  168. package/cdn/elements/story/index.js +2 -0
  169. package/cdn/elements/story/index.js.map +1 -0
  170. package/cdn/elements/story/story.d.ts +43 -0
  171. package/cdn/elements/story/story.d.ts.map +1 -0
  172. package/cdn/elements/story/story.js +35 -0
  173. package/cdn/elements/story/story.js.map +1 -0
  174. package/cdn/elements/tabs/index.d.ts +1 -7
  175. package/cdn/elements/tabs/index.d.ts.map +1 -1
  176. package/cdn/elements/tabs/index.js +1 -1
  177. package/cdn/elements/tabs/index.js.map +1 -1
  178. package/cdn/elements/tabs/tabs.d.ts +2 -2
  179. package/cdn/elements/tabs/tabs.d.ts.map +1 -1
  180. package/cdn/elements/tabs/tabs.js +1 -1
  181. package/cdn/elements/tabs/tabs.js.map +1 -1
  182. package/cdn/elements/toast/index.d.ts +1 -8
  183. package/cdn/elements/toast/index.d.ts.map +1 -1
  184. package/cdn/elements/toast/index.js +1 -1
  185. package/cdn/elements/toast/index.js.map +1 -1
  186. package/cdn/elements/toast/toast.d.ts +9 -7
  187. package/cdn/elements/toast/toast.d.ts.map +1 -1
  188. package/cdn/elements/toast/toast.js +1 -1
  189. package/cdn/elements/toast/toast.js.map +1 -1
  190. package/cdn/elements/tooltip/index.d.ts +1 -7
  191. package/cdn/elements/tooltip/index.d.ts.map +1 -1
  192. package/cdn/elements/tooltip/index.js +1 -1
  193. package/cdn/elements/tooltip/index.js.map +1 -1
  194. package/cdn/elements/tooltip/tooltip.d.ts +2 -2
  195. package/cdn/elements/tooltip/tooltip.d.ts.map +1 -1
  196. package/cdn/elements/tooltip/tooltip.js +1 -1
  197. package/cdn/elements/tooltip/tooltip.js.map +1 -1
  198. package/cdn/elements/tree/index.d.ts +1 -7
  199. package/cdn/elements/tree/index.d.ts.map +1 -1
  200. package/cdn/elements/tree/index.js +1 -1
  201. package/cdn/elements/tree/index.js.map +1 -1
  202. package/cdn/elements/tree/tree.d.ts +6 -6
  203. package/cdn/elements/tree/tree.d.ts.map +1 -1
  204. package/cdn/elements/tree/tree.js +1 -1
  205. package/cdn/elements/tree/tree.js.map +1 -1
  206. package/cdn/elements/tree-item/index.d.ts +1 -7
  207. package/cdn/elements/tree-item/index.d.ts.map +1 -1
  208. package/cdn/elements/tree-item/index.js +1 -1
  209. package/cdn/elements/tree-item/index.js.map +1 -1
  210. package/cdn/elements/tree-item/tree-item.d.ts +3 -3
  211. package/cdn/elements/tree-item/tree-item.d.ts.map +1 -1
  212. package/cdn/elements/tree-item/tree-item.js +1 -1
  213. package/cdn/elements/tree-item/tree-item.js.map +1 -1
  214. package/cdn/index.d.ts +7 -5
  215. package/cdn/index.d.ts.map +1 -1
  216. package/cdn/index.js +1 -1
  217. package/cdn/registry.d.ts +1 -1
  218. package/cdn/registry.d.ts.map +1 -1
  219. package/cdn/registry.js.map +1 -1
  220. package/cdn/shared/controllers/popover.js.map +1 -1
  221. package/cdn/shared/luxen-form-associated-element.d.ts +1 -1
  222. package/cdn/shared/luxen-form-associated-element.d.ts.map +1 -1
  223. package/cdn/shared/luxen-form-associated-element.js.map +1 -1
  224. package/cdn/shared/styles/host.styles.js.map +1 -1
  225. package/cdn/standalone.css +3581 -0
  226. package/cdn/standalone.js +9301 -0
  227. package/cdn/standalone.js.map +1 -0
  228. package/cdn/styles/base.css +728 -0
  229. package/cdn/styles/elements/badge.css +6 -6
  230. package/cdn/styles/elements/button.css +9 -9
  231. package/cdn/styles/elements/close-button/circle.css +3 -3
  232. package/cdn/styles/elements/close-button/ring.css +1 -1
  233. package/cdn/styles/elements/close-button/square.css +3 -3
  234. package/cdn/styles/elements/disclosure.css +2 -2
  235. package/cdn/styles/elements/divider.css +3 -3
  236. package/cdn/styles/elements/input-otp.css +1 -1
  237. package/cdn/styles/elements/input-stepper/default.css +1 -1
  238. package/cdn/styles/elements/input-stepper/rounded.css +2 -2
  239. package/cdn/styles/elements/kbd.css +3 -3
  240. package/cdn/styles/elements/select.css +2 -2
  241. package/cdn/styles/elements/skeleton.css +4 -4
  242. package/cdn/styles/elements/stories.css +63 -0
  243. package/cdn/styles/elements/story.css +192 -0
  244. package/cdn/styles/elements/tabs/enclosed.css +6 -6
  245. package/cdn/styles/elements/tabs/line.css +4 -4
  246. package/cdn/styles/{index.css → preset.css} +223 -142
  247. package/cdn/styles/tailwind/preset.css +575 -0
  248. package/cdn/styles/tokens/aliases.css +103 -0
  249. package/cdn/styles/tokens/palette.css +250 -0
  250. package/cdn/styles/tokens/primitives.css +141 -0
  251. package/cdn/styles/tokens.css +239 -0
  252. package/dist/config.d.ts +82 -0
  253. package/dist/config.d.ts.map +1 -0
  254. package/dist/config.js +28 -0
  255. package/dist/css/base.css +728 -0
  256. package/dist/css/elements/badge.css +6 -6
  257. package/dist/css/elements/button.css +9 -9
  258. package/dist/css/elements/close-button/circle.css +3 -3
  259. package/dist/css/elements/close-button/ring.css +1 -1
  260. package/dist/css/elements/close-button/square.css +3 -3
  261. package/dist/css/elements/disclosure.css +2 -2
  262. package/dist/css/elements/divider.css +3 -3
  263. package/dist/css/elements/input-otp.css +1 -1
  264. package/dist/css/elements/input-stepper/default.css +1 -1
  265. package/dist/css/elements/input-stepper/rounded.css +2 -2
  266. package/dist/css/elements/kbd.css +3 -3
  267. package/dist/css/elements/select.css +2 -2
  268. package/dist/css/elements/skeleton.css +4 -4
  269. package/dist/css/elements/stories.css +63 -0
  270. package/dist/css/elements/story.css +192 -0
  271. package/dist/css/elements/tabs/enclosed.css +6 -6
  272. package/dist/css/elements/tabs/line.css +4 -4
  273. package/dist/css/{index.css → preset.css} +223 -142
  274. package/dist/css/tailwind/preset.css +575 -0
  275. package/dist/css/tokens/aliases.css +103 -0
  276. package/dist/css/tokens/palette.css +250 -0
  277. package/dist/css/tokens/primitives.css +141 -0
  278. package/dist/css/tokens.css +239 -0
  279. package/dist/custom-elements.json +6841 -4299
  280. package/dist/define.d.ts +1 -1
  281. package/dist/define.d.ts.map +1 -1
  282. package/dist/define.js +1 -1
  283. package/dist/elements/avatar/avatar.d.ts +2 -2
  284. package/dist/elements/avatar/avatar.d.ts.map +1 -1
  285. package/dist/elements/avatar/avatar.js +13 -13
  286. package/dist/elements/avatar/index.d.ts +1 -7
  287. package/dist/elements/avatar/index.d.ts.map +1 -1
  288. package/dist/elements/avatar/index.js +4 -4
  289. package/dist/elements/badge/badge.d.ts +8 -5
  290. package/dist/elements/badge/badge.d.ts.map +1 -1
  291. package/dist/elements/badge/badge.js +6 -6
  292. package/dist/elements/badge/index.d.ts +1 -7
  293. package/dist/elements/badge/index.d.ts.map +1 -1
  294. package/dist/elements/badge/index.js +4 -4
  295. package/dist/elements/carousel/carousel.d.ts +10 -11
  296. package/dist/elements/carousel/carousel.d.ts.map +1 -1
  297. package/dist/elements/carousel/carousel.js +134 -142
  298. package/dist/elements/carousel/index.d.ts +1 -7
  299. package/dist/elements/carousel/index.d.ts.map +1 -1
  300. package/dist/elements/carousel/index.js +4 -4
  301. package/dist/elements/carousel-item/carousel-item.d.ts +2 -2
  302. package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
  303. package/dist/elements/carousel-item/carousel-item.js +4 -4
  304. package/dist/elements/carousel-item/index.d.ts +1 -7
  305. package/dist/elements/carousel-item/index.d.ts.map +1 -1
  306. package/dist/elements/carousel-item/index.js +4 -4
  307. package/dist/elements/dialog/dialog.d.ts +2 -2
  308. package/dist/elements/dialog/dialog.d.ts.map +1 -1
  309. package/dist/elements/dialog/dialog.js +12 -12
  310. package/dist/elements/dialog/index.d.ts +1 -7
  311. package/dist/elements/dialog/index.d.ts.map +1 -1
  312. package/dist/elements/dialog/index.js +4 -4
  313. package/dist/elements/divider/divider.d.ts +2 -2
  314. package/dist/elements/divider/divider.d.ts.map +1 -1
  315. package/dist/elements/divider/divider.js +4 -4
  316. package/dist/elements/divider/index.d.ts +1 -7
  317. package/dist/elements/divider/index.d.ts.map +1 -1
  318. package/dist/elements/divider/index.js +4 -4
  319. package/dist/elements/drawer/drawer.d.ts +2 -2
  320. package/dist/elements/drawer/drawer.d.ts.map +1 -1
  321. package/dist/elements/drawer/drawer.js +6 -6
  322. package/dist/elements/drawer/index.d.ts +1 -7
  323. package/dist/elements/drawer/index.d.ts.map +1 -1
  324. package/dist/elements/drawer/index.js +4 -4
  325. package/dist/elements/dropdown/dropdown.d.ts +3 -3
  326. package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
  327. package/dist/elements/dropdown/dropdown.js +26 -26
  328. package/dist/elements/dropdown/index.d.ts +1 -7
  329. package/dist/elements/dropdown/index.d.ts.map +1 -1
  330. package/dist/elements/dropdown/index.js +4 -4
  331. package/dist/elements/dropdown-item/dropdown-item.d.ts +2 -2
  332. package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  333. package/dist/elements/dropdown-item/dropdown-item.js +22 -22
  334. package/dist/elements/dropdown-item/index.d.ts +1 -7
  335. package/dist/elements/dropdown-item/index.d.ts.map +1 -1
  336. package/dist/elements/dropdown-item/index.js +4 -4
  337. package/dist/elements/icon/icon.d.ts +2 -2
  338. package/dist/elements/icon/icon.d.ts.map +1 -1
  339. package/dist/elements/icon/icon.js +6 -6
  340. package/dist/elements/icon/index.d.ts +1 -7
  341. package/dist/elements/icon/index.d.ts.map +1 -1
  342. package/dist/elements/icon/index.js +4 -4
  343. package/dist/elements/input-otp/index.d.ts +1 -7
  344. package/dist/elements/input-otp/index.d.ts.map +1 -1
  345. package/dist/elements/input-otp/index.js +4 -4
  346. package/dist/elements/input-otp/input-otp.d.ts +2 -2
  347. package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
  348. package/dist/elements/input-otp/input-otp.js +3 -3
  349. package/dist/elements/input-stepper/index.d.ts +1 -7
  350. package/dist/elements/input-stepper/index.d.ts.map +1 -1
  351. package/dist/elements/input-stepper/index.js +4 -4
  352. package/dist/elements/input-stepper/input-stepper.d.ts +2 -2
  353. package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
  354. package/dist/elements/input-stepper/input-stepper.js +9 -9
  355. package/dist/elements/popover/index.d.ts +1 -7
  356. package/dist/elements/popover/index.d.ts.map +1 -1
  357. package/dist/elements/popover/index.js +4 -4
  358. package/dist/elements/popover/popover.d.ts +2 -2
  359. package/dist/elements/popover/popover.d.ts.map +1 -1
  360. package/dist/elements/popover/popover.js +37 -37
  361. package/dist/elements/rating/index.d.ts +1 -7
  362. package/dist/elements/rating/index.d.ts.map +1 -1
  363. package/dist/elements/rating/index.js +4 -4
  364. package/dist/elements/rating/rating.d.ts +2 -2
  365. package/dist/elements/rating/rating.d.ts.map +1 -1
  366. package/dist/elements/rating/rating.js +50 -50
  367. package/dist/elements/skeleton/index.d.ts +1 -7
  368. package/dist/elements/skeleton/index.d.ts.map +1 -1
  369. package/dist/elements/skeleton/index.js +4 -4
  370. package/dist/elements/skeleton/skeleton.d.ts +2 -2
  371. package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
  372. package/dist/elements/skeleton/skeleton.js +2 -2
  373. package/dist/elements/spinner/index.d.ts +1 -7
  374. package/dist/elements/spinner/index.d.ts.map +1 -1
  375. package/dist/elements/spinner/index.js +4 -4
  376. package/dist/elements/spinner/spinner.d.ts +2 -2
  377. package/dist/elements/spinner/spinner.d.ts.map +1 -1
  378. package/dist/elements/spinner/spinner.js +4 -4
  379. package/dist/elements/sticky-bar/index.d.ts +2 -0
  380. package/dist/elements/sticky-bar/index.d.ts.map +1 -0
  381. package/dist/elements/sticky-bar/index.js +4 -0
  382. package/dist/elements/sticky-bar/sticky-bar.css +56 -0
  383. package/dist/elements/sticky-bar/sticky-bar.d.ts +46 -0
  384. package/dist/elements/sticky-bar/sticky-bar.d.ts.map +1 -0
  385. package/dist/elements/sticky-bar/sticky-bar.js +146 -0
  386. package/dist/elements/stories/index.d.ts +2 -0
  387. package/dist/elements/stories/index.d.ts.map +1 -0
  388. package/dist/elements/stories/index.js +4 -0
  389. package/dist/elements/stories/stories.d.ts +45 -0
  390. package/dist/elements/stories/stories.d.ts.map +1 -0
  391. package/dist/elements/stories/stories.js +113 -0
  392. package/dist/elements/stories-viewer/index.d.ts +2 -0
  393. package/dist/elements/stories-viewer/index.d.ts.map +1 -0
  394. package/dist/elements/stories-viewer/index.js +4 -0
  395. package/dist/elements/stories-viewer/stories-viewer.css +337 -0
  396. package/dist/elements/stories-viewer/stories-viewer.d.ts +131 -0
  397. package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -0
  398. package/dist/elements/stories-viewer/stories-viewer.js +719 -0
  399. package/dist/elements/story/index.d.ts +2 -0
  400. package/dist/elements/story/index.d.ts.map +1 -0
  401. package/dist/elements/story/index.js +4 -0
  402. package/dist/elements/story/story.d.ts +43 -0
  403. package/dist/elements/story/story.d.ts.map +1 -0
  404. package/dist/elements/story/story.js +161 -0
  405. package/dist/elements/tabs/index.d.ts +1 -7
  406. package/dist/elements/tabs/index.d.ts.map +1 -1
  407. package/dist/elements/tabs/index.js +4 -4
  408. package/dist/elements/tabs/tabs.d.ts +2 -2
  409. package/dist/elements/tabs/tabs.d.ts.map +1 -1
  410. package/dist/elements/tabs/tabs.js +7 -7
  411. package/dist/elements/toast/index.d.ts +1 -8
  412. package/dist/elements/toast/index.d.ts.map +1 -1
  413. package/dist/elements/toast/index.js +5 -5
  414. package/dist/elements/toast/toast.d.ts +9 -7
  415. package/dist/elements/toast/toast.d.ts.map +1 -1
  416. package/dist/elements/toast/toast.js +7 -9
  417. package/dist/elements/tooltip/index.d.ts +1 -7
  418. package/dist/elements/tooltip/index.d.ts.map +1 -1
  419. package/dist/elements/tooltip/index.js +4 -4
  420. package/dist/elements/tooltip/tooltip.d.ts +2 -2
  421. package/dist/elements/tooltip/tooltip.d.ts.map +1 -1
  422. package/dist/elements/tooltip/tooltip.js +33 -33
  423. package/dist/elements/tree/index.d.ts +1 -7
  424. package/dist/elements/tree/index.d.ts.map +1 -1
  425. package/dist/elements/tree/index.js +4 -4
  426. package/dist/elements/tree/tree.d.ts +6 -6
  427. package/dist/elements/tree/tree.d.ts.map +1 -1
  428. package/dist/elements/tree/tree.js +17 -19
  429. package/dist/elements/tree-item/index.d.ts +1 -7
  430. package/dist/elements/tree-item/index.d.ts.map +1 -1
  431. package/dist/elements/tree-item/index.js +4 -4
  432. package/dist/elements/tree-item/tree-item.d.ts +3 -3
  433. package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
  434. package/dist/elements/tree-item/tree-item.js +31 -31
  435. package/dist/index.d.ts +7 -5
  436. package/dist/index.d.ts.map +1 -1
  437. package/dist/index.js +5 -4
  438. package/dist/registry.d.ts +1 -1
  439. package/dist/registry.d.ts.map +1 -1
  440. package/dist/shared/luxen-form-associated-element.d.ts +1 -1
  441. package/dist/shared/luxen-form-associated-element.d.ts.map +1 -1
  442. package/dist/shared/luxen-form-associated-element.js +1 -1
  443. package/dist/{skills/luxen-ui/references → templates/elements}/badge.md +8 -8
  444. package/dist/{skills/luxen-ui/references → templates/elements}/button.md +1 -1
  445. package/dist/templates/elements/sticky-bar.md +148 -0
  446. package/elements.json +229 -0
  447. package/package.json +44 -16
  448. package/templates/SKILL.md.tpl +34 -0
  449. package/templates/claude-design.md.tpl +42 -0
  450. package/templates/integration.md.tpl +53 -0
  451. package/templates/mockups.md.tpl +64 -0
  452. package/vite-plugin.ts +265 -3
  453. package/dist/skills/luxen-ui/SKILL.md +0 -82
  454. /package/dist/{skills/luxen-ui/references → templates/elements}/avatar.md +0 -0
  455. /package/dist/{skills/luxen-ui/references → templates/elements}/close-button.md +0 -0
  456. /package/dist/{skills/luxen-ui/references → templates/elements}/dialog.md +0 -0
  457. /package/dist/{skills/luxen-ui/references → templates/elements}/drawer.md +0 -0
  458. /package/dist/{skills/luxen-ui/references → templates/elements}/progress.md +0 -0
  459. /package/dist/{skills/luxen-ui/references → templates/elements}/select.md +0 -0
  460. /package/dist/{skills/luxen-ui/references → templates/elements}/toast.md +0 -0
  461. /package/dist/{skills/luxen-ui/references → templates/elements}/tree.md +0 -0
@@ -1,4 +1,4 @@
1
- import { define } from '../../define';
2
- import { LuxenTree } from './tree';
3
- export * from './tree';
4
- define('tree', LuxenTree);
1
+ import { define } from '../../define.js';
2
+ import { Tree } from './tree.js';
3
+ export * from './tree.js';
4
+ define('tree', Tree);
@@ -1,6 +1,6 @@
1
1
  import { type PropertyValues } from 'lit';
2
- import { LuxenElement } from '../../shared/luxen-element';
3
- import type { LuxenTreeItem } from '../tree-item/tree-item';
2
+ import { LuxenElement } from '../../shared/luxen-element.js';
3
+ import type { TreeItem } from '../tree-item/tree-item.js';
4
4
  export type TreeSelection = 'single' | 'multiple' | 'leaf' | 'none';
5
5
  /**
6
6
  * A hierarchical tree view composed of `<l-tree-item>` children.
@@ -18,9 +18,9 @@ export type TreeSelection = 'single' | 'multiple' | 'leaf' | 'none';
18
18
  * @cssproperty --chevron-size - Size of the expand/collapse chevron box. Default `1.125rem`.
19
19
  * @cssproperty --item-gap - Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent. Default `0.375rem`.
20
20
  *
21
- * @event selection-change - Fired when the selected items change. Detail: `{ selection: LuxenTreeItem[] }`.
21
+ * @event selection-change - Fired when the selected items change. Detail: `{ selection: TreeItem[] }`.
22
22
  */
23
- export declare class LuxenTree extends LuxenElement {
23
+ export declare class Tree extends LuxenElement {
24
24
  static styles: import("lit").CSSResult[];
25
25
  private _mutationObserver?;
26
26
  private _lastFocusedItem;
@@ -44,9 +44,9 @@ export declare class LuxenTree extends LuxenElement {
44
44
  /** Returns all items in document (flat) order, including nested ones. */
45
45
  getAllItems({ includeDisabled }?: {
46
46
  includeDisabled?: boolean | undefined;
47
- }): LuxenTreeItem[];
47
+ }): TreeItem[];
48
48
  /** Returns currently selected items. */
49
- getSelection(): LuxenTreeItem[];
49
+ getSelection(): TreeItem[];
50
50
  /** Expands every item that has children. */
51
51
  expandAll(): void;
52
52
  /** Collapses every item. */
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAM5D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,gBAAgB,CAA8B;IAEtD;;;;;;OAMG;IAEH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAY;IAE7C;;;;OAIG;IAEH,QAAQ,CAAC,WAAW,UAAS;IAEpB,iBAAiB;IAUjB,oBAAoB;IAMpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAQ9C,yEAAyE;IACzE,WAAW,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,aAAa,EAAE;IAO7D,wCAAwC;IACxC,YAAY,IAAI,aAAa,EAAE;IAI/B,4CAA4C;IAC5C,SAAS;IAMT,4BAA4B;IAC5B,WAAW;IAQX,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAUtB,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB;IAS5B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,UAAU,CAyEhB;IAEO,MAAM;CAehB"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;OAMG;IAEH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAY;IAE7C;;;;OAIG;IAEH,QAAQ,CAAC,WAAW,UAAS;IAEpB,iBAAiB;IAUjB,oBAAoB;IAMpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAQ9C,yEAAyE;IACzE,WAAW,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAOxD,wCAAwC;IACxC,YAAY,IAAI,QAAQ,EAAE;IAI1B,4CAA4C;IAC5C,SAAS;IAMT,4BAA4B;IAC5B,WAAW;IAQX,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAUtB,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB;IAS5B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,UAAU,CAqEhB;IAEO,MAAM;CAehB"}
@@ -15,12 +15,12 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
15
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
16
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
17
  };
18
- var _LuxenTree_selection_accessor_storage, _LuxenTree_independent_accessor_storage;
18
+ var _Tree_selection_accessor_storage, _Tree_independent_accessor_storage;
19
19
  import { html, unsafeCSS } from 'lit';
20
20
  import { property } from 'lit/decorators.js';
21
- import { LuxenElement } from '../../shared/luxen-element';
22
- import { tagName } from '../../registry';
23
- import hostStyles from '../../shared/styles/host.styles';
21
+ import { LuxenElement } from '../../shared/luxen-element.js';
22
+ import { tagName } from '../../registry.js';
23
+ import hostStyles from '../../shared/styles/host.styles.js';
24
24
  import rawStyles from './tree.css?inline';
25
25
  const styles = unsafeCSS(rawStyles);
26
26
  /**
@@ -39,14 +39,14 @@ const styles = unsafeCSS(rawStyles);
39
39
  * @cssproperty --chevron-size - Size of the expand/collapse chevron box. Default `1.125rem`.
40
40
  * @cssproperty --item-gap - Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent. Default `0.375rem`.
41
41
  *
42
- * @event selection-change - Fired when the selected items change. Detail: `{ selection: LuxenTreeItem[] }`.
42
+ * @event selection-change - Fired when the selected items change. Detail: `{ selection: TreeItem[] }`.
43
43
  */
44
- export class LuxenTree extends LuxenElement {
44
+ export class Tree extends LuxenElement {
45
45
  constructor() {
46
46
  super(...arguments);
47
47
  this._lastFocusedItem = null;
48
- _LuxenTree_selection_accessor_storage.set(this, 'single');
49
- _LuxenTree_independent_accessor_storage.set(this, false);
48
+ _Tree_selection_accessor_storage.set(this, 'single');
49
+ _Tree_independent_accessor_storage.set(this, false);
50
50
  // --- Selection handling ---
51
51
  this._onItemToggle = (event) => {
52
52
  const { item, checked } = event.detail;
@@ -184,9 +184,7 @@ export class LuxenTree extends LuxenElement {
184
184
  case '*': {
185
185
  event.preventDefault();
186
186
  // Expand all siblings of the current item.
187
- const siblings = (current.parentElement
188
- ? Array.from(current.parentElement.children)
189
- : []).filter((el) => el.tagName === tagName('tree-item').toUpperCase());
187
+ const siblings = (current.parentElement ? Array.from(current.parentElement.children) : []).filter((el) => el.tagName === tagName('tree-item').toUpperCase());
190
188
  for (const sib of siblings) {
191
189
  if (!sib.isLeaf())
192
190
  sib.expanded = true;
@@ -203,15 +201,15 @@ export class LuxenTree extends LuxenElement {
203
201
  * - `leaf`: only leaf items can be selected (single). Branches just toggle.
204
202
  * - `none`: purely navigable, no selection state.
205
203
  */
206
- get selection() { return __classPrivateFieldGet(this, _LuxenTree_selection_accessor_storage, "f"); }
207
- set selection(value) { __classPrivateFieldSet(this, _LuxenTree_selection_accessor_storage, value, "f"); }
204
+ get selection() { return __classPrivateFieldGet(this, _Tree_selection_accessor_storage, "f"); }
205
+ set selection(value) { __classPrivateFieldSet(this, _Tree_selection_accessor_storage, value, "f"); }
208
206
  /**
209
207
  * When set with `selection="multiple"`, parent and children selection are decoupled:
210
208
  * toggling a parent does NOT toggle its descendants and vice versa.
211
209
  * Without it, selection cascades both ways and branches may become indeterminate.
212
210
  */
213
- get independent() { return __classPrivateFieldGet(this, _LuxenTree_independent_accessor_storage, "f"); }
214
- set independent(value) { __classPrivateFieldSet(this, _LuxenTree_independent_accessor_storage, value, "f"); }
211
+ get independent() { return __classPrivateFieldGet(this, _Tree_independent_accessor_storage, "f"); }
212
+ set independent(value) { __classPrivateFieldSet(this, _Tree_independent_accessor_storage, value, "f"); }
215
213
  connectedCallback() {
216
214
  super.connectedCallback();
217
215
  this._mutationObserver = new MutationObserver(() => this._syncAll());
@@ -422,11 +420,11 @@ export class LuxenTree extends LuxenElement {
422
420
  `;
423
421
  }
424
422
  }
425
- _LuxenTree_selection_accessor_storage = new WeakMap(), _LuxenTree_independent_accessor_storage = new WeakMap();
426
- LuxenTree.styles = [hostStyles, styles];
423
+ _Tree_selection_accessor_storage = new WeakMap(), _Tree_independent_accessor_storage = new WeakMap();
424
+ Tree.styles = [hostStyles, styles];
427
425
  __decorate([
428
426
  property({ reflect: true })
429
- ], LuxenTree.prototype, "selection", null);
427
+ ], Tree.prototype, "selection", null);
430
428
  __decorate([
431
429
  property({ type: Boolean, reflect: true })
432
- ], LuxenTree.prototype, "independent", null);
430
+ ], Tree.prototype, "independent", null);
@@ -1,8 +1,2 @@
1
- import { LuxenTreeItem } from './tree-item';
2
- export * from './tree-item';
3
- declare global {
4
- interface HTMLElementTagNameMap {
5
- 'l-tree-item': LuxenTreeItem;
6
- }
7
- }
1
+ export * from './tree-item.js';
8
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,cAAc,aAAa,CAAC;AAG5B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,aAAa,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { define } from '../../define';
2
- import { LuxenTreeItem } from './tree-item';
3
- export * from './tree-item';
4
- define('tree-item', LuxenTreeItem);
1
+ import { define } from '../../define.js';
2
+ import { TreeItem } from './tree-item.js';
3
+ export * from './tree-item.js';
4
+ define('tree-item', TreeItem);
@@ -1,5 +1,5 @@
1
1
  import { type PropertyValues } from 'lit';
2
- import { LuxenElement } from '../../shared/luxen-element';
2
+ import { LuxenElement } from '../../shared/luxen-element.js';
3
3
  /**
4
4
  * A node inside `<l-tree>`. Nested `<l-tree-item>` children become sub-nodes.
5
5
  *
@@ -26,7 +26,7 @@ import { LuxenElement } from '../../shared/luxen-element';
26
26
  * @event collapse - Fired when the item is collapsed.
27
27
  * @event lazy-load - Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.
28
28
  */
29
- export declare class LuxenTreeItem extends LuxenElement {
29
+ export declare class TreeItem extends LuxenElement {
30
30
  static styles: import("lit").CSSResult[];
31
31
  private _internals;
32
32
  private _childObserver?;
@@ -56,7 +56,7 @@ export declare class LuxenTreeItem extends LuxenElement {
56
56
  /** Returns the child `<l-tree-item>` elements directly under this one. */
57
57
  getChildrenItems({ includeDisabled }?: {
58
58
  includeDisabled?: boolean | undefined;
59
- }): LuxenTreeItem[];
59
+ }): TreeItem[];
60
60
  /** Returns true if this item has no expandable children. */
61
61
  isLeaf(): boolean;
62
62
  /** Returns the text label of this item. */
@@ -1 +1 @@
1
- {"version":3,"file":"tree-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/tree-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAO1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,yEAAyE;IAEzE,QAAQ,CAAC,aAAa,UAAS;IAE/B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,8EAA8E;IAE9E,QAAQ,CAAC,IAAI,UAAS;IAEtB,+DAA+D;IAE/D,QAAQ,CAAC,OAAO,UAAS;IAEzB,sDAAsD;IACtD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAG9B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,OAAO,CAAC,aAAa,CAAS;IAE9B,mEAAmE;IACnE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,CAAC,MAAM,CAAK;IAEnB,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,OAAO,CAAC,YAAY,CAAS;IAE7B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,aAAa,EAAE;IAOlE,4DAA4D;IAC5D,MAAM,IAAI,OAAO;IAIjB,2CAA2C;IAC3C,YAAY,IAAI,MAAM;IAUb,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAe9C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAmBrB,+EAA+E;IAC/E,MAAM;IASN,OAAO,CAAC,iBAAiB,CAUvB;IAEO,MAAM;CAwFhB"}
1
+ {"version":3,"file":"tree-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/tree-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,yEAAyE;IAEzE,QAAQ,CAAC,aAAa,UAAS;IAE/B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,8EAA8E;IAE9E,QAAQ,CAAC,IAAI,UAAS;IAEtB,+DAA+D;IAE/D,QAAQ,CAAC,OAAO,UAAS;IAEzB,sDAAsD;IACtD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAG9B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,OAAO,CAAC,aAAa,CAAS;IAE9B,mEAAmE;IACnE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,CAAC,MAAM,CAAK;IAEnB,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,OAAO,CAAC,YAAY,CAAS;IAE7B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAO7D,4DAA4D;IAC5D,MAAM,IAAI,OAAO;IAIjB,2CAA2C;IAC3C,YAAY,IAAI,MAAM;IAUb,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAe9C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAmBrB,+EAA+E;IAC/E,MAAM;IASN,OAAO,CAAC,iBAAiB,CAUvB;IAEO,MAAM;CAwFhB"}
@@ -15,12 +15,12 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
15
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
16
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
17
  };
18
- var _LuxenTreeItem_expanded_accessor_storage, _LuxenTreeItem_selected_accessor_storage, _LuxenTreeItem_indeterminate_accessor_storage, _LuxenTreeItem_disabled_accessor_storage, _LuxenTreeItem_lazy_accessor_storage, _LuxenTreeItem_loading_accessor_storage;
18
+ var _TreeItem_expanded_accessor_storage, _TreeItem_selected_accessor_storage, _TreeItem_indeterminate_accessor_storage, _TreeItem_disabled_accessor_storage, _TreeItem_lazy_accessor_storage, _TreeItem_loading_accessor_storage;
19
19
  import { html, unsafeCSS } from 'lit';
20
20
  import { property } from 'lit/decorators.js';
21
- import { LuxenElement } from '../../shared/luxen-element';
22
- import { tagName } from '../../registry';
23
- import hostStyles from '../../shared/styles/host.styles';
21
+ import { LuxenElement } from '../../shared/luxen-element.js';
22
+ import { tagName } from '../../registry.js';
23
+ import hostStyles from '../../shared/styles/host.styles.js';
24
24
  import rawStyles from './tree-item.css?inline';
25
25
  const styles = unsafeCSS(rawStyles);
26
26
  /**
@@ -49,16 +49,16 @@ const styles = unsafeCSS(rawStyles);
49
49
  * @event collapse - Fired when the item is collapsed.
50
50
  * @event lazy-load - Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.
51
51
  */
52
- export class LuxenTreeItem extends LuxenElement {
52
+ export class TreeItem extends LuxenElement {
53
53
  constructor() {
54
54
  super(...arguments);
55
55
  this._internals = this.attachInternals();
56
- _LuxenTreeItem_expanded_accessor_storage.set(this, false);
57
- _LuxenTreeItem_selected_accessor_storage.set(this, false);
58
- _LuxenTreeItem_indeterminate_accessor_storage.set(this, false);
59
- _LuxenTreeItem_disabled_accessor_storage.set(this, false);
60
- _LuxenTreeItem_lazy_accessor_storage.set(this, false);
61
- _LuxenTreeItem_loading_accessor_storage.set(this, false);
56
+ _TreeItem_expanded_accessor_storage.set(this, false);
57
+ _TreeItem_selected_accessor_storage.set(this, false);
58
+ _TreeItem_indeterminate_accessor_storage.set(this, false);
59
+ _TreeItem_disabled_accessor_storage.set(this, false);
60
+ _TreeItem_lazy_accessor_storage.set(this, false);
61
+ _TreeItem_loading_accessor_storage.set(this, false);
62
62
  this._showCheckbox = false;
63
63
  this._depth = 0;
64
64
  this._hasChildren = false;
@@ -73,23 +73,23 @@ export class LuxenTreeItem extends LuxenElement {
73
73
  };
74
74
  }
75
75
  /** Whether the item is expanded. */
76
- get expanded() { return __classPrivateFieldGet(this, _LuxenTreeItem_expanded_accessor_storage, "f"); }
77
- set expanded(value) { __classPrivateFieldSet(this, _LuxenTreeItem_expanded_accessor_storage, value, "f"); }
76
+ get expanded() { return __classPrivateFieldGet(this, _TreeItem_expanded_accessor_storage, "f"); }
77
+ set expanded(value) { __classPrivateFieldSet(this, _TreeItem_expanded_accessor_storage, value, "f"); }
78
78
  /** Whether the item is selected. */
79
- get selected() { return __classPrivateFieldGet(this, _LuxenTreeItem_selected_accessor_storage, "f"); }
80
- set selected(value) { __classPrivateFieldSet(this, _LuxenTreeItem_selected_accessor_storage, value, "f"); }
79
+ get selected() { return __classPrivateFieldGet(this, _TreeItem_selected_accessor_storage, "f"); }
80
+ set selected(value) { __classPrivateFieldSet(this, _TreeItem_selected_accessor_storage, value, "f"); }
81
81
  /** Whether the checkbox is indeterminate (some descendants selected). */
82
- get indeterminate() { return __classPrivateFieldGet(this, _LuxenTreeItem_indeterminate_accessor_storage, "f"); }
83
- set indeterminate(value) { __classPrivateFieldSet(this, _LuxenTreeItem_indeterminate_accessor_storage, value, "f"); }
82
+ get indeterminate() { return __classPrivateFieldGet(this, _TreeItem_indeterminate_accessor_storage, "f"); }
83
+ set indeterminate(value) { __classPrivateFieldSet(this, _TreeItem_indeterminate_accessor_storage, value, "f"); }
84
84
  /** Whether the item is disabled. */
85
- get disabled() { return __classPrivateFieldGet(this, _LuxenTreeItem_disabled_accessor_storage, "f"); }
86
- set disabled(value) { __classPrivateFieldSet(this, _LuxenTreeItem_disabled_accessor_storage, value, "f"); }
85
+ get disabled() { return __classPrivateFieldGet(this, _TreeItem_disabled_accessor_storage, "f"); }
86
+ set disabled(value) { __classPrivateFieldSet(this, _TreeItem_disabled_accessor_storage, value, "f"); }
87
87
  /** Marks this item as having children that will be loaded on first expand. */
88
- get lazy() { return __classPrivateFieldGet(this, _LuxenTreeItem_lazy_accessor_storage, "f"); }
89
- set lazy(value) { __classPrivateFieldSet(this, _LuxenTreeItem_lazy_accessor_storage, value, "f"); }
88
+ get lazy() { return __classPrivateFieldGet(this, _TreeItem_lazy_accessor_storage, "f"); }
89
+ set lazy(value) { __classPrivateFieldSet(this, _TreeItem_lazy_accessor_storage, value, "f"); }
90
90
  /** Whether the item is currently loading (shows a spinner). */
91
- get loading() { return __classPrivateFieldGet(this, _LuxenTreeItem_loading_accessor_storage, "f"); }
92
- set loading(value) { __classPrivateFieldSet(this, _LuxenTreeItem_loading_accessor_storage, value, "f"); }
91
+ get loading() { return __classPrivateFieldGet(this, _TreeItem_loading_accessor_storage, "f"); }
92
+ set loading(value) { __classPrivateFieldSet(this, _TreeItem_loading_accessor_storage, value, "f"); }
93
93
  /** Set by `<l-tree>`: whether a checkbox is shown. */
94
94
  set showCheckbox(value) {
95
95
  this._showCheckbox = value;
@@ -279,23 +279,23 @@ export class LuxenTreeItem extends LuxenElement {
279
279
  `;
280
280
  }
281
281
  }
282
- _LuxenTreeItem_expanded_accessor_storage = new WeakMap(), _LuxenTreeItem_selected_accessor_storage = new WeakMap(), _LuxenTreeItem_indeterminate_accessor_storage = new WeakMap(), _LuxenTreeItem_disabled_accessor_storage = new WeakMap(), _LuxenTreeItem_lazy_accessor_storage = new WeakMap(), _LuxenTreeItem_loading_accessor_storage = new WeakMap();
283
- LuxenTreeItem.styles = [hostStyles, styles];
282
+ _TreeItem_expanded_accessor_storage = new WeakMap(), _TreeItem_selected_accessor_storage = new WeakMap(), _TreeItem_indeterminate_accessor_storage = new WeakMap(), _TreeItem_disabled_accessor_storage = new WeakMap(), _TreeItem_lazy_accessor_storage = new WeakMap(), _TreeItem_loading_accessor_storage = new WeakMap();
283
+ TreeItem.styles = [hostStyles, styles];
284
284
  __decorate([
285
285
  property({ type: Boolean, reflect: true })
286
- ], LuxenTreeItem.prototype, "expanded", null);
286
+ ], TreeItem.prototype, "expanded", null);
287
287
  __decorate([
288
288
  property({ type: Boolean, reflect: true })
289
- ], LuxenTreeItem.prototype, "selected", null);
289
+ ], TreeItem.prototype, "selected", null);
290
290
  __decorate([
291
291
  property({ type: Boolean, reflect: true })
292
- ], LuxenTreeItem.prototype, "indeterminate", null);
292
+ ], TreeItem.prototype, "indeterminate", null);
293
293
  __decorate([
294
294
  property({ type: Boolean, reflect: true })
295
- ], LuxenTreeItem.prototype, "disabled", null);
295
+ ], TreeItem.prototype, "disabled", null);
296
296
  __decorate([
297
297
  property({ type: Boolean, reflect: true })
298
- ], LuxenTreeItem.prototype, "lazy", null);
298
+ ], TreeItem.prototype, "lazy", null);
299
299
  __decorate([
300
300
  property({ type: Boolean, reflect: true })
301
- ], LuxenTreeItem.prototype, "loading", null);
301
+ ], TreeItem.prototype, "loading", null);
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- export { LuxenElement } from './shared/luxen-element';
2
- export { LuxenFormAssociatedElement } from './shared/luxen-form-associated-element';
3
- export { define } from './define';
4
- export { setPrefix, getPrefix, tagName, cls } from './registry';
5
- export type { ElementBaseName } from './registry';
1
+ export { LuxenElement } from './shared/luxen-element.js';
2
+ export { LuxenFormAssociatedElement } from './shared/luxen-form-associated-element.js';
3
+ export { define } from './define.js';
4
+ export { setPrefix, getPrefix, tagName, cls } from './registry.js';
5
+ export type { ElementBaseName } from './registry.js';
6
+ export { defineConfig } from './config.js';
7
+ export type { LuxenConfig, LuxenEmitTypesConfig } from './config.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/html/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/html/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
- export { LuxenElement } from './shared/luxen-element';
2
- export { LuxenFormAssociatedElement } from './shared/luxen-form-associated-element';
3
- export { define } from './define';
4
- export { setPrefix, getPrefix, tagName, cls } from './registry';
1
+ export { LuxenElement } from './shared/luxen-element.js';
2
+ export { LuxenFormAssociatedElement } from './shared/luxen-form-associated-element.js';
3
+ export { define } from './define.js';
4
+ export { setPrefix, getPrefix, tagName, cls } from './registry.js';
5
+ export { defineConfig } from './config.js';
@@ -1,5 +1,5 @@
1
1
  /** Every component base name the library ships. */
2
- export type ElementBaseName = 'avatar' | 'badge' | 'carousel' | 'carousel-item' | 'dialog' | 'divider' | 'drawer' | 'dropdown' | 'dropdown-item' | 'icon' | 'input-otp' | 'input-stepper' | 'popover' | 'skeleton' | 'spinner' | 'rating' | 'tabs' | 'toast' | 'toast-item' | 'tooltip' | 'tree' | 'tree-item';
2
+ export type ElementBaseName = 'avatar' | 'badge' | 'carousel' | 'carousel-item' | 'dialog' | 'divider' | 'drawer' | 'dropdown' | 'dropdown-item' | 'icon' | 'input-otp' | 'input-stepper' | 'popover' | 'skeleton' | 'spinner' | 'rating' | 'sticky-bar' | 'stories' | 'story' | 'stories-viewer' | 'tabs' | 'toast' | 'toast-item' | 'tooltip' | 'tree' | 'tree-item';
3
3
  /** Set the global prefix. Must be called before defining elements. */
4
4
  export declare function setPrefix(prefix: {
5
5
  element: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/html/registry.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,OAAO,GACP,UAAU,GACV,eAAe,GACf,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,UAAU,GACV,eAAe,GACf,MAAM,GACN,WAAW,GACX,eAAe,GACf,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,YAAY,GACZ,SAAS,GACT,MAAM,GACN,WAAW,CAAC;AAMhB,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxE;AAED,gCAAgC;AAChC,wBAAgB,SAAS,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExC;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,kDAAkD;AAClD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAE9D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/html/registry.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,OAAO,GACP,UAAU,GACV,eAAe,GACf,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,UAAU,GACV,eAAe,GACf,MAAM,GACN,WAAW,GACX,eAAe,GACf,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,OAAO,GACP,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,YAAY,GACZ,SAAS,GACT,MAAM,GACN,WAAW,CAAC;AAMhB,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxE;AAED,gCAAgC;AAChC,wBAAgB,SAAS,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExC;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,kDAAkD;AAClD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAE9D"}
@@ -1,4 +1,4 @@
1
- import { LuxenElement } from './luxen-element';
1
+ import { LuxenElement } from './luxen-element.js';
2
2
  /**
3
3
  * Base class for form-associated Luxen custom elements.
4
4
  * Implements the Form Associated Custom Elements API via ElementInternals.
@@ -1 +1 @@
1
- {"version":3,"file":"luxen-form-associated-element.d.ts","sourceRoot":"","sources":["../../src/html/shared/luxen-form-associated-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAGtC,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB,gEAAgE;IAChE,SAAS,CAAC,iBAAiB,SAAM;IAEjC,yDAAyD;IACzD,aAAa,UAAS;;IAOtB,gDAAgD;IAChD,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,2EAA2E;IAC3E,IAAI,UAAU,IAAI,QAAQ,CAEzB;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAAI,WAAW,GAAG,SAAS,CAE9C;IAID,wCAAwC;IACxC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7C,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAMzB,yDAAyD;IACzD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASxC,mEAAmE;IACnE,SAAS,CAAC,WAAW,CAAC,KAAK,GAAE,kBAAuB,EAAE,OAAO,SAAK,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAK/F,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,iFAAiF;IACjF,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,YAAY;IAUpB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAE3D,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI;CAGjF"}
1
+ {"version":3,"file":"luxen-form-associated-element.d.ts","sourceRoot":"","sources":["../../src/html/shared/luxen-form-associated-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,MAAM,CAAC,cAAc,UAAQ;IAE7B,gBAAgB;IAChB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAGtC,IAAI,SAAM;IAGV,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAEjB,gEAAgE;IAChE,SAAS,CAAC,iBAAiB,SAAM;IAEjC,yDAAyD;IACzD,aAAa,UAAS;;IAOtB,gDAAgD;IAChD,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,2EAA2E;IAC3E,IAAI,UAAU,IAAI,QAAQ,CAEzB;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAAI,WAAW,GAAG,SAAS,CAE9C;IAID,wCAAwC;IACxC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7C,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAMzB,yDAAyD;IACzD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASxC,mEAAmE;IACnE,SAAS,CAAC,WAAW,CAAC,KAAK,GAAE,kBAAuB,EAAE,OAAO,SAAK,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAK/F,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,iFAAiF;IACjF,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,YAAY;IAUpB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAE3D,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI;CAGjF"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { property } from 'lit/decorators.js';
8
- import { LuxenElement } from './luxen-element';
8
+ import { LuxenElement } from './luxen-element.js';
9
9
  /**
10
10
  * Base class for form-associated Luxen custom elements.
11
11
  * Implements the Form Associated Custom Elements API via ElementInternals.
@@ -20,7 +20,7 @@ Add `appearance="filled"` (tinted background, no border), `appearance="filled-ou
20
20
  ```html
21
21
  <div class="flex flex-col gap-3">
22
22
  <div class="flex flex-wrap items-center gap-2">
23
- <span class="text-sm text-color-tertiary w-28">Outlined</span>
23
+ <span class="text-sm text-tertiary w-28">Outlined</span>
24
24
  <l-badge>Default</l-badge>
25
25
  <l-badge variant="info">Info</l-badge>
26
26
  <l-badge variant="success">Success</l-badge>
@@ -28,7 +28,7 @@ Add `appearance="filled"` (tinted background, no border), `appearance="filled-ou
28
28
  <l-badge variant="danger">Danger</l-badge>
29
29
  </div>
30
30
  <div class="flex flex-wrap items-center gap-2">
31
- <span class="text-sm text-color-tertiary w-28">Filled</span>
31
+ <span class="text-sm text-tertiary w-28">Filled</span>
32
32
  <l-badge appearance="filled">Default</l-badge>
33
33
  <l-badge
34
34
  appearance="filled"
@@ -52,7 +52,7 @@ Add `appearance="filled"` (tinted background, no border), `appearance="filled-ou
52
52
  >
53
53
  </div>
54
54
  <div class="flex flex-wrap items-center gap-2">
55
- <span class="text-sm text-color-tertiary w-28">Filled outlined</span>
55
+ <span class="text-sm text-tertiary w-28">Filled outlined</span>
56
56
  <l-badge appearance="filled-outlined">Default</l-badge>
57
57
  <l-badge
58
58
  appearance="filled-outlined"
@@ -76,7 +76,7 @@ Add `appearance="filled"` (tinted background, no border), `appearance="filled-ou
76
76
  >
77
77
  </div>
78
78
  <div class="flex flex-wrap items-center gap-2">
79
- <span class="text-sm text-color-tertiary w-28">Accent</span>
79
+ <span class="text-sm text-tertiary w-28">Accent</span>
80
80
  <l-badge appearance="accent">Default</l-badge>
81
81
  <l-badge
82
82
  appearance="accent"
@@ -109,7 +109,7 @@ Add the `pill` attribute for a fully rounded shape.
109
109
  ```html
110
110
  <div class="flex flex-col gap-3">
111
111
  <div class="flex flex-wrap items-center gap-2">
112
- <span class="text-sm text-color-tertiary w-28">Outlined</span>
112
+ <span class="text-sm text-tertiary w-28">Outlined</span>
113
113
  <l-badge pill>Default</l-badge>
114
114
  <l-badge
115
115
  pill
@@ -133,7 +133,7 @@ Add the `pill` attribute for a fully rounded shape.
133
133
  >
134
134
  </div>
135
135
  <div class="flex flex-wrap items-center gap-2">
136
- <span class="text-sm text-color-tertiary w-28">Filled</span>
136
+ <span class="text-sm text-tertiary w-28">Filled</span>
137
137
  <l-badge
138
138
  pill
139
139
  appearance="filled"
@@ -165,7 +165,7 @@ Add the `pill` attribute for a fully rounded shape.
165
165
  >
166
166
  </div>
167
167
  <div class="flex flex-wrap items-center gap-2">
168
- <span class="text-sm text-color-tertiary w-28">Filled outlined</span>
168
+ <span class="text-sm text-tertiary w-28">Filled outlined</span>
169
169
  <l-badge
170
170
  pill
171
171
  appearance="filled-outlined"
@@ -197,7 +197,7 @@ Add the `pill` attribute for a fully rounded shape.
197
197
  >
198
198
  </div>
199
199
  <div class="flex flex-wrap items-center gap-2">
200
- <span class="text-sm text-color-tertiary w-28">Accent</span>
200
+ <span class="text-sm text-tertiary w-28">Accent</span>
201
201
  <l-badge
202
202
  pill
203
203
  appearance="accent"
@@ -302,7 +302,7 @@ Add an `<l-spinner>` inside the button. The spinner inherits the button's text c
302
302
  { Name: '--background-color-hover', Description: 'Background on hover' },
303
303
  { Name: '--background-color-active', Description: 'Background on press' },
304
304
  { Name: '--text-color', Description: 'Text color' },
305
- { Name: '--text-color-hover', Description: 'Text color on hover' },
305
+ { Name: '--text-hover', Description: 'Text color on hover' },
306
306
  { Name: '--border-color', Description: 'Border color' },
307
307
  { Name: '--border-color-hover', Description: 'Border color on hover' },
308
308
  { Name: '--font-size', Description: 'Font size' },
@@ -0,0 +1,148 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ <style scoped>
6
+ .phone-deck {
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ gap: 24px;
10
+ justify-content: center;
11
+ padding: 24px 0;
12
+ }
13
+ .phone {
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: center;
17
+ gap: 8px;
18
+ }
19
+ .phone .label {
20
+ font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;
21
+ font-size: 11px;
22
+ font-weight: 500;
23
+ text-transform: uppercase;
24
+ letter-spacing: 0.06em;
25
+ color: var(--vp-c-text-2);
26
+ }
27
+ .phone iframe {
28
+ width: 340px;
29
+ height: 640px;
30
+ border: 10px solid #18181b;
31
+ border-radius: 40px;
32
+ background: var(--vp-c-bg);
33
+ box-shadow: 0 24px 48px -12px rgb(0 0 0 / 0.25);
34
+ }
35
+ </style>
36
+
37
+ # Sticky Bar
38
+
39
+ A bar docked to the viewport edge, painted in the document's **top layer**. Pass `for="<id>"` to track an element; the bar reveals when that element scrolls out of view (e.g. an Add to cart button on a mobile product page). Omit `for` for a permanently visible bar.
40
+
41
+ Common use cases: mobile product Add to cart, sticky save action on long forms, post-form newsletter signup, cookie banners, environment indicators, promo announcements.
42
+
43
+ <ElementSpec
44
+ tag="l-sticky-bar"
45
+ type="shadow"
46
+ />
47
+
48
+ ## Examples
49
+
50
+ ### Mobile product page
51
+
52
+ The canonical use: an Add to cart CTA stays reachable while the customer scrolls product details. Each iframe below is its own document — the sticky bar paints in its top layer and `IntersectionObserver` resolves against the iframe's viewport, so production behavior is faithfully simulated.
53
+
54
+ Both demos start with the bar **revealed** (the Add to cart button sits below the fold). Scroll inside a phone to bring the button into view — the bar hides. Keep scrolling past the button — the bar reveals again.
55
+
56
+ <div class="phone-deck">
57
+ <div class="phone">
58
+ <span class="label">placement="bottom"</span>
59
+ <iframe src="/previews/sticky-bar-mobile-bottom.html" title="Sticky bar — bottom placement"></iframe>
60
+ </div>
61
+ <div class="phone">
62
+ <span class="label">placement="top"</span>
63
+ <iframe src="/previews/sticky-bar-mobile-top.html" title="Sticky bar — top placement"></iframe>
64
+ </div>
65
+ </div>
66
+
67
+ > The top phone uses `style="--offset: var(--header-height)"` to dock under the in-page sticky header — `--header-height` is defined once at `:root` and shared between the header's `height` and the bar's offset, so they stay in sync.
68
+
69
+ ```html
70
+ <button
71
+ id="add-to-cart"
72
+ class="l-button"
73
+ data-variant="primary"
74
+ >
75
+ Add to cart — €42
76
+ </button>
77
+
78
+ <l-sticky-bar for="add-to-cart">
79
+ <div
80
+ class="flex items-center justify-between gap-3 border-t border-[var(--l-color-divider)] bg-white px-4 py-3 dark:bg-zinc-900"
81
+ >
82
+ <span class="text-sm font-semibold text-primary">Magic Mouse — €42</span>
83
+ <button
84
+ class="l-button"
85
+ data-variant="primary"
86
+ data-size="sm"
87
+ >
88
+ Add to cart
89
+ </button>
90
+ </div>
91
+ </l-sticky-bar>
92
+ ```
93
+
94
+ ## Accessibility
95
+
96
+ The element is a positioning shell — it adds no role of its own. Slotted content keeps its native semantics: a `<button>` stays a button, a `<form>` stays a form, links remain in the focus order.
97
+
98
+ | Check | Description |
99
+ |-------|-------------|
100
+ | Motion | Respects `prefers-reduced-motion` — the slide animation collapses to instant |
101
+ | Focus order | Slotted content stays in the natural focus order. Do not focus-trap inside the bar — it is not a dialog |
102
+ | Contrast | The bar inherits text and background from slotted content — apply your own contrast tokens |
103
+
104
+ ### Rules
105
+ - Keep the bar action self-explanatory (e.g. duplicate the in-page button label, do not introduce a new verb)
106
+ - Use `--offset` to clear a sticky header when `placement="top"` to avoid overlap
107
+ - Do not nest live regions or modal-like behavior inside the bar
108
+
109
+ ## API reference
110
+
111
+ ### Importing
112
+
113
+ ```js
114
+ import 'luxen-ui/sticky-bar';
115
+ ```
116
+
117
+ ### Attributes & Properties
118
+
119
+ <ApiTable :data="[
120
+ { Attribute: 'for', Description: 'HTML id of the element to track. The bar reveals when it leaves the viewport. Omit for a permanently visible bar' },
121
+ { Attribute: 'placement', Description: '`bottom` (default) or `top`. Edge to dock against' },
122
+ { Attribute: 'root', Description: 'HTML id of the scrolling ancestor used as the IntersectionObserver root. Omit to use the viewport. Useful for nested scroll containers' },
123
+ ]" />
124
+
125
+ ### Events
126
+
127
+ <ApiTable :data="[
128
+ { Event: 'show', Description: 'Fired before the bar reveals. Cancelable' },
129
+ { Event: 'after-show', Description: 'Fired after the reveal animation completes' },
130
+ { Event: 'hide', Description: 'Fired before the bar hides. Cancelable' },
131
+ { Event: 'after-hide', Description: 'Fired after the hide animation completes' },
132
+ ]" />
133
+
134
+ ### Slots
135
+
136
+ <ApiTable :data="[
137
+ { Slot: '(default)', Description: 'Bar content. Owns its own background, padding, and typography' },
138
+ ]" />
139
+
140
+ ### CSS custom properties
141
+
142
+ <ApiTable :data="[
143
+ { Name: '--show-duration', Description: 'Reveal animation duration. Default `200ms`' },
144
+ { Name: '--hide-duration', Description: 'Dismiss animation duration. Default `200ms`' },
145
+ { Name: '--offset', Description: 'Distance from the active edge. Default `0px`. Use to clear a sticky header when `placement=&quot;top&quot;`' },
146
+ ]" />
147
+
148
+ > **Top layer.** The bar uses `popover="manual"` internally, so it paints in the document's top layer — `z-index` is not needed and would be ignored. Target `l-sticky-bar:popover-open` to style the revealed state.