@mhmo91/schmancy 0.8.6 → 0.9.2

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 (1396) hide show
  1. package/README.md +110 -1
  2. package/ai/animation.md +64 -0
  3. package/ai/area.md +35 -256
  4. package/ai/autocomplete.md +44 -162
  5. package/ai/avatar.md +47 -178
  6. package/ai/badge.md +41 -108
  7. package/ai/busy.md +25 -184
  8. package/ai/button.md +52 -150
  9. package/ai/card.md +42 -215
  10. package/ai/checkbox.md +32 -135
  11. package/ai/chips.md +73 -383
  12. package/ai/code-highlight.md +33 -226
  13. package/ai/content-drawer.md +65 -232
  14. package/ai/date-range.md +43 -198
  15. package/ai/details.md +48 -453
  16. package/ai/dialog.md +55 -164
  17. package/ai/directives.md +258 -405
  18. package/ai/divider.md +15 -137
  19. package/ai/dropdown.md +44 -235
  20. package/ai/form.md +41 -137
  21. package/ai/icons.md +31 -235
  22. package/ai/input.md +50 -210
  23. package/ai/lightbox.md +25 -370
  24. package/ai/list.md +51 -130
  25. package/ai/menu.md +25 -134
  26. package/ai/mixins.md +70 -0
  27. package/ai/nav-drawer.md +30 -184
  28. package/ai/navigation-bar.md +27 -184
  29. package/ai/navigation-rail.md +62 -630
  30. package/ai/notification.md +49 -183
  31. package/ai/progress.md +26 -65
  32. package/ai/radio-group.md +45 -189
  33. package/ai/select.md +49 -209
  34. package/ai/sheet.md +74 -506
  35. package/ai/steps.md +30 -392
  36. package/ai/store.md +60 -247
  37. package/ai/surface.md +58 -245
  38. package/ai/table.md +56 -330
  39. package/ai/tabs.md +31 -176
  40. package/ai/textarea.md +48 -232
  41. package/ai/theme.md +40 -1089
  42. package/ai/tooltip.md +35 -146
  43. package/ai/tree.md +45 -271
  44. package/ai/typography.md +43 -296
  45. package/custom-elements.json +10955 -0
  46. package/dist/ai/animation.md +64 -0
  47. package/dist/ai/area.md +35 -256
  48. package/dist/ai/autocomplete.md +44 -162
  49. package/dist/ai/avatar.md +47 -178
  50. package/dist/ai/badge.md +41 -108
  51. package/dist/ai/busy.md +25 -184
  52. package/dist/ai/button.md +52 -150
  53. package/dist/ai/card.md +42 -215
  54. package/dist/ai/checkbox.md +32 -135
  55. package/dist/ai/chips.md +73 -383
  56. package/dist/ai/code-highlight.md +33 -226
  57. package/dist/ai/content-drawer.md +65 -232
  58. package/dist/ai/date-range.md +43 -198
  59. package/dist/ai/details.md +48 -453
  60. package/dist/ai/dialog.md +55 -164
  61. package/dist/ai/directives.md +258 -405
  62. package/dist/ai/divider.md +15 -137
  63. package/dist/ai/dropdown.md +44 -235
  64. package/dist/ai/form.md +41 -137
  65. package/dist/ai/icons.md +31 -235
  66. package/dist/ai/input.md +50 -210
  67. package/dist/ai/lightbox.md +25 -370
  68. package/dist/ai/list.md +51 -130
  69. package/dist/ai/menu.md +25 -134
  70. package/dist/ai/mixins.md +70 -0
  71. package/dist/ai/nav-drawer.md +30 -184
  72. package/dist/ai/navigation-bar.md +27 -184
  73. package/dist/ai/navigation-rail.md +62 -630
  74. package/dist/ai/notification.md +49 -183
  75. package/dist/ai/progress.md +26 -65
  76. package/dist/ai/radio-group.md +45 -189
  77. package/dist/ai/select.md +49 -209
  78. package/dist/ai/sheet.md +74 -506
  79. package/dist/ai/steps.md +30 -392
  80. package/dist/ai/store.md +60 -247
  81. package/dist/ai/surface.md +58 -245
  82. package/dist/ai/table.md +56 -330
  83. package/dist/ai/tabs.md +31 -176
  84. package/dist/ai/textarea.md +48 -232
  85. package/dist/ai/theme.md +40 -1089
  86. package/dist/ai/tooltip.md +35 -146
  87. package/dist/ai/tree.md +45 -271
  88. package/dist/ai/typography.md +43 -296
  89. package/dist/animation-BK-8BwY8.js +173 -0
  90. package/dist/animation-BK-8BwY8.js.map +1 -0
  91. package/dist/animation-CO_Csq84.cjs +16 -0
  92. package/dist/animation-CO_Csq84.cjs.map +1 -0
  93. package/dist/area-1h9xEpTc.cjs +12 -0
  94. package/dist/area-1h9xEpTc.cjs.map +1 -0
  95. package/dist/area-DbBcfm5p.js +590 -0
  96. package/dist/area-DbBcfm5p.js.map +1 -0
  97. package/dist/area.cjs +1 -2
  98. package/dist/area.js +2 -29
  99. package/dist/audio-DtYYgzYD.cjs +1 -0
  100. package/dist/audio-DtYYgzYD.cjs.map +1 -0
  101. package/dist/audio-kz8UgPTO.js +335 -0
  102. package/dist/audio-kz8UgPTO.js.map +1 -0
  103. package/dist/audio.cjs +1 -2
  104. package/dist/audio.js +3 -9
  105. package/dist/autocomplete-DDVsegep.js +378 -0
  106. package/dist/autocomplete-DDVsegep.js.map +1 -0
  107. package/dist/autocomplete-OE70CcYP.cjs +111 -0
  108. package/dist/autocomplete-OE70CcYP.cjs.map +1 -0
  109. package/dist/autocomplete.cjs +1 -2
  110. package/dist/autocomplete.js +1 -2
  111. package/dist/badge.cjs +1 -2
  112. package/dist/badge.js +2 -6
  113. package/dist/boat-Cf1oJ0ka.cjs +80 -0
  114. package/dist/boat-Cf1oJ0ka.cjs.map +1 -0
  115. package/dist/boat-T8Ov4-yA.js +347 -0
  116. package/dist/boat-T8Ov4-yA.js.map +1 -0
  117. package/dist/boat.cjs +1 -2
  118. package/dist/boat.js +2 -5
  119. package/dist/busy-BD6D5P-l.js +167 -0
  120. package/dist/busy-BD6D5P-l.js.map +1 -0
  121. package/dist/busy-DF9wztWL.cjs +134 -0
  122. package/dist/busy-DF9wztWL.cjs.map +1 -0
  123. package/dist/busy.cjs +1 -2
  124. package/dist/busy.js +1 -2
  125. package/dist/button.cjs +113 -2
  126. package/dist/button.cjs.map +1 -1
  127. package/dist/button.js +398 -5
  128. package/dist/button.js.map +1 -1
  129. package/dist/card-Csvu8UJ9.cjs +177 -0
  130. package/dist/card-Csvu8UJ9.cjs.map +1 -0
  131. package/dist/card-DM_miKMd.js +284 -0
  132. package/dist/card-DM_miKMd.js.map +1 -0
  133. package/dist/card.cjs +1 -2
  134. package/dist/card.js +1 -2
  135. package/dist/charts.cjs +112 -2
  136. package/dist/charts.cjs.map +1 -1
  137. package/dist/charts.js +368 -8
  138. package/dist/charts.js.map +1 -1
  139. package/dist/checkbox-BgGtMaMR.js +610 -0
  140. package/dist/checkbox-BgGtMaMR.js.map +1 -0
  141. package/dist/checkbox-sJujc_ga.cjs +39 -0
  142. package/dist/checkbox-sJujc_ga.cjs.map +1 -0
  143. package/dist/checkbox.cjs +1 -2
  144. package/dist/checkbox.js +2 -5
  145. package/dist/chips-BZaH4wez.js +645 -0
  146. package/dist/chips-BZaH4wez.js.map +1 -0
  147. package/dist/chips-D_e6wijp.cjs +253 -0
  148. package/dist/chips-D_e6wijp.cjs.map +1 -0
  149. package/dist/chips.cjs +1 -2
  150. package/dist/chips.js +3 -10
  151. package/dist/chunk-BCfY8kxB.cjs +1 -0
  152. package/dist/chunk-C_1VqBVD.js +11 -0
  153. package/dist/code-highlight-DlhERv_O.cjs +190 -0
  154. package/dist/code-highlight-DlhERv_O.cjs.map +1 -0
  155. package/dist/code-highlight-Q3cc6ukq.js +290 -0
  156. package/dist/code-highlight-Q3cc6ukq.js.map +1 -0
  157. package/dist/code-highlight.cjs +1 -2
  158. package/dist/code-highlight.js +2 -7
  159. package/dist/components-CRhkB3V2.js +730 -0
  160. package/dist/components-CRhkB3V2.js.map +1 -0
  161. package/dist/components-DnlEYYDs.cjs +73 -0
  162. package/dist/components-DnlEYYDs.cjs.map +1 -0
  163. package/dist/components.cjs +1 -2
  164. package/dist/components.js +2 -5
  165. package/dist/connectivity.cjs +59 -0
  166. package/dist/connectivity.cjs.map +1 -0
  167. package/dist/connectivity.js +86 -0
  168. package/dist/connectivity.js.map +1 -0
  169. package/dist/content-drawer.cjs +1 -2
  170. package/dist/content-drawer.js +2 -13
  171. package/dist/cursor-glow-Ah7VXSj7.js +46 -0
  172. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
  173. package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
  174. package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
  175. package/dist/date-range-C0IYnvHF.js +946 -0
  176. package/dist/date-range-C0IYnvHF.js.map +1 -0
  177. package/dist/date-range-cymbTDnl.cjs +131 -0
  178. package/dist/date-range-cymbTDnl.cjs.map +1 -0
  179. package/dist/date-range-inline-0ENN4Plz.js +267 -0
  180. package/dist/date-range-inline-0ENN4Plz.js.map +1 -0
  181. package/dist/date-range-inline-Cfwt-ReH.cjs +43 -0
  182. package/dist/date-range-inline-Cfwt-ReH.cjs.map +1 -0
  183. package/dist/date-range-inline.cjs +1 -2
  184. package/dist/date-range-inline.js +2 -5
  185. package/dist/date-range.cjs +1 -2
  186. package/dist/date-range.js +2 -6
  187. package/dist/delay-D1dVP93u.js +346 -0
  188. package/dist/delay-D1dVP93u.js.map +1 -0
  189. package/dist/delay-D6mQLUp-.cjs +9 -0
  190. package/dist/delay-D6mQLUp-.cjs.map +1 -0
  191. package/dist/delay.cjs +1 -2
  192. package/dist/delay.js +2 -6
  193. package/dist/details-CPT_Mi4e.cjs +168 -0
  194. package/dist/details-CPT_Mi4e.cjs.map +1 -0
  195. package/dist/details-Cv4OOrVW.js +293 -0
  196. package/dist/details-Cv4OOrVW.js.map +1 -0
  197. package/dist/details.cjs +1 -2
  198. package/dist/details.js +2 -5
  199. package/dist/dialog-service-NZEvyEK-.js +193 -0
  200. package/dist/dialog-service-NZEvyEK-.js.map +1 -0
  201. package/dist/dialog-service-VnW4gkmE.cjs +1 -0
  202. package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
  203. package/dist/dialog.cjs +82 -2
  204. package/dist/dialog.cjs.map +1 -1
  205. package/dist/dialog.js +396 -9
  206. package/dist/dialog.js.map +1 -1
  207. package/dist/directives.cjs +108 -2
  208. package/dist/directives.cjs.map +1 -1
  209. package/dist/directives.js +1362 -14
  210. package/dist/directives.js.map +1 -1
  211. package/dist/discovery.cjs +1 -2
  212. package/dist/discovery.cjs.map +1 -1
  213. package/dist/discovery.js +61 -6
  214. package/dist/discovery.js.map +1 -1
  215. package/dist/divider-DDC-kND3.js +87 -0
  216. package/dist/divider-DDC-kND3.js.map +1 -0
  217. package/dist/divider-nZ_2to2N.cjs +57 -0
  218. package/dist/divider-nZ_2to2N.cjs.map +1 -0
  219. package/dist/divider.cjs +1 -2
  220. package/dist/divider.js +1 -2
  221. package/dist/dropdown.cjs +57 -2
  222. package/dist/dropdown.cjs.map +1 -1
  223. package/dist/dropdown.js +160 -5
  224. package/dist/dropdown.js.map +1 -1
  225. package/dist/expand-Bp3N8CcL.js +336 -0
  226. package/dist/expand-Bp3N8CcL.js.map +1 -0
  227. package/dist/expand-Crdts9q_.cjs +141 -0
  228. package/dist/expand-Crdts9q_.cjs.map +1 -0
  229. package/dist/expand.cjs +1 -0
  230. package/dist/expand.js +2 -0
  231. package/dist/extra-B0IZCg0t.cjs +31 -0
  232. package/dist/extra-B0IZCg0t.cjs.map +1 -0
  233. package/dist/extra-DupwhQhC.js +3435 -0
  234. package/dist/extra-DupwhQhC.js.map +1 -0
  235. package/dist/extra.cjs +1 -2
  236. package/dist/extra.js +2 -6
  237. package/dist/float-CQoJ_oSB.cjs +1 -0
  238. package/dist/float-CQoJ_oSB.cjs.map +1 -0
  239. package/dist/float-Dqdc1_S5.js +5 -0
  240. package/dist/float-Dqdc1_S5.js.map +1 -0
  241. package/dist/float.cjs +1 -0
  242. package/dist/float.js +2 -0
  243. package/dist/flow-Bbwn6dRN.cjs +1 -0
  244. package/dist/flow-Bbwn6dRN.cjs.map +1 -0
  245. package/dist/flow-CUj0fDT_.js +386 -0
  246. package/dist/flow-CUj0fDT_.js.map +1 -0
  247. package/dist/form-CW5XNuTg.js +270 -0
  248. package/dist/form-CW5XNuTg.js.map +1 -0
  249. package/dist/form-CvoLqMY7.cjs +1 -0
  250. package/dist/form-CvoLqMY7.cjs.map +1 -0
  251. package/dist/form.cjs +1 -2
  252. package/dist/form.js +1 -2
  253. package/dist/hashContent-DYM21p6t.js +6 -0
  254. package/dist/hashContent-DYM21p6t.js.map +1 -0
  255. package/dist/hashContent-DaeGmY-p.cjs +1 -0
  256. package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
  257. package/dist/icons-BLQHEbIk.cjs +52 -0
  258. package/dist/icons-BLQHEbIk.cjs.map +1 -0
  259. package/dist/icons-Cpfdb7sA.js +161 -0
  260. package/dist/icons-Cpfdb7sA.js.map +1 -0
  261. package/dist/icons.cjs +1 -2
  262. package/dist/icons.js +1 -2
  263. package/dist/iframe-DG6HVYdy.js +44 -0
  264. package/dist/iframe-DG6HVYdy.js.map +1 -0
  265. package/dist/iframe-sJGXBbxT.cjs +24 -0
  266. package/dist/iframe-sJGXBbxT.cjs.map +1 -0
  267. package/dist/iframe.cjs +1 -0
  268. package/dist/iframe.js +2 -0
  269. package/dist/index.cjs +1 -2
  270. package/dist/index.js +69 -285
  271. package/dist/input-BevxycIt.js +364 -0
  272. package/dist/input-BevxycIt.js.map +1 -0
  273. package/dist/input-DGTdmp1Q.cjs +51 -0
  274. package/dist/input-DGTdmp1Q.cjs.map +1 -0
  275. package/dist/input-chip-BWS-SFU4.js +301 -0
  276. package/dist/input-chip-BWS-SFU4.js.map +1 -0
  277. package/dist/input-chip-CKVtjInb.cjs +146 -0
  278. package/dist/input-chip-CKVtjInb.cjs.map +1 -0
  279. package/dist/input.cjs +1 -2
  280. package/dist/input.js +2 -6
  281. package/dist/intersection-BPLpqYEd.js +12 -0
  282. package/dist/intersection-BPLpqYEd.js.map +1 -0
  283. package/dist/intersection-CZpaIHeT.cjs +1 -0
  284. package/dist/intersection-CZpaIHeT.cjs.map +1 -0
  285. package/dist/json.cjs +11 -2
  286. package/dist/json.cjs.map +1 -1
  287. package/dist/json.js +40 -4
  288. package/dist/json.js.map +1 -1
  289. package/dist/layout-4C-6_cre.cjs +1 -0
  290. package/dist/layout-4C-6_cre.cjs.map +1 -0
  291. package/dist/layout-CQdd8UCr.cjs +17 -0
  292. package/dist/layout-CQdd8UCr.cjs.map +1 -0
  293. package/dist/layout-DxLjlDfr.js +267 -0
  294. package/dist/layout-DxLjlDfr.js.map +1 -0
  295. package/dist/layout-yxSlLybo.js +94 -0
  296. package/dist/layout-yxSlLybo.js.map +1 -0
  297. package/dist/layout.cjs +1 -2
  298. package/dist/layout.js +3 -9
  299. package/dist/lightbox-Bjc55lHH.js +678 -0
  300. package/dist/lightbox-Bjc55lHH.js.map +1 -0
  301. package/dist/lightbox-C_863_XU.cjs +202 -0
  302. package/dist/lightbox-C_863_XU.cjs.map +1 -0
  303. package/dist/lightbox.cjs +1 -2
  304. package/dist/lightbox.js +2 -8
  305. package/dist/list-BAqhlzZd.js +105 -0
  306. package/dist/list-BAqhlzZd.js.map +1 -0
  307. package/dist/list-CaXzdN9_.cjs +40 -0
  308. package/dist/list-CaXzdN9_.cjs.map +1 -0
  309. package/dist/list.cjs +1 -2
  310. package/dist/list.js +2 -7
  311. package/dist/litElement.mixin-DN6X9_wD.cjs +1 -0
  312. package/dist/litElement.mixin-DN6X9_wD.cjs.map +1 -0
  313. package/dist/litElement.mixin-Dktub0ri.js +12 -0
  314. package/dist/litElement.mixin-Dktub0ri.js.map +1 -0
  315. package/dist/magnetic-BZGFxAWG.js +47 -0
  316. package/dist/magnetic-BZGFxAWG.js.map +1 -0
  317. package/dist/magnetic-Dux4QwO4.cjs +1 -0
  318. package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
  319. package/dist/mailbox-BvsLXpvy.cjs +1142 -0
  320. package/dist/mailbox-BvsLXpvy.cjs.map +1 -0
  321. package/dist/mailbox-DuMUH4f3.js +1584 -0
  322. package/dist/mailbox-DuMUH4f3.js.map +1 -0
  323. package/dist/mailbox.cjs +1 -2
  324. package/dist/mailbox.js +2 -9
  325. package/dist/map-C2Msv9TQ.cjs +80 -0
  326. package/dist/map-C2Msv9TQ.cjs.map +1 -0
  327. package/dist/map-DkIy1ph7.js +205 -0
  328. package/dist/map-DkIy1ph7.js.map +1 -0
  329. package/dist/map.cjs +1 -2
  330. package/dist/map.js +2 -5
  331. package/dist/menu-DEeDKW5U.js +51 -0
  332. package/dist/menu-DEeDKW5U.js.map +1 -0
  333. package/dist/menu-Mm71lv9k.cjs +23 -0
  334. package/dist/menu-Mm71lv9k.cjs.map +1 -0
  335. package/dist/menu.cjs +1 -2
  336. package/dist/menu.js +1 -2
  337. package/dist/mixins.cjs +1 -2
  338. package/dist/mixins.cjs.map +1 -1
  339. package/dist/mixins.js +59 -12
  340. package/dist/mixins.js.map +1 -1
  341. package/dist/nav-drawer.cjs +1 -2
  342. package/dist/nav-drawer.js +2 -12
  343. package/dist/navigation-bar.cjs +1 -2
  344. package/dist/navigation-bar.js +2 -6
  345. package/dist/navigation-rail.cjs +71 -2
  346. package/dist/navigation-rail.cjs.map +1 -1
  347. package/dist/navigation-rail.js +363 -5
  348. package/dist/navigation-rail.js.map +1 -1
  349. package/dist/notification-K-ug8cKk.js +304 -0
  350. package/dist/notification-K-ug8cKk.js.map +1 -0
  351. package/dist/notification-cTgXEDZ0.cjs +23 -0
  352. package/dist/notification-cTgXEDZ0.cjs.map +1 -0
  353. package/dist/notification.cjs +1 -2
  354. package/dist/notification.js +2 -9
  355. package/dist/option-5rEOmtAm.cjs +43 -0
  356. package/dist/option-5rEOmtAm.cjs.map +1 -0
  357. package/dist/option-TFSKvSjT.js +97 -0
  358. package/dist/option-TFSKvSjT.js.map +1 -0
  359. package/dist/option.cjs +1 -2
  360. package/dist/option.js +1 -2
  361. package/dist/overlay-stack-DQey9Qph.cjs +1 -0
  362. package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
  363. package/dist/overlay-stack-DT1SdaGW.js +39 -0
  364. package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
  365. package/dist/page.cjs +20 -2
  366. package/dist/page.cjs.map +1 -1
  367. package/dist/page.js +71 -4
  368. package/dist/page.js.map +1 -1
  369. package/dist/progress-Cta3nM-f.js +128 -0
  370. package/dist/progress-Cta3nM-f.js.map +1 -0
  371. package/dist/progress-iu0AMbSg.cjs +51 -0
  372. package/dist/progress-iu0AMbSg.cjs.map +1 -0
  373. package/dist/progress.cjs +1 -2
  374. package/dist/progress.js +1 -2
  375. package/dist/provide-BEyyKlDM.cjs +1 -0
  376. package/dist/provide-BEyyKlDM.cjs.map +1 -0
  377. package/dist/provide-D69zybs5.js +107 -0
  378. package/dist/provide-D69zybs5.js.map +1 -0
  379. package/dist/qr-scanner.cjs +35 -2
  380. package/dist/qr-scanner.cjs.map +1 -1
  381. package/dist/qr-scanner.js +119 -4
  382. package/dist/qr-scanner.js.map +1 -1
  383. package/dist/radio-group-BjSWmYJC.js +105 -0
  384. package/dist/radio-group-BjSWmYJC.js.map +1 -0
  385. package/dist/radio-group-DKPN0T50.cjs +40 -0
  386. package/dist/radio-group-DKPN0T50.cjs.map +1 -0
  387. package/dist/radio-group.cjs +1 -2
  388. package/dist/radio-group.js +2 -6
  389. package/dist/range.cjs +62 -0
  390. package/dist/range.cjs.map +1 -0
  391. package/dist/range.js +85 -0
  392. package/dist/range.js.map +1 -0
  393. package/dist/reduced-motion-D-L12p7G.js +7 -0
  394. package/dist/reduced-motion-D-L12p7G.js.map +1 -0
  395. package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
  396. package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
  397. package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
  398. package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
  399. package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
  400. package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
  401. package/dist/rxjs-utils.cjs +1 -2
  402. package/dist/rxjs-utils.js +2 -14
  403. package/dist/scroll-mayaGGpE.cjs +26 -0
  404. package/dist/scroll-mayaGGpE.cjs.map +1 -0
  405. package/dist/scroll-tG1vaRFO.js +112 -0
  406. package/dist/scroll-tG1vaRFO.js.map +1 -0
  407. package/dist/search-C4dFHYbX.js +91 -0
  408. package/dist/search-C4dFHYbX.js.map +1 -0
  409. package/dist/search-Ds8tt7Et.cjs +1 -0
  410. package/dist/search-Ds8tt7Et.cjs.map +1 -0
  411. package/dist/select-C4YK5Arj.cjs +56 -0
  412. package/dist/select-C4YK5Arj.cjs.map +1 -0
  413. package/dist/select-CepryGGP.js +305 -0
  414. package/dist/select-CepryGGP.js.map +1 -0
  415. package/dist/select.cjs +1 -2
  416. package/dist/select.js +2 -5
  417. package/dist/sheet-Cy4C2-kG.cjs +35 -0
  418. package/dist/sheet-Cy4C2-kG.cjs.map +1 -0
  419. package/dist/sheet-D2uT95S1.js +168 -0
  420. package/dist/sheet-D2uT95S1.js.map +1 -0
  421. package/dist/sheet.cjs +1 -2
  422. package/dist/sheet.js +3 -7
  423. package/dist/sheet.service-Dv5Hwj3k.cjs +1 -0
  424. package/dist/sheet.service-Dv5Hwj3k.cjs.map +1 -0
  425. package/dist/sheet.service-Os8KJGSE.js +86 -0
  426. package/dist/sheet.service-Os8KJGSE.js.map +1 -0
  427. package/dist/slider.cjs +82 -2
  428. package/dist/slider.cjs.map +1 -1
  429. package/dist/slider.js +143 -5
  430. package/dist/slider.js.map +1 -1
  431. package/dist/sound.service-Bu3EQLv2.cjs +1 -0
  432. package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
  433. package/dist/sound.service-m3BrSfuH.js +2353 -0
  434. package/dist/sound.service-m3BrSfuH.js.map +1 -0
  435. package/dist/src-BLcmKlCH.js +1244 -0
  436. package/dist/src-BLcmKlCH.js.map +1 -0
  437. package/dist/src-tfU0akqI.cjs +269 -0
  438. package/dist/src-tfU0akqI.cjs.map +1 -0
  439. package/dist/steps.cjs +70 -2
  440. package/dist/steps.cjs.map +1 -1
  441. package/dist/steps.js +178 -7
  442. package/dist/steps.js.map +1 -1
  443. package/dist/store-CorvD3bT.cjs +1 -0
  444. package/dist/store-CorvD3bT.cjs.map +1 -0
  445. package/dist/store-DYqDLAvT.js +1654 -0
  446. package/dist/store-DYqDLAvT.js.map +1 -0
  447. package/dist/store.cjs +1 -2
  448. package/dist/store.js +2 -47
  449. package/dist/surface-CiiIYeJN.cjs +7 -0
  450. package/dist/surface-CiiIYeJN.cjs.map +1 -0
  451. package/dist/surface-fXvRpS6s.js +21 -0
  452. package/dist/surface-fXvRpS6s.js.map +1 -0
  453. package/dist/surface.cjs +1 -2
  454. package/dist/surface.js +2 -6
  455. package/dist/surface.mixin-C4hbgyaP.cjs +297 -0
  456. package/dist/surface.mixin-C4hbgyaP.cjs.map +1 -0
  457. package/dist/surface.mixin-DBuxL5aL.js +320 -0
  458. package/dist/surface.mixin-DBuxL5aL.js.map +1 -0
  459. package/dist/table-BRVKlNjl.cjs +63 -0
  460. package/dist/table-BRVKlNjl.cjs.map +1 -0
  461. package/dist/table-BeXnwSsq.js +631 -0
  462. package/dist/table-BeXnwSsq.js.map +1 -0
  463. package/dist/table.cjs +1 -2
  464. package/dist/table.js +2 -6
  465. package/dist/tabs-CBU9Ctqm.cjs +31 -0
  466. package/dist/tabs-CBU9Ctqm.cjs.map +1 -0
  467. package/dist/tabs-y708NWQ2.js +125 -0
  468. package/dist/tabs-y708NWQ2.js.map +1 -0
  469. package/dist/tabs.cjs +1 -2
  470. package/dist/tabs.js +1 -2
  471. package/dist/tailwind.mixin-C4cx3IOr.js +225 -0
  472. package/dist/tailwind.mixin-C4cx3IOr.js.map +1 -0
  473. package/dist/tailwind.mixin-DGiyLbEi.cjs +2 -0
  474. package/dist/tailwind.mixin-DGiyLbEi.cjs.map +1 -0
  475. package/dist/teleport.cjs +1 -2
  476. package/dist/teleport.js +2 -8
  477. package/dist/textarea-BhAoJg8c.cjs +35 -0
  478. package/dist/textarea-BhAoJg8c.cjs.map +1 -0
  479. package/dist/textarea-Bl8-gQEJ.js +195 -0
  480. package/dist/textarea-Bl8-gQEJ.js.map +1 -0
  481. package/dist/textarea.cjs +1 -2
  482. package/dist/textarea.js +1 -2
  483. package/dist/theme-C-vdR-Ic.cjs +181 -0
  484. package/dist/theme-C-vdR-Ic.cjs.map +1 -0
  485. package/dist/theme-DZUpYJn-.js +4121 -0
  486. package/dist/theme-DZUpYJn-.js.map +1 -0
  487. package/dist/theme-button-CwrvpOMK.js +19 -0
  488. package/dist/theme-button-CwrvpOMK.js.map +1 -0
  489. package/dist/theme-button-Cx1iKh7G.cjs +8 -0
  490. package/dist/theme-button-Cx1iKh7G.cjs.map +1 -0
  491. package/dist/theme-button.cjs +1 -2
  492. package/dist/theme-button.js +1 -2
  493. package/dist/theme.cjs +1 -2
  494. package/dist/theme.events-Cv7N4Toe.js +2 -0
  495. package/dist/theme.events-Cv7N4Toe.js.map +1 -0
  496. package/dist/theme.events-DM4H5F2d.cjs +1 -0
  497. package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
  498. package/dist/theme.interface-CXloMUCw.js +276 -0
  499. package/dist/theme.interface-CXloMUCw.js.map +1 -0
  500. package/dist/theme.interface-Da23QAYb.cjs +1 -0
  501. package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
  502. package/dist/theme.js +6 -21
  503. package/dist/theme.service-C_tjlqgy.cjs +1 -0
  504. package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
  505. package/dist/theme.service-D9lEas89.js +108 -0
  506. package/dist/theme.service-D9lEas89.js.map +1 -0
  507. package/dist/tooltip.cjs +6 -2
  508. package/dist/tooltip.cjs.map +1 -1
  509. package/dist/tooltip.js +200 -5
  510. package/dist/tooltip.js.map +1 -1
  511. package/dist/tree.cjs +26 -2
  512. package/dist/tree.cjs.map +1 -1
  513. package/dist/tree.js +64 -4
  514. package/dist/tree.js.map +1 -1
  515. package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
  516. package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
  517. package/dist/tslib.es6-ErZEp3OO.js +7 -0
  518. package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
  519. package/dist/types.cjs +1 -2
  520. package/dist/types.cjs.map +1 -1
  521. package/dist/types.js +4 -5
  522. package/dist/types.js.map +1 -1
  523. package/dist/typewriter-CXQIzqPV.cjs +123 -0
  524. package/dist/typewriter-CXQIzqPV.cjs.map +1 -0
  525. package/dist/typewriter-mxVw5dFn.js +700 -0
  526. package/dist/typewriter-mxVw5dFn.js.map +1 -0
  527. package/dist/typewriter.cjs +1 -2
  528. package/dist/typewriter.js +2 -5
  529. package/dist/typography.cjs +282 -2
  530. package/dist/typography.cjs.map +1 -1
  531. package/dist/typography.js +353 -4
  532. package/dist/typography.js.map +1 -1
  533. package/dist/utils-BcaKtQuA.cjs +1 -0
  534. package/dist/utils-BcaKtQuA.cjs.map +1 -0
  535. package/dist/utils-CoU7M2YS.js +259 -0
  536. package/dist/utils-CoU7M2YS.js.map +1 -0
  537. package/dist/utils.cjs +1 -2
  538. package/dist/utils.js +6 -9
  539. package/dist/window-DFMlB1Tq.cjs +59 -0
  540. package/dist/window-DFMlB1Tq.cjs.map +1 -0
  541. package/dist/window-EWYJJC_H.js +548 -0
  542. package/dist/window-EWYJJC_H.js.map +1 -0
  543. package/dist/window.cjs +1 -0
  544. package/dist/window.js +2 -0
  545. package/mixins/baseElement.ts +118 -1
  546. package/mixins/discovery.service.ts +162 -1
  547. package/mixins/formField.mixin.ts +13 -8
  548. package/mixins/index.ts +2 -0
  549. package/mixins/surface.mixin.ts +93 -0
  550. package/mixins/tailwind.css +331 -14
  551. package/package.json +32 -28
  552. package/src/CLAUDE.md +428 -0
  553. package/src/area/.excalidraw +357 -0
  554. package/src/area/area.component.ts +449 -0
  555. package/src/area/area.service.test.ts +1007 -0
  556. package/src/area/area.service.ts +748 -0
  557. package/src/area/ecrypt.ts +7 -0
  558. package/src/area/index.ts +7 -0
  559. package/src/area/lazy.ts +83 -0
  560. package/src/area/readme.md +338 -0
  561. package/src/area/route.component.ts +79 -0
  562. package/src/area/router-guide.md +360 -0
  563. package/src/area/router.types.ts +101 -0
  564. package/src/area/utils.ts +354 -0
  565. package/src/audio/emotional-sounds.ts +940 -0
  566. package/src/audio/index.ts +53 -0
  567. package/src/audio/sound.service.ts +1079 -0
  568. package/src/autocomplete/README.md +485 -0
  569. package/src/autocomplete/autocomplete.scss +24 -0
  570. package/src/autocomplete/autocomplete.ts +733 -0
  571. package/src/autocomplete/index.ts +1 -0
  572. package/src/avatar.ts +164 -0
  573. package/src/badge/badge.ts +286 -0
  574. package/src/badge/index.ts +1 -0
  575. package/src/boat/boat.ts +664 -0
  576. package/src/boat/index.ts +1 -0
  577. package/src/busy/busy.ts +39 -0
  578. package/src/busy/index.ts +2 -0
  579. package/src/busy/spinner.ts +165 -0
  580. package/src/button/button.ts +382 -0
  581. package/src/button/icon-button.ts +287 -0
  582. package/src/button/index.ts +2 -0
  583. package/src/card/actions.ts +28 -0
  584. package/src/card/card.ts +319 -0
  585. package/src/card/content.ts +24 -0
  586. package/src/card/index.ts +4 -0
  587. package/src/card/media.ts +77 -0
  588. package/src/charts/area-chart.ts +495 -0
  589. package/src/charts/index.ts +4 -0
  590. package/src/charts/pills.ts +350 -0
  591. package/src/charts/types.ts +66 -0
  592. package/src/charts/utils.ts +65 -0
  593. package/src/checkbox/checkbox.ts +122 -0
  594. package/src/checkbox/index.ts +1 -0
  595. package/src/chips/assist-chip.ts +261 -0
  596. package/src/chips/chips.ts +259 -0
  597. package/src/chips/filter-chip.ts +255 -0
  598. package/src/chips/index.ts +5 -0
  599. package/src/chips/input-chip.ts +408 -0
  600. package/src/chips/suggestion-chip.ts +266 -0
  601. package/src/code-highlight/code-highlight.ts +344 -0
  602. package/src/code-highlight/code-preview.ts +123 -0
  603. package/src/code-highlight/index.ts +3 -0
  604. package/src/components/form-elements/index.ts +1 -0
  605. package/src/components/form-elements/payment-card-form.ts +331 -0
  606. package/src/components/index.ts +1 -0
  607. package/src/connectivity/connectivity-status.ts +153 -0
  608. package/src/connectivity/index.ts +1 -0
  609. package/src/content-drawer/context.ts +13 -0
  610. package/src/content-drawer/drawer.service.ts +148 -0
  611. package/src/content-drawer/drawer.ts +183 -0
  612. package/src/content-drawer/index.ts +5 -0
  613. package/src/content-drawer/main.ts +83 -0
  614. package/src/content-drawer/readme.md +709 -0
  615. package/src/content-drawer/sheet.ts +180 -0
  616. package/src/date-range/date-range-dialog.ts +230 -0
  617. package/src/date-range/date-range-helpers.ts +135 -0
  618. package/src/date-range/date-range-presets.ts +220 -0
  619. package/src/date-range/date-range.ts +530 -0
  620. package/src/date-range/date-utils.ts +58 -0
  621. package/src/date-range/index.ts +2 -0
  622. package/src/date-range-inline/date-range-inline.ts +522 -0
  623. package/src/date-range-inline/index.ts +2 -0
  624. package/src/delay/delay.ts +136 -0
  625. package/src/delay/index.ts +1 -0
  626. package/src/details/details.ts +429 -0
  627. package/src/details/index.ts +1 -0
  628. package/src/dialog/dialog-base.mixin.ts +565 -0
  629. package/src/dialog/dialog-events.ts +17 -0
  630. package/src/dialog/dialog-service.ts +482 -0
  631. package/src/dialog/dialog.component.ts +394 -0
  632. package/src/dialog/index.ts +3 -0
  633. package/src/directives/animate-text.ts +551 -0
  634. package/src/directives/color.ts +41 -0
  635. package/src/directives/confirm-click.ts +350 -0
  636. package/src/directives/cursor-glow.ts +142 -0
  637. package/src/directives/cycle-text.ts +496 -0
  638. package/src/directives/depth-of-field.ts +83 -0
  639. package/src/directives/drag.ts +370 -0
  640. package/src/directives/gravity.ts +117 -0
  641. package/src/directives/index.ts +19 -0
  642. package/src/directives/intersect.ts +204 -0
  643. package/src/directives/layout.ts +261 -0
  644. package/src/directives/liquid.ts +150 -0
  645. package/src/directives/living-border.ts +166 -0
  646. package/src/directives/long-press.ts +150 -0
  647. package/src/directives/magnetic.ts +133 -0
  648. package/src/directives/nebula.ts +773 -0
  649. package/src/directives/reduced-motion.ts +30 -0
  650. package/src/directives/reveal.ts +158 -0
  651. package/src/directives/ripple.ts +102 -0
  652. package/src/directives/typewriter.ts +349 -0
  653. package/src/discovery/discovery.service.ts +210 -0
  654. package/src/discovery/index.ts +1 -0
  655. package/src/divider/divider.ts +100 -0
  656. package/src/divider/index.ts +1 -0
  657. package/src/dropdown/dropdown-component.ts +264 -0
  658. package/src/dropdown/dropdown-content.ts +108 -0
  659. package/src/dropdown/index.ts +2 -0
  660. package/src/expand/expand-root.component.ts +278 -0
  661. package/src/expand/expand.component.ts +287 -0
  662. package/src/expand/index.ts +2 -0
  663. package/src/extra/countries/countries.data.ts +196 -0
  664. package/src/extra/countries/countries.ts +107 -0
  665. package/src/extra/countries/index.ts +2 -0
  666. package/src/extra/index.ts +2 -0
  667. package/src/extra/timezone/index.ts +2 -0
  668. package/src/extra/timezone/timezone.ts +116 -0
  669. package/src/extra/timezone/timezones.data.ts +2546 -0
  670. package/src/float/float.ts +18 -0
  671. package/src/float/index.ts +1 -0
  672. package/src/form/form-v2.ts +268 -0
  673. package/src/form/form.ts +194 -0
  674. package/src/form/index.ts +2 -0
  675. package/src/icons/icon.ts +293 -0
  676. package/src/icons/index.ts +1 -0
  677. package/src/icons/readme.md +37 -0
  678. package/src/iframe/iframe.ts +98 -0
  679. package/src/iframe/index.ts +1 -0
  680. package/src/index.ts +69 -0
  681. package/src/input/index.ts +8 -0
  682. package/src/input/input.scss +211 -0
  683. package/src/input/input.ts +951 -0
  684. package/src/json/index.ts +1 -0
  685. package/src/json/json.ts +55 -0
  686. package/src/layout/flex/flex.scss +4 -0
  687. package/src/layout/flex/flex.ts +74 -0
  688. package/src/layout/flex/index.ts +1 -0
  689. package/src/layout/grid/.readme +79 -0
  690. package/src/layout/grid/grid.scss +5 -0
  691. package/src/layout/grid/grid.ts +121 -0
  692. package/src/layout/grid/index.ts +1 -0
  693. package/src/layout/index.ts +5 -0
  694. package/src/layout/layout.ts +122 -0
  695. package/src/layout/scroll/index.ts +1 -0
  696. package/src/layout/scroll/scroll.ts +351 -0
  697. package/src/layout/v2/flex.ts +243 -0
  698. package/src/layout/v2/grid.ts +93 -0
  699. package/src/layout/v2/index.ts +1 -0
  700. package/src/lightbox/flip-directive.ts +270 -0
  701. package/src/lightbox/index.ts +4 -0
  702. package/src/lightbox/lightbox-service.ts +378 -0
  703. package/src/lightbox/lightbox.directive.ts +256 -0
  704. package/src/lightbox/lightbox.ts +417 -0
  705. package/src/list/context.ts +3 -0
  706. package/src/list/index.ts +3 -0
  707. package/src/list/list-item.ts +94 -0
  708. package/src/list/list.ts +87 -0
  709. package/src/list/readme.md +62 -0
  710. package/src/mailbox/README.md +131 -0
  711. package/src/mailbox/email-editor.ts +1071 -0
  712. package/src/mailbox/email-layout-selector.ts +58 -0
  713. package/src/mailbox/email-recipients.ts +594 -0
  714. package/src/mailbox/email-template-picker.ts +296 -0
  715. package/src/mailbox/email-viewer.ts +715 -0
  716. package/src/mailbox/index.ts +31 -0
  717. package/src/mailbox/mailbox.ts +363 -0
  718. package/src/mailbox/types.ts +181 -0
  719. package/src/map/index.ts +1 -0
  720. package/src/map/map.ts +483 -0
  721. package/src/menu/index.ts +2 -0
  722. package/src/menu/menu-item.ts +26 -0
  723. package/src/menu/menu.ts +83 -0
  724. package/src/nav-drawer/$navbar.ts +51 -0
  725. package/src/nav-drawer/appbar.ts +26 -0
  726. package/src/nav-drawer/content.ts +32 -0
  727. package/src/nav-drawer/context.ts +6 -0
  728. package/src/nav-drawer/drawer.ts +128 -0
  729. package/src/nav-drawer/index.ts +6 -0
  730. package/src/nav-drawer/navbar.ts +191 -0
  731. package/src/navigation-bar/index.ts +2 -0
  732. package/src/navigation-bar/navigation-bar-item.ts +417 -0
  733. package/src/navigation-bar/navigation-bar.ts +482 -0
  734. package/src/navigation-rail/index.ts +2 -0
  735. package/src/navigation-rail/navigation-rail-item.ts +443 -0
  736. package/src/navigation-rail/navigation-rail.ts +492 -0
  737. package/src/notification/index.ts +6 -0
  738. package/src/notification/notification-service.ts +324 -0
  739. package/src/notification/notification.scss +117 -0
  740. package/src/notification/notification.ts +263 -0
  741. package/src/notification/notify.ts +207 -0
  742. package/src/notification/outlet.ts +16 -0
  743. package/src/option/index.ts +1 -0
  744. package/src/option/option.ts +180 -0
  745. package/src/page/index.ts +1 -0
  746. package/src/page/page.ts +135 -0
  747. package/src/progress/index.ts +1 -0
  748. package/src/progress/progress.ts +143 -0
  749. package/src/qr-scanner/index.ts +1 -0
  750. package/src/qr-scanner/qr-scanner.ts +240 -0
  751. package/src/radio-group/index.ts +2 -0
  752. package/src/radio-group/radio-button.ts +81 -0
  753. package/src/radio-group/radio-group.scss +4 -0
  754. package/src/radio-group/radio-group.ts +110 -0
  755. package/src/radio-group/readme.md +315 -0
  756. package/src/range/index.ts +1 -0
  757. package/src/range/range.ts +102 -0
  758. package/src/rxjs-utils/index.ts +6 -0
  759. package/src/rxjs-utils/mutation-observer.ts +22 -0
  760. package/src/rxjs-utils/waitForElement.ts +33 -0
  761. package/src/rxjs-utils/waitForElementAll.ts +34 -0
  762. package/src/rxjs-utils/waitForElements.ts +40 -0
  763. package/src/rxjs-utils/waitForElementsAll.ts +42 -0
  764. package/src/rxjs-utils/waitUntil.ts +16 -0
  765. package/src/select/README.md +405 -0
  766. package/src/select/index.ts +2 -0
  767. package/src/select/select.ts +766 -0
  768. package/src/sheet/hook.ts +40 -0
  769. package/src/sheet/index.ts +2 -0
  770. package/src/sheet/sheet.service.ts +235 -0
  771. package/src/sheet/sheet.ts +236 -0
  772. package/src/slider/index.ts +2 -0
  773. package/src/slider/slide.ts +107 -0
  774. package/src/slider/slider.ts +164 -0
  775. package/src/steps/index.ts +3 -0
  776. package/src/steps/schmancy-step.ts +213 -0
  777. package/src/steps/schmancy-steps-container.ts +109 -0
  778. package/src/steps/steps.context.ts +23 -0
  779. package/src/store/context-array.ts +358 -0
  780. package/src/store/context-collection.ts +218 -0
  781. package/src/store/context-create.ts +284 -0
  782. package/src/store/context-object.ts +298 -0
  783. package/src/store/filter-directive.ts +614 -0
  784. package/src/store/immer-integration.ts +99 -0
  785. package/src/store/index.ts +10 -0
  786. package/src/store/selector-hook.ts +259 -0
  787. package/src/store/selectors.ts +289 -0
  788. package/src/store/storage-manager.ts +269 -0
  789. package/src/store/store.class.ts +239 -0
  790. package/src/store/types.ts +327 -0
  791. package/src/surface/context.ts +3 -0
  792. package/src/surface/index.ts +1 -0
  793. package/src/surface/surface.styles.ts +334 -0
  794. package/src/surface/surface.ts +59 -0
  795. package/src/table/index.ts +2 -0
  796. package/src/table/row.ts +60 -0
  797. package/src/table/table.ts +266 -0
  798. package/src/tabs/Readme.md +397 -0
  799. package/src/tabs/context.ts +5 -0
  800. package/src/tabs/index.ts +4 -0
  801. package/src/tabs/tab.ts +39 -0
  802. package/src/tabs/tabs-compatibility.ts +20 -0
  803. package/src/tabs/tabs-group.ts +184 -0
  804. package/src/teleport/.excalidraw +2511 -0
  805. package/src/teleport/index.ts +2 -0
  806. package/src/teleport/readme.md +91 -0
  807. package/src/teleport/teleport.component.ts +132 -0
  808. package/src/teleport/teleport.service.ts +139 -0
  809. package/src/teleport/watcher.ts +20 -0
  810. package/src/textarea/index.ts +1 -0
  811. package/src/textarea/textarea.scss +54 -0
  812. package/src/textarea/textarea.ts +432 -0
  813. package/src/theme/context.ts +28 -0
  814. package/src/theme/index.ts +17 -0
  815. package/src/theme/theme-audio-player.ts +470 -0
  816. package/src/theme/theme-controller-boat.ts +49 -0
  817. package/src/theme/theme-controller-example.md +152 -0
  818. package/src/theme/theme-controller.ts +205 -0
  819. package/src/theme/theme.component.ts +305 -0
  820. package/src/theme/theme.events.ts +59 -0
  821. package/src/theme/theme.format.ts +417 -0
  822. package/src/theme/theme.interface.ts +399 -0
  823. package/src/theme/theme.service.ts +520 -0
  824. package/src/theme/theme.style.css +619 -0
  825. package/src/theme-button/index.ts +1 -0
  826. package/src/theme-button/theme-button.ts +35 -0
  827. package/src/tooltip/index.ts +2 -0
  828. package/src/tooltip/tooltip.directive.ts +277 -0
  829. package/src/tooltip/tooltip.ts +216 -0
  830. package/src/tree/README.md +59 -0
  831. package/src/tree/index.ts +1 -0
  832. package/src/tree/tree.ts +132 -0
  833. package/src/types/events.ts +5 -0
  834. package/src/types/index.ts +3 -0
  835. package/src/types/mood-audio.types.ts +220 -0
  836. package/src/types/surface.ts +52 -0
  837. package/src/typewriter/IMPROVEMENTS.md +174 -0
  838. package/src/typewriter/QUICK_REFERENCE.md +166 -0
  839. package/src/typewriter/index.ts +1 -0
  840. package/src/typewriter/test-typewriter.html +97 -0
  841. package/src/typewriter/typewriter.ts +376 -0
  842. package/src/typography/index.ts +1 -0
  843. package/src/typography/typography.ts +448 -0
  844. package/src/utils/animation.ts +418 -0
  845. package/src/utils/hashContent.ts +12 -0
  846. package/src/utils/index.ts +6 -0
  847. package/src/utils/intersection.ts +22 -0
  848. package/src/utils/number.ts +529 -0
  849. package/src/utils/overlay-stack.ts +101 -0
  850. package/src/utils/search.ts +322 -0
  851. package/src/vite-env.d.ts +2 -0
  852. package/src/window/index.ts +10 -0
  853. package/src/window/window-manager.ts +204 -0
  854. package/src/window/window-position.ts +136 -0
  855. package/src/window/window-registry.ts +34 -0
  856. package/src/window/window.ts +724 -0
  857. package/types/mixins/baseElement.d.ts +12 -0
  858. package/types/mixins/discovery.service.d.ts +72 -0
  859. package/types/mixins/index.d.ts +2 -0
  860. package/types/mixins/surface.mixin.d.ts +39 -0
  861. package/types/src/area/area.service.d.ts +2 -0
  862. package/types/src/badge/badge.d.ts +1 -1
  863. package/types/src/boat/boat.d.ts +40 -33
  864. package/types/src/button/icon-button.d.ts +10 -0
  865. package/types/src/chips/filter-chip.d.ts +0 -12
  866. package/types/src/connectivity/connectivity-status.d.ts +25 -0
  867. package/types/src/connectivity/index.d.ts +1 -0
  868. package/types/src/content-drawer/drawer.service.d.ts +3 -0
  869. package/types/src/date-range/date-range.d.ts +2 -0
  870. package/types/src/details/details.d.ts +26 -2
  871. package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
  872. package/types/src/dialog/dialog-service.d.ts +27 -1
  873. package/types/src/dialog/dialog.component.d.ts +35 -1
  874. package/types/src/directives/animate-text.d.ts +67 -0
  875. package/types/src/directives/color.d.ts +2 -3
  876. package/types/src/directives/confirm-click.d.ts +38 -0
  877. package/types/src/directives/cursor-glow.d.ts +38 -0
  878. package/types/src/directives/cycle-text.d.ts +44 -0
  879. package/types/src/directives/depth-of-field.d.ts +38 -0
  880. package/types/src/directives/drag.d.ts +8 -8
  881. package/types/src/directives/gravity.d.ts +40 -0
  882. package/types/src/directives/index.d.ts +16 -2
  883. package/types/src/directives/intersect.d.ts +60 -0
  884. package/types/src/directives/layout.d.ts +62 -0
  885. package/types/src/directives/liquid.d.ts +38 -0
  886. package/types/src/directives/living-border.d.ts +39 -0
  887. package/types/src/directives/long-press.d.ts +38 -0
  888. package/types/src/directives/magnetic.d.ts +35 -0
  889. package/types/src/directives/nebula.d.ts +80 -0
  890. package/types/src/directives/reduced-motion.d.ts +2 -0
  891. package/types/src/directives/reveal.d.ts +54 -0
  892. package/types/src/directives/ripple.d.ts +15 -5
  893. package/types/src/directives/typewriter.d.ts +50 -0
  894. package/types/src/discovery/discovery.service.d.ts +72 -0
  895. package/types/src/expand/expand-root.component.d.ts +30 -0
  896. package/types/src/expand/expand.component.d.ts +38 -0
  897. package/types/src/expand/index.d.ts +2 -0
  898. package/types/src/float/float.d.ts +14 -0
  899. package/types/src/float/index.d.ts +1 -0
  900. package/types/src/icons/icon.d.ts +14 -0
  901. package/types/src/iframe/iframe.d.ts +37 -0
  902. package/types/src/iframe/index.d.ts +1 -0
  903. package/types/src/index.d.ts +6 -1
  904. package/types/src/input/index.d.ts +1 -1
  905. package/types/src/layout/scroll/scroll.d.ts +11 -0
  906. package/types/src/lightbox/lightbox.d.ts +1 -0
  907. package/types/src/mailbox/email-recipients.d.ts +2 -2
  908. package/types/src/mailbox/types.d.ts +1 -1
  909. package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
  910. package/types/src/notification/notification.d.ts +1 -0
  911. package/types/src/page/page.d.ts +6 -0
  912. package/types/src/range/index.d.ts +1 -0
  913. package/types/src/range/range.d.ts +25 -0
  914. package/types/src/sheet/sheet.d.ts +0 -1
  915. package/types/src/steps/schmancy-steps-container.d.ts +8 -6
  916. package/types/src/surface/surface.d.ts +4 -27
  917. package/types/src/surface/surface.styles.d.ts +31 -0
  918. package/types/src/tabs/tab.d.ts +1 -0
  919. package/types/src/textarea/textarea.d.ts +3 -2
  920. package/types/src/theme/context.d.ts +2 -282
  921. package/types/src/theme/theme.component.d.ts +9 -1
  922. package/types/src/theme/theme.format.d.ts +1 -1
  923. package/types/src/theme/theme.interface.d.ts +8 -1
  924. package/types/src/theme/theme.service.d.ts +20 -282
  925. package/types/src/types/surface.d.ts +27 -1
  926. package/types/src/typography/typography.d.ts +17 -3
  927. package/types/src/utils/animation.d.ts +254 -0
  928. package/types/src/utils/index.d.ts +2 -0
  929. package/types/src/utils/number.d.ts +18 -2
  930. package/types/src/utils/overlay-stack.d.ts +54 -0
  931. package/types/src/window/index.d.ts +3 -0
  932. package/types/src/window/window-manager.d.ts +49 -0
  933. package/types/src/window/window-position.d.ts +64 -0
  934. package/types/src/window/window-registry.d.ts +28 -0
  935. package/types/src/window/window.d.ts +67 -0
  936. package/ai/animated-text.md +0 -116
  937. package/ai/audio.md +0 -241
  938. package/ai/boat.md +0 -53
  939. package/ai/component-relationships.md +0 -93
  940. package/ai/context.md +0 -572
  941. package/ai/countries.md +0 -271
  942. package/ai/date-range-inline.md +0 -262
  943. package/ai/delay.md +0 -158
  944. package/ai/index.md +0 -112
  945. package/ai/layout.md +0 -187
  946. package/ai/mailbox.md +0 -530
  947. package/ai/map.md +0 -234
  948. package/ai/navigation-bar-item.md +0 -259
  949. package/ai/option.md +0 -173
  950. package/ai/payment-card-form.md +0 -242
  951. package/ai/slider.md +0 -227
  952. package/ai/spinner.md +0 -165
  953. package/ai/teleport.md +0 -197
  954. package/ai/template.md +0 -144
  955. package/ai/theme-button.md +0 -173
  956. package/ai/timezone.md +0 -276
  957. package/ai/typewriter.md +0 -335
  958. package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
  959. package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
  960. package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
  961. package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
  962. package/dist/ai/animated-text.md +0 -116
  963. package/dist/ai/audio.md +0 -241
  964. package/dist/ai/boat.md +0 -53
  965. package/dist/ai/component-relationships.md +0 -93
  966. package/dist/ai/context.md +0 -572
  967. package/dist/ai/countries.md +0 -271
  968. package/dist/ai/date-range-inline.md +0 -262
  969. package/dist/ai/delay.md +0 -158
  970. package/dist/ai/index.md +0 -112
  971. package/dist/ai/layout.md +0 -187
  972. package/dist/ai/mailbox.md +0 -530
  973. package/dist/ai/map.md +0 -234
  974. package/dist/ai/navigation-bar-item.md +0 -259
  975. package/dist/ai/option.md +0 -173
  976. package/dist/ai/payment-card-form.md +0 -242
  977. package/dist/ai/slider.md +0 -227
  978. package/dist/ai/spinner.md +0 -165
  979. package/dist/ai/teleport.md +0 -197
  980. package/dist/ai/template.md +0 -144
  981. package/dist/ai/theme-button.md +0 -173
  982. package/dist/ai/timezone.md +0 -276
  983. package/dist/ai/typewriter.md +0 -335
  984. package/dist/animated-text-B3DQRJBy.cjs +0 -37
  985. package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
  986. package/dist/animated-text-BAj4-6hE.js +0 -76
  987. package/dist/animated-text-BAj4-6hE.js.map +0 -1
  988. package/dist/animated-text.cjs +0 -2
  989. package/dist/animated-text.cjs.map +0 -1
  990. package/dist/animated-text.js +0 -2
  991. package/dist/animated-text.js.map +0 -1
  992. package/dist/area.cjs.map +0 -1
  993. package/dist/area.component-CP4DZ0d8.js +0 -330
  994. package/dist/area.component-CP4DZ0d8.js.map +0 -1
  995. package/dist/area.component-ChxSLt16.cjs +0 -12
  996. package/dist/area.component-ChxSLt16.cjs.map +0 -1
  997. package/dist/area.js.map +0 -1
  998. package/dist/audio.cjs.map +0 -1
  999. package/dist/audio.js.map +0 -1
  1000. package/dist/autocomplete-CAaVSg4g.cjs +0 -112
  1001. package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
  1002. package/dist/autocomplete-CGbACUYd.js +0 -333
  1003. package/dist/autocomplete-CGbACUYd.js.map +0 -1
  1004. package/dist/autocomplete.cjs.map +0 -1
  1005. package/dist/autocomplete.js.map +0 -1
  1006. package/dist/avatar-nWOZXEsW.cjs +0 -273
  1007. package/dist/avatar-nWOZXEsW.cjs.map +0 -1
  1008. package/dist/avatar-rLCF6MSI.js +0 -895
  1009. package/dist/avatar-rLCF6MSI.js.map +0 -1
  1010. package/dist/badge.cjs.map +0 -1
  1011. package/dist/badge.js.map +0 -1
  1012. package/dist/boat-Ckt9v__d.js +0 -301
  1013. package/dist/boat-Ckt9v__d.js.map +0 -1
  1014. package/dist/boat-yNAZ2LLB.cjs +0 -97
  1015. package/dist/boat-yNAZ2LLB.cjs.map +0 -1
  1016. package/dist/boat.cjs.map +0 -1
  1017. package/dist/boat.js.map +0 -1
  1018. package/dist/busy.cjs.map +0 -1
  1019. package/dist/busy.js.map +0 -1
  1020. package/dist/card.cjs.map +0 -1
  1021. package/dist/card.js.map +0 -1
  1022. package/dist/checkbox-BnAlpsJN.cjs +0 -40
  1023. package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
  1024. package/dist/checkbox-D22yfGe3.js +0 -526
  1025. package/dist/checkbox-D22yfGe3.js.map +0 -1
  1026. package/dist/checkbox.cjs.map +0 -1
  1027. package/dist/checkbox.js.map +0 -1
  1028. package/dist/chips.cjs.map +0 -1
  1029. package/dist/chips.js.map +0 -1
  1030. package/dist/code-highlight.cjs.map +0 -1
  1031. package/dist/code-highlight.js.map +0 -1
  1032. package/dist/code-preview-DPlQayFd.js +0 -967
  1033. package/dist/code-preview-DPlQayFd.js.map +0 -1
  1034. package/dist/code-preview-jPnX60FF.cjs +0 -193
  1035. package/dist/code-preview-jPnX60FF.cjs.map +0 -1
  1036. package/dist/components.cjs.map +0 -1
  1037. package/dist/components.js.map +0 -1
  1038. package/dist/consume-5D1qfVWM.js +0 -38
  1039. package/dist/consume-5D1qfVWM.js.map +0 -1
  1040. package/dist/consume-edta5ng5.cjs +0 -2
  1041. package/dist/consume-edta5ng5.cjs.map +0 -1
  1042. package/dist/content-drawer.cjs.map +0 -1
  1043. package/dist/content-drawer.js.map +0 -1
  1044. package/dist/context-create-B_S-sD5B.js +0 -1107
  1045. package/dist/context-create-B_S-sD5B.js.map +0 -1
  1046. package/dist/context-create-DTybDbZp.cjs +0 -2
  1047. package/dist/context-create-DTybDbZp.cjs.map +0 -1
  1048. package/dist/date-range-GFm5NG33.js +0 -639
  1049. package/dist/date-range-GFm5NG33.js.map +0 -1
  1050. package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
  1051. package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
  1052. package/dist/date-range-inline-DTQLESAZ.js +0 -197
  1053. package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
  1054. package/dist/date-range-inline.cjs.map +0 -1
  1055. package/dist/date-range-inline.js.map +0 -1
  1056. package/dist/date-range-ug3B9CFT.cjs +0 -119
  1057. package/dist/date-range-ug3B9CFT.cjs.map +0 -1
  1058. package/dist/date-range.cjs.map +0 -1
  1059. package/dist/date-range.js.map +0 -1
  1060. package/dist/delay-CWtBL0VD.cjs +0 -10
  1061. package/dist/delay-CWtBL0VD.cjs.map +0 -1
  1062. package/dist/delay-DEe1CmHc.js +0 -288
  1063. package/dist/delay-DEe1CmHc.js.map +0 -1
  1064. package/dist/delay.cjs.map +0 -1
  1065. package/dist/delay.js.map +0 -1
  1066. package/dist/details-D-LXW23W.js +0 -100
  1067. package/dist/details-D-LXW23W.js.map +0 -1
  1068. package/dist/details-DVke77dU.cjs +0 -55
  1069. package/dist/details-DVke77dU.cjs.map +0 -1
  1070. package/dist/details.cjs.map +0 -1
  1071. package/dist/details.js.map +0 -1
  1072. package/dist/dialog-service-C86xTS8q.cjs +0 -2
  1073. package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
  1074. package/dist/dialog-service-D9E3jLAR.js +0 -118
  1075. package/dist/dialog-service-D9E3jLAR.js.map +0 -1
  1076. package/dist/dialog.component-BM0D-hK9.cjs +0 -48
  1077. package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
  1078. package/dist/dialog.component-a7FlKhGD.js +0 -145
  1079. package/dist/dialog.component-a7FlKhGD.js.map +0 -1
  1080. package/dist/discovery.service-BbYjU5x8.js +0 -21
  1081. package/dist/discovery.service-BbYjU5x8.js.map +0 -1
  1082. package/dist/discovery.service-BpGCuXPd.cjs +0 -2
  1083. package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
  1084. package/dist/divider-CzTpxOqt.js +0 -84
  1085. package/dist/divider-CzTpxOqt.js.map +0 -1
  1086. package/dist/divider-D8KStUhN.cjs +0 -58
  1087. package/dist/divider-D8KStUhN.cjs.map +0 -1
  1088. package/dist/divider.cjs.map +0 -1
  1089. package/dist/divider.js.map +0 -1
  1090. package/dist/dropdown-content-CngZN3vv.cjs +0 -58
  1091. package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
  1092. package/dist/dropdown-content-DCn-g0-f.js +0 -147
  1093. package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
  1094. package/dist/email-recipients-BhntMZMf.cjs +0 -1173
  1095. package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
  1096. package/dist/email-recipients-BzjAKNJ0.js +0 -1733
  1097. package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
  1098. package/dist/emotional-sounds-BRnFhww6.js +0 -234
  1099. package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
  1100. package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
  1101. package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
  1102. package/dist/extra.cjs.map +0 -1
  1103. package/dist/extra.js.map +0 -1
  1104. package/dist/flex-5dR48zie.js +0 -183
  1105. package/dist/flex-5dR48zie.js.map +0 -1
  1106. package/dist/flex-oHl2EfYB.cjs +0 -18
  1107. package/dist/flex-oHl2EfYB.cjs.map +0 -1
  1108. package/dist/flow-D0e7hGXO.cjs +0 -2
  1109. package/dist/flow-D0e7hGXO.cjs.map +0 -1
  1110. package/dist/flow-DXYqC9OA.js +0 -340
  1111. package/dist/flow-DXYqC9OA.js.map +0 -1
  1112. package/dist/form-BlPiAPt7.cjs +0 -2
  1113. package/dist/form-BlPiAPt7.cjs.map +0 -1
  1114. package/dist/form-BxVM6JTn.js +0 -141
  1115. package/dist/form-BxVM6JTn.js.map +0 -1
  1116. package/dist/form.cjs.map +0 -1
  1117. package/dist/form.js.map +0 -1
  1118. package/dist/formField.mixin-BCGA7Ea3.js +0 -48
  1119. package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
  1120. package/dist/formField.mixin-BfJMifU9.cjs +0 -2
  1121. package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
  1122. package/dist/height-CfECBO2j.js +0 -44
  1123. package/dist/height-CfECBO2j.js.map +0 -1
  1124. package/dist/height-Z70qJYJK.cjs +0 -2
  1125. package/dist/height-Z70qJYJK.cjs.map +0 -1
  1126. package/dist/icon-DHEXr3c-.cjs +0 -49
  1127. package/dist/icon-DHEXr3c-.cjs.map +0 -1
  1128. package/dist/icon-DYpLoegR.js +0 -84
  1129. package/dist/icon-DYpLoegR.js.map +0 -1
  1130. package/dist/icon-button-CmZBLHWC.js +0 -164
  1131. package/dist/icon-button-CmZBLHWC.js.map +0 -1
  1132. package/dist/icon-button-IbSX8C98.cjs +0 -70
  1133. package/dist/icon-button-IbSX8C98.cjs.map +0 -1
  1134. package/dist/icons.cjs.map +0 -1
  1135. package/dist/icons.js.map +0 -1
  1136. package/dist/index-CCi1otmh.cjs +0 -2
  1137. package/dist/index-CCi1otmh.cjs.map +0 -1
  1138. package/dist/index-CW6PhEkx.js +0 -17
  1139. package/dist/index-CW6PhEkx.js.map +0 -1
  1140. package/dist/index.cjs.map +0 -1
  1141. package/dist/index.js.map +0 -1
  1142. package/dist/input-BByjYlgl.cjs +0 -51
  1143. package/dist/input-BByjYlgl.cjs.map +0 -1
  1144. package/dist/input-D0cQ9DOY.js +0 -237
  1145. package/dist/input-D0cQ9DOY.js.map +0 -1
  1146. package/dist/input-chip-B5ErXgCB.js +0 -206
  1147. package/dist/input-chip-B5ErXgCB.js.map +0 -1
  1148. package/dist/input-chip-DkWaTciP.cjs +0 -147
  1149. package/dist/input-chip-DkWaTciP.cjs.map +0 -1
  1150. package/dist/input.cjs.map +0 -1
  1151. package/dist/input.js.map +0 -1
  1152. package/dist/intersection-CJxzz8c-.js +0 -15
  1153. package/dist/intersection-CJxzz8c-.js.map +0 -1
  1154. package/dist/intersection-CVvaDv96.cjs +0 -2
  1155. package/dist/intersection-CVvaDv96.cjs.map +0 -1
  1156. package/dist/json-BZVe74np.cjs +0 -12
  1157. package/dist/json-BZVe74np.cjs.map +0 -1
  1158. package/dist/json-PKewOWuJ.js +0 -51
  1159. package/dist/json-PKewOWuJ.js.map +0 -1
  1160. package/dist/layout.cjs.map +0 -1
  1161. package/dist/layout.js.map +0 -1
  1162. package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
  1163. package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
  1164. package/dist/lightbox-service-DZMnb1eU.js +0 -458
  1165. package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
  1166. package/dist/lightbox.cjs.map +0 -1
  1167. package/dist/lightbox.js.map +0 -1
  1168. package/dist/list-B_2m7l3g.cjs +0 -17
  1169. package/dist/list-B_2m7l3g.cjs.map +0 -1
  1170. package/dist/list-CW56LV-v.js +0 -69
  1171. package/dist/list-CW56LV-v.js.map +0 -1
  1172. package/dist/list.cjs.map +0 -1
  1173. package/dist/list.js.map +0 -1
  1174. package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
  1175. package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
  1176. package/dist/litElement.mixin-DHZXtvYq.js +0 -15
  1177. package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
  1178. package/dist/mailbox.cjs.map +0 -1
  1179. package/dist/mailbox.js.map +0 -1
  1180. package/dist/map-2Hl60a0A.js +0 -175
  1181. package/dist/map-2Hl60a0A.js.map +0 -1
  1182. package/dist/map-DyPS9G7M.cjs +0 -81
  1183. package/dist/map-DyPS9G7M.cjs.map +0 -1
  1184. package/dist/map.cjs.map +0 -1
  1185. package/dist/map.js.map +0 -1
  1186. package/dist/media-CS8HpKnK.cjs +0 -152
  1187. package/dist/media-CS8HpKnK.cjs.map +0 -1
  1188. package/dist/media-DtWbcRxL.js +0 -244
  1189. package/dist/media-DtWbcRxL.js.map +0 -1
  1190. package/dist/menu-Caju5-zd.js +0 -60
  1191. package/dist/menu-Caju5-zd.js.map +0 -1
  1192. package/dist/menu-rX5RPAI2.cjs +0 -24
  1193. package/dist/menu-rX5RPAI2.cjs.map +0 -1
  1194. package/dist/menu.cjs.map +0 -1
  1195. package/dist/menu.js.map +0 -1
  1196. package/dist/nav-drawer.cjs.map +0 -1
  1197. package/dist/nav-drawer.js.map +0 -1
  1198. package/dist/navigation-bar.cjs.map +0 -1
  1199. package/dist/navigation-bar.js.map +0 -1
  1200. package/dist/navigation-rail-Ctketq5a.js +0 -256
  1201. package/dist/navigation-rail-Ctketq5a.js.map +0 -1
  1202. package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
  1203. package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
  1204. package/dist/notification-service-CUlfXqmj.js +0 -155
  1205. package/dist/notification-service-CUlfXqmj.js.map +0 -1
  1206. package/dist/notification-service-DknbpqTt.cjs +0 -19
  1207. package/dist/notification-service-DknbpqTt.cjs.map +0 -1
  1208. package/dist/notification.cjs.map +0 -1
  1209. package/dist/notification.js.map +0 -1
  1210. package/dist/notify-DJSOWTxv.js +0 -35
  1211. package/dist/notify-DJSOWTxv.js.map +0 -1
  1212. package/dist/notify-DickIEHW.cjs +0 -2
  1213. package/dist/notify-DickIEHW.cjs.map +0 -1
  1214. package/dist/number-B7aCRYnH.cjs +0 -2
  1215. package/dist/number-B7aCRYnH.cjs.map +0 -1
  1216. package/dist/number-BhTiptLA.js +0 -99
  1217. package/dist/number-BhTiptLA.js.map +0 -1
  1218. package/dist/option-Bng41-rY.js +0 -77
  1219. package/dist/option-Bng41-rY.js.map +0 -1
  1220. package/dist/option-DYT5Rkgy.cjs +0 -44
  1221. package/dist/option-DYT5Rkgy.cjs.map +0 -1
  1222. package/dist/option.cjs.map +0 -1
  1223. package/dist/option.js.map +0 -1
  1224. package/dist/page-BLn9gtSd.cjs +0 -20
  1225. package/dist/page-BLn9gtSd.cjs.map +0 -1
  1226. package/dist/page-D-ROcQDd.js +0 -48
  1227. package/dist/page-D-ROcQDd.js.map +0 -1
  1228. package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
  1229. package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
  1230. package/dist/payment-card-form-BJa4RgF2.js +0 -515
  1231. package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
  1232. package/dist/pills-BS5rZ6C3.js +0 -346
  1233. package/dist/pills-BS5rZ6C3.js.map +0 -1
  1234. package/dist/pills-Blf7IAeq.cjs +0 -113
  1235. package/dist/pills-Blf7IAeq.cjs.map +0 -1
  1236. package/dist/progress-DlhYniW_.cjs +0 -35
  1237. package/dist/progress-DlhYniW_.cjs.map +0 -1
  1238. package/dist/progress-yTIX6EqC.js +0 -56
  1239. package/dist/progress-yTIX6EqC.js.map +0 -1
  1240. package/dist/progress.cjs.map +0 -1
  1241. package/dist/progress.js.map +0 -1
  1242. package/dist/provide-BxZ2kn_p.cjs +0 -2
  1243. package/dist/provide-BxZ2kn_p.cjs.map +0 -1
  1244. package/dist/provide-tcktw8xB.js +0 -100
  1245. package/dist/provide-tcktw8xB.js.map +0 -1
  1246. package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
  1247. package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
  1248. package/dist/qr-scanner-DjZ8mgHV.js +0 -743
  1249. package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
  1250. package/dist/radio-button-N_PrrxKB.cjs +0 -41
  1251. package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
  1252. package/dist/radio-button-me3SRHGu.js +0 -115
  1253. package/dist/radio-button-me3SRHGu.js.map +0 -1
  1254. package/dist/radio-group.cjs.map +0 -1
  1255. package/dist/radio-group.js.map +0 -1
  1256. package/dist/ripple-BgJXbNSP.js +0 -124
  1257. package/dist/ripple-BgJXbNSP.js.map +0 -1
  1258. package/dist/ripple-x6sTX02K.cjs +0 -16
  1259. package/dist/ripple-x6sTX02K.cjs.map +0 -1
  1260. package/dist/rxjs-utils.cjs.map +0 -1
  1261. package/dist/rxjs-utils.js.map +0 -1
  1262. package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
  1263. package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
  1264. package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
  1265. package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
  1266. package/dist/scroll-C_gfUgjn.js +0 -87
  1267. package/dist/scroll-C_gfUgjn.js.map +0 -1
  1268. package/dist/scroll-CecsowP7.cjs +0 -27
  1269. package/dist/scroll-CecsowP7.cjs.map +0 -1
  1270. package/dist/search-B1s7thB0.cjs +0 -2
  1271. package/dist/search-B1s7thB0.cjs.map +0 -1
  1272. package/dist/search-DxxnLa5u.js +0 -95
  1273. package/dist/search-DxxnLa5u.js.map +0 -1
  1274. package/dist/select-BBA0gBHf.js +0 -280
  1275. package/dist/select-BBA0gBHf.js.map +0 -1
  1276. package/dist/select-D9oCjv7N.cjs +0 -57
  1277. package/dist/select-D9oCjv7N.cjs.map +0 -1
  1278. package/dist/select.cjs.map +0 -1
  1279. package/dist/select.js.map +0 -1
  1280. package/dist/selector-hook-9w2auh2O.cjs +0 -2
  1281. package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
  1282. package/dist/selector-hook-CHV4kDMd.js +0 -319
  1283. package/dist/selector-hook-CHV4kDMd.js.map +0 -1
  1284. package/dist/sheet-0oUfBmXX.cjs +0 -15
  1285. package/dist/sheet-0oUfBmXX.cjs.map +0 -1
  1286. package/dist/sheet-CNcDT3VP.js +0 -97
  1287. package/dist/sheet-CNcDT3VP.js.map +0 -1
  1288. package/dist/sheet.cjs.map +0 -1
  1289. package/dist/sheet.js.map +0 -1
  1290. package/dist/sheet.service-2MobB-9z.js +0 -68
  1291. package/dist/sheet.service-2MobB-9z.js.map +0 -1
  1292. package/dist/sheet.service-su_7yDQ-.cjs +0 -2
  1293. package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
  1294. package/dist/slider-CV-Ehp_5.cjs +0 -83
  1295. package/dist/slider-CV-Ehp_5.cjs.map +0 -1
  1296. package/dist/slider-CkE-iFUy.js +0 -161
  1297. package/dist/slider-CkE-iFUy.js.map +0 -1
  1298. package/dist/sound.service-Nza4c6wv.js +0 -102
  1299. package/dist/sound.service-Nza4c6wv.js.map +0 -1
  1300. package/dist/sound.service-eRirZw59.cjs +0 -2
  1301. package/dist/sound.service-eRirZw59.cjs.map +0 -1
  1302. package/dist/spinner-Bfn8KC-9.cjs +0 -135
  1303. package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
  1304. package/dist/spinner-DiMbWXp9.js +0 -168
  1305. package/dist/spinner-DiMbWXp9.js.map +0 -1
  1306. package/dist/store.cjs.map +0 -1
  1307. package/dist/store.js.map +0 -1
  1308. package/dist/suggestion-chip-CEDqUNoS.js +0 -481
  1309. package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
  1310. package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
  1311. package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
  1312. package/dist/surface-CW3H23Va.cjs +0 -199
  1313. package/dist/surface-CW3H23Va.cjs.map +0 -1
  1314. package/dist/surface-eBfnSwQS.js +0 -220
  1315. package/dist/surface-eBfnSwQS.js.map +0 -1
  1316. package/dist/surface.cjs.map +0 -1
  1317. package/dist/surface.js.map +0 -1
  1318. package/dist/table-D0tiSL_u.cjs +0 -64
  1319. package/dist/table-D0tiSL_u.cjs.map +0 -1
  1320. package/dist/table-Dmo4TvTx.js +0 -561
  1321. package/dist/table-Dmo4TvTx.js.map +0 -1
  1322. package/dist/table.cjs.map +0 -1
  1323. package/dist/table.js.map +0 -1
  1324. package/dist/tabs-compatibility-Bit6y6en.js +0 -104
  1325. package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
  1326. package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
  1327. package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
  1328. package/dist/tabs.cjs.map +0 -1
  1329. package/dist/tabs.js.map +0 -1
  1330. package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
  1331. package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
  1332. package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
  1333. package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
  1334. package/dist/teleport.cjs.map +0 -1
  1335. package/dist/teleport.js.map +0 -1
  1336. package/dist/textarea-B1d1QCqT.js +0 -134
  1337. package/dist/textarea-B1d1QCqT.js.map +0 -1
  1338. package/dist/textarea-DG8CHhZA.cjs +0 -44
  1339. package/dist/textarea-DG8CHhZA.cjs.map +0 -1
  1340. package/dist/textarea.cjs.map +0 -1
  1341. package/dist/textarea.js.map +0 -1
  1342. package/dist/theme-button-CPL6Eaqd.cjs +0 -9
  1343. package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
  1344. package/dist/theme-button-CrLuMQNe.js +0 -27
  1345. package/dist/theme-button-CrLuMQNe.js.map +0 -1
  1346. package/dist/theme-button.cjs.map +0 -1
  1347. package/dist/theme-button.js.map +0 -1
  1348. package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
  1349. package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
  1350. package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
  1351. package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
  1352. package/dist/theme.cjs.map +0 -1
  1353. package/dist/theme.events-CPSLaOlR.js +0 -6
  1354. package/dist/theme.events-CPSLaOlR.js.map +0 -1
  1355. package/dist/theme.events-Car6U_SQ.cjs +0 -2
  1356. package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
  1357. package/dist/theme.interface-BLfE5J_1.js +0 -5
  1358. package/dist/theme.interface-BLfE5J_1.js.map +0 -1
  1359. package/dist/theme.interface-BMeNadVb.cjs +0 -2
  1360. package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
  1361. package/dist/theme.js.map +0 -1
  1362. package/dist/timezone-4vwX0BgA.js +0 -112
  1363. package/dist/timezone-4vwX0BgA.js.map +0 -1
  1364. package/dist/timezone-BxvQcqe1.cjs +0 -32
  1365. package/dist/timezone-BxvQcqe1.cjs.map +0 -1
  1366. package/dist/tooltip-CjdvBf4X.js +0 -119
  1367. package/dist/tooltip-CjdvBf4X.js.map +0 -1
  1368. package/dist/tooltip-ZtnGjoJd.cjs +0 -7
  1369. package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
  1370. package/dist/tree-CBEjV7jP.js +0 -65
  1371. package/dist/tree-CBEjV7jP.js.map +0 -1
  1372. package/dist/tree-DP5U00NA.cjs +0 -27
  1373. package/dist/tree-DP5U00NA.cjs.map +0 -1
  1374. package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
  1375. package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
  1376. package/dist/tslib.es6-ujVQHAQ4.js +0 -10
  1377. package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
  1378. package/dist/typewriter-C6kFjLcX.cjs +0 -124
  1379. package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
  1380. package/dist/typewriter-Eo5qXoGC.js +0 -555
  1381. package/dist/typewriter-Eo5qXoGC.js.map +0 -1
  1382. package/dist/typewriter.cjs.map +0 -1
  1383. package/dist/typewriter.js.map +0 -1
  1384. package/dist/typography-C_1gdM2I.js +0 -264
  1385. package/dist/typography-C_1gdM2I.js.map +0 -1
  1386. package/dist/typography-DGyjlLCE.cjs +0 -243
  1387. package/dist/typography-DGyjlLCE.cjs.map +0 -1
  1388. package/dist/utils-C38P63L6.cjs +0 -2
  1389. package/dist/utils-C38P63L6.cjs.map +0 -1
  1390. package/dist/utils-CYOVFxSx.js +0 -150
  1391. package/dist/utils-CYOVFxSx.js.map +0 -1
  1392. package/dist/utils.cjs.map +0 -1
  1393. package/dist/utils.js.map +0 -1
  1394. package/types/src/animated-text/animated-text.d.ts +0 -30
  1395. package/types/src/animated-text/index.d.ts +0 -1
  1396. package/types/src/directives/height.d.ts +0 -20
@@ -1,2 +1,71 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation-rail-DC9_oSIM.cjs");Object.defineProperty(exports,"SchmancyNavigationRail",{enumerable:!0,get:()=>e.SchmancyNavigationRail}),Object.defineProperty(exports,"SchmancyNavigationRailItem",{enumerable:!0,get:()=>e.SchmancyNavigationRailItem});
2
- //# sourceMappingURL=navigation-rail.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-DGiyLbEi.cjs`),t=require(`./litElement.mixin-DN6X9_wD.cjs`);require(`./mixins.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/when.js`);var s=class extends t.t(){constructor(...e){super(...e),this.hovering$=new n.BehaviorSubject(!1),this.pressing$=new n.BehaviorSubject(!1),this.active$=new n.BehaviorSubject(!1),this.icon=``,this.label=``,this.value=``,this.badge=``,this.badgeVariant=`error`,this.showLabel=!1,this.disabled=!1,this.nested=!1,this.group=!1,this.showRipple=!1}get active(){return this.active$.value}set active(e){this.active$.next(e)}get selected(){return this.active}set selected(e){this.active=e}connectedCallback(){super.connectedCallback(),(0,n.merge)((0,n.fromEvent)(this,`mouseenter`).pipe((0,r.tap)(()=>this.hovering$.next(!0))),(0,n.fromEvent)(this,`mouseleave`).pipe((0,r.tap)(()=>this.hovering$.next(!1)))).pipe((0,n.takeUntil)(this.disconnecting)).subscribe(),(0,n.merge)((0,n.fromEvent)(this,`mousedown`).pipe((0,r.tap)(()=>this.pressing$.next(!0))),(0,n.fromEvent)(this,`mouseup`).pipe((0,r.tap)(()=>this.pressing$.next(!1))),(0,n.fromEvent)(this,`mouseleave`).pipe((0,r.tap)(()=>this.pressing$.next(!1)))).pipe((0,n.takeUntil)(this.disconnecting)).subscribe(),this.pressing$.pipe((0,r.tap)(e=>{e&&!this.disabled&&(this.showRipple=!0)}),(0,r.delay)(600),(0,r.tap)(()=>this.showRipple=!1),(0,n.takeUntil)(this.disconnecting)).subscribe(),this.active$.pipe((0,r.distinctUntilChanged)(),(0,r.tap)(e=>{this.requestUpdate(),this.setAttribute(`aria-selected`,String(e)),this.setAttribute(`tabindex`,e?`0`:`-1`)}),(0,n.takeUntil)(this.disconnecting)).subscribe(),this.setAttribute(`role`,`listitem`),this.hasAttribute(`tabindex`)||this.setAttribute(`tabindex`,this.active?`0`:`-1`)}updated(e){super.updated(e),e.has(`disabled`)&&this.setAttribute(`aria-disabled`,String(this.disabled)),e.has(`label`)&&this.setAttribute(`aria-label`,this.label)}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.dispatchEvent(new CustomEvent(`navigate`,{detail:this.value||this.label,bubbles:!0,composed:!0}))}handleKeyDown(e){this.disabled||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),this.click())}render(){let e=!!this.querySelector(`[slot="icon"]`),t=this.querySelector(`[slot="badge"]`),n=this.classMap({"flex flex-col items-center justify-center":!0,"min-h-14 w-full":!0,"py-3":!0,"gap-1":!0,"rounded-lg":!0,"cursor-pointer":!0,relative:!0,"select-none":!0,"box-border":!0,"text-surface-onVariant":!this.active,"text-secondary-onContainer":this.active,"hover:bg-surface-containerHighest":!0,"transition-all duration-150 ease-out":!0,"pointer-events-none opacity-38":this.disabled,"[&>.ripple]:scale-100":this.showRipple,"min-h-12 pl-8":this.nested,"mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12":this.group}),r=this.classMap({"flex items-center justify-center":!0,"w-auto min-w-14 h-8":!0,"shrink-0 relative z-10":!0}),i=this.classMap({"absolute top-1/2 left-1/2 opacity-30":!0,"w-14 h-8":!0,"rounded-lg":!0,"bg-secondary-container":!0,"transition-transform duration-150 ease-out":!0,"scale-0 -translate-x-1/2 -translate-y-1/2":!this.active,"scale-100 -translate-x-1/2 -translate-y-1/2":this.active}),s=this.classMap({"relative z-100":!0,"text-2xl leading-none":!this.nested,"text-xl leading-none":this.nested}),c=this.classMap({"text-xs font-medium leading-4":!0,"text-center":!0,"overflow-hidden text-ellipsis whitespace-nowrap":!0,"z-10 max-w-14 px-1":!0,hidden:!this.showLabel&&!this.label}),l=this.classMap({"absolute top-2 right-3":!0,"min-w-4 h-4":!0,"rounded-sm":!0,"text-xs font-semibold":!0,"flex items-center justify-center":!0,"px-1 box-border z-20":!0,"animate-pulse":!0,"bg-error-default text-error-on":this.badgeVariant===`error`,"bg-primary-default text-primary-on":this.badgeVariant===`primary`,"bg-secondary-default text-secondary-on":this.badgeVariant===`secondary`}),u=this.classMap({"absolute inset-0 rounded-lg overflow-hidden z-0":!0,'before:content-[""] before:absolute before:top-1/2 before:left-1/2':!0,"before:w-0 before:h-0 before:rounded-full":!0,"before:bg-current before:opacity-0":!0,"before:-translate-x-1/2 before:-translate-y-1/2":!0,"before:transition-all before:duration-300":!0,"before:w-[200%] before:h-[200%] before:opacity-12":this.showRipple});return a.html`
2
+ <div
3
+ class=${n}
4
+ part="container"
5
+ @click=${this.handleClick}
6
+ @keydown=${this.handleKeyDown}
7
+ style="outline: ${this.matches(`:focus-visible`)?`2px solid var(--schmancy-sys-color-primary-default)`:`none`}; outline-offset: 2px;"
8
+ >
9
+ <span class=${u} aria-hidden="true"></span>
10
+
11
+ <div class=${r} part="icon">
12
+ <span class=${i} part="indicator" aria-hidden="true"></span>
13
+ ${(0,o.when)(e,()=>a.html`<slot class="relative" name="icon"></slot>`,()=>(0,o.when)(this.icon,()=>a.html`
14
+ <span
15
+ class=${s}
16
+ part="icon-text"
17
+ style="font-family: 'Material Symbols Outlined'; font-variation-settings: 'FILL' ${this.active?`1`:`0`}, 'wght' 400, 'GRAD' 0, 'opsz' ${this.nested?`20`:`24`};"
18
+ >
19
+ ${this.icon}
20
+ </span>
21
+ `))}
22
+ </div>
23
+
24
+ ${(0,o.when)(this.label,()=>a.html`<span class=${c} part="label">${this.label}</span>`)}
25
+ ${(0,o.when)(this.badge,()=>a.html`
26
+ ${(0,o.when)(t,()=>a.html`<slot name="badge"></slot>`,()=>a.html`
27
+ <span class=${l} part="badge" aria-label="${this.badge} notifications"> ${this.badge} </span>
28
+ `)}
29
+ `)}
30
+
31
+ <!-- Tooltip shown via title attribute -->
32
+ ${(0,o.when)(this.hasAttribute(`title`),()=>a.html`
33
+ <div
34
+ class="
35
+ absolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2
36
+ bg-surface-inverse text-surface-inverseOn
37
+ px-2 py-1 rounded-sm text-xs whitespace-nowrap
38
+ z-1000 pointer-events-none opacity-0
39
+ hover:opacity-100 hover:translate-x-0
40
+ transition-all duration-150 ease-out
41
+ -translate-x-1
42
+ "
43
+ aria-hidden="true"
44
+ >
45
+ ${this.getAttribute(`title`)}
46
+ </div>
47
+ `)}
48
+ </div>
49
+ `}};e.i([(0,i.property)({type:String})],s.prototype,`icon`,void 0),e.i([(0,i.property)({type:String})],s.prototype,`label`,void 0),e.i([(0,i.property)({type:String})],s.prototype,`value`,void 0),e.i([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`active`,null),e.i([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`selected`,null),e.i([(0,i.property)({type:String})],s.prototype,`badge`,void 0),e.i([(0,i.property)({type:String})],s.prototype,`badgeVariant`,void 0),e.i([(0,i.property)({type:Boolean,attribute:`show-label`})],s.prototype,`showLabel`,void 0),e.i([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`disabled`,void 0),e.i([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`nested`,void 0),e.i([(0,i.property)({type:Boolean,reflect:!0})],s.prototype,`group`,void 0),e.i([(0,i.state)()],s.prototype,`showRipple`,void 0),s=e.i([(0,i.customElement)(`schmancy-navigation-rail-item`)],s);var c=class extends t.t(){constructor(...e){super(...e),this.activeIndex$=new n.BehaviorSubject(-1),this._activeValue=``,this.labelVisibility=`all`,this.alignment=`top`,this.showTooltips=!0,this.keyboardNavigation=!0,this.expanded=!1,this.focusedIndex=-1,this.hasHeaderContent=!1,this.isFullscreen=!1}get activeIndex(){return this.activeIndex$.value}set activeIndex(e){this.activeIndex$.next(e)}get activeValue(){return this._activeValue}set activeValue(e){this._activeValue=e,this.updateActiveByValue(e)}get navigationItems(){return this.allElements.filter(e=>e.tagName===`SCHMANCY-NAVIGATION-RAIL-ITEM`)}connectedCallback(){super.connectedCallback(),this.keyboardNavigation&&this.addEventListener(`keydown`,this.handleKeyDown),this.activeIndex$.pipe((0,r.distinctUntilChanged)(),(0,r.tap)(e=>this.updateActiveStates(e)),(0,n.takeUntil)(this.disconnecting)).subscribe(),(0,n.fromEvent)(window,`fullscreen`).pipe((0,r.tap)(e=>{let t=e;this.isFullscreen=t.detail}),(0,n.takeUntil)(this.disconnecting)).subscribe(),this.setupNavigateListener(),this.updateLabelVisibility(),this.setAttribute(`role`,`navigation`),this.setAttribute(`aria-label`,`Main navigation`)}updated(e){super.updated(e),e.has(`labelVisibility`)&&this.updateLabelVisibility(),e.has(`activeValue`)&&this.updateActiveByValue(this.activeValue),e.has(`expanded`)&&this.updateLabelVisibility()}updateActiveStates(e){this.navigationItems.forEach((t,n)=>{let r=n===e;t.active=r,t.setAttribute(`aria-selected`,String(r)),t.setAttribute(`tabindex`,r?`0`:`-1`),r&&(this._activeValue=t.value||t.label||``)})}updateActiveByValue(e){let t=this.navigationItems.findIndex(t=>t.getAttribute(`value`)===e||t.label===e);t>=0&&(this.activeIndex=t)}updateLabelVisibility(){this.navigationItems.forEach((e,t)=>{let n=!1;n=!!this.expanded||this.labelVisibility===`all`||this.labelVisibility===`selected`&&t===this.activeIndex,e.showLabel=n,this.showTooltips&&!n&&!this.expanded&&e.label?e.setAttribute(`title`,e.label):e.removeAttribute(`title`)})}expand(){this.expanded=!0}collapse(){this.expanded=!1}addBoatItem(e){let t=this.querySelector(`[value="${e.id}"]`);if(t)return t;let n=document.createElement(`schmancy-navigation-rail-item`);n.setAttribute(`value`,e.id),n.innerHTML=`\n\t\t\t<schmancy-icon slot="icon">${e.icon||`widgets`}</schmancy-icon>\n\t\t\t${e.title}\n\t\t`;let r=this.querySelector(`[slot="footer"]`);return r?this.insertBefore(n,r):this.appendChild(n),n}toggle(){this.expanded=!this.expanded}handleKeyDown(e){let t=this.navigationItems;if(t.length===0)return;let n=this.focusedIndex>=0?this.focusedIndex:this.activeIndex;switch(e.key){case`ArrowDown`:e.preventDefault(),n=(n+1)%t.length;break;case`ArrowUp`:e.preventDefault(),n=n<=0?t.length-1:n-1;break;case`Home`:e.preventDefault(),n=0;break;case`End`:e.preventDefault(),n=t.length-1;break;case`Enter`:case` `:e.preventDefault(),n>=0&&t[n].click();return;default:return}this.focusedIndex=n,t[n].focus()}handleFabClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(`fab-click`,{bubbles:!0,composed:!0}))}handleMenuClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(`menu-click`,{bubbles:!0,composed:!0}))}render(){let e=this.classMap({"flex flex-col":!0,"h-full":!0,"box-border relative overflow-visible":!0,"z-10 hover:z-[100]":!0,"w-20":!this.isFullscreen,"w-0":this.isFullscreen,"transition-all duration-300 ease-emphasized":!0,"opacity-100":!this.isFullscreen,"opacity-0 pointer-events-none":this.isFullscreen,"overflow-hidden":this.isFullscreen}),t=this.classMap({"flex flex-col h-full":!0,"box-border relative":!0,"py-2":!0,"bg-container-lowest text-surface-on":!0,"transition-all duration-300 ease-emphasized":!0,"w-20":!this.expanded,"px-3":!this.expanded,"w-60":this.expanded,"px-4":this.expanded,"shadow-lg":this.expanded}),n=this.classMap({"flex flex-col items-center gap-1":!0,hidden:!this.hasHeaderContent}),r=this.classMap({"flex-1 flex flex-col gap-3":!0,"min-h-0":!0,"justify-start":this.alignment===`top`,"justify-center":this.alignment===`center`,"justify-end":this.alignment===`bottom`}),i=this.classMap({"flex flex-col items-center gap-1 mt-auto pt-2":!0});return a.html`
50
+ <div
51
+ class=${e}
52
+ >
53
+ <div class=${t} part="rail">
54
+ <div class=${n} part="header">
55
+ <slot name="fab" @click=${this.handleFabClick} @slotchange=${this.handleHeaderSlotChange}></slot>
56
+ <slot name="menu" @click=${this.handleMenuClick} @slotchange=${this.handleHeaderSlotChange}></slot>
57
+ <slot name="header" @slotchange=${this.handleHeaderSlotChange}></slot>
58
+ </div>
59
+
60
+ <nav class=${r} part="nav" role="list">
61
+ <schmancy-scroll hide direction="vertical">
62
+ <slot @slotchange=${this.handleSlotChange}></slot>
63
+ </schmancy-scroll>
64
+ </nav>
65
+
66
+ <div class=${i} part="footer">
67
+ <slot name="footer"></slot>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ `}setupNavigateListener(){this.addEventListener(`navigate`,e=>{if(e instanceof CustomEvent){let t=e.detail,n=this.navigationItems.findIndex(e=>e.value===t||e.label===t);n>=0&&(this.activeIndex=n,this._activeValue=t)}})}handleHeaderSlotChange(){let e=this.shadowRoot?.querySelector(`[part="header"]`);if(e){let t=e.querySelectorAll(`slot`);this.hasHeaderContent=Array.from(t).some(e=>e.assignedNodes({flatten:!0}).length>0)}}handleSlotChange(){this.updateLabelVisibility(),this.updateActiveStates(this.activeIndex),this.navigationItems.forEach((e,t)=>{e.setAttribute(`role`,`listitem`),e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,t===this.activeIndex?`0`:`-1`)})}};e.i([(0,i.property)({type:Number})],c.prototype,`activeIndex`,null),e.i([(0,i.property)({type:String})],c.prototype,`activeValue`,null),e.i([(0,i.property)({type:String,attribute:`label-visibility`,reflect:!0})],c.prototype,`labelVisibility`,void 0),e.i([(0,i.property)({type:String,reflect:!0})],c.prototype,`alignment`,void 0),e.i([(0,i.property)({type:Boolean})],c.prototype,`showTooltips`,void 0),e.i([(0,i.property)({type:Boolean})],c.prototype,`keyboardNavigation`,void 0),e.i([(0,i.property)({type:Boolean,reflect:!0})],c.prototype,`expanded`,void 0),e.i([(0,i.state)()],c.prototype,`focusedIndex`,void 0),e.i([(0,i.state)()],c.prototype,`hasHeaderContent`,void 0),e.i([(0,i.state)()],c.prototype,`isFullscreen`,void 0),e.i([(0,i.queryAssignedElements)({flatten:!0})],c.prototype,`allElements`,void 0),c=e.i([(0,i.customElement)(`schmancy-navigation-rail`)],c),Object.defineProperty(exports,`SchmancyNavigationRail`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`SchmancyNavigationRailItem`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-rail.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"navigation-rail.cjs","names":[],"sources":["../src/navigation-rail/navigation-rail-item.ts","../src/navigation-rail/navigation-rail.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { BehaviorSubject, fromEvent, merge, takeUntil } from 'rxjs'\nimport { delay, distinctUntilChanged, tap } from 'rxjs/operators'\n\nexport type NavigationRailItemClickEvent = CustomEvent<{\n\ticon: string\n\tlabel: string\n\tvalue: string\n\tactive: boolean\n}>\n\n/**\n * Material Design 3 Navigation Rail Item Component\n * @see https://m3.material.io/components/navigation-rail/overview\n *\n * `<schmancy-navigation-rail-item>` component\n *\n * Individual navigation item for use within a navigation rail.\n * Represents a single destination or action with an icon and optional label.\n *\n * @element schmancy-navigation-rail-item\n * @slot icon - Slot for the navigation item icon (e.g., schmancy-icon)\n * @slot - Default slot for custom content\n * @slot badge - Custom badge content\n *\n * @fires navigate - When the item is clicked\n *\n * @csspart container - The main item container\n * @csspart indicator - The active indicator\n * @csspart icon - The icon container\n * @csspart label - The label text\n * @csspart badge - The badge element\n *\n * @example\n * <schmancy-navigation-rail-item\n * icon=\"home\"\n * label=\"Home\"\n * value=\"/home\"\n * badge=\"3\"\n * active>\n * </schmancy-navigation-rail-item>\n *\n * @example\n * <!-- Using 'selected' alias -->\n * <schmancy-navigation-rail-item\n * icon=\"settings\"\n * label=\"Settings\"\n * value=\"/settings\"\n * selected>\n * </schmancy-navigation-rail-item>\n *\n * @example\n * <!-- With custom icon -->\n * <schmancy-navigation-rail-item label=\"Dashboard\">\n * <schmancy-icon slot=\"icon\">dashboard</schmancy-icon>\n * </schmancy-navigation-rail-item>\n */\n@customElement('schmancy-navigation-rail-item')\nexport class SchmancyNavigationRailItem extends $LitElement() {\n\t// Observable state\n\tprivate hovering$ = new BehaviorSubject<boolean>(false)\n\tprivate pressing$ = new BehaviorSubject<boolean>(false)\n\tprivate active$ = new BehaviorSubject<boolean>(false)\n\n\t// Properties\n\t/**\n\t * Icon name (Material Symbols icon)\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Label text for the navigation item\n\t */\n\t@property({ type: String })\n\tlabel = ''\n\n\t/**\n\t * Value associated with this item (useful for routing)\n\t */\n\t@property({ type: String })\n\tvalue = ''\n\n\t/**\n\t * Whether this item is currently active/selected\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget active() {\n\t\treturn this.active$.value\n\t}\n\tset active(value: boolean) {\n\t\tthis.active$.next(value)\n\t}\n\n\t/**\n\t * Whether this item is currently selected (alias for active)\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget selected() {\n\t\treturn this.active\n\t}\n\tset selected(value: boolean) {\n\t\tthis.active = value\n\t}\n\n\t/**\n\t * Badge text or number to display\n\t */\n\t@property({ type: String })\n\tbadge = ''\n\n\t/**\n\t * Badge variant\n\t */\n\t@property({ type: String })\n\tbadgeVariant: 'error' | 'primary' | 'secondary' = 'error'\n\n\t/**\n\t * Whether to show the label (controlled by parent rail)\n\t * @default false\n\t */\n\t@property({ type: Boolean, attribute: 'show-label' })\n\tshowLabel = false\n\n\t/**\n\t * Whether this item is disabled\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Whether this is a nested item (sub-navigation)\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tnested = false\n\n\t/**\n\t * Whether this item represents a group separator\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tgroup = false\n\n\t// State\n\t@state()\n\tprivate showRipple = false\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set up hover tracking\n\t\tmerge(\n\t\t\tfromEvent(this, 'mouseenter').pipe(tap(() => this.hovering$.next(true))),\n\t\t\tfromEvent(this, 'mouseleave').pipe(tap(() => this.hovering$.next(false))),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\n\t\t// Set up press tracking\n\t\tmerge(\n\t\t\tfromEvent(this, 'mousedown').pipe(tap(() => this.pressing$.next(true))),\n\t\t\tfromEvent(this, 'mouseup').pipe(tap(() => this.pressing$.next(false))),\n\t\t\tfromEvent(this, 'mouseleave').pipe(tap(() => this.pressing$.next(false))),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\n\t\t// Ripple effect with M3 timing\n\t\tthis.pressing$\n\t\t\t.pipe(\n\t\t\t\ttap(pressing => {\n\t\t\t\t\tif (pressing && !this.disabled) {\n\t\t\t\t\t\tthis.showRipple = true\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\t// M3 standard ripple duration\n\t\t\t\tdelay(600),\n\t\t\t\ttap(() => (this.showRipple = false)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Subscribe to active state changes for reactive updates\n\t\tthis.active$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isActive => {\n\t\t\t\t\tthis.requestUpdate()\n\t\t\t\t\t// Update ARIA attributes reactively\n\t\t\t\t\tthis.setAttribute('aria-selected', String(isActive))\n\t\t\t\t\tthis.setAttribute('tabindex', isActive ? '0' : '-1')\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Set ARIA attributes\n\t\tthis.setAttribute('role', 'listitem')\n\t\tif (!this.hasAttribute('tabindex')) {\n\t\t\tthis.setAttribute('tabindex', this.active ? '0' : '-1')\n\t\t}\n\t}\n\n\tupdated(changedProperties: PropertyValues) {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Active state is now handled by the BehaviorSubject subscription\n\t\t// So we don't need to duplicate it here\n\n\t\tif (changedProperties.has('disabled')) {\n\t\t\tthis.setAttribute('aria-disabled', String(this.disabled))\n\t\t}\n\n\t\tif (changedProperties.has('label')) {\n\t\t\tthis.setAttribute('aria-label', this.label)\n\t\t}\n\t}\n\n\t/**\n\t * Handle click events\n\t */\n\tprivate handleClick(event: Event) {\n\t\tif (this.disabled) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\treturn\n\t\t}\n\n\t\t// Emit navigate event with the value\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('navigate', {\n\t\t\t\tdetail: this.value || this.label,\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t\t// Visual feedback is handled by the ripple effect in connectedCallback\n\t\t// The parent rail will confirm and update via activeIndex\n\t}\n\n\t/**\n\t * Handle keyboard events\n\t */\n\tprivate handleKeyDown(event: KeyboardEvent) {\n\t\tif (this.disabled) return\n\n\t\tif (event.key === 'Enter' || event.key === ' ') {\n\t\t\tevent.preventDefault()\n\t\t\tthis.click()\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst hasCustomIcon = !!this.querySelector('[slot=\"icon\"]')\n\t\tconst hasCustomBadge = this.querySelector('[slot=\"badge\"]')\n\n\t\t// M3 Navigation Rail Item classes with theme integration\n\t\tconst containerClasses = this.classMap({\n\t\t\t// Layout & Spacing (M3 56px height, 12px vertical padding)\n\t\t\t'flex flex-col items-center justify-center': true,\n\t\t\t'min-h-14 w-full': true, // min-h-14 = 56px\n\t\t\t'py-3': true, // py-3 = 12px top/bottom\n\t\t\t'gap-1': true, // gap-1 = 4px\n\n\t\t\t// M3 Shape & Interaction\n\t\t\t'rounded-lg': true, // M3 large corner radius\n\t\t\t'cursor-pointer': true,\n\t\t\trelative: true,\n\t\t\t'select-none': true,\n\t\t\t'box-border': true,\n\n\t\t\t// Colors & States\n\t\t\t'text-surface-onVariant': !this.active,\n\t\t\t'text-secondary-onContainer': this.active,\n\t\t\t'hover:bg-surface-containerHighest': true,\n\n\t\t\t// Transitions (M3 emphasized motion)\n\t\t\t'transition-all duration-150 ease-out': true,\n\n\t\t\t// Disabled state\n\t\t\t'pointer-events-none opacity-38': this.disabled,\n\n\t\t\t// Active ripple effect\n\t\t\t'[&>.ripple]:scale-100': this.showRipple,\n\n\t\t\t// Nested item adjustments\n\t\t\t'min-h-12 pl-8': this.nested, // 48px height, 32px left padding for nested\n\n\t\t\t// Group separator\n\t\t\t'mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12':\n\t\t\t\tthis.group,\n\t\t})\n\n\t\t// Icon container with active indicator\n\t\tconst iconContainerClasses = this.classMap({\n\t\t\t'flex items-center justify-center': true,\n\t\t\t'w-auto min-w-14 h-8': true, // 56px min-width, 32px height\n\t\t\t'shrink-0 relative z-10': true,\n\t\t})\n\n\t\t// Active indicator behind icon\n\t\tconst indicatorClasses = this.classMap({\n\t\t\t'absolute top-1/2 left-1/2 opacity-30': true,\n\t\t\t'w-14 h-8': true, // 56px x 32px\n\t\t\t'rounded-lg': true, // M3 large corner radius\n\t\t\t'bg-secondary-container': true,\n\t\t\t'transition-transform duration-150 ease-out': true,\n\t\t\t// Transform based on active state\n\t\t\t'scale-0 -translate-x-1/2 -translate-y-1/2': !this.active,\n\t\t\t'scale-100 -translate-x-1/2 -translate-y-1/2': this.active,\n\t\t})\n\n\t\t// Icon styling\n\t\tconst iconClasses = this.classMap({\n\t\t\t'relative z-100': true,\n\t\t\t'text-2xl leading-none': !this.nested, // 24px icon for normal\n\t\t\t'text-xl leading-none': this.nested, // 20px icon for nested\n\t\t\t// Material Symbols font variations handled via CSS custom properties\n\t\t})\n\n\t\t// Label styling\n\t\tconst labelClasses = this.classMap({\n\t\t\t'text-xs font-medium leading-4': true, // 12px, medium weight, 16px line height\n\t\t\t'text-center': true,\n\t\t\t'overflow-hidden text-ellipsis whitespace-nowrap': true,\n\t\t\t'z-10 max-w-14 px-1': true, // max 56px width, 4px horizontal padding\n\t\t\thidden: !this.showLabel && !this.label, // Hide if not shown or no label\n\t\t})\n\n\t\t// Badge styling with dynamic colors\n\t\tconst badgeClasses = this.classMap({\n\t\t\t'absolute top-2 right-3': true, // 8px from top, 12px from right\n\t\t\t'min-w-4 h-4': true, // 16px min-width and height\n\t\t\t'rounded-sm': true, // M3 small corner radius\n\t\t\t'text-xs font-semibold': true, // 11px, 600 weight\n\t\t\t'flex items-center justify-center': true,\n\t\t\t'px-1 box-border z-20': true, // 4px padding\n\t\t\t'animate-pulse': true, // Pulse animation\n\t\t\t// Dynamic background based on variant\n\t\t\t'bg-error-default text-error-on': this.badgeVariant === 'error',\n\t\t\t'bg-primary-default text-primary-on': this.badgeVariant === 'primary',\n\t\t\t'bg-secondary-default text-secondary-on': this.badgeVariant === 'secondary',\n\t\t})\n\n\t\t// Ripple effect classes\n\t\tconst rippleClasses = this.classMap({\n\t\t\t'absolute inset-0 rounded-lg overflow-hidden z-0': true,\n\t\t\t'before:content-[\"\"] before:absolute before:top-1/2 before:left-1/2': true,\n\t\t\t'before:w-0 before:h-0 before:rounded-full': true,\n\t\t\t'before:bg-current before:opacity-0': true,\n\t\t\t'before:-translate-x-1/2 before:-translate-y-1/2': true,\n\t\t\t'before:transition-all before:duration-300': true,\n\t\t\t// Active state\n\t\t\t'before:w-[200%] before:h-[200%] before:opacity-12': this.showRipple,\n\t\t})\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${containerClasses}\n\t\t\t\tpart=\"container\"\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\tstyle=\"outline: ${this.matches(':focus-visible')\n\t\t\t\t\t? '2px solid var(--schmancy-sys-color-primary-default)'\n\t\t\t\t\t: 'none'}; outline-offset: 2px;\"\n\t\t\t>\n\t\t\t\t<span class=${rippleClasses} aria-hidden=\"true\"></span>\n\n\t\t\t\t<div class=${iconContainerClasses} part=\"icon\">\n\t\t\t\t\t<span class=${indicatorClasses} part=\"indicator\" aria-hidden=\"true\"></span>\n\t\t\t\t\t${when(\n\t\t\t\t\t\thasCustomIcon,\n\t\t\t\t\t\t() => html`<slot class=\"relative\" name=\"icon\"></slot>`,\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\twhen(\n\t\t\t\t\t\t\t\tthis.icon,\n\t\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass=${iconClasses}\n\t\t\t\t\t\t\t\t\t\tpart=\"icon-text\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"font-family: 'Material Symbols Outlined'; font-variation-settings: 'FILL' ${this.active\n\t\t\t\t\t\t\t\t\t\t\t? '1'\n\t\t\t\t\t\t\t\t\t\t\t: '0'}, 'wght' 400, 'GRAD' 0, 'opsz' ${this.nested ? '20' : '24'};\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t${when(this.label, () => html`<span class=${labelClasses} part=\"label\">${this.label}</span>`)}\n\t\t\t\t${when(\n\t\t\t\t\tthis.badge,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\thasCustomBadge,\n\t\t\t\t\t\t\t() => html`<slot name=\"badge\"></slot>`,\n\t\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t\t<span class=${badgeClasses} part=\"badge\" aria-label=\"${this.badge} notifications\"> ${this.badge} </span>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Tooltip shown via title attribute -->\n\t\t\t\t${when(\n\t\t\t\t\tthis.hasAttribute('title'),\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"\n\t\t\t\t\t\t\tabsolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2\n\t\t\t\t\t\t\tbg-surface-inverse text-surface-inverseOn\n\t\t\t\t\t\t\tpx-2 py-1 rounded-sm text-xs whitespace-nowrap\n\t\t\t\t\t\t\tz-1000 pointer-events-none opacity-0\n\t\t\t\t\t\t\thover:opacity-100 hover:translate-x-0\n\t\t\t\t\t\t\ttransition-all duration-150 ease-out\n\t\t\t\t\t\t\t-translate-x-1\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.getAttribute('title')}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-rail-item': SchmancyNavigationRailItem\n\t}\n}\n","import { $LitElement } from '@mixins/index'\r\nimport { html, PropertyValues } from 'lit'\r\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\r\nimport { BehaviorSubject, fromEvent, takeUntil } from 'rxjs'\r\nimport { distinctUntilChanged, tap } from 'rxjs/operators'\r\nimport { SchmancyNavigationRailItem } from './navigation-rail-item'\r\n\r\nexport type NavigateEvent = CustomEvent<string>\r\n\r\nexport type NavigationRailMenuClickEvent = CustomEvent<void>\r\n\r\nexport type NavigationRailFabClickEvent = CustomEvent<void>\r\n\r\n\r\nexport type LabelVisibility = 'all' | 'selected' | 'none'\r\n\r\n/**\r\n * Material Design 3 Navigation Rail Component\r\n * @see https://m3.material.io/components/navigation-rail/overview\r\n *\r\n * `<schmancy-navigation-rail>` component\r\n *\r\n * A Material Design 3 vertical navigation component positioned on the left side of an application.\r\n * Navigation rails provide access to between 3-7 primary destinations with a compact footprint.\r\n * Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).\r\n *\r\n * @element schmancy-navigation-rail\r\n * @slot fab - Slot for a floating action button at the top\r\n * @slot menu - Slot for a menu icon or button below the FAB\r\n * @slot header - Custom header content slot\r\n * @slot footer - Custom footer content slot\r\n * @slot - Default slot for navigation rail items\r\n *\r\n * @fires navigate - When a navigation item is selected\r\n * @fires menu-click - When the menu button is clicked\r\n * @fires fab-click - When the FAB is clicked\r\n *\r\n * @csspart rail - The main rail container\r\n * @csspart header - The header section\r\n * @csspart nav - The navigation items container\r\n * @csspart footer - The footer section\r\n *\r\n * @example\r\n * <schmancy-navigation-rail activeIndex=\"0\">\r\n * <schmancy-button slot=\"fab\" variant=\"filled\" aria-label=\"Compose\">\r\n * <schmancy-icon>add</schmancy-icon>\r\n * </schmancy-button>\r\n * <schmancy-button slot=\"menu\" variant=\"text\" aria-label=\"Menu\">\r\n * <schmancy-icon>menu</schmancy-icon>\r\n * </schmancy-button>\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"favorite\" label=\"Favorites\" badge=\"3\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-rail-item>\r\n * </schmancy-navigation-rail>\r\n */\r\n@customElement('schmancy-navigation-rail')\r\nexport class SchmancyNavigationRail extends $LitElement() {\r\n\t// Observable state\r\n\tprivate activeIndex$ = new BehaviorSubject<number>(-1)\r\n\r\n\t// Properties\r\n\t/**\r\n\t * The currently active item index\r\n\t * @default -1\r\n\t */\r\n\t@property({ type: Number })\r\n\tget activeIndex() {\r\n\t\treturn this.activeIndex$.value\r\n\t}\r\n\tset activeIndex(value: number) {\r\n\t\tthis.activeIndex$.next(value)\r\n\t}\r\n\r\n\t/**\r\n\t * The currently active item value (for programmatic selection)\r\n\t */\r\n\t@property({ type: String })\r\n\tget activeValue() {\r\n\t\treturn this._activeValue\r\n\t}\r\n\tset activeValue(value: string) {\r\n\t\tthis._activeValue = value\r\n\t\tthis.updateActiveByValue(value)\r\n\t}\r\n\tprivate _activeValue = ''\r\n\r\n\t/**\r\n\t * When to show labels for navigation items\r\n\t * 'all' - Always show labels for all items\r\n\t * 'selected' - Only show label for selected item\r\n\t * 'none' - Never show labels\r\n\t * @default 'all'\r\n\t */\r\n\t@property({ type: String, attribute: 'label-visibility', reflect: true })\r\n\tlabelVisibility: LabelVisibility = 'all'\r\n\r\n\t/**\r\n\t * Alignment of navigation items\r\n\t * @default 'top'\r\n\t */\r\n\t@property({ type: String, reflect: true })\r\n\talignment: 'top' | 'center' | 'bottom' = 'top'\r\n\r\n\t/**\r\n\t * Show tooltips when labels are hidden\r\n\t * @default true\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tshowTooltips = true\r\n\r\n\t/**\r\n\t * Enable keyboard navigation\r\n\t * @default true\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tkeyboardNavigation = true\r\n\r\n\t/**\r\n\t * Whether the navigation rail is expanded\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\texpanded = false\r\n\r\n\r\n\t// State\r\n\t@state()\r\n\tprivate focusedIndex = -1\r\n\r\n\t@state()\r\n\tprivate hasHeaderContent = false\r\n\r\n\t@state()\r\n\tprivate isFullscreen = false\r\n\r\n\t// Queries\r\n\r\n\t@queryAssignedElements({ flatten: true })\r\n\tprivate allElements!: Element[]\r\n\r\n\tprivate get navigationItems(): SchmancyNavigationRailItem[] {\r\n\t\treturn this.allElements.filter(el => el.tagName === 'SCHMANCY-NAVIGATION-RAIL-ITEM') as SchmancyNavigationRailItem[]\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\r\n\t\t// Set up keyboard navigation if enabled\r\n\t\tif (this.keyboardNavigation) {\r\n\t\t\tthis.addEventListener('keydown', this.handleKeyDown)\r\n\t\t}\r\n\r\n\t\t// Subscribe to active index changes with distinct values only\r\n\t\tthis.activeIndex$\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged(),\r\n\t\t\t\ttap(index => this.updateActiveStates(index)),\r\n\t\t\t\ttakeUntil(this.disconnecting),\r\n\t\t\t)\r\n\t\t\t.subscribe()\r\n\r\n\t\t// Listen to fullscreen events\r\n\t\tfromEvent(window, 'fullscreen').pipe(\r\n\t\t\ttap((event: Event) => {\r\n\t\t\t\tconst customEvent = event as CustomEvent\r\n\t\t\t\tthis.isFullscreen = customEvent.detail\r\n\t\t\t}),\r\n\t\t\ttakeUntil(this.disconnecting)\r\n\t\t).subscribe()\r\n\r\n\t\t// Listen for navigate events from child items\r\n\t\tthis.setupNavigateListener()\r\n\r\n\t\t// Set up label visibility\r\n\t\tthis.updateLabelVisibility()\r\n\r\n\t\t// Update ARIA attributes\r\n\t\tthis.setAttribute('role', 'navigation')\r\n\t\tthis.setAttribute('aria-label', 'Main navigation')\r\n\t}\r\n\r\n\tupdated(changedProperties: PropertyValues) {\r\n\t\tsuper.updated(changedProperties)\r\n\r\n\t\tif (changedProperties.has('labelVisibility')) {\r\n\t\t\tthis.updateLabelVisibility()\r\n\t\t}\r\n\r\n\t\tif (changedProperties.has('activeValue')) {\r\n\t\t\tthis.updateActiveByValue(this.activeValue)\r\n\t\t}\r\n\r\n\t\tif (changedProperties.has('expanded')) {\r\n\t\t\tthis.updateLabelVisibility()\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateActiveStates(index: number) {\r\n\t\tthis.navigationItems.forEach((item, i) => {\r\n\t\t\tconst isActive = i === index\r\n\t\t\titem.active = isActive\r\n\t\t\titem.setAttribute('aria-selected', String(isActive))\r\n\t\t\titem.setAttribute('tabindex', isActive ? '0' : '-1')\r\n\r\n\t\t\t// Update activeValue when index changes\r\n\t\t\tif (isActive) {\r\n\t\t\t\tthis._activeValue = item.value || item.label || ''\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate updateActiveByValue(value: string) {\r\n\t\tconst index = this.navigationItems.findIndex(item => item.getAttribute('value') === value || item.label === value)\r\n\t\tif (index >= 0) {\r\n\t\t\tthis.activeIndex = index\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateLabelVisibility() {\r\n\t\tthis.navigationItems.forEach((item, i) => {\r\n\t\t\tlet shouldShowLabel = false\r\n\r\n\t\t\t// M3 Spec: In expanded state, always show all labels\r\n\t\t\tif (this.expanded) {\r\n\t\t\t\tshouldShowLabel = true\r\n\t\t\t} else {\r\n\t\t\t\t// In collapsed state, respect labelVisibility setting\r\n\t\t\t\tshouldShowLabel =\r\n\t\t\t\t\tthis.labelVisibility === 'all' || (this.labelVisibility === 'selected' && i === this.activeIndex)\r\n\t\t\t}\r\n\r\n\t\t\titem.showLabel = shouldShowLabel\r\n\r\n\t\t\t// Add tooltips when labels are hidden (only in collapsed state)\r\n\t\t\tif (this.showTooltips && !shouldShowLabel && !this.expanded && item.label) {\r\n\t\t\t\titem.setAttribute('title', item.label)\r\n\t\t\t} else {\r\n\t\t\t\titem.removeAttribute('title')\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t// Note: Hover-based label showing removed for M3 compliance\r\n\t// Labels are now controlled via labelVisibility property and expanded state\r\n\r\n\t/**\r\n\t * Programmatically expand the navigation rail\r\n\t */\r\n\texpand() {\r\n\t\tthis.expanded = true\r\n\t}\r\n\r\n\t/**\r\n\t * Programmatically collapse the navigation rail\r\n\t */\r\n\tcollapse() {\r\n\t\tthis.expanded = false\r\n\t}\r\n\r\n\t/**\r\n\t * Add a boat item to the navigation rail\r\n\t * @param config Configuration for the boat item\r\n\t * @returns The created or existing navigation rail item element\r\n\t */\r\n\tpublic addBoatItem(config: { id: string; title: string; icon?: string }) {\r\n\t\t// Check if item already exists\r\n\t\tconst existingItem = this.querySelector(`[value=\"${config.id}\"]`) as HTMLElement\r\n\t\tif (existingItem) {\r\n\t\t\t// Item already exists, just return it\r\n\t\t\treturn existingItem\r\n\t\t}\r\n\r\n\t\t// Create new item\r\n\t\tconst item = document.createElement('schmancy-navigation-rail-item')\r\n\t\titem.setAttribute('value', config.id)\r\n\t\titem.innerHTML = `\r\n\t\t\t<schmancy-icon slot=\"icon\">${config.icon || 'widgets'}</schmancy-icon>\r\n\t\t\t${config.title}\r\n\t\t`\r\n\t\t// Add to the rail before any footer content\r\n\t\tconst footer = this.querySelector('[slot=\"footer\"]')\r\n\t\tif (footer) {\r\n\t\t\tthis.insertBefore(item, footer)\r\n\t\t} else {\r\n\t\t\tthis.appendChild(item)\r\n\t\t}\r\n\t\treturn item\r\n\t}\r\n\r\n\t/**\r\n\t * Toggle the navigation rail between expanded and collapsed states\r\n\t */\r\n\ttoggle() {\r\n\t\tthis.expanded = !this.expanded\r\n\t}\r\n\r\n\r\n\tprivate handleKeyDown(event: KeyboardEvent) {\r\n\t\tconst items = this.navigationItems\r\n\t\tif (items.length === 0) return\r\n\r\n\t\tlet newIndex = this.focusedIndex >= 0 ? this.focusedIndex : this.activeIndex\r\n\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'ArrowDown':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = (newIndex + 1) % items.length\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ArrowUp':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = newIndex <= 0 ? items.length - 1 : newIndex - 1\r\n\t\t\t\tbreak\r\n\t\t\tcase 'Home':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = 0\r\n\t\t\t\tbreak\r\n\t\t\tcase 'End':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = items.length - 1\r\n\t\t\t\tbreak\r\n\t\t\tcase 'Enter':\r\n\t\t\tcase ' ':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tif (newIndex >= 0) {\r\n\t\t\t\t\titems[newIndex].click()\r\n\t\t\t\t}\r\n\t\t\t\treturn\r\n\t\t\tdefault:\r\n\t\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.focusedIndex = newIndex\r\n\t\titems[newIndex].focus()\r\n\t}\r\n\r\n\tprivate handleFabClick(event: Event) {\r\n\t\tevent.stopPropagation()\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('fab-click', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprivate handleMenuClick(event: Event) {\r\n\t\tevent.stopPropagation()\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('menu-click', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Host-level classes for the navigation rail\r\n\t\tconst hostClasses = this.classMap({\r\n\t\t\t// Layout & Structure - Fixed width to prevent layout shift\r\n\t\t\t'flex flex-col': true,\r\n\t\t\t'h-full': true,\r\n\t\t\t'box-border relative overflow-visible': true,\r\n\t\t\t'z-10 hover:z-[100]': true, // Base z-index, elevated on hover for overlay\r\n\r\n\t\t\t// Width - collapses to 0 when fullscreen\r\n\t\t\t'w-20': !this.isFullscreen, // w-20 = 80px fixed width (M3 spec: 80dp)\r\n\t\t\t'w-0': this.isFullscreen, // Collapse width to 0 in fullscreen\r\n\r\n\t\t\t// Visibility and transition\r\n\t\t\t'transition-all duration-300 ease-emphasized': true,\r\n\t\t\t'opacity-100': !this.isFullscreen,\r\n\t\t\t'opacity-0 pointer-events-none': this.isFullscreen,\r\n\t\t\t'overflow-hidden': this.isFullscreen, // Hide overflow when collapsed\r\n\t\t})\r\n\r\n\t\t// Rail container - programmatically controlled width\r\n\t\tconst railClasses = this.classMap({\r\n\t\t\t// Layout & Structure\r\n\t\t\t'flex flex-col h-full': true,\r\n\t\t\t'box-border relative': true,\r\n\t\t\t'py-2': true,\r\n\r\n\r\n\t\t\t// M3 Colors & Theme\r\n\t\t\t'bg-container-lowest text-surface-on': true,\r\n\r\n\t\t\t// M3 Motion - smooth transitions for width and shadow\r\n\t\t\t'transition-all duration-300 ease-emphasized': true,\r\n\r\n\t\t\t// Collapsed state (default) - M3 standard 80px width\r\n\t\t\t'w-20': !this.expanded, // w-20 = 80px (M3 spec: 80dp)\r\n\t\t\t'px-3': !this.expanded, // px-3 = 12px (M3 spec: 12px to center 56px items)\r\n\r\n\t\t\t// Expanded state - M3 expanded width with shadow\r\n\t\t\t'w-60': this.expanded, // w-60 = 240px expanded width\r\n\t\t\t'px-4': this.expanded, // Larger padding when expanded\r\n\t\t\t'shadow-lg': this.expanded, // M3 elevation 3 shadow when expanded\r\n\t\t})\r\n\r\n\t\t// Header section classes - hidden when no content\r\n\t\tconst headerClasses = this.classMap({\r\n\t\t\t'flex flex-col items-center gap-1': true,\r\n\t\t\t'hidden': !this.hasHeaderContent,\r\n\t\t})\r\n\r\n\t\t// Navigation container classes with alignment\r\n\t\tconst navClasses = this.classMap({\r\n\t\t\t'flex-1 flex flex-col gap-3': true, // gap-3 = 12px (M3 spec: 12px item spacing)\r\n\t\t\t'min-h-0': true, // Allow flex shrinking and proper scroll container height calculation\r\n\t\t\t// Alignment variants\r\n\t\t\t'justify-start': this.alignment === 'top',\r\n\t\t\t'justify-center': this.alignment === 'center',\r\n\t\t\t'justify-end': this.alignment === 'bottom',\r\n\t\t})\r\n\r\n\t\t// Footer section classes\r\n\t\tconst footerClasses = this.classMap({\r\n\t\t\t'flex flex-col items-center gap-1 mt-auto pt-2': true,\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<div\r\n\t\t\t\tclass=${hostClasses}\r\n\t\t\t>\r\n\t\t\t\t<div class=${railClasses} part=\"rail\">\r\n\t\t\t\t\t<div class=${headerClasses} part=\"header\">\r\n\t\t\t\t\t\t<slot name=\"fab\" @click=${this.handleFabClick} @slotchange=${this.handleHeaderSlotChange}></slot>\r\n\t\t\t\t\t\t<slot name=\"menu\" @click=${this.handleMenuClick} @slotchange=${this.handleHeaderSlotChange}></slot>\r\n\t\t\t\t\t\t<slot name=\"header\" @slotchange=${this.handleHeaderSlotChange}></slot>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<nav class=${navClasses} part=\"nav\" role=\"list\">\r\n\t\t\t\t\t\t<schmancy-scroll hide direction=\"vertical\">\r\n\t\t\t\t\t\t\t<slot @slotchange=${this.handleSlotChange}></slot>\r\n\t\t\t\t\t\t</schmancy-scroll>\r\n\t\t\t\t\t</nav>\r\n\r\n\t\t\t\t\t<div class=${footerClasses} part=\"footer\">\r\n\t\t\t\t\t\t<slot name=\"footer\"></slot>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n\r\n\tprivate setupNavigateListener() {\r\n\t\t// Listen for navigate events from child items\r\n\t\tthis.addEventListener('navigate', (e: Event) => {\r\n\t\t\tif (e instanceof CustomEvent) {\r\n\t\t\t\tconst value = e.detail\r\n\t\t\t\t// Find the item that dispatched the event and update active state\r\n\t\t\t\tconst itemIndex = this.navigationItems.findIndex(item => item.value === value || item.label === value)\r\n\t\t\t\tif (itemIndex >= 0) {\r\n\t\t\t\t\tthis.activeIndex = itemIndex\r\n\t\t\t\t\tthis._activeValue = value\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate handleHeaderSlotChange() {\r\n\t\t// Check if any header slot has content\r\n\t\tconst headerDiv = this.shadowRoot?.querySelector('[part=\"header\"]')\r\n\t\tif (headerDiv) {\r\n\t\t\tconst allSlots = headerDiv.querySelectorAll('slot')\r\n\t\t\tthis.hasHeaderContent = Array.from(allSlots).some(s =>\r\n\t\t\t\ts.assignedNodes({ flatten: true }).length > 0\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate handleSlotChange() {\r\n\t\t// Update items when slot content changes\r\n\t\tthis.updateLabelVisibility()\r\n\t\tthis.updateActiveStates(this.activeIndex)\r\n\r\n\t\t// Set ARIA attributes on items\r\n\t\tthis.navigationItems.forEach((item, index) => {\r\n\t\t\titem.setAttribute('role', 'listitem')\r\n\t\t\tif (!item.hasAttribute('tabindex')) {\r\n\t\t\t\titem.setAttribute('tabindex', index === this.activeIndex ? '0' : '-1')\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail': SchmancyNavigationRail\r\n\t}\r\n}\r\n"],"mappings":"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"}
@@ -1,6 +1,364 @@
1
- import { a as c, S as m } from "./navigation-rail-Ctketq5a.js";
2
- export {
3
- c as SchmancyNavigationRail,
4
- m as SchmancyNavigationRailItem
1
+ import { i as e } from "./tailwind.mixin-C4cx3IOr.js";
2
+ import { t } from "./litElement.mixin-Dktub0ri.js";
3
+ import "./mixins.js";
4
+ import { BehaviorSubject as n, fromEvent as r, merge as i, takeUntil as a } from "rxjs";
5
+ import { delay as o, distinctUntilChanged as s, tap as c } from "rxjs/operators";
6
+ import { customElement as l, property as u, queryAssignedElements as d, state as f } from "lit/decorators.js";
7
+ import { html as p } from "lit";
8
+ import { when as m } from "lit/directives/when.js";
9
+ var h = class extends t() {
10
+ constructor(...e) {
11
+ super(...e), this.hovering$ = new n(!1), this.pressing$ = new n(!1), this.active$ = new n(!1), this.icon = "", this.label = "", this.value = "", this.badge = "", this.badgeVariant = "error", this.showLabel = !1, this.disabled = !1, this.nested = !1, this.group = !1, this.showRipple = !1;
12
+ }
13
+ get active() {
14
+ return this.active$.value;
15
+ }
16
+ set active(e) {
17
+ this.active$.next(e);
18
+ }
19
+ get selected() {
20
+ return this.active;
21
+ }
22
+ set selected(e) {
23
+ this.active = e;
24
+ }
25
+ connectedCallback() {
26
+ super.connectedCallback(), i(r(this, "mouseenter").pipe(c(() => this.hovering$.next(!0))), r(this, "mouseleave").pipe(c(() => this.hovering$.next(!1)))).pipe(a(this.disconnecting)).subscribe(), i(r(this, "mousedown").pipe(c(() => this.pressing$.next(!0))), r(this, "mouseup").pipe(c(() => this.pressing$.next(!1))), r(this, "mouseleave").pipe(c(() => this.pressing$.next(!1)))).pipe(a(this.disconnecting)).subscribe(), this.pressing$.pipe(c((e) => {
27
+ e && !this.disabled && (this.showRipple = !0);
28
+ }), o(600), c(() => this.showRipple = !1), a(this.disconnecting)).subscribe(), this.active$.pipe(s(), c((e) => {
29
+ this.requestUpdate(), this.setAttribute("aria-selected", String(e)), this.setAttribute("tabindex", e ? "0" : "-1");
30
+ }), a(this.disconnecting)).subscribe(), this.setAttribute("role", "listitem"), this.hasAttribute("tabindex") || this.setAttribute("tabindex", this.active ? "0" : "-1");
31
+ }
32
+ updated(e) {
33
+ super.updated(e), e.has("disabled") && this.setAttribute("aria-disabled", String(this.disabled)), e.has("label") && this.setAttribute("aria-label", this.label);
34
+ }
35
+ handleClick(e) {
36
+ if (this.disabled) return e.preventDefault(), void e.stopPropagation();
37
+ this.dispatchEvent(new CustomEvent("navigate", {
38
+ detail: this.value || this.label,
39
+ bubbles: !0,
40
+ composed: !0
41
+ }));
42
+ }
43
+ handleKeyDown(e) {
44
+ this.disabled || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), this.click());
45
+ }
46
+ render() {
47
+ let e = !!this.querySelector("[slot=\"icon\"]"), t = this.querySelector("[slot=\"badge\"]"), n = this.classMap({
48
+ "flex flex-col items-center justify-center": !0,
49
+ "min-h-14 w-full": !0,
50
+ "py-3": !0,
51
+ "gap-1": !0,
52
+ "rounded-lg": !0,
53
+ "cursor-pointer": !0,
54
+ relative: !0,
55
+ "select-none": !0,
56
+ "box-border": !0,
57
+ "text-surface-onVariant": !this.active,
58
+ "text-secondary-onContainer": this.active,
59
+ "hover:bg-surface-containerHighest": !0,
60
+ "transition-all duration-150 ease-out": !0,
61
+ "pointer-events-none opacity-38": this.disabled,
62
+ "[&>.ripple]:scale-100": this.showRipple,
63
+ "min-h-12 pl-8": this.nested,
64
+ "mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12": this.group
65
+ }), r = this.classMap({
66
+ "flex items-center justify-center": !0,
67
+ "w-auto min-w-14 h-8": !0,
68
+ "shrink-0 relative z-10": !0
69
+ }), i = this.classMap({
70
+ "absolute top-1/2 left-1/2 opacity-30": !0,
71
+ "w-14 h-8": !0,
72
+ "rounded-lg": !0,
73
+ "bg-secondary-container": !0,
74
+ "transition-transform duration-150 ease-out": !0,
75
+ "scale-0 -translate-x-1/2 -translate-y-1/2": !this.active,
76
+ "scale-100 -translate-x-1/2 -translate-y-1/2": this.active
77
+ }), a = this.classMap({
78
+ "relative z-100": !0,
79
+ "text-2xl leading-none": !this.nested,
80
+ "text-xl leading-none": this.nested
81
+ }), o = this.classMap({
82
+ "text-xs font-medium leading-4": !0,
83
+ "text-center": !0,
84
+ "overflow-hidden text-ellipsis whitespace-nowrap": !0,
85
+ "z-10 max-w-14 px-1": !0,
86
+ hidden: !this.showLabel && !this.label
87
+ }), s = this.classMap({
88
+ "absolute top-2 right-3": !0,
89
+ "min-w-4 h-4": !0,
90
+ "rounded-sm": !0,
91
+ "text-xs font-semibold": !0,
92
+ "flex items-center justify-center": !0,
93
+ "px-1 box-border z-20": !0,
94
+ "animate-pulse": !0,
95
+ "bg-error-default text-error-on": this.badgeVariant === "error",
96
+ "bg-primary-default text-primary-on": this.badgeVariant === "primary",
97
+ "bg-secondary-default text-secondary-on": this.badgeVariant === "secondary"
98
+ }), c = this.classMap({
99
+ "absolute inset-0 rounded-lg overflow-hidden z-0": !0,
100
+ "before:content-[\"\"] before:absolute before:top-1/2 before:left-1/2": !0,
101
+ "before:w-0 before:h-0 before:rounded-full": !0,
102
+ "before:bg-current before:opacity-0": !0,
103
+ "before:-translate-x-1/2 before:-translate-y-1/2": !0,
104
+ "before:transition-all before:duration-300": !0,
105
+ "before:w-[200%] before:h-[200%] before:opacity-12": this.showRipple
106
+ });
107
+ return p`
108
+ <div
109
+ class=${n}
110
+ part="container"
111
+ @click=${this.handleClick}
112
+ @keydown=${this.handleKeyDown}
113
+ style="outline: ${this.matches(":focus-visible") ? "2px solid var(--schmancy-sys-color-primary-default)" : "none"}; outline-offset: 2px;"
114
+ >
115
+ <span class=${c} aria-hidden="true"></span>
116
+
117
+ <div class=${r} part="icon">
118
+ <span class=${i} part="indicator" aria-hidden="true"></span>
119
+ ${m(e, () => p`<slot class="relative" name="icon"></slot>`, () => m(this.icon, () => p`
120
+ <span
121
+ class=${a}
122
+ part="icon-text"
123
+ style="font-family: 'Material Symbols Outlined'; font-variation-settings: 'FILL' ${this.active ? "1" : "0"}, 'wght' 400, 'GRAD' 0, 'opsz' ${this.nested ? "20" : "24"};"
124
+ >
125
+ ${this.icon}
126
+ </span>
127
+ `))}
128
+ </div>
129
+
130
+ ${m(this.label, () => p`<span class=${o} part="label">${this.label}</span>`)}
131
+ ${m(this.badge, () => p`
132
+ ${m(t, () => p`<slot name="badge"></slot>`, () => p`
133
+ <span class=${s} part="badge" aria-label="${this.badge} notifications"> ${this.badge} </span>
134
+ `)}
135
+ `)}
136
+
137
+ <!-- Tooltip shown via title attribute -->
138
+ ${m(this.hasAttribute("title"), () => p`
139
+ <div
140
+ class="
141
+ absolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2
142
+ bg-surface-inverse text-surface-inverseOn
143
+ px-2 py-1 rounded-sm text-xs whitespace-nowrap
144
+ z-1000 pointer-events-none opacity-0
145
+ hover:opacity-100 hover:translate-x-0
146
+ transition-all duration-150 ease-out
147
+ -translate-x-1
148
+ "
149
+ aria-hidden="true"
150
+ >
151
+ ${this.getAttribute("title")}
152
+ </div>
153
+ `)}
154
+ </div>
155
+ `;
156
+ }
5
157
  };
6
- //# sourceMappingURL=navigation-rail.js.map
158
+ e([u({ type: String })], h.prototype, "icon", void 0), e([u({ type: String })], h.prototype, "label", void 0), e([u({ type: String })], h.prototype, "value", void 0), e([u({
159
+ type: Boolean,
160
+ reflect: !0
161
+ })], h.prototype, "active", null), e([u({
162
+ type: Boolean,
163
+ reflect: !0
164
+ })], h.prototype, "selected", null), e([u({ type: String })], h.prototype, "badge", void 0), e([u({ type: String })], h.prototype, "badgeVariant", void 0), e([u({
165
+ type: Boolean,
166
+ attribute: "show-label"
167
+ })], h.prototype, "showLabel", void 0), e([u({
168
+ type: Boolean,
169
+ reflect: !0
170
+ })], h.prototype, "disabled", void 0), e([u({
171
+ type: Boolean,
172
+ reflect: !0
173
+ })], h.prototype, "nested", void 0), e([u({
174
+ type: Boolean,
175
+ reflect: !0
176
+ })], h.prototype, "group", void 0), e([f()], h.prototype, "showRipple", void 0), h = e([l("schmancy-navigation-rail-item")], h);
177
+ var g = class extends t() {
178
+ constructor(...e) {
179
+ super(...e), this.activeIndex$ = new n(-1), this._activeValue = "", this.labelVisibility = "all", this.alignment = "top", this.showTooltips = !0, this.keyboardNavigation = !0, this.expanded = !1, this.focusedIndex = -1, this.hasHeaderContent = !1, this.isFullscreen = !1;
180
+ }
181
+ get activeIndex() {
182
+ return this.activeIndex$.value;
183
+ }
184
+ set activeIndex(e) {
185
+ this.activeIndex$.next(e);
186
+ }
187
+ get activeValue() {
188
+ return this._activeValue;
189
+ }
190
+ set activeValue(e) {
191
+ this._activeValue = e, this.updateActiveByValue(e);
192
+ }
193
+ get navigationItems() {
194
+ return this.allElements.filter((e) => e.tagName === "SCHMANCY-NAVIGATION-RAIL-ITEM");
195
+ }
196
+ connectedCallback() {
197
+ super.connectedCallback(), this.keyboardNavigation && this.addEventListener("keydown", this.handleKeyDown), this.activeIndex$.pipe(s(), c((e) => this.updateActiveStates(e)), a(this.disconnecting)).subscribe(), r(window, "fullscreen").pipe(c((e) => {
198
+ let t = e;
199
+ this.isFullscreen = t.detail;
200
+ }), a(this.disconnecting)).subscribe(), this.setupNavigateListener(), this.updateLabelVisibility(), this.setAttribute("role", "navigation"), this.setAttribute("aria-label", "Main navigation");
201
+ }
202
+ updated(e) {
203
+ super.updated(e), e.has("labelVisibility") && this.updateLabelVisibility(), e.has("activeValue") && this.updateActiveByValue(this.activeValue), e.has("expanded") && this.updateLabelVisibility();
204
+ }
205
+ updateActiveStates(e) {
206
+ this.navigationItems.forEach((t, n) => {
207
+ let r = n === e;
208
+ t.active = r, t.setAttribute("aria-selected", String(r)), t.setAttribute("tabindex", r ? "0" : "-1"), r && (this._activeValue = t.value || t.label || "");
209
+ });
210
+ }
211
+ updateActiveByValue(e) {
212
+ let t = this.navigationItems.findIndex((t) => t.getAttribute("value") === e || t.label === e);
213
+ t >= 0 && (this.activeIndex = t);
214
+ }
215
+ updateLabelVisibility() {
216
+ this.navigationItems.forEach((e, t) => {
217
+ let n = !1;
218
+ n = !!this.expanded || this.labelVisibility === "all" || this.labelVisibility === "selected" && t === this.activeIndex, e.showLabel = n, this.showTooltips && !n && !this.expanded && e.label ? e.setAttribute("title", e.label) : e.removeAttribute("title");
219
+ });
220
+ }
221
+ expand() {
222
+ this.expanded = !0;
223
+ }
224
+ collapse() {
225
+ this.expanded = !1;
226
+ }
227
+ addBoatItem(e) {
228
+ let t = this.querySelector(`[value="${e.id}"]`);
229
+ if (t) return t;
230
+ let n = document.createElement("schmancy-navigation-rail-item");
231
+ n.setAttribute("value", e.id), n.innerHTML = `\n\t\t\t<schmancy-icon slot="icon">${e.icon || "widgets"}</schmancy-icon>\n\t\t\t${e.title}\n\t\t`;
232
+ let r = this.querySelector("[slot=\"footer\"]");
233
+ return r ? this.insertBefore(n, r) : this.appendChild(n), n;
234
+ }
235
+ toggle() {
236
+ this.expanded = !this.expanded;
237
+ }
238
+ handleKeyDown(e) {
239
+ let t = this.navigationItems;
240
+ if (t.length === 0) return;
241
+ let n = this.focusedIndex >= 0 ? this.focusedIndex : this.activeIndex;
242
+ switch (e.key) {
243
+ case "ArrowDown":
244
+ e.preventDefault(), n = (n + 1) % t.length;
245
+ break;
246
+ case "ArrowUp":
247
+ e.preventDefault(), n = n <= 0 ? t.length - 1 : n - 1;
248
+ break;
249
+ case "Home":
250
+ e.preventDefault(), n = 0;
251
+ break;
252
+ case "End":
253
+ e.preventDefault(), n = t.length - 1;
254
+ break;
255
+ case "Enter":
256
+ case " ":
257
+ e.preventDefault(), n >= 0 && t[n].click();
258
+ return;
259
+ default: return;
260
+ }
261
+ this.focusedIndex = n, t[n].focus();
262
+ }
263
+ handleFabClick(e) {
264
+ e.stopPropagation(), this.dispatchEvent(new CustomEvent("fab-click", {
265
+ bubbles: !0,
266
+ composed: !0
267
+ }));
268
+ }
269
+ handleMenuClick(e) {
270
+ e.stopPropagation(), this.dispatchEvent(new CustomEvent("menu-click", {
271
+ bubbles: !0,
272
+ composed: !0
273
+ }));
274
+ }
275
+ render() {
276
+ let e = this.classMap({
277
+ "flex flex-col": !0,
278
+ "h-full": !0,
279
+ "box-border relative overflow-visible": !0,
280
+ "z-10 hover:z-[100]": !0,
281
+ "w-20": !this.isFullscreen,
282
+ "w-0": this.isFullscreen,
283
+ "transition-all duration-300 ease-emphasized": !0,
284
+ "opacity-100": !this.isFullscreen,
285
+ "opacity-0 pointer-events-none": this.isFullscreen,
286
+ "overflow-hidden": this.isFullscreen
287
+ }), t = this.classMap({
288
+ "flex flex-col h-full": !0,
289
+ "box-border relative": !0,
290
+ "py-2": !0,
291
+ "bg-container-lowest text-surface-on": !0,
292
+ "transition-all duration-300 ease-emphasized": !0,
293
+ "w-20": !this.expanded,
294
+ "px-3": !this.expanded,
295
+ "w-60": this.expanded,
296
+ "px-4": this.expanded,
297
+ "shadow-lg": this.expanded
298
+ }), n = this.classMap({
299
+ "flex flex-col items-center gap-1": !0,
300
+ hidden: !this.hasHeaderContent
301
+ }), r = this.classMap({
302
+ "flex-1 flex flex-col gap-3": !0,
303
+ "min-h-0": !0,
304
+ "justify-start": this.alignment === "top",
305
+ "justify-center": this.alignment === "center",
306
+ "justify-end": this.alignment === "bottom"
307
+ }), i = this.classMap({ "flex flex-col items-center gap-1 mt-auto pt-2": !0 });
308
+ return p`
309
+ <div
310
+ class=${e}
311
+ >
312
+ <div class=${t} part="rail">
313
+ <div class=${n} part="header">
314
+ <slot name="fab" @click=${this.handleFabClick} @slotchange=${this.handleHeaderSlotChange}></slot>
315
+ <slot name="menu" @click=${this.handleMenuClick} @slotchange=${this.handleHeaderSlotChange}></slot>
316
+ <slot name="header" @slotchange=${this.handleHeaderSlotChange}></slot>
317
+ </div>
318
+
319
+ <nav class=${r} part="nav" role="list">
320
+ <schmancy-scroll hide direction="vertical">
321
+ <slot @slotchange=${this.handleSlotChange}></slot>
322
+ </schmancy-scroll>
323
+ </nav>
324
+
325
+ <div class=${i} part="footer">
326
+ <slot name="footer"></slot>
327
+ </div>
328
+ </div>
329
+ </div>
330
+ `;
331
+ }
332
+ setupNavigateListener() {
333
+ this.addEventListener("navigate", (e) => {
334
+ if (e instanceof CustomEvent) {
335
+ let t = e.detail, n = this.navigationItems.findIndex((e) => e.value === t || e.label === t);
336
+ n >= 0 && (this.activeIndex = n, this._activeValue = t);
337
+ }
338
+ });
339
+ }
340
+ handleHeaderSlotChange() {
341
+ let e = this.shadowRoot?.querySelector("[part=\"header\"]");
342
+ if (e) {
343
+ let t = e.querySelectorAll("slot");
344
+ this.hasHeaderContent = Array.from(t).some((e) => e.assignedNodes({ flatten: !0 }).length > 0);
345
+ }
346
+ }
347
+ handleSlotChange() {
348
+ this.updateLabelVisibility(), this.updateActiveStates(this.activeIndex), this.navigationItems.forEach((e, t) => {
349
+ e.setAttribute("role", "listitem"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", t === this.activeIndex ? "0" : "-1");
350
+ });
351
+ }
352
+ };
353
+ e([u({ type: Number })], g.prototype, "activeIndex", null), e([u({ type: String })], g.prototype, "activeValue", null), e([u({
354
+ type: String,
355
+ attribute: "label-visibility",
356
+ reflect: !0
357
+ })], g.prototype, "labelVisibility", void 0), e([u({
358
+ type: String,
359
+ reflect: !0
360
+ })], g.prototype, "alignment", void 0), e([u({ type: Boolean })], g.prototype, "showTooltips", void 0), e([u({ type: Boolean })], g.prototype, "keyboardNavigation", void 0), e([u({
361
+ type: Boolean,
362
+ reflect: !0
363
+ })], g.prototype, "expanded", void 0), e([f()], g.prototype, "focusedIndex", void 0), e([f()], g.prototype, "hasHeaderContent", void 0), e([f()], g.prototype, "isFullscreen", void 0), e([d({ flatten: !0 })], g.prototype, "allElements", void 0), g = e([l("schmancy-navigation-rail")], g);
364
+ export { g as SchmancyNavigationRail, h as SchmancyNavigationRailItem };