@mhmo91/schmancy 0.2.200 → 0.2.202

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 (287) hide show
  1. package/ai/boat.md +118 -0
  2. package/ai/chips.md +89 -123
  3. package/dist/ai/boat.md +118 -0
  4. package/dist/ai/chips.md +89 -123
  5. package/dist/{animated-text-BZWvzqEZ.js → animated-text-BYS4ollO.js} +3 -3
  6. package/dist/{animated-text-BZWvzqEZ.js.map → animated-text-BYS4ollO.js.map} +1 -1
  7. package/dist/{animated-text-BgLktXr-.cjs → animated-text-jb8xtsKZ.cjs} +2 -2
  8. package/dist/{animated-text-BgLktXr-.cjs.map → animated-text-jb8xtsKZ.cjs.map} +1 -1
  9. package/dist/animated-text.cjs +1 -1
  10. package/dist/animated-text.js +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/{area.component-zvrF1R-P.js → area.component-DxNRxMvF.js} +4 -4
  13. package/dist/area.component-DxNRxMvF.js.map +1 -0
  14. package/dist/{area.component-CqKoQRDp.cjs → area.component-VivYGPFY.cjs} +3 -3
  15. package/dist/area.component-VivYGPFY.cjs.map +1 -0
  16. package/dist/area.js +1 -1
  17. package/dist/{autocomplete-CpYDECg0.js → autocomplete-Bau2LIoa.js} +3 -3
  18. package/dist/{autocomplete-CpYDECg0.js.map → autocomplete-Bau2LIoa.js.map} +1 -1
  19. package/dist/{autocomplete-BCE9oBkO.cjs → autocomplete-CfpLrL2J.cjs} +2 -2
  20. package/dist/{autocomplete-BCE9oBkO.cjs.map → autocomplete-CfpLrL2J.cjs.map} +1 -1
  21. package/dist/autocomplete.cjs +1 -1
  22. package/dist/autocomplete.js +1 -1
  23. package/dist/{avatar-B_y2vLrR.cjs → avatar-CUD4cs6U.cjs} +2 -2
  24. package/dist/{avatar-B_y2vLrR.cjs.map → avatar-CUD4cs6U.cjs.map} +1 -1
  25. package/dist/{avatar-B_BubJYb.js → avatar-CsMJfDiv.js} +47 -46
  26. package/dist/{avatar-B_BubJYb.js.map → avatar-CsMJfDiv.js.map} +1 -1
  27. package/dist/badge.cjs +1 -1
  28. package/dist/badge.js +1 -1
  29. package/dist/boat-BH_EwwX-.cjs +64 -0
  30. package/dist/boat-BH_EwwX-.cjs.map +1 -0
  31. package/dist/boat-CqW5lpYZ.js +95 -0
  32. package/dist/boat-CqW5lpYZ.js.map +1 -0
  33. package/dist/boat.cjs +2 -0
  34. package/dist/boat.cjs.map +1 -0
  35. package/dist/boat.js +5 -0
  36. package/dist/boat.js.map +1 -0
  37. package/dist/busy.cjs +1 -1
  38. package/dist/busy.js +1 -1
  39. package/dist/button.cjs +1 -1
  40. package/dist/button.js +1 -1
  41. package/dist/card.cjs +1 -1
  42. package/dist/card.js +1 -1
  43. package/dist/{checkbox-DATn1US_.cjs → checkbox-BPaB8gjl.cjs} +2 -2
  44. package/dist/{checkbox-DATn1US_.cjs.map → checkbox-BPaB8gjl.cjs.map} +1 -1
  45. package/dist/{checkbox-CJ6x-G_b.js → checkbox-DWzhuPa4.js} +6 -6
  46. package/dist/{checkbox-CJ6x-G_b.js.map → checkbox-DWzhuPa4.js.map} +1 -1
  47. package/dist/checkbox.cjs +1 -1
  48. package/dist/checkbox.js +1 -1
  49. package/dist/{chips-BbWIMKDU.cjs → chips-B_JKvtqB.cjs} +2 -2
  50. package/dist/{chips-BbWIMKDU.cjs.map → chips-B_JKvtqB.cjs.map} +1 -1
  51. package/dist/{chips-CcT1N7--.js → chips-K6z9BIbc.js} +9 -9
  52. package/dist/{chips-CcT1N7--.js.map → chips-K6z9BIbc.js.map} +1 -1
  53. package/dist/chips.cjs +1 -1
  54. package/dist/chips.js +1 -1
  55. package/dist/{circular-progress-JGc2_9ef.cjs → circular-progress-BG_EnVTn.cjs} +2 -2
  56. package/dist/{circular-progress-JGc2_9ef.cjs.map → circular-progress-BG_EnVTn.cjs.map} +1 -1
  57. package/dist/{circular-progress-Cs3G6PHo.js → circular-progress-irMd5G3E.js} +3 -3
  58. package/dist/{circular-progress-Cs3G6PHo.js.map → circular-progress-irMd5G3E.js.map} +1 -1
  59. package/dist/circular-progress.cjs +1 -1
  60. package/dist/circular-progress.js +1 -1
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/{code-preview-DXf_SN2X.cjs → code-preview-BDi-9C_7.cjs} +14 -9
  64. package/dist/{code-preview-DXf_SN2X.cjs.map → code-preview-BDi-9C_7.cjs.map} +1 -1
  65. package/dist/{code-preview-BZ-uk6y1.js → code-preview-D_QJybDt.js} +129 -124
  66. package/dist/{code-preview-BZ-uk6y1.js.map → code-preview-D_QJybDt.js.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/content-drawer.cjs +1 -1
  70. package/dist/content-drawer.js +1 -1
  71. package/dist/{date-range-D85imfq-.cjs → date-range--jCSlkf3.cjs} +2 -2
  72. package/dist/{date-range-D85imfq-.cjs.map → date-range--jCSlkf3.cjs.map} +1 -1
  73. package/dist/{date-range-Dt9V5MyB.js → date-range-B9UeIzcl.js} +3 -3
  74. package/dist/{date-range-Dt9V5MyB.js.map → date-range-B9UeIzcl.js.map} +1 -1
  75. package/dist/date-range.cjs +1 -1
  76. package/dist/date-range.js +1 -1
  77. package/dist/{delay-CE3iPMYG.js → delay-CCOKwDX3.js} +2 -2
  78. package/dist/{delay-CE3iPMYG.js.map → delay-CCOKwDX3.js.map} +1 -1
  79. package/dist/{delay-BH-y0tJg.cjs → delay-OOtwG41o.cjs} +2 -2
  80. package/dist/{delay-BH-y0tJg.cjs.map → delay-OOtwG41o.cjs.map} +1 -1
  81. package/dist/delay.cjs +1 -1
  82. package/dist/delay.js +1 -1
  83. package/dist/{dialog-content-BQN75NSZ.cjs → dialog-content-B3kd79fM.cjs} +2 -2
  84. package/dist/{dialog-content-BQN75NSZ.cjs.map → dialog-content-B3kd79fM.cjs.map} +1 -1
  85. package/dist/{dialog-content-E5R1XfK5.js → dialog-content-BpvJPGA8.js} +3 -3
  86. package/dist/{dialog-content-E5R1XfK5.js.map → dialog-content-BpvJPGA8.js.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-BEtL0P-_.cjs → divider-Bf9Slnvo.cjs} +2 -2
  90. package/dist/{divider-BEtL0P-_.cjs.map → divider-Bf9Slnvo.cjs.map} +1 -1
  91. package/dist/{divider-BlSi0WWi.js → divider-CmpZyxZz.js} +3 -3
  92. package/dist/{divider-BlSi0WWi.js.map → divider-CmpZyxZz.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-DkKciM_R.js → dropdown-content-CU1cly-s.js} +3 -3
  96. package/dist/{dropdown-content-DkKciM_R.js.map → dropdown-content-CU1cly-s.js.map} +1 -1
  97. package/dist/{dropdown-content-HRI7Jkak.cjs → dropdown-content-DBk4DHeT.cjs} +2 -2
  98. package/dist/{dropdown-content-HRI7Jkak.cjs.map → dropdown-content-DBk4DHeT.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-DHA02Mfw.js → flex-CujhhojR.js} +2 -2
  104. package/dist/{flex-DHA02Mfw.js.map → flex-CujhhojR.js.map} +1 -1
  105. package/dist/{flex-CwTn3AfA.cjs → flex-W05LrmiY.cjs} +2 -2
  106. package/dist/{flex-CwTn3AfA.cjs.map → flex-W05LrmiY.cjs.map} +1 -1
  107. package/dist/{form-DsprWndI.js → form-BHEhndln.js} +2 -2
  108. package/dist/{form-DsprWndI.js.map → form-BHEhndln.js.map} +1 -1
  109. package/dist/{form-C9llOgOw.cjs → form-D99IyIWZ.cjs} +2 -2
  110. package/dist/{form-C9llOgOw.cjs.map → form-D99IyIWZ.cjs.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{icon-D967cxey.js → icon-C200ch2d.js} +2 -2
  114. package/dist/{icon-D967cxey.js.map → icon-C200ch2d.js.map} +1 -1
  115. package/dist/{icon-B1vaqlkD.cjs → icon-DwMgmWET.cjs} +2 -2
  116. package/dist/{icon-B1vaqlkD.cjs.map → icon-DwMgmWET.cjs.map} +1 -1
  117. package/dist/{icon-button-C_OqjQfc.js → icon-button-CpaZ6Sl4.js} +3 -3
  118. package/dist/{icon-button-C_OqjQfc.js.map → icon-button-CpaZ6Sl4.js.map} +1 -1
  119. package/dist/{icon-button-D6RzSEQb.cjs → icon-button-DjdXn0i9.cjs} +2 -2
  120. package/dist/{icon-button-D6RzSEQb.cjs.map → icon-button-DjdXn0i9.cjs.map} +1 -1
  121. package/dist/icons.cjs +1 -1
  122. package/dist/icons.js +1 -1
  123. package/dist/index.cjs +1 -1
  124. package/dist/index.js +157 -155
  125. package/dist/index.js.map +1 -1
  126. package/dist/{input-DschQCBp.cjs → input-BeOn-cgH.cjs} +2 -2
  127. package/dist/{input-DschQCBp.cjs.map → input-BeOn-cgH.cjs.map} +1 -1
  128. package/dist/{input-4heVsnGw.js → input-oJU4j5gv.js} +2 -2
  129. package/dist/{input-4heVsnGw.js.map → input-oJU4j5gv.js.map} +1 -1
  130. package/dist/input.cjs +1 -1
  131. package/dist/input.js +1 -1
  132. package/dist/layout.cjs +1 -1
  133. package/dist/layout.js +1 -1
  134. package/dist/{list-B1bxSmd5.cjs → list-77ofKN4f.cjs} +2 -2
  135. package/dist/{list-B1bxSmd5.cjs.map → list-77ofKN4f.cjs.map} +1 -1
  136. package/dist/{list-DE1otSG3.js → list-DA5qfp5T.js} +2 -2
  137. package/dist/{list-DE1otSG3.js.map → list-DA5qfp5T.js.map} +1 -1
  138. package/dist/list.cjs +1 -1
  139. package/dist/list.js +1 -1
  140. package/dist/{litElement.mixin-1-y-wwQg.js → litElement.mixin-BWl8md6o.js} +2 -2
  141. package/dist/{litElement.mixin-1-y-wwQg.js.map → litElement.mixin-BWl8md6o.js.map} +1 -1
  142. package/dist/{litElement.mixin-CB6DWbFn.cjs → litElement.mixin-DWxMKydc.cjs} +2 -2
  143. package/dist/{litElement.mixin-CB6DWbFn.cjs.map → litElement.mixin-DWxMKydc.cjs.map} +1 -1
  144. package/dist/{menu-TDH53RmV.cjs → menu-Bo6lczzN.cjs} +2 -2
  145. package/dist/{menu-TDH53RmV.cjs.map → menu-Bo6lczzN.cjs.map} +1 -1
  146. package/dist/{menu-B1qPlV2t.js → menu-DHJGkSYp.js} +3 -3
  147. package/dist/{menu-B1qPlV2t.js.map → menu-DHJGkSYp.js.map} +1 -1
  148. package/dist/menu.cjs +1 -1
  149. package/dist/menu.js +1 -1
  150. package/dist/nav-drawer.cjs +1 -1
  151. package/dist/nav-drawer.js +1 -1
  152. package/dist/{notification-service-D2pgTqTS.js → notification-service-DzLqQyQY.js} +3 -3
  153. package/dist/{notification-service-D2pgTqTS.js.map → notification-service-DzLqQyQY.js.map} +1 -1
  154. package/dist/{notification-service-BKSRwonz.cjs → notification-service-WLfJOHGg.cjs} +2 -2
  155. package/dist/{notification-service-BKSRwonz.cjs.map → notification-service-WLfJOHGg.cjs.map} +1 -1
  156. package/dist/notification.cjs +1 -1
  157. package/dist/notification.js +1 -1
  158. package/dist/{option-Q6l-t3es.cjs → option-D7kpmdEM.cjs} +2 -2
  159. package/dist/{option-Q6l-t3es.cjs.map → option-D7kpmdEM.cjs.map} +1 -1
  160. package/dist/{option-CLY6hO5V.js → option-DQpRizvO.js} +2 -2
  161. package/dist/{option-CLY6hO5V.js.map → option-DQpRizvO.js.map} +1 -1
  162. package/dist/option.cjs +1 -1
  163. package/dist/option.js +1 -1
  164. package/dist/{payment-card-form-BpaCnjrt.js → payment-card-form-BZLHY7HJ.js} +3 -3
  165. package/dist/{payment-card-form-BpaCnjrt.js.map → payment-card-form-BZLHY7HJ.js.map} +1 -1
  166. package/dist/{payment-card-form-V5eIamA9.cjs → payment-card-form-DfgGRWy8.cjs} +2 -2
  167. package/dist/{payment-card-form-V5eIamA9.cjs.map → payment-card-form-DfgGRWy8.cjs.map} +1 -1
  168. package/dist/{radio-button-CuTpkLr8.js → radio-button-BNpFaQX8.js} +2 -2
  169. package/dist/{radio-button-CuTpkLr8.js.map → radio-button-BNpFaQX8.js.map} +1 -1
  170. package/dist/{radio-button-Dm2I9Ic4.cjs → radio-button-BiHHYFbP.cjs} +2 -2
  171. package/dist/{radio-button-Dm2I9Ic4.cjs.map → radio-button-BiHHYFbP.cjs.map} +1 -1
  172. package/dist/radio-group.cjs +1 -1
  173. package/dist/radio-group.js +1 -1
  174. package/dist/{schmancy-steps-container-DO4tx0KH.cjs → schmancy-steps-container-DhJWC3Lf.cjs} +2 -2
  175. package/dist/{schmancy-steps-container-DO4tx0KH.cjs.map → schmancy-steps-container-DhJWC3Lf.cjs.map} +1 -1
  176. package/dist/{schmancy-steps-container-SrnYbTe-.js → schmancy-steps-container-idw6M7gT.js} +2 -2
  177. package/dist/{schmancy-steps-container-SrnYbTe-.js.map → schmancy-steps-container-idw6M7gT.js.map} +1 -1
  178. package/dist/{select-BJdRm5US.cjs → select-BQVRqkgK.cjs} +2 -2
  179. package/dist/{select-BJdRm5US.cjs.map → select-BQVRqkgK.cjs.map} +1 -1
  180. package/dist/{select-DfemPf0w.js → select-DV_tG6Z1.js} +3 -3
  181. package/dist/{select-DfemPf0w.js.map → select-DV_tG6Z1.js.map} +1 -1
  182. package/dist/select.cjs +1 -1
  183. package/dist/select.js +1 -1
  184. package/dist/{sheet-Bvj7tapP.js → sheet-DGaUsOLM.js} +3 -3
  185. package/dist/{sheet-Bvj7tapP.js.map → sheet-DGaUsOLM.js.map} +1 -1
  186. package/dist/{sheet-BtaT1eui.cjs → sheet-Ds_huwa_.cjs} +2 -2
  187. package/dist/{sheet-BtaT1eui.cjs.map → sheet-Ds_huwa_.cjs.map} +1 -1
  188. package/dist/sheet.cjs +1 -1
  189. package/dist/sheet.js +1 -1
  190. package/dist/{slider-AQvRuZ-m.cjs → slider-CJINpiTK.cjs} +2 -2
  191. package/dist/{slider-AQvRuZ-m.cjs.map → slider-CJINpiTK.cjs.map} +1 -1
  192. package/dist/{slider-DAwHA6Az.js → slider-Cl30H-Ky.js} +3 -3
  193. package/dist/{slider-DAwHA6Az.js.map → slider-Cl30H-Ky.js.map} +1 -1
  194. package/dist/slider.cjs +1 -1
  195. package/dist/slider.js +1 -1
  196. package/dist/{spinner-DrZuae0L.js → spinner-Dpo3W3c-.js} +3 -3
  197. package/dist/{spinner-DrZuae0L.js.map → spinner-Dpo3W3c-.js.map} +1 -1
  198. package/dist/{spinner-BLy3-lqb.cjs → spinner-uO1siKhB.cjs} +2 -2
  199. package/dist/{spinner-BLy3-lqb.cjs.map → spinner-uO1siKhB.cjs.map} +1 -1
  200. package/dist/steps.cjs +1 -1
  201. package/dist/steps.js +1 -1
  202. package/dist/{surface-CAlEVfSs.js → surface-C6Krb1lv.js} +3 -3
  203. package/dist/{surface-CAlEVfSs.js.map → surface-C6Krb1lv.js.map} +1 -1
  204. package/dist/{surface-BOerTano.cjs → surface-JsTE_chE.cjs} +3 -3
  205. package/dist/{surface-BOerTano.cjs.map → surface-JsTE_chE.cjs.map} +1 -1
  206. package/dist/surface.cjs +1 -1
  207. package/dist/surface.js +1 -1
  208. package/dist/{table-hjsAGpRq.js → table-Dbf_6MHf.js} +2 -2
  209. package/dist/{table-hjsAGpRq.js.map → table-Dbf_6MHf.js.map} +1 -1
  210. package/dist/{table-B3VrNQUV.cjs → table-ZmivCJrn.cjs} +2 -2
  211. package/dist/{table-B3VrNQUV.cjs.map → table-ZmivCJrn.cjs.map} +1 -1
  212. package/dist/table.cjs +1 -1
  213. package/dist/table.js +1 -1
  214. package/dist/{tabs-compatibility-D9ajXdXz.js → tabs-compatibility-CDMklQAm.js} +2 -2
  215. package/dist/{tabs-compatibility-D9ajXdXz.js.map → tabs-compatibility-CDMklQAm.js.map} +1 -1
  216. package/dist/{tabs-compatibility-DdXO8DcF.cjs → tabs-compatibility-CTswDDwq.cjs} +2 -2
  217. package/dist/{tabs-compatibility-DdXO8DcF.cjs.map → tabs-compatibility-CTswDDwq.cjs.map} +1 -1
  218. package/dist/tabs.cjs +1 -1
  219. package/dist/tabs.js +1 -1
  220. package/dist/tailwind.mixin-B1NF3tDz.cjs +2 -0
  221. package/dist/{tailwind.mixin-mxyACxyp.cjs.map → tailwind.mixin-B1NF3tDz.cjs.map} +1 -1
  222. package/dist/tailwind.mixin-DRbXmwPy.js +43 -0
  223. package/dist/{tailwind.mixin-DPUboU_5.js.map → tailwind.mixin-DRbXmwPy.js.map} +1 -1
  224. package/dist/teleport.cjs +1 -1
  225. package/dist/teleport.js +1 -1
  226. package/dist/{textarea-C16vg4ME.cjs → textarea-B5NhHUmB.cjs} +2 -2
  227. package/dist/{textarea-C16vg4ME.cjs.map → textarea-B5NhHUmB.cjs.map} +1 -1
  228. package/dist/{textarea-DqFx1pM1.js → textarea-BgIcOe2_.js} +2 -2
  229. package/dist/{textarea-DqFx1pM1.js.map → textarea-BgIcOe2_.js.map} +1 -1
  230. package/dist/textarea.cjs +1 -1
  231. package/dist/textarea.js +1 -1
  232. package/dist/{theme-button-CgZ5qc7_.cjs → theme-button-ByTuVI2m.cjs} +2 -2
  233. package/dist/{theme-button-CgZ5qc7_.cjs.map → theme-button-ByTuVI2m.cjs.map} +1 -1
  234. package/dist/{theme-button-D5fnf2QD.js → theme-button-CHfJgh_S.js} +2 -2
  235. package/dist/{theme-button-D5fnf2QD.js.map → theme-button-CHfJgh_S.js.map} +1 -1
  236. package/dist/theme-button.cjs +1 -1
  237. package/dist/theme-button.js +1 -1
  238. package/dist/theme.cjs +1 -1
  239. package/dist/{theme.component-BOnjDUB3.js → theme.component-BOA_RlkP.js} +2 -2
  240. package/dist/{theme.component-BOnjDUB3.js.map → theme.component-BOA_RlkP.js.map} +1 -1
  241. package/dist/{theme.component-B5uMqEbH.cjs → theme.component-Dqb12V2Y.cjs} +2 -2
  242. package/dist/{theme.component-B5uMqEbH.cjs.map → theme.component-Dqb12V2Y.cjs.map} +1 -1
  243. package/dist/theme.js +1 -1
  244. package/dist/{timezone-CdAu8QsM.cjs → timezone-CeArJOdv.cjs} +2 -2
  245. package/dist/{timezone-CdAu8QsM.cjs.map → timezone-CeArJOdv.cjs.map} +1 -1
  246. package/dist/{timezone-DwU-YCRw.js → timezone-EnguJE1R.js} +3 -3
  247. package/dist/{timezone-DwU-YCRw.js.map → timezone-EnguJE1R.js.map} +1 -1
  248. package/dist/{tooltip-Bn-UWxd4.js → tooltip-beiWb2qf.js} +2 -2
  249. package/dist/{tooltip-Bn-UWxd4.js.map → tooltip-beiWb2qf.js.map} +1 -1
  250. package/dist/{tooltip-CyI3NYzI.cjs → tooltip-swpV3EIO.cjs} +2 -2
  251. package/dist/{tooltip-CyI3NYzI.cjs.map → tooltip-swpV3EIO.cjs.map} +1 -1
  252. package/dist/tooltip.cjs +1 -1
  253. package/dist/tooltip.js +1 -1
  254. package/dist/{tree-D2g2zq2B.js → tree-BJfdIGMP.js} +2 -2
  255. package/dist/{tree-D2g2zq2B.js.map → tree-BJfdIGMP.js.map} +1 -1
  256. package/dist/{tree-DdXcAF6S.cjs → tree-CwNbvxdt.cjs} +2 -2
  257. package/dist/{tree-DdXcAF6S.cjs.map → tree-CwNbvxdt.cjs.map} +1 -1
  258. package/dist/tree.cjs +1 -1
  259. package/dist/tree.js +1 -1
  260. package/dist/{typewriter-3w_PiJFo.js → typewriter-BAfCN_JJ.js} +4 -4
  261. package/dist/{typewriter-3w_PiJFo.js.map → typewriter-BAfCN_JJ.js.map} +1 -1
  262. package/dist/{typewriter-RVqJuWSv.cjs → typewriter-CQePZbSj.cjs} +2 -2
  263. package/dist/{typewriter-RVqJuWSv.cjs.map → typewriter-CQePZbSj.cjs.map} +1 -1
  264. package/dist/typewriter.cjs +1 -1
  265. package/dist/typewriter.js +1 -1
  266. package/dist/typography-CUv4DPU-.js +342 -0
  267. package/dist/typography-CUv4DPU-.js.map +1 -0
  268. package/dist/typography-DrDWI6Bh.cjs +318 -0
  269. package/dist/typography-DrDWI6Bh.cjs.map +1 -0
  270. package/dist/typography.cjs +1 -1
  271. package/dist/typography.js +1 -1
  272. package/package.json +15 -15
  273. package/types/src/area/area.component.d.ts +1 -1
  274. package/types/src/area/router.types.d.ts +1 -1
  275. package/types/src/boat/boat.d.ts +12 -0
  276. package/types/src/boat/index.d.ts +1 -0
  277. package/types/src/index.d.ts +1 -0
  278. package/types/src/surface/surface.d.ts +1 -1
  279. package/types/src/typography/typography.d.ts +6 -5
  280. package/dist/area.component-CqKoQRDp.cjs.map +0 -1
  281. package/dist/area.component-zvrF1R-P.js.map +0 -1
  282. package/dist/tailwind.mixin-DPUboU_5.js +0 -43
  283. package/dist/tailwind.mixin-mxyACxyp.cjs +0 -2
  284. package/dist/typography-BLJPXhuT.cjs +0 -10
  285. package/dist/typography-BLJPXhuT.cjs.map +0 -1
  286. package/dist/typography-izBBu-t8.js +0 -37
  287. package/dist/typography-izBBu-t8.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-Dt9V5MyB.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-utils.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'\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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n// Custom type to include 'quarter' as a valid unit\ntype ExtendedTimeUnit = dayjs.OpUnitType | 'quarter'\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\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\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: ExtendedTimeUnit\n\t}> = []\n\n\t// Categorized presets\n\tprivate presetCategories: Array<{\n\t\tname: string\n\t\tpresets: Array<{\n\t\t\tlabel: string\n\t\t\trange: { dateFrom: string; dateTo: string }\n\t\t\tstep: ExtendedTimeUnit\n\t\t}>\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\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// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\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\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\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\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\n\t\t// Define categories with their presets\n\t\tthis.presetCategories = [\n\t\t\t{\n\t\t\t\tname: 'Days',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Today',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Yesterday',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 30 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(29, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 90 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(89, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Weeks',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Months',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Quarters',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Years',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Year to Date',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t]\n\n\t\t// For datetime-local type, add time-specific presets\n\t\tif (this.type === 'datetime-local') {\n\t\t\tthis.presetCategories.unshift({\n\t\t\t\tname: 'Hours',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 24 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 12 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}\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 = {\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 ExtendedTimeUnit,\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}\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\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\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()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\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\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 handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Helper method to safely add/subtract quarter values\n\t */\n\tprivate adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\n\t\t// Get current quarter (1-4)\n\t\tconst currentQuarter = date.quarter()\n\n\t\t// Calculate new quarter\n\t\tlet newQuarter = currentQuarter + direction * amount\n\t\tlet yearAdjustment = 0\n\n\t\t// Handle year boundaries\n\t\twhile (newQuarter > 4) {\n\t\t\tnewQuarter -= 4\n\t\t\tyearAdjustment += 1\n\t\t}\n\n\t\twhile (newQuarter < 1) {\n\t\t\tnewQuarter += 4\n\t\t\tyearAdjustment -= 1\n\t\t}\n\n\t\t// Adjust year if needed\n\t\tconst adjustedDate = date.add(yearAdjustment, 'year')\n\n\t\t// Set to the start of the new quarter\n\t\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\n\n\t\t// Maintain the same day of month if possible\n\t\tconst daysInMonth = newDate.daysInMonth()\n\t\tconst targetDay = Math.min(date.date(), daysInMonth)\n\n\t\treturn newDate.date(targetDay)\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Enhanced to properly handle various time units and preserve date patterns\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\n\t\t// Convert direction to a type that our helper methods can use\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents full time periods\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullQuarter =\n\t\t\tfromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day')\n\t\tconst isFullYear = fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\t// Determine shift unit and amount\n\t\tlet unit: ExtendedTimeUnit = 'day'\n\t\tlet amount = 1\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month, quarter, year)\n\t\t\tunit = activePreset.step\n\t\t\tamount = 1 // For presets, we shift by one unit\n\t\t} else {\n\t\t\t// For custom ranges, calculate the appropriate step size\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For very long ranges, use years\n\t\t\tif (rangeDurationInDays >= 360) {\n\t\t\t\tunit = 'year'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 365)\n\t\t\t}\n\t\t\t// For long ranges, use quarters\n\t\t\telse if (rangeDurationInDays >= 90) {\n\t\t\t\tunit = 'quarter'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 90)\n\t\t\t}\n\t\t\t// For medium-long ranges, use months\n\t\t\telse if (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges, use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Handle special case for quarters\n\t\tif (unit === 'quarter') {\n\t\t\tif (isFullQuarter) {\n\t\t\t\t// Full quarter logic\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Partial quarter logic - maintain day pattern\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, 1)\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, -1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// For hour-based units (used in datetime-local type)\n\t\telse if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.add(rangeDurationInHours, 'hour')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t}\n\t\t}\n\t\t// For year-based shifting\n\t\telse if (unit === 'year' && isFullYear) {\n\t\t\t// For full year ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t}\n\t\t} else if (unit === 'year') {\n\t\t\t// For year unit but not full year range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year')\n\t\t\t\tnewToDate = toDate.add(amount, 'year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'year')\n\t\t\t}\n\t\t}\n\t\t// For month-based shifting\n\t\telse if (unit === 'month' && isFullMonth) {\n\t\t\t// For full month ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'month') {\n\t\t\t// For month unit but not a full month range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month')\n\t\t\t\tnewToDate = toDate.add(amount, 'month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'month')\n\t\t\t}\n\t\t}\n\t\t// For week-based shifting\n\t\telse if (unit === 'week' && isFullWeek) {\n\t\t\t// For full week ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else if (unit === 'week') {\n\t\t\t// For week unit but not full week range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week')\n\t\t\t\tnewToDate = toDate.add(amount, 'week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'week')\n\t\t\t}\n\t\t}\n\t\t// For day-based shifting (default)\n\t\telse {\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\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\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\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\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=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\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\t@click=${(e: Event) => this.toggleDropdown(e)}\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=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\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\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t<section class=\"absolute flex-1\">\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t\tfill=\"all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view with categories -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4 max-h-96 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\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\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\"> Custom Range </schmancy-typography>\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","quarter","bind","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","quarterOfYear","SchmancyDateRange","$LitElement","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","presetCategories","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","presets","range","step","unshift","category","push","customCategory","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","dir","newFromDate","newToDate","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","unit","rangeDurationInDays","adjustQuarter","rangeDurationInHours","newFromDateStr","newToDateStr","matchingPreset","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"date-range-B9UeIzcl.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-utils.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'\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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n// Custom type to include 'quarter' as a valid unit\ntype ExtendedTimeUnit = dayjs.OpUnitType | 'quarter'\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\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\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: ExtendedTimeUnit\n\t}> = []\n\n\t// Categorized presets\n\tprivate presetCategories: Array<{\n\t\tname: string\n\t\tpresets: Array<{\n\t\t\tlabel: string\n\t\t\trange: { dateFrom: string; dateTo: string }\n\t\t\tstep: ExtendedTimeUnit\n\t\t}>\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\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// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\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\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\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\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\n\t\t// Define categories with their presets\n\t\tthis.presetCategories = [\n\t\t\t{\n\t\t\t\tname: 'Days',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Today',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Yesterday',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 30 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(29, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 90 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(89, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Weeks',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Months',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Quarters',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Years',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Year to Date',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t]\n\n\t\t// For datetime-local type, add time-specific presets\n\t\tif (this.type === 'datetime-local') {\n\t\t\tthis.presetCategories.unshift({\n\t\t\t\tname: 'Hours',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 24 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 12 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}\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 = {\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 ExtendedTimeUnit,\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}\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\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\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()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\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\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 handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Helper method to safely add/subtract quarter values\n\t */\n\tprivate adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\n\t\t// Get current quarter (1-4)\n\t\tconst currentQuarter = date.quarter()\n\n\t\t// Calculate new quarter\n\t\tlet newQuarter = currentQuarter + direction * amount\n\t\tlet yearAdjustment = 0\n\n\t\t// Handle year boundaries\n\t\twhile (newQuarter > 4) {\n\t\t\tnewQuarter -= 4\n\t\t\tyearAdjustment += 1\n\t\t}\n\n\t\twhile (newQuarter < 1) {\n\t\t\tnewQuarter += 4\n\t\t\tyearAdjustment -= 1\n\t\t}\n\n\t\t// Adjust year if needed\n\t\tconst adjustedDate = date.add(yearAdjustment, 'year')\n\n\t\t// Set to the start of the new quarter\n\t\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\n\n\t\t// Maintain the same day of month if possible\n\t\tconst daysInMonth = newDate.daysInMonth()\n\t\tconst targetDay = Math.min(date.date(), daysInMonth)\n\n\t\treturn newDate.date(targetDay)\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Enhanced to properly handle various time units and preserve date patterns\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\n\t\t// Convert direction to a type that our helper methods can use\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents full time periods\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullQuarter =\n\t\t\tfromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day')\n\t\tconst isFullYear = fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\t// Determine shift unit and amount\n\t\tlet unit: ExtendedTimeUnit = 'day'\n\t\tlet amount = 1\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month, quarter, year)\n\t\t\tunit = activePreset.step\n\t\t\tamount = 1 // For presets, we shift by one unit\n\t\t} else {\n\t\t\t// For custom ranges, calculate the appropriate step size\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For very long ranges, use years\n\t\t\tif (rangeDurationInDays >= 360) {\n\t\t\t\tunit = 'year'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 365)\n\t\t\t}\n\t\t\t// For long ranges, use quarters\n\t\t\telse if (rangeDurationInDays >= 90) {\n\t\t\t\tunit = 'quarter'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 90)\n\t\t\t}\n\t\t\t// For medium-long ranges, use months\n\t\t\telse if (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges, use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Handle special case for quarters\n\t\tif (unit === 'quarter') {\n\t\t\tif (isFullQuarter) {\n\t\t\t\t// Full quarter logic\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Partial quarter logic - maintain day pattern\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, 1)\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, -1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// For hour-based units (used in datetime-local type)\n\t\telse if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.add(rangeDurationInHours, 'hour')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t}\n\t\t}\n\t\t// For year-based shifting\n\t\telse if (unit === 'year' && isFullYear) {\n\t\t\t// For full year ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t}\n\t\t} else if (unit === 'year') {\n\t\t\t// For year unit but not full year range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year')\n\t\t\t\tnewToDate = toDate.add(amount, 'year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'year')\n\t\t\t}\n\t\t}\n\t\t// For month-based shifting\n\t\telse if (unit === 'month' && isFullMonth) {\n\t\t\t// For full month ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'month') {\n\t\t\t// For month unit but not a full month range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month')\n\t\t\t\tnewToDate = toDate.add(amount, 'month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'month')\n\t\t\t}\n\t\t}\n\t\t// For week-based shifting\n\t\telse if (unit === 'week' && isFullWeek) {\n\t\t\t// For full week ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else if (unit === 'week') {\n\t\t\t// For week unit but not full week range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week')\n\t\t\t\tnewToDate = toDate.add(amount, 'week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'week')\n\t\t\t}\n\t\t}\n\t\t// For day-based shifting (default)\n\t\telse {\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\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\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\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\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=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\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\t@click=${(e: Event) => this.toggleDropdown(e)}\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=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\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\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t<section class=\"absolute flex-1\">\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t\tfill=\"all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view with categories -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4 max-h-96 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\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\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\"> Custom Range </schmancy-typography>\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","quarter","bind","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","quarterOfYear","SchmancyDateRange","$LitElement","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","presetCategories","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","presets","range","step","unshift","category","push","customCategory","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","dir","newFromDate","newToDate","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","unit","rangeDurationInDays","adjustQuarter","rangeDurationInHours","newFromDateStr","newToDateStr","matchingPreset","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-D85imfq-.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range--jCSlkf3.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange});
2
2
  //# sourceMappingURL=date-range.cjs.map
@@ -1,4 +1,4 @@
1
- import { S as c } from "./date-range-Dt9V5MyB.js";
1
+ import { S as c } from "./date-range-B9UeIzcl.js";
2
2
  export {
3
3
  c as SchmancyDateRange
4
4
  };
@@ -3,7 +3,7 @@ import { directive as N, PartType as k } from "lit/directive.js";
3
3
  import { AsyncDirective as E } from "lit/async-directive.js";
4
4
  import { n as F, e as x } from "./provide-hwQSumt-.js";
5
5
  import { c as P } from "./consume-B05Dd6qy.js";
6
- import { $ as K } from "./litElement.mixin-1-y-wwQg.js";
6
+ import { $ as K } from "./litElement.mixin-BWl8md6o.js";
7
7
  import { html as y } from "lit";
8
8
  import { property as m, state as $, queryAssignedElements as j, customElement as T } from "lit/decorators.js";
9
9
  import { cache as L } from "lit/directives/cache.js";
@@ -298,4 +298,4 @@ export {
298
298
  O as d,
299
299
  X as h
300
300
  };
301
- //# sourceMappingURL=delay-CE3iPMYG.js.map
301
+ //# sourceMappingURL=delay-CCOKwDX3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delay-CE3iPMYG.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"delay-CCOKwDX3.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}