@mhmo91/schmancy 0.8.6 → 0.9.3

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 (1426) hide show
  1. package/README.md +54 -1
  2. package/ai/INDEX.md +321 -0
  3. package/ai/animation.md +64 -0
  4. package/ai/area.md +170 -237
  5. package/ai/audio.md +50 -222
  6. package/ai/autocomplete.md +44 -162
  7. package/ai/avatar.md +47 -178
  8. package/ai/badge.md +41 -108
  9. package/ai/boat.md +35 -41
  10. package/ai/busy.md +25 -184
  11. package/ai/button.md +52 -150
  12. package/ai/card.md +42 -215
  13. package/ai/charts.md +93 -0
  14. package/ai/checkbox.md +32 -135
  15. package/ai/chips.md +73 -383
  16. package/ai/code-highlight.md +33 -226
  17. package/ai/connectivity.md +36 -0
  18. package/ai/content-drawer.md +65 -232
  19. package/ai/date-range-inline.md +40 -258
  20. package/ai/date-range.md +43 -198
  21. package/ai/delay.md +31 -139
  22. package/ai/details.md +48 -453
  23. package/ai/dialog.md +55 -164
  24. package/ai/directives.md +258 -405
  25. package/ai/discovery.md +67 -0
  26. package/ai/divider.md +15 -137
  27. package/ai/dropdown.md +44 -235
  28. package/ai/expand.md +63 -0
  29. package/ai/extra.md +59 -0
  30. package/ai/float.md +14 -0
  31. package/ai/form.md +41 -137
  32. package/ai/icons.md +31 -235
  33. package/ai/iframe.md +44 -0
  34. package/ai/input.md +50 -210
  35. package/ai/json.md +33 -0
  36. package/ai/layout.md +45 -169
  37. package/ai/lightbox.md +25 -370
  38. package/ai/list.md +51 -130
  39. package/ai/mailbox.md +80 -508
  40. package/ai/map.md +47 -226
  41. package/ai/menu.md +25 -134
  42. package/ai/mixins.md +201 -0
  43. package/ai/nav-drawer.md +30 -184
  44. package/ai/navigation-bar.md +27 -184
  45. package/ai/navigation-rail.md +62 -630
  46. package/ai/notification.md +49 -183
  47. package/ai/option.md +30 -160
  48. package/ai/page.md +42 -0
  49. package/ai/progress.md +26 -65
  50. package/ai/qr-scanner.md +51 -0
  51. package/ai/radio-group.md +45 -189
  52. package/ai/range.md +47 -0
  53. package/ai/rxjs-utils.md +60 -0
  54. package/ai/select.md +49 -209
  55. package/ai/sheet.md +74 -506
  56. package/ai/slider.md +30 -214
  57. package/ai/steps.md +30 -392
  58. package/ai/store.md +173 -251
  59. package/ai/surface.md +58 -245
  60. package/ai/table.md +56 -330
  61. package/ai/tabs.md +31 -176
  62. package/ai/teleport.md +35 -177
  63. package/ai/textarea.md +48 -232
  64. package/ai/theme-button.md +16 -163
  65. package/ai/theme.md +40 -1089
  66. package/ai/tooltip.md +35 -146
  67. package/ai/tree.md +45 -271
  68. package/ai/typewriter.md +28 -317
  69. package/ai/typography.md +43 -296
  70. package/ai/utils.md +95 -0
  71. package/ai/window.md +67 -0
  72. package/custom-elements.json +10955 -0
  73. package/dist/ai/INDEX.md +321 -0
  74. package/dist/ai/animation.md +64 -0
  75. package/dist/ai/area.md +170 -237
  76. package/dist/ai/audio.md +50 -222
  77. package/dist/ai/autocomplete.md +44 -162
  78. package/dist/ai/avatar.md +47 -178
  79. package/dist/ai/badge.md +41 -108
  80. package/dist/ai/boat.md +35 -41
  81. package/dist/ai/busy.md +25 -184
  82. package/dist/ai/button.md +52 -150
  83. package/dist/ai/card.md +42 -215
  84. package/dist/ai/charts.md +93 -0
  85. package/dist/ai/checkbox.md +32 -135
  86. package/dist/ai/chips.md +73 -383
  87. package/dist/ai/code-highlight.md +33 -226
  88. package/dist/ai/connectivity.md +36 -0
  89. package/dist/ai/content-drawer.md +65 -232
  90. package/dist/ai/date-range-inline.md +40 -258
  91. package/dist/ai/date-range.md +43 -198
  92. package/dist/ai/delay.md +31 -139
  93. package/dist/ai/details.md +48 -453
  94. package/dist/ai/dialog.md +55 -164
  95. package/dist/ai/directives.md +258 -405
  96. package/dist/ai/discovery.md +67 -0
  97. package/dist/ai/divider.md +15 -137
  98. package/dist/ai/dropdown.md +44 -235
  99. package/dist/ai/expand.md +63 -0
  100. package/dist/ai/extra.md +59 -0
  101. package/dist/ai/float.md +14 -0
  102. package/dist/ai/form.md +41 -137
  103. package/dist/ai/icons.md +31 -235
  104. package/dist/ai/iframe.md +44 -0
  105. package/dist/ai/input.md +50 -210
  106. package/dist/ai/json.md +33 -0
  107. package/dist/ai/layout.md +45 -169
  108. package/dist/ai/lightbox.md +25 -370
  109. package/dist/ai/list.md +51 -130
  110. package/dist/ai/mailbox.md +80 -508
  111. package/dist/ai/map.md +47 -226
  112. package/dist/ai/menu.md +25 -134
  113. package/dist/ai/mixins.md +201 -0
  114. package/dist/ai/nav-drawer.md +30 -184
  115. package/dist/ai/navigation-bar.md +27 -184
  116. package/dist/ai/navigation-rail.md +62 -630
  117. package/dist/ai/notification.md +49 -183
  118. package/dist/ai/option.md +30 -160
  119. package/dist/ai/page.md +42 -0
  120. package/dist/ai/progress.md +26 -65
  121. package/dist/ai/qr-scanner.md +51 -0
  122. package/dist/ai/radio-group.md +45 -189
  123. package/dist/ai/range.md +47 -0
  124. package/dist/ai/rxjs-utils.md +60 -0
  125. package/dist/ai/select.md +49 -209
  126. package/dist/ai/sheet.md +74 -506
  127. package/dist/ai/slider.md +30 -214
  128. package/dist/ai/steps.md +30 -392
  129. package/dist/ai/store.md +173 -251
  130. package/dist/ai/surface.md +58 -245
  131. package/dist/ai/table.md +56 -330
  132. package/dist/ai/tabs.md +31 -176
  133. package/dist/ai/teleport.md +35 -177
  134. package/dist/ai/textarea.md +48 -232
  135. package/dist/ai/theme-button.md +16 -163
  136. package/dist/ai/theme.md +40 -1089
  137. package/dist/ai/tooltip.md +35 -146
  138. package/dist/ai/tree.md +45 -271
  139. package/dist/ai/typewriter.md +28 -317
  140. package/dist/ai/typography.md +43 -296
  141. package/dist/ai/utils.md +95 -0
  142. package/dist/ai/window.md +67 -0
  143. package/dist/animation-BK-8BwY8.js +173 -0
  144. package/dist/animation-BK-8BwY8.js.map +1 -0
  145. package/dist/animation-CO_Csq84.cjs +16 -0
  146. package/dist/animation-CO_Csq84.cjs.map +1 -0
  147. package/dist/area-CC8fUnra.js +590 -0
  148. package/dist/area-CC8fUnra.js.map +1 -0
  149. package/dist/area-wnWUAHEn.cjs +12 -0
  150. package/dist/area-wnWUAHEn.cjs.map +1 -0
  151. package/dist/area.cjs +1 -2
  152. package/dist/area.js +2 -29
  153. package/dist/audio-DtYYgzYD.cjs +1 -0
  154. package/dist/audio-DtYYgzYD.cjs.map +1 -0
  155. package/dist/audio-kz8UgPTO.js +335 -0
  156. package/dist/audio-kz8UgPTO.js.map +1 -0
  157. package/dist/audio.cjs +1 -2
  158. package/dist/audio.js +3 -9
  159. package/dist/autocomplete-B2Z3WK_7.cjs +111 -0
  160. package/dist/autocomplete-B2Z3WK_7.cjs.map +1 -0
  161. package/dist/autocomplete-CJ7YgtKN.js +378 -0
  162. package/dist/autocomplete-CJ7YgtKN.js.map +1 -0
  163. package/dist/autocomplete.cjs +1 -2
  164. package/dist/autocomplete.js +1 -2
  165. package/dist/badge.cjs +1 -2
  166. package/dist/badge.js +2 -6
  167. package/dist/boat-B57_4TzJ.cjs +80 -0
  168. package/dist/boat-B57_4TzJ.cjs.map +1 -0
  169. package/dist/boat-C9eU6NO-.js +347 -0
  170. package/dist/boat-C9eU6NO-.js.map +1 -0
  171. package/dist/boat.cjs +1 -2
  172. package/dist/boat.js +2 -5
  173. package/dist/busy--6oimtop.cjs +134 -0
  174. package/dist/busy--6oimtop.cjs.map +1 -0
  175. package/dist/busy-CGZXy0h-.js +167 -0
  176. package/dist/busy-CGZXy0h-.js.map +1 -0
  177. package/dist/busy.cjs +1 -2
  178. package/dist/busy.js +1 -2
  179. package/dist/button.cjs +113 -2
  180. package/dist/button.cjs.map +1 -1
  181. package/dist/button.js +398 -5
  182. package/dist/button.js.map +1 -1
  183. package/dist/card-BGJ0Hb1O.cjs +177 -0
  184. package/dist/card-BGJ0Hb1O.cjs.map +1 -0
  185. package/dist/card-C-ee-l5O.js +284 -0
  186. package/dist/card-C-ee-l5O.js.map +1 -0
  187. package/dist/card.cjs +1 -2
  188. package/dist/card.js +1 -2
  189. package/dist/charts.cjs +112 -2
  190. package/dist/charts.cjs.map +1 -1
  191. package/dist/charts.js +368 -8
  192. package/dist/charts.js.map +1 -1
  193. package/dist/checkbox-DuYaKoDZ.cjs +39 -0
  194. package/dist/checkbox-DuYaKoDZ.cjs.map +1 -0
  195. package/dist/checkbox-FRcorDrD.js +610 -0
  196. package/dist/checkbox-FRcorDrD.js.map +1 -0
  197. package/dist/checkbox.cjs +1 -2
  198. package/dist/checkbox.js +2 -5
  199. package/dist/chips-BpA0A-qr.cjs +253 -0
  200. package/dist/chips-BpA0A-qr.cjs.map +1 -0
  201. package/dist/chips-CyzNbKJD.js +645 -0
  202. package/dist/chips-CyzNbKJD.js.map +1 -0
  203. package/dist/chips.cjs +1 -2
  204. package/dist/chips.js +3 -10
  205. package/dist/chunk-BCfY8kxB.cjs +1 -0
  206. package/dist/chunk-C_1VqBVD.js +11 -0
  207. package/dist/code-highlight-C7O9ltXm.js +290 -0
  208. package/dist/code-highlight-C7O9ltXm.js.map +1 -0
  209. package/dist/code-highlight-DsBdSQBG.cjs +190 -0
  210. package/dist/code-highlight-DsBdSQBG.cjs.map +1 -0
  211. package/dist/code-highlight.cjs +1 -2
  212. package/dist/code-highlight.js +2 -7
  213. package/dist/components-CkMvOiTR.js +730 -0
  214. package/dist/components-CkMvOiTR.js.map +1 -0
  215. package/dist/components-dDI3xeIf.cjs +73 -0
  216. package/dist/components-dDI3xeIf.cjs.map +1 -0
  217. package/dist/components.cjs +1 -2
  218. package/dist/components.js +2 -5
  219. package/dist/connectivity.cjs +59 -0
  220. package/dist/connectivity.cjs.map +1 -0
  221. package/dist/connectivity.js +86 -0
  222. package/dist/connectivity.js.map +1 -0
  223. package/dist/content-drawer.cjs +1 -2
  224. package/dist/content-drawer.js +2 -13
  225. package/dist/cursor-glow-Ah7VXSj7.js +46 -0
  226. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
  227. package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
  228. package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
  229. package/dist/date-range-70zhLUKE.cjs +131 -0
  230. package/dist/date-range-70zhLUKE.cjs.map +1 -0
  231. package/dist/date-range-BrN_Bs6_.js +946 -0
  232. package/dist/date-range-BrN_Bs6_.js.map +1 -0
  233. package/dist/date-range-inline-CPzD-tIv.cjs +43 -0
  234. package/dist/date-range-inline-CPzD-tIv.cjs.map +1 -0
  235. package/dist/date-range-inline-Cp294DxR.js +267 -0
  236. package/dist/date-range-inline-Cp294DxR.js.map +1 -0
  237. package/dist/date-range-inline.cjs +1 -2
  238. package/dist/date-range-inline.js +2 -5
  239. package/dist/date-range.cjs +1 -2
  240. package/dist/date-range.js +2 -6
  241. package/dist/delay-COcAkBqB.cjs +9 -0
  242. package/dist/delay-COcAkBqB.cjs.map +1 -0
  243. package/dist/delay-IV0Swce2.js +346 -0
  244. package/dist/delay-IV0Swce2.js.map +1 -0
  245. package/dist/delay.cjs +1 -2
  246. package/dist/delay.js +2 -6
  247. package/dist/details-CuKmr3Qw.js +293 -0
  248. package/dist/details-CuKmr3Qw.js.map +1 -0
  249. package/dist/details-DgWkPqmt.cjs +168 -0
  250. package/dist/details-DgWkPqmt.cjs.map +1 -0
  251. package/dist/details.cjs +1 -2
  252. package/dist/details.js +2 -5
  253. package/dist/dialog-service-NZEvyEK-.js +193 -0
  254. package/dist/dialog-service-NZEvyEK-.js.map +1 -0
  255. package/dist/dialog-service-VnW4gkmE.cjs +1 -0
  256. package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
  257. package/dist/dialog.cjs +82 -2
  258. package/dist/dialog.cjs.map +1 -1
  259. package/dist/dialog.js +396 -9
  260. package/dist/dialog.js.map +1 -1
  261. package/dist/directives.cjs +108 -2
  262. package/dist/directives.cjs.map +1 -1
  263. package/dist/directives.js +1362 -14
  264. package/dist/directives.js.map +1 -1
  265. package/dist/discovery.cjs +1 -2
  266. package/dist/discovery.cjs.map +1 -1
  267. package/dist/discovery.js +61 -6
  268. package/dist/discovery.js.map +1 -1
  269. package/dist/divider-BWoUbfgZ.js +87 -0
  270. package/dist/divider-BWoUbfgZ.js.map +1 -0
  271. package/dist/divider-BghtrMbn.cjs +57 -0
  272. package/dist/divider-BghtrMbn.cjs.map +1 -0
  273. package/dist/divider.cjs +1 -2
  274. package/dist/divider.js +1 -2
  275. package/dist/dropdown.cjs +57 -2
  276. package/dist/dropdown.cjs.map +1 -1
  277. package/dist/dropdown.js +160 -5
  278. package/dist/dropdown.js.map +1 -1
  279. package/dist/expand-CJU9m4ga.js +336 -0
  280. package/dist/expand-CJU9m4ga.js.map +1 -0
  281. package/dist/expand-XyDE5SsO.cjs +141 -0
  282. package/dist/expand-XyDE5SsO.cjs.map +1 -0
  283. package/dist/expand.cjs +1 -0
  284. package/dist/expand.js +2 -0
  285. package/dist/extra-BxXFmW1w.js +3435 -0
  286. package/dist/extra-BxXFmW1w.js.map +1 -0
  287. package/dist/extra-CsrRKKqE.cjs +31 -0
  288. package/dist/extra-CsrRKKqE.cjs.map +1 -0
  289. package/dist/extra.cjs +1 -2
  290. package/dist/extra.js +2 -6
  291. package/dist/float-BD86t_NU.js +5 -0
  292. package/dist/float-BD86t_NU.js.map +1 -0
  293. package/dist/float-DBv1FINW.cjs +1 -0
  294. package/dist/float-DBv1FINW.cjs.map +1 -0
  295. package/dist/float.cjs +1 -0
  296. package/dist/float.js +2 -0
  297. package/dist/flow-Bbwn6dRN.cjs +1 -0
  298. package/dist/flow-Bbwn6dRN.cjs.map +1 -0
  299. package/dist/flow-CUj0fDT_.js +386 -0
  300. package/dist/flow-CUj0fDT_.js.map +1 -0
  301. package/dist/form-Cp5-I_ZV.js +270 -0
  302. package/dist/form-Cp5-I_ZV.js.map +1 -0
  303. package/dist/form-D0bIeDWT.cjs +1 -0
  304. package/dist/form-D0bIeDWT.cjs.map +1 -0
  305. package/dist/form.cjs +1 -2
  306. package/dist/form.js +1 -2
  307. package/dist/hashContent-DYM21p6t.js +6 -0
  308. package/dist/hashContent-DYM21p6t.js.map +1 -0
  309. package/dist/hashContent-DaeGmY-p.cjs +1 -0
  310. package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
  311. package/dist/icons-BpU0_l92.js +161 -0
  312. package/dist/icons-BpU0_l92.js.map +1 -0
  313. package/dist/icons-D8w_20mO.cjs +52 -0
  314. package/dist/icons-D8w_20mO.cjs.map +1 -0
  315. package/dist/icons.cjs +1 -2
  316. package/dist/icons.js +1 -2
  317. package/dist/iframe-BjwxA2Pg.cjs +24 -0
  318. package/dist/iframe-BjwxA2Pg.cjs.map +1 -0
  319. package/dist/iframe-tY1GY5g1.js +44 -0
  320. package/dist/iframe-tY1GY5g1.js.map +1 -0
  321. package/dist/iframe.cjs +1 -0
  322. package/dist/iframe.js +2 -0
  323. package/dist/index.cjs +1 -2
  324. package/dist/index.js +69 -285
  325. package/dist/input-BnfTpRN9.js +364 -0
  326. package/dist/input-BnfTpRN9.js.map +1 -0
  327. package/dist/input-BwxwognS.cjs +51 -0
  328. package/dist/input-BwxwognS.cjs.map +1 -0
  329. package/dist/input-chip-CkM2aYmO.js +301 -0
  330. package/dist/input-chip-CkM2aYmO.js.map +1 -0
  331. package/dist/input-chip-MjOwX5EY.cjs +146 -0
  332. package/dist/input-chip-MjOwX5EY.cjs.map +1 -0
  333. package/dist/input.cjs +1 -2
  334. package/dist/input.js +2 -6
  335. package/dist/intersection-BPLpqYEd.js +12 -0
  336. package/dist/intersection-BPLpqYEd.js.map +1 -0
  337. package/dist/intersection-CZpaIHeT.cjs +1 -0
  338. package/dist/intersection-CZpaIHeT.cjs.map +1 -0
  339. package/dist/json.cjs +11 -2
  340. package/dist/json.cjs.map +1 -1
  341. package/dist/json.js +40 -4
  342. package/dist/json.js.map +1 -1
  343. package/dist/layout-4C-6_cre.cjs +1 -0
  344. package/dist/layout-4C-6_cre.cjs.map +1 -0
  345. package/dist/layout-BV0EeyUS.cjs +17 -0
  346. package/dist/layout-BV0EeyUS.cjs.map +1 -0
  347. package/dist/layout-CJSlZlFL.js +267 -0
  348. package/dist/layout-CJSlZlFL.js.map +1 -0
  349. package/dist/layout-yxSlLybo.js +94 -0
  350. package/dist/layout-yxSlLybo.js.map +1 -0
  351. package/dist/layout.cjs +1 -2
  352. package/dist/layout.js +3 -9
  353. package/dist/lightbox-CpNMZHZW.cjs +202 -0
  354. package/dist/lightbox-CpNMZHZW.cjs.map +1 -0
  355. package/dist/lightbox-groqGmJH.js +678 -0
  356. package/dist/lightbox-groqGmJH.js.map +1 -0
  357. package/dist/lightbox.cjs +1 -2
  358. package/dist/lightbox.js +2 -8
  359. package/dist/list-CyHd0Zc2.cjs +40 -0
  360. package/dist/list-CyHd0Zc2.cjs.map +1 -0
  361. package/dist/list-DzkqT_r-.js +105 -0
  362. package/dist/list-DzkqT_r-.js.map +1 -0
  363. package/dist/list.cjs +1 -2
  364. package/dist/list.js +2 -7
  365. package/dist/litElement.mixin-BG6_-nYX.cjs +1 -0
  366. package/dist/litElement.mixin-BG6_-nYX.cjs.map +1 -0
  367. package/dist/litElement.mixin-Dm-4L8zL.js +12 -0
  368. package/dist/litElement.mixin-Dm-4L8zL.js.map +1 -0
  369. package/dist/magnetic-BZGFxAWG.js +47 -0
  370. package/dist/magnetic-BZGFxAWG.js.map +1 -0
  371. package/dist/magnetic-Dux4QwO4.cjs +1 -0
  372. package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
  373. package/dist/mailbox-BcqnXYVP.js +1584 -0
  374. package/dist/mailbox-BcqnXYVP.js.map +1 -0
  375. package/dist/mailbox-C5eYTd7p.cjs +1142 -0
  376. package/dist/mailbox-C5eYTd7p.cjs.map +1 -0
  377. package/dist/mailbox.cjs +1 -2
  378. package/dist/mailbox.js +2 -9
  379. package/dist/map-BncheFt5.cjs +80 -0
  380. package/dist/map-BncheFt5.cjs.map +1 -0
  381. package/dist/map-C0o1PgLE.js +205 -0
  382. package/dist/map-C0o1PgLE.js.map +1 -0
  383. package/dist/map.cjs +1 -2
  384. package/dist/map.js +2 -5
  385. package/dist/menu-uwqlQbLd.js +51 -0
  386. package/dist/menu-uwqlQbLd.js.map +1 -0
  387. package/dist/menu-yXzwJZFf.cjs +23 -0
  388. package/dist/menu-yXzwJZFf.cjs.map +1 -0
  389. package/dist/menu.cjs +1 -2
  390. package/dist/menu.js +1 -2
  391. package/dist/mixins.cjs +1 -2
  392. package/dist/mixins.cjs.map +1 -1
  393. package/dist/mixins.js +59 -12
  394. package/dist/mixins.js.map +1 -1
  395. package/dist/nav-drawer.cjs +1 -2
  396. package/dist/nav-drawer.js +2 -12
  397. package/dist/navigation-bar.cjs +1 -2
  398. package/dist/navigation-bar.js +2 -6
  399. package/dist/navigation-rail.cjs +71 -2
  400. package/dist/navigation-rail.cjs.map +1 -1
  401. package/dist/navigation-rail.js +363 -5
  402. package/dist/navigation-rail.js.map +1 -1
  403. package/dist/notification-BjwTfLAl.cjs +23 -0
  404. package/dist/notification-BjwTfLAl.cjs.map +1 -0
  405. package/dist/notification-DzYT4deA.js +304 -0
  406. package/dist/notification-DzYT4deA.js.map +1 -0
  407. package/dist/notification.cjs +1 -2
  408. package/dist/notification.js +2 -9
  409. package/dist/option-BJsD3u2D.cjs +43 -0
  410. package/dist/option-BJsD3u2D.cjs.map +1 -0
  411. package/dist/option-JFHxgiYl.js +97 -0
  412. package/dist/option-JFHxgiYl.js.map +1 -0
  413. package/dist/option.cjs +1 -2
  414. package/dist/option.js +1 -2
  415. package/dist/overlay-stack-DQey9Qph.cjs +1 -0
  416. package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
  417. package/dist/overlay-stack-DT1SdaGW.js +39 -0
  418. package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
  419. package/dist/page.cjs +20 -2
  420. package/dist/page.cjs.map +1 -1
  421. package/dist/page.js +71 -4
  422. package/dist/page.js.map +1 -1
  423. package/dist/progress-BUh5WBqx.js +128 -0
  424. package/dist/progress-BUh5WBqx.js.map +1 -0
  425. package/dist/progress-BoRmyGAa.cjs +51 -0
  426. package/dist/progress-BoRmyGAa.cjs.map +1 -0
  427. package/dist/progress.cjs +1 -2
  428. package/dist/progress.js +1 -2
  429. package/dist/provide-8MrDz_qX.js +107 -0
  430. package/dist/provide-8MrDz_qX.js.map +1 -0
  431. package/dist/provide-CDkxgjHb.cjs +1 -0
  432. package/dist/provide-CDkxgjHb.cjs.map +1 -0
  433. package/dist/qr-scanner.cjs +35 -2
  434. package/dist/qr-scanner.cjs.map +1 -1
  435. package/dist/qr-scanner.js +119 -4
  436. package/dist/qr-scanner.js.map +1 -1
  437. package/dist/radio-group-DbOWUPhi.js +105 -0
  438. package/dist/radio-group-DbOWUPhi.js.map +1 -0
  439. package/dist/radio-group-rhrvhB5X.cjs +40 -0
  440. package/dist/radio-group-rhrvhB5X.cjs.map +1 -0
  441. package/dist/radio-group.cjs +1 -2
  442. package/dist/radio-group.js +2 -6
  443. package/dist/range.cjs +62 -0
  444. package/dist/range.cjs.map +1 -0
  445. package/dist/range.js +85 -0
  446. package/dist/range.js.map +1 -0
  447. package/dist/reduced-motion-D-L12p7G.js +7 -0
  448. package/dist/reduced-motion-D-L12p7G.js.map +1 -0
  449. package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
  450. package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
  451. package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
  452. package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
  453. package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
  454. package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
  455. package/dist/rxjs-utils.cjs +1 -2
  456. package/dist/rxjs-utils.js +2 -14
  457. package/dist/scroll-BE9W9PF2.cjs +26 -0
  458. package/dist/scroll-BE9W9PF2.cjs.map +1 -0
  459. package/dist/scroll-qGks1R0k.js +112 -0
  460. package/dist/scroll-qGks1R0k.js.map +1 -0
  461. package/dist/search-C4dFHYbX.js +91 -0
  462. package/dist/search-C4dFHYbX.js.map +1 -0
  463. package/dist/search-Ds8tt7Et.cjs +1 -0
  464. package/dist/search-Ds8tt7Et.cjs.map +1 -0
  465. package/dist/select-D9sgBRjU.js +305 -0
  466. package/dist/select-D9sgBRjU.js.map +1 -0
  467. package/dist/select-DXU2kzg4.cjs +56 -0
  468. package/dist/select-DXU2kzg4.cjs.map +1 -0
  469. package/dist/select.cjs +1 -2
  470. package/dist/select.js +2 -5
  471. package/dist/sheet-CIxCCJ3H.js +168 -0
  472. package/dist/sheet-CIxCCJ3H.js.map +1 -0
  473. package/dist/sheet-CeX6BbNp.cjs +35 -0
  474. package/dist/sheet-CeX6BbNp.cjs.map +1 -0
  475. package/dist/sheet.cjs +1 -2
  476. package/dist/sheet.js +3 -7
  477. package/dist/sheet.service-CAB7weBc.js +86 -0
  478. package/dist/sheet.service-CAB7weBc.js.map +1 -0
  479. package/dist/sheet.service-DPAp7E3x.cjs +1 -0
  480. package/dist/sheet.service-DPAp7E3x.cjs.map +1 -0
  481. package/dist/slider.cjs +82 -2
  482. package/dist/slider.cjs.map +1 -1
  483. package/dist/slider.js +143 -5
  484. package/dist/slider.js.map +1 -1
  485. package/dist/sound.service-Bu3EQLv2.cjs +1 -0
  486. package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
  487. package/dist/sound.service-m3BrSfuH.js +2353 -0
  488. package/dist/sound.service-m3BrSfuH.js.map +1 -0
  489. package/dist/src-CbO5kJ2O.js +1244 -0
  490. package/dist/src-CbO5kJ2O.js.map +1 -0
  491. package/dist/src-SraDxEeg.cjs +269 -0
  492. package/dist/src-SraDxEeg.cjs.map +1 -0
  493. package/dist/steps.cjs +70 -2
  494. package/dist/steps.cjs.map +1 -1
  495. package/dist/steps.js +178 -7
  496. package/dist/steps.js.map +1 -1
  497. package/dist/store-CorvD3bT.cjs +1 -0
  498. package/dist/store-CorvD3bT.cjs.map +1 -0
  499. package/dist/store-DYqDLAvT.js +1654 -0
  500. package/dist/store-DYqDLAvT.js.map +1 -0
  501. package/dist/store.cjs +1 -2
  502. package/dist/store.js +2 -47
  503. package/dist/surface-DuH0pm2v.cjs +7 -0
  504. package/dist/surface-DuH0pm2v.cjs.map +1 -0
  505. package/dist/surface-eN_Jy2MJ.js +21 -0
  506. package/dist/surface-eN_Jy2MJ.js.map +1 -0
  507. package/dist/surface.cjs +1 -2
  508. package/dist/surface.js +2 -6
  509. package/dist/surface.mixin-CIXgN6iw.cjs +297 -0
  510. package/dist/surface.mixin-CIXgN6iw.cjs.map +1 -0
  511. package/dist/surface.mixin-D9jv1sKG.js +320 -0
  512. package/dist/surface.mixin-D9jv1sKG.js.map +1 -0
  513. package/dist/table-C9rRQJEB.cjs +63 -0
  514. package/dist/table-C9rRQJEB.cjs.map +1 -0
  515. package/dist/table-Dg_tUGB_.js +631 -0
  516. package/dist/table-Dg_tUGB_.js.map +1 -0
  517. package/dist/table.cjs +1 -2
  518. package/dist/table.js +2 -6
  519. package/dist/tabs-BbFC9omR.js +125 -0
  520. package/dist/tabs-BbFC9omR.js.map +1 -0
  521. package/dist/tabs-soTL-x4G.cjs +31 -0
  522. package/dist/tabs-soTL-x4G.cjs.map +1 -0
  523. package/dist/tabs.cjs +1 -2
  524. package/dist/tabs.js +1 -2
  525. package/dist/tailwind.mixin-BIVhjNvD.js +225 -0
  526. package/dist/tailwind.mixin-BIVhjNvD.js.map +1 -0
  527. package/dist/tailwind.mixin-DSuEu-y3.cjs +2 -0
  528. package/dist/tailwind.mixin-DSuEu-y3.cjs.map +1 -0
  529. package/dist/teleport.cjs +1 -2
  530. package/dist/teleport.js +2 -8
  531. package/dist/textarea-DaRUJ0ri.cjs +35 -0
  532. package/dist/textarea-DaRUJ0ri.cjs.map +1 -0
  533. package/dist/textarea-hChvHbNM.js +195 -0
  534. package/dist/textarea-hChvHbNM.js.map +1 -0
  535. package/dist/textarea.cjs +1 -2
  536. package/dist/textarea.js +1 -2
  537. package/dist/theme-B0M8Hlyo.js +4121 -0
  538. package/dist/theme-B0M8Hlyo.js.map +1 -0
  539. package/dist/theme-ZYH2MqX9.cjs +181 -0
  540. package/dist/theme-ZYH2MqX9.cjs.map +1 -0
  541. package/dist/theme-button-BtlX_Zgd.js +19 -0
  542. package/dist/theme-button-BtlX_Zgd.js.map +1 -0
  543. package/dist/theme-button-Dvqg-rE_.cjs +8 -0
  544. package/dist/theme-button-Dvqg-rE_.cjs.map +1 -0
  545. package/dist/theme-button.cjs +1 -2
  546. package/dist/theme-button.js +1 -2
  547. package/dist/theme.cjs +1 -2
  548. package/dist/theme.events-Cv7N4Toe.js +2 -0
  549. package/dist/theme.events-Cv7N4Toe.js.map +1 -0
  550. package/dist/theme.events-DM4H5F2d.cjs +1 -0
  551. package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
  552. package/dist/theme.interface-CXloMUCw.js +276 -0
  553. package/dist/theme.interface-CXloMUCw.js.map +1 -0
  554. package/dist/theme.interface-Da23QAYb.cjs +1 -0
  555. package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
  556. package/dist/theme.js +6 -21
  557. package/dist/theme.service-C_tjlqgy.cjs +1 -0
  558. package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
  559. package/dist/theme.service-D9lEas89.js +108 -0
  560. package/dist/theme.service-D9lEas89.js.map +1 -0
  561. package/dist/tooltip.cjs +6 -2
  562. package/dist/tooltip.cjs.map +1 -1
  563. package/dist/tooltip.js +200 -5
  564. package/dist/tooltip.js.map +1 -1
  565. package/dist/tree.cjs +26 -2
  566. package/dist/tree.cjs.map +1 -1
  567. package/dist/tree.js +64 -4
  568. package/dist/tree.js.map +1 -1
  569. package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
  570. package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
  571. package/dist/tslib.es6-ErZEp3OO.js +7 -0
  572. package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
  573. package/dist/types.cjs +1 -2
  574. package/dist/types.cjs.map +1 -1
  575. package/dist/types.js +4 -5
  576. package/dist/types.js.map +1 -1
  577. package/dist/typewriter-CCel8Nta.js +700 -0
  578. package/dist/typewriter-CCel8Nta.js.map +1 -0
  579. package/dist/typewriter-Cf9f2bdx.cjs +123 -0
  580. package/dist/typewriter-Cf9f2bdx.cjs.map +1 -0
  581. package/dist/typewriter.cjs +1 -2
  582. package/dist/typewriter.js +2 -5
  583. package/dist/typography.cjs +282 -2
  584. package/dist/typography.cjs.map +1 -1
  585. package/dist/typography.js +353 -4
  586. package/dist/typography.js.map +1 -1
  587. package/dist/utils-BcaKtQuA.cjs +1 -0
  588. package/dist/utils-BcaKtQuA.cjs.map +1 -0
  589. package/dist/utils-CoU7M2YS.js +259 -0
  590. package/dist/utils-CoU7M2YS.js.map +1 -0
  591. package/dist/utils.cjs +1 -2
  592. package/dist/utils.js +6 -9
  593. package/dist/window-B9_14c12.cjs +59 -0
  594. package/dist/window-B9_14c12.cjs.map +1 -0
  595. package/dist/window-CbgdwOZD.js +548 -0
  596. package/dist/window-CbgdwOZD.js.map +1 -0
  597. package/dist/window.cjs +1 -0
  598. package/dist/window.js +2 -0
  599. package/mixins/baseElement.ts +118 -1
  600. package/mixins/discovery.service.ts +162 -1
  601. package/mixins/formField.mixin.ts +13 -8
  602. package/mixins/index.ts +2 -0
  603. package/mixins/surface.mixin.ts +93 -0
  604. package/mixins/tailwind.css +331 -14
  605. package/package.json +32 -28
  606. package/src/CLAUDE.md +428 -0
  607. package/src/area/.excalidraw +357 -0
  608. package/src/area/area.component.ts +449 -0
  609. package/src/area/area.service.test.ts +1007 -0
  610. package/src/area/area.service.ts +748 -0
  611. package/src/area/ecrypt.ts +7 -0
  612. package/src/area/index.ts +7 -0
  613. package/src/area/lazy.ts +83 -0
  614. package/src/area/readme.md +338 -0
  615. package/src/area/route.component.ts +79 -0
  616. package/src/area/router-guide.md +360 -0
  617. package/src/area/router.types.ts +101 -0
  618. package/src/area/utils.ts +354 -0
  619. package/src/audio/emotional-sounds.ts +940 -0
  620. package/src/audio/index.ts +53 -0
  621. package/src/audio/sound.service.ts +1079 -0
  622. package/src/autocomplete/README.md +485 -0
  623. package/src/autocomplete/autocomplete.scss +24 -0
  624. package/src/autocomplete/autocomplete.ts +733 -0
  625. package/src/autocomplete/index.ts +1 -0
  626. package/src/avatar.ts +164 -0
  627. package/src/badge/badge.ts +286 -0
  628. package/src/badge/index.ts +1 -0
  629. package/src/boat/boat.ts +664 -0
  630. package/src/boat/index.ts +1 -0
  631. package/src/busy/busy.ts +39 -0
  632. package/src/busy/index.ts +2 -0
  633. package/src/busy/spinner.ts +165 -0
  634. package/src/button/button.ts +382 -0
  635. package/src/button/icon-button.ts +287 -0
  636. package/src/button/index.ts +2 -0
  637. package/src/card/actions.ts +28 -0
  638. package/src/card/card.ts +319 -0
  639. package/src/card/content.ts +24 -0
  640. package/src/card/index.ts +4 -0
  641. package/src/card/media.ts +77 -0
  642. package/src/charts/area-chart.ts +495 -0
  643. package/src/charts/index.ts +4 -0
  644. package/src/charts/pills.ts +350 -0
  645. package/src/charts/types.ts +66 -0
  646. package/src/charts/utils.ts +65 -0
  647. package/src/checkbox/checkbox.ts +122 -0
  648. package/src/checkbox/index.ts +1 -0
  649. package/src/chips/assist-chip.ts +261 -0
  650. package/src/chips/chips.ts +259 -0
  651. package/src/chips/filter-chip.ts +255 -0
  652. package/src/chips/index.ts +5 -0
  653. package/src/chips/input-chip.ts +408 -0
  654. package/src/chips/suggestion-chip.ts +266 -0
  655. package/src/code-highlight/code-highlight.ts +344 -0
  656. package/src/code-highlight/code-preview.ts +123 -0
  657. package/src/code-highlight/index.ts +3 -0
  658. package/src/components/form-elements/index.ts +1 -0
  659. package/src/components/form-elements/payment-card-form.ts +331 -0
  660. package/src/components/index.ts +1 -0
  661. package/src/connectivity/connectivity-status.ts +153 -0
  662. package/src/connectivity/index.ts +1 -0
  663. package/src/content-drawer/context.ts +13 -0
  664. package/src/content-drawer/drawer.service.ts +148 -0
  665. package/src/content-drawer/drawer.ts +183 -0
  666. package/src/content-drawer/index.ts +5 -0
  667. package/src/content-drawer/main.ts +83 -0
  668. package/src/content-drawer/readme.md +709 -0
  669. package/src/content-drawer/sheet.ts +180 -0
  670. package/src/date-range/date-range-dialog.ts +230 -0
  671. package/src/date-range/date-range-helpers.ts +135 -0
  672. package/src/date-range/date-range-presets.ts +220 -0
  673. package/src/date-range/date-range.ts +530 -0
  674. package/src/date-range/date-utils.ts +58 -0
  675. package/src/date-range/index.ts +2 -0
  676. package/src/date-range-inline/date-range-inline.ts +522 -0
  677. package/src/date-range-inline/index.ts +2 -0
  678. package/src/delay/delay.ts +136 -0
  679. package/src/delay/index.ts +1 -0
  680. package/src/details/details.ts +429 -0
  681. package/src/details/index.ts +1 -0
  682. package/src/dialog/dialog-base.mixin.ts +565 -0
  683. package/src/dialog/dialog-events.ts +17 -0
  684. package/src/dialog/dialog-service.ts +482 -0
  685. package/src/dialog/dialog.component.ts +394 -0
  686. package/src/dialog/index.ts +3 -0
  687. package/src/directives/animate-text.ts +551 -0
  688. package/src/directives/color.ts +41 -0
  689. package/src/directives/confirm-click.ts +350 -0
  690. package/src/directives/cursor-glow.ts +142 -0
  691. package/src/directives/cycle-text.ts +496 -0
  692. package/src/directives/depth-of-field.ts +83 -0
  693. package/src/directives/drag.ts +370 -0
  694. package/src/directives/gravity.ts +117 -0
  695. package/src/directives/index.ts +19 -0
  696. package/src/directives/intersect.ts +204 -0
  697. package/src/directives/layout.ts +261 -0
  698. package/src/directives/liquid.ts +150 -0
  699. package/src/directives/living-border.ts +166 -0
  700. package/src/directives/long-press.ts +150 -0
  701. package/src/directives/magnetic.ts +133 -0
  702. package/src/directives/nebula.ts +773 -0
  703. package/src/directives/reduced-motion.ts +30 -0
  704. package/src/directives/reveal.ts +158 -0
  705. package/src/directives/ripple.ts +102 -0
  706. package/src/directives/typewriter.ts +349 -0
  707. package/src/discovery/discovery.service.ts +210 -0
  708. package/src/discovery/index.ts +1 -0
  709. package/src/divider/divider.ts +100 -0
  710. package/src/divider/index.ts +1 -0
  711. package/src/dropdown/dropdown-component.ts +264 -0
  712. package/src/dropdown/dropdown-content.ts +108 -0
  713. package/src/dropdown/index.ts +2 -0
  714. package/src/expand/expand-root.component.ts +278 -0
  715. package/src/expand/expand.component.ts +287 -0
  716. package/src/expand/index.ts +2 -0
  717. package/src/extra/countries/countries.data.ts +196 -0
  718. package/src/extra/countries/countries.ts +107 -0
  719. package/src/extra/countries/index.ts +2 -0
  720. package/src/extra/index.ts +2 -0
  721. package/src/extra/timezone/index.ts +2 -0
  722. package/src/extra/timezone/timezone.ts +116 -0
  723. package/src/extra/timezone/timezones.data.ts +2546 -0
  724. package/src/float/float.ts +18 -0
  725. package/src/float/index.ts +1 -0
  726. package/src/form/form-v2.ts +268 -0
  727. package/src/form/form.ts +194 -0
  728. package/src/form/index.ts +2 -0
  729. package/src/icons/icon.ts +293 -0
  730. package/src/icons/index.ts +1 -0
  731. package/src/icons/readme.md +37 -0
  732. package/src/iframe/iframe.ts +98 -0
  733. package/src/iframe/index.ts +1 -0
  734. package/src/index.ts +69 -0
  735. package/src/input/index.ts +8 -0
  736. package/src/input/input.scss +211 -0
  737. package/src/input/input.ts +951 -0
  738. package/src/json/index.ts +1 -0
  739. package/src/json/json.ts +55 -0
  740. package/src/layout/flex/flex.scss +4 -0
  741. package/src/layout/flex/flex.ts +74 -0
  742. package/src/layout/flex/index.ts +1 -0
  743. package/src/layout/grid/.readme +79 -0
  744. package/src/layout/grid/grid.scss +5 -0
  745. package/src/layout/grid/grid.ts +121 -0
  746. package/src/layout/grid/index.ts +1 -0
  747. package/src/layout/index.ts +5 -0
  748. package/src/layout/layout.ts +122 -0
  749. package/src/layout/scroll/index.ts +1 -0
  750. package/src/layout/scroll/scroll.ts +351 -0
  751. package/src/layout/v2/flex.ts +243 -0
  752. package/src/layout/v2/grid.ts +93 -0
  753. package/src/layout/v2/index.ts +1 -0
  754. package/src/lightbox/flip-directive.ts +270 -0
  755. package/src/lightbox/index.ts +4 -0
  756. package/src/lightbox/lightbox-service.ts +378 -0
  757. package/src/lightbox/lightbox.directive.ts +256 -0
  758. package/src/lightbox/lightbox.ts +417 -0
  759. package/src/list/context.ts +3 -0
  760. package/src/list/index.ts +3 -0
  761. package/src/list/list-item.ts +94 -0
  762. package/src/list/list.ts +87 -0
  763. package/src/list/readme.md +62 -0
  764. package/src/mailbox/README.md +131 -0
  765. package/src/mailbox/email-editor.ts +1071 -0
  766. package/src/mailbox/email-layout-selector.ts +58 -0
  767. package/src/mailbox/email-recipients.ts +594 -0
  768. package/src/mailbox/email-template-picker.ts +296 -0
  769. package/src/mailbox/email-viewer.ts +715 -0
  770. package/src/mailbox/index.ts +31 -0
  771. package/src/mailbox/mailbox.ts +363 -0
  772. package/src/mailbox/types.ts +181 -0
  773. package/src/map/index.ts +1 -0
  774. package/src/map/map.ts +483 -0
  775. package/src/menu/index.ts +2 -0
  776. package/src/menu/menu-item.ts +26 -0
  777. package/src/menu/menu.ts +83 -0
  778. package/src/nav-drawer/$navbar.ts +51 -0
  779. package/src/nav-drawer/appbar.ts +26 -0
  780. package/src/nav-drawer/content.ts +32 -0
  781. package/src/nav-drawer/context.ts +6 -0
  782. package/src/nav-drawer/drawer.ts +128 -0
  783. package/src/nav-drawer/index.ts +6 -0
  784. package/src/nav-drawer/navbar.ts +191 -0
  785. package/src/navigation-bar/index.ts +2 -0
  786. package/src/navigation-bar/navigation-bar-item.ts +417 -0
  787. package/src/navigation-bar/navigation-bar.ts +482 -0
  788. package/src/navigation-rail/index.ts +2 -0
  789. package/src/navigation-rail/navigation-rail-item.ts +443 -0
  790. package/src/navigation-rail/navigation-rail.ts +492 -0
  791. package/src/notification/index.ts +6 -0
  792. package/src/notification/notification-service.ts +324 -0
  793. package/src/notification/notification.scss +117 -0
  794. package/src/notification/notification.ts +263 -0
  795. package/src/notification/notify.ts +207 -0
  796. package/src/notification/outlet.ts +16 -0
  797. package/src/option/index.ts +1 -0
  798. package/src/option/option.ts +180 -0
  799. package/src/page/index.ts +1 -0
  800. package/src/page/page.ts +135 -0
  801. package/src/progress/index.ts +1 -0
  802. package/src/progress/progress.ts +143 -0
  803. package/src/qr-scanner/index.ts +1 -0
  804. package/src/qr-scanner/qr-scanner.ts +240 -0
  805. package/src/radio-group/index.ts +2 -0
  806. package/src/radio-group/radio-button.ts +81 -0
  807. package/src/radio-group/radio-group.scss +4 -0
  808. package/src/radio-group/radio-group.ts +110 -0
  809. package/src/radio-group/readme.md +315 -0
  810. package/src/range/index.ts +1 -0
  811. package/src/range/range.ts +102 -0
  812. package/src/rxjs-utils/index.ts +6 -0
  813. package/src/rxjs-utils/mutation-observer.ts +22 -0
  814. package/src/rxjs-utils/waitForElement.ts +33 -0
  815. package/src/rxjs-utils/waitForElementAll.ts +34 -0
  816. package/src/rxjs-utils/waitForElements.ts +40 -0
  817. package/src/rxjs-utils/waitForElementsAll.ts +42 -0
  818. package/src/rxjs-utils/waitUntil.ts +16 -0
  819. package/src/select/README.md +405 -0
  820. package/src/select/index.ts +2 -0
  821. package/src/select/select.ts +766 -0
  822. package/src/sheet/hook.ts +40 -0
  823. package/src/sheet/index.ts +2 -0
  824. package/src/sheet/sheet.service.ts +235 -0
  825. package/src/sheet/sheet.ts +236 -0
  826. package/src/slider/index.ts +2 -0
  827. package/src/slider/slide.ts +107 -0
  828. package/src/slider/slider.ts +164 -0
  829. package/src/steps/index.ts +3 -0
  830. package/src/steps/schmancy-step.ts +213 -0
  831. package/src/steps/schmancy-steps-container.ts +109 -0
  832. package/src/steps/steps.context.ts +23 -0
  833. package/src/store/context-array.ts +358 -0
  834. package/src/store/context-collection.ts +218 -0
  835. package/src/store/context-create.ts +284 -0
  836. package/src/store/context-object.ts +298 -0
  837. package/src/store/filter-directive.ts +614 -0
  838. package/src/store/immer-integration.ts +99 -0
  839. package/src/store/index.ts +10 -0
  840. package/src/store/selector-hook.ts +259 -0
  841. package/src/store/selectors.ts +289 -0
  842. package/src/store/storage-manager.ts +269 -0
  843. package/src/store/store.class.ts +239 -0
  844. package/src/store/types.ts +327 -0
  845. package/src/surface/context.ts +3 -0
  846. package/src/surface/index.ts +1 -0
  847. package/src/surface/surface.styles.ts +334 -0
  848. package/src/surface/surface.ts +59 -0
  849. package/src/table/index.ts +2 -0
  850. package/src/table/row.ts +60 -0
  851. package/src/table/table.ts +266 -0
  852. package/src/tabs/Readme.md +397 -0
  853. package/src/tabs/context.ts +5 -0
  854. package/src/tabs/index.ts +4 -0
  855. package/src/tabs/tab.ts +39 -0
  856. package/src/tabs/tabs-compatibility.ts +20 -0
  857. package/src/tabs/tabs-group.ts +184 -0
  858. package/src/teleport/.excalidraw +2511 -0
  859. package/src/teleport/index.ts +2 -0
  860. package/src/teleport/readme.md +91 -0
  861. package/src/teleport/teleport.component.ts +132 -0
  862. package/src/teleport/teleport.service.ts +139 -0
  863. package/src/teleport/watcher.ts +20 -0
  864. package/src/textarea/index.ts +1 -0
  865. package/src/textarea/textarea.scss +54 -0
  866. package/src/textarea/textarea.ts +432 -0
  867. package/src/theme/context.ts +28 -0
  868. package/src/theme/index.ts +17 -0
  869. package/src/theme/theme-audio-player.ts +470 -0
  870. package/src/theme/theme-controller-boat.ts +49 -0
  871. package/src/theme/theme-controller-example.md +152 -0
  872. package/src/theme/theme-controller.ts +205 -0
  873. package/src/theme/theme.component.ts +305 -0
  874. package/src/theme/theme.events.ts +59 -0
  875. package/src/theme/theme.format.ts +417 -0
  876. package/src/theme/theme.interface.ts +399 -0
  877. package/src/theme/theme.service.ts +520 -0
  878. package/src/theme/theme.style.css +619 -0
  879. package/src/theme-button/index.ts +1 -0
  880. package/src/theme-button/theme-button.ts +35 -0
  881. package/src/tooltip/index.ts +2 -0
  882. package/src/tooltip/tooltip.directive.ts +277 -0
  883. package/src/tooltip/tooltip.ts +216 -0
  884. package/src/tree/README.md +59 -0
  885. package/src/tree/index.ts +1 -0
  886. package/src/tree/tree.ts +132 -0
  887. package/src/types/events.ts +5 -0
  888. package/src/types/index.ts +3 -0
  889. package/src/types/mood-audio.types.ts +220 -0
  890. package/src/types/surface.ts +52 -0
  891. package/src/typewriter/IMPROVEMENTS.md +174 -0
  892. package/src/typewriter/QUICK_REFERENCE.md +166 -0
  893. package/src/typewriter/index.ts +1 -0
  894. package/src/typewriter/test-typewriter.html +97 -0
  895. package/src/typewriter/typewriter.ts +376 -0
  896. package/src/typography/index.ts +1 -0
  897. package/src/typography/typography.ts +448 -0
  898. package/src/utils/animation.ts +418 -0
  899. package/src/utils/hashContent.ts +12 -0
  900. package/src/utils/index.ts +6 -0
  901. package/src/utils/intersection.ts +22 -0
  902. package/src/utils/number.ts +529 -0
  903. package/src/utils/overlay-stack.ts +101 -0
  904. package/src/utils/search.ts +322 -0
  905. package/src/vite-env.d.ts +2 -0
  906. package/src/window/index.ts +10 -0
  907. package/src/window/window-manager.ts +204 -0
  908. package/src/window/window-position.ts +136 -0
  909. package/src/window/window-registry.ts +34 -0
  910. package/src/window/window.ts +724 -0
  911. package/types/mixins/baseElement.d.ts +12 -0
  912. package/types/mixins/discovery.service.d.ts +72 -0
  913. package/types/mixins/index.d.ts +2 -0
  914. package/types/mixins/surface.mixin.d.ts +39 -0
  915. package/types/src/area/area.service.d.ts +2 -0
  916. package/types/src/badge/badge.d.ts +1 -1
  917. package/types/src/boat/boat.d.ts +40 -33
  918. package/types/src/button/icon-button.d.ts +10 -0
  919. package/types/src/chips/filter-chip.d.ts +0 -12
  920. package/types/src/connectivity/connectivity-status.d.ts +25 -0
  921. package/types/src/connectivity/index.d.ts +1 -0
  922. package/types/src/content-drawer/drawer.service.d.ts +3 -0
  923. package/types/src/date-range/date-range.d.ts +2 -0
  924. package/types/src/details/details.d.ts +26 -2
  925. package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
  926. package/types/src/dialog/dialog-service.d.ts +27 -1
  927. package/types/src/dialog/dialog.component.d.ts +35 -1
  928. package/types/src/directives/animate-text.d.ts +67 -0
  929. package/types/src/directives/color.d.ts +2 -3
  930. package/types/src/directives/confirm-click.d.ts +38 -0
  931. package/types/src/directives/cursor-glow.d.ts +38 -0
  932. package/types/src/directives/cycle-text.d.ts +44 -0
  933. package/types/src/directives/depth-of-field.d.ts +38 -0
  934. package/types/src/directives/drag.d.ts +8 -8
  935. package/types/src/directives/gravity.d.ts +40 -0
  936. package/types/src/directives/index.d.ts +16 -2
  937. package/types/src/directives/intersect.d.ts +60 -0
  938. package/types/src/directives/layout.d.ts +62 -0
  939. package/types/src/directives/liquid.d.ts +38 -0
  940. package/types/src/directives/living-border.d.ts +39 -0
  941. package/types/src/directives/long-press.d.ts +38 -0
  942. package/types/src/directives/magnetic.d.ts +35 -0
  943. package/types/src/directives/nebula.d.ts +80 -0
  944. package/types/src/directives/reduced-motion.d.ts +2 -0
  945. package/types/src/directives/reveal.d.ts +54 -0
  946. package/types/src/directives/ripple.d.ts +15 -5
  947. package/types/src/directives/typewriter.d.ts +50 -0
  948. package/types/src/discovery/discovery.service.d.ts +72 -0
  949. package/types/src/expand/expand-root.component.d.ts +30 -0
  950. package/types/src/expand/expand.component.d.ts +38 -0
  951. package/types/src/expand/index.d.ts +2 -0
  952. package/types/src/float/float.d.ts +14 -0
  953. package/types/src/float/index.d.ts +1 -0
  954. package/types/src/icons/icon.d.ts +14 -0
  955. package/types/src/iframe/iframe.d.ts +37 -0
  956. package/types/src/iframe/index.d.ts +1 -0
  957. package/types/src/index.d.ts +6 -1
  958. package/types/src/input/index.d.ts +1 -1
  959. package/types/src/layout/scroll/scroll.d.ts +11 -0
  960. package/types/src/lightbox/lightbox.d.ts +1 -0
  961. package/types/src/mailbox/email-recipients.d.ts +2 -2
  962. package/types/src/mailbox/types.d.ts +1 -1
  963. package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
  964. package/types/src/notification/notification.d.ts +1 -0
  965. package/types/src/page/page.d.ts +6 -0
  966. package/types/src/range/index.d.ts +1 -0
  967. package/types/src/range/range.d.ts +25 -0
  968. package/types/src/sheet/sheet.d.ts +0 -1
  969. package/types/src/steps/schmancy-steps-container.d.ts +8 -6
  970. package/types/src/surface/surface.d.ts +4 -27
  971. package/types/src/surface/surface.styles.d.ts +31 -0
  972. package/types/src/tabs/tab.d.ts +1 -0
  973. package/types/src/textarea/textarea.d.ts +3 -2
  974. package/types/src/theme/context.d.ts +2 -282
  975. package/types/src/theme/theme.component.d.ts +9 -1
  976. package/types/src/theme/theme.format.d.ts +1 -1
  977. package/types/src/theme/theme.interface.d.ts +8 -1
  978. package/types/src/theme/theme.service.d.ts +20 -282
  979. package/types/src/types/surface.d.ts +27 -1
  980. package/types/src/typography/typography.d.ts +17 -3
  981. package/types/src/utils/animation.d.ts +254 -0
  982. package/types/src/utils/index.d.ts +2 -0
  983. package/types/src/utils/number.d.ts +18 -2
  984. package/types/src/utils/overlay-stack.d.ts +54 -0
  985. package/types/src/window/index.d.ts +3 -0
  986. package/types/src/window/window-manager.d.ts +49 -0
  987. package/types/src/window/window-position.d.ts +64 -0
  988. package/types/src/window/window-registry.d.ts +28 -0
  989. package/types/src/window/window.d.ts +67 -0
  990. package/ai/animated-text.md +0 -116
  991. package/ai/component-relationships.md +0 -93
  992. package/ai/context.md +0 -572
  993. package/ai/countries.md +0 -271
  994. package/ai/index.md +0 -112
  995. package/ai/navigation-bar-item.md +0 -259
  996. package/ai/payment-card-form.md +0 -242
  997. package/ai/spinner.md +0 -165
  998. package/ai/template.md +0 -144
  999. package/ai/timezone.md +0 -276
  1000. package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
  1001. package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
  1002. package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
  1003. package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
  1004. package/dist/ai/animated-text.md +0 -116
  1005. package/dist/ai/component-relationships.md +0 -93
  1006. package/dist/ai/context.md +0 -572
  1007. package/dist/ai/countries.md +0 -271
  1008. package/dist/ai/index.md +0 -112
  1009. package/dist/ai/navigation-bar-item.md +0 -259
  1010. package/dist/ai/payment-card-form.md +0 -242
  1011. package/dist/ai/spinner.md +0 -165
  1012. package/dist/ai/template.md +0 -144
  1013. package/dist/ai/timezone.md +0 -276
  1014. package/dist/animated-text-B3DQRJBy.cjs +0 -37
  1015. package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
  1016. package/dist/animated-text-BAj4-6hE.js +0 -76
  1017. package/dist/animated-text-BAj4-6hE.js.map +0 -1
  1018. package/dist/animated-text.cjs +0 -2
  1019. package/dist/animated-text.cjs.map +0 -1
  1020. package/dist/animated-text.js +0 -2
  1021. package/dist/animated-text.js.map +0 -1
  1022. package/dist/area.cjs.map +0 -1
  1023. package/dist/area.component-CP4DZ0d8.js +0 -330
  1024. package/dist/area.component-CP4DZ0d8.js.map +0 -1
  1025. package/dist/area.component-ChxSLt16.cjs +0 -12
  1026. package/dist/area.component-ChxSLt16.cjs.map +0 -1
  1027. package/dist/area.js.map +0 -1
  1028. package/dist/audio.cjs.map +0 -1
  1029. package/dist/audio.js.map +0 -1
  1030. package/dist/autocomplete-CAaVSg4g.cjs +0 -112
  1031. package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
  1032. package/dist/autocomplete-CGbACUYd.js +0 -333
  1033. package/dist/autocomplete-CGbACUYd.js.map +0 -1
  1034. package/dist/autocomplete.cjs.map +0 -1
  1035. package/dist/autocomplete.js.map +0 -1
  1036. package/dist/avatar-nWOZXEsW.cjs +0 -273
  1037. package/dist/avatar-nWOZXEsW.cjs.map +0 -1
  1038. package/dist/avatar-rLCF6MSI.js +0 -895
  1039. package/dist/avatar-rLCF6MSI.js.map +0 -1
  1040. package/dist/badge.cjs.map +0 -1
  1041. package/dist/badge.js.map +0 -1
  1042. package/dist/boat-Ckt9v__d.js +0 -301
  1043. package/dist/boat-Ckt9v__d.js.map +0 -1
  1044. package/dist/boat-yNAZ2LLB.cjs +0 -97
  1045. package/dist/boat-yNAZ2LLB.cjs.map +0 -1
  1046. package/dist/boat.cjs.map +0 -1
  1047. package/dist/boat.js.map +0 -1
  1048. package/dist/busy.cjs.map +0 -1
  1049. package/dist/busy.js.map +0 -1
  1050. package/dist/card.cjs.map +0 -1
  1051. package/dist/card.js.map +0 -1
  1052. package/dist/checkbox-BnAlpsJN.cjs +0 -40
  1053. package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
  1054. package/dist/checkbox-D22yfGe3.js +0 -526
  1055. package/dist/checkbox-D22yfGe3.js.map +0 -1
  1056. package/dist/checkbox.cjs.map +0 -1
  1057. package/dist/checkbox.js.map +0 -1
  1058. package/dist/chips.cjs.map +0 -1
  1059. package/dist/chips.js.map +0 -1
  1060. package/dist/code-highlight.cjs.map +0 -1
  1061. package/dist/code-highlight.js.map +0 -1
  1062. package/dist/code-preview-DPlQayFd.js +0 -967
  1063. package/dist/code-preview-DPlQayFd.js.map +0 -1
  1064. package/dist/code-preview-jPnX60FF.cjs +0 -193
  1065. package/dist/code-preview-jPnX60FF.cjs.map +0 -1
  1066. package/dist/components.cjs.map +0 -1
  1067. package/dist/components.js.map +0 -1
  1068. package/dist/consume-5D1qfVWM.js +0 -38
  1069. package/dist/consume-5D1qfVWM.js.map +0 -1
  1070. package/dist/consume-edta5ng5.cjs +0 -2
  1071. package/dist/consume-edta5ng5.cjs.map +0 -1
  1072. package/dist/content-drawer.cjs.map +0 -1
  1073. package/dist/content-drawer.js.map +0 -1
  1074. package/dist/context-create-B_S-sD5B.js +0 -1107
  1075. package/dist/context-create-B_S-sD5B.js.map +0 -1
  1076. package/dist/context-create-DTybDbZp.cjs +0 -2
  1077. package/dist/context-create-DTybDbZp.cjs.map +0 -1
  1078. package/dist/date-range-GFm5NG33.js +0 -639
  1079. package/dist/date-range-GFm5NG33.js.map +0 -1
  1080. package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
  1081. package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
  1082. package/dist/date-range-inline-DTQLESAZ.js +0 -197
  1083. package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
  1084. package/dist/date-range-inline.cjs.map +0 -1
  1085. package/dist/date-range-inline.js.map +0 -1
  1086. package/dist/date-range-ug3B9CFT.cjs +0 -119
  1087. package/dist/date-range-ug3B9CFT.cjs.map +0 -1
  1088. package/dist/date-range.cjs.map +0 -1
  1089. package/dist/date-range.js.map +0 -1
  1090. package/dist/delay-CWtBL0VD.cjs +0 -10
  1091. package/dist/delay-CWtBL0VD.cjs.map +0 -1
  1092. package/dist/delay-DEe1CmHc.js +0 -288
  1093. package/dist/delay-DEe1CmHc.js.map +0 -1
  1094. package/dist/delay.cjs.map +0 -1
  1095. package/dist/delay.js.map +0 -1
  1096. package/dist/details-D-LXW23W.js +0 -100
  1097. package/dist/details-D-LXW23W.js.map +0 -1
  1098. package/dist/details-DVke77dU.cjs +0 -55
  1099. package/dist/details-DVke77dU.cjs.map +0 -1
  1100. package/dist/details.cjs.map +0 -1
  1101. package/dist/details.js.map +0 -1
  1102. package/dist/dialog-service-C86xTS8q.cjs +0 -2
  1103. package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
  1104. package/dist/dialog-service-D9E3jLAR.js +0 -118
  1105. package/dist/dialog-service-D9E3jLAR.js.map +0 -1
  1106. package/dist/dialog.component-BM0D-hK9.cjs +0 -48
  1107. package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
  1108. package/dist/dialog.component-a7FlKhGD.js +0 -145
  1109. package/dist/dialog.component-a7FlKhGD.js.map +0 -1
  1110. package/dist/discovery.service-BbYjU5x8.js +0 -21
  1111. package/dist/discovery.service-BbYjU5x8.js.map +0 -1
  1112. package/dist/discovery.service-BpGCuXPd.cjs +0 -2
  1113. package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
  1114. package/dist/divider-CzTpxOqt.js +0 -84
  1115. package/dist/divider-CzTpxOqt.js.map +0 -1
  1116. package/dist/divider-D8KStUhN.cjs +0 -58
  1117. package/dist/divider-D8KStUhN.cjs.map +0 -1
  1118. package/dist/divider.cjs.map +0 -1
  1119. package/dist/divider.js.map +0 -1
  1120. package/dist/dropdown-content-CngZN3vv.cjs +0 -58
  1121. package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
  1122. package/dist/dropdown-content-DCn-g0-f.js +0 -147
  1123. package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
  1124. package/dist/email-recipients-BhntMZMf.cjs +0 -1173
  1125. package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
  1126. package/dist/email-recipients-BzjAKNJ0.js +0 -1733
  1127. package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
  1128. package/dist/emotional-sounds-BRnFhww6.js +0 -234
  1129. package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
  1130. package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
  1131. package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
  1132. package/dist/extra.cjs.map +0 -1
  1133. package/dist/extra.js.map +0 -1
  1134. package/dist/flex-5dR48zie.js +0 -183
  1135. package/dist/flex-5dR48zie.js.map +0 -1
  1136. package/dist/flex-oHl2EfYB.cjs +0 -18
  1137. package/dist/flex-oHl2EfYB.cjs.map +0 -1
  1138. package/dist/flow-D0e7hGXO.cjs +0 -2
  1139. package/dist/flow-D0e7hGXO.cjs.map +0 -1
  1140. package/dist/flow-DXYqC9OA.js +0 -340
  1141. package/dist/flow-DXYqC9OA.js.map +0 -1
  1142. package/dist/form-BlPiAPt7.cjs +0 -2
  1143. package/dist/form-BlPiAPt7.cjs.map +0 -1
  1144. package/dist/form-BxVM6JTn.js +0 -141
  1145. package/dist/form-BxVM6JTn.js.map +0 -1
  1146. package/dist/form.cjs.map +0 -1
  1147. package/dist/form.js.map +0 -1
  1148. package/dist/formField.mixin-BCGA7Ea3.js +0 -48
  1149. package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
  1150. package/dist/formField.mixin-BfJMifU9.cjs +0 -2
  1151. package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
  1152. package/dist/height-CfECBO2j.js +0 -44
  1153. package/dist/height-CfECBO2j.js.map +0 -1
  1154. package/dist/height-Z70qJYJK.cjs +0 -2
  1155. package/dist/height-Z70qJYJK.cjs.map +0 -1
  1156. package/dist/icon-DHEXr3c-.cjs +0 -49
  1157. package/dist/icon-DHEXr3c-.cjs.map +0 -1
  1158. package/dist/icon-DYpLoegR.js +0 -84
  1159. package/dist/icon-DYpLoegR.js.map +0 -1
  1160. package/dist/icon-button-CmZBLHWC.js +0 -164
  1161. package/dist/icon-button-CmZBLHWC.js.map +0 -1
  1162. package/dist/icon-button-IbSX8C98.cjs +0 -70
  1163. package/dist/icon-button-IbSX8C98.cjs.map +0 -1
  1164. package/dist/icons.cjs.map +0 -1
  1165. package/dist/icons.js.map +0 -1
  1166. package/dist/index-CCi1otmh.cjs +0 -2
  1167. package/dist/index-CCi1otmh.cjs.map +0 -1
  1168. package/dist/index-CW6PhEkx.js +0 -17
  1169. package/dist/index-CW6PhEkx.js.map +0 -1
  1170. package/dist/index.cjs.map +0 -1
  1171. package/dist/index.js.map +0 -1
  1172. package/dist/input-BByjYlgl.cjs +0 -51
  1173. package/dist/input-BByjYlgl.cjs.map +0 -1
  1174. package/dist/input-D0cQ9DOY.js +0 -237
  1175. package/dist/input-D0cQ9DOY.js.map +0 -1
  1176. package/dist/input-chip-B5ErXgCB.js +0 -206
  1177. package/dist/input-chip-B5ErXgCB.js.map +0 -1
  1178. package/dist/input-chip-DkWaTciP.cjs +0 -147
  1179. package/dist/input-chip-DkWaTciP.cjs.map +0 -1
  1180. package/dist/input.cjs.map +0 -1
  1181. package/dist/input.js.map +0 -1
  1182. package/dist/intersection-CJxzz8c-.js +0 -15
  1183. package/dist/intersection-CJxzz8c-.js.map +0 -1
  1184. package/dist/intersection-CVvaDv96.cjs +0 -2
  1185. package/dist/intersection-CVvaDv96.cjs.map +0 -1
  1186. package/dist/json-BZVe74np.cjs +0 -12
  1187. package/dist/json-BZVe74np.cjs.map +0 -1
  1188. package/dist/json-PKewOWuJ.js +0 -51
  1189. package/dist/json-PKewOWuJ.js.map +0 -1
  1190. package/dist/layout.cjs.map +0 -1
  1191. package/dist/layout.js.map +0 -1
  1192. package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
  1193. package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
  1194. package/dist/lightbox-service-DZMnb1eU.js +0 -458
  1195. package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
  1196. package/dist/lightbox.cjs.map +0 -1
  1197. package/dist/lightbox.js.map +0 -1
  1198. package/dist/list-B_2m7l3g.cjs +0 -17
  1199. package/dist/list-B_2m7l3g.cjs.map +0 -1
  1200. package/dist/list-CW56LV-v.js +0 -69
  1201. package/dist/list-CW56LV-v.js.map +0 -1
  1202. package/dist/list.cjs.map +0 -1
  1203. package/dist/list.js.map +0 -1
  1204. package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
  1205. package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
  1206. package/dist/litElement.mixin-DHZXtvYq.js +0 -15
  1207. package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
  1208. package/dist/mailbox.cjs.map +0 -1
  1209. package/dist/mailbox.js.map +0 -1
  1210. package/dist/map-2Hl60a0A.js +0 -175
  1211. package/dist/map-2Hl60a0A.js.map +0 -1
  1212. package/dist/map-DyPS9G7M.cjs +0 -81
  1213. package/dist/map-DyPS9G7M.cjs.map +0 -1
  1214. package/dist/map.cjs.map +0 -1
  1215. package/dist/map.js.map +0 -1
  1216. package/dist/media-CS8HpKnK.cjs +0 -152
  1217. package/dist/media-CS8HpKnK.cjs.map +0 -1
  1218. package/dist/media-DtWbcRxL.js +0 -244
  1219. package/dist/media-DtWbcRxL.js.map +0 -1
  1220. package/dist/menu-Caju5-zd.js +0 -60
  1221. package/dist/menu-Caju5-zd.js.map +0 -1
  1222. package/dist/menu-rX5RPAI2.cjs +0 -24
  1223. package/dist/menu-rX5RPAI2.cjs.map +0 -1
  1224. package/dist/menu.cjs.map +0 -1
  1225. package/dist/menu.js.map +0 -1
  1226. package/dist/nav-drawer.cjs.map +0 -1
  1227. package/dist/nav-drawer.js.map +0 -1
  1228. package/dist/navigation-bar.cjs.map +0 -1
  1229. package/dist/navigation-bar.js.map +0 -1
  1230. package/dist/navigation-rail-Ctketq5a.js +0 -256
  1231. package/dist/navigation-rail-Ctketq5a.js.map +0 -1
  1232. package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
  1233. package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
  1234. package/dist/notification-service-CUlfXqmj.js +0 -155
  1235. package/dist/notification-service-CUlfXqmj.js.map +0 -1
  1236. package/dist/notification-service-DknbpqTt.cjs +0 -19
  1237. package/dist/notification-service-DknbpqTt.cjs.map +0 -1
  1238. package/dist/notification.cjs.map +0 -1
  1239. package/dist/notification.js.map +0 -1
  1240. package/dist/notify-DJSOWTxv.js +0 -35
  1241. package/dist/notify-DJSOWTxv.js.map +0 -1
  1242. package/dist/notify-DickIEHW.cjs +0 -2
  1243. package/dist/notify-DickIEHW.cjs.map +0 -1
  1244. package/dist/number-B7aCRYnH.cjs +0 -2
  1245. package/dist/number-B7aCRYnH.cjs.map +0 -1
  1246. package/dist/number-BhTiptLA.js +0 -99
  1247. package/dist/number-BhTiptLA.js.map +0 -1
  1248. package/dist/option-Bng41-rY.js +0 -77
  1249. package/dist/option-Bng41-rY.js.map +0 -1
  1250. package/dist/option-DYT5Rkgy.cjs +0 -44
  1251. package/dist/option-DYT5Rkgy.cjs.map +0 -1
  1252. package/dist/option.cjs.map +0 -1
  1253. package/dist/option.js.map +0 -1
  1254. package/dist/page-BLn9gtSd.cjs +0 -20
  1255. package/dist/page-BLn9gtSd.cjs.map +0 -1
  1256. package/dist/page-D-ROcQDd.js +0 -48
  1257. package/dist/page-D-ROcQDd.js.map +0 -1
  1258. package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
  1259. package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
  1260. package/dist/payment-card-form-BJa4RgF2.js +0 -515
  1261. package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
  1262. package/dist/pills-BS5rZ6C3.js +0 -346
  1263. package/dist/pills-BS5rZ6C3.js.map +0 -1
  1264. package/dist/pills-Blf7IAeq.cjs +0 -113
  1265. package/dist/pills-Blf7IAeq.cjs.map +0 -1
  1266. package/dist/progress-DlhYniW_.cjs +0 -35
  1267. package/dist/progress-DlhYniW_.cjs.map +0 -1
  1268. package/dist/progress-yTIX6EqC.js +0 -56
  1269. package/dist/progress-yTIX6EqC.js.map +0 -1
  1270. package/dist/progress.cjs.map +0 -1
  1271. package/dist/progress.js.map +0 -1
  1272. package/dist/provide-BxZ2kn_p.cjs +0 -2
  1273. package/dist/provide-BxZ2kn_p.cjs.map +0 -1
  1274. package/dist/provide-tcktw8xB.js +0 -100
  1275. package/dist/provide-tcktw8xB.js.map +0 -1
  1276. package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
  1277. package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
  1278. package/dist/qr-scanner-DjZ8mgHV.js +0 -743
  1279. package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
  1280. package/dist/radio-button-N_PrrxKB.cjs +0 -41
  1281. package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
  1282. package/dist/radio-button-me3SRHGu.js +0 -115
  1283. package/dist/radio-button-me3SRHGu.js.map +0 -1
  1284. package/dist/radio-group.cjs.map +0 -1
  1285. package/dist/radio-group.js.map +0 -1
  1286. package/dist/ripple-BgJXbNSP.js +0 -124
  1287. package/dist/ripple-BgJXbNSP.js.map +0 -1
  1288. package/dist/ripple-x6sTX02K.cjs +0 -16
  1289. package/dist/ripple-x6sTX02K.cjs.map +0 -1
  1290. package/dist/rxjs-utils.cjs.map +0 -1
  1291. package/dist/rxjs-utils.js.map +0 -1
  1292. package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
  1293. package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
  1294. package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
  1295. package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
  1296. package/dist/scroll-C_gfUgjn.js +0 -87
  1297. package/dist/scroll-C_gfUgjn.js.map +0 -1
  1298. package/dist/scroll-CecsowP7.cjs +0 -27
  1299. package/dist/scroll-CecsowP7.cjs.map +0 -1
  1300. package/dist/search-B1s7thB0.cjs +0 -2
  1301. package/dist/search-B1s7thB0.cjs.map +0 -1
  1302. package/dist/search-DxxnLa5u.js +0 -95
  1303. package/dist/search-DxxnLa5u.js.map +0 -1
  1304. package/dist/select-BBA0gBHf.js +0 -280
  1305. package/dist/select-BBA0gBHf.js.map +0 -1
  1306. package/dist/select-D9oCjv7N.cjs +0 -57
  1307. package/dist/select-D9oCjv7N.cjs.map +0 -1
  1308. package/dist/select.cjs.map +0 -1
  1309. package/dist/select.js.map +0 -1
  1310. package/dist/selector-hook-9w2auh2O.cjs +0 -2
  1311. package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
  1312. package/dist/selector-hook-CHV4kDMd.js +0 -319
  1313. package/dist/selector-hook-CHV4kDMd.js.map +0 -1
  1314. package/dist/sheet-0oUfBmXX.cjs +0 -15
  1315. package/dist/sheet-0oUfBmXX.cjs.map +0 -1
  1316. package/dist/sheet-CNcDT3VP.js +0 -97
  1317. package/dist/sheet-CNcDT3VP.js.map +0 -1
  1318. package/dist/sheet.cjs.map +0 -1
  1319. package/dist/sheet.js.map +0 -1
  1320. package/dist/sheet.service-2MobB-9z.js +0 -68
  1321. package/dist/sheet.service-2MobB-9z.js.map +0 -1
  1322. package/dist/sheet.service-su_7yDQ-.cjs +0 -2
  1323. package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
  1324. package/dist/slider-CV-Ehp_5.cjs +0 -83
  1325. package/dist/slider-CV-Ehp_5.cjs.map +0 -1
  1326. package/dist/slider-CkE-iFUy.js +0 -161
  1327. package/dist/slider-CkE-iFUy.js.map +0 -1
  1328. package/dist/sound.service-Nza4c6wv.js +0 -102
  1329. package/dist/sound.service-Nza4c6wv.js.map +0 -1
  1330. package/dist/sound.service-eRirZw59.cjs +0 -2
  1331. package/dist/sound.service-eRirZw59.cjs.map +0 -1
  1332. package/dist/spinner-Bfn8KC-9.cjs +0 -135
  1333. package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
  1334. package/dist/spinner-DiMbWXp9.js +0 -168
  1335. package/dist/spinner-DiMbWXp9.js.map +0 -1
  1336. package/dist/store.cjs.map +0 -1
  1337. package/dist/store.js.map +0 -1
  1338. package/dist/suggestion-chip-CEDqUNoS.js +0 -481
  1339. package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
  1340. package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
  1341. package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
  1342. package/dist/surface-CW3H23Va.cjs +0 -199
  1343. package/dist/surface-CW3H23Va.cjs.map +0 -1
  1344. package/dist/surface-eBfnSwQS.js +0 -220
  1345. package/dist/surface-eBfnSwQS.js.map +0 -1
  1346. package/dist/surface.cjs.map +0 -1
  1347. package/dist/surface.js.map +0 -1
  1348. package/dist/table-D0tiSL_u.cjs +0 -64
  1349. package/dist/table-D0tiSL_u.cjs.map +0 -1
  1350. package/dist/table-Dmo4TvTx.js +0 -561
  1351. package/dist/table-Dmo4TvTx.js.map +0 -1
  1352. package/dist/table.cjs.map +0 -1
  1353. package/dist/table.js.map +0 -1
  1354. package/dist/tabs-compatibility-Bit6y6en.js +0 -104
  1355. package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
  1356. package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
  1357. package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
  1358. package/dist/tabs.cjs.map +0 -1
  1359. package/dist/tabs.js.map +0 -1
  1360. package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
  1361. package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
  1362. package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
  1363. package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
  1364. package/dist/teleport.cjs.map +0 -1
  1365. package/dist/teleport.js.map +0 -1
  1366. package/dist/textarea-B1d1QCqT.js +0 -134
  1367. package/dist/textarea-B1d1QCqT.js.map +0 -1
  1368. package/dist/textarea-DG8CHhZA.cjs +0 -44
  1369. package/dist/textarea-DG8CHhZA.cjs.map +0 -1
  1370. package/dist/textarea.cjs.map +0 -1
  1371. package/dist/textarea.js.map +0 -1
  1372. package/dist/theme-button-CPL6Eaqd.cjs +0 -9
  1373. package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
  1374. package/dist/theme-button-CrLuMQNe.js +0 -27
  1375. package/dist/theme-button-CrLuMQNe.js.map +0 -1
  1376. package/dist/theme-button.cjs.map +0 -1
  1377. package/dist/theme-button.js.map +0 -1
  1378. package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
  1379. package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
  1380. package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
  1381. package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
  1382. package/dist/theme.cjs.map +0 -1
  1383. package/dist/theme.events-CPSLaOlR.js +0 -6
  1384. package/dist/theme.events-CPSLaOlR.js.map +0 -1
  1385. package/dist/theme.events-Car6U_SQ.cjs +0 -2
  1386. package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
  1387. package/dist/theme.interface-BLfE5J_1.js +0 -5
  1388. package/dist/theme.interface-BLfE5J_1.js.map +0 -1
  1389. package/dist/theme.interface-BMeNadVb.cjs +0 -2
  1390. package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
  1391. package/dist/theme.js.map +0 -1
  1392. package/dist/timezone-4vwX0BgA.js +0 -112
  1393. package/dist/timezone-4vwX0BgA.js.map +0 -1
  1394. package/dist/timezone-BxvQcqe1.cjs +0 -32
  1395. package/dist/timezone-BxvQcqe1.cjs.map +0 -1
  1396. package/dist/tooltip-CjdvBf4X.js +0 -119
  1397. package/dist/tooltip-CjdvBf4X.js.map +0 -1
  1398. package/dist/tooltip-ZtnGjoJd.cjs +0 -7
  1399. package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
  1400. package/dist/tree-CBEjV7jP.js +0 -65
  1401. package/dist/tree-CBEjV7jP.js.map +0 -1
  1402. package/dist/tree-DP5U00NA.cjs +0 -27
  1403. package/dist/tree-DP5U00NA.cjs.map +0 -1
  1404. package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
  1405. package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
  1406. package/dist/tslib.es6-ujVQHAQ4.js +0 -10
  1407. package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
  1408. package/dist/typewriter-C6kFjLcX.cjs +0 -124
  1409. package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
  1410. package/dist/typewriter-Eo5qXoGC.js +0 -555
  1411. package/dist/typewriter-Eo5qXoGC.js.map +0 -1
  1412. package/dist/typewriter.cjs.map +0 -1
  1413. package/dist/typewriter.js.map +0 -1
  1414. package/dist/typography-C_1gdM2I.js +0 -264
  1415. package/dist/typography-C_1gdM2I.js.map +0 -1
  1416. package/dist/typography-DGyjlLCE.cjs +0 -243
  1417. package/dist/typography-DGyjlLCE.cjs.map +0 -1
  1418. package/dist/utils-C38P63L6.cjs +0 -2
  1419. package/dist/utils-C38P63L6.cjs.map +0 -1
  1420. package/dist/utils-CYOVFxSx.js +0 -150
  1421. package/dist/utils-CYOVFxSx.js.map +0 -1
  1422. package/dist/utils.cjs.map +0 -1
  1423. package/dist/utils.js.map +0 -1
  1424. package/types/src/animated-text/animated-text.d.ts +0 -30
  1425. package/types/src/animated-text/index.d.ts +0 -1
  1426. package/types/src/directives/height.d.ts +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-CbO5kJ2O.js","names":[],"sources":["../src/badge/badge.ts","../src/content-drawer/drawer.service.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/context.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/navigation-bar/navigation-bar-item.ts","../src/navigation-bar/navigation-bar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts","../src/avatar.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\n\n/**\n * Badge color types for predefined styles\n */\nexport type BadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'neutral' | 'surface'\n\n/**\n * Badge size variants\n */\nexport type BadgeSize = 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Badge shape variants\n */\nexport type BadgeShape = 'rounded' | 'pill' | 'square'\n\n/**\n * @element sch-badge\n * A versatile badge component for status indicators, labels, and counts\n *\n * @slot - The content of the badge (text or HTML)\n * @slot icon - Optional icon to display before the content\n *\n * @csspart badge - The badge element container\n * @csspart content - The content container\n * @csspart icon - The icon container\n */\n@customElement('schmancy-badge')\nexport class SchmancyBadgeV2 extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-flex;\n\t\twidth: fit-content;\n\t}\n\n\t/* Enhanced pulse animation for better attention-getting */\n\t@keyframes elegant-pulse {\n\t\t0%, 100% {\n\t\t\topacity: 1;\n\t\t}\n\t\t50% {\n\t\t\topacity: 0.85;\n\t\t}\n\t}\n\n\t.animate-pulse {\n\t\tanimation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n\t}\n`) {\n\t/**\n\t * The color variant of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tcolor: BadgeColor = 'primary'\n\n\t/**\n\t * The size of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: BadgeSize = 'md'\n\n\t/**\n\t * The shape of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tshape: BadgeShape = 'pill'\n\n\t/**\n\t * Whether the badge has an outlined style\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\toutlined = false\n\n\t/**\n\t * Custom icon name to display (if no icon slot is provided)\n\t * @attr\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Whether to make the badge pulse to draw attention\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpulse = false\n\n\t/**\n\t * Convert the size to appropriate Tailwind classes for the badge container\n\t * Using harmonious padding ratios based on golden ratio principles\n\t * Refined for more elegant proportions\n\t */\n\tprivate getSizeClasses(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn 'text-xs py-0.75 px-1.5 gap-0.5 leading-none'\n\t\t\tcase 'sm':\n\t\t\t\treturn 'text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none'\n\t\t\tcase 'lg':\n\t\t\t\treturn 'text-base py-2 px-4 gap-1 tracking-wide'\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn 'text-sm py-1.5 px-3 gap-0.5'\n\t\t}\n\t}\n\n\t/**\n\t * Get shape classes based on selected shape\n\t */\n\tprivate getShapeClasses(): string {\n\t\tswitch (this.shape) {\n\t\t\tcase 'square':\n\t\t\t\treturn 'rounded'\n\t\t\tcase 'rounded':\n\t\t\t\treturn 'rounded-md'\n\t\t\tcase 'pill':\n\t\t\tdefault:\n\t\t\t\treturn 'rounded-full'\n\t\t}\n\t}\n\n\t/**\n\t * Get icon size based on badge size with harmonious proportions\n\t * Using golden ratio-inspired proportions relative to text size\n\t */\n\tprivate getIconSize(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn '11px' // Approximately 0.9 × text size (12px × 0.9)\n\t\t\tcase 'sm':\n\t\t\t\treturn '13px' // Approximately 1.1 × text size (12px × 1.1)\n\t\t\tcase 'lg':\n\t\t\t\treturn '18px' // Approximately 1.1 × text size (16px × 1.1)\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn '15px' // Approximately 1.1 × text size (14px × 1.1)\n\t\t}\n\t}\n\n\t/**\n\t * Get additional styling for specific sizes\n\t */\n\tprivate getExoticStyles(): Record<string, string> {\n\t\tconst styles: Record<string, string> = {}\n\n\t\tif (this.size === 'lg') {\n\t\t\tstyles.letterSpacing = '0.03em'\n\t\t\tstyles.fontWeight = '500'\n\t\t}\n\n\t\tif (this.size === 'sm') {\n\t\t\tstyles.letterSpacing = '0.02em'\n\t\t}\n\n\t\treturn styles\n\t}\n\n\t/**\n\t * Get background and text colors based on selected color variant\n\t * Enhanced for more elegant color combinations with refined contrasts\n\t */\n\tprivate getColorStyles() {\n\t\tconst colors: Record<BadgeColor, { bg: string; text: string; border?: string }> = {\n\t\t\tprimary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.container} 92%, ${SchmancyTheme.sys.color.primary.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.primary.default : SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.container} 95%, ${SchmancyTheme.sys.color.secondary.default} 5%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.secondary.default : SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.default} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 94%, ${SchmancyTheme.sys.color.tertiary.default} 6%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 88%, ${SchmancyTheme.sys.color.surface.highest} 12%)` : undefined,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.success.container} 90%, ${SchmancyTheme.sys.color.success.default} 10%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.success.default : SchmancyTheme.sys.color.success.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.success.default} 85%, ${SchmancyTheme.sys.color.surface.bright} 15%)` : undefined,\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 85%, ${SchmancyTheme.sys.color.tertiary.default} 15%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.error.container} 92%, ${SchmancyTheme.sys.color.error.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.error.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.error.default} 88%, ${SchmancyTheme.sys.color.surface.bright} 12%)` : undefined,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.high} 95%, ${SchmancyTheme.sys.color.outline} 5%)`,\n\t\t\t\ttext: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.on} 95%, ${SchmancyTheme.sys.color.surface.default} 5%)` : SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.outline} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t\tsurface: {\n\t\t\t\tbg: this.outlined ? 'transparent' : SchmancyTheme.sys.color.surface.high,\n\t\t\t\ttext: SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? SchmancyTheme.sys.color.outline : undefined,\n\t\t\t},\n\t\t}\n\n\t\treturn colors[this.color]\n\t}\n\n\trender() {\n\t\tconst sizeClasses = this.getSizeClasses()\n\t\tconst shapeClasses = this.getShapeClasses()\n\t\tconst colorStyles = this.getColorStyles()\n\t\tconst iconSize = this.getIconSize()\n\t\tconst exoticStyles = this.getExoticStyles()\n\n\t\tconst badgeClasses = {\n\t\t\t'inline-flex items-center justify-center font-medium': true,\n\t\t\t'transition-all duration-200 ease-in-out': true,\n\t\t\t[sizeClasses]: true,\n\t\t\t[shapeClasses]: true,\n\t\t\t'animate-pulse': this.pulse,\n\t\t\t'border border-solid': this.outlined,\n\t\t\t'shadow-sm': !this.outlined && this.size === 'sm',\n\t\t\t'shadow': !this.outlined && this.size === 'md',\n\t\t\t'shadow-md': !this.outlined && this.size === 'lg',\n\t\t\t'hover:brightness-95 hover:-translate-y-px': this.outlined,\n\t\t\t'hover:brightness-[0.98]': !this.outlined,\n\t\t}\n\n\t\t// Refined styles for a more elegant look (only CSS that can't be done with Tailwind)\n\t\tconst styles = {\n\t\t\tborderColor: colorStyles.border,\n\t\t\tbackdropFilter: this.outlined ? 'blur(4px)' : undefined,\n\t\t\tboxShadow: this.size === 'lg' && !this.outlined ? '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)' : undefined,\n\t\t\t...exoticStyles,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tpart=\"badge\"\n\t\t\t\tclass=\"${this.classMap(badgeClasses)}\"\n\t\t\t\tstyle=\"${this.styleMap(styles)}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: colorStyles.bg,\n\t\t\t\t\tcolor: colorStyles.text,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<!-- Icon slot or named icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t${this.icon\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<div part=\"icon\" class=\"shrink-0 flex items-center justify-center leading-none\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon .size=${iconSize} class=\"flex items-center justify-center\">${this.icon}</schmancy-icon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- Content with proper spacing from icon -->\n\t\t\t\t<div part=\"content\" class=\"flex items-center leading-none tracking-[0.01em] ${this.icon ? 'ml-[0.38em]' : ''}\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-badge': SchmancyBadgeV2,\n\t\t'schmancy-badge': SchmancyBadgeV2\n\t}\n}\n\n\n// Register the component with the legacy tag name for backward compatibility\n@customElement('sch-badge')\nexport class ScBadgeV2 extends SchmancyBadgeV2 {}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { BehaviorSubject, Subject, concatMap, delay, of, tap } from 'rxjs'\nimport { ComponentType } from '../area/router.types'\n\n// type DrawerAction = 'dismiss' | 'render' | 'push'\ntype TRef = Element | Window\ntype TRenderRequest = ComponentType\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}>\n\nexport type DrawerPushOptions = {\n\tcomponent: ComponentType\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}\n\ntype DrawerCommand =\n\t| { action: 'dismiss'; ref: TRef }\n\t| { action: 'render'; ref: TRef; component: TRenderRequest; title?: string }\n\t| { action: 'push'; ref: TRef; component: ComponentType; state?: Record<string, unknown>; params?: Record<string, unknown>; props?: Record<string, unknown> }\n\nclass DrawerService {\n\tprivate $drawer = new Subject<DrawerCommand>()\n\tprivate pushCounter = 0\n\tprivate isDismissing$ = new BehaviorSubject<boolean>(false)\n\n\tconstructor() {\n\t\t// Use concatMap to queue commands and process them sequentially\n\t\tthis.$drawer.pipe(\n\t\t\tconcatMap(command => {\n\t\t\t\tswitch (command.action) {\n\t\t\t\t\tcase 'dismiss':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.isDismissing$.next(true)\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'close')\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t// Wait for dismiss animation (250ms from sheet.ts)\n\t\t\t\t\t\t\tdelay(300),\n\t\t\t\t\t\t\ttap(() => this.isDismissing$.next(false))\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'render':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'open')\n\t\t\t\t\t\t\t\tthis.dispatchRenderEvent(command.ref, command.component, command.title)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'push':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => this.handlePush(command.ref, command.component, command.state, command.params, command.props))\n\t\t\t\t\t\t)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn of(null)\n\t\t\t\t}\n\t\t\t})\n\t\t).subscribe()\n\t}\n\n\tprivate dispatchToggleEvent(ref: TRef, state: 'open' | 'close') {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\tdetail: { state },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate dispatchRenderEvent(\n\t\tref: TRef,\n\t\tcomponent: TRenderRequest,\n\t\ttitle?: string,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\tdetail: { component, title, state, params, props },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n\n\tprivate handlePush(\n\t\tref: TRef,\n\t\tcomponent: ComponentType,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\t// Auto-increment counter to make every push unique\n\t\t// Area router uses distinctUntilChanged on component+state+params+props\n\t\t// Without this, pushing same component with same props gets silently blocked\n\t\tconst enhancedState = {\n\t\t\t...state,\n\t\t\t_drawerPushId: ++this.pushCounter\n\t\t}\n\n\t\tthis.dispatchToggleEvent(ref, 'open')\n\t\tthis.dispatchRenderEvent(ref, component, undefined, enhancedState, params, props)\n\t}\n\n\t/**\n\t * Push a component to the content drawer\n\t * Every push is guaranteed to render (auto-incremented unique ID prevents deduplication)\n\t * @param options - Component configuration object with optional state/params/props\n\t * @example\n\t * schmancyContentDrawer.push({\n\t * component: myComponent,\n\t * props: { id: '123' }\n\t * })\n\t */\n\tpush(options: DrawerPushOptions): void {\n\t\tthis.$drawer.next({\n\t\t\taction: 'push',\n\t\t\tref: window,\n\t\t\t...options,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new DrawerService()","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\n\tfirstUpdated(): void {\n\t\tthis.setupResizeListener()\n\t\tthis.setupToggleListener()\n\t\tthis.setupRenderListener()\n\t}\n\n\tprivate setupResizeListener() {\n\t\tmerge(\n\t\t\tfromEvent<CustomEvent>(window, 'resize'),\n\t\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize)\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tdebounceTime(100),\n\t\t\t\tmap(() => this.clientWidth || window.innerWidth),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(() => this.updateMaxHeight()),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => this.updateMode(isLargeScreen))\n\t}\n\n\tprivate setupToggleListener() {\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprivate setupRenderListener() {\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(detail => this.handleRender(detail))\n\t}\n\n\tprivate updateMaxHeight() {\n\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this)}px`\n\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t}\n\n\tprivate updateMode(isLargeScreen: boolean) {\n\t\tif (isLargeScreen) {\n\t\t\tthis.mode = 'push'\n\t\t\tthis.open = 'open'\n\t\t} else {\n\t\t\tthis.mode = 'overlay'\n\t\t\tthis.open = 'close'\n\t\t}\n\t}\n\n\tprivate handleRender(detail: TRenderCustomEvent['detail']) {\n\t\tif (this.mode === 'push') {\n\t\t\tarea.push({\n\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\tcomponent: detail.component,\n\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\tstate: detail.state,\n\t\t\t\tparams: detail.params,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t} else if (this.mode === 'overlay') {\n\t\t\tsheet.open({\n\t\t\t\tcomponent: detail.component,\n\t\t\t\tuid: this.schmancyContentDrawerID,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t}\n\t}\n\n\tgetOffsetTop(element: HTMLElement | null) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent as HTMLElement | null\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\n\t\tconst gridClasses = [\n\t\t\t'grid h-full',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'justify-items-stretch items-stretch',\n\t\t\tthis.mode === 'overlay' ? 'grid-cols-[1fr]' : 'grid-cols-[auto_1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<div class=${gridClasses}>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth: number\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight: string\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\tconst gridClasses = [\n\t\t\t'grid h-full relative overflow-scroll',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'items-stretch justify-items-stretch',\n\t\t\tthis.mode === 'push' ? 'grid-cols-[auto_1fr]' : 'grid-cols-[1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<div class=${gridClasses}>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 250,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 250,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\t\"block h-full w-full\": this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area class=\"h-full w-full\" name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(debounceTime(10)).subscribe(data => {\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\nconst $drawer = schmancyNavDrawer\n\nexport { $drawer }\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmin-width: 0;\n\t}\n`) {\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: auto 1fr;\n\t\tgrid-template-rows: 1fr;\n\t\tflex-grow: 1;\n\t\theight: 100%;\n\t\toverflow: hidden;\n\t\t/* Initially hide the component until it's ready */\n\t\tvisibility: hidden;\n\t}\n\n\t:host([data-ready]) {\n\t\tvisibility: visible;\n\t}\n\n\t:host([fullscreen]) {\n\t\tgrid-template-columns: 1fr;\n\t}\n`) {\n\t@property({ type: Boolean, reflect: true })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The breakpoint for the sidebar based on Tailwind CSS breakpoints.\n\t * Accepts: \"sm\", \"md\", \"lg\", or \"xl\".\n\t */\n\t@property({ type: String, attribute: 'breakpoint' })\n\tbreakpoint: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\n\tprivate static BREAKPOINTS: Record<'sm' | 'md' | 'lg' | 'xl', number> = {\n\t\tsm: 640,\n\t\tmd: 768,\n\t\tlg: 1024,\n\t\txl: 1280,\n\t}\n\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tfirstUpdated() {\n\t\tthis.updateState(window.innerWidth)\n\t\tthis.setAttribute('data-ready', '')\n\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as Window).innerWidth),\n\t\t\t\tmap(width => width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => {\n\t\t\t\tif (isLargeScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\tfromEvent(window, 'fullscreen').pipe(\n\t\t\ttap((event: Event) => {\n\t\t\t\tconst customEvent = event as CustomEvent\n\t\t\t\tthis.fullscreen = customEvent.detail\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\tfromEvent(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap((event: CustomEvent) => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap((event: CustomEvent) => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(10),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// Handle 'toggle' state\n\t\t\t\tif (state === 'toggle') {\n\t\t\t\t\tstate = this.open === 'open' ? 'close' : 'open'\n\t\t\t\t}\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprivate updateState(width: number) {\n\t\tconst isLargeScreen = width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]\n\t\tthis.mode = isLargeScreen ? 'push' : 'overlay'\n\t\tthis.open = isLargeScreen ? 'open' : 'close'\n\t}\n\n\tprotected render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n// Animation configuration constants.\nconst ANIMATION_EASING = 'cubic-bezier(0.5, 0.01, 0.25, 1)'\nconst OVERLAY_ANIM_DURATION_OPEN = 200\nconst OVERLAY_ANIM_DURATION_CLOSE = 150\nconst NAV_ANIM_DURATION = 200\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t// Consume context values. Renamed from \"state\" to \"drawerState\" to avoid confusion.\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode!: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tdrawerState!: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '220px'\n\t@state() private _initialized = false\n\n\t/**\n\t * firstUpdated()\n\t * Set initial styles based on the current mode and consumed state.\n\t */\n\tfirstUpdated() {\n\t\tif (this.mode === 'overlay') {\n\t\t\tif (this.drawerState === 'close') {\n\t\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t\t\tthis.overlay.style.display = 'none'\n\t\t\t} else if (this.drawerState === 'open') {\n\t\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\t\tthis.overlay.style.display = 'block'\n\t\t\t\tthis.overlay.style.opacity = '0.4'\n\t\t\t}\n\t\t} else if (this.mode === 'push') {\n\t\t\t// In push mode, the nav is always visible and the overlay hidden.\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t\tthis._initialized = true\n\t}\n\n\t/**\n\t * updated()\n\t * Trigger animations when either the consumed mode or state changes.\n\t */\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (!this._initialized) return\n\n\t\tif (changedProperties.has('drawerState') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.drawerState === 'open') {\n\t\t\t\t\t// Animate only if the nav isn’t already open.\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t\t}\n\t\t\t\t} else if (this.drawerState === 'close') {\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(-100%)') {\n\t\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t\tif (this.overlay.style.display !== 'none') {\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Animate the overlay to fade in.\n\t */\n\topenOverlay() {\n\t\tthis.overlay.style.display = 'block'\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_OPEN,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t}\n\n\t/**\n\t * Animate the overlay to fade out, then hide it.\n\t */\n\tcloseOverlay() {\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_CLOSE,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\tshowNavDrawer() {\n\t\t// Use computed style if needed, but here we directly update inline style after animation.\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t}\n\t}\n\n\thideNavDrawer() {\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t}\n\t}\n\n\t/**\n\t * Handle overlay click events by dispatching a custom event\n\t * to close the navigation drawer.\n\t */\n\tprivate handleOverlayClick() {\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\tdetail: { state: 'close' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.containerLowest,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${this.handleOverlayClick}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent, merge, timer } from 'rxjs'\nimport { takeUntil, tap, filter } from 'rxjs/operators'\n\n/**\n * `<schmancy-navigation-bar-item>` component\n *\n * Individual navigation item for use within a navigation bar.\n * Represents a single destination with an icon and optional label following Material Design 3 specifications.\n *\n * @element schmancy-navigation-bar-item\n * @slot icon - Slot for custom icon content\n * @slot - Default slot for custom content\n *\n * @fires bar-item-click - When the item is clicked\n * @fires focus - When the item receives focus\n * @fires blur - When the item loses focus\n *\n * @example\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\" active></schmancy-navigation-bar-item>\n *\n * @example\n * <schmancy-navigation-bar-item label=\"Custom\">\n * <span slot=\"icon\">🏠</span>\n * </schmancy-navigation-bar-item>\n */\n@customElement('schmancy-navigation-bar-item')\nexport class SchmancyNavigationBarItem extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex: 1;\n\t\tmin-width: 48px;\n\t\tmax-width: 168px;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t\tborder: none;\n\t\tbackground: none;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\ttext-align: center;\n\t\tcolor: inherit;\n\t}\n\n\tbutton:focus {\n\t\toutline: none;\n\t}\n\n\tbutton:focus-visible {\n\t\toutline: 2px solid var(--focus-color);\n\t\toutline-offset: 2px;\n\t\tborder-radius: 8px;\n\t}\n\n\t/* Ripple animation */\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ripple-effect {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tbackground-color: currentColor;\n\t\topacity: 0.25;\n\t\tanimation: ripple 0.6s ease-out;\n\t\tpointer-events: none;\n\t}\n`) {\n\t/**\n\t * Icon name for the navigation item (Material Symbols Outlined)\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 * Badge content (can be a number or short text)\n\t */\n\t@property({ type: String })\n\tbadge = ''\n\n\t/**\n\t * Observable for active state\n\t */\n\tprivate active$ = new BehaviorSubject<boolean>(false)\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() { return this.active$.value }\n\tset active(value: boolean) { this.active$.next(value) }\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 to hide labels (controlled by parent navigation bar)\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Track ripple effects\n\t */\n\t@state()\n\tprivate ripples: { x: number; y: number; id: number }[] = []\n\n\t/**\n\t * Add ripple effect (immediate, no debounce)\n\t */\n\tprivate addRippleEffect = (event: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Find the icon indicator div for ripple positioning\n\t\tconst indicatorDiv = this.shadowRoot?.querySelector('.w-16.h-8')\n\t\tif (indicatorDiv) {\n\t\t\tconst rect = indicatorDiv.getBoundingClientRect()\n\t\t\tconst ripple = {\n\t\t\t\tx: event.clientX - rect.left,\n\t\t\t\ty: event.clientY - rect.top,\n\t\t\t\tid: Date.now()\n\t\t\t}\n\t\t\tthis.ripples = [...this.ripples, ripple]\n\n\t\t\t// Remove ripple after animation\n\t\t\ttimer(600).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== ripple.id)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe()\n\t\t}\n\t}\n\n\t/**\n\t * Handle click events with RxJS\n\t */\n\tprivate handleClick = (event: MouseEvent) => {\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// Add ripple immediately\n\t\tthis.addRippleEffect(event)\n\n\t\t// Navigation event is handled in connectedCallback\n\t}\n\n\t/**\n\t * Handle keyboard events for accessibility (non-Enter/Space keys)\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Enter and Space are handled by the RxJS stream\n\t\tif (event.key === 'Enter' || event.key === ' ') {\n\t\t\tevent.preventDefault()\n\t\t\t// Keyboard activation is handled in connectedCallback\n\t\t}\n\t}\n\n\t/**\n\t * Method called by parent to set active state\n\t */\n\tsetActive(isActive: boolean) {\n\t\tthis.active = isActive\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Subscribe to active state changes\n\t\tthis.active$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(() => {\n\t\t\tthis.requestUpdate()\n\t\t})\n\n\t\t// Set up navigation event stream\n\t\tthis.setupNavigationStream()\n\t}\n\n\t/**\n\t * Set up RxJS stream for navigation events\n\t */\n\tprivate setupNavigationStream() {\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (!button) return\n\n\t\t// Create click stream\n\t\tconst click$ = fromEvent<MouseEvent>(button, 'click').pipe(\n\t\t\tfilter(() => !this.disabled)\n\t\t)\n\n\t\t// Create keyboard activation stream (Enter/Space)\n\t\tconst keyActivation$ = fromEvent<KeyboardEvent>(button, 'keydown').pipe(\n\t\t\tfilter(() => !this.disabled),\n\t\t\tfilter(event => event.key === 'Enter' || event.key === ' '),\n\t\t\ttap(event => event.preventDefault())\n\t\t)\n\n\t\t// Merge click and keyboard streams for instant navigation\n\t\tmerge(click$, keyActivation$).pipe(\n\t\t\ttap(() => {\n\t\t\t\t// Dispatch navigation event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('bar-item-click', {\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\ticon: this.icon,\n\t\t\t\t\t\tlabel: this.label,\n\t\t\t\t\t\tactive: this.active\n\t\t\t\t\t},\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true\n\t\t\t\t}))\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\t/**\n\t * Format badge content for display\n\t */\n\tprivate formatBadge(badge: string): string {\n\t\t// Convert to number if possible\n\t\tconst num = Number(badge)\n\t\tif (!isNaN(num)) {\n\t\t\t// Show 99+ for large numbers\n\t\t\treturn num > 99 ? '99+' : String(num)\n\t\t}\n\t\t// For text badges, limit to 3 characters\n\t\treturn badge.slice(0, 3)\n\t}\n\n\tprotected firstUpdated() {\n\t\t// Set up navigation stream after first render when button is available\n\t\tthis.setupNavigationStream()\n\t}\n\n\tprotected render() {\n\t\tconst hasSlotContent = this.querySelector('[slot]') || (this.textContent?.trim() && !this.label)\n\t\tconst badgeText = this.badge ? this.formatBadge(this.badge) : ''\n\t\tconst showBadgeText = badgeText && badgeText !== '0'\n\n\t\t// Check for custom icon slot content\n\t\tconst hasCustomIcon = this.querySelector('[slot=\"icon\"]')\n\n\t\t// Main container classes - now the clickable area\n\t\tconst containerClasses = {\n\t\t\t'relative flex flex-col items-center justify-center': true,\n\t\t\t'flex-1 min-w-[48px] max-w-[168px]': true, // Fill available space\n\t\t\t'py-2 px-1 cursor-pointer': !this.disabled,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'hover:bg-surface-containerHigh': !this.disabled && !this.active,\n\t\t\t'cursor-not-allowed opacity-38': this.disabled,\n\t\t\t'outline-none': true,\n\t\t\t'focus-visible:outline-2 focus-visible:outline-offset-2': true\n\t\t}\n\n\t\t// Icon indicator - just visual, not clickable\n\t\tconst indicatorClasses = {\n\t\t\t'w-16 h-8 rounded-2xl': true,\n\t\t\t'flex items-center justify-center': true,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'bg-secondary-container': this.active,\n\t\t\t'group-hover:bg-surface-containerHighest': !this.active && !this.disabled,\n\t\t\t'relative overflow-hidden': true\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'text-xs font-medium leading-4 mt-1': true,\n\t\t\t'text-center max-w-full': true,\n\t\t\t'overflow-hidden text-ellipsis whitespace-nowrap': true,\n\t\t\t'transition-all duration-200': true\n\t\t}\n\n\t\tconst badgeClasses = {\n\t\t\t'absolute top-0 right-3': true,\n\t\t\t'min-w-[6px] h-1.5': !showBadgeText,\n\t\t\t'min-w-[16px] h-4': showBadgeText,\n\t\t\t'rounded-full': !showBadgeText,\n\t\t\t'rounded-lg': showBadgeText,\n\t\t\t'flex items-center justify-center': showBadgeText,\n\t\t\t'px-1': showBadgeText,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'z-10': true\n\t\t}\n\n\t\t// Determine colors\n\t\tconst containerColors = this.active\n\t\t\t? {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.onVariant\n\t\t\t }\n\n\t\t// Set CSS variables for focus state\n\t\tconst styleVars = {\n\t\t\t'--focus-color': SchmancyTheme.sys.color.primary.default\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\taria-pressed=${this.active}\n\t\t\t\taria-label=${this.label || 'Navigation item'}\n\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t...styleVars,\n\t\t\t\t\t'outline-color': 'var(--focus-color)'\n\t\t\t\t})}\n\t\t\t\t${color(containerColors)}\n\t\t\t>\n\t\t\t\t<!-- Icon with indicator background -->\n\t\t\t\t<div class=${this.classMap(indicatorClasses)}>\n\t\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\tripple => html`\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"ripple-effect\"\n\t\t\t\t\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t\t\t\t\tleft: `${ripple.x}px`,\n\t\t\t\t\t\t\t\t\ttop: `${ripple.y}px`,\n\t\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)'\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\n\t\t\t\t\t${hasCustomIcon\n\t\t\t\t\t\t? html`<slot name=\"icon\"></slot>`\n\t\t\t\t\t\t: this.icon\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-icon\n\t\t\t\t\t\t\t\t\t\t.fill=${this.active ? 1 : 0}\n\t\t\t\t\t\t\t\t\t\tclass=\"relative z-10 flex items-center justify-center transition-all duration-200\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"--schmancy-icon-size: 24px;\"\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\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</schmancy-icon>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: hasSlotContent\n\t\t\t\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Label below icon -->\n\t\t\t\t${!this.hideLabels && this.label ? html`\n\t\t\t\t\t<span class=${this.classMap(labelClasses)}>${this.label}</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Badge -->\n\t\t\t\t${showBadgeText ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"${badgeText} notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default,\n\t\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.error.on\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"text-[10px] font-medium leading-none\">${badgeText}</span>\n\t\t\t\t\t</span>\n\t\t\t\t` : this.badge ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"Has notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default\n\t\t\t\t\t\t})}\n\t\t\t\t\t></span>\n\t\t\t\t` : ''}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar-item': SchmancyNavigationBarItem\n\t}\n}","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs'\nimport { takeUntil, throttleTime, tap, pairwise, map, filter } from 'rxjs/operators'\nimport type { SchmancyNavigationBarItem } from './navigation-bar-item'\nimport { theme } from '../theme/theme.service'\n\n/** Height of the navigation bar in pixels */\nconst NAV_BAR_HEIGHT = 80\n\n/** Mobile breakpoint - matches md: in Tailwind (max-width for mobile) */\nconst MOBILE_BREAKPOINT = '(max-width: 767px)'\n\n/**\n * `<schmancy-navigation-bar>` component\n *\n * A horizontal navigation component following Material Design 3 specifications.\n * Navigation bars provide access to between 3-7 primary destinations.\n * Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).\n *\n * **IMPORTANT**: This component includes `z-10` by default (consistent with navigation-rail).\n * The consumer is responsible for positioning the navigation bar in their layout.\n * For typical bottom-fixed positioning, add: `class=\"fixed bottom-0 left-0 right-0\"`.\n *\n * @element schmancy-navigation-bar\n * @slot - Default slot for navigation bar items\n *\n * @fires navigation-change - When an item is selected\n *\n * @example\n * <!-- Fixed at bottom (typical usage) -->\n * <schmancy-navigation-bar activeIndex=\"0\" class=\"fixed bottom-0 left-0 right-0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"search\" label=\"Search\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"favorite\" label=\"Favorites\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n *\n * @example\n * <!-- Within a container (demo/mockup usage) -->\n * <div class=\"flex flex-col h-screen\">\n * <main class=\"flex-1\">Content</main>\n * <schmancy-navigation-bar activeIndex=\"0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n * </div>\n */\n@customElement('schmancy-navigation-bar')\nexport class SchmancyNavigationBar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\ttransition: transform 0.3s ease-in-out;\n\t}\n\n\t:host([hide-on-scroll]) {\n\t\ttransition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t/* Support 3-7 items with equal distribution */\n\t::slotted(schmancy-navigation-bar-item) {\n\t\tflex: 1;\n\t\tmax-width: 168px; /* Prevent items from being too wide */\n\t}\n\n\t/* Accessibility focus indicators */\n\t:host(:focus-within) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary);\n\t\toutline-offset: -2px;\n\t}\n`) {\n\t/**\n\t * Observable for active index state\n\t */\n\tprivate activeIndex$ = new BehaviorSubject<number>(-1)\n\n\t/**\n\t * Currently active item index\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tget activeIndex() { return this.activeIndex$.value }\n\tset activeIndex(value: number) { this.activeIndex$.next(value) }\n\n\t/**\n\t * Hide labels and show only icons\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Elevation level for the navigation bar\n\t * @default 2\n\t */\n\t@property({ type: Number, reflect: true })\n\televation = 2\n\n\t/**\n\t * Hide navigation bar on scroll down, show on scroll up\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideOnScroll = false\n\n\n\t/**\n\t * Current focused item index for keyboard navigation\n\t */\n\t@state()\n\tprivate focusedIndex = -1\n\n\t/**\n\t * Whether the navigation bar is hidden due to scrolling\n\t */\n\t@state()\n\tprivate isHiddenByScroll = false\n\n\t/**\n\t * Whether the navigation bar is hidden due to fullscreen mode\n\t */\n\t@state()\n\tprivate isFullscreen = false\n\n\t/**\n\t * Get all navigation bar items from the slot\n\t */\n\tprivate getItems(): SchmancyNavigationBarItem[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null\n\t\tif (!slot) return []\n\t\treturn slot.assignedElements({ flatten: true })\n\t\t\t.filter((el): el is SchmancyNavigationBarItem =>\n\t\t\t\tel.tagName.toLowerCase() === 'schmancy-navigation-bar-item'\n\t\t\t)\n\t}\n\n\t/**\n\t * Minimum scroll threshold before triggering hide/show\n\t */\n\tprivate readonly SCROLL_THRESHOLD = 10\n\n\t/**\n\t * Media query for mobile detection\n\t */\n\tprivate mobileMediaQuery: MediaQueryList | null = null\n\n\t/**\n\t * Subject to track visibility state changes\n\t */\n\tprivate visibility$ = new Subject<boolean>()\n\n\t/**\n\t * Check if on mobile viewport\n\t */\n\tprivate isMobileViewport(): boolean {\n\t\treturn this.mobileMediaQuery?.matches ?? false\n\t}\n\n\t/**\n\t * Update bottom offset for schmancy-page/fullHeight consumers\n\t */\n\tprivate updateBottomOffset() {\n\t\tconst shouldSetOffset = !this.isFullscreen && this.isMobileViewport()\n\t\ttheme.setBottomOffset(shouldSetOffset ? NAV_BAR_HEIGHT : 0)\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set up mobile media query\n\t\tthis.mobileMediaQuery = window.matchMedia(MOBILE_BREAKPOINT)\n\n\t\t// Listen to viewport changes\n\t\tfromEvent<MediaQueryListEvent>(this.mobileMediaQuery, 'change').pipe(\n\t\t\ttap(() => this.updateBottomOffset()),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to fullscreen observable\n\t\ttheme.fullscreen$.pipe(\n\t\t\ttap(isFullscreen => {\n\t\t\t\tthis.isFullscreen = isFullscreen\n\t\t\t\tthis.visibility$.next(!this.isFullscreen && !this.isHiddenByScroll)\n\t\t\t\tthis.updateBottomOffset()\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Initial offset update\n\t\tthis.updateBottomOffset()\n\n\t\t// Listen to bar-item-click events using RxJS\n\t\tfromEvent(this, 'bar-item-click').pipe(\n\t\t\ttap((event: Event) => this.handleItemClick(event as CustomEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Listen to keydown events using RxJS\n\t\tfromEvent(this, 'keydown').pipe(\n\t\t\ttap((event: Event) => this.handleKeyDown(event as KeyboardEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to active index changes\n\t\tthis.activeIndex$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(index => {\n\t\t\tthis.updateActiveStates(index)\n\t\t})\n\n\t\t// Set up scroll listener if hideOnScroll is enabled\n\t\tif (this.hideOnScroll) {\n\t\t\tthis.setupScrollListener()\n\t\t}\n\n\t\tthis.updateItems()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Clear offset when nav bar is removed\n\t\ttheme.setBottomOffset(0)\n\t\tthis.mobileMediaQuery = null\n\t}\n\n\t/**\n\t * Set up RxJS-based scroll listener\n\t */\n\tprivate setupScrollListener() {\n\t\t// Create scroll observable\n\t\tfromEvent(window, 'scroll').pipe(\n\t\t\tthrottleTime(100), // Throttle for performance\n\t\t\tmap(() => window.scrollY),\n\t\t\tpairwise(), // Get pairs of [previous, current] scroll positions\n\t\t\tfilter(([prev, curr]) => Math.abs(curr - prev) > this.SCROLL_THRESHOLD), // Only react if scrolled enough\n\t\t\ttap(([prev, curr]) => {\n\t\t\t\tconst scrollingDown = curr > prev\n\t\t\t\tconst scrollingUp = curr < prev\n\t\t\t\tconst previousHiddenState = this.isHiddenByScroll\n\n\t\t\t\t// Hide when scrolling down, show when scrolling up\n\t\t\t\tif (scrollingDown && !this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = true\n\t\t\t\t} else if (scrollingUp && this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t\t// Always show when near top\n\t\t\t\tif (curr <= this.SCROLL_THRESHOLD) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t\t// Update visibility if scroll state changed\n\t\t\t\tif (previousHiddenState !== this.isHiddenByScroll) {\n\t\t\t\t\tthis.visibility$.next(!this.isHiddenByScroll && !this.isFullscreen)\n\t\t\t\t}\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\n\t/**\n\t * Handle item click events\n\t */\n\tprivate handleItemClick = (event: CustomEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst clickedItem = event.target as HTMLElement\n\t\tconst index = items.indexOf(clickedItem as any)\n\n\t\tif (index === -1) return\n\n\t\t// Clicking the already-active item toggles the sidebar\n\t\tif (this.activeIndex === index) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\tdetail: { state: 'toggle' },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t\treturn\n\t\t}\n\n\t\tconst oldIndex = this.activeIndex\n\t\t// Setting activeIndex will trigger the BehaviorSubject\n\t\tthis.activeIndex = index\n\n\t\t// Emit navigation change event\n\t\tthis.dispatchEvent(new CustomEvent('navigation-change', {\n\t\t\tdetail: {\n\t\t\t\toldIndex,\n\t\t\t\tnewIndex: index,\n\t\t\t\titem: clickedItem\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\t/**\n\t * Handle keyboard navigation\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst currentIndex = this.focusedIndex === -1 ? this.activeIndex : this.focusedIndex\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex > 0) {\n\t\t\t\t\tthis.focusItem(currentIndex - 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowRight':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex < items.length - 1) {\n\t\t\t\t\tthis.focusItem(currentIndex + 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'Home':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(0)\n\t\t\t\tbreak\n\n\t\t\tcase 'End':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(items.length - 1)\n\t\t\t\tbreak\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (this.focusedIndex !== -1) {\n\t\t\t\t\tconst item = items[this.focusedIndex] as any\n\t\t\t\t\titem?.click()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Focus a specific item by index\n\t */\n\tprivate focusItem(index: number) {\n\t\tconst items = this.getItems()\n\t\tif (items[index]) {\n\t\t\tthis.focusedIndex = index\n\t\t\t;(items[index] as HTMLElement).focus()\n\t\t}\n\t}\n\n\t/**\n\t * Update the list of navigation items\n\t */\n\tprivate updateItems() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (slot) {\n\t\t\tconst handleSlotChange = () => {\n\t\t\t\t// Update active states when slot content changes\n\t\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t\t}\n\t\t\tslot.addEventListener('slotchange', handleSlotChange)\n\t\t\thandleSlotChange() // Initial update\n\t\t}\n\t}\n\n\n\t/**\n\t * Add a boat item to the navigation bar\n\t * @param config Configuration for the boat item\n\t * @returns The created or existing navigation bar item element\n\t */\n\tpublic addBoatItem(config: { id: string; title: string; icon?: string }) {\n\t\t// Check if item already exists\n\t\tconst existingItem = this.querySelector(`[value=\"${config.id}\"]`) as HTMLElement\n\t\tif (existingItem) {\n\t\t\t// Item already exists, just return it\n\t\t\treturn existingItem\n\t\t}\n\n\t\t// Create new item\n\t\tconst item = document.createElement('schmancy-navigation-bar-item')\n\t\titem.setAttribute('value', config.id)\n\t\titem.innerHTML = `\n\t\t\t<schmancy-icon>${config.icon || 'widgets'}</schmancy-icon>\n\t\t\t<span>${config.title}</span>\n\t\t`\n\t\tthis.appendChild(item)\n\t\treturn item\n\t}\n\n\t/**\n\t * Update active states on all items\n\t */\n\tprivate updateActiveStates(activeIndex: number) {\n\t\tconst items = this.getItems()\n\t\titems.forEach((item, index) => {\n\t\t\tconst navItem = item as any\n\t\t\t// Use setActive method to trigger item's reactive update\n\t\t\tif (navItem.setActive) {\n\t\t\t\tnavItem.setActive(index === activeIndex)\n\t\t\t} else {\n\t\t\t\t// Fallback for backward compatibility\n\t\t\t\tnavItem.active = index === activeIndex\n\t\t\t}\n\t\t\tnavItem.hideLabels = this.hideLabels\n\t\t\t// Set tabindex for accessibility\n\t\t\t;(item as HTMLElement).tabIndex = index === activeIndex ? 0 : -1\n\t\t})\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('hideLabels')) {\n\t\t\t// Only update hide labels, active state is handled by the BehaviorSubject\n\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t}\n\n\t\tif (changedProperties.has('hideOnScroll')) {\n\t\t\tif (this.hideOnScroll && !changedProperties.get('hideOnScroll')) {\n\t\t\t\t// hideOnScroll was just enabled\n\t\t\t\tthis.setupScrollListener()\n\t\t\t} else if (!this.hideOnScroll) {\n\t\t\t\t// hideOnScroll was disabled, reset hidden state\n\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t// Update visibility since we're now visible\n\t\t\t\tthis.visibility$.next(!this.isFullscreen)\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected render() {\n\t\t// Determine if the bar should be visually hidden\n\t\tconst isVisuallyHidden = this.isFullscreen || this.isHiddenByScroll\n\n\t\tconst containerClasses = {\n\t\t\t'h-20': true, // 80px height\n\t\t\t'flex items-center justify-around': true,\n\t\t\t'px-2 py-3 box-border': true,\n\t\t\t'transition-all duration-300 ease-in-out': true,\n\t\t\t'z-10': true, // Consistent with navigation-rail z-index\n\t\t\t// Elevation shadows\n\t\t\t'shadow-none': this.elevation === 0,\n\t\t\t'shadow-sm': this.elevation === 1,\n\t\t\t'shadow-md': this.elevation === 2,\n\t\t\t'shadow-lg': this.elevation === 3,\n\t\t\t'shadow-xl': this.elevation === 4,\n\t\t\t'shadow-2xl': this.elevation === 5,\n\t\t}\n\n\t\t// Apply transform for hide/show animation\n\t\tconst transformStyle = isVisuallyHidden ? 'translateY(100%)' : 'translateY(0)'\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\trole=\"navigation\"\n\t\t\t\taria-label=\"Main navigation\"\n\t\t\t\taria-hidden=${isVisuallyHidden}\n\t\t\t\tstyle=\"transform: ${transformStyle};\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar': SchmancyNavigationBar\n\t}\n}","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\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\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\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\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\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\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\n\n/**\n * M3 avatar sizes: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n * - xxs: Ultra-compact (20px) - for menu cards\n * - xs: 24px - M3 compact\n * - sm: 32px - M3 small\n * - md: 40px - M3 medium (default)\n * - lg: 48px - M3 large\n * - xl: 64px - M3 extra large\n */\nexport type AvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\nexport type AvatarColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'error' | 'neutral'\nexport type AvatarShape = 'circle' | 'square'\nexport type AvatarStatus = 'online' | 'offline' | 'busy' | 'away' | 'none'\n\n/**\n * A customizable avatar component that displays initials or an icon\n * Designed to match the Schmancy design system\n *\n * @element schmancy-avatar\n *\n * @property {string} initials - Text initials to display (limited to 2 characters)\n * @property {string} src - URL of an image to display\n * @property {string} icon - Name of an icon to display\n * @property {AvatarSize} size - Size of the avatar (xs, sm, md, lg, xl)\n * @property {AvatarColor} color - Color theme of the avatar\n * @property {AvatarShape} shape - Shape of the avatar (circle or square)\n * @property {boolean} bordered - Whether to add a border around the avatar\n * @property {AvatarStatus} status - Optional status indicator to display\n *\n * @example\n * <schmancy-avatar\n * initials=\"JD\"\n * size=\"md\"\n * color=\"primary\"\n * ></schmancy-avatar>\n */\n@customElement('schmancy-avatar')\nexport class SchmancyAvatar extends $LitElement() {\n\t@property({ type: String }) initials: string = ''\n\t@property({ type: String }) src: string = ''\n\t@property({ type: String }) icon: string = ''\n\t@property({ type: String }) size: AvatarSize = 'md'\n\t@property({ type: String }) color: AvatarColor = 'primary'\n\t@property({ type: String }) shape: AvatarShape = 'circle'\n\t@property({ type: Boolean }) bordered: boolean = false\n\t@property({ type: String }) status: AvatarStatus = 'none'\n\n\trender() {\n\t\t// Determine content to display (image, initials, or icon)\n\t\tlet content\n\t\tif (this.src) {\n\t\t\tcontent = html`<img class=\"w-full h-full object-cover\" src=\"${this.src}\" alt=\"Avatar\" />`\n\t\t} else if (this.initials) {\n\t\t\tcontent = html`<span class=\"text-center font-medium\">${this.initials.substring(0, 2).toUpperCase()}</span>`\n\t\t} else if (this.icon) {\n\t\t\tcontent = html`<schmancy-icon>${this.icon}</schmancy-icon>`\n\t\t} else {\n\t\t\tcontent = html`<schmancy-icon>person</schmancy-icon>`\n\t\t}\n\n\t\t// Size classes - M3 aligned: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n\t\tconst sizeClasses = {\n\t\t\txxs: 'w-5 h-5 text-[8px]', // 20px - Ultra-compact\n\t\t\txs: 'w-6 h-6 text-xs', // 24px - M3 compact\n\t\t\tsm: 'w-8 h-8 text-sm', // 32px - M3 small\n\t\t\tmd: 'w-10 h-10 text-base', // 40px - M3 medium (default)\n\t\t\tlg: 'w-12 h-12 text-lg', // 48px - M3 large\n\t\t\txl: 'w-16 h-16 text-xl', // 64px - M3 extra large\n\t\t}\n\n\t\t// Shape classes\n\t\tconst shapeClasses = {\n\t\t\tcircle: 'rounded-full',\n\t\t\tsquare: 'rounded-md',\n\t\t}\n\n\t\t// Combine classes\n\t\tconst avatarClasses = {\n\t\t\t'relative flex items-center justify-center overflow-hidden': true,\n\t\t\t[sizeClasses[this.size]]: true,\n\t\t\t[shapeClasses[this.shape]]: true,\n\t\t\t'border-2 border-surface-container': this.bordered,\n\t\t}\n\n\t\t// Get theme colors\n\t\tconst colorAttrs = this.getColorAttributes()\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(avatarClasses)}\" ${colorAttrs}>\n\t\t\t\t${content} ${this.status !== 'none' ? this.renderStatusIndicator() : ''}\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate getColorAttributes() {\n\t\tconst colorMap = {\n\t\t\tprimary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.primary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.tertiary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.success.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.success.onContainer,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.error.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.error.onContainer,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t},\n\t\t}\n\n\t\treturn color(colorMap[this.color])\n\t}\n\n\tprivate renderStatusIndicator() {\n\t\tconst statusColors = {\n\t\t\tonline: SchmancyTheme.sys.color.success.default,\n\t\t\toffline: SchmancyTheme.sys.color.surface.onVariant,\n\t\t\tbusy: SchmancyTheme.sys.color.error.default,\n\t\t\taway: SchmancyTheme.sys.color.tertiary.default,\n\t\t}\n\n\t\tconst sizeMap = {\n\t\t\txxs: 'w-1 h-1',\n\t\t\txs: 'w-1.5 h-1.5',\n\t\t\tsm: 'w-2 h-2',\n\t\t\tmd: 'w-2.5 h-2.5',\n\t\t\tlg: 'w-3 h-3',\n\t\t\txl: 'w-4 h-4',\n\t\t}\n\n\t\tconst statusClasses = {\n\t\t\t'absolute bottom-0 right-0 rounded-full border-2 border-surface-default': true,\n\t\t\t[sizeMap[this.size]]: true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(statusClasses)}\" style=\"background-color: ${statusColors[this.status]};\"></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-avatar': SchmancyAvatar\n\t}\n}\n"],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-DSuEu-y3.cjs`),t=require(`./provide-CDkxgjHb.cjs`),n=require(`./litElement.mixin-BG6_-nYX.cjs`);require(`./mixins.cjs`);const r=require(`./area-wnWUAHEn.cjs`);require(`./store-CorvD3bT.cjs`),require(`./audio-DtYYgzYD.cjs`),require(`./autocomplete-B2Z3WK_7.cjs`);const i=require(`./theme.service-C_tjlqgy.cjs`),a=require(`./directives.cjs`);require(`./boat-B57_4TzJ.cjs`),require(`./busy--6oimtop.cjs`),require(`./button.cjs`),require(`./card-BGJ0Hb1O.cjs`),require(`./charts.cjs`),require(`./checkbox-DuYaKoDZ.cjs`),require(`./chips-BpA0A-qr.cjs`),require(`./code-highlight-DsBdSQBG.cjs`),require(`./components-dDI3xeIf.cjs`),require(`./connectivity.cjs`),require(`./date-range-70zhLUKE.cjs`);const o=require(`./sheet.service-DPAp7E3x.cjs`);require(`./date-range-inline-CPzD-tIv.cjs`),require(`./delay-COcAkBqB.cjs`),require(`./details-DgWkPqmt.cjs`),require(`./dialog.cjs`),require(`./discovery.cjs`),require(`./divider-BghtrMbn.cjs`),require(`./dropdown.cjs`),require(`./expand-XyDE5SsO.cjs`),require(`./float-DBv1FINW.cjs`),require(`./window.cjs`),require(`./extra-CsrRKKqE.cjs`),require(`./form-D0bIeDWT.cjs`),require(`./icons-D8w_20mO.cjs`),require(`./iframe-BjwxA2Pg.cjs`),require(`./input-BwxwognS.cjs`),require(`./notification-BjwTfLAl.cjs`),require(`./json.cjs`),require(`./layout-BV0EeyUS.cjs`),require(`./lightbox-CpNMZHZW.cjs`),require(`./list-CyHd0Zc2.cjs`),require(`./mailbox-C5eYTd7p.cjs`),require(`./map-BncheFt5.cjs`),require(`./menu-yXzwJZFf.cjs`),require(`./navigation-rail.cjs`),require(`./option-BJsD3u2D.cjs`),require(`./page.cjs`),require(`./progress.cjs`),require(`./qr-scanner.cjs`),require(`./radio-group-rhrvhB5X.cjs`),require(`./range.cjs`),require(`./rxjs-utils-DCsfzeap.cjs`);const s=require(`./theme.interface-Da23QAYb.cjs`);require(`./select-DXU2kzg4.cjs`),require(`./sheet-CeX6BbNp.cjs`),require(`./slider.cjs`),require(`./steps.cjs`),require(`./surface.cjs`),require(`./table-C9rRQJEB.cjs`),require(`./tabs-soTL-x4G.cjs`),require(`./textarea-DaRUJ0ri.cjs`),require(`./theme-ZYH2MqX9.cjs`),require(`./theme-button-Dvqg-rE_.cjs`),require(`./tooltip.cjs`),require(`./tree.cjs`);const c=require(`./types.cjs`);require(`./typewriter-Cf9f2bdx.cjs`),require(`./typography.cjs`),require(`./utils-BcaKtQuA.cjs`);let l=require(`rxjs`),u=require(`rxjs/operators`),d=require(`lit/decorators.js`),f=require(`lit`),p=require(`lit/directives/when.js`);var m=class extends e.t(f.css`
2
+ :host {
3
+ display: inline-flex;
4
+ width: fit-content;
5
+ }
6
+
7
+ /* Enhanced pulse animation for better attention-getting */
8
+ @keyframes elegant-pulse {
9
+ 0%, 100% {
10
+ opacity: 1;
11
+ }
12
+ 50% {
13
+ opacity: 0.85;
14
+ }
15
+ }
16
+
17
+ .animate-pulse {
18
+ animation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
19
+ }
20
+ `){constructor(...e){super(...e),this.color=`primary`,this.size=`md`,this.shape=`pill`,this.outlined=!1,this.icon=``,this.pulse=!1}getSizeClasses(){switch(this.size){case`xs`:return`text-xs py-0.75 px-1.5 gap-0.5 leading-none`;case`sm`:return`text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none`;case`lg`:return`text-base py-2 px-4 gap-1 tracking-wide`;default:return`text-sm py-1.5 px-3 gap-0.5`}}getShapeClasses(){switch(this.shape){case`square`:return`rounded`;case`rounded`:return`rounded-md`;default:return`rounded-full`}}getIconSize(){switch(this.size){case`xs`:return`11px`;case`sm`:return`13px`;case`lg`:return`18px`;default:return`15px`}}getExoticStyles(){let e={};return this.size===`lg`&&(e.letterSpacing=`0.03em`,e.fontWeight=`500`),this.size===`sm`&&(e.letterSpacing=`0.02em`),e}getColorStyles(){return{primary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.primary.container} 92%, ${s.t.sys.color.primary.default} 8%)`,text:this.outlined?s.t.sys.color.primary.default:s.t.sys.color.primary.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.primary.default} 90%, ${s.t.sys.color.surface.highest} 10%)`:void 0},secondary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.secondary.container} 95%, ${s.t.sys.color.secondary.default} 5%)`,text:this.outlined?s.t.sys.color.secondary.default:s.t.sys.color.secondary.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.secondary.default} 85%, ${s.t.sys.color.surface.highest} 15%)`:void 0},tertiary:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.tertiary.container} 94%, ${s.t.sys.color.tertiary.default} 6%)`,text:this.outlined?s.t.sys.color.tertiary.default:s.t.sys.color.tertiary.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.tertiary.default} 88%, ${s.t.sys.color.surface.highest} 12%)`:void 0},success:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.success.container} 90%, ${s.t.sys.color.success.default} 10%)`,text:this.outlined?s.t.sys.color.success.default:s.t.sys.color.success.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.success.default} 85%, ${s.t.sys.color.surface.bright} 15%)`:void 0},warning:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.tertiary.container} 85%, ${s.t.sys.color.tertiary.default} 15%)`,text:this.outlined?s.t.sys.color.tertiary.default:s.t.sys.color.tertiary.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.tertiary.default} 90%, ${s.t.sys.color.surface.highest} 10%)`:void 0},error:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.error.container} 92%, ${s.t.sys.color.error.default} 8%)`,text:this.outlined?s.t.sys.color.error.default:s.t.sys.color.error.onContainer,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.error.default} 88%, ${s.t.sys.color.surface.bright} 12%)`:void 0},neutral:{bg:this.outlined?`transparent`:`color-mix(in srgb, ${s.t.sys.color.surface.high} 95%, ${s.t.sys.color.outline} 5%)`,text:this.outlined?`color-mix(in srgb, ${s.t.sys.color.surface.on} 95%, ${s.t.sys.color.surface.default} 5%)`:s.t.sys.color.surface.on,border:this.outlined?`color-mix(in srgb, ${s.t.sys.color.outline} 85%, ${s.t.sys.color.surface.highest} 15%)`:void 0},surface:{bg:this.outlined?`transparent`:s.t.sys.color.surface.high,text:s.t.sys.color.surface.on,border:this.outlined?s.t.sys.color.outline:void 0}}[this.color]}render(){let e=this.getSizeClasses(),t=this.getShapeClasses(),n=this.getColorStyles(),r=this.getIconSize(),i=this.getExoticStyles(),o={"inline-flex items-center justify-center font-medium":!0,"transition-all duration-200 ease-in-out":!0,[e]:!0,[t]:!0,"animate-pulse":this.pulse,"border border-solid":this.outlined,"shadow-sm":!this.outlined&&this.size===`sm`,shadow:!this.outlined&&this.size===`md`,"shadow-md":!this.outlined&&this.size===`lg`,"hover:brightness-95 hover:-translate-y-px":this.outlined,"hover:brightness-[0.98]":!this.outlined},s={borderColor:n.border,backdropFilter:this.outlined?`blur(4px)`:void 0,boxShadow:this.size!==`lg`||this.outlined?void 0:`0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)`,...i};return f.html`
21
+ <div
22
+ part="badge"
23
+ class="${this.classMap(o)}"
24
+ style="${this.styleMap(s)}"
25
+ ${a.color({bgColor:n.bg,color:n.text})}
26
+ >
27
+ <!-- Icon slot or named icon -->
28
+ <slot name="icon">
29
+ ${this.icon?f.html`
30
+ <div part="icon" class="shrink-0 flex items-center justify-center leading-none">
31
+ <schmancy-icon .size=${r} class="flex items-center justify-center">${this.icon}</schmancy-icon>
32
+ </div>
33
+ `:``}
34
+ </slot>
35
+
36
+ <!-- Content with proper spacing from icon -->
37
+ <div part="content" class="flex items-center leading-none tracking-[0.01em] ${this.icon?`ml-[0.38em]`:``}">
38
+ <slot></slot>
39
+ </div>
40
+ </div>
41
+ `}};e.i([(0,d.property)({type:String,reflect:!0})],m.prototype,`color`,void 0),e.i([(0,d.property)({type:String,reflect:!0})],m.prototype,`size`,void 0),e.i([(0,d.property)({type:String,reflect:!0})],m.prototype,`shape`,void 0),e.i([(0,d.property)({type:Boolean,reflect:!0})],m.prototype,`outlined`,void 0),e.i([(0,d.property)({type:String})],m.prototype,`icon`,void 0),e.i([(0,d.property)({type:Boolean,reflect:!0})],m.prototype,`pulse`,void 0),m=e.i([(0,d.customElement)(`schmancy-badge`)],m);var h=class extends m{};h=e.i([(0,d.customElement)(`sch-badge`)],h);var g=new class{constructor(){this.$drawer=new l.Subject,this.pushCounter=0,this.isDismissing$=new l.BehaviorSubject(!1),this.$drawer.pipe((0,l.concatMap)(e=>{switch(e.action){case`dismiss`:return(0,l.of)(e).pipe((0,l.tap)(()=>{this.isDismissing$.next(!0),this.dispatchToggleEvent(e.ref,`close`)}),(0,l.delay)(300),(0,l.tap)(()=>this.isDismissing$.next(!1)));case`render`:return(0,l.of)(e).pipe((0,l.tap)(()=>{this.dispatchToggleEvent(e.ref,`open`),this.dispatchRenderEvent(e.ref,e.component,e.title)}));case`push`:return(0,l.of)(e).pipe((0,l.tap)(()=>this.handlePush(e.ref,e.component,e.state,e.params,e.props)));default:return(0,l.of)(null)}})).subscribe()}dispatchToggleEvent(e,t){e.dispatchEvent(new CustomEvent(c.SchmancyEvents.ContentDrawerToggle,{detail:{state:t},bubbles:!0,composed:!0}))}dispatchRenderEvent(e,t,n,r,i,a){e.dispatchEvent(new CustomEvent(`schmancy-content-drawer-render`,{detail:{component:t,title:n,state:r,params:i,props:a},bubbles:!0,composed:!0}))}dimiss(e){this.$drawer.next({action:`dismiss`,ref:e})}render(e,t,n){e.dispatchEvent(new CustomEvent(`custom-event`)),this.$drawer.next({action:`render`,ref:e,component:t,title:n})}handlePush(e,t,n,r,i){let a={...n,_drawerPushId:++this.pushCounter};this.dispatchToggleEvent(e,`open`),this.dispatchRenderEvent(e,t,void 0,a,r,i)}push(e){this.$drawer.next({action:`push`,ref:window,...e})}},_=e.s(`push`),v=e.s(`close`),y=e.s(Math.floor(Math.random()*Date.now()).toString()),b=e.s(`100%`),x=e.s({}),S=class extends n.t(f.css`
42
+ :host {
43
+ position: relative;
44
+ inset: 0;
45
+ display: block;
46
+ overflow: hidden;
47
+ }
48
+ `){constructor(...e){super(...e),this.minWidth={main:360,sheet:576},this.schmancyContentDrawerID=Math.floor(Math.random()*Date.now()).toString(),this.maxHeight=`100%`}firstUpdated(){this.setupResizeListener(),this.setupToggleListener(),this.setupRenderListener()}setupResizeListener(){(0,l.merge)((0,l.fromEvent)(window,`resize`),(0,l.fromEvent)(window,c.SchmancyEvents.ContentDrawerResize)).pipe((0,l.startWith)(!0),(0,l.debounceTime)(100),(0,l.map)(()=>this.clientWidth||window.innerWidth),(0,l.map)(e=>e>=this.minWidth.main+this.minWidth.sheet),(0,l.distinctUntilChanged)(),(0,l.tap)(()=>this.updateMaxHeight()),(0,l.takeUntil)(this.disconnecting)).subscribe(e=>this.updateMode(e))}setupToggleListener(){(0,l.fromEvent)(window,c.SchmancyEvents.ContentDrawerToggle).pipe((0,l.tap)(e=>e.stopPropagation()),(0,l.map)(e=>e.detail.state),(0,l.takeUntil)(this.disconnecting)).subscribe(e=>{this.open=e})}setupRenderListener(){(0,l.fromEvent)(window,`schmancy-content-drawer-render`).pipe((0,l.tap)(e=>e.stopPropagation()),(0,l.map)(e=>e.detail),(0,l.takeUntil)(this.disconnecting)).subscribe(e=>this.handleRender(e))}updateMaxHeight(){this.maxHeight=window.innerHeight-this.getOffsetTop(this)+`px`,this.style.setProperty(`max-height`,this.maxHeight)}updateMode(e){e?(this.mode=`push`,this.open=`open`):(this.mode=`overlay`,this.open=`close`)}handleRender(e){this.mode===`push`?r.C.push({area:this.schmancyContentDrawerID,component:e.component,historyStrategy:`silent`,state:e.state,params:e.params,props:e.props}):this.mode===`overlay`&&o.n.open({component:e.component,uid:this.schmancyContentDrawerID,props:e.props})}getOffsetTop(e){let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t}render(){return this.mode&&this.open?f.html`
49
+ <div class=${[`grid h-full`,`grid-flow-col auto-cols-max`,`grid-rows-[1fr]`,`justify-items-stretch items-stretch`,this.mode===`overlay`?`grid-cols-[1fr]`:`grid-cols-[auto_1fr]`].join(` `)}>
50
+ <slot></slot>
51
+ </div>
52
+ `:f.nothing}};e.i([t.t({context:x})],S.prototype,`minWidth`,void 0),e.i([t.t({context:v}),(0,d.property)()],S.prototype,`open`,void 0),e.i([t.t({context:_}),(0,d.state)()],S.prototype,`mode`,void 0),e.i([t.t({context:y})],S.prototype,`schmancyContentDrawerID`,void 0),e.i([t.t({context:b})],S.prototype,`maxHeight`,void 0),e.i([(0,d.queryAssignedElements)({flatten:!0})],S.prototype,`assignedElements`,void 0),S=e.i([(0,d.customElement)(`schmancy-content-drawer`)],S);var C=class extends n.t(f.css`
53
+ :host {
54
+ display: block;
55
+ overflow: hidden;
56
+ }
57
+ `){connectedCallback(){super.connectedCallback(),this.minWidth?this.drawerMinWidth.main=this.minWidth:this.minWidth=this.drawerMinWidth.main}update(e){super.update(e),e.has(`minWidth`)&&this.minWidth&&(this.drawerMinWidth.main=this.minWidth,this.dispatchEvent(new CustomEvent(c.SchmancyEvents.ContentDrawerResize,{bubbles:!0,composed:!0})))}render(){let e={minWidth:`${this.minWidth}px`,maxHeight:this.maxHeight};return f.html`
58
+ <section class="relative inset-0 h-full">
59
+ <div class=${[`grid h-full relative overflow-scroll`,`grid-flow-col auto-cols-max`,`grid-rows-[1fr]`,`items-stretch justify-items-stretch`,this.mode===`push`?`grid-cols-[auto_1fr]`:`grid-cols-[1fr]`].join(` `)}>
60
+ <section style=${this.styleMap(e)}>
61
+ <slot></slot>
62
+ </section>
63
+ </div>
64
+ ${(0,p.when)(this.mode===`push`,()=>f.html` <schmancy-divider class="absolute right-0 top-0" orientation="vertical"></schmancy-divider>`)}
65
+ </section>
66
+ `}};e.i([(0,d.property)({type:Number})],C.prototype,`minWidth`,void 0),e.i([e.o({context:x,subscribe:!0})],C.prototype,`drawerMinWidth`,void 0),e.i([e.o({context:_,subscribe:!0}),(0,d.state)()],C.prototype,`mode`,void 0),e.i([e.o({context:b,subscribe:!0}),(0,d.state)()],C.prototype,`maxHeight`,void 0),C=e.i([(0,d.customElement)(`schmancy-content-drawer-main`)],C);var w=class extends n.t(f.css`
67
+ :host {
68
+ overflow: scroll;
69
+ }
70
+ `){connectedCallback(){super.connectedCallback(),this.minWidth?this.drawerMinWidth.sheet=this.minWidth:this.minWidth=this.drawerMinWidth.sheet}updated(e){super.updated(e),e.has(`minWidth`)&&this.minWidth?(this.drawerMinWidth.sheet=this.minWidth,this.dispatchEvent(new CustomEvent(c.SchmancyEvents.ContentDrawerResize,{bubbles:!0,composed:!0}))):(e.has(`state`)||e.has(`mode`))&&(this.mode===`overlay`?this.state===`close`?this.closeAll():this.state:this.mode===`push`&&(o.n.dismiss(this.schmancyContentDrawerID),this.state===`close`?this.closeAll():this.state===`open`&&this.open()))}open(){this.mode===`overlay`?this.sheet.style.position=`fixed`:this.sheet.style.position=`relative`,this.sheet.style.display=`block`,this.sheet.animate([{opacity:0,transform:`translateX(100%)`},{opacity:1,transform:`translateX(0%)`}],{duration:250,easing:`cubic-bezier(0.5, 0.01, 0.25, 1)`})}closeAll(){(0,l.merge)((0,l.from)(this.closeModalSheet()),(0,l.from)(this.closeSheet())).pipe((0,l.takeUntil)(this.disconnecting)).subscribe()}closeModalSheet(){return(0,l.of)(!0).pipe((0,l.tap)(()=>o.n.dismiss(this.schmancyContentDrawerID)))}closeSheet(){return new l.Observable(e=>{this.sheet.animate([{opacity:1,transform:`translateX(0%)`},{opacity:1,transform:`translateX(100%)`}],{duration:250,easing:`cubic-bezier(0.5, 0.01, 0.25, 1)`}).onfinish=()=>{this.sheet.style.display=`none`,e.next(),e.complete()}})}render(){let e={"block h-full w-full":this.mode===`push`,"absolute z-50":this.mode===`overlay`,"opacity-1":this.mode===`overlay`&&this.state===`open`},t={minWidth:`${this.minWidth}px`,maxHeight:this.maxHeight};return f.html`
71
+ <section id="sheet" class="${this.classMap(e)}" style=${this.styleMap(t)}>
72
+ <schmancy-area class="h-full w-full" name="${this.schmancyContentDrawerID}">
73
+ <slot name="placeholder"></slot>
74
+ </schmancy-area>
75
+ </section>
76
+ `}};e.i([(0,d.property)({type:Number})],w.prototype,`minWidth`,void 0),e.i([e.o({context:_,subscribe:!0}),(0,d.state)()],w.prototype,`mode`,void 0),e.i([e.o({context:v,subscribe:!0}),(0,d.state)()],w.prototype,`state`,void 0),e.i([e.o({context:y})],w.prototype,`schmancyContentDrawerID`,void 0),e.i([(0,d.query)(`#sheet`)],w.prototype,`sheet`,void 0),e.i([(0,d.queryAssignedElements)({flatten:!0,slot:void 0})],w.prototype,`defaultSlot`,void 0),e.i([e.o({context:x,subscribe:!0})],w.prototype,`drawerMinWidth`,void 0),e.i([e.o({context:b,subscribe:!0}),(0,d.state)()],w.prototype,`maxHeight`,void 0),w=e.i([(0,d.customElement)(`schmancy-content-drawer-sheet`)],w);var T=new class{constructor(){this.$drawer=new l.Subject,this.$drawer.pipe((0,l.debounceTime)(10)).subscribe(e=>{e.state?window.dispatchEvent(new CustomEvent(c.SchmancyEvents.NavDrawer_toggle,{detail:{state:`open`},bubbles:!0,composed:!0})):window.dispatchEvent(new CustomEvent(c.SchmancyEvents.NavDrawer_toggle,{detail:{state:`close`},bubbles:!0,composed:!0}))})}open(e){this.$drawer.next({self:e,state:!0})}close(e){this.$drawer.next({self:e,state:!1})}},E=T,D=class extends e.t(f.css`
77
+ :host {
78
+ display: block;
79
+ width: 100%;
80
+ min-width: 0;
81
+ }
82
+ `){render(){return f.html`<slot></slot>`}};D=e.i([(0,d.customElement)(`schmancy-nav-drawer-appbar`)],D);var O=class extends n.t(f.css`
83
+ :host {
84
+ display: block;
85
+ position: relative;
86
+ inset: 0;
87
+ overflow-y: auto;
88
+ }
89
+ `){connectedCallback(){super.connectedCallback(),(0,l.fromEvent)(this,`scroll`).pipe((0,l.takeUntil)(this.disconnecting)).subscribe(e=>{this.parentElement.dispatchEvent(new CustomEvent(`scroll`,{detail:e,bubbles:!0,composed:!0}))})}render(){return f.html` <slot></slot> `}};O=e.i([(0,d.customElement)(`schmancy-nav-drawer-content`)],O);var k,A=e.s(`push`),j=e.s(`close`),M=class extends n.t(f.css`
90
+ :host {
91
+ display: grid;
92
+ grid-template-columns: auto 1fr;
93
+ grid-template-rows: 1fr;
94
+ flex-grow: 1;
95
+ height: 100%;
96
+ overflow: hidden;
97
+ /* Initially hide the component until it's ready */
98
+ visibility: hidden;
99
+ }
100
+
101
+ :host([data-ready]) {
102
+ visibility: visible;
103
+ }
104
+
105
+ :host([fullscreen]) {
106
+ grid-template-columns: 1fr;
107
+ }
108
+ `){static{k=this}constructor(...e){super(...e),this.fullscreen=!1,this.breakpoint=`md`}static{this.BREAKPOINTS={sm:640,md:768,lg:1024,xl:1280}}firstUpdated(){this.updateState(window.innerWidth),this.setAttribute(`data-ready`,``),(0,l.fromEvent)(window,`resize`).pipe((0,l.map)(e=>e.target.innerWidth),(0,l.map)(e=>e>=k.BREAKPOINTS[this.breakpoint]),(0,l.distinctUntilChanged)(),(0,l.debounceTime)(100),(0,l.takeUntil)(this.disconnecting)).subscribe(e=>{e?(this.mode=`push`,this.open=`open`):(this.mode=`overlay`,this.open=`close`)}),(0,l.fromEvent)(window,`fullscreen`).pipe((0,l.tap)(e=>{let t=e;this.fullscreen=t.detail}),(0,l.takeUntil)(this.disconnecting)).subscribe(),(0,l.fromEvent)(window,c.SchmancyEvents.NavDrawer_toggle).pipe((0,l.tap)(e=>{e.stopPropagation()}),(0,l.map)(e=>e.detail.state),(0,l.takeUntil)(this.disconnecting),(0,l.debounceTime)(10)).subscribe(e=>{e===`toggle`&&(e=this.open===`open`?`close`:`open`),this.mode===`push`&&e===`close`||(this.open=e)})}updateState(e){let t=e>=k.BREAKPOINTS[this.breakpoint];this.mode=t?`push`:`overlay`,this.open=t?`open`:`close`}render(){return f.html`<slot></slot>`}};e.i([(0,d.property)({type:Boolean,reflect:!0})],M.prototype,`fullscreen`,void 0),e.i([(0,d.property)({type:String,attribute:`breakpoint`})],M.prototype,`breakpoint`,void 0),e.i([t.t({context:A}),(0,d.state)()],M.prototype,`mode`,void 0),e.i([t.t({context:j}),(0,d.property)()],M.prototype,`open`,void 0),M=k=e.i([(0,d.customElement)(`schmancy-nav-drawer`)],M);var N=`cubic-bezier(0.5, 0.01, 0.25, 1)`,P=class extends n.t(){constructor(...e){super(...e),this.width=`220px`,this._initialized=!1}firstUpdated(){this.mode===`overlay`?this.drawerState===`close`?(this.nav.style.transform=`translateX(-100%)`,this.overlay.style.display=`none`):this.drawerState===`open`&&(this.nav.style.transform=`translateX(0)`,this.overlay.style.display=`block`,this.overlay.style.opacity=`0.4`):this.mode===`push`&&(this.nav.style.transform=`translateX(0)`,this.overlay.style.display=`none`),this._initialized=!0}updated(e){this._initialized&&(e.has(`drawerState`)||e.has(`mode`))&&(this.mode===`overlay`?this.drawerState===`open`?this.nav.style.transform!==`translateX(0)`&&(this.openOverlay(),this.showNavDrawer()):this.drawerState===`close`&&this.nav.style.transform!==`translateX(-100%)`&&(this.hideNavDrawer(),this.closeOverlay()):this.mode===`push`&&(this.nav.style.transform!==`translateX(0)`&&this.showNavDrawer(),this.overlay.style.display!==`none`&&this.closeOverlay()))}openOverlay(){this.overlay.style.display=`block`,this.overlay.animate([{opacity:0},{opacity:.4}],{duration:200,easing:N,fill:`forwards`})}closeOverlay(){this.overlay.animate([{opacity:.4},{opacity:0}],{duration:150,easing:N,fill:`forwards`}).onfinish=()=>{this.overlay.style.display=`none`}}showNavDrawer(){this.nav.animate([{transform:`translateX(-100%)`},{transform:`translateX(0)`}],{duration:200,easing:N,fill:`forwards`}).onfinish=()=>{this.nav.style.transform=`translateX(0)`}}hideNavDrawer(){this.nav.animate([{transform:`translateX(0)`},{transform:`translateX(-100%)`}],{duration:200,easing:N,fill:`forwards`}).onfinish=()=>{this.nav.style.transform=`translateX(-100%)`}}handleOverlayClick(){window.dispatchEvent(new CustomEvent(c.SchmancyEvents.NavDrawer_toggle,{detail:{state:`close`},bubbles:!0,composed:!0}))}render(){let e={"max-w-[360px] w-fit h-full overflow-auto":!0,block:this.mode===`push`,"fixed inset-0 z-50":this.mode===`overlay`},t={width:this.width};return f.html`
109
+ <nav
110
+ style=${this.styleMap(t)}
111
+ class="${this.classMap({...e})}"
112
+ ${a.color({bgColor:s.t.sys.color.surface.containerLowest})}
113
+ >
114
+ <slot></slot>
115
+ </nav>
116
+ <div
117
+ id="overlay"
118
+ ${a.color({bgColor:s.t.sys.color.scrim})}
119
+ @click=${this.handleOverlayClick}
120
+ class="${this.classMap({"fixed inset-0 z-49 hidden":!0})}"
121
+ ></div>
122
+ `}};e.i([e.o({context:A,subscribe:!0}),(0,d.state)()],P.prototype,`mode`,void 0),e.i([e.o({context:j,subscribe:!0}),(0,d.state)()],P.prototype,`drawerState`,void 0),e.i([(0,d.query)(`#overlay`)],P.prototype,`overlay`,void 0),e.i([(0,d.query)(`nav`)],P.prototype,`nav`,void 0),e.i([(0,d.property)({type:String})],P.prototype,`width`,void 0),e.i([(0,d.state)()],P.prototype,`_initialized`,void 0),P=e.i([(0,d.customElement)(`schmancy-nav-drawer-navbar`)],P);var F=class extends e.t(f.css`
123
+ :host {
124
+ display: flex;
125
+ flex: 1;
126
+ min-width: 48px;
127
+ max-width: 168px;
128
+ user-select: none;
129
+ -webkit-tap-highlight-color: transparent;
130
+ }
131
+
132
+ :host([disabled]) {
133
+ pointer-events: none;
134
+ }
135
+
136
+ button {
137
+ font-family: inherit;
138
+ border: none;
139
+ background: none;
140
+ width: 100%;
141
+ padding: 0;
142
+ margin: 0;
143
+ text-align: center;
144
+ color: inherit;
145
+ }
146
+
147
+ button:focus {
148
+ outline: none;
149
+ }
150
+
151
+ button:focus-visible {
152
+ outline: 2px solid var(--focus-color);
153
+ outline-offset: 2px;
154
+ border-radius: 8px;
155
+ }
156
+
157
+ /* Ripple animation */
158
+ @keyframes ripple {
159
+ to {
160
+ transform: scale(4);
161
+ opacity: 0;
162
+ }
163
+ }
164
+
165
+ .ripple-effect {
166
+ position: absolute;
167
+ border-radius: 50%;
168
+ width: 20px;
169
+ height: 20px;
170
+ background-color: currentColor;
171
+ opacity: 0.25;
172
+ animation: ripple 0.6s ease-out;
173
+ pointer-events: none;
174
+ }
175
+ `){constructor(...e){super(...e),this.icon=``,this.label=``,this.badge=``,this.active$=new l.BehaviorSubject(!1),this.disabled=!1,this.hideLabels=!1,this.ripples=[],this.addRippleEffect=e=>{if(this.disabled)return;let t=this.shadowRoot?.querySelector(`.w-16.h-8`);if(t){let n=t.getBoundingClientRect(),r={x:e.clientX-n.left,y:e.clientY-n.top,id:Date.now()};this.ripples=[...this.ripples,r],(0,l.timer)(600).pipe((0,u.tap)(()=>{this.ripples=this.ripples.filter(e=>e.id!==r.id)}),(0,u.takeUntil)(this.disconnecting)).subscribe()}},this.handleClick=e=>{if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.addRippleEffect(e)},this.handleKeyDown=e=>{this.disabled||e.key!==`Enter`&&e.key!==` `||e.preventDefault()}}get active(){return this.active$.value}set active(e){this.active$.next(e)}setActive(e){this.active=e}connectedCallback(){super.connectedCallback(),this.active$.pipe((0,u.takeUntil)(this.disconnecting)).subscribe(()=>{this.requestUpdate()}),this.setupNavigationStream()}setupNavigationStream(){let e=this.shadowRoot?.querySelector(`button`);e&&(0,l.merge)((0,l.fromEvent)(e,`click`).pipe((0,u.filter)(()=>!this.disabled)),(0,l.fromEvent)(e,`keydown`).pipe((0,u.filter)(()=>!this.disabled),(0,u.filter)(e=>e.key===`Enter`||e.key===` `),(0,u.tap)(e=>e.preventDefault()))).pipe((0,u.tap)(()=>{this.dispatchEvent(new CustomEvent(`bar-item-click`,{detail:{icon:this.icon,label:this.label,active:this.active},bubbles:!0,composed:!0}))}),(0,u.takeUntil)(this.disconnecting)).subscribe()}formatBadge(e){let t=Number(e);return isNaN(t)?e.slice(0,3):t>99?`99+`:String(t)}firstUpdated(){this.setupNavigationStream()}render(){let e=this.querySelector(`[slot]`)||this.textContent?.trim()&&!this.label,t=this.badge?this.formatBadge(this.badge):``,n=t&&t!==`0`,r=this.querySelector(`[slot="icon"]`),i={"relative flex flex-col items-center justify-center":!0,"flex-1 min-w-[48px] max-w-[168px]":!0,"py-2 px-1 cursor-pointer":!this.disabled,"transition-all duration-200":!0,"hover:bg-surface-containerHigh":!this.disabled&&!this.active,"cursor-not-allowed opacity-38":this.disabled,"outline-none":!0,"focus-visible:outline-2 focus-visible:outline-offset-2":!0},o={"w-16 h-8 rounded-2xl":!0,"flex items-center justify-center":!0,"transition-all duration-200":!0,"bg-secondary-container":this.active,"group-hover:bg-surface-containerHighest":!this.active&&!this.disabled,"relative overflow-hidden":!0},c={"absolute top-0 right-3":!0,"min-w-[6px] h-1.5":!n,"min-w-[16px] h-4":n,"rounded-full":!n,"rounded-lg":n,"flex items-center justify-center":n,"px-1":n,"transition-all duration-200":!0,"z-10":!0},l=this.active?{color:s.t.sys.color.secondary.onContainer}:{color:s.t.sys.color.surface.onVariant},u={"--focus-color":s.t.sys.color.primary.default};return f.html`
176
+ <button
177
+ type="button"
178
+ class=${this.classMap(i)}
179
+ @click=${this.handleClick}
180
+ @keydown=${this.handleKeyDown}
181
+ ?disabled=${this.disabled}
182
+ aria-pressed=${this.active}
183
+ aria-label=${this.label||`Navigation item`}
184
+ style=${this.styleMap({...u,"outline-color":`var(--focus-color)`})}
185
+ ${a.color(l)}
186
+ >
187
+ <!-- Icon with indicator background -->
188
+ <div class=${this.classMap(o)}>
189
+ <!-- Ripple effects -->
190
+ ${this.ripples.map(e=>f.html`
191
+ <span
192
+ class="ripple-effect"
193
+ style=${this.styleMap({left:`${e.x}px`,top:`${e.y}px`,transform:`translate(-50%, -50%)`})}
194
+ ></span>
195
+ `)}
196
+
197
+ ${r?f.html`<slot name="icon"></slot>`:this.icon?f.html`
198
+ <schmancy-icon
199
+ .fill=${+!!this.active}
200
+ class="relative z-10 flex items-center justify-center transition-all duration-200"
201
+ style="--schmancy-icon-size: 24px;"
202
+ aria-hidden="true"
203
+ >
204
+ ${this.icon}
205
+ </schmancy-icon>
206
+ `:e?f.html`<slot></slot>`:``}
207
+ </div>
208
+
209
+ <!-- Label below icon -->
210
+ ${!this.hideLabels&&this.label?f.html`
211
+ <span class=${this.classMap({"text-xs font-medium leading-4 mt-1":!0,"text-center max-w-full":!0,"overflow-hidden text-ellipsis whitespace-nowrap":!0,"transition-all duration-200":!0})}>${this.label}</span>
212
+ `:``}
213
+
214
+ <!-- Badge -->
215
+ ${n?f.html`
216
+ <span
217
+ class=${this.classMap(c)}
218
+ aria-label="${t} notifications"
219
+ ${a.color({bgColor:s.t.sys.color.error.default,color:s.t.sys.color.error.on})}
220
+ >
221
+ <span class="text-[10px] font-medium leading-none">${t}</span>
222
+ </span>
223
+ `:this.badge?f.html`
224
+ <span
225
+ class=${this.classMap(c)}
226
+ aria-label="Has notifications"
227
+ ${a.color({bgColor:s.t.sys.color.error.default})}
228
+ ></span>
229
+ `:``}
230
+ </button>
231
+ `}};e.i([(0,d.property)({type:String})],F.prototype,`icon`,void 0),e.i([(0,d.property)({type:String})],F.prototype,`label`,void 0),e.i([(0,d.property)({type:String})],F.prototype,`badge`,void 0),e.i([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`active`,null),e.i([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`disabled`,void 0),e.i([(0,d.property)({type:Boolean,reflect:!0})],F.prototype,`hideLabels`,void 0),e.i([(0,d.state)()],F.prototype,`ripples`,void 0),F=e.i([(0,d.customElement)(`schmancy-navigation-bar-item`)],F);var I=class extends e.t(f.css`
232
+ :host {
233
+ display: block;
234
+ transition: transform 0.3s ease-in-out;
235
+ }
236
+
237
+ :host([hide-on-scroll]) {
238
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
239
+ }
240
+
241
+ /* Support 3-7 items with equal distribution */
242
+ ::slotted(schmancy-navigation-bar-item) {
243
+ flex: 1;
244
+ max-width: 168px; /* Prevent items from being too wide */
245
+ }
246
+
247
+ /* Accessibility focus indicators */
248
+ :host(:focus-within) {
249
+ outline: 2px solid var(--schmancy-sys-color-primary);
250
+ outline-offset: -2px;
251
+ }
252
+ `){constructor(...e){super(...e),this.activeIndex$=new l.BehaviorSubject(-1),this.hideLabels=!1,this.elevation=2,this.hideOnScroll=!1,this.focusedIndex=-1,this.isHiddenByScroll=!1,this.isFullscreen=!1,this.SCROLL_THRESHOLD=10,this.mobileMediaQuery=null,this.visibility$=new l.Subject,this.handleItemClick=e=>{let t=this.getItems(),n=e.target,r=t.indexOf(n);if(r===-1)return;if(this.activeIndex===r)return void this.dispatchEvent(new CustomEvent(c.SchmancyEvents.NavDrawer_toggle,{detail:{state:`toggle`},bubbles:!0,composed:!0}));let i=this.activeIndex;this.activeIndex=r,this.dispatchEvent(new CustomEvent(`navigation-change`,{detail:{oldIndex:i,newIndex:r,item:n},bubbles:!0,composed:!0}))},this.handleKeyDown=e=>{let t=this.getItems(),n=this.focusedIndex===-1?this.activeIndex:this.focusedIndex;switch(e.key){case`ArrowLeft`:e.preventDefault(),n>0&&this.focusItem(n-1);break;case`ArrowRight`:e.preventDefault(),n<t.length-1&&this.focusItem(n+1);break;case`Home`:e.preventDefault(),this.focusItem(0);break;case`End`:e.preventDefault(),this.focusItem(t.length-1);break;case`Enter`:case` `:e.preventDefault(),this.focusedIndex!==-1&&t[this.focusedIndex]?.click()}}}get activeIndex(){return this.activeIndex$.value}set activeIndex(e){this.activeIndex$.next(e)}getItems(){let e=this.shadowRoot?.querySelector(`slot`);return e?e.assignedElements({flatten:!0}).filter(e=>e.tagName.toLowerCase()===`schmancy-navigation-bar-item`):[]}isMobileViewport(){return this.mobileMediaQuery?.matches??!1}updateBottomOffset(){let e=!this.isFullscreen&&this.isMobileViewport();i.n.setBottomOffset(e?80:0)}connectedCallback(){super.connectedCallback(),this.mobileMediaQuery=window.matchMedia(`(max-width: 767px)`),(0,l.fromEvent)(this.mobileMediaQuery,`change`).pipe((0,u.tap)(()=>this.updateBottomOffset()),(0,u.takeUntil)(this.disconnecting)).subscribe(),i.n.fullscreen$.pipe((0,u.tap)(e=>{this.isFullscreen=e,this.visibility$.next(!this.isFullscreen&&!this.isHiddenByScroll),this.updateBottomOffset()}),(0,u.takeUntil)(this.disconnecting)).subscribe(),this.updateBottomOffset(),(0,l.fromEvent)(this,`bar-item-click`).pipe((0,u.tap)(e=>this.handleItemClick(e)),(0,u.takeUntil)(this.disconnecting)).subscribe(),(0,l.fromEvent)(this,`keydown`).pipe((0,u.tap)(e=>this.handleKeyDown(e)),(0,u.takeUntil)(this.disconnecting)).subscribe(),this.activeIndex$.pipe((0,u.takeUntil)(this.disconnecting)).subscribe(e=>{this.updateActiveStates(e)}),this.hideOnScroll&&this.setupScrollListener(),this.updateItems()}disconnectedCallback(){super.disconnectedCallback(),i.n.setBottomOffset(0),this.mobileMediaQuery=null}setupScrollListener(){(0,l.fromEvent)(window,`scroll`).pipe((0,u.throttleTime)(100),(0,u.map)(()=>window.scrollY),(0,u.pairwise)(),(0,u.filter)(([e,t])=>Math.abs(t-e)>this.SCROLL_THRESHOLD),(0,u.tap)(([e,t])=>{let n=t>e,r=t<e,i=this.isHiddenByScroll;n&&!this.isHiddenByScroll?this.isHiddenByScroll=!0:r&&this.isHiddenByScroll&&(this.isHiddenByScroll=!1),t<=this.SCROLL_THRESHOLD&&(this.isHiddenByScroll=!1),i!==this.isHiddenByScroll&&this.visibility$.next(!this.isHiddenByScroll&&!this.isFullscreen)}),(0,u.takeUntil)(this.disconnecting)).subscribe()}focusItem(e){let t=this.getItems();t[e]&&(this.focusedIndex=e,t[e].focus())}updateItems(){let e=this.shadowRoot?.querySelector(`slot`);if(e){let t=()=>{this.updateActiveStates(this.activeIndex)};e.addEventListener(`slotchange`,t),t()}}addBoatItem(e){let t=this.querySelector(`[value="${e.id}"]`);if(t)return t;let n=document.createElement(`schmancy-navigation-bar-item`);return n.setAttribute(`value`,e.id),n.innerHTML=`\n\t\t\t<schmancy-icon>${e.icon||`widgets`}</schmancy-icon>\n\t\t\t<span>${e.title}</span>\n\t\t`,this.appendChild(n),n}updateActiveStates(e){this.getItems().forEach((t,n)=>{let r=t;r.setActive?r.setActive(n===e):r.active=n===e,r.hideLabels=this.hideLabels,t.tabIndex=n===e?0:-1})}updated(e){super.updated(e),e.has(`hideLabels`)&&this.updateActiveStates(this.activeIndex),e.has(`hideOnScroll`)&&(this.hideOnScroll&&!e.get(`hideOnScroll`)?this.setupScrollListener():this.hideOnScroll||(this.isHiddenByScroll=!1,this.visibility$.next(!this.isFullscreen)))}render(){let e=this.isFullscreen||this.isHiddenByScroll,t={"h-20":!0,"flex items-center justify-around":!0,"px-2 py-3 box-border":!0,"transition-all duration-300 ease-in-out":!0,"z-10":!0,"shadow-none":this.elevation===0,"shadow-sm":this.elevation===1,"shadow-md":this.elevation===2,"shadow-lg":this.elevation===3,"shadow-xl":this.elevation===4,"shadow-2xl":this.elevation===5},n=e?`translateY(100%)`:`translateY(0)`;return f.html`
253
+ <nav
254
+ class=${this.classMap(t)}
255
+ role="navigation"
256
+ aria-label="Main navigation"
257
+ aria-hidden=${e}
258
+ style="transform: ${n};"
259
+ ${a.color({bgColor:s.t.sys.color.surface.container,color:s.t.sys.color.surface.on})}
260
+ >
261
+ <slot></slot>
262
+ </nav>
263
+ `}};e.i([(0,d.property)({type:Number})],I.prototype,`activeIndex`,null),e.i([(0,d.property)({type:Boolean,reflect:!0})],I.prototype,`hideLabels`,void 0),e.i([(0,d.property)({type:Number,reflect:!0})],I.prototype,`elevation`,void 0),e.i([(0,d.property)({type:Boolean,reflect:!0})],I.prototype,`hideOnScroll`,void 0),e.i([(0,d.state)()],I.prototype,`focusedIndex`,void 0),e.i([(0,d.state)()],I.prototype,`isHiddenByScroll`,void 0),e.i([(0,d.state)()],I.prototype,`isFullscreen`,void 0),I=e.i([(0,d.customElement)(`schmancy-navigation-bar`)],I);var L=`whereAreYouRicky`,R=`hereMorty`,z=new class{constructor(){this.activeTeleportations=new Map,this.flipRequests=new l.Subject,this.find=e=>(0,l.zip)([(0,l.fromEvent)(window,R).pipe((0,l.filter)(t=>!!t.detail.component.uuid&&!!e.id&&t.detail.component.id===e.id&&t.detail.component.uuid!==e.uuid),(0,l.map)(e=>e.detail.component),(0,l.take)(1)),(0,l.of)(e).pipe((0,l.tap)(()=>{window.dispatchEvent(new CustomEvent(L,{detail:{id:e.id,callerID:e.uuid}}))}))]).pipe((0,l.map)(([e])=>e),(0,l.timeout)(0)),this.flip=e=>{let{from:t,to:n}=e,r=n.element.style.zIndex;n.element.style.transformOrigin=`top left`,n.element.style.setProperty(`visibility`,`visible`),n.element.style.zIndex=`1000`;let i=[{transform:`translate(${t.rect.left-n.rect.left}px, ${t.rect.top-n.rect.top}px) scale(${t.rect.width/n.rect.width}, ${t.rect.height/n.rect.height})`},{transform:`translate(0, 0) scale(1, 1)`}];n.element.animate(i,{duration:250,delay:10,easing:`cubic-bezier(0.455, 0.03, 0.515, 0.955)`}).onfinish=()=>{n.element.style.zIndex=r,n.element.style.transformOrigin=``}},this.flipRequests.pipe((0,l.bufferTime)(1),(0,l.map)(e=>e.map(({from:e,to:t,host:n},r)=>({from:e,to:t,host:n,i:r}))),(0,l.concatMap)(e=>(0,l.zip)(e.map(e=>(0,l.of)(this.flip(e)))))).subscribe()}};function B(e){return(0,l.interval)(50).pipe((0,u.map)(()=>e.getBoundingClientRect()),(0,u.distinctUntilChanged)((e,t)=>e.width===t.width&&e.height===t.height&&e.top===t.top&&e.right===t.right&&e.bottom===t.bottom&&e.left===t.left),(0,u.take)(1))}var V=class extends n.t(f.css``){constructor(...e){super(...e),this.uuid=Math.floor(Math.random()*Date.now()),this.delay=0,this.debugging=!1}get _slottedChildren(){return this.shadowRoot.querySelector(`slot`).assignedElements({flatten:!0})}connectedCallback(){if(this.id===void 0)throw Error(`id is required`);super.connectedCallback(),(0,l.merge)((0,l.fromEvent)(window,r.x).pipe((0,l.tap)({next:()=>{this.dispatchEvent(new CustomEvent(r.S,{detail:{component:this},bubbles:!0,composed:!0}))}})),(0,l.fromEvent)(window,L).pipe((0,l.tap)({next:e=>{e.detail.id===this.id&&this.uuid&&e.detail.callerID!==this.uuid&&this.dispatchEvent(new CustomEvent(R,{detail:{component:this},bubbles:!0,composed:!0}))}}))).pipe((0,l.takeUntil)(this.disconnecting)).subscribe()}async firstUpdated(){(0,l.of)(z.activeTeleportations.get(this.id)).pipe((0,l.filter)(e=>!!e),(0,l.takeUntil)(this.disconnecting),(0,l.throwIfEmpty)()).subscribe({next:e=>{this.style.setProperty(`visibility`,`hidden`),B(this).pipe((0,l.takeUntil)(this.disconnecting)).subscribe({next:t=>{z.activeTeleportations.set(this.id,t),z.flipRequests.next({from:{rect:e},to:{rect:t,element:this._slottedChildren[0]},host:this})}})},error:()=>{this.style.setProperty(`visibility`,`visible`),B(this).pipe((0,l.takeUntil)(this.disconnecting)).subscribe({next:e=>{z.activeTeleportations.set(this.id,e)}})},complete:()=>{}})}render(){return f.html`<slot></slot>`}};e.i([(0,d.property)({type:Number,reflect:!0})],V.prototype,`uuid`,void 0),e.i([(0,d.property)({type:String})],V.prototype,`id`,void 0),e.i([(0,d.property)({type:Number})],V.prototype,`delay`,void 0),V=e.i([(0,d.customElement)(`schmancy-teleport`)],V);var H=class extends n.t(){constructor(...e){super(...e),this.initials=``,this.src=``,this.icon=``,this.size=`md`,this.color=`primary`,this.shape=`circle`,this.bordered=!1,this.status=`none`}render(){let e;e=this.src?f.html`<img class="w-full h-full object-cover" src="${this.src}" alt="Avatar" />`:this.initials?f.html`<span class="text-center font-medium">${this.initials.substring(0,2).toUpperCase()}</span>`:this.icon?f.html`<schmancy-icon>${this.icon}</schmancy-icon>`:f.html`<schmancy-icon>person</schmancy-icon>`;let t={"relative flex items-center justify-center overflow-hidden":!0,[{xxs:`w-5 h-5 text-[8px]`,xs:`w-6 h-6 text-xs`,sm:`w-8 h-8 text-sm`,md:`w-10 h-10 text-base`,lg:`w-12 h-12 text-lg`,xl:`w-16 h-16 text-xl`}[this.size]]:!0,[{circle:`rounded-full`,square:`rounded-md`}[this.shape]]:!0,"border-2 border-surface-container":this.bordered},n=this.getColorAttributes();return f.html`
264
+ <div class="${this.classMap(t)}" ${n}>
265
+ ${e} ${this.status===`none`?``:this.renderStatusIndicator()}
266
+ </div>
267
+ `}getColorAttributes(){return a.color({primary:{bgColor:s.t.sys.color.primary.container,color:s.t.sys.color.primary.onContainer},secondary:{bgColor:s.t.sys.color.secondary.container,color:s.t.sys.color.secondary.onContainer},tertiary:{bgColor:s.t.sys.color.tertiary.container,color:s.t.sys.color.tertiary.onContainer},success:{bgColor:s.t.sys.color.success.container,color:s.t.sys.color.success.onContainer},error:{bgColor:s.t.sys.color.error.container,color:s.t.sys.color.error.onContainer},neutral:{bgColor:s.t.sys.color.surface.container,color:s.t.sys.color.surface.on}}[this.color])}renderStatusIndicator(){let e={online:s.t.sys.color.success.default,offline:s.t.sys.color.surface.onVariant,busy:s.t.sys.color.error.default,away:s.t.sys.color.tertiary.default},t={"absolute bottom-0 right-0 rounded-full border-2 border-surface-default":!0,[{xxs:`w-1 h-1`,xs:`w-1.5 h-1.5`,sm:`w-2 h-2`,md:`w-2.5 h-2.5`,lg:`w-3 h-3`,xl:`w-4 h-4`}[this.size]]:!0};return f.html`
268
+ <div class="${this.classMap(t)}" style="background-color: ${e[this.status]};"></div>
269
+ `}};e.i([(0,d.property)({type:String})],H.prototype,`initials`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`src`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`icon`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`size`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`color`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`shape`,void 0),e.i([(0,d.property)({type:Boolean})],H.prototype,`bordered`,void 0),e.i([(0,d.property)({type:String})],H.prototype,`status`,void 0),H=e.i([(0,d.customElement)(`schmancy-avatar`)],H),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return y}});