@mhmo91/schmancy 0.9.27 → 0.10.1

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 (1041) hide show
  1. package/custom-elements.json +987 -2259
  2. package/dist/active-host-0of-L858.cjs +1 -0
  3. package/dist/active-host-0of-L858.cjs.map +1 -0
  4. package/dist/active-host-D-a1X-nq.js +57 -0
  5. package/dist/active-host-D-a1X-nq.js.map +1 -0
  6. package/dist/agent/{flow-CvG1fLW5.js.map → flow-CaPi2G8y.js.map} +1 -1
  7. package/dist/agent/{rolldown-runtime-BIIoCavz.js → rolldown-runtime-DsMetpgY.js} +2 -9
  8. package/dist/agent/schmancy.agent.js +6465 -7794
  9. package/dist/agent/schmancy.agent.js.map +1 -1
  10. package/dist/agent/schmancy.manifest.json +262 -1462
  11. package/dist/agent/{vendor-highlight-Dow87ZL_.js → vendor-highlight-CHJZQQB7.js} +85 -90
  12. package/dist/agent/{vendor-highlight-Dow87ZL_.js.map → vendor-highlight-CHJZQQB7.js.map} +1 -1
  13. package/dist/agent/{vendor-jsqr-Bl4iAtKC.js → vendor-jsqr-r7GNh4P3.js} +1 -1
  14. package/dist/agent/{vendor-jsqr-Bl4iAtKC.js.map → vendor-jsqr-r7GNh4P3.js.map} +1 -1
  15. package/dist/agent/{vendor-material-color-DcL7ZPxx.js.map → vendor-material-color-Be96dpGE.js.map} +1 -1
  16. package/dist/{animation-hXFClrIn.js.map → animation-BK-8BwY8.js.map} +1 -1
  17. package/dist/{animation-CQRdLgzX.cjs.map → animation-CO_Csq84.cjs.map} +1 -1
  18. package/dist/{area-BGBCMC79.js → area-C_J4qxKO.js} +20 -15
  19. package/dist/area-C_J4qxKO.js.map +1 -0
  20. package/dist/area-ISC8Mdkh.cjs +12 -0
  21. package/dist/area-ISC8Mdkh.cjs.map +1 -0
  22. package/dist/area.cjs +1 -1
  23. package/dist/area.js +2 -2
  24. package/dist/{audio-Dvr-RBzE.cjs → audio-DZN8HsSS.cjs} +1 -1
  25. package/dist/{audio-Dvr-RBzE.cjs.map → audio-DZN8HsSS.cjs.map} +1 -1
  26. package/dist/{audio-ql6nvY0y.js → audio-Tmre4WyL.js} +1 -1
  27. package/dist/{audio-ql6nvY0y.js.map → audio-Tmre4WyL.js.map} +1 -1
  28. package/dist/audio.cjs +1 -1
  29. package/dist/audio.js +2 -2
  30. package/dist/autocomplete-BDF85W0J.cjs +115 -0
  31. package/dist/autocomplete-BDF85W0J.cjs.map +1 -0
  32. package/dist/{autocomplete-C2P0Soht.js → autocomplete-CM8VqW9S.js} +29 -26
  33. package/dist/autocomplete-CM8VqW9S.js.map +1 -0
  34. package/dist/autocomplete.cjs +1 -1
  35. package/dist/autocomplete.js +1 -1
  36. package/dist/avatar.cjs +7 -0
  37. package/dist/avatar.cjs.map +1 -0
  38. package/dist/avatar.js +87 -0
  39. package/dist/avatar.js.map +1 -0
  40. package/dist/badge.cjs +1 -1
  41. package/dist/badge.js +1 -1
  42. package/dist/boat-CpXe-Qto.cjs +80 -0
  43. package/dist/boat-CpXe-Qto.cjs.map +1 -0
  44. package/dist/{boat-DXZ0k7oa.js → boat-DxYNK4xT.js} +43 -54
  45. package/dist/boat-DxYNK4xT.js.map +1 -0
  46. package/dist/boat.cjs +1 -1
  47. package/dist/boat.js +1 -1
  48. package/dist/breadcrumb.cjs +4 -4
  49. package/dist/breadcrumb.cjs.map +1 -1
  50. package/dist/breadcrumb.js +16 -11
  51. package/dist/breadcrumb.js.map +1 -1
  52. package/dist/{busy-iRjq6Nvd.js → busy-CP-gRfAP.js} +14 -9
  53. package/dist/busy-CP-gRfAP.js.map +1 -0
  54. package/dist/{busy-DGYhpTnO.cjs → busy-Dma4gtnz.cjs} +4 -4
  55. package/dist/busy-Dma4gtnz.cjs.map +1 -0
  56. package/dist/busy.cjs +1 -1
  57. package/dist/busy.js +1 -1
  58. package/dist/button.cjs +24 -24
  59. package/dist/button.cjs.map +1 -1
  60. package/dist/button.js +42 -37
  61. package/dist/button.js.map +1 -1
  62. package/dist/{card-wUTjx0EC.js → card-Bv--HeGO.js} +41 -30
  63. package/dist/card-Bv--HeGO.js.map +1 -0
  64. package/dist/{card-DjYnCckw.cjs → card-ClroODSK.cjs} +6 -6
  65. package/dist/card-ClroODSK.cjs.map +1 -0
  66. package/dist/card.cjs +1 -1
  67. package/dist/card.js +1 -1
  68. package/dist/charts.cjs +5 -5
  69. package/dist/charts.cjs.map +1 -1
  70. package/dist/charts.js +21 -16
  71. package/dist/charts.js.map +1 -1
  72. package/dist/{checkbox-VBSenxgb.js → checkbox-1gQOOcja.js} +86 -82
  73. package/dist/checkbox-1gQOOcja.js.map +1 -0
  74. package/dist/checkbox-DvTZXN1Y.cjs +39 -0
  75. package/dist/checkbox-DvTZXN1Y.cjs.map +1 -0
  76. package/dist/checkbox.cjs +1 -1
  77. package/dist/checkbox.js +1 -1
  78. package/dist/{chips-D6ptH5re.cjs → chips-Bw7FNDpX.cjs} +19 -19
  79. package/dist/chips-Bw7FNDpX.cjs.map +1 -0
  80. package/dist/{chips-BDS9lkPa.js → chips-wkfKzf_e.js} +146 -136
  81. package/dist/chips-wkfKzf_e.js.map +1 -0
  82. package/dist/chips.cjs +1 -1
  83. package/dist/chips.js +2 -2
  84. package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CJzuds4c.cjs} +15 -15
  85. package/dist/code-highlight-CJzuds4c.cjs.map +1 -0
  86. package/dist/{code-highlight-Bi91XHJN.js → code-highlight-CcdCFMrn.js} +37 -40
  87. package/dist/code-highlight-CcdCFMrn.js.map +1 -0
  88. package/dist/code-highlight.cjs +1 -1
  89. package/dist/code-highlight.js +1 -1
  90. package/dist/connectivity.cjs +2 -2
  91. package/dist/connectivity.cjs.map +1 -1
  92. package/dist/connectivity.js +10 -7
  93. package/dist/connectivity.js.map +1 -1
  94. package/dist/content-drawer.cjs +1 -1
  95. package/dist/content-drawer.js +2 -2
  96. package/dist/context-Bdu1xt0W.js +3 -0
  97. package/dist/{context-BerzpUhI.js.map → context-Bdu1xt0W.js.map} +1 -1
  98. package/dist/context-daN5G6HS.cjs +1 -0
  99. package/dist/{context-C6dHUHhi.cjs.map → context-daN5G6HS.cjs.map} +1 -1
  100. package/dist/{cursor-glow-BydlDInj.js → cursor-glow-Ah7VXSj7.js} +1 -1
  101. package/dist/{cursor-glow-BydlDInj.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
  102. package/dist/{cursor-glow-Duw9jHmh.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
  103. package/dist/{cursor-glow-Duw9jHmh.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
  104. package/dist/{date-range-ClTMg1AB.js → date-range-BDHz_Olm.js} +16 -17
  105. package/dist/date-range-BDHz_Olm.js.map +1 -0
  106. package/dist/date-range-BsPW60vp.cjs +131 -0
  107. package/dist/date-range-BsPW60vp.cjs.map +1 -0
  108. package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-1NmZE_Xr.js} +5 -5
  109. package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-1NmZE_Xr.js.map} +1 -1
  110. package/dist/date-range-inline-BsjNNGFR.cjs +43 -0
  111. package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-BsjNNGFR.cjs.map} +1 -1
  112. package/dist/date-range-inline.cjs +1 -1
  113. package/dist/date-range-inline.js +1 -1
  114. package/dist/date-range.cjs +1 -1
  115. package/dist/date-range.js +1 -1
  116. package/dist/delay.cjs +9 -1
  117. package/dist/delay.cjs.map +1 -0
  118. package/dist/delay.js +77 -2
  119. package/dist/delay.js.map +1 -0
  120. package/dist/{details-CPjlqQD4.js → details-BEp2s2ca.js} +19 -18
  121. package/dist/details-BEp2s2ca.js.map +1 -0
  122. package/dist/{details-Cz9ok9si.cjs → details-BtUNqzn8.cjs} +9 -9
  123. package/dist/details-BtUNqzn8.cjs.map +1 -0
  124. package/dist/details.cjs +1 -1
  125. package/dist/details.js +1 -1
  126. package/dist/{dialog-service-DH-tjPuE.js → dialog-service-DI9PPy4H.js} +2 -2
  127. package/dist/dialog-service-DI9PPy4H.js.map +1 -0
  128. package/dist/{dialog-service-CzDO08Gy.cjs → dialog-service-DJd5L0f5.cjs} +1 -1
  129. package/dist/dialog-service-DJd5L0f5.cjs.map +1 -0
  130. package/dist/dialog.cjs +2 -2
  131. package/dist/dialog.cjs.map +1 -1
  132. package/dist/dialog.js +13 -14
  133. package/dist/dialog.js.map +1 -1
  134. package/dist/directives.cjs +2 -11
  135. package/dist/directives.cjs.map +1 -1
  136. package/dist/directives.js +141 -227
  137. package/dist/directives.js.map +1 -1
  138. package/dist/discovery.cjs +1 -1
  139. package/dist/discovery.cjs.map +1 -1
  140. package/dist/discovery.js +1 -1
  141. package/dist/discovery.js.map +1 -1
  142. package/dist/{divider-CILo3_vi.cjs → divider-CpNT11Iy.cjs} +3 -3
  143. package/dist/divider-CpNT11Iy.cjs.map +1 -0
  144. package/dist/{divider-ghgyw5CU.js → divider-VxpjZ8hk.js} +11 -9
  145. package/dist/divider-VxpjZ8hk.js.map +1 -0
  146. package/dist/divider.cjs +1 -1
  147. package/dist/divider.js +1 -1
  148. package/dist/dropdown.cjs +4 -4
  149. package/dist/dropdown.cjs.map +1 -1
  150. package/dist/dropdown.js +29 -28
  151. package/dist/dropdown.js.map +1 -1
  152. package/dist/expand-05azMpho.cjs +141 -0
  153. package/dist/expand-05azMpho.cjs.map +1 -0
  154. package/dist/{expand-CbjBr_Ds.js → expand-CRUl3-mN.js} +24 -20
  155. package/dist/expand-CRUl3-mN.js.map +1 -0
  156. package/dist/expand.cjs +1 -1
  157. package/dist/expand.js +1 -1
  158. package/dist/{extra-BZeZOMBI.cjs → extra-CyERULfm.cjs} +6 -6
  159. package/dist/extra-CyERULfm.cjs.map +1 -0
  160. package/dist/{extra-DK9MQtPJ.js → extra-aNV1fO6W.js} +19 -14
  161. package/dist/extra-aNV1fO6W.js.map +1 -0
  162. package/dist/extra.cjs +1 -1
  163. package/dist/extra.js +1 -1
  164. package/dist/float-DRET9mVZ.cjs +1 -0
  165. package/dist/{float-CuZ8LOgB.cjs.map → float-DRET9mVZ.cjs.map} +1 -1
  166. package/dist/{float-BfCvGeY9.js → float-N3qhNET_.js} +2 -2
  167. package/dist/{float-BfCvGeY9.js.map → float-N3qhNET_.js.map} +1 -1
  168. package/dist/float.cjs +1 -1
  169. package/dist/float.js +1 -1
  170. package/dist/{form-rCZqoAoK.js → form-BtwOBMZ9.js} +1 -1
  171. package/dist/form-BtwOBMZ9.js.map +1 -0
  172. package/dist/{form-wI58M85H.cjs → form-CSJp687X.cjs} +1 -1
  173. package/dist/form-CSJp687X.cjs.map +1 -0
  174. package/dist/form.cjs +1 -1
  175. package/dist/form.js +1 -1
  176. package/dist/handover/agent-runtime-followups.md +1 -1
  177. package/dist/handover/agent-runtime-v1.md +3 -3
  178. package/dist/handover/claude-design-brief.md +19 -54
  179. package/dist/handover/claude-design-setup.md +57 -0
  180. package/dist/{hashContent-B2IntJQf.js.map → hashContent-1ARKIsx9.js.map} +1 -1
  181. package/dist/{hashContent-CahnEuut.cjs.map → hashContent-Bp5S6T4U.cjs.map} +1 -1
  182. package/dist/{icons-Drq4kKy2.js → icons-BBJqwT_B.js} +27 -24
  183. package/dist/icons-BBJqwT_B.js.map +1 -0
  184. package/dist/icons-CNixJ6kL.cjs +52 -0
  185. package/dist/icons-CNixJ6kL.cjs.map +1 -0
  186. package/dist/icons.cjs +1 -1
  187. package/dist/icons.js +1 -1
  188. package/dist/{iframe-BmyHW8km.js → iframe-DoN_toqE.js} +17 -11
  189. package/dist/iframe-DoN_toqE.js.map +1 -0
  190. package/dist/iframe-g-4DjAD7.cjs +24 -0
  191. package/dist/iframe-g-4DjAD7.cjs.map +1 -0
  192. package/dist/iframe.cjs +1 -1
  193. package/dist/iframe.js +1 -1
  194. package/dist/index.cjs +1 -1
  195. package/dist/index.js +77 -77
  196. package/dist/{input-Bc3bVISm.js → input-ClnkMJgh.js} +30 -30
  197. package/dist/input-ClnkMJgh.js.map +1 -0
  198. package/dist/{input-BGNZlfL8.cjs → input-CwFslLcF.cjs} +14 -14
  199. package/dist/input-CwFslLcF.cjs.map +1 -0
  200. package/dist/{input-chip-DN-cwf11.cjs → input-chip-DMXRT7bK.cjs} +2 -2
  201. package/dist/input-chip-DMXRT7bK.cjs.map +1 -0
  202. package/dist/{input-chip-BQrjpjaQ.js → input-chip-DwSyFv1x.js} +7 -4
  203. package/dist/input-chip-DwSyFv1x.js.map +1 -0
  204. package/dist/input.cjs +1 -1
  205. package/dist/input.js +1 -1
  206. package/dist/json.cjs +1 -1
  207. package/dist/json.cjs.map +1 -1
  208. package/dist/json.js +7 -5
  209. package/dist/json.js.map +1 -1
  210. package/dist/kbd.cjs +2 -2
  211. package/dist/kbd.cjs.map +1 -1
  212. package/dist/kbd.js +9 -7
  213. package/dist/kbd.js.map +1 -1
  214. package/dist/{layout-fjM1DWlF.js → layout-BghHmee6.js} +1 -1
  215. package/dist/{layout-fjM1DWlF.js.map → layout-BghHmee6.js.map} +1 -1
  216. package/dist/{layout-CTfRXQoz.cjs → layout-VmxXuGGp.cjs} +1 -1
  217. package/dist/{layout-CTfRXQoz.cjs.map → layout-VmxXuGGp.cjs.map} +1 -1
  218. package/dist/layout.cjs +1 -1
  219. package/dist/layout.js +2 -3
  220. package/dist/{lazy-D6R5N5v4.js.map → lazy-B0ia54tT.js.map} +1 -1
  221. package/dist/{lazy-BDNnH_r7.cjs.map → lazy-Dq9mRRjT.cjs.map} +1 -1
  222. package/dist/{lightbox-CY52Z_ig.js → lightbox-IleIcq19.js} +13 -12
  223. package/dist/lightbox-IleIcq19.js.map +1 -0
  224. package/dist/lightbox-m5FLmYlv.cjs +202 -0
  225. package/dist/lightbox-m5FLmYlv.cjs.map +1 -0
  226. package/dist/lightbox.cjs +1 -1
  227. package/dist/lightbox.js +1 -1
  228. package/dist/{list-D7wUxu1C.js → list-BlXJlm16.js} +26 -21
  229. package/dist/list-BlXJlm16.js.map +1 -0
  230. package/dist/list-C-b9p1yi.cjs +40 -0
  231. package/dist/list-C-b9p1yi.cjs.map +1 -0
  232. package/dist/list.cjs +1 -1
  233. package/dist/list.js +1 -1
  234. package/dist/{magnetic-CVXEkYTA.cjs → magnetic-BH0TsofV.cjs} +1 -1
  235. package/dist/{magnetic-CVXEkYTA.cjs.map → magnetic-BH0TsofV.cjs.map} +1 -1
  236. package/dist/{magnetic-BhXebqF3.js → magnetic-BZGFxAWG.js} +2 -2
  237. package/dist/{magnetic-BhXebqF3.js.map → magnetic-BZGFxAWG.js.map} +1 -1
  238. package/dist/{mailbox-DLiBGJhY.cjs → mailbox-B0hZLpF1.cjs} +64 -66
  239. package/dist/mailbox-B0hZLpF1.cjs.map +1 -0
  240. package/dist/{mailbox--EN-JhjV.js → mailbox-DAmejcKa.js} +137 -126
  241. package/dist/mailbox-DAmejcKa.js.map +1 -0
  242. package/dist/mailbox.cjs +1 -1
  243. package/dist/mailbox.js +1 -1
  244. package/dist/{map-B0S_q3ma.js → map-BoIu47qU.js} +11 -9
  245. package/dist/map-BoIu47qU.js.map +1 -0
  246. package/dist/map-CZ0816EI.cjs +80 -0
  247. package/dist/map-CZ0816EI.cjs.map +1 -0
  248. package/dist/map.cjs +1 -1
  249. package/dist/map.js +1 -1
  250. package/dist/{menu-3edZGQ1x.cjs → menu-BFHBnp5M.cjs} +5 -5
  251. package/dist/menu-BFHBnp5M.cjs.map +1 -0
  252. package/dist/{menu-COeFpb6n.js → menu-BV9_8ys8.js} +15 -10
  253. package/dist/menu-BV9_8ys8.js.map +1 -0
  254. package/dist/menu.cjs +1 -1
  255. package/dist/menu.js +1 -1
  256. package/dist/mixins-BIXF7xkF.cjs +298 -0
  257. package/dist/mixins-BIXF7xkF.cjs.map +1 -0
  258. package/dist/mixins-CL1krSOE.js +627 -0
  259. package/dist/mixins-CL1krSOE.js.map +1 -0
  260. package/dist/mixins.cjs +1 -1
  261. package/dist/mixins.js +2 -87
  262. package/dist/nav-drawer.cjs +1 -1
  263. package/dist/nav-drawer.js +2 -2
  264. package/dist/navigation-bar.cjs +1 -1
  265. package/dist/navigation-bar.js +1 -1
  266. package/dist/navigation-rail.cjs +3 -3
  267. package/dist/navigation-rail.cjs.map +1 -1
  268. package/dist/navigation-rail.js +15 -16
  269. package/dist/navigation-rail.js.map +1 -1
  270. package/dist/notification-CigTy3ia.cjs +23 -0
  271. package/dist/notification-CigTy3ia.cjs.map +1 -0
  272. package/dist/{notification-CC-TFN5v.js → notification-Dzm6zWxX.js} +40 -38
  273. package/dist/notification-Dzm6zWxX.js.map +1 -0
  274. package/dist/notification.cjs +1 -1
  275. package/dist/notification.js +1 -1
  276. package/dist/option-BfvzzkzM.cjs +43 -0
  277. package/dist/option-BfvzzkzM.cjs.map +1 -0
  278. package/dist/{option-BwAF4nAw.js → option-Dyb0Q45u.js} +9 -7
  279. package/dist/option-Dyb0Q45u.js.map +1 -0
  280. package/dist/option.cjs +1 -1
  281. package/dist/option.js +1 -1
  282. package/dist/{overlay-stack-7bs4ZNnh.cjs → overlay-stack-BprhAE9a.cjs} +1 -1
  283. package/dist/{overlay-stack-7bs4ZNnh.cjs.map → overlay-stack-BprhAE9a.cjs.map} +1 -1
  284. package/dist/{overlay-stack-DXPYHPhk.js → overlay-stack-CAQno0CK.js} +1 -1
  285. package/dist/{overlay-stack-DXPYHPhk.js.map → overlay-stack-CAQno0CK.js.map} +1 -1
  286. package/dist/overlay.cjs +43 -45
  287. package/dist/overlay.cjs.map +1 -1
  288. package/dist/overlay.js +684 -268
  289. package/dist/overlay.js.map +1 -1
  290. package/dist/page.cjs +3 -3
  291. package/dist/page.cjs.map +1 -1
  292. package/dist/page.js +15 -13
  293. package/dist/page.js.map +1 -1
  294. package/dist/payment-card-form-CQ6sLlrh.cjs +73 -0
  295. package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-CQ6sLlrh.cjs.map} +1 -1
  296. package/dist/{components-DZgJWHdZ.js → payment-card-form-D9N2Q0wM.js} +21 -22
  297. package/dist/{components-DZgJWHdZ.js.map → payment-card-form-D9N2Q0wM.js.map} +1 -1
  298. package/dist/payment-card-form.cjs +1 -0
  299. package/dist/payment-card-form.js +2 -0
  300. package/dist/{progress-Yz6EMNSu.cjs → progress-Dyri7dc2.cjs} +3 -3
  301. package/dist/progress-Dyri7dc2.cjs.map +1 -0
  302. package/dist/{progress-Bk_Q1Shy.js → progress-LPwPfzBi.js} +16 -13
  303. package/dist/progress-LPwPfzBi.js.map +1 -0
  304. package/dist/progress.cjs +1 -1
  305. package/dist/progress.js +1 -1
  306. package/dist/qr-scanner.cjs +5 -5
  307. package/dist/qr-scanner.cjs.map +1 -1
  308. package/dist/qr-scanner.js +14 -15
  309. package/dist/qr-scanner.js.map +1 -1
  310. package/dist/radio-group-DK-T6jGy.cjs +40 -0
  311. package/dist/radio-group-DK-T6jGy.cjs.map +1 -0
  312. package/dist/{radio-group-BcdcjLNC.js → radio-group-DqP886F-.js} +14 -12
  313. package/dist/radio-group-DqP886F-.js.map +1 -0
  314. package/dist/radio-group.cjs +1 -1
  315. package/dist/radio-group.js +1 -1
  316. package/dist/range.cjs +2 -2
  317. package/dist/range.cjs.map +1 -1
  318. package/dist/range.js +9 -7
  319. package/dist/range.js.map +1 -1
  320. package/dist/{reduced-motion-BZTLqAyl.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
  321. package/dist/{reduced-motion-9RjNnhIg.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
  322. package/dist/{rxjs-utils-DJbZRjp3.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
  323. package/dist/{rxjs-utils-CKTnEKUH.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
  324. package/dist/rxjs-utils.cjs +1 -1
  325. package/dist/rxjs-utils.js +1 -1
  326. package/dist/{scroll-DXQv0ejL.js → scroll-BD82ANjm.js} +9 -7
  327. package/dist/scroll-BD82ANjm.js.map +1 -0
  328. package/dist/scroll-yfNU0zNO.cjs +26 -0
  329. package/dist/scroll-yfNU0zNO.cjs.map +1 -0
  330. package/dist/search-BLCRsxIC.cjs +1 -0
  331. package/dist/{search-CwMav5QB.cjs.map → search-BLCRsxIC.cjs.map} +1 -1
  332. package/dist/{search-CvUZRLF1.js → search-BTz7-Rev.js} +1 -1
  333. package/dist/{search-CvUZRLF1.js.map → search-BTz7-Rev.js.map} +1 -1
  334. package/dist/{select-BV4lK2zy.cjs → select-BR3r3SZe.cjs} +6 -6
  335. package/dist/select-BR3r3SZe.cjs.map +1 -0
  336. package/dist/{select-DKyGWDsG.js → select-GONAphZI.js} +23 -20
  337. package/dist/select-GONAphZI.js.map +1 -0
  338. package/dist/select.cjs +1 -1
  339. package/dist/select.js +1 -1
  340. package/dist/{sheet-C3TLKItO.js → sheet-C4sAGqTf.js} +22 -20
  341. package/dist/sheet-C4sAGqTf.js.map +1 -0
  342. package/dist/sheet-D9pZMrzs.cjs +35 -0
  343. package/dist/sheet-D9pZMrzs.cjs.map +1 -0
  344. package/dist/sheet.cjs +1 -1
  345. package/dist/sheet.js +2 -2
  346. package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-B7h_-e-q.js} +3 -3
  347. package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-B7h_-e-q.js.map} +1 -1
  348. package/dist/sheet.service-C1J0-i4d.cjs +1 -0
  349. package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-C1J0-i4d.cjs.map} +1 -1
  350. package/dist/skeleton.cjs +2 -2
  351. package/dist/skeleton.cjs.map +1 -1
  352. package/dist/skeleton.js +9 -7
  353. package/dist/skeleton.js.map +1 -1
  354. package/dist/skills/INDEX.md +1 -1
  355. package/dist/skills/SKILL.md +17 -5
  356. package/dist/skills/mixins.md +78 -20
  357. package/dist/skills/schmancy/INDEX.md +1 -1
  358. package/dist/skills/schmancy/SKILL.md +17 -5
  359. package/dist/skills/schmancy/mixins.md +78 -20
  360. package/dist/skills/schmancy/state.md +501 -0
  361. package/dist/skills/schmancy/theme.md +15 -0
  362. package/dist/skills/schmancy/timeline-tile.md +95 -0
  363. package/dist/skills/state.md +501 -0
  364. package/dist/skills/theme.md +15 -0
  365. package/dist/skills/timeline-tile.md +95 -0
  366. package/dist/slider.cjs +5 -5
  367. package/dist/slider.cjs.map +1 -1
  368. package/dist/slider.js +18 -13
  369. package/dist/slider.js.map +1 -1
  370. package/dist/{sound.service-DWZe6swU.js → sound.service-Ba_HNBLD.js} +3 -3
  371. package/dist/sound.service-Ba_HNBLD.js.map +1 -0
  372. package/dist/sound.service-CvdB2yUJ.cjs +1 -0
  373. package/dist/sound.service-CvdB2yUJ.cjs.map +1 -0
  374. package/dist/{splash-screen-DbI5RgBf.js → splash-screen-BGMZmQRT.js} +12 -9
  375. package/dist/splash-screen-BGMZmQRT.js.map +1 -0
  376. package/dist/splash-screen-DqULOTZ0.cjs +41 -0
  377. package/dist/splash-screen-DqULOTZ0.cjs.map +1 -0
  378. package/dist/splash-screen.cjs +1 -1
  379. package/dist/splash-screen.js +1 -1
  380. package/dist/{src-00DfxCJq.js → src-CHM4hrEr.js} +299 -351
  381. package/dist/src-CHM4hrEr.js.map +1 -0
  382. package/dist/src-DzFcGdcn.cjs +263 -0
  383. package/dist/src-DzFcGdcn.cjs.map +1 -0
  384. package/dist/state-BAW3C11I.cjs +1 -0
  385. package/dist/state-BAW3C11I.cjs.map +1 -0
  386. package/dist/state-ClRXrqDA.js +846 -0
  387. package/dist/state-ClRXrqDA.js.map +1 -0
  388. package/dist/state.cjs +1 -0
  389. package/dist/state.js +3 -0
  390. package/dist/steps.cjs +10 -10
  391. package/dist/steps.cjs.map +1 -1
  392. package/dist/steps.js +29 -24
  393. package/dist/steps.js.map +1 -1
  394. package/dist/surface-BHJgIDz9.js +24 -0
  395. package/dist/surface-BHJgIDz9.js.map +1 -0
  396. package/dist/surface-DW78bc8W.cjs +7 -0
  397. package/dist/surface-DW78bc8W.cjs.map +1 -0
  398. package/dist/surface.cjs +1 -1
  399. package/dist/surface.js +1 -1
  400. package/dist/switch.cjs +2 -2
  401. package/dist/switch.cjs.map +1 -1
  402. package/dist/switch.js +7 -5
  403. package/dist/switch.js.map +1 -1
  404. package/dist/table.cjs +72 -1
  405. package/dist/table.cjs.map +1 -0
  406. package/dist/table.js +174 -2
  407. package/dist/table.js.map +1 -0
  408. package/dist/{tabs-Ce55RbwF.js → tabs-BCRVyQU1.js} +22 -22
  409. package/dist/tabs-BCRVyQU1.js.map +1 -0
  410. package/dist/tabs-EIEhkEUb.cjs +31 -0
  411. package/dist/tabs-EIEhkEUb.cjs.map +1 -0
  412. package/dist/tabs.cjs +1 -1
  413. package/dist/tabs.js +1 -1
  414. package/dist/teleport.cjs +1 -1
  415. package/dist/teleport.js +2 -2
  416. package/dist/{textarea-DjN1D9u0.js → textarea-DApOhSAL.js} +30 -28
  417. package/dist/textarea-DApOhSAL.js.map +1 -0
  418. package/dist/textarea-zxNlRLVm.cjs +39 -0
  419. package/dist/textarea-zxNlRLVm.cjs.map +1 -0
  420. package/dist/textarea.cjs +1 -1
  421. package/dist/textarea.js +1 -1
  422. package/dist/{theme-pbxlt72h.js → theme-BCUjQH6-.js} +45 -41
  423. package/dist/{theme-pbxlt72h.js.map → theme-BCUjQH6-.js.map} +1 -1
  424. package/dist/theme-Z43TLE61.cjs +181 -0
  425. package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Z43TLE61.cjs.map} +1 -1
  426. package/dist/theme-button-Czsdp3o1.cjs +8 -0
  427. package/dist/theme-button-Czsdp3o1.cjs.map +1 -0
  428. package/dist/{theme-button-CEMeAUOL.js → theme-button-DdSbcivT.js} +3 -4
  429. package/dist/theme-button-DdSbcivT.js.map +1 -0
  430. package/dist/theme-button.cjs +1 -1
  431. package/dist/theme-button.js +1 -1
  432. package/dist/theme.cjs +1 -1
  433. package/dist/{theme.events-NuihzD_p.js.map → theme.events-Cv7N4Toe.js.map} +1 -1
  434. package/dist/{theme.events-DakXxZeP.cjs.map → theme.events-DM4H5F2d.cjs.map} +1 -1
  435. package/dist/{theme.interface-DTwkuAKJ.cjs.map → theme.interface-D9l33b-M.cjs.map} +1 -1
  436. package/dist/{theme.interface-Buged9Cg.js.map → theme.interface-DnVNre4O.js.map} +1 -1
  437. package/dist/theme.js +5 -5
  438. package/dist/{theme.service-cOfPrtfe.js → theme.service-9clsqyee.js} +4 -4
  439. package/dist/theme.service-9clsqyee.js.map +1 -0
  440. package/dist/theme.service-CP71ojp6.cjs +1 -0
  441. package/dist/theme.service-CP71ojp6.cjs.map +1 -0
  442. package/dist/timeline.cjs +277 -0
  443. package/dist/timeline.cjs.map +1 -0
  444. package/dist/timeline.js +326 -0
  445. package/dist/timeline.js.map +1 -0
  446. package/dist/tree.cjs +2 -2
  447. package/dist/tree.cjs.map +1 -1
  448. package/dist/tree.js +15 -13
  449. package/dist/tree.js.map +1 -1
  450. package/dist/typewriter.cjs +10 -123
  451. package/dist/typewriter.cjs.map +1 -1
  452. package/dist/typewriter.js +90 -212
  453. package/dist/typewriter.js.map +1 -1
  454. package/dist/typography.cjs +3 -3
  455. package/dist/typography.cjs.map +1 -1
  456. package/dist/typography.js +18 -112
  457. package/dist/typography.js.map +1 -1
  458. package/dist/utils-Cr-YO4Np.cjs +1 -0
  459. package/dist/utils-Cr-YO4Np.cjs.map +1 -0
  460. package/dist/{utils-Bp2jhyZc.js → utils-hp-DnFf5.js} +16 -6
  461. package/dist/utils-hp-DnFf5.js.map +1 -0
  462. package/dist/utils.cjs +1 -1
  463. package/dist/utils.js +4 -5
  464. package/dist/visually-hidden.cjs +2 -2
  465. package/dist/visually-hidden.cjs.map +1 -1
  466. package/dist/visually-hidden.js +7 -5
  467. package/dist/visually-hidden.js.map +1 -1
  468. package/dist/window-DTgKAQgz.cjs +59 -0
  469. package/dist/window-DTgKAQgz.cjs.map +1 -0
  470. package/dist/{window-CrjZdf7Y.js → window-moDKyGLZ.js} +28 -30
  471. package/dist/window-moDKyGLZ.js.map +1 -0
  472. package/dist/window.cjs +1 -1
  473. package/dist/window.js +1 -1
  474. package/package.json +14 -2
  475. package/plugins/vite-plugin-schmancy-auto-import.ts +143 -0
  476. package/plugins/vite-plugin-schmancy-manifest.ts +438 -0
  477. package/skills/schmancy/INDEX.md +1 -1
  478. package/skills/schmancy/SKILL.md +17 -5
  479. package/skills/schmancy/mixins.md +78 -20
  480. package/skills/schmancy/state.md +501 -0
  481. package/skills/schmancy/theme.md +15 -0
  482. package/skills/schmancy/timeline-tile.md +95 -0
  483. package/src/agent/agent-bundle.test.ts +0 -49
  484. package/src/agent/agent-entry.ts +4 -3
  485. package/src/agent/helpers.ts +1 -95
  486. package/src/agent/schmancy-skill.ts +2 -5
  487. package/src/agent/virtual-manifest.d.ts +1 -12
  488. package/src/area/area.component.ts +7 -19
  489. package/src/area/area.service.test.ts +4 -5
  490. package/src/area/area.service.ts +4 -3
  491. package/src/area/route.component.ts +17 -4
  492. package/src/area/utils.ts +3 -2
  493. package/src/audio/sound.service.ts +7 -11
  494. package/src/autocomplete/autocomplete.ts +18 -21
  495. package/src/{avatar.ts → avatar/avatar.ts} +2 -2
  496. package/src/avatar/index.ts +1 -0
  497. package/src/badge/badge.ts +4 -3
  498. package/src/boat/boat.ts +28 -36
  499. package/src/breadcrumb/breadcrumb.ts +11 -19
  500. package/src/busy/busy.ts +4 -3
  501. package/src/busy/spinner.ts +4 -3
  502. package/src/button/button.ts +6 -11
  503. package/src/button/icon-button.ts +8 -12
  504. package/src/card/actions.ts +4 -12
  505. package/src/card/card.ts +5 -23
  506. package/src/card/content.ts +4 -12
  507. package/src/card/media.ts +4 -9
  508. package/src/charts/area-chart.ts +7 -4
  509. package/src/charts/pills.ts +6 -4
  510. package/src/checkbox/checkbox.test.ts +2 -2
  511. package/src/checkbox/checkbox.ts +3 -9
  512. package/src/chips/assist-chip.ts +6 -14
  513. package/src/chips/chips.ts +7 -21
  514. package/src/chips/filter-chip.ts +4 -3
  515. package/src/chips/input-chip.ts +10 -9
  516. package/src/chips/suggestion-chip.ts +10 -12
  517. package/src/code-highlight/code-highlight.ts +28 -59
  518. package/src/code-highlight/code-preview.ts +11 -9
  519. package/src/connectivity/connectivity-status.ts +4 -3
  520. package/src/content-drawer/drawer.ts +5 -3
  521. package/src/content-drawer/main.ts +5 -3
  522. package/src/content-drawer/sheet.ts +6 -4
  523. package/src/date-range/date-range-dialog.ts +2 -2
  524. package/src/date-range/date-range.ts +3 -2
  525. package/src/delay/delay.ts +2 -2
  526. package/src/details/details.ts +4 -17
  527. package/src/dialog/dialog-service.ts +2 -0
  528. package/src/dialog/dialog.component.ts +9 -9
  529. package/src/directives/drag.ts +1 -9
  530. package/src/directives/index.ts +0 -1
  531. package/src/discovery/discovery.service.ts +1 -1
  532. package/src/divider/divider.ts +5 -14
  533. package/src/dropdown/dropdown-component.ts +5 -16
  534. package/src/dropdown/dropdown-content.ts +7 -14
  535. package/src/expand/expand-root.component.ts +5 -15
  536. package/src/expand/expand.component.ts +4 -17
  537. package/src/extra/countries/countries.ts +5 -13
  538. package/src/extra/timezone/timezone.ts +7 -12
  539. package/src/form/form.test.ts +2 -2
  540. package/src/form/form.ts +2 -9
  541. package/src/icons/icon.ts +4 -3
  542. package/src/iframe/iframe.ts +13 -4
  543. package/src/index.ts +3 -3
  544. package/src/input/input.ts +4 -11
  545. package/src/json/json.ts +4 -3
  546. package/src/kbd/kbd.ts +4 -3
  547. package/src/layout/index.ts +1 -5
  548. package/src/layout/scroll/scroll.ts +5 -8
  549. package/src/lightbox/flip-directive.ts +1 -1
  550. package/src/lightbox/lightbox.ts +5 -14
  551. package/src/list/list-item.ts +4 -13
  552. package/src/list/list.ts +12 -10
  553. package/src/mailbox/email-editor.ts +17 -11
  554. package/src/mailbox/email-layout-selector.ts +2 -2
  555. package/src/mailbox/email-recipients.ts +13 -8
  556. package/src/mailbox/email-template-picker.ts +6 -5
  557. package/src/mailbox/email-viewer.ts +5 -3
  558. package/src/mailbox/mailbox.ts +6 -5
  559. package/src/map/map.ts +8 -6
  560. package/src/menu/menu-item.ts +5 -16
  561. package/src/menu/menu.ts +27 -13
  562. package/src/nav-drawer/appbar.ts +4 -14
  563. package/src/nav-drawer/content.ts +5 -14
  564. package/src/nav-drawer/drawer.ts +5 -18
  565. package/src/nav-drawer/navbar.ts +3 -17
  566. package/src/navigation-bar/navigation-bar-item.ts +8 -6
  567. package/src/navigation-bar/navigation-bar.ts +19 -19
  568. package/src/navigation-rail/navigation-rail-item.ts +9 -5
  569. package/src/navigation-rail/navigation-rail.ts +10 -14
  570. package/src/notification/notification.ts +6 -3
  571. package/src/option/option.ts +4 -3
  572. package/src/overlay/overlay.animations.ts +196 -25
  573. package/src/overlay/overlay.component.ts +397 -190
  574. package/src/overlay/overlay.confirm-body.ts +21 -7
  575. package/src/overlay/overlay.gestures.ts +72 -36
  576. package/src/overlay/overlay.layout.ts +103 -1
  577. package/src/overlay/overlay.positioning.ts +301 -0
  578. package/src/overlay/overlay.service.ts +81 -3
  579. package/src/overlay/overlay.stack.ts +8 -4
  580. package/src/overlay/overlay.types.ts +83 -5
  581. package/src/page/page.ts +16 -11
  582. package/src/payment-card-form/index.ts +1 -0
  583. package/src/{components/form-elements → payment-card-form}/payment-card-form.ts +23 -23
  584. package/src/progress/progress.ts +5 -3
  585. package/src/qr-scanner/qr-scanner.ts +7 -30
  586. package/src/radio-group/radio-button.ts +3 -13
  587. package/src/radio-group/radio-group.ts +5 -22
  588. package/src/range/range.ts +4 -3
  589. package/src/rxjs-utils/waitForElements.ts +1 -1
  590. package/src/rxjs-utils/waitForElementsAll.ts +1 -1
  591. package/src/select/select.ts +10 -18
  592. package/src/sheet/hook.ts +1 -1
  593. package/src/sheet/sheet.ts +5 -20
  594. package/src/skeleton/skeleton.ts +4 -3
  595. package/src/slider/slide.ts +5 -3
  596. package/src/slider/slider.ts +5 -3
  597. package/src/splash-screen/splash-screen.ts +5 -3
  598. package/src/state/CLAUDE.md +161 -0
  599. package/src/state/MIGRATION.md +258 -0
  600. package/src/state/SCOPING.md +134 -0
  601. package/src/state/active-host.ts +156 -0
  602. package/src/state/index.ts +877 -0
  603. package/src/state/persist.ts +208 -0
  604. package/src/state/schmancy-context.ts +84 -0
  605. package/src/state/state.test-d.ts +227 -0
  606. package/src/state/state.test.ts +820 -0
  607. package/src/steps/schmancy-step.ts +5 -3
  608. package/src/steps/schmancy-steps-container.ts +5 -3
  609. package/src/surface/surface.ts +14 -9
  610. package/src/switch/switch.test.ts +2 -2
  611. package/src/switch/switch.ts +8 -10
  612. package/src/table/row.ts +7 -4
  613. package/src/table/table.ts +17 -14
  614. package/src/tabs/index.ts +0 -2
  615. package/src/tabs/tab.ts +2 -2
  616. package/src/tabs/tabs-group.ts +7 -4
  617. package/src/teleport/teleport.component.ts +5 -3
  618. package/src/textarea/textarea.ts +6 -12
  619. package/src/theme/theme-audio-player.ts +7 -5
  620. package/src/theme/theme-controller.ts +2 -2
  621. package/src/theme/theme.component.ts +22 -15
  622. package/src/theme/theme.service.ts +6 -7
  623. package/src/theme/theme.style.css +1 -0
  624. package/src/theme-button/theme-button.ts +2 -2
  625. package/src/timeline/index.ts +1 -0
  626. package/src/timeline/timeline-tile.ts +431 -0
  627. package/src/tree/tree.ts +4 -16
  628. package/src/typewriter/index.ts +1 -1
  629. package/src/typography/typography.ts +5 -98
  630. package/src/utils/intersection.ts +5 -1
  631. package/src/utils/overlay-stack.ts +1 -1
  632. package/src/utils/search.ts +2 -2
  633. package/src/visually-hidden/visually-hidden.ts +4 -3
  634. package/src/window/window-position.ts +3 -6
  635. package/src/window/window.ts +9 -7
  636. package/types/mixins/SchmancyElement.d.ts +49 -0
  637. package/types/mixins/formField.mixin.d.ts +4 -2
  638. package/types/mixins/index.d.ts +1 -0
  639. package/types/mixins/litElement.mixin.d.ts +11 -0
  640. package/types/src/agent/agent-entry.d.ts +1 -1
  641. package/types/src/agent/helpers.d.ts +0 -26
  642. package/types/src/agent/schmancy-skill.d.ts +3 -5
  643. package/types/src/area/area.component.d.ts +3 -17
  644. package/types/src/area/route.component.d.ts +14 -4
  645. package/types/src/autocomplete/autocomplete.d.ts +4 -15
  646. package/types/src/{avatar.d.ts → avatar/avatar.d.ts} +2 -3
  647. package/types/src/avatar/index.d.ts +1 -0
  648. package/types/src/badge/badge.d.ts +3 -3
  649. package/types/src/boat/boat.d.ts +3 -2
  650. package/types/src/breadcrumb/breadcrumb.d.ts +9 -19
  651. package/types/src/busy/busy.d.ts +3 -3
  652. package/types/src/busy/spinner.d.ts +3 -3
  653. package/types/src/button/button.d.ts +4 -10
  654. package/types/src/button/icon-button.d.ts +5 -11
  655. package/types/src/card/actions.d.ts +3 -12
  656. package/types/src/card/card.d.ts +4 -24
  657. package/types/src/card/content.d.ts +3 -12
  658. package/types/src/card/media.d.ts +3 -9
  659. package/types/src/charts/area-chart.d.ts +3 -3
  660. package/types/src/charts/pills.d.ts +3 -3
  661. package/types/src/checkbox/checkbox.d.ts +3 -10
  662. package/types/src/chips/assist-chip.d.ts +5 -15
  663. package/types/src/chips/chips.d.ts +3 -17
  664. package/types/src/chips/filter-chip.d.ts +3 -3
  665. package/types/src/chips/input-chip.d.ts +9 -10
  666. package/types/src/chips/suggestion-chip.d.ts +9 -13
  667. package/types/src/code-highlight/code-highlight.d.ts +4 -11
  668. package/types/src/code-highlight/code-preview.d.ts +3 -3
  669. package/types/src/connectivity/connectivity-status.d.ts +3 -3
  670. package/types/src/content-drawer/drawer.d.ts +4 -4
  671. package/types/src/content-drawer/main.d.ts +3 -3
  672. package/types/src/content-drawer/sheet.d.ts +4 -4
  673. package/types/src/date-range/date-range-dialog.d.ts +2 -3
  674. package/types/src/date-range/date-range.d.ts +2 -3
  675. package/types/src/delay/delay.d.ts +2 -3
  676. package/types/src/details/details.d.ts +3 -14
  677. package/types/src/dialog/dialog.component.d.ts +9 -9
  678. package/types/src/directives/drag.d.ts +1 -3
  679. package/types/src/directives/index.d.ts +0 -1
  680. package/types/src/divider/divider.d.ts +3 -14
  681. package/types/src/dropdown/dropdown-component.d.ts +4 -17
  682. package/types/src/dropdown/dropdown-content.d.ts +6 -14
  683. package/types/src/expand/expand-root.component.d.ts +4 -14
  684. package/types/src/expand/expand.component.d.ts +3 -17
  685. package/types/src/extra/countries/countries.d.ts +3 -13
  686. package/types/src/extra/timezone/timezone.d.ts +4 -11
  687. package/types/src/form/form.d.ts +2 -9
  688. package/types/src/icons/icon.d.ts +3 -3
  689. package/types/src/iframe/iframe.d.ts +5 -3
  690. package/types/src/index.d.ts +3 -3
  691. package/types/src/input/input.d.ts +4 -11
  692. package/types/src/json/json.d.ts +3 -3
  693. package/types/src/kbd/kbd.d.ts +3 -3
  694. package/types/src/layout/index.d.ts +0 -4
  695. package/types/src/layout/scroll/scroll.d.ts +4 -8
  696. package/types/src/lightbox/lightbox.d.ts +3 -14
  697. package/types/src/list/list-item.d.ts +3 -13
  698. package/types/src/list/list.d.ts +11 -10
  699. package/types/src/mailbox/email-editor.d.ts +3 -3
  700. package/types/src/mailbox/email-layout-selector.d.ts +2 -3
  701. package/types/src/mailbox/email-recipients.d.ts +7 -3
  702. package/types/src/mailbox/email-template-picker.d.ts +4 -4
  703. package/types/src/mailbox/email-viewer.d.ts +3 -3
  704. package/types/src/mailbox/mailbox.d.ts +4 -4
  705. package/types/src/map/map.d.ts +4 -3
  706. package/types/src/menu/menu-item.d.ts +3 -16
  707. package/types/src/menu/menu.d.ts +25 -13
  708. package/types/src/nav-drawer/appbar.d.ts +3 -14
  709. package/types/src/nav-drawer/content.d.ts +3 -14
  710. package/types/src/nav-drawer/drawer.d.ts +3 -18
  711. package/types/src/nav-drawer/navbar.d.ts +3 -18
  712. package/types/src/navigation-bar/navigation-bar-item.d.ts +7 -6
  713. package/types/src/navigation-bar/navigation-bar.d.ts +13 -7
  714. package/types/src/navigation-rail/navigation-rail-item.d.ts +9 -6
  715. package/types/src/navigation-rail/navigation-rail.d.ts +10 -15
  716. package/types/src/notification/notification.d.ts +3 -3
  717. package/types/src/option/option.d.ts +3 -3
  718. package/types/src/overlay/overlay.animations.d.ts +54 -5
  719. package/types/src/overlay/overlay.component.d.ts +39 -15
  720. package/types/src/overlay/overlay.confirm-body.d.ts +4 -4
  721. package/types/src/overlay/overlay.gestures.d.ts +26 -17
  722. package/types/src/overlay/overlay.layout.d.ts +27 -1
  723. package/types/src/overlay/overlay.positioning.d.ts +87 -0
  724. package/types/src/overlay/overlay.types.d.ts +59 -5
  725. package/types/src/page/page.d.ts +14 -11
  726. package/types/src/{components/form-elements → payment-card-form}/payment-card-form.d.ts +2 -3
  727. package/types/src/progress/progress.d.ts +3 -3
  728. package/types/src/qr-scanner/qr-scanner.d.ts +3 -3
  729. package/types/src/radio-group/radio-button.d.ts +3 -12
  730. package/types/src/radio-group/radio-group.d.ts +4 -20
  731. package/types/src/range/range.d.ts +3 -3
  732. package/types/src/rxjs-utils/waitForElements.d.ts +1 -1
  733. package/types/src/rxjs-utils/waitForElementsAll.d.ts +1 -1
  734. package/types/src/select/select.d.ts +4 -15
  735. package/types/src/sheet/sheet.d.ts +3 -20
  736. package/types/src/skeleton/skeleton.d.ts +3 -3
  737. package/types/src/slider/slide.d.ts +3 -2
  738. package/types/src/slider/slider.d.ts +3 -3
  739. package/types/src/splash-screen/splash-screen.d.ts +3 -3
  740. package/types/src/state/active-host.d.ts +18 -0
  741. package/types/src/state/index.d.ts +145 -0
  742. package/types/src/state/persist.d.ts +14 -0
  743. package/types/src/state/schmancy-context.d.ts +31 -0
  744. package/types/src/state/state.test-d.d.ts +131 -0
  745. package/types/src/state/state.test.d.ts +1 -0
  746. package/types/src/steps/schmancy-step.d.ts +3 -3
  747. package/types/src/steps/schmancy-steps-container.d.ts +3 -3
  748. package/types/src/surface/surface.d.ts +13 -5
  749. package/types/src/switch/switch.d.ts +7 -11
  750. package/types/src/table/row.d.ts +2 -3
  751. package/types/src/table/table.d.ts +4 -11
  752. package/types/src/tabs/index.d.ts +0 -2
  753. package/types/src/tabs/tab.d.ts +2 -3
  754. package/types/src/tabs/tabs-group.d.ts +3 -3
  755. package/types/src/teleport/teleport.component.d.ts +3 -3
  756. package/types/src/textarea/textarea.d.ts +5 -12
  757. package/types/src/theme/theme-audio-player.d.ts +3 -3
  758. package/types/src/theme/theme-controller.d.ts +2 -2
  759. package/types/src/theme/theme.component.d.ts +18 -13
  760. package/types/src/theme-button/theme-button.d.ts +2 -3
  761. package/types/src/timeline/index.d.ts +1 -0
  762. package/types/src/timeline/timeline-tile.d.ts +44 -0
  763. package/types/src/tree/tree.d.ts +3 -16
  764. package/types/src/typewriter/index.d.ts +1 -1
  765. package/types/src/typography/typography.d.ts +3 -36
  766. package/types/src/visually-hidden/visually-hidden.d.ts +3 -3
  767. package/types/src/window/window.d.ts +3 -3
  768. package/dist/agent/index.es-Dymj8REP.js +0 -489
  769. package/dist/agent/index.es-Dymj8REP.js.map +0 -1
  770. package/dist/area-BGBCMC79.js.map +0 -1
  771. package/dist/area-D7l9KR2N.cjs +0 -12
  772. package/dist/area-D7l9KR2N.cjs.map +0 -1
  773. package/dist/autocomplete-BPD5uraA.cjs +0 -115
  774. package/dist/autocomplete-BPD5uraA.cjs.map +0 -1
  775. package/dist/autocomplete-C2P0Soht.js.map +0 -1
  776. package/dist/boat-BkIO-0No.cjs +0 -80
  777. package/dist/boat-BkIO-0No.cjs.map +0 -1
  778. package/dist/boat-DXZ0k7oa.js.map +0 -1
  779. package/dist/busy-DGYhpTnO.cjs.map +0 -1
  780. package/dist/busy-iRjq6Nvd.js.map +0 -1
  781. package/dist/card-DjYnCckw.cjs.map +0 -1
  782. package/dist/card-wUTjx0EC.js.map +0 -1
  783. package/dist/checkbox-CiYEtw9F.cjs +0 -39
  784. package/dist/checkbox-CiYEtw9F.cjs.map +0 -1
  785. package/dist/checkbox-VBSenxgb.js.map +0 -1
  786. package/dist/chips-BDS9lkPa.js.map +0 -1
  787. package/dist/chips-D6ptH5re.cjs.map +0 -1
  788. package/dist/code-highlight-Bi91XHJN.js.map +0 -1
  789. package/dist/code-highlight-BzRmBZzz.cjs.map +0 -1
  790. package/dist/components-DkmEgyAc.cjs +0 -73
  791. package/dist/components.cjs +0 -1
  792. package/dist/components.js +0 -2
  793. package/dist/context-BerzpUhI.js +0 -3
  794. package/dist/context-C6dHUHhi.cjs +0 -1
  795. package/dist/date-range-BmFxTXiU.cjs +0 -131
  796. package/dist/date-range-BmFxTXiU.cjs.map +0 -1
  797. package/dist/date-range-ClTMg1AB.js.map +0 -1
  798. package/dist/date-range-inline-B9Dp2z6C.cjs +0 -43
  799. package/dist/delay-BHODnTg-.cjs +0 -9
  800. package/dist/delay-BHODnTg-.cjs.map +0 -1
  801. package/dist/delay-Dlk0A3he.js +0 -347
  802. package/dist/delay-Dlk0A3he.js.map +0 -1
  803. package/dist/details-CPjlqQD4.js.map +0 -1
  804. package/dist/details-Cz9ok9si.cjs.map +0 -1
  805. package/dist/dialog-service-CzDO08Gy.cjs.map +0 -1
  806. package/dist/dialog-service-DH-tjPuE.js.map +0 -1
  807. package/dist/divider-CILo3_vi.cjs.map +0 -1
  808. package/dist/divider-ghgyw5CU.js.map +0 -1
  809. package/dist/expand-CbjBr_Ds.js.map +0 -1
  810. package/dist/expand-r3OrSoDk.cjs +0 -141
  811. package/dist/expand-r3OrSoDk.cjs.map +0 -1
  812. package/dist/extra-BZeZOMBI.cjs.map +0 -1
  813. package/dist/extra-DK9MQtPJ.js.map +0 -1
  814. package/dist/float-CuZ8LOgB.cjs +0 -1
  815. package/dist/flow-BPDtbhLe.js +0 -386
  816. package/dist/flow-BPDtbhLe.js.map +0 -1
  817. package/dist/flow-Dn9AZktE.cjs +0 -1
  818. package/dist/flow-Dn9AZktE.cjs.map +0 -1
  819. package/dist/form-rCZqoAoK.js.map +0 -1
  820. package/dist/form-wI58M85H.cjs.map +0 -1
  821. package/dist/handover/agent-runtime-v2-loopback.md +0 -71
  822. package/dist/handover/claude-design-v2-paste.md +0 -42
  823. package/dist/icons-Drq4kKy2.js.map +0 -1
  824. package/dist/icons-DtdhaZdc.cjs +0 -52
  825. package/dist/icons-DtdhaZdc.cjs.map +0 -1
  826. package/dist/iframe-BkwwWIbQ.cjs +0 -24
  827. package/dist/iframe-BkwwWIbQ.cjs.map +0 -1
  828. package/dist/iframe-BmyHW8km.js.map +0 -1
  829. package/dist/index.es-BgmFX1JM.cjs +0 -1
  830. package/dist/index.es-BgmFX1JM.cjs.map +0 -1
  831. package/dist/index.es-CLyb_o3Y.js +0 -489
  832. package/dist/index.es-CLyb_o3Y.js.map +0 -1
  833. package/dist/input-BGNZlfL8.cjs.map +0 -1
  834. package/dist/input-Bc3bVISm.js.map +0 -1
  835. package/dist/input-chip-BQrjpjaQ.js.map +0 -1
  836. package/dist/input-chip-DN-cwf11.cjs.map +0 -1
  837. package/dist/intersection-BrXp4YTO.js +0 -12
  838. package/dist/intersection-BrXp4YTO.js.map +0 -1
  839. package/dist/intersection-DqBqnpgh.cjs +0 -1
  840. package/dist/intersection-DqBqnpgh.cjs.map +0 -1
  841. package/dist/layout-7eyMBmZk.cjs +0 -17
  842. package/dist/layout-7eyMBmZk.cjs.map +0 -1
  843. package/dist/layout-Ox6nJkzC.js +0 -268
  844. package/dist/layout-Ox6nJkzC.js.map +0 -1
  845. package/dist/lightbox-CY52Z_ig.js.map +0 -1
  846. package/dist/lightbox-H8Uq3AXy.cjs +0 -202
  847. package/dist/lightbox-H8Uq3AXy.cjs.map +0 -1
  848. package/dist/list-BGjVo6zb.cjs +0 -40
  849. package/dist/list-BGjVo6zb.cjs.map +0 -1
  850. package/dist/list-D7wUxu1C.js.map +0 -1
  851. package/dist/litElement.mixin-CszkJuNl.js +0 -12
  852. package/dist/litElement.mixin-CszkJuNl.js.map +0 -1
  853. package/dist/litElement.mixin-qh5-IIUq.cjs +0 -1
  854. package/dist/litElement.mixin-qh5-IIUq.cjs.map +0 -1
  855. package/dist/mailbox--EN-JhjV.js.map +0 -1
  856. package/dist/mailbox-DLiBGJhY.cjs.map +0 -1
  857. package/dist/map-B0S_q3ma.js.map +0 -1
  858. package/dist/map-EDQN0I6e.cjs +0 -80
  859. package/dist/map-EDQN0I6e.cjs.map +0 -1
  860. package/dist/menu-3edZGQ1x.cjs.map +0 -1
  861. package/dist/menu-COeFpb6n.js.map +0 -1
  862. package/dist/metric.cjs +0 -69
  863. package/dist/metric.cjs.map +0 -1
  864. package/dist/metric.js +0 -93
  865. package/dist/metric.js.map +0 -1
  866. package/dist/mixins.cjs.map +0 -1
  867. package/dist/mixins.js.map +0 -1
  868. package/dist/notification-CC-TFN5v.js.map +0 -1
  869. package/dist/notification-P4c-kFdH.cjs +0 -23
  870. package/dist/notification-P4c-kFdH.cjs.map +0 -1
  871. package/dist/option-BwAF4nAw.js.map +0 -1
  872. package/dist/option-Cu0ertuF.cjs +0 -43
  873. package/dist/option-Cu0ertuF.cjs.map +0 -1
  874. package/dist/progress-Bk_Q1Shy.js.map +0 -1
  875. package/dist/progress-Yz6EMNSu.cjs.map +0 -1
  876. package/dist/provide-CYgj58u_.cjs +0 -1
  877. package/dist/provide-CYgj58u_.cjs.map +0 -1
  878. package/dist/provide-ydIskwf2.js +0 -107
  879. package/dist/provide-ydIskwf2.js.map +0 -1
  880. package/dist/radio-group-BcdcjLNC.js.map +0 -1
  881. package/dist/radio-group-BpBz5tRA.cjs +0 -40
  882. package/dist/radio-group-BpBz5tRA.cjs.map +0 -1
  883. package/dist/scroll-DXQv0ejL.js.map +0 -1
  884. package/dist/scroll-DbZMTv0K.cjs +0 -26
  885. package/dist/scroll-DbZMTv0K.cjs.map +0 -1
  886. package/dist/search-CwMav5QB.cjs +0 -1
  887. package/dist/select-BV4lK2zy.cjs.map +0 -1
  888. package/dist/select-DKyGWDsG.js.map +0 -1
  889. package/dist/sheet-BAI_jH1t.cjs +0 -35
  890. package/dist/sheet-BAI_jH1t.cjs.map +0 -1
  891. package/dist/sheet-C3TLKItO.js.map +0 -1
  892. package/dist/sheet.service-RcDBwHmv.cjs +0 -1
  893. package/dist/skills/schmancy/store.md +0 -126
  894. package/dist/skills/store.md +0 -126
  895. package/dist/sound.service-BEN6Xjy_.cjs +0 -1
  896. package/dist/sound.service-BEN6Xjy_.cjs.map +0 -1
  897. package/dist/sound.service-DWZe6swU.js.map +0 -1
  898. package/dist/splash-screen-DbI5RgBf.js.map +0 -1
  899. package/dist/splash-screen-DoHRTHi8.cjs +0 -41
  900. package/dist/splash-screen-DoHRTHi8.cjs.map +0 -1
  901. package/dist/src-00DfxCJq.js.map +0 -1
  902. package/dist/src-C_JjQovE.cjs +0 -269
  903. package/dist/src-C_JjQovE.cjs.map +0 -1
  904. package/dist/store-CjFHCSDb.cjs +0 -1
  905. package/dist/store-CjFHCSDb.cjs.map +0 -1
  906. package/dist/store-CjzZDQt8.js +0 -1654
  907. package/dist/store-CjzZDQt8.js.map +0 -1
  908. package/dist/store.cjs +0 -1
  909. package/dist/store.js +0 -2
  910. package/dist/surface-D-GWBcsh.cjs +0 -7
  911. package/dist/surface-D-GWBcsh.cjs.map +0 -1
  912. package/dist/surface-D23JtxYP.js +0 -22
  913. package/dist/surface-D23JtxYP.js.map +0 -1
  914. package/dist/surface.mixin-DqMwoddO.js +0 -320
  915. package/dist/surface.mixin-DqMwoddO.js.map +0 -1
  916. package/dist/surface.mixin-DxOi-xo0.cjs +0 -297
  917. package/dist/surface.mixin-DxOi-xo0.cjs.map +0 -1
  918. package/dist/table-C7b73kdg.cjs +0 -63
  919. package/dist/table-C7b73kdg.cjs.map +0 -1
  920. package/dist/table-CTrhV9-k.js +0 -631
  921. package/dist/table-CTrhV9-k.js.map +0 -1
  922. package/dist/tabs-Ce55RbwF.js.map +0 -1
  923. package/dist/tabs-DAzB8O7w.cjs +0 -31
  924. package/dist/tabs-DAzB8O7w.cjs.map +0 -1
  925. package/dist/tailwind.mixin-DRI1oTYQ.cjs +0 -2
  926. package/dist/tailwind.mixin-DRI1oTYQ.cjs.map +0 -1
  927. package/dist/tailwind.mixin-mdQR3BEO.js +0 -219
  928. package/dist/tailwind.mixin-mdQR3BEO.js.map +0 -1
  929. package/dist/textarea-DjN1D9u0.js.map +0 -1
  930. package/dist/textarea-PuHxBvJA.cjs +0 -39
  931. package/dist/textarea-PuHxBvJA.cjs.map +0 -1
  932. package/dist/theme-B-IJ2r7Q.cjs +0 -181
  933. package/dist/theme-button-BSbYmS4p.cjs +0 -8
  934. package/dist/theme-button-BSbYmS4p.cjs.map +0 -1
  935. package/dist/theme-button-CEMeAUOL.js.map +0 -1
  936. package/dist/theme.service-DxJPUGlu.cjs +0 -1
  937. package/dist/theme.service-DxJPUGlu.cjs.map +0 -1
  938. package/dist/theme.service-cOfPrtfe.js.map +0 -1
  939. package/dist/tslib.es6-Cnt75pb6.cjs +0 -1
  940. package/dist/tslib.es6-Cnt75pb6.cjs.map +0 -1
  941. package/dist/tslib.es6-DMzzJKHV.js +0 -7
  942. package/dist/tslib.es6-DMzzJKHV.js.map +0 -1
  943. package/dist/utils-Bp2jhyZc.js.map +0 -1
  944. package/dist/utils-CBPQvxNW.cjs +0 -1
  945. package/dist/utils-CBPQvxNW.cjs.map +0 -1
  946. package/dist/window-CrjZdf7Y.js.map +0 -1
  947. package/dist/window-DTUARSrU.cjs +0 -59
  948. package/dist/window-DTUARSrU.cjs.map +0 -1
  949. package/skills/schmancy/store.md +0 -126
  950. package/src/components/form-elements/index.ts +0 -1
  951. package/src/components/index.ts +0 -1
  952. package/src/layout/flex/flex.scss +0 -4
  953. package/src/layout/flex/flex.ts +0 -74
  954. package/src/layout/flex/index.ts +0 -1
  955. package/src/layout/grid/.readme +0 -79
  956. package/src/layout/grid/grid.scss +0 -5
  957. package/src/layout/grid/grid.ts +0 -121
  958. package/src/layout/grid/index.ts +0 -1
  959. package/src/layout/layout.ts +0 -122
  960. package/src/layout/v2/flex.ts +0 -243
  961. package/src/layout/v2/index.ts +0 -1
  962. package/src/metric/index.ts +0 -1
  963. package/src/metric/metric.ts +0 -127
  964. package/src/store/context-array.ts +0 -358
  965. package/src/store/context-collection.ts +0 -218
  966. package/src/store/context-create.ts +0 -284
  967. package/src/store/context-object.ts +0 -298
  968. package/src/store/filter-directive.ts +0 -614
  969. package/src/store/index.ts +0 -10
  970. package/src/store/selector-hook.ts +0 -259
  971. package/src/store/selectors.ts +0 -289
  972. package/src/store/storage-manager.ts +0 -269
  973. package/src/store/store.class.ts +0 -239
  974. package/src/store/types.ts +0 -327
  975. package/src/tabs/tabs-compatibility.ts +0 -20
  976. package/src/typewriter/typewriter.ts +0 -410
  977. package/types/src/area/route.test.d.ts +0 -20
  978. package/types/src/button/button.test.d.ts +0 -1
  979. package/types/src/chips/chip.d.ts +0 -3
  980. package/types/src/components/index.d.ts +0 -1
  981. package/types/src/content-drawer/$sheet.d.ts +0 -14
  982. package/types/src/dialog/dailog.d.ts +0 -116
  983. package/types/src/dialog/dialog-content.d.ts +0 -17
  984. package/types/src/directives/guard.d.ts +0 -1
  985. package/types/src/directives/visibility.d.ts +0 -11
  986. package/types/src/form/form-v2.d.ts +0 -22
  987. package/types/src/input/input-v2.d.ts +0 -250
  988. package/types/src/layout/flex/flex.d.ts +0 -26
  989. package/types/src/layout/flex/index.d.ts +0 -1
  990. package/types/src/layout/grid/grid.d.ts +0 -39
  991. package/types/src/layout/grid/index.d.ts +0 -1
  992. package/types/src/layout/layout.d.ts +0 -59
  993. package/types/src/layout/v2/flex.d.ts +0 -65
  994. package/types/src/layout/v2/grid.d.ts +0 -51
  995. package/types/src/layout/v2/index.d.ts +0 -1
  996. package/types/src/lightbox/flip.directive.d.ts +0 -22
  997. package/types/src/metric/index.d.ts +0 -1
  998. package/types/src/metric/metric.d.ts +0 -39
  999. package/types/src/notification/outlet.d.ts +0 -10
  1000. package/types/src/sheet/header.d.ts +0 -10
  1001. package/types/src/store/context-array.d.ts +0 -83
  1002. package/types/src/store/context-collection.d.ts +0 -74
  1003. package/types/src/store/context-create.d.ts +0 -43
  1004. package/types/src/store/context-object.d.ts +0 -46
  1005. package/types/src/store/filter-directive.d.ts +0 -116
  1006. package/types/src/store/immer-integration.d.ts +0 -54
  1007. package/types/src/store/index.d.ts +0 -10
  1008. package/types/src/store/selector-hook.d.ts +0 -46
  1009. package/types/src/store/selectors.d.ts +0 -90
  1010. package/types/src/store/storage-manager.d.ts +0 -48
  1011. package/types/src/store/store.class.d.ts +0 -73
  1012. package/types/src/store/types.d.ts +0 -241
  1013. package/types/src/tabs/tabs-compatibility.d.ts +0 -13
  1014. package/types/src/theme/theme.elevation.d.ts +0 -131
  1015. package/types/src/theme/theme.motion.d.ts +0 -198
  1016. package/types/src/theme/theme.shape.d.ts +0 -144
  1017. package/types/src/theme/theme.state.d.ts +0 -546
  1018. package/types/src/theme/theme.typography.d.ts +0 -74
  1019. package/types/src/tooltip/tooltip.d.ts +0 -33
  1020. package/types/src/typewriter/typewriter.d.ts +0 -94
  1021. /package/dist/agent/{flow-CvG1fLW5.js → flow-CaPi2G8y.js} +0 -0
  1022. /package/dist/agent/{vendor-material-color-DcL7ZPxx.js → vendor-material-color-Be96dpGE.js} +0 -0
  1023. /package/dist/{animation-hXFClrIn.js → animation-BK-8BwY8.js} +0 -0
  1024. /package/dist/{animation-CQRdLgzX.cjs → animation-CO_Csq84.cjs} +0 -0
  1025. /package/dist/{decorate-D_utPUsC.js → decorate-23nYs4Le.js} +0 -0
  1026. /package/dist/{decorate-F9CuyeHg.cjs → decorate-DpFmy0nm.cjs} +0 -0
  1027. /package/dist/{hashContent-B2IntJQf.js → hashContent-1ARKIsx9.js} +0 -0
  1028. /package/dist/{hashContent-CahnEuut.cjs → hashContent-Bp5S6T4U.cjs} +0 -0
  1029. /package/dist/{lazy-D6R5N5v4.js → lazy-B0ia54tT.js} +0 -0
  1030. /package/dist/{lazy-BDNnH_r7.cjs → lazy-Dq9mRRjT.cjs} +0 -0
  1031. /package/dist/{reduced-motion-BZTLqAyl.js → reduced-motion-D-L12p7G.js} +0 -0
  1032. /package/dist/{reduced-motion-9RjNnhIg.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
  1033. /package/dist/{rxjs-utils-DJbZRjp3.cjs → rxjs-utils-Csnks202.cjs} +0 -0
  1034. /package/dist/{rxjs-utils-CKTnEKUH.js → rxjs-utils-d-ivVN84.js} +0 -0
  1035. /package/dist/{theme.events-NuihzD_p.js → theme.events-Cv7N4Toe.js} +0 -0
  1036. /package/dist/{theme.events-DakXxZeP.cjs → theme.events-DM4H5F2d.cjs} +0 -0
  1037. /package/dist/{theme.interface-DTwkuAKJ.cjs → theme.interface-D9l33b-M.cjs} +0 -0
  1038. /package/dist/{theme.interface-Buged9Cg.js → theme.interface-DnVNre4O.js} +0 -0
  1039. /package/src/{directives/typewriter.ts → typewriter/typewriter.directive.ts} +0 -0
  1040. /package/types/src/{components/form-elements → payment-card-form}/index.d.ts +0 -0
  1041. /package/types/src/{directives/typewriter.d.ts → typewriter/typewriter.directive.d.ts} +0 -0
@@ -1,73 +0,0 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-qh5-IIUq.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},a=function(e,t,n,r,i,o,s,c,l,u){var d=this;d.numeralDecimalMark=e||`.`,d.numeralIntegerScale=t>0?t:0,d.numeralDecimalScale=n>=0?n:2,d.numeralThousandsGroupStyle=r||a.groupStyle.thousand,d.numeralPositiveOnly=!!i,d.stripLeadingZeroes=!1!==o,d.prefix=s||s===``?s:``,d.signBeforePrefix=!!c,d.tailPrefix=!!l,d.delimiter=u||u===``?u:`,`,d.delimiterRE=u?RegExp(`\\`+u,`g`):``};a.groupStyle={thousand:`thousand`,lakh:`lakh`,wan:`wan`,none:`none`},a.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,``).replace(this.numeralDecimalMark,`.`)},format:function(e){var t,n,r,i,o=this,s=``;switch(e=e.replace(/[A-Za-z]/g,``).replace(o.numeralDecimalMark,`M`).replace(/[^\dM-]/g,``).replace(/^\-/,`N`).replace(/\-/g,``).replace(`N`,o.numeralPositiveOnly?``:`-`).replace(`M`,o.numeralDecimalMark),o.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,`$1`)),n=e.slice(0,1)===`-`?`-`:``,r=o.prefix===void 0?n:o.signBeforePrefix?n+o.prefix:o.prefix+n,i=e,e.indexOf(o.numeralDecimalMark)>=0&&(i=(t=e.split(o.numeralDecimalMark))[0],s=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),n===`-`&&(i=i.slice(1)),o.numeralIntegerScale>0&&(i=i.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case a.groupStyle.lakh:i=i.replace(/(\d)(?=(\d\d)+\d$)/g,`$1`+o.delimiter);break;case a.groupStyle.wan:i=i.replace(/(\d)(?=(\d{4})+$)/g,`$1`+o.delimiter);break;case a.groupStyle.thousand:i=i.replace(/(\d)(?=(\d{3})+$)/g,`$1`+o.delimiter)}return o.tailPrefix?n+i.toString()+(o.numeralDecimalScale>0?s.toString():``)+o.prefix:r+i.toString()+(o.numeralDecimalScale>0?s.toString():``)}};var o=a,s=function(e,t,n){var r=this;r.date=[],r.blocks=[],r.datePattern=e,r.dateMin=t.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMin.length===2&&r.dateMin.unshift(0),r.dateMax=n.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMax.length===2&&r.dateMax.unshift(0),r.initBlocks()};s.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){t===`Y`?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+`-`+e.addLeadingZero(t[1])+`-`+e.addLeadingZero(t[0]):``},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,n=``;return e=e.replace(/[^\d]/g,``),t.blocks.forEach(function(r,i){if(e.length>0){var a=e.slice(0,r),o=a.slice(0,1),s=e.slice(r);switch(t.datePattern[i]){case`d`:a===`00`?a=`01`:parseInt(o,10)>3?a=`0`+o:parseInt(a,10)>31&&(a=`31`);break;case`m`:a===`00`?a=`01`:parseInt(o,10)>1?a=`0`+o:parseInt(a,10)>12&&(a=`12`)}n+=a,e=s}}),this.getFixedDateString(n)},getFixedDateString:function(e){var t,n,r,i=this,a=i.datePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0,p=!1;return e.length===4&&a[0].toLowerCase()!==`y`&&a[1].toLowerCase()!==`y`&&(d=2-(u=a[0]===`d`?0:2),t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,n,0)),e.length===8&&(a.forEach(function(e,t){switch(e){case`d`:s=t;break;case`m`:c=t;break;default:l=t}}),f=2*l,u=s<=l?2*s:2*s+2,d=c<=l?2*c:2*c+2,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=this.getFixedDate(t,n,r)),e.length!==4||a[0]!==`y`&&a[1]!==`y`||(f=2-(d=a[0]===`m`?0:2),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),p=e.slice(f,f+2).length===2,o=[0,n,r]),e.length!==6||a[0]!==`Y`&&a[1]!==`Y`||(f=2-.5*(d=a[0]===`m`?0:4),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=[0,n,r]),o=i.getRangeFixedDate(o),i.date=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`d`:return e+(o[0]===0?``:i.addLeadingZero(o[0]));case`m`:return e+(o[1]===0?``:i.addLeadingZero(o[1]));case`y`:return e+(p?i.addLeadingZeroForYear(o[2],!1):``);case`Y`:return e+(p?i.addLeadingZeroForYear(o[2],!0):``)}},``)},getRangeFixedDate:function(e){var t=this,n=t.datePattern,r=t.dateMin||[],i=t.dateMax||[];return!e.length||r.length<3&&i.length<3||n.find(function(e){return e.toLowerCase()===`y`})&&e[2]===0?e:i.length&&(i[2]<e[2]||i[2]===e[2]&&(i[1]<e[1]||i[1]===e[1]&&i[0]<e[0]))?i:r.length&&(r[2]>e[2]||r[2]===e[2]&&(r[1]>e[1]||r[1]===e[1]&&r[0]>e[0]))?r:e},getFixedDate:function(e,t,n){return e=Math.min(e,31),t=Math.min(t,12),n=parseInt(n||0,10),(t<7&&t%2==0||t>8&&t%2==1)&&(e=Math.min(e,t===2?this.isLeapYear(n)?29:28:30)),[e,t,n]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?`0`:``)+e},addLeadingZeroForYear:function(e,t){return t?(e<10?`000`:e<100?`00`:e<1e3?`0`:``)+e:(e<10?`0`:``)+e}};var c=s,l=function(e,t){var n=this;n.time=[],n.blocks=[],n.timePattern=e,n.timeFormat=t,n.initBlocks()};l.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+`:`+e.addLeadingZero(t[1])+`:`+e.addLeadingZero(t[2]):``},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return String(this.timeFormat)===`12`?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,n=``;e=e.replace(/[^\d]/g,``);var r=t.getTimeFormatOptions();return t.blocks.forEach(function(i,a){if(e.length>0){var o=e.slice(0,i),s=o.slice(0,1),c=e.slice(i);switch(t.timePattern[a]){case`h`:parseInt(s,10)>r.maxHourFirstDigit?o=`0`+s:parseInt(o,10)>r.maxHours&&(o=r.maxHours+``);break;case`m`:case`s`:parseInt(s,10)>r.maxMinutesFirstDigit?o=`0`+s:parseInt(o,10)>r.maxMinutes&&(o=r.maxMinutes+``)}n+=o,e=c}}),this.getFixedTimeString(n)},getFixedTimeString:function(e){var t,n,r,i=this,a=i.timePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0;return e.length===6&&(a.forEach(function(e,t){switch(e){case`s`:s=2*t;break;case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,u=s,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),e.length===4&&i.timePattern.indexOf(`s`)<0&&(a.forEach(function(e,t){switch(e){case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,t=0,n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),i.time=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`s`:return e+i.addLeadingZero(o[2]);case`m`:return e+i.addLeadingZero(o[1]);case`h`:return e+i.addLeadingZero(o[0])}},``)},getFixedTime:function(e,t,n){return n=Math.min(parseInt(n||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,n]},addLeadingZero:function(e){return(e<10?`0`:``)+e}};var u=l,d=function(e,t){var n=this;n.delimiter=t||t===``?t:` `,n.delimiterRE=t?RegExp(`\\`+t,`g`):``,n.formatter=e};d.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var n,r=``,i=!1,a=0,o=(e=(e=(e=e.replace(/[^\d+]/g,``)).replace(/^\+/,`B`).replace(/\+/g,``).replace(`B`,`+`)).replace(t.delimiterRE,``)).length;a<o;a++)n=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(n)?(r=n,i=!0):i||(r=n);return r=(r=r.replace(/[()]/g,``)).replace(/[\s-]/g,t.delimiter)}};var f=d,p={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var n=p.blocks,r=p.re;for(var i in t=!!t,r)if(r[i].test(e)){var a=n[i];return{type:i,blocks:t?this.getStrictBlocks(a):a}}return{type:`unknown`,blocks:t?this.getStrictBlocks(n.general):n.general}}},m=p,h={noop:function(){},strip:function(e,t){return e.replace(t,``)},getPostDelimiter:function(e,t,n){if(n.length===0)return e.slice(-t.length)===t?t:``;var r=``;return n.forEach(function(t){e.slice(-t.length)===t&&(r=t)}),r},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,`\\$1`),`g`)},getNextCursorPosition:function(e,t,n,r,i){return t.length===e?n.length:e+this.getPositionOffset(e,t,n,r,i)},getPositionOffset:function(e,t,n,r,i){var a=this.stripDelimiters(t.slice(0,e),r,i),o=this.stripDelimiters(n.slice(0,e),r,i),s=a.length-o.length;return s===0?0:s/Math.abs(s)},stripDelimiters:function(e,t,n){var r=this;if(n.length===0){var i=t?r.getDelimiterREByDelimiter(t):``;return e.replace(i,``)}return n.forEach(function(t){t.split(``).forEach(function(t){e=e.replace(r.getDelimiterREByDelimiter(t),``)})}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,n,r,i,a,o,s,c){if(n===0)return e;if(e===t&&e!==``)return``;if(c&&e.slice(0,1)==`-`){var l=r.slice(0,1)==`-`?r.slice(1):r;return`-`+this.getPrefixStrippedValue(e.slice(1),t,n,l,i,a,o,s,c)}if(r.slice(0,n)!==t&&!s||r.slice(-n)!==t&&s)return o&&!r&&e?e:``;var u=this.stripDelimiters(r,i,a);return e.slice(0,n)===t||s?e.slice(-n)!==t&&s?u.slice(0,-n-1):s?e.slice(0,-n):e.slice(n):u.slice(n)},getFirstDiffIndex:function(e,t){for(var n=0;e.charAt(n)===t.charAt(n);)if(e.charAt(n++)===``)return-1;return n},getFormattedValue:function(e,t,n,r,i,a){var o=``,s=i.length>0,c=``;return n===0?e:(t.forEach(function(t,l){if(e.length>0){var u=e.slice(0,t),d=e.slice(t);c=s?i[a?l-1:l]||c:r,a?(l>0&&(o+=c),o+=u):(o+=u,u.length===t&&l<n-1&&(o+=c)),e=d}}),o)},fixPrefixCursor:function(e,t,n,r){if(e){var i=e.value,a=n||r[0]||` `;if(e.setSelectionRange&&t&&!(t.length+a.length<=i.length)){var o=2*i.length;setTimeout(function(){e.setSelectionRange(o,o)},1)}}},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch{}return!1},setSelection:function(e,t,n){if(e===this.getActiveElement(n)&&!(e&&e.value.length<=t))if(e.createTextRange){var r=e.createTextRange();r.move(`character`,t),r.select()}else try{e.setSelectionRange(t,t)}catch{}},getActiveElement:function(e){var t=e.activeElement;return t&&t.shadowRoot?this.getActiveElement(t.shadowRoot):t},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}},g={assign:function(e,t){return t||={},(e||={}).creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType=``,e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||`AU`,e.phoneFormatter={},e.time=!!t.time,e.timePattern=t.timePattern||[`h`,`m`,`s`],e.timeFormat=t.timeFormat||`24`,e.timeFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||[`d`,`m`,`Y`],e.dateMin=t.dateMin||``,e.dateMax=t.dateMax||``,e.dateFormatter={},e.numeral=!!t.numeral,e.numeralIntegerScale=t.numeralIntegerScale>0?t.numeralIntegerScale:0,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||`.`,e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||`thousand`,e.numeralPositiveOnly=!!t.numeralPositiveOnly,e.stripLeadingZeroes=!1!==t.stripLeadingZeroes,e.signBeforePrefix=!!t.signBeforePrefix,e.tailPrefix=!!t.tailPrefix,e.swapHiddenInput=!!t.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.date?``:t.prefix||``,e.noImmediatePrefix=!!t.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!t.rawValueTrimPrefix,e.copyDelimiter=!!t.copyDelimiter,e.initValue=t.initValue!==void 0&&t.initValue!==null?t.initValue.toString():``,e.delimiter=t.delimiter||t.delimiter===``?t.delimiter:t.date?`/`:t.time?`:`:t.numeral?`,`:(t.phone,` `),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!t.delimiterLazyShow,e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.root=typeof i==`object`&&i?i:window,e.document=t.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result=``,e.onValueChanged=t.onValueChanged||function(){},e}},_=function(e,t){var n=this;if(typeof e==`string`?(n.element=document.querySelector(e),document.querySelectorAll(e).length):e.length!==void 0&&e.length>0?(n.element=e[0],e.length):n.element=e,!n.element)throw Error(`[cleave.js] Please check the element`);t.initValue=n.element.value,n.properties=_.DefaultProperties.assign({},t),n.init()};_.prototype={init:function(){var e=this,t=e.properties;t.numeral||t.phone||t.creditCard||t.time||t.date||t.blocksLength!==0||t.prefix?(t.maxLength=_.Util.getMaxLength(t.blocks),e.isAndroid=_.Util.isAndroid(),e.lastInputValue=``,e.isBackward=``,e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener(`input`,e.onChangeListener),e.element.addEventListener(`keydown`,e.onKeyDownListener),e.element.addEventListener(`focus`,e.onFocusListener),e.element.addEventListener(`cut`,e.onCutListener),e.element.addEventListener(`copy`,e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue)):e.onInput(t.initValue)},initSwapHiddenInput:function(){var e=this;if(e.properties.swapHiddenInput){var t=e.element.cloneNode(!0);e.element.parentNode.insertBefore(t,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type=`hidden`,e.element=t,e.element.id=``}},initNumeralFormatter:function(){var e=this.properties;e.numeral&&(e.numeralFormatter=new _.NumeralFormatter(e.numeralDecimalMark,e.numeralIntegerScale,e.numeralDecimalScale,e.numeralThousandsGroupStyle,e.numeralPositiveOnly,e.stripLeadingZeroes,e.prefix,e.signBeforePrefix,e.tailPrefix,e.delimiter))},initTimeFormatter:function(){var e=this.properties;e.time&&(e.timeFormatter=new _.TimeFormatter(e.timePattern,e.timeFormat),e.blocks=e.timeFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initDateFormatter:function(){var e=this.properties;e.date&&(e.dateFormatter=new _.DateFormatter(e.datePattern,e.dateMin,e.dateMax),e.blocks=e.dateFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initPhoneFormatter:function(){var e=this.properties;if(e.phone)try{e.phoneFormatter=new _.PhoneFormatter(new e.root.Cleave.AsYouTypeFormatter(e.phoneRegionCode),e.delimiter)}catch{throw Error(`[cleave.js] Please include phone-type-formatter.{country}.js lib`)}},onKeyDown:function(e){var t=this,n=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=n===8},onChange:function(e){var t=this,n=t.properties,r=_.Util;t.isBackward=t.isBackward||e.inputType===`deleteContentBackward`;var i=r.getPostDelimiter(t.lastInputValue,n.delimiter,n.delimiters);t.isBackward&&i?n.postDelimiterBackspace=i:n.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),_.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){_.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(``))},onCopy:function(e){_.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var t=this.properties,n=_.Util,r=this.element.value,i=``;i=t.copyDelimiter?r:n.stripDelimiters(r,t.delimiter,t.delimiters);try{e.clipboardData?e.clipboardData.setData(`Text`,i):window.clipboardData.setData(`Text`,i),e.preventDefault()}catch{}},onInput:function(e){var t=this,n=t.properties,r=_.Util,i=r.getPostDelimiter(e,n.delimiter,n.delimiters);n.numeral||!n.postDelimiterBackspace||i||(e=r.headStr(e,e.length-n.postDelimiterBackspace.length)),n.phone?(!n.prefix||n.noImmediatePrefix&&!e.length?n.result=n.phoneFormatter.format(e):n.result=n.prefix+n.phoneFormatter.format(e).slice(n.prefix.length),t.updateValueState()):n.numeral?(n.prefix&&n.noImmediatePrefix&&e.length===0?n.result=``:n.result=n.numeralFormatter.format(e),t.updateValueState()):(n.date&&(e=n.dateFormatter.getValidatedDate(e)),n.time&&(e=n.timeFormatter.getValidatedTime(e)),e=r.stripDelimiters(e,n.delimiter,n.delimiters),e=r.getPrefixStrippedValue(e,n.prefix,n.prefixLength,n.result,n.delimiter,n.delimiters,n.noImmediatePrefix,n.tailPrefix,n.signBeforePrefix),e=n.numericOnly?r.strip(e,/[^\d]/g):e,e=n.uppercase?e.toUpperCase():e,e=n.lowercase?e.toLowerCase():e,n.prefix&&(n.tailPrefix?e+=n.prefix:e=n.prefix+e,n.blocksLength===0)?(n.result=e,t.updateValueState()):(n.creditCard&&t.updateCreditCardPropsByValue(e),e=r.headStr(e,n.maxLength),n.result=r.getFormattedValue(e,n.blocks,n.blocksLength,n.delimiter,n.delimiters,n.delimiterLazyShow),t.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,n=this.properties,r=_.Util;r.headStr(n.result,4)!==r.headStr(e,4)&&(t=_.CreditCardDetector.getInfo(e,n.creditCardStrictMode),n.blocks=t.blocks,n.blocksLength=n.blocks.length,n.maxLength=r.getMaxLength(n.blocks),n.creditCardType!==t.type&&(n.creditCardType=t.type,n.onCreditCardTypeChanged.call(this,n.creditCardType)))},updateValueState:function(){var e=this,t=_.Util,n=e.properties;if(e.element){var r=e.element.selectionEnd,i=e.element.value,a=n.result;r=t.getNextCursorPosition(r,i,a,n.delimiter,n.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=a,t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged()},1):(e.element.value=a,n.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged())}},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,n=t.properties;e=e==null?``:e.toString(),n.numeral&&(e=e.replace(`.`,n.numeralDecimalMark)),n.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this.properties,t=_.Util,n=this.element.value;return e.rawValueTrimPrefix&&(n=t.getPrefixStrippedValue(n,e.prefix,e.prefixLength,e.result,e.delimiter,e.delimiters,e.noImmediatePrefix,e.tailPrefix,e.signBeforePrefix)),n=e.numeral?e.numeralFormatter.getRawValue(n):t.stripDelimiters(n,e.delimiter,e.delimiters)},getISOFormatDate:function(){var e=this.properties;return e.date?e.dateFormatter.getISOFormatDate():``},getISOFormatTime:function(){var e=this.properties;return e.time?e.timeFormatter.getISOFormatTime():``},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener(`input`,e.onChangeListener),e.element.removeEventListener(`keydown`,e.onKeyDownListener),e.element.removeEventListener(`focus`,e.onFocusListener),e.element.removeEventListener(`cut`,e.onCutListener),e.element.removeEventListener(`copy`,e.onCopyListener)},toString:function(){return`[Cleave Object]`}},_.NumeralFormatter=o,_.DateFormatter=c,_.TimeFormatter=u,_.PhoneFormatter=f,_.CreditCardDetector=m,_.Util=h,_.DefaultProperties=g,(typeof i==`object`&&i?i:window).Cleave=_;var v=_,y=class extends t.t(){constructor(...e){super(...e),this.value={cardName:``,cardNumber:``,expirationDate:``,cvv:``},this.cardType=``,this.isCardNameValid=!0,this.isCardNumberValid=!0,this.isExpirationDateValid=!0,this.isCvvValid=!0}firstUpdated(){new v(this.cardNumberInput,{creditCard:!0,creditCardStrictMode:!0,onCreditCardTypeChanged:e=>{this.cardType=e,e===`unknown`?(this.isCardNumberValid=!1,this.cardNumberInput.setCustomValidity(`Please enter a valid card number.`),this.cardNumberInput.error=!0):(this.isCardNumberValid=!0,this.cardNumberInput.setCustomValidity(``),this.cardNumberInput.error=!1,this.cvvInput.maxlength=e===`amex`?4:3)}}),new v(this.expirationDateInput,{date:!0,datePattern:[`m`,`y`],onValueChanged:e=>{let t=e.target.value;if(!t||t.length<5)this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Please enter a valid expiration date (MM/YY).`),this.expirationDateInput.error=!0;else{let[e,n]=t.split(`/`),r=new Date,i=r.getFullYear()%100,a=r.getMonth()+1,o=parseInt(e,10),s=parseInt(n,10);s<i||s===i&&o<a?(this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Card has expired.`),this.expirationDateInput.error=!0):(this.isExpirationDateValid=!0,this.expirationDateInput.setCustomValidity(``),this.expirationDateInput.error=!1)}}}),new v(this.cvvInput,{blocks:[4],numericOnly:!0,onValueChanged:e=>{let t=this.cardType===`amex`?4:3;e.target.value.length<t?(this.isCvvValid=!1,this.cvvInput.setCustomValidity(`Please enter a valid ${t}-digit CVV.`),this.cvvInput.error=!0):(this.isCvvValid=!0,this.cvvInput.setCustomValidity(``),this.cvvInput.error=!1)}}),new v(this.cardNameInput,{uppercase:!0,delimiter:` `,onValueChanged:e=>{!e.target.value||e.target.value.length<3?(this.isCardNameValid=!1,this.cardNameInput.setCustomValidity(`Please enter the name as it appears on the card.`),this.cardNameInput.error=!0):(this.isCardNameValid=!0,this.cardNameInput.setCustomValidity(``),this.cardNameInput.error=!1)}})}reportValidity(){return this.form.reportValidity()}checkValidity(){return!!this.form.reportValidity()}emitChange(){this.dispatchEvent(new CustomEvent(`change`,{detail:{...this.value},bubbles:!0}))}render(){let e=this.getCardIcon();return r.html`
2
- <schmancy-form
3
- @change=${e=>{e.stopPropagation(),e.preventDefault()}}
4
- >
5
- <schmancy-grid gap="md" class="w-full">
6
- <!-- Card Name Field -->
7
- <schmancy-input
8
- autocomplete="cc-name"
9
- id="cardName"
10
- .value=${this.cardName??``}
11
- .error=${!this.isCardNameValid}
12
- type="text"
13
- label="Name on card"
14
- required
15
- hint="${this.isCardNameValid?`Enter the name exactly as it appears on your card`:`Please enter the name as it appears on the card`}"
16
- @change=${e=>{this.cardName=e.detail.value,this.value.cardName=e.detail.value,this.emitChange()}}
17
- ></schmancy-input>
18
-
19
- <!-- Card Number Field with Card Type Indicator -->
20
- <div class="relative w-full">
21
- <schmancy-input
22
- autocomplete="cc-number"
23
- id="cardNumber"
24
- type="text"
25
- label="Card number"
26
- .error=${!this.isCardNumberValid}
27
- required
28
- hint="${this.isCardNumberValid?`Your 16-digit card number`:`Please enter a valid card number`}"
29
- @change=${e=>{this.cardNumber=e.detail.value,this.value.cardNumber=e.detail.value,this.emitChange()}}
30
- ></schmancy-input>
31
- ${e?r.html`<div class="absolute right-3 top-1/2 transform -translate-y-1/4">${e}</div>`:``}
32
- </div>
33
-
34
- <!-- Responsive grid for expiration date and CVV -->
35
- <schmancy-grid gap="md" cols="1fr 1fr" class="w-full">
36
- <schmancy-input
37
- autocomplete="cc-exp"
38
- id="expirationDate"
39
- @change=${e=>{this.expirationDate=e.detail.value,this.value.expirationDate=e.detail.value,this.emitChange()}}
40
- type="text"
41
- .error=${!this.isExpirationDateValid}
42
- label="Expiration date"
43
- placeholder="MM/YY"
44
- required
45
- hint="${this.isExpirationDateValid?`MM/YY format`:`Invalid expiration date`}"
46
- ></schmancy-input>
47
-
48
- <schmancy-input
49
- id="cvv"
50
- autocomplete="cc-csc"
51
- @change=${e=>{this.cvv=e.detail.value,this.value.cvv=e.detail.value,this.emitChange()}}
52
- label="CVV"
53
- .error=${!this.isCvvValid}
54
- required
55
- type="text"
56
- maxlength="${this.cardType===`amex`?`4`:`3`}"
57
- minlength="${this.cardType===`amex`?`4`:`3`}"
58
- hint="${this.isCvvValid?`Security code on back of card`:`Invalid security code`}"
59
- ></schmancy-input>
60
- </schmancy-grid>
61
-
62
- <!-- Show card acceptability notice -->
63
- <div class="text-sm text-secondary-onContainer mt-2">${this.renderSecurityNotice()}</div>
64
-
65
- <slot></slot>
66
- </schmancy-grid>
67
- </schmancy-form>
68
- `}getCardIcon(){switch(this.cardType){case`visa`:case`mastercard`:case`amex`:case`discover`:return r.html`<schmancy-icon>credit_card</schmancy-icon>`;default:return this.cardNumber?r.html`<schmancy-icon>credit_card</schmancy-icon>`:null}}renderSecurityNotice(){return r.html`
69
- <div class="flex items-center gap-2">
70
- <schmancy-icon size="18px">lock</schmancy-icon>
71
- <span>Your payment information is secure and encrypted</span>
72
- </div>
73
- `}};e.t([(0,n.property)({type:Object,reflect:!0})],y.prototype,`value`,void 0),e.t([(0,n.state)()],y.prototype,`cardType`,void 0),e.t([(0,n.state)()],y.prototype,`cardName`,void 0),e.t([(0,n.state)()],y.prototype,`cardNumber`,void 0),e.t([(0,n.state)()],y.prototype,`expirationDate`,void 0),e.t([(0,n.state)()],y.prototype,`cvv`,void 0),e.t([(0,n.state)()],y.prototype,`isCardNameValid`,void 0),e.t([(0,n.state)()],y.prototype,`isCardNumberValid`,void 0),e.t([(0,n.state)()],y.prototype,`isExpirationDateValid`,void 0),e.t([(0,n.state)()],y.prototype,`isCvvValid`,void 0),e.t([(0,n.query)(`#cardNumber`)],y.prototype,`cardNumberInput`,void 0),e.t([(0,n.query)(`#expirationDate`)],y.prototype,`expirationDateInput`,void 0),e.t([(0,n.query)(`#cvv`)],y.prototype,`cvvInput`,void 0),e.t([(0,n.query)(`#cardName`)],y.prototype,`cardNameInput`,void 0),e.t([(0,n.query)(`schmancy-form`)],y.prototype,`form`,void 0),y=e.t([(0,n.customElement)(`schmancy-payment-card-form`)],y),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./components-DkmEgyAc.cjs`);Object.defineProperty(exports,`SchmancyPaymentCardForm`,{enumerable:!0,get:function(){return e.t}});
@@ -1,2 +0,0 @@
1
- import { t as e } from "./components-DZgJWHdZ.js";
2
- export { e as SchmancyPaymentCardForm };
@@ -1,3 +0,0 @@
1
- import { o as e } from "./tailwind.mixin-mdQR3BEO.js";
2
- var t = e("schmancy-button-size");
3
- export { t };
@@ -1 +0,0 @@
1
- var e=require(`./tailwind.mixin-DRI1oTYQ.cjs`).o(`schmancy-button-size`);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
@@ -1,131 +0,0 @@
1
- const e=require(`./chunk-CncqDLb2.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./litElement.mixin-qh5-IIUq.cjs`);require(`./mixins.cjs`);const r=require(`./dialog-service-CzDO08Gy.cjs`),i=require(`./sheet.service-RcDBwHmv.cjs`);let a=require(`rxjs`),o=require(`lit/decorators.js`),s=require(`lit`),c=require(`lit/directives/repeat.js`),l=require(`lit/directives/if-defined.js`);var u=e.t((e,t)=>{var n=e,r=function(){"use strict";var e=6e4,t=36e5,n=`millisecond`,r=`second`,i=`minute`,a=`hour`,o=`day`,s=`week`,c=`month`,l=`quarter`,u=`year`,d=`date`,f=`Invalid Date`,p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},_={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+g(r,2,`0`)+`:`+g(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,c),a=n-i<0,o=t.clone().add(r+(a?-1:1),c);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:u,w:s,d:o,D:d,h:a,m:i,s:r,ms:n,Q:l}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},v=`en`,y={};y[v]=h;var b=`$isDayjsObject`,x=function(e){return e instanceof T||!(!e||!e[b])},S=function e(t,n,r){var i;if(!t)return v;if(typeof t==`string`){var a=t.toLowerCase();y[a]&&(i=a),n&&(y[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;y[s]=t,i=s}return!r&&i&&(v=i),i||!r&&v},C=function(e,t){if(x(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new T(n)},w=_;w.l=S,w.i=x,w.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var T=function(){function h(e){this.$L=S(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[b]=!0}var g=h.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(p);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return w},g.isValid=function(){return this.$d.toString()!==f},g.isSame=function(e,t){var n=C(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return C(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<C(e)},g.$g=function(e,t,n){return w.u(e)?this[t]:this.set(n,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var n=this,l=!!w.u(t)||t,f=w.p(e),p=function(e,t){var r=w.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return l?r:r.endOf(o)},m=function(e,t){return w.w(n.toDate()[e].apply(n.toDate(`s`),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(f){case u:return l?p(1,0):p(31,11);case c:return l?p(1,g):p(0,g+1);case s:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(l?_-b:_+(6-b),g);case o:case d:return m(v+`Hours`,0);case a:return m(v+`Minutes`,1);case i:return m(v+`Seconds`,2);case r:return m(v+`Milliseconds`,3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var s,l=w.p(e),f=`set`+(this.$u?`UTC`:``),p=(s={},s[o]=f+`Date`,s[d]=f+`Date`,s[c]=f+`Month`,s[u]=f+`FullYear`,s[a]=f+`Hours`,s[i]=f+`Minutes`,s[r]=f+`Seconds`,s[n]=f+`Milliseconds`,s)[l],m=l===o?this.$D+(t-this.$W):t;if(l===c||l===u){var h=this.clone().set(d,1);h.$d[p](m),h.init(),this.$d=h.set(d,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[w.p(e)]()},g.add=function(n,l){var d,f=this;n=Number(n);var p=w.p(l),m=function(e){var t=C(f);return w.w(t.date(t.date()+Math.round(e*n)),f)};if(p===c)return this.set(c,this.$M+n);if(p===u)return this.set(u,this.$y+n);if(p===o)return m(1);if(p===s)return m(7);var h=(d={},d[i]=e,d[a]=t,d[r]=1e3,d)[p]||1,g=this.$d.getTime()+n*h;return w.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||f;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=w.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},p=function(e){return w.s(a%12||12,e,`0`)},h=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(m,function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return w.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return w.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return w.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return w.s(a,2,`0`);case`h`:return p(1);case`hh`:return p(2);case`a`:return h(a,o,!0);case`A`:return h(a,o,!1);case`m`:return String(o);case`mm`:return w.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return w.s(t.$s,2,`0`);case`SSS`:return w.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)})},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(n,d,f){var p,m=this,h=w.p(d),g=C(n),_=(g.utcOffset()-this.utcOffset())*e,v=this-g,y=function(){return w.m(m,g)};switch(h){case u:p=y()/12;break;case c:p=y();break;case l:p=y()/3;break;case s:p=(v-_)/6048e5;break;case o:p=(v-_)/864e5;break;case a:p=v/t;break;case i:p=v/e;break;case r:p=v/1e3;break;default:p=v}return f?p:w.a(p)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return y[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=S(e,t,!0);return r&&(n.$L=r),n},g.clone=function(){return w.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},h}(),E=T.prototype;return C.prototype=E,[[`$ms`,n],[`$s`,r],[`$m`,i],[`$H`,a],[`$W`,o],[`$M`,c],[`$y`,u],[`$D`,d]].forEach(function(e){E[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),C.extend=function(e,t){return e.$i||=(e(t,T,C),!0),C},C.locale=S,C.isDayjs=x,C.unix=function(e){return C(1e3*e)},C.en=y[v],C.Ls=y,C.p={},C};typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()}),d=e.t((e,t)=>{var n=e,r=function(){"use strict";var e=`month`,t=`quarter`;return function(n,r){var i=r.prototype;i.quarter=function(e){return this.$utils().u(e)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(e-1))};var a=i.add;i.add=function(n,r){return n=Number(n),this.$utils().p(r)===t?this.add(3*n,e):a.bind(this)(n,r)};var o=i.startOf;i.startOf=function(n,r){var i=this.$utils(),a=!!i.u(r)||r;if(i.p(n)===t){var s=this.quarter()-1;return a?this.month(3*s).startOf(e).startOf(`day`):this.month(3*s+2).endOf(e).endOf(`day`)}return o.bind(this)(n,r)}}};typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_quarterOfYear=r()}),f=e.r(d(),1),p=e.r(u(),1);function m(e,t){return e.map(e=>({label:`Last ${e} Days`,range:{dateFrom:(0,p.default)().subtract(e-1,`days`).startOf(`day`).format(t),dateTo:(0,p.default)().endOf(`day`).format(t)},step:`day`}))}function h(e,t){return e.map(e=>({label:`Last ${e} Weeks`,range:{dateFrom:(0,p.default)().subtract(e,`weeks`).startOf(`week`).format(t),dateTo:(0,p.default)().endOf(`day`).format(t)},step:`week`}))}function g(e,t){return e.map(e=>({label:`Last ${e} Months`,range:{dateFrom:(0,p.default)().subtract(e,`months`).startOf(`month`).format(t),dateTo:(0,p.default)().endOf(`day`).format(t)},step:`month`}))}function _(e,t){return e.map(e=>({label:`Last ${e} Quarters`,range:{dateFrom:(0,p.default)().subtract(e,`quarters`).startOf(`quarter`).format(t),dateTo:(0,p.default)().endOf(`day`).format(t)},step:`quarter`}))}function v(e,t){if(!e)return null;let n=(0,p.default)(e);return n.isValid()?n.format(t):null}function y(e,t,n){let r=v(e,n),i=v(t,n);return{dateFrom:r,dateTo:i,isValid:r!==null&&i!==null}}var b=class extends n.t(){constructor(...e){super(...e),this.type=`date`,this.dateFrom={label:`From`,value:``},this.dateTo={label:`To`,value:``},this.activePreset=null,this.presetCategories=[]}getPresetGroups(){let e=this.presetCategories.flatMap(e=>e.presets),t=[`Today`,`Yesterday`,`This Week`,`This Month`].map(t=>e.find(e=>e.label===t)).filter(e=>e!==void 0),n=[`Last 7 Days`,`Last 14 Days`,`Last 30 Days`,`Last 60 Days`,`Last 90 Days`].map(t=>e.find(e=>e.label===t)).filter(e=>e!==void 0),r=[`Last Week`,`Last Month`,`Last Quarter`,`Last Year`].map(t=>e.find(e=>e.label===t)).filter(e=>e!==void 0),i=[`This Week`,`This Month`,`This Quarter`,`This Year`,`Year to Date`].map(t=>e.find(e=>e.label===t)).filter(e=>e!==void 0),a=[];return t.length>0&&a.push({name:`Quick Select`,presets:t}),n.length>0&&a.push({name:`Days`,presets:n}),r.length>0&&a.push({name:`Periods`,presets:r}),i.length>0&&a.push({name:`Year to Date`,presets:i}),a}handleFromDateChange(e){let t=e.target;this.dateFrom={...this.dateFrom,value:t.value},this.dateTo.value&&(0,p.default)(this.dateFrom.value).isAfter((0,p.default)(this.dateTo.value))&&(this.dateTo={...this.dateTo,value:this.dateFrom.value}),this.dispatchEvent(new CustomEvent(`date-change`,{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handleToDateChange(e){let t=e.target;this.dateTo={...this.dateTo,value:t.value},this.dispatchEvent(new CustomEvent(`date-change`,{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handlePresetSelection(e,t){t.stopPropagation(),this.dispatchEvent(new CustomEvent(`preset-select`,{detail:{preset:e},bubbles:!0,composed:!0})),r.t.dismiss()}applyManualDateSelection(e){e.stopPropagation();let t=(0,p.default)(this.dateFrom.value),n=(0,p.default)(this.dateTo.value);t.isValid()&&n.isValid()?(this.dispatchEvent(new CustomEvent(`apply-dates`,{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,swapIfNeeded:t.isAfter(n)},bubbles:!0,composed:!0})),r.t.dismiss()):this.dispatchEvent(new CustomEvent(`announce`,{detail:{message:`Invalid date format. Please check your input.`},bubbles:!0,composed:!0}))}render(){return s.html`
2
- <div class="w-full min-h-[400px] max-h-[80vh] flex flex-col p-4">
3
- <!-- Preset Groups Section -->
4
- <div class="flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4">
5
- ${(0,c.repeat)(this.getPresetGroups(),e=>e.name,e=>s.html`
6
- <div class="space-y-2">
7
- <schmancy-typography type="label" token="md" class="text-surface-onVariant">
8
- ${e.name}
9
- </schmancy-typography>
10
- <div class="flex flex-wrap gap-2">
11
- ${(0,c.repeat)(e.presets,e=>e.label,e=>s.html`
12
- <schmancy-filter-chip
13
- .value=${e.label}
14
- .selected=${this.activePreset===e.label}
15
- @click=${t=>this.handlePresetSelection(e,t)}
16
- title="${e.range.dateFrom} to ${e.range.dateTo}"
17
- >
18
- ${e.label}
19
- </schmancy-filter-chip>
20
- `)}
21
- </div>
22
- </div>
23
- `)}
24
- </div>
25
-
26
- <!-- Divider -->
27
- <schmancy-divider class="my-4"></schmancy-divider>
28
-
29
- <!-- Custom Range Section -->
30
- <div class="space-y-2">
31
- <div class="flex items-end gap-3 flex-wrap">
32
- <div class="flex-1 min-w-[140px]">
33
- <schmancy-input
34
- .type="${this.type}"
35
- .label="${this.dateFrom.label||`From`}"
36
- .value="${this.dateFrom.value}"
37
- min="${(0,l.ifDefined)(this.minDate)}"
38
- max="${(0,l.ifDefined)(this.maxDate)}"
39
- @change="${this.handleFromDateChange}"
40
- ></schmancy-input>
41
- </div>
42
- <div class="flex-1 min-w-[140px]">
43
- <schmancy-input
44
- .type="${this.type}"
45
- .label="${this.dateTo.label||`To`}"
46
- .value="${this.dateTo.value}"
47
- min="${(0,l.ifDefined)(this.dateFrom.value)}"
48
- max="${(0,l.ifDefined)(this.maxDate)}"
49
- @change="${this.handleToDateChange}"
50
- ></schmancy-input>
51
- </div>
52
- <schmancy-button
53
- variant="filled"
54
- @click="${e=>this.applyManualDateSelection(e)}"
55
- ?disabled="${!this.dateFrom.value||!this.dateTo.value}"
56
- >
57
- Apply
58
- </schmancy-button>
59
- </div>
60
- </div>
61
- </div>
62
- `}};t.t([(0,o.property)({type:String})],b.prototype,`type`,void 0),t.t([(0,o.property)({type:Object})],b.prototype,`dateFrom`,void 0),t.t([(0,o.property)({type:Object})],b.prototype,`dateTo`,void 0),t.t([(0,o.property)({type:String})],b.prototype,`minDate`,void 0),t.t([(0,o.property)({type:String})],b.prototype,`maxDate`,void 0),t.t([(0,o.property)({type:String})],b.prototype,`activePreset`,void 0),t.t([(0,o.property)({type:Array})],b.prototype,`presetCategories`,void 0),b=t.t([(0,o.customElement)(`schmancy-date-range-dialog`)],b),p.default.extend(f.default);var x=class extends n.t(){constructor(...e){super(...e),this.type=`date`,this.dateFrom={label:`From`,value:``},this.dateTo={label:`To`,value:``},this.customPresets=[],this.disabled=!1,this.required=!1,this.placeholder=`Select date range`,this.clearable=!0,this.collapse=!1,this.isOpen=!1,this.selectedDateRange=``,this.activePreset=null,this.announceMessage=``,this.isMobile=!1,this.presetRanges=[],this.presetCategories=[],this.memoizedPresets=new Map}disconnectedCallback(){super.disconnectedCallback(),this.isOpen=!1}connectedCallback(){super.connectedCallback(),this.initPresetRanges(),this.checkMobileView();let e=this.getDateFormat(),t=y(this.dateFrom.value,this.dateTo.value,e);if(t.isValid)this.dateFrom.value=t.dateFrom,this.dateTo.value=t.dateTo,this.updateSelectedDateRange();else{let t=(0,p.default)().format(e);this.dateFrom.value=t,this.dateTo.value=t,this.updateSelectedDateRange()}this.setupEventHandlers()}setupEventHandlers(){(0,a.fromEvent)(document,`keydown`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(e=>{this.handleKeyboardNavigation(e)}),(0,a.fromEvent)(window,`resize`).pipe((0,a.debounceTime)(150),(0,a.takeUntil)(this.disconnecting)).subscribe(()=>{this.checkMobileView()})}updated(e){super.updated(e),!e.has(`dateFrom`)&&!e.has(`dateTo`)||this.dateFrom?.value===void 0&&this.dateTo?.value===void 0||this.updateSelectedDateRange()}initPresetRanges(){let e=this.getDateFormat(),t=`${this.type}-${e}-${JSON.stringify(this.customPresets)}`;if(this.memoizedPresets.has(t)){let e=this.memoizedPresets.get(t);this.presetCategories=e,this.presetRanges=[],e.forEach(e=>{this.presetRanges.push(...e.presets)});return}if(this.presetCategories=function(e,t=!1){let n=[];return t&&n.push({name:`Hours`,presets:[{label:`Last 24 Hours`,range:{dateFrom:(0,p.default)().subtract(24,`hours`).format(e),dateTo:(0,p.default)().format(e)},step:`hour`},{label:`Last 12 Hours`,range:{dateFrom:(0,p.default)().subtract(12,`hours`).format(e),dateTo:(0,p.default)().format(e)},step:`hour`}]}),n.push({name:`Days`,presets:[{label:`Today`,range:{dateFrom:(0,p.default)().startOf(`day`).format(e),dateTo:(0,p.default)().endOf(`day`).format(e)},step:`day`},{label:`Yesterday`,range:{dateFrom:(0,p.default)().subtract(1,`days`).startOf(`day`).format(e),dateTo:(0,p.default)().subtract(1,`days`).endOf(`day`).format(e)},step:`day`},...m([7,14,30,60,90],e)]}),n.push({name:`Weeks`,presets:[{label:`This Week`,range:{dateFrom:(0,p.default)().startOf(`week`).format(e),dateTo:(0,p.default)().endOf(`week`).format(e)},step:`week`},{label:`Last Week`,range:{dateFrom:(0,p.default)().subtract(1,`weeks`).startOf(`week`).format(e),dateTo:(0,p.default)().subtract(1,`weeks`).endOf(`week`).format(e)},step:`week`},...h([2,4],e)]}),n.push({name:`Months`,presets:[{label:`This Month`,range:{dateFrom:(0,p.default)().startOf(`month`).format(e),dateTo:(0,p.default)().endOf(`month`).format(e)},step:`month`},{label:`Last Month`,range:{dateFrom:(0,p.default)().subtract(1,`month`).startOf(`month`).format(e),dateTo:(0,p.default)().subtract(1,`month`).endOf(`month`).format(e)},step:`month`},...g([3,6],e)]}),n.push({name:`Quarters`,presets:[{label:`This Quarter`,range:{dateFrom:(0,p.default)().startOf(`quarter`).format(e),dateTo:(0,p.default)().endOf(`quarter`).format(e)},step:`quarter`},{label:`Last Quarter`,range:{dateFrom:(0,p.default)().subtract(1,`quarter`).startOf(`quarter`).format(e),dateTo:(0,p.default)().subtract(1,`quarter`).endOf(`quarter`).format(e)},step:`quarter`},..._([2,4],e)]}),n.push({name:`Years`,presets:[{label:`This Year`,range:{dateFrom:(0,p.default)().startOf(`year`).format(e),dateTo:(0,p.default)().endOf(`year`).format(e)},step:`year`},{label:`Last Year`,range:{dateFrom:(0,p.default)().subtract(1,`year`).startOf(`year`).format(e),dateTo:(0,p.default)().subtract(1,`year`).endOf(`year`).format(e)},step:`year`},{label:`Year to Date`,range:{dateFrom:(0,p.default)().startOf(`year`).format(e),dateTo:(0,p.default)().endOf(`day`).format(e)},step:`day`}]}),n}(e,this.type===`datetime-local`),this.presetRanges=[],this.presetCategories.forEach(e=>{this.presetRanges.push(...e.presets)}),this.customPresets&&this.customPresets.length>0){let e={name:`Custom`,presets:this.customPresets.map(e=>({label:e.label,range:{dateFrom:e.dateFrom,dateTo:e.dateTo},step:`day`}))};this.presetCategories.push(e),this.presetRanges.push(...e.presets)}this.memoizedPresets.set(t,[...this.presetCategories])}getDateFormat(){return this.format||(this.type===`date`?`YYYY-MM-DD`:`YYYY-MM-DDTHH:mm`)}updateSelectedDateRange(){let e=this.presetRanges.find(e=>e.range.dateFrom===this.dateFrom.value&&e.range.dateTo===this.dateTo.value);if(e)return this.selectedDateRange=e.label,void(this.activePreset=e.label);this.checkAndUpdateActivePreset(this.dateFrom.value,this.dateTo.value),this.activePreset=null,this.selectedDateRange=function(e,t,n,r){if(!e||!t)return r;let i=(0,p.default)(e),a=(0,p.default)(t);if(!i.isValid()||!a.isValid())return r;let o=n===`datetime-local`?i.format(` h:mm A`):``,s=n===`datetime-local`?a.format(` h:mm A`):``;return i.isSame(a,`day`)?`${i.format(`ddd, MMM D, YYYY`)}${o}`:i.isSame(a,`month`)&&i.isSame(a,`year`)?`${i.format(`ddd MMM D`)} - ${a.format(`ddd D, YYYY`)}${s}`:i.isSame(a,`year`)?`${i.format(`ddd MMM D`)} - ${a.format(`ddd MMM D, YYYY`)}${s}`:`${i.format(`ddd MMM D, YYYY`)}${o} - ${a.format(`ddd MMM D, YYYY`)}${s}`}(this.dateFrom.value,this.dateTo.value,this.type,this.placeholder)}setDateRange(e,t){this.dateFrom.value=e,this.dateTo.value=t,this.updateSelectedDateRange(),this.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`),this.dispatchEvent(new CustomEvent(`change`,{detail:{dateFrom:e,dateTo:t},bubbles:!0,composed:!0}))}toggleDropdown(e){e.stopPropagation(),this.disabled||this.step!==void 0||(this.isOpen?this.closeDropdown():this.openDropdown(e))}openDropdown(e){if(this.disabled||this.step!==void 0)return;this.dispatchEvent(new CustomEvent(`beforeopen`,{bubbles:!0,composed:!0})),this.isOpen=!0;let t=s.html`
63
- <schmancy-date-range-dialog
64
- .type="${this.type}"
65
- .dateFrom="${this.dateFrom}"
66
- .dateTo="${this.dateTo}"
67
- .minDate="${this.minDate}"
68
- .maxDate="${this.maxDate}"
69
- .activePreset="${this.activePreset}"
70
- .presetCategories="${this.presetCategories}"
71
- @preset-select="${e=>{this.activePreset=e.detail.preset.label,this.setDateRange(e.detail.preset.range.dateFrom,e.detail.preset.range.dateTo),this.closeDropdown()}}"
72
- @date-change="${()=>this.updateSelectedDateRange()}"
73
- @apply-dates="${e=>{let{dateFrom:t,dateTo:n,swapIfNeeded:r}=e.detail;r?this.setDateRange(n,t):this.setDateRange(t,n),this.closeDropdown()}}"
74
- @announce="${e=>this.announceToScreenReader(e.detail.message)}"
75
- ></schmancy-date-range-dialog>
76
- `;if(this.isMobile){let e=document.createElement(`div`);(0,s.render)(t,e),i.n.push({component:e,uid:`date-range-sheet`,close:()=>{this.isOpen=!1}})}else r.t.component(t,{title:`Select Date Range`,hideActions:!0,position:e}).then(()=>{this.isOpen=!1})}closeDropdown(){this.isMobile?i.n.dismiss(`date-range-sheet`):r.t.dismiss(),this.isOpen=!1}shiftDateRange(e,t){if(t.stopPropagation(),!this.dateFrom.value||!this.dateTo.value)return;let n=(0,p.default)(this.dateFrom.value),r=(0,p.default)(this.dateTo.value);if(!n.isValid()||!r.isValid())return;let i=this.getDateFormat(),a=e>0?1:-1,o=r.diff(n,`day`)+1,s,c;if(this.step!==void 0)typeof this.step==`number`?(s=a*this.step,c=`day`):this.step===`day`?(s=a*o,c=`day`):(s=a,c=this.step);else{let e=function(e,t){return{isFullMonth:e.date()===1&&t.isSame(e.endOf(`month`),`day`),isFullQuarter:e.isSame(e.startOf(`quarter`),`day`)&&t.isSame(t.endOf(`quarter`),`day`),isFullYear:e.isSame(e.startOf(`year`),`day`)&&t.isSame(t.endOf(`year`),`day`),isFullWeek:e.day()===0&&t.day()===6&&t.diff(e,`days`)===6}}(n,r);e.isFullYear?(s=a,c=`year`):e.isFullMonth?(s=a,c=`month`):e.isFullWeek?(s=a,c=`week`):(s=a*o,c=`day`)}let l=n.add(s,c),u=r.add(s,c);this.minDate&&l.isBefore((0,p.default)(this.minDate))||this.maxDate&&u.isAfter((0,p.default)(this.maxDate))||(this.setDateRange(l.format(i),u.format(i)),this.checkAndUpdateActivePreset(l.format(i),u.format(i)))}handleKeyboardNavigation(e){let t=e.key;if(this.dateFrom.value&&this.dateTo.value&&!this.disabled)switch(t){case`PageUp`:(e.target===this||this.contains(e.target))&&(this.shiftDateRange(-1,e),e.preventDefault());break;case`PageDown`:(e.target===this||this.contains(e.target))&&(this.shiftDateRange(1,e),e.preventDefault());break;case`Home`:if(e.ctrlKey&&(e.target===this||this.contains(e.target))){let t=(0,p.default)(this.dateFrom.value),n=(0,p.default)(this.dateTo.value),r=t.startOf(`month`),i=n.diff(t,`day`);this.setDateRange(r.format(this.getDateFormat()),r.add(i,`day`).format(this.getDateFormat())),e.preventDefault()}break;case`End`:if(e.ctrlKey&&(e.target===this||this.contains(e.target))){let t=(0,p.default)(this.dateFrom.value),n=(0,p.default)(this.dateTo.value),r=n.diff(t,`day`),i=n.endOf(`month`);this.setDateRange(i.subtract(r,`day`).format(this.getDateFormat()),i.format(this.getDateFormat())),e.preventDefault()}}}checkAndUpdateActivePreset(e,t){let n=this.presetRanges.find(n=>n.range.dateFrom===e&&n.range.dateTo===t);this.activePreset=n?n.label:null}checkMobileView(){this.isMobile=window.innerWidth<768}canNavigateBackward(){if(!this.dateFrom.value||!this.minDate)return!0;let e=(0,p.default)(this.dateFrom.value),t=(0,p.default)(this.minDate);return e.isAfter(t)}canNavigateForward(){if(!this.dateTo.value||!this.maxDate)return!0;let e=(0,p.default)(this.dateTo.value),t=(0,p.default)(this.maxDate);return e.isBefore(t)}announceToScreenReader(e){this.announceMessage=e,(0,a.timer)(100).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(()=>{this.announceMessage=``})}render(){return s.html`
77
- <div class="relative ${this.disabled?`opacity-60 pointer-events-none`:``}">
78
- <!-- Screen reader announcements -->
79
- <div class="sr-only" role="status" aria-live="polite" aria-atomic="true">
80
- ${this.announceMessage}
81
- </div>
82
-
83
- <!-- Collapsed: icon-only on mobile when collapse=true -->
84
- <schmancy-icon-button
85
- class="${this.collapse?`lg:hidden`:`hidden`}"
86
- variant="outlined"
87
- type="button"
88
- aria-label="Select date range. Current: ${this.selectedDateRange||`No date selected`}"
89
- @click=${e=>this.toggleDropdown(e)}
90
- ?disabled=${this.disabled}
91
- >
92
- date_range
93
- </schmancy-icon-button>
94
-
95
- <!-- Full UI: always visible when collapse=false, or lg+ when collapse=true -->
96
- <section @click=${e=>e.stopPropagation()} class="${this.collapse?`hidden lg:flex`:`flex`}">
97
- <schmancy-icon-button
98
- type="button"
99
- aria-label="Previous ${this.activePreset?this.activePreset.toLowerCase():`date range`}"
100
- @click=${e=>this.shiftDateRange(-1,e)}
101
- ?disabled=${this.disabled||!this.dateFrom.value||!this.dateTo.value||!this.canNavigateBackward()}
102
- >
103
- arrow_left
104
- </schmancy-icon-button>
105
-
106
- <schmancy-button
107
- class="w-max"
108
- variant="outlined"
109
- type="button"
110
- aria-haspopup="menu"
111
- aria-expanded=${this.isOpen}
112
- aria-label="Select date range. Current: ${this.selectedDateRange||`No date selected`}"
113
- aria-readonly="${this.step!==void 0}"
114
- @click=${e=>this.toggleDropdown(e)}
115
- ?disabled=${this.disabled}
116
- style="${this.step===void 0?``:`cursor: default;`}"
117
- >
118
- ${this.selectedDateRange||this.placeholder}
119
- </schmancy-button>
120
-
121
- <schmancy-icon-button
122
- type="button"
123
- aria-label="Next ${this.activePreset?this.activePreset.toLowerCase():`date range`}"
124
- @click=${e=>this.shiftDateRange(1,e)}
125
- ?disabled=${this.disabled||!this.dateFrom.value||!this.dateTo.value||!this.canNavigateForward()}
126
- >
127
- arrow_right
128
- </schmancy-icon-button>
129
- </section>
130
- </div>
131
- `}};t.t([(0,o.property)({type:String})],x.prototype,`type`,void 0),t.t([(0,o.property)({type:Object})],x.prototype,`dateFrom`,void 0),t.t([(0,o.property)({type:Object})],x.prototype,`dateTo`,void 0),t.t([(0,o.property)({type:String})],x.prototype,`minDate`,void 0),t.t([(0,o.property)({type:String})],x.prototype,`maxDate`,void 0),t.t([(0,o.property)({type:Array})],x.prototype,`customPresets`,void 0),t.t([(0,o.property)({type:String})],x.prototype,`format`,void 0),t.t([(0,o.property)({type:Boolean})],x.prototype,`disabled`,void 0),t.t([(0,o.property)({type:Boolean})],x.prototype,`required`,void 0),t.t([(0,o.property)({type:String})],x.prototype,`placeholder`,void 0),t.t([(0,o.property)({type:Boolean})],x.prototype,`clearable`,void 0),t.t([(0,o.property)()],x.prototype,`step`,void 0),t.t([(0,o.property)({type:Boolean})],x.prototype,`collapse`,void 0),t.t([(0,o.state)()],x.prototype,`isOpen`,void 0),t.t([(0,o.state)()],x.prototype,`selectedDateRange`,void 0),t.t([(0,o.state)()],x.prototype,`activePreset`,void 0),t.t([(0,o.state)()],x.prototype,`announceMessage`,void 0),t.t([(0,o.state)()],x.prototype,`isMobile`,void 0),x=t.t([(0,o.customElement)(`schmancy-date-range`)],x),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}});
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-BmFxTXiU.cjs","names":[],"sources":["../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-range-helpers.ts","../src/date-range/date-range-presets.ts","../src/date-range/date-utils.ts","../src/date-range/date-range-dialog.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\r\n\r\n/**\r\n * Format a date range into a human-readable string\r\n */\r\nexport function formatDateRange(\r\n\tfromValue: string,\r\n\ttoValue: string,\r\n\ttype: 'date' | 'datetime-local',\r\n\tplaceholder: string\r\n): string {\r\n\tif (!fromValue || !toValue) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\tconst fromDate = dayjs(fromValue)\r\n\tconst toDate = dayjs(toValue)\r\n\r\n\tif (!fromDate.isValid() || !toDate.isValid()) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\t// Format times if needed (for datetime-local)\r\n\tconst fromTime = type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\r\n\tconst toTime = type === 'datetime-local' ? toDate.format(' h:mm A') : ''\r\n\r\n\t// Check if same day\r\n\tif (fromDate.isSame(toDate, 'day')) {\r\n\t\treturn `${fromDate.format('ddd, MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('ddd MMM D, YYYY')}${fromTime} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n","import dayjs from 'dayjs'\r\n\r\nexport type PresetUnit = dayjs.OpUnitType | 'quarter'\r\n\r\nexport interface DateRangePreset {\r\n\tlabel: string\r\n\trange: { dateFrom: string; dateTo: string }\r\n\tstep: PresetUnit\r\n}\r\n\r\nexport interface PresetCategory {\r\n\tname: string\r\n\tpresets: DateRangePreset[]\r\n}\r\n\r\n/**\r\n * Generate date range presets for different time periods\r\n */\r\nexport function generatePresetCategories(format: string, includeTime: boolean = false): PresetCategory[] {\r\n\tconst categories: PresetCategory[] = []\r\n\r\n\t// Hours category (only for datetime-local)\r\n\tif (includeTime) {\r\n\t\tcategories.push({\r\n\t\t\tname: 'Hours',\r\n\t\t\tpresets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 24 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 12 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t})\r\n\t}\r\n\r\n\t// Days category\r\n\tcategories.push({\r\n\t\tname: 'Days',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Today',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Yesterday',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t...generateLastNDaysPresets([7, 14, 30, 60, 90], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Weeks category\r\n\tcategories.push({\r\n\t\tname: 'Weeks',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t...generateLastNWeeksPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Months category\r\n\tcategories.push({\r\n\t\tname: 'Months',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t...generateLastNMonthsPresets([3, 6], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Quarters category\r\n\tcategories.push({\r\n\t\tname: 'Quarters',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t...generateLastNQuartersPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Years category\r\n\tcategories.push({\r\n\t\tname: 'Years',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Year to Date',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t],\r\n\t})\r\n\r\n\treturn categories\r\n}\r\n\r\n// Helper functions to generate preset arrays\r\nfunction generateLastNDaysPresets(days: number[], format: string): DateRangePreset[] {\r\n\treturn days.map(n => ({\r\n\t\tlabel: `Last ${n} Days`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n - 1, 'days').startOf('day').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'day' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNWeeksPresets(weeks: number[], format: string): DateRangePreset[] {\r\n\treturn weeks.map(n => ({\r\n\t\tlabel: `Last ${n} Weeks`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'weeks').startOf('week').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'week' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNMonthsPresets(months: number[], format: string): DateRangePreset[] {\r\n\treturn months.map(n => ({\r\n\t\tlabel: `Last ${n} Months`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'months').startOf('month').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'month' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNQuartersPresets(quarters: number[], format: string): DateRangePreset[] {\r\n\treturn quarters.map(n => ({\r\n\t\tlabel: `Last ${n} Quarters`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'quarters').startOf('quarter').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'quarter' as PresetUnit,\r\n\t}))\r\n}","import dayjs from 'dayjs'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = dayjs(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\ninterface PresetGroup {\n\tname: string\n\tpresets: DateRangePreset[]\n}\n\n/**\n * Dialog content component for date range selection\n *\n * Redesigned with chip-based horizontal flow layout:\n * - Quick Select: Today, Yesterday, This Week, This Month\n * - Days: Last 7/14/30/60/90 Days\n * - Periods: Last Week, Last Month, Last Quarter, Last Year\n * - Year to Date: This Week, This Month, This Quarter, This Year, YTD\n * - Custom Range: Manual date inputs at the bottom\n *\n * @element schmancy-date-range-dialog\n */\n@customElement('schmancy-date-range-dialog')\nexport class SchmancyDateRangeDialog extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\t@property({ type: String }) activePreset: string | null = null\n\t@property({ type: Array }) presetCategories: PresetCategory[] = []\n\n\t/**\n\t * Reorganizes presets into the new grouped layout\n\t */\n\tprivate getPresetGroups(): PresetGroup[] {\n\t\tconst allPresets = this.presetCategories.flatMap(c => c.presets)\n\n\t\t// Quick Select: Today, Yesterday, This Week, This Month\n\t\tconst quickSelectLabels = ['Today', 'Yesterday', 'This Week', 'This Month']\n\t\tconst quickSelect = quickSelectLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Days: Last 7/14/30/60/90 Days\n\t\tconst daysLabels = ['Last 7 Days', 'Last 14 Days', 'Last 30 Days', 'Last 60 Days', 'Last 90 Days']\n\t\tconst days = daysLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Periods: Last Week, Last Month, Last Quarter, Last Year\n\t\tconst periodsLabels = ['Last Week', 'Last Month', 'Last Quarter', 'Last Year']\n\t\tconst periods = periodsLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Year to Date: This Week, This Month, This Quarter, This Year, YTD\n\t\tconst ytdLabels = ['This Week', 'This Month', 'This Quarter', 'This Year', 'Year to Date']\n\t\tconst yearToDate = ytdLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\tconst groups: PresetGroup[] = []\n\n\t\tif (quickSelect.length > 0) {\n\t\t\tgroups.push({ name: 'Quick Select', presets: quickSelect })\n\t\t}\n\t\tif (days.length > 0) {\n\t\t\tgroups.push({ name: 'Days', presets: days })\n\t\t}\n\t\tif (periods.length > 0) {\n\t\t\tgroups.push({ name: 'Periods', presets: periods })\n\t\t}\n\t\tif (yearToDate.length > 0) {\n\t\t\tgroups.push({ name: 'Year to Date', presets: yearToDate })\n\t\t}\n\n\t\treturn groups\n\t}\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\n\t\t// If the new start date is after the current end date, adjust the end date\n\t\tif (this.dateTo.value && dayjs(this.dateFrom.value).isAfter(dayjs(this.dateTo.value))) {\n\t\t\tthis.dateTo = { ...this.dateTo, value: this.dateFrom.value }\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo = { ...this.dateTo, value: input.value }\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.dispatchEvent(new CustomEvent('preset-select', {\n\t\t\tdetail: { preset },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t\t$dialog.dismiss()\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.dispatchEvent(new CustomEvent('announce', {\n\t\t\t\tdetail: { message: 'Invalid date format. Please check your input.' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true\n\t\t\t}))\n\t\t\treturn\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('apply-dates', {\n\t\t\tdetail: {\n\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\tswapIfNeeded: fromDate.isAfter(toDate)\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\n\t\t$dialog.dismiss()\n\t}\n\n\trender() {\n\t\tconst presetGroups = this.getPresetGroups()\n\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Preset Groups Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4\">\n\t\t\t\t\t${repeat(\n\t\t\t\t\t\tpresetGroups,\n\t\t\t\t\t\tgroup => group.name,\n\t\t\t\t\t\tgroup => html`\n\t\t\t\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${group.name}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div class=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\t\t\t\tgroup.presets,\n\t\t\t\t\t\t\t\t\t\tpreset => preset.label,\n\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-filter-chip\n\t\t\t\t\t\t\t\t\t\t\t\t.value=${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t.selected=${this.activePreset === preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => this.handlePresetSelection(preset, e)}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-filter-chip>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Divider -->\n\t\t\t\t<schmancy-divider class=\"my-4\"></schmancy-divider>\n\n\t\t\t\t<!-- Custom Range Section -->\n\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t<div class=\"flex items-end gap-3 flex-wrap\">\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</div>\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'schmancy-date-range-dialog': SchmancyDateRangeDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, render } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { sheet } from '../sheet/sheet.service'\nimport { detectDateRangeType, formatDateRange } from './date-range-helpers'\nimport { DateRangePreset, generatePresetCategories, PresetCategory } from './date-range-presets'\nimport { validateInitialDateRange } from './date-utils'\nimport './date-range-dialog'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\t@property() step?: 'day' | 'week' | 'month' | 'year' | number\n\t/** When true, collapses to just an icon button on mobile screens */\n\t@property({ type: Boolean }) collapse = false\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\t// Reset open state when element is moved/removed to prevent stale state\n\t\tthis.isOpen = false\n\t}\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate toggleDropdown(e: MouseEvent) {\n\t\te.stopPropagation()\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown(e)\n\t\t}\n\t}\n\n\tprivate openDropdown(e?: MouseEvent) {\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tthis.dispatchEvent(new CustomEvent('beforeopen', { bubbles: true, composed: true }))\n\t\tthis.isOpen = true\n\n\t\tconst dialogContent = html`\n\t\t\t<schmancy-date-range-dialog\n\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t.dateFrom=\"${this.dateFrom}\"\n\t\t\t\t.dateTo=\"${this.dateTo}\"\n\t\t\t\t.minDate=\"${this.minDate}\"\n\t\t\t\t.maxDate=\"${this.maxDate}\"\n\t\t\t\t.activePreset=\"${this.activePreset}\"\n\t\t\t\t.presetCategories=\"${this.presetCategories}\"\n\t\t\t\t@preset-select=\"${(e: CustomEvent) => {\n\t\t\t\t\tthis.activePreset = e.detail.preset.label\n\t\t\t\t\tthis.setDateRange(e.detail.preset.range.dateFrom, e.detail.preset.range.dateTo)\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@date-change=\"${() => this.updateSelectedDateRange()}\"\n\t\t\t\t@apply-dates=\"${(e: CustomEvent) => {\n\t\t\t\t\tconst { dateFrom, dateTo, swapIfNeeded } = e.detail\n\t\t\t\t\tif (swapIfNeeded) {\n\t\t\t\t\t\tthis.setDateRange(dateTo, dateFrom)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@announce=\"${(e: CustomEvent) => this.announceToScreenReader(e.detail.message)}\"\n\t\t\t></schmancy-date-range-dialog>\n\t\t`\n\n\t\tif (this.isMobile) {\n\t\t\tconst container = document.createElement('div')\n\t\t\trender(dialogContent, container)\n\t\t\tsheet.push({\n\t\t\t\tcomponent: container,\n\t\t\t\tuid: 'date-range-sheet',\n\t\t\t\tclose: () => { this.isOpen = false }\n\t\t\t})\n\t\t} else {\n\t\t\t$dialog.component(dialogContent, {\n\t\t\t\ttitle: 'Select Date Range',\n\t\t\t\thideActions: true,\n\t\t\t\tposition: e\n\t\t\t}).then(() => {\n\t\t\t\tthis.isOpen = false\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate closeDropdown() {\n\t\tif (this.isMobile) {\n\t\t\tsheet.dismiss('date-range-sheet')\n\t\t} else {\n\t\t\t$dialog.dismiss()\n\t\t}\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on the step property\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t// Determine shift amount and unit\n\t\tlet amount: number\n\t\tlet unit: dayjs.ManipulateType\n\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\tamount = dir * this.step\n\t\t\t\tunit = 'day'\n\t\t\t} else if (this.step === 'day') {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t} else {\n\t\t\t\tamount = dir\n\t\t\t\tunit = this.step\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect based on date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'year'\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'month'\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'week'\n\t\t\t} else {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t}\n\t\t}\n\n\t\tconst newFromDate = fromDate.add(amount, unit)\n\t\tconst newToDate = toDate.add(amount, unit)\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate && newFromDate.isBefore(dayjs(this.minDate))) return\n\t\tif (this.maxDate && newToDate.isAfter(dayjs(this.maxDate))) return\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\t/**\n\t * Check if we can navigate backward\n\t */\n\tprivate canNavigateBackward(): boolean {\n\t\tif (!this.dateFrom.value || !this.minDate) return true\n\t\t\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst minDate = dayjs(this.minDate)\n\t\t\n\t\t// If current start date is already at or before min date, can't go back\n\t\treturn fromDate.isAfter(minDate)\n\t}\n\n\t/**\n\t * Check if we can navigate forward\n\t */\n\tprivate canNavigateForward(): boolean {\n\t\tif (!this.dateTo.value || !this.maxDate) return true\n\t\t\n\t\tconst toDate = dayjs(this.dateTo.value)\n\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\n\t\t// If current end date is already at or after max date, can't go forward\n\t\treturn toDate.isBefore(maxDate)\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Collapsed: icon-only on mobile when collapse=true -->\n\t\t\t\t<schmancy-icon-button\n\t\t\t\t\tclass=\"${this.collapse ? 'lg:hidden' : 'hidden'}\"\n\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t>\n\t\t\t\t\tdate_range\n\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t<!-- Full UI: always visible when collapse=false, or lg+ when collapse=true -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"${this.collapse ? 'hidden lg:flex' : 'flex'}\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Previous ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateBackward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t\t\taria-readonly=\"${this.step !== undefined}\"\n\t\t\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t\t\tstyle=\"${this.step !== undefined ? 'cursor: default;' : ''}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateForward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}"],"x_google_ignoreList":[0,1],"mappings":"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"}