luxen-ui 0.3.0 → 0.5.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 (385) hide show
  1. package/cdn/chunks/decorate.js +1 -1
  2. package/cdn/chunks/decorate.js.map +1 -1
  3. package/cdn/chunks/map.js +2 -0
  4. package/cdn/chunks/map.js.map +1 -0
  5. package/cdn/custom-elements.json +6707 -4242
  6. package/cdn/elements/avatar/avatar.d.ts +1 -1
  7. package/cdn/elements/avatar/avatar.d.ts.map +1 -1
  8. package/cdn/elements/avatar/avatar.js +3 -3
  9. package/cdn/elements/avatar/avatar.js.map +1 -1
  10. package/cdn/elements/avatar/index.d.ts +2 -2
  11. package/cdn/elements/avatar/index.d.ts.map +1 -1
  12. package/cdn/elements/avatar/index.js +1 -1
  13. package/cdn/elements/avatar/index.js.map +1 -1
  14. package/cdn/elements/badge/badge.d.ts +1 -1
  15. package/cdn/elements/badge/badge.d.ts.map +1 -1
  16. package/cdn/elements/badge/badge.js +1 -1
  17. package/cdn/elements/badge/badge.js.map +1 -1
  18. package/cdn/elements/badge/index.d.ts +2 -2
  19. package/cdn/elements/badge/index.d.ts.map +1 -1
  20. package/cdn/elements/badge/index.js +1 -1
  21. package/cdn/elements/badge/index.js.map +1 -1
  22. package/cdn/elements/carousel/carousel.d.ts +18 -11
  23. package/cdn/elements/carousel/carousel.d.ts.map +1 -1
  24. package/cdn/elements/carousel/carousel.js +21 -20
  25. package/cdn/elements/carousel/carousel.js.map +1 -1
  26. package/cdn/elements/carousel/index.d.ts +2 -2
  27. package/cdn/elements/carousel/index.d.ts.map +1 -1
  28. package/cdn/elements/carousel/index.js +1 -1
  29. package/cdn/elements/carousel/index.js.map +1 -1
  30. package/cdn/elements/carousel-item/carousel-item.d.ts +1 -1
  31. package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
  32. package/cdn/elements/carousel-item/carousel-item.js +1 -1
  33. package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
  34. package/cdn/elements/carousel-item/index.d.ts +2 -2
  35. package/cdn/elements/carousel-item/index.d.ts.map +1 -1
  36. package/cdn/elements/carousel-item/index.js +1 -1
  37. package/cdn/elements/carousel-item/index.js.map +1 -1
  38. package/cdn/elements/dialog/dialog.d.ts +1 -1
  39. package/cdn/elements/dialog/dialog.d.ts.map +1 -1
  40. package/cdn/elements/dialog/dialog.js +2 -2
  41. package/cdn/elements/dialog/dialog.js.map +1 -1
  42. package/cdn/elements/dialog/dialog.styles.js.map +1 -1
  43. package/cdn/elements/dialog/index.d.ts +2 -2
  44. package/cdn/elements/dialog/index.d.ts.map +1 -1
  45. package/cdn/elements/dialog/index.js +1 -1
  46. package/cdn/elements/dialog/index.js.map +1 -1
  47. package/cdn/elements/divider/divider.d.ts +1 -1
  48. package/cdn/elements/divider/divider.d.ts.map +1 -1
  49. package/cdn/elements/divider/divider.js +1 -1
  50. package/cdn/elements/divider/divider.js.map +1 -1
  51. package/cdn/elements/divider/index.d.ts +2 -2
  52. package/cdn/elements/divider/index.d.ts.map +1 -1
  53. package/cdn/elements/divider/index.js +1 -1
  54. package/cdn/elements/divider/index.js.map +1 -1
  55. package/cdn/elements/drawer/drawer.d.ts +2 -2
  56. package/cdn/elements/drawer/drawer.d.ts.map +1 -1
  57. package/cdn/elements/drawer/drawer.js +1 -1
  58. package/cdn/elements/drawer/drawer.js.map +1 -1
  59. package/cdn/elements/drawer/index.d.ts +2 -2
  60. package/cdn/elements/drawer/index.d.ts.map +1 -1
  61. package/cdn/elements/drawer/index.js +1 -1
  62. package/cdn/elements/drawer/index.js.map +1 -1
  63. package/cdn/elements/dropdown/dropdown.d.ts +7 -4
  64. package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
  65. package/cdn/elements/dropdown/dropdown.js +7 -4
  66. package/cdn/elements/dropdown/dropdown.js.map +1 -1
  67. package/cdn/elements/dropdown/index.d.ts +2 -2
  68. package/cdn/elements/dropdown/index.d.ts.map +1 -1
  69. package/cdn/elements/dropdown/index.js +1 -1
  70. package/cdn/elements/dropdown/index.js.map +1 -1
  71. package/cdn/elements/dropdown-item/dropdown-item.d.ts +1 -1
  72. package/cdn/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  73. package/cdn/elements/dropdown-item/dropdown-item.js +2 -2
  74. package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
  75. package/cdn/elements/dropdown-item/index.d.ts +2 -2
  76. package/cdn/elements/dropdown-item/index.d.ts.map +1 -1
  77. package/cdn/elements/dropdown-item/index.js +1 -1
  78. package/cdn/elements/dropdown-item/index.js.map +1 -1
  79. package/cdn/elements/icon/icon.d.ts +1 -1
  80. package/cdn/elements/icon/icon.d.ts.map +1 -1
  81. package/cdn/elements/icon/icon.js +2 -2
  82. package/cdn/elements/icon/icon.js.map +1 -1
  83. package/cdn/elements/icon/index.d.ts +2 -2
  84. package/cdn/elements/icon/index.d.ts.map +1 -1
  85. package/cdn/elements/icon/index.js +1 -1
  86. package/cdn/elements/icon/index.js.map +1 -1
  87. package/cdn/elements/input-otp/index.d.ts +2 -2
  88. package/cdn/elements/input-otp/index.d.ts.map +1 -1
  89. package/cdn/elements/input-otp/index.js +1 -1
  90. package/cdn/elements/input-otp/index.js.map +1 -1
  91. package/cdn/elements/input-otp/input-otp.d.ts +1 -1
  92. package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
  93. package/cdn/elements/input-otp/input-otp.js +1 -1
  94. package/cdn/elements/input-otp/input-otp.js.map +1 -1
  95. package/cdn/elements/input-stepper/index.d.ts +2 -2
  96. package/cdn/elements/input-stepper/index.d.ts.map +1 -1
  97. package/cdn/elements/input-stepper/index.js +1 -1
  98. package/cdn/elements/input-stepper/index.js.map +1 -1
  99. package/cdn/elements/input-stepper/input-stepper.d.ts +1 -1
  100. package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
  101. package/cdn/elements/input-stepper/input-stepper.js +1 -1
  102. package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
  103. package/cdn/elements/popover/index.d.ts +2 -2
  104. package/cdn/elements/popover/index.d.ts.map +1 -1
  105. package/cdn/elements/popover/index.js +1 -1
  106. package/cdn/elements/popover/index.js.map +1 -1
  107. package/cdn/elements/popover/popover.d.ts +1 -1
  108. package/cdn/elements/popover/popover.d.ts.map +1 -1
  109. package/cdn/elements/popover/popover.js +2 -2
  110. package/cdn/elements/popover/popover.js.map +1 -1
  111. package/cdn/elements/rating/index.d.ts +2 -2
  112. package/cdn/elements/rating/index.d.ts.map +1 -1
  113. package/cdn/elements/rating/index.js +1 -1
  114. package/cdn/elements/rating/index.js.map +1 -1
  115. package/cdn/elements/rating/rating.d.ts +1 -1
  116. package/cdn/elements/rating/rating.d.ts.map +1 -1
  117. package/cdn/elements/rating/rating.js +2 -2
  118. package/cdn/elements/rating/rating.js.map +1 -1
  119. package/cdn/elements/skeleton/index.d.ts +2 -2
  120. package/cdn/elements/skeleton/index.d.ts.map +1 -1
  121. package/cdn/elements/skeleton/index.js +1 -1
  122. package/cdn/elements/skeleton/index.js.map +1 -1
  123. package/cdn/elements/skeleton/skeleton.d.ts +1 -1
  124. package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
  125. package/cdn/elements/skeleton/skeleton.js +1 -1
  126. package/cdn/elements/skeleton/skeleton.js.map +1 -1
  127. package/cdn/elements/spinner/index.d.ts +2 -2
  128. package/cdn/elements/spinner/index.d.ts.map +1 -1
  129. package/cdn/elements/spinner/index.js +1 -1
  130. package/cdn/elements/spinner/index.js.map +1 -1
  131. package/cdn/elements/spinner/spinner.d.ts +1 -1
  132. package/cdn/elements/spinner/spinner.d.ts.map +1 -1
  133. package/cdn/elements/spinner/spinner.js +1 -1
  134. package/cdn/elements/spinner/spinner.js.map +1 -1
  135. package/cdn/elements/sticky-bar/index.d.ts +8 -0
  136. package/cdn/elements/sticky-bar/index.d.ts.map +1 -0
  137. package/cdn/elements/sticky-bar/index.js +2 -0
  138. package/cdn/elements/sticky-bar/index.js.map +1 -0
  139. package/cdn/elements/sticky-bar/sticky-bar.d.ts +46 -0
  140. package/cdn/elements/sticky-bar/sticky-bar.d.ts.map +1 -0
  141. package/cdn/elements/sticky-bar/sticky-bar.js +2 -0
  142. package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -0
  143. package/cdn/elements/stories/index.d.ts +8 -0
  144. package/cdn/elements/stories/index.d.ts.map +1 -0
  145. package/cdn/elements/stories/index.js +2 -0
  146. package/cdn/elements/stories/index.js.map +1 -0
  147. package/cdn/elements/stories/stories.d.ts +50 -0
  148. package/cdn/elements/stories/stories.d.ts.map +1 -0
  149. package/cdn/elements/stories/stories.js +2 -0
  150. package/cdn/elements/stories/stories.js.map +1 -0
  151. package/cdn/elements/stories-viewer/index.d.ts +8 -0
  152. package/cdn/elements/stories-viewer/index.d.ts.map +1 -0
  153. package/cdn/elements/stories-viewer/index.js +2 -0
  154. package/cdn/elements/stories-viewer/index.js.map +1 -0
  155. package/cdn/elements/stories-viewer/stories-viewer.d.ts +136 -0
  156. package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -0
  157. package/cdn/elements/stories-viewer/stories-viewer.js +160 -0
  158. package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -0
  159. package/cdn/elements/story/index.d.ts +8 -0
  160. package/cdn/elements/story/index.d.ts.map +1 -0
  161. package/cdn/elements/story/index.js +2 -0
  162. package/cdn/elements/story/index.js.map +1 -0
  163. package/cdn/elements/story/story.d.ts +48 -0
  164. package/cdn/elements/story/story.d.ts.map +1 -0
  165. package/cdn/elements/story/story.js +35 -0
  166. package/cdn/elements/story/story.js.map +1 -0
  167. package/cdn/elements/tabs/index.d.ts +2 -2
  168. package/cdn/elements/tabs/index.d.ts.map +1 -1
  169. package/cdn/elements/tabs/index.js +1 -1
  170. package/cdn/elements/tabs/index.js.map +1 -1
  171. package/cdn/elements/tabs/tabs.d.ts +1 -1
  172. package/cdn/elements/tabs/tabs.d.ts.map +1 -1
  173. package/cdn/elements/tabs/tabs.js +1 -1
  174. package/cdn/elements/tabs/tabs.js.map +1 -1
  175. package/cdn/elements/toast/index.d.ts +3 -3
  176. package/cdn/elements/toast/index.d.ts.map +1 -1
  177. package/cdn/elements/toast/index.js +1 -1
  178. package/cdn/elements/toast/index.js.map +1 -1
  179. package/cdn/elements/toast/toast.d.ts +2 -2
  180. package/cdn/elements/toast/toast.d.ts.map +1 -1
  181. package/cdn/elements/toast/toast.js +1 -1
  182. package/cdn/elements/toast/toast.js.map +1 -1
  183. package/cdn/elements/tooltip/index.d.ts +2 -2
  184. package/cdn/elements/tooltip/index.d.ts.map +1 -1
  185. package/cdn/elements/tooltip/index.js +1 -1
  186. package/cdn/elements/tooltip/index.js.map +1 -1
  187. package/cdn/elements/tooltip/tooltip.d.ts +4 -4
  188. package/cdn/elements/tooltip/tooltip.d.ts.map +1 -1
  189. package/cdn/elements/tooltip/tooltip.js +2 -2
  190. package/cdn/elements/tooltip/tooltip.js.map +1 -1
  191. package/cdn/elements/tree/index.d.ts +2 -2
  192. package/cdn/elements/tree/index.d.ts.map +1 -1
  193. package/cdn/elements/tree/index.js +1 -1
  194. package/cdn/elements/tree/index.js.map +1 -1
  195. package/cdn/elements/tree/tree.d.ts +5 -5
  196. package/cdn/elements/tree/tree.d.ts.map +1 -1
  197. package/cdn/elements/tree/tree.js +2 -2
  198. package/cdn/elements/tree/tree.js.map +1 -1
  199. package/cdn/elements/tree-item/index.d.ts +2 -2
  200. package/cdn/elements/tree-item/index.d.ts.map +1 -1
  201. package/cdn/elements/tree-item/index.js +1 -1
  202. package/cdn/elements/tree-item/index.js.map +1 -1
  203. package/cdn/elements/tree-item/tree-item.d.ts +2 -2
  204. package/cdn/elements/tree-item/tree-item.d.ts.map +1 -1
  205. package/cdn/elements/tree-item/tree-item.js +2 -2
  206. package/cdn/elements/tree-item/tree-item.js.map +1 -1
  207. package/cdn/registry.d.ts +1 -1
  208. package/cdn/registry.d.ts.map +1 -1
  209. package/cdn/registry.js.map +1 -1
  210. package/cdn/shared/controllers/popover.js.map +1 -1
  211. package/cdn/shared/luxen-form-associated-element.js +1 -1
  212. package/cdn/shared/styles/host.styles.js.map +1 -1
  213. package/cdn/styles/elements/divider.css +7 -0
  214. package/cdn/styles/elements/select.css +3 -3
  215. package/cdn/styles/elements/stories.css +63 -0
  216. package/cdn/styles/elements/story.css +192 -0
  217. package/cdn/styles/index.css +3 -0
  218. package/dist/css/elements/divider.css +7 -0
  219. package/dist/css/elements/select.css +3 -3
  220. package/dist/css/elements/stories.css +63 -0
  221. package/dist/css/elements/story.css +192 -0
  222. package/dist/css/index.css +3 -0
  223. package/dist/custom-elements.json +6707 -4242
  224. package/dist/elements/avatar/avatar.css +13 -7
  225. package/dist/elements/avatar/avatar.d.ts +1 -1
  226. package/dist/elements/avatar/avatar.d.ts.map +1 -1
  227. package/dist/elements/avatar/avatar.js +11 -11
  228. package/dist/elements/avatar/index.d.ts +2 -2
  229. package/dist/elements/avatar/index.d.ts.map +1 -1
  230. package/dist/elements/avatar/index.js +2 -2
  231. package/dist/elements/badge/badge.d.ts +1 -1
  232. package/dist/elements/badge/badge.d.ts.map +1 -1
  233. package/dist/elements/badge/badge.js +5 -5
  234. package/dist/elements/badge/index.d.ts +2 -2
  235. package/dist/elements/badge/index.d.ts.map +1 -1
  236. package/dist/elements/badge/index.js +2 -2
  237. package/dist/elements/carousel/carousel.css +7 -0
  238. package/dist/elements/carousel/carousel.d.ts +18 -11
  239. package/dist/elements/carousel/carousel.d.ts.map +1 -1
  240. package/dist/elements/carousel/carousel.js +193 -167
  241. package/dist/elements/carousel/index.d.ts +2 -2
  242. package/dist/elements/carousel/index.d.ts.map +1 -1
  243. package/dist/elements/carousel/index.js +2 -2
  244. package/dist/elements/carousel-item/carousel-item.d.ts +1 -1
  245. package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
  246. package/dist/elements/carousel-item/carousel-item.js +2 -2
  247. package/dist/elements/carousel-item/index.d.ts +2 -2
  248. package/dist/elements/carousel-item/index.d.ts.map +1 -1
  249. package/dist/elements/carousel-item/index.js +2 -2
  250. package/dist/elements/dialog/dialog.d.ts +1 -1
  251. package/dist/elements/dialog/dialog.d.ts.map +1 -1
  252. package/dist/elements/dialog/dialog.js +9 -9
  253. package/dist/elements/dialog/index.d.ts +2 -2
  254. package/dist/elements/dialog/index.d.ts.map +1 -1
  255. package/dist/elements/dialog/index.js +2 -2
  256. package/dist/elements/divider/divider.d.ts +1 -1
  257. package/dist/elements/divider/divider.d.ts.map +1 -1
  258. package/dist/elements/divider/divider.js +3 -3
  259. package/dist/elements/divider/index.d.ts +2 -2
  260. package/dist/elements/divider/index.d.ts.map +1 -1
  261. package/dist/elements/divider/index.js +2 -2
  262. package/dist/elements/drawer/drawer.d.ts +2 -2
  263. package/dist/elements/drawer/drawer.d.ts.map +1 -1
  264. package/dist/elements/drawer/drawer.js +4 -4
  265. package/dist/elements/drawer/index.d.ts +2 -2
  266. package/dist/elements/drawer/index.d.ts.map +1 -1
  267. package/dist/elements/drawer/index.js +2 -2
  268. package/dist/elements/dropdown/dropdown.css +14 -3
  269. package/dist/elements/dropdown/dropdown.d.ts +7 -4
  270. package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
  271. package/dist/elements/dropdown/dropdown.js +41 -29
  272. package/dist/elements/dropdown/index.d.ts +2 -2
  273. package/dist/elements/dropdown/index.d.ts.map +1 -1
  274. package/dist/elements/dropdown/index.js +2 -2
  275. package/dist/elements/dropdown-item/dropdown-item.d.ts +1 -1
  276. package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  277. package/dist/elements/dropdown-item/dropdown-item.js +20 -20
  278. package/dist/elements/dropdown-item/index.d.ts +2 -2
  279. package/dist/elements/dropdown-item/index.d.ts.map +1 -1
  280. package/dist/elements/dropdown-item/index.js +2 -2
  281. package/dist/elements/icon/icon.d.ts +1 -1
  282. package/dist/elements/icon/icon.d.ts.map +1 -1
  283. package/dist/elements/icon/icon.js +4 -4
  284. package/dist/elements/icon/index.d.ts +2 -2
  285. package/dist/elements/icon/index.d.ts.map +1 -1
  286. package/dist/elements/icon/index.js +2 -2
  287. package/dist/elements/input-otp/index.d.ts +2 -2
  288. package/dist/elements/input-otp/index.d.ts.map +1 -1
  289. package/dist/elements/input-otp/index.js +2 -2
  290. package/dist/elements/input-otp/input-otp.d.ts +1 -1
  291. package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
  292. package/dist/elements/input-otp/input-otp.js +2 -2
  293. package/dist/elements/input-stepper/index.d.ts +2 -2
  294. package/dist/elements/input-stepper/index.d.ts.map +1 -1
  295. package/dist/elements/input-stepper/index.js +2 -2
  296. package/dist/elements/input-stepper/input-stepper.d.ts +1 -1
  297. package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
  298. package/dist/elements/input-stepper/input-stepper.js +8 -8
  299. package/dist/elements/popover/index.d.ts +2 -2
  300. package/dist/elements/popover/index.d.ts.map +1 -1
  301. package/dist/elements/popover/index.js +2 -2
  302. package/dist/elements/popover/popover.d.ts +1 -1
  303. package/dist/elements/popover/popover.d.ts.map +1 -1
  304. package/dist/elements/popover/popover.js +33 -33
  305. package/dist/elements/rating/index.d.ts +2 -2
  306. package/dist/elements/rating/index.d.ts.map +1 -1
  307. package/dist/elements/rating/index.js +2 -2
  308. package/dist/elements/rating/rating.d.ts +1 -1
  309. package/dist/elements/rating/rating.d.ts.map +1 -1
  310. package/dist/elements/rating/rating.js +48 -48
  311. package/dist/elements/skeleton/index.d.ts +2 -2
  312. package/dist/elements/skeleton/index.d.ts.map +1 -1
  313. package/dist/elements/skeleton/index.js +2 -2
  314. package/dist/elements/skeleton/skeleton.d.ts +1 -1
  315. package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
  316. package/dist/elements/skeleton/skeleton.js +1 -1
  317. package/dist/elements/spinner/index.d.ts +2 -2
  318. package/dist/elements/spinner/index.d.ts.map +1 -1
  319. package/dist/elements/spinner/index.js +2 -2
  320. package/dist/elements/spinner/spinner.d.ts +1 -1
  321. package/dist/elements/spinner/spinner.d.ts.map +1 -1
  322. package/dist/elements/spinner/spinner.js +2 -2
  323. package/dist/elements/sticky-bar/index.d.ts +8 -0
  324. package/dist/elements/sticky-bar/index.d.ts.map +1 -0
  325. package/dist/elements/sticky-bar/index.js +4 -0
  326. package/dist/elements/sticky-bar/sticky-bar.css +56 -0
  327. package/dist/elements/sticky-bar/sticky-bar.d.ts +46 -0
  328. package/dist/elements/sticky-bar/sticky-bar.d.ts.map +1 -0
  329. package/dist/elements/sticky-bar/sticky-bar.js +146 -0
  330. package/dist/elements/stories/index.d.ts +8 -0
  331. package/dist/elements/stories/index.d.ts.map +1 -0
  332. package/dist/elements/stories/index.js +4 -0
  333. package/dist/elements/stories/stories.d.ts +50 -0
  334. package/dist/elements/stories/stories.d.ts.map +1 -0
  335. package/dist/elements/stories/stories.js +113 -0
  336. package/dist/elements/stories-viewer/index.d.ts +8 -0
  337. package/dist/elements/stories-viewer/index.d.ts.map +1 -0
  338. package/dist/elements/stories-viewer/index.js +4 -0
  339. package/dist/elements/stories-viewer/stories-viewer.css +337 -0
  340. package/dist/elements/stories-viewer/stories-viewer.d.ts +136 -0
  341. package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -0
  342. package/dist/elements/stories-viewer/stories-viewer.js +719 -0
  343. package/dist/elements/story/index.d.ts +8 -0
  344. package/dist/elements/story/index.d.ts.map +1 -0
  345. package/dist/elements/story/index.js +4 -0
  346. package/dist/elements/story/story.d.ts +48 -0
  347. package/dist/elements/story/story.d.ts.map +1 -0
  348. package/dist/elements/story/story.js +161 -0
  349. package/dist/elements/tabs/index.d.ts +2 -2
  350. package/dist/elements/tabs/index.d.ts.map +1 -1
  351. package/dist/elements/tabs/index.js +2 -2
  352. package/dist/elements/tabs/tabs.d.ts +1 -1
  353. package/dist/elements/tabs/tabs.d.ts.map +1 -1
  354. package/dist/elements/tabs/tabs.js +5 -5
  355. package/dist/elements/toast/index.d.ts +3 -3
  356. package/dist/elements/toast/index.d.ts.map +1 -1
  357. package/dist/elements/toast/index.js +3 -3
  358. package/dist/elements/toast/toast.d.ts +2 -2
  359. package/dist/elements/toast/toast.d.ts.map +1 -1
  360. package/dist/elements/toast/toast.js +5 -5
  361. package/dist/elements/tooltip/index.d.ts +2 -2
  362. package/dist/elements/tooltip/index.d.ts.map +1 -1
  363. package/dist/elements/tooltip/index.js +2 -2
  364. package/dist/elements/tooltip/tooltip.css +15 -7
  365. package/dist/elements/tooltip/tooltip.d.ts +4 -4
  366. package/dist/elements/tooltip/tooltip.d.ts.map +1 -1
  367. package/dist/elements/tooltip/tooltip.js +32 -32
  368. package/dist/elements/tree/index.d.ts +2 -2
  369. package/dist/elements/tree/index.d.ts.map +1 -1
  370. package/dist/elements/tree/index.js +2 -2
  371. package/dist/elements/tree/tree.d.ts +5 -5
  372. package/dist/elements/tree/tree.d.ts.map +1 -1
  373. package/dist/elements/tree/tree.js +14 -16
  374. package/dist/elements/tree-item/index.d.ts +2 -2
  375. package/dist/elements/tree-item/index.d.ts.map +1 -1
  376. package/dist/elements/tree-item/index.js +2 -2
  377. package/dist/elements/tree-item/tree-item.d.ts +2 -2
  378. package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
  379. package/dist/elements/tree-item/tree-item.js +28 -28
  380. package/dist/registry.d.ts +1 -1
  381. package/dist/registry.d.ts.map +1 -1
  382. package/dist/skills/luxen-ui/SKILL.md +1 -0
  383. package/dist/skills/luxen-ui/references/select.md +1 -1
  384. package/dist/skills/luxen-ui/references/sticky-bar.md +148 -0
  385. package/package.json +4 -4
@@ -15,11 +15,11 @@ 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 _LuxenCarousel_autoplay_accessor_storage, _LuxenCarousel_autoplayOptions_accessor_storage, _LuxenCarousel_axis_accessor_storage, _LuxenCarousel_align_accessor_storage, _LuxenCarousel_breakpoints_accessor_storage, _LuxenCarousel_loop_accessor_storage, _LuxenCarousel_dragFree_accessor_storage, _LuxenCarousel_duration_accessor_storage, _LuxenCarousel_skipSnaps_accessor_storage, _LuxenCarousel_slidesToScroll_accessor_storage, _LuxenCarousel_startIndex_accessor_storage, _LuxenCarousel_containScroll_accessor_storage, _LuxenCarousel_single_accessor_storage, _LuxenCarousel_withDots_accessor_storage, _LuxenCarousel_withScrollbar_accessor_storage, _LuxenCarousel_withFullscreen_accessor_storage, _LuxenCarousel_dotAppearance_accessor_storage, _LuxenCarousel_scrollButtonsPosition_accessor_storage;
18
+ var _Carousel_autoplay_accessor_storage, _Carousel_autoplayOptions_accessor_storage, _Carousel_axis_accessor_storage, _Carousel_align_accessor_storage, _Carousel_breakpoints_accessor_storage, _Carousel_loop_accessor_storage, _Carousel_dragFree_accessor_storage, _Carousel_duration_accessor_storage, _Carousel_skipSnaps_accessor_storage, _Carousel_slidesToScroll_accessor_storage, _Carousel_startIndex_accessor_storage, _Carousel_containScroll_accessor_storage, _Carousel_single_accessor_storage, _Carousel_withDots_accessor_storage, _Carousel_withScrollbar_accessor_storage, _Carousel_withFullscreen_accessor_storage, _Carousel_dotAppearance_accessor_storage, _Carousel_maxVisibleDots_accessor_storage, _Carousel_scrollButtonsPosition_accessor_storage, _Carousel__selectedSnap_accessor_storage;
19
19
  import EmblaCarousel from 'embla-carousel';
20
20
  import Autoplay from 'embla-carousel-autoplay';
21
- import { html, unsafeCSS } from 'lit';
22
- import { property, query, queryAll } from 'lit/decorators.js';
21
+ import { html, nothing, unsafeCSS } from 'lit';
22
+ import { property, query, state } from 'lit/decorators.js';
23
23
  import { map } from 'lit/directives/map.js';
24
24
  import { LuxenElement } from '../../shared/luxen-element';
25
25
  import hostStyles from '../../shared/styles/host.styles';
@@ -53,129 +53,174 @@ const styles = unsafeCSS(rawStyles);
53
53
  * @cssproperty --dot-color - Color of inactive dots.
54
54
  * @cssproperty --dot-color-active - Color of active dot.
55
55
  * @cssproperty --dot-margin - Margin around dots container.
56
+ * @cssproperty --dot-edge-scale - Scale factor applied to edge dots that signal more dots exist beyond the visible window (default `0.5`).
56
57
  */
57
- export class LuxenCarousel extends LuxenElement {
58
+ export class Carousel extends LuxenElement {
59
+ constructor() {
60
+ super(...arguments);
61
+ _Carousel_autoplay_accessor_storage.set(this, 0);
62
+ _Carousel_autoplayOptions_accessor_storage.set(this, void 0);
63
+ _Carousel_axis_accessor_storage.set(this, 'x');
64
+ _Carousel_align_accessor_storage.set(this, 'start');
65
+ _Carousel_breakpoints_accessor_storage.set(this, {});
66
+ _Carousel_loop_accessor_storage.set(this, false);
67
+ _Carousel_dragFree_accessor_storage.set(this, false);
68
+ _Carousel_duration_accessor_storage.set(this, 20);
69
+ _Carousel_skipSnaps_accessor_storage.set(this, false);
70
+ _Carousel_slidesToScroll_accessor_storage.set(this, 1);
71
+ _Carousel_startIndex_accessor_storage.set(this, 0);
72
+ _Carousel_containScroll_accessor_storage.set(this, 'trimSnaps');
73
+ _Carousel_single_accessor_storage.set(this, false);
74
+ _Carousel_withDots_accessor_storage.set(this, false);
75
+ _Carousel_withScrollbar_accessor_storage.set(this, false);
76
+ _Carousel_withFullscreen_accessor_storage.set(this, false);
77
+ _Carousel_dotAppearance_accessor_storage.set(this, 'bar');
78
+ _Carousel_maxVisibleDots_accessor_storage.set(this, 0);
79
+ _Carousel_scrollButtonsPosition_accessor_storage.set(this, 'inside');
80
+ _Carousel__selectedSnap_accessor_storage.set(this, 0);
81
+ this.onSlidesInView = () => {
82
+ this.emit('slides-in-view', {
83
+ detail: { indexes: this.embla.slidesInView() },
84
+ });
85
+ };
86
+ this.onInit = () => {
87
+ this.updateNavigation();
88
+ };
89
+ this.onReInit = () => {
90
+ this.updateNavigation();
91
+ this.requestUpdate();
92
+ };
93
+ this.onSelect = () => {
94
+ this.emit('select', {
95
+ detail: { index: this.embla.selectedScrollSnap() },
96
+ });
97
+ this.updateNavigation();
98
+ };
99
+ this.onResize = () => {
100
+ this.requestUpdate();
101
+ };
102
+ this.detachEventListeners = () => {
103
+ this.previousBtn.removeEventListener('click', this.previous);
104
+ this.nextBtn.removeEventListener('click', this.next);
105
+ };
106
+ this.handleSlotChange = (event) => {
107
+ const slot = event.target;
108
+ if (slot.assignedElements().length > 0) {
109
+ this.embla.reInit(this.options());
110
+ }
111
+ };
112
+ this.handleDotClick = (event) => {
113
+ const button = event.currentTarget;
114
+ this.goToSlide(Number(button.dataset.index));
115
+ };
116
+ this.next = () => {
117
+ this.embla.scrollNext();
118
+ };
119
+ this.previous = () => {
120
+ this.embla.scrollPrev();
121
+ };
122
+ }
58
123
  /**
59
124
  * Choose a delay between transitions in milliseconds (default: 4000).
60
125
  */
61
- get autoplay() { return __classPrivateFieldGet(this, _LuxenCarousel_autoplay_accessor_storage, "f"); }
62
- set autoplay(value) { __classPrivateFieldSet(this, _LuxenCarousel_autoplay_accessor_storage, value, "f"); }
126
+ get autoplay() { return __classPrivateFieldGet(this, _Carousel_autoplay_accessor_storage, "f"); }
127
+ set autoplay(value) { __classPrivateFieldSet(this, _Carousel_autoplay_accessor_storage, value, "f"); }
63
128
  /**
64
129
  * Configure autoplay options.
65
130
  *
66
131
  * @link https://www.embla-carousel.com/plugins/autoplay/#options
67
132
  */
68
- get autoplayOptions() { return __classPrivateFieldGet(this, _LuxenCarousel_autoplayOptions_accessor_storage, "f"); }
69
- set autoplayOptions(value) { __classPrivateFieldSet(this, _LuxenCarousel_autoplayOptions_accessor_storage, value, "f"); }
133
+ get autoplayOptions() { return __classPrivateFieldGet(this, _Carousel_autoplayOptions_accessor_storage, "f"); }
134
+ set autoplayOptions(value) { __classPrivateFieldSet(this, _Carousel_autoplayOptions_accessor_storage, value, "f"); }
70
135
  /**
71
136
  * Choose scroll axis between x and y.
72
137
  *
73
138
  * @link https://www.embla-carousel.com/api/options/#axis
74
139
  */
75
- get axis() { return __classPrivateFieldGet(this, _LuxenCarousel_axis_accessor_storage, "f"); }
76
- set axis(value) { __classPrivateFieldSet(this, _LuxenCarousel_axis_accessor_storage, value, "f"); }
140
+ get axis() { return __classPrivateFieldGet(this, _Carousel_axis_accessor_storage, "f"); }
141
+ set axis(value) { __classPrivateFieldSet(this, _Carousel_axis_accessor_storage, value, "f"); }
77
142
  /**
78
143
  * Align the slides relative to the carousel viewport.
79
144
  *
80
145
  * @link https://www.embla-carousel.com/api/options/#align
81
146
  */
82
- get align() { return __classPrivateFieldGet(this, _LuxenCarousel_align_accessor_storage, "f"); }
83
- set align(value) { __classPrivateFieldSet(this, _LuxenCarousel_align_accessor_storage, value, "f"); }
147
+ get align() { return __classPrivateFieldGet(this, _Carousel_align_accessor_storage, "f"); }
148
+ set align(value) { __classPrivateFieldSet(this, _Carousel_align_accessor_storage, value, "f"); }
84
149
  /**
85
150
  * Breakpoint overrides for options.
86
151
  */
87
- get breakpoints() { return __classPrivateFieldGet(this, _LuxenCarousel_breakpoints_accessor_storage, "f"); }
88
- set breakpoints(value) { __classPrivateFieldSet(this, _LuxenCarousel_breakpoints_accessor_storage, value, "f"); }
152
+ get breakpoints() { return __classPrivateFieldGet(this, _Carousel_breakpoints_accessor_storage, "f"); }
153
+ set breakpoints(value) { __classPrivateFieldSet(this, _Carousel_breakpoints_accessor_storage, value, "f"); }
89
154
  /**
90
155
  * Enables infinite looping.
91
156
  *
92
157
  * @link https://www.embla-carousel.com/api/options/#loop
93
158
  */
94
- get loop() { return __classPrivateFieldGet(this, _LuxenCarousel_loop_accessor_storage, "f"); }
95
- set loop(value) { __classPrivateFieldSet(this, _LuxenCarousel_loop_accessor_storage, value, "f"); }
159
+ get loop() { return __classPrivateFieldGet(this, _Carousel_loop_accessor_storage, "f"); }
160
+ set loop(value) { __classPrivateFieldSet(this, _Carousel_loop_accessor_storage, value, "f"); }
96
161
  /**
97
162
  * Enables momentum scrolling (drag free).
98
163
  *
99
164
  * @link https://www.embla-carousel.com/api/options/#dragfree
100
165
  */
101
- get dragFree() { return __classPrivateFieldGet(this, _LuxenCarousel_dragFree_accessor_storage, "f"); }
102
- set dragFree(value) { __classPrivateFieldSet(this, _LuxenCarousel_dragFree_accessor_storage, value, "f"); }
166
+ get dragFree() { return __classPrivateFieldGet(this, _Carousel_dragFree_accessor_storage, "f"); }
167
+ set dragFree(value) { __classPrivateFieldSet(this, _Carousel_dragFree_accessor_storage, value, "f"); }
103
168
  /**
104
169
  * Set scroll duration when triggered by API methods.
105
170
  *
106
171
  * @link https://www.embla-carousel.com/api/options/#duration
107
172
  */
108
- get duration() { return __classPrivateFieldGet(this, _LuxenCarousel_duration_accessor_storage, "f"); }
109
- set duration(value) { __classPrivateFieldSet(this, _LuxenCarousel_duration_accessor_storage, value, "f"); }
173
+ get duration() { return __classPrivateFieldGet(this, _Carousel_duration_accessor_storage, "f"); }
174
+ set duration(value) { __classPrivateFieldSet(this, _Carousel_duration_accessor_storage, value, "f"); }
110
175
  /**
111
176
  * Allow skipping scroll snaps on vigorous drag.
112
177
  *
113
178
  * @link https://www.embla-carousel.com/api/options/#skipsnaps
114
179
  */
115
- get skipSnaps() { return __classPrivateFieldGet(this, _LuxenCarousel_skipSnaps_accessor_storage, "f"); }
116
- set skipSnaps(value) { __classPrivateFieldSet(this, _LuxenCarousel_skipSnaps_accessor_storage, value, "f"); }
180
+ get skipSnaps() { return __classPrivateFieldGet(this, _Carousel_skipSnaps_accessor_storage, "f"); }
181
+ set skipSnaps(value) { __classPrivateFieldSet(this, _Carousel_skipSnaps_accessor_storage, value, "f"); }
117
182
  /**
118
183
  * Group slides together for navigation.
119
184
  *
120
185
  * @link https://www.embla-carousel.com/api/options/#slidestoscroll
121
186
  */
122
- get slidesToScroll() { return __classPrivateFieldGet(this, _LuxenCarousel_slidesToScroll_accessor_storage, "f"); }
123
- set slidesToScroll(value) { __classPrivateFieldSet(this, _LuxenCarousel_slidesToScroll_accessor_storage, value, "f"); }
187
+ get slidesToScroll() { return __classPrivateFieldGet(this, _Carousel_slidesToScroll_accessor_storage, "f"); }
188
+ set slidesToScroll(value) { __classPrivateFieldSet(this, _Carousel_slidesToScroll_accessor_storage, value, "f"); }
124
189
  /**
125
190
  * Set the initial scroll snap index.
126
191
  *
127
192
  * @link https://www.embla-carousel.com/api/options/#startindex
128
193
  */
129
- get startIndex() { return __classPrivateFieldGet(this, _LuxenCarousel_startIndex_accessor_storage, "f"); }
130
- set startIndex(value) { __classPrivateFieldSet(this, _LuxenCarousel_startIndex_accessor_storage, value, "f"); }
194
+ get startIndex() { return __classPrivateFieldGet(this, _Carousel_startIndex_accessor_storage, "f"); }
195
+ set startIndex(value) { __classPrivateFieldSet(this, _Carousel_startIndex_accessor_storage, value, "f"); }
131
196
  /**
132
197
  * Clear leading and trailing empty space.
133
198
  *
134
199
  * @link https://www.embla-carousel.com/api/options/#containscroll
135
200
  */
136
- get containScroll() { return __classPrivateFieldGet(this, _LuxenCarousel_containScroll_accessor_storage, "f"); }
137
- set containScroll(value) { __classPrivateFieldSet(this, _LuxenCarousel_containScroll_accessor_storage, value, "f"); }
138
- get single() { return __classPrivateFieldGet(this, _LuxenCarousel_single_accessor_storage, "f"); }
139
- set single(value) { __classPrivateFieldSet(this, _LuxenCarousel_single_accessor_storage, value, "f"); }
140
- get withDots() { return __classPrivateFieldGet(this, _LuxenCarousel_withDots_accessor_storage, "f"); }
141
- set withDots(value) { __classPrivateFieldSet(this, _LuxenCarousel_withDots_accessor_storage, value, "f"); }
142
- get withScrollbar() { return __classPrivateFieldGet(this, _LuxenCarousel_withScrollbar_accessor_storage, "f"); }
143
- set withScrollbar(value) { __classPrivateFieldSet(this, _LuxenCarousel_withScrollbar_accessor_storage, value, "f"); }
144
- get withFullscreen() { return __classPrivateFieldGet(this, _LuxenCarousel_withFullscreen_accessor_storage, "f"); }
145
- set withFullscreen(value) { __classPrivateFieldSet(this, _LuxenCarousel_withFullscreen_accessor_storage, value, "f"); }
146
- get dotAppearance() { return __classPrivateFieldGet(this, _LuxenCarousel_dotAppearance_accessor_storage, "f"); }
147
- set dotAppearance(value) { __classPrivateFieldSet(this, _LuxenCarousel_dotAppearance_accessor_storage, value, "f"); }
148
- get scrollButtonsPosition() { return __classPrivateFieldGet(this, _LuxenCarousel_scrollButtonsPosition_accessor_storage, "f"); }
149
- set scrollButtonsPosition(value) { __classPrivateFieldSet(this, _LuxenCarousel_scrollButtonsPosition_accessor_storage, value, "f"); }
150
- constructor() {
151
- super();
152
- _LuxenCarousel_autoplay_accessor_storage.set(this, 0);
153
- _LuxenCarousel_autoplayOptions_accessor_storage.set(this, void 0);
154
- _LuxenCarousel_axis_accessor_storage.set(this, 'x');
155
- _LuxenCarousel_align_accessor_storage.set(this, 'start');
156
- _LuxenCarousel_breakpoints_accessor_storage.set(this, {});
157
- _LuxenCarousel_loop_accessor_storage.set(this, false);
158
- _LuxenCarousel_dragFree_accessor_storage.set(this, false);
159
- _LuxenCarousel_duration_accessor_storage.set(this, 20);
160
- _LuxenCarousel_skipSnaps_accessor_storage.set(this, false);
161
- _LuxenCarousel_slidesToScroll_accessor_storage.set(this, 1);
162
- _LuxenCarousel_startIndex_accessor_storage.set(this, 0);
163
- _LuxenCarousel_containScroll_accessor_storage.set(this, 'trimSnaps');
164
- _LuxenCarousel_single_accessor_storage.set(this, false);
165
- _LuxenCarousel_withDots_accessor_storage.set(this, false);
166
- _LuxenCarousel_withScrollbar_accessor_storage.set(this, false);
167
- _LuxenCarousel_withFullscreen_accessor_storage.set(this, false);
168
- _LuxenCarousel_dotAppearance_accessor_storage.set(this, 'bar');
169
- _LuxenCarousel_scrollButtonsPosition_accessor_storage.set(this, 'inside');
170
- this.next = this.next.bind(this);
171
- this.previous = this.previous.bind(this);
172
- this.onInit = this.onInit.bind(this);
173
- this.onReInit = this.onReInit.bind(this);
174
- this.onResize = this.onResize.bind(this);
175
- this.onSelect = this.onSelect.bind(this);
176
- this.onSlidesInView = this.onSlidesInView.bind(this);
177
- this.detachEventListeners = this.detachEventListeners.bind(this);
178
- }
201
+ get containScroll() { return __classPrivateFieldGet(this, _Carousel_containScroll_accessor_storage, "f"); }
202
+ set containScroll(value) { __classPrivateFieldSet(this, _Carousel_containScroll_accessor_storage, value, "f"); }
203
+ get single() { return __classPrivateFieldGet(this, _Carousel_single_accessor_storage, "f"); }
204
+ set single(value) { __classPrivateFieldSet(this, _Carousel_single_accessor_storage, value, "f"); }
205
+ get withDots() { return __classPrivateFieldGet(this, _Carousel_withDots_accessor_storage, "f"); }
206
+ set withDots(value) { __classPrivateFieldSet(this, _Carousel_withDots_accessor_storage, value, "f"); }
207
+ get withScrollbar() { return __classPrivateFieldGet(this, _Carousel_withScrollbar_accessor_storage, "f"); }
208
+ set withScrollbar(value) { __classPrivateFieldSet(this, _Carousel_withScrollbar_accessor_storage, value, "f"); }
209
+ get withFullscreen() { return __classPrivateFieldGet(this, _Carousel_withFullscreen_accessor_storage, "f"); }
210
+ set withFullscreen(value) { __classPrivateFieldSet(this, _Carousel_withFullscreen_accessor_storage, value, "f"); }
211
+ get dotAppearance() { return __classPrivateFieldGet(this, _Carousel_dotAppearance_accessor_storage, "f"); }
212
+ set dotAppearance(value) { __classPrivateFieldSet(this, _Carousel_dotAppearance_accessor_storage, value, "f"); }
213
+ /**
214
+ * Maximum number of dots rendered at once. When the snap count exceeds this,
215
+ * a sliding window keeps the active dot in view and shrinks the edge dot(s)
216
+ * on the side where dots are hidden. `0` (default) renders all dots.
217
+ */
218
+ get maxVisibleDots() { return __classPrivateFieldGet(this, _Carousel_maxVisibleDots_accessor_storage, "f"); }
219
+ set maxVisibleDots(value) { __classPrivateFieldSet(this, _Carousel_maxVisibleDots_accessor_storage, value, "f"); }
220
+ get scrollButtonsPosition() { return __classPrivateFieldGet(this, _Carousel_scrollButtonsPosition_accessor_storage, "f"); }
221
+ set scrollButtonsPosition(value) { __classPrivateFieldSet(this, _Carousel_scrollButtonsPosition_accessor_storage, value, "f"); }
222
+ get _selectedSnap() { return __classPrivateFieldGet(this, _Carousel__selectedSnap_accessor_storage, "f"); }
223
+ set _selectedSnap(value) { __classPrivateFieldSet(this, _Carousel__selectedSnap_accessor_storage, value, "f"); }
179
224
  connectedCallback() {
180
225
  super.connectedCallback();
181
226
  this.createEmbla();
@@ -199,48 +244,16 @@ export class LuxenCarousel extends LuxenElement {
199
244
  .on('select', this.onSelect)
200
245
  .on('destroy', this.detachEventListeners);
201
246
  }
202
- onSlidesInView() {
203
- this.emit('slides-in-view', {
204
- detail: { indexes: this.embla.slidesInView() },
205
- });
206
- }
207
- onInit() {
208
- this.updateNavigation();
209
- }
210
- onReInit() {
211
- this.updateNavigation();
212
- this.requestUpdate();
213
- }
214
- onSelect() {
215
- this.emit('select', {
216
- detail: { index: this.embla.selectedScrollSnap() },
217
- });
218
- this.updateNavigation();
219
- }
220
- onResize() {
221
- this.requestUpdate();
222
- }
223
247
  attachEventListeners() {
224
248
  this.previousBtn.addEventListener('click', this.previous);
225
249
  this.nextBtn.addEventListener('click', this.next);
226
250
  }
227
- detachEventListeners() {
228
- this.previousBtn.removeEventListener('click', this.previous);
229
- this.nextBtn.removeEventListener('click', this.next);
230
- }
231
251
  updateNavigation() {
232
252
  const canScroll = this.embla.canScrollPrev() || this.embla.canScrollNext();
233
253
  this.previousBtn.toggleAttribute('disabled', !this.embla.canScrollPrev());
234
254
  this.nextBtn.toggleAttribute('disabled', !this.embla.canScrollNext());
235
255
  this.scrollButtons.classList.toggle('scroll-buttons--disabled', !canScroll);
236
- if (this.withDots) {
237
- const previous = this.embla.previousScrollSnap();
238
- const selected = this.embla.selectedScrollSnap();
239
- this.dotNodes[previous]?.classList.remove('dot--selected');
240
- this.dotNodes[previous]?.removeAttribute('aria-selected');
241
- this.dotNodes[selected]?.classList.add('dot--selected');
242
- this.dotNodes[selected]?.setAttribute('aria-selected', 'true');
243
- }
256
+ this._selectedSnap = this.embla.selectedScrollSnap();
244
257
  }
245
258
  async updated(changedProperties) {
246
259
  if (changedProperties.has('autoplay') && this.autoplay) {
@@ -250,16 +263,6 @@ export class LuxenCarousel extends LuxenElement {
250
263
  initAutoplay() {
251
264
  this.embla.reInit(this.options(), [Autoplay(this.autoplayOptions || { delay: this.autoplay })]);
252
265
  }
253
- handleSlotChange(event) {
254
- const slot = event.target;
255
- if (slot.assignedElements().length > 0) {
256
- this.embla.reInit(this.options());
257
- }
258
- }
259
- handleDotClick(event) {
260
- const button = event.currentTarget;
261
- this.goToSlide(Number(button.dataset.index));
262
- }
263
266
  options() {
264
267
  const container = this.shadowRoot.querySelector('slot');
265
268
  if (!container) {
@@ -283,12 +286,6 @@ export class LuxenCarousel extends LuxenElement {
283
286
  startIndex: this.startIndex,
284
287
  };
285
288
  }
286
- next() {
287
- this.embla.scrollNext();
288
- }
289
- previous() {
290
- this.embla.scrollPrev();
291
- }
292
289
  goToSlide(index, jump) {
293
290
  this.embla.scrollTo(index, jump);
294
291
  }
@@ -360,6 +357,53 @@ export class LuxenCarousel extends LuxenElement {
360
357
  </button>
361
358
  </div>`;
362
359
  }
360
+ renderDots() {
361
+ if (!this.embla)
362
+ return nothing;
363
+ const snaps = this.embla.scrollSnapList();
364
+ const total = snaps.length;
365
+ if (total === 0)
366
+ return nothing;
367
+ const selected = this._selectedSnap;
368
+ const max = this.maxVisibleDots;
369
+ let start = 0;
370
+ let end = total;
371
+ if (max > 0 && max < total) {
372
+ const half = Math.floor((max - 1) / 2);
373
+ start = Math.max(0, selected - half);
374
+ end = Math.min(total, start + max);
375
+ if (end - start < max)
376
+ start = Math.max(0, end - max);
377
+ }
378
+ const edgeStart = start > 0;
379
+ const edgeEnd = end < total;
380
+ return html `<div
381
+ class="dots"
382
+ part="dots"
383
+ role="tablist"
384
+ >
385
+ ${map(snaps.slice(start, end), (_, i) => {
386
+ const index = start + i;
387
+ const isFirst = i === 0;
388
+ const isLast = i === end - start - 1;
389
+ const isSelected = index === selected;
390
+ const isEdge = !isSelected && ((isFirst && edgeStart) || (isLast && edgeEnd));
391
+ return html `<button
392
+ part="button-dot"
393
+ type="button"
394
+ role="tab"
395
+ class="dot dot--${this.dotAppearance} ${isSelected ? 'dot--selected' : ''}"
396
+ aria-label="Go to slide ${index + 1}"
397
+ aria-selected=${isSelected ? 'true' : nothing}
398
+ data-index="${index}"
399
+ data-edge=${isEdge ? '' : nothing}
400
+ @click=${this.handleDotClick}
401
+ >
402
+ <i></i>
403
+ </button>`;
404
+ })}
405
+ </div>`;
406
+ }
363
407
  render() {
364
408
  return html `
365
409
  <div class="wrapper ${this.isActive() ? '' : 'inactive'}">
@@ -374,100 +418,82 @@ export class LuxenCarousel extends LuxenElement {
374
418
  ></slot>
375
419
  </div>
376
420
  ${this.withFullscreen ? this.renderFullscreenButton() : ''}
377
- ${this.renderNextPreviousButtons()}
378
- ${this.withDots
379
- ? html `<div
380
- class="dots"
381
- part="dots"
382
- role="tablist"
383
- >
384
- ${map(this.embla.scrollSnapList(), (_, index) => {
385
- return html `<button
386
- part="button-dot"
387
- type="button"
388
- role="tab"
389
- class="dot dot--${this.dotAppearance}"
390
- aria-label="Go to slide ${index + 1}"
391
- data-index="${index}"
392
- @click=${this.handleDotClick}
393
- >
394
- <i></i>
395
- </button>`;
396
- })}
397
- </div> `
398
- : ''}
421
+ ${this.renderNextPreviousButtons()} ${this.withDots ? this.renderDots() : ''}
399
422
  </div>
400
423
  `;
401
424
  }
402
425
  }
403
- _LuxenCarousel_autoplay_accessor_storage = new WeakMap(), _LuxenCarousel_autoplayOptions_accessor_storage = new WeakMap(), _LuxenCarousel_axis_accessor_storage = new WeakMap(), _LuxenCarousel_align_accessor_storage = new WeakMap(), _LuxenCarousel_breakpoints_accessor_storage = new WeakMap(), _LuxenCarousel_loop_accessor_storage = new WeakMap(), _LuxenCarousel_dragFree_accessor_storage = new WeakMap(), _LuxenCarousel_duration_accessor_storage = new WeakMap(), _LuxenCarousel_skipSnaps_accessor_storage = new WeakMap(), _LuxenCarousel_slidesToScroll_accessor_storage = new WeakMap(), _LuxenCarousel_startIndex_accessor_storage = new WeakMap(), _LuxenCarousel_containScroll_accessor_storage = new WeakMap(), _LuxenCarousel_single_accessor_storage = new WeakMap(), _LuxenCarousel_withDots_accessor_storage = new WeakMap(), _LuxenCarousel_withScrollbar_accessor_storage = new WeakMap(), _LuxenCarousel_withFullscreen_accessor_storage = new WeakMap(), _LuxenCarousel_dotAppearance_accessor_storage = new WeakMap(), _LuxenCarousel_scrollButtonsPosition_accessor_storage = new WeakMap();
404
- LuxenCarousel.styles = [hostStyles, styles];
426
+ _Carousel_autoplay_accessor_storage = new WeakMap(), _Carousel_autoplayOptions_accessor_storage = new WeakMap(), _Carousel_axis_accessor_storage = new WeakMap(), _Carousel_align_accessor_storage = new WeakMap(), _Carousel_breakpoints_accessor_storage = new WeakMap(), _Carousel_loop_accessor_storage = new WeakMap(), _Carousel_dragFree_accessor_storage = new WeakMap(), _Carousel_duration_accessor_storage = new WeakMap(), _Carousel_skipSnaps_accessor_storage = new WeakMap(), _Carousel_slidesToScroll_accessor_storage = new WeakMap(), _Carousel_startIndex_accessor_storage = new WeakMap(), _Carousel_containScroll_accessor_storage = new WeakMap(), _Carousel_single_accessor_storage = new WeakMap(), _Carousel_withDots_accessor_storage = new WeakMap(), _Carousel_withScrollbar_accessor_storage = new WeakMap(), _Carousel_withFullscreen_accessor_storage = new WeakMap(), _Carousel_dotAppearance_accessor_storage = new WeakMap(), _Carousel_maxVisibleDots_accessor_storage = new WeakMap(), _Carousel_scrollButtonsPosition_accessor_storage = new WeakMap(), _Carousel__selectedSnap_accessor_storage = new WeakMap();
427
+ Carousel.styles = [hostStyles, styles];
405
428
  __decorate([
406
429
  property({ type: Number, reflect: true })
407
- ], LuxenCarousel.prototype, "autoplay", null);
430
+ ], Carousel.prototype, "autoplay", null);
408
431
  __decorate([
409
432
  property({ type: Object, attribute: 'autoplay-options' })
410
- ], LuxenCarousel.prototype, "autoplayOptions", null);
433
+ ], Carousel.prototype, "autoplayOptions", null);
411
434
  __decorate([
412
435
  property()
413
- ], LuxenCarousel.prototype, "axis", null);
436
+ ], Carousel.prototype, "axis", null);
414
437
  __decorate([
415
438
  property()
416
- ], LuxenCarousel.prototype, "align", null);
439
+ ], Carousel.prototype, "align", null);
417
440
  __decorate([
418
441
  property({ type: Object, reflect: true })
419
- ], LuxenCarousel.prototype, "breakpoints", null);
442
+ ], Carousel.prototype, "breakpoints", null);
420
443
  __decorate([
421
444
  property({ type: Boolean })
422
- ], LuxenCarousel.prototype, "loop", null);
445
+ ], Carousel.prototype, "loop", null);
423
446
  __decorate([
424
447
  property({ type: Boolean, attribute: 'drag-free' })
425
- ], LuxenCarousel.prototype, "dragFree", null);
448
+ ], Carousel.prototype, "dragFree", null);
426
449
  __decorate([
427
450
  property({ type: Number })
428
- ], LuxenCarousel.prototype, "duration", null);
451
+ ], Carousel.prototype, "duration", null);
429
452
  __decorate([
430
453
  property({ type: Boolean, attribute: 'skip-snaps' })
431
- ], LuxenCarousel.prototype, "skipSnaps", null);
454
+ ], Carousel.prototype, "skipSnaps", null);
432
455
  __decorate([
433
456
  property({ attribute: 'slides-to-scroll' })
434
- ], LuxenCarousel.prototype, "slidesToScroll", null);
457
+ ], Carousel.prototype, "slidesToScroll", null);
435
458
  __decorate([
436
459
  property({ type: Number, attribute: 'start-index' })
437
- ], LuxenCarousel.prototype, "startIndex", null);
460
+ ], Carousel.prototype, "startIndex", null);
438
461
  __decorate([
439
462
  property({ attribute: 'contain-scroll' })
440
- ], LuxenCarousel.prototype, "containScroll", null);
463
+ ], Carousel.prototype, "containScroll", null);
441
464
  __decorate([
442
465
  property({ type: Boolean })
443
- ], LuxenCarousel.prototype, "single", null);
466
+ ], Carousel.prototype, "single", null);
444
467
  __decorate([
445
468
  property({ type: Boolean, attribute: 'with-dots' })
446
- ], LuxenCarousel.prototype, "withDots", null);
469
+ ], Carousel.prototype, "withDots", null);
447
470
  __decorate([
448
471
  property({ type: Boolean, attribute: 'with-scrollbar' })
449
- ], LuxenCarousel.prototype, "withScrollbar", null);
472
+ ], Carousel.prototype, "withScrollbar", null);
450
473
  __decorate([
451
474
  property({ type: Boolean, attribute: 'with-fullscreen' })
452
- ], LuxenCarousel.prototype, "withFullscreen", null);
475
+ ], Carousel.prototype, "withFullscreen", null);
453
476
  __decorate([
454
477
  property({ type: String, attribute: 'dot-appearance' })
455
- ], LuxenCarousel.prototype, "dotAppearance", null);
478
+ ], Carousel.prototype, "dotAppearance", null);
479
+ __decorate([
480
+ property({ type: Number, attribute: 'max-visible-dots' })
481
+ ], Carousel.prototype, "maxVisibleDots", null);
456
482
  __decorate([
457
483
  property({ type: String, attribute: 'scroll-buttons-position' })
458
- ], LuxenCarousel.prototype, "scrollButtonsPosition", null);
484
+ ], Carousel.prototype, "scrollButtonsPosition", null);
485
+ __decorate([
486
+ state()
487
+ ], Carousel.prototype, "_selectedSnap", null);
459
488
  __decorate([
460
489
  query('.scroll-buttons')
461
- ], LuxenCarousel.prototype, "scrollButtons", void 0);
490
+ ], Carousel.prototype, "scrollButtons", void 0);
462
491
  __decorate([
463
492
  query('.button-previous')
464
- ], LuxenCarousel.prototype, "previousBtn", void 0);
493
+ ], Carousel.prototype, "previousBtn", void 0);
465
494
  __decorate([
466
495
  query('.button-next')
467
- ], LuxenCarousel.prototype, "nextBtn", void 0);
496
+ ], Carousel.prototype, "nextBtn", void 0);
468
497
  __decorate([
469
498
  query('.container')
470
- ], LuxenCarousel.prototype, "container", void 0);
471
- __decorate([
472
- queryAll('.dot')
473
- ], LuxenCarousel.prototype, "dotNodes", void 0);
499
+ ], Carousel.prototype, "container", void 0);
@@ -1,8 +1,8 @@
1
- import { LuxenCarousel } from './carousel';
1
+ import { Carousel } from './carousel';
2
2
  export * from './carousel';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'l-carousel': LuxenCarousel;
5
+ 'l-carousel': Carousel;
6
6
  }
7
7
  }
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,cAAc,YAAY,CAAC;AAG3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,aAAa,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,YAAY,CAAC;AAG3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,QAAQ,CAAC;KACxB;CACF"}
@@ -1,4 +1,4 @@
1
1
  import { define } from '../../define';
2
- import { LuxenCarousel } from './carousel';
2
+ import { Carousel } from './carousel';
3
3
  export * from './carousel';
4
- define('carousel', LuxenCarousel);
4
+ define('carousel', Carousel);
@@ -5,7 +5,7 @@ import { LuxenElement } from '../../shared/luxen-element';
5
5
  *
6
6
  * @cssproperty --aspect-ratio - Aspect ratio of the slide.
7
7
  */
8
- export declare class LuxenCarouselItem extends LuxenElement {
8
+ export declare class CarouselItem extends LuxenElement {
9
9
  static styles: CSSResultGroup;
10
10
  connectedCallback(): void;
11
11
  render(): import("lit").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"carousel-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel-item/carousel-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAgB,MAAM,EAAE,cAAc,CAAwB;IAErD,iBAAiB;IAKjB,MAAM;CAGhB"}
1
+ {"version":3,"file":"carousel-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel-item/carousel-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAgB,MAAM,EAAE,cAAc,CAAwB;IAErD,iBAAiB;IAKjB,MAAM;CAGhB"}
@@ -8,7 +8,7 @@ const styles = unsafeCSS(rawStyles);
8
8
  *
9
9
  * @cssproperty --aspect-ratio - Aspect ratio of the slide.
10
10
  */
11
- export class LuxenCarouselItem extends LuxenElement {
11
+ export class CarouselItem extends LuxenElement {
12
12
  connectedCallback() {
13
13
  super.connectedCallback();
14
14
  this.setAttribute('role', 'group');
@@ -17,4 +17,4 @@ export class LuxenCarouselItem extends LuxenElement {
17
17
  return html ` <slot></slot> `;
18
18
  }
19
19
  }
20
- LuxenCarouselItem.styles = [hostStyles, styles];
20
+ CarouselItem.styles = [hostStyles, styles];
@@ -1,8 +1,8 @@
1
- import { LuxenCarouselItem } from './carousel-item';
1
+ import { CarouselItem } from './carousel-item';
2
2
  export * from './carousel-item';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'l-carousel-item': LuxenCarouselItem;
5
+ 'l-carousel-item': CarouselItem;
6
6
  }
7
7
  }
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel-item/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,cAAc,iBAAiB,CAAC;AAGhC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,iBAAiB,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/carousel-item/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAGhC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,YAAY,CAAC;KACjC;CACF"}
@@ -1,4 +1,4 @@
1
1
  import { define } from '../../define';
2
- import { LuxenCarouselItem } from './carousel-item';
2
+ import { CarouselItem } from './carousel-item';
3
3
  export * from './carousel-item';
4
- define('carousel-item', LuxenCarouselItem);
4
+ define('carousel-item', CarouselItem);
@@ -30,7 +30,7 @@ import { LuxenElement } from '../../shared/luxen-element';
30
30
  * @event hide - Fired when the dialog is about to close. Cancelable — call `event.preventDefault()` to keep it open.
31
31
  * @event after-hide - Fired after the close animation completes.
32
32
  */
33
- export declare class LuxenDialog extends LuxenElement {
33
+ export declare class Dialog extends LuxenElement {
34
34
  static styles: import("lit").CSSResult[];
35
35
  /** Dialog title rendered in the header. */
36
36
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/html/elements/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAwB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,MAAM,CAAC,MAAM,4BAAwB;IAErC,2CAA2C;IAE3C,KAAK,SAAM;IAEX,kCAAkC;IAElC,IAAI,UAAS;IAEb,0CAA0C;IAE1C,YAAY,UAAS;IAErB,uDAAuD;IAEvD,aAAa,UAAS;IAGtB,MAAM,EAAG,iBAAiB,CAAC;IAE3B,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,gBAAgB,CAEtB;IAIF,iBAAiB;IAKjB,oBAAoB;IAKpB,YAAY;IASZ,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IA0BrC,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe,CAAC,CAAY;IAEpC,OAAO,CAAC,aAAa;YAcP,UAAU;IAUxB,OAAO,CAAC,qBAAqB;IAK7B,MAAM;CA0BP"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/html/elements/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAwB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACtC,MAAM,CAAC,MAAM,4BAAwB;IAErC,2CAA2C;IAE3C,KAAK,SAAM;IAEX,kCAAkC;IAElC,IAAI,UAAS;IAEb,0CAA0C;IAE1C,YAAY,UAAS;IAErB,uDAAuD;IAEvD,aAAa,UAAS;IAGtB,MAAM,EAAG,iBAAiB,CAAC;IAE3B,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,gBAAgB,CAEtB;IAIF,iBAAiB;IAKjB,oBAAoB;IAKpB,YAAY;IASZ,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IA0BrC,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe,CAAC,CAAY;IAEpC,OAAO,CAAC,aAAa;YAcP,UAAU;IAUxB,OAAO,CAAC,qBAAqB;IAK7B,MAAM;CA0BP"}