@mhmo91/schmancy 0.4.22 → 0.4.24

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 (308) hide show
  1. package/ai/context.md +25 -2
  2. package/ai/select.md +35 -0
  3. package/ai/sheet.md +422 -85
  4. package/ai/store.md +4 -4
  5. package/ai/tabs.md +186 -63
  6. package/dist/ai/context.md +25 -2
  7. package/dist/ai/select.md +35 -0
  8. package/dist/ai/sheet.md +422 -85
  9. package/dist/ai/store.md +4 -4
  10. package/dist/ai/tabs.md +186 -63
  11. package/dist/{animated-text-Be4toKE0.cjs → animated-text-BitOmeE1.cjs} +2 -2
  12. package/dist/{animated-text-Be4toKE0.cjs.map → animated-text-BitOmeE1.cjs.map} +1 -1
  13. package/dist/{animated-text-CNPSIIYg.js → animated-text-DcLpvyCq.js} +3 -3
  14. package/dist/{animated-text-CNPSIIYg.js.map → animated-text-DcLpvyCq.js.map} +1 -1
  15. package/dist/animated-text.cjs +1 -1
  16. package/dist/animated-text.js +1 -1
  17. package/dist/area.cjs +1 -1
  18. package/dist/{area.component-YKEQV9hc.cjs → area.component-BTLn3oIv.cjs} +2 -2
  19. package/dist/{area.component-YKEQV9hc.cjs.map → area.component-BTLn3oIv.cjs.map} +1 -1
  20. package/dist/{area.component-i-mmh5is.js → area.component-xbNRrst9.js} +3 -3
  21. package/dist/{area.component-i-mmh5is.js.map → area.component-xbNRrst9.js.map} +1 -1
  22. package/dist/area.js +1 -1
  23. package/dist/{autocomplete-EapOt3ES.js → autocomplete-BqRrw118.js} +3 -3
  24. package/dist/{autocomplete-EapOt3ES.js.map → autocomplete-BqRrw118.js.map} +1 -1
  25. package/dist/{autocomplete-C0EU8KiN.cjs → autocomplete-Dvc06UNM.cjs} +2 -2
  26. package/dist/{autocomplete-C0EU8KiN.cjs.map → autocomplete-Dvc06UNM.cjs.map} +1 -1
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/{avatar-CRWIpCVJ.cjs → avatar-CP5pbPbp.cjs} +12 -18
  30. package/dist/avatar-CP5pbPbp.cjs.map +1 -0
  31. package/dist/{avatar-CZ4ubNmx.js → avatar-Cb_cbT8R.js} +60 -66
  32. package/dist/avatar-Cb_cbT8R.js.map +1 -0
  33. package/dist/badge.cjs +1 -1
  34. package/dist/badge.js +1 -1
  35. package/dist/{boat-DPTS3Kpw.js → boat-ByFTBKD2.js} +2 -2
  36. package/dist/{boat-DPTS3Kpw.js.map → boat-ByFTBKD2.js.map} +1 -1
  37. package/dist/{boat-C59hzqZ0.cjs → boat-Dtum9CaN.cjs} +2 -2
  38. package/dist/{boat-C59hzqZ0.cjs.map → boat-Dtum9CaN.cjs.map} +1 -1
  39. package/dist/boat.cjs +1 -1
  40. package/dist/boat.js +1 -1
  41. package/dist/busy.cjs +1 -1
  42. package/dist/busy.js +1 -1
  43. package/dist/button.cjs +1 -1
  44. package/dist/button.js +1 -1
  45. package/dist/card.cjs +1 -1
  46. package/dist/card.js +1 -1
  47. package/dist/{checkbox-C-kjO37F.cjs → checkbox-220X9LTx.cjs} +2 -2
  48. package/dist/{checkbox-C-kjO37F.cjs.map → checkbox-220X9LTx.cjs.map} +1 -1
  49. package/dist/{checkbox-B85eeKqn.js → checkbox-Dq0Lm3AM.js} +2 -2
  50. package/dist/{checkbox-B85eeKqn.js.map → checkbox-Dq0Lm3AM.js.map} +1 -1
  51. package/dist/checkbox.cjs +1 -1
  52. package/dist/checkbox.js +1 -1
  53. package/dist/{chips-BNRMzGrx.js → chips-aRU1fwEV.js} +3 -3
  54. package/dist/{chips-BNRMzGrx.js.map → chips-aRU1fwEV.js.map} +1 -1
  55. package/dist/{chips-DW6y4ZMs.cjs → chips-jORxgpG7.cjs} +2 -2
  56. package/dist/{chips-DW6y4ZMs.cjs.map → chips-jORxgpG7.cjs.map} +1 -1
  57. package/dist/chips.cjs +1 -1
  58. package/dist/chips.js +1 -1
  59. package/dist/{circular-progress-BridvYCS.cjs → circular-progress-DMccmWrI.cjs} +2 -2
  60. package/dist/{circular-progress-BridvYCS.cjs.map → circular-progress-DMccmWrI.cjs.map} +1 -1
  61. package/dist/{circular-progress-Cl_dXUPO.js → circular-progress-Dis30LMa.js} +3 -3
  62. package/dist/{circular-progress-Cl_dXUPO.js.map → circular-progress-Dis30LMa.js.map} +1 -1
  63. package/dist/circular-progress.cjs +1 -1
  64. package/dist/circular-progress.js +1 -1
  65. package/dist/code-highlight.cjs +1 -1
  66. package/dist/code-highlight.js +1 -1
  67. package/dist/{code-preview-B8X7JaxA.js → code-preview-BwIb73Yd.js} +2 -2
  68. package/dist/{code-preview-B8X7JaxA.js.map → code-preview-BwIb73Yd.js.map} +1 -1
  69. package/dist/{code-preview-B0oGIV9F.cjs → code-preview-CCHcWZvS.cjs} +2 -2
  70. package/dist/{code-preview-B0oGIV9F.cjs.map → code-preview-CCHcWZvS.cjs.map} +1 -1
  71. package/dist/components.cjs +1 -1
  72. package/dist/components.js +1 -1
  73. package/dist/content-drawer.cjs +1 -1
  74. package/dist/content-drawer.js +1 -1
  75. package/dist/{date-range-9sVFbxK0.js → date-range-CA_4vjWe.js} +3 -3
  76. package/dist/{date-range-9sVFbxK0.js.map → date-range-CA_4vjWe.js.map} +1 -1
  77. package/dist/{date-range-DqaB9kwM.cjs → date-range-DinaPWK0.cjs} +2 -2
  78. package/dist/{date-range-DqaB9kwM.cjs.map → date-range-DinaPWK0.cjs.map} +1 -1
  79. package/dist/{date-range-inline-DGRKHzTX.cjs → date-range-inline-CGMvaSeh.cjs} +2 -2
  80. package/dist/{date-range-inline-DGRKHzTX.cjs.map → date-range-inline-CGMvaSeh.cjs.map} +1 -1
  81. package/dist/{date-range-inline-Bqnc8wBb.js → date-range-inline-DFjyAvPv.js} +3 -3
  82. package/dist/{date-range-inline-Bqnc8wBb.js.map → date-range-inline-DFjyAvPv.js.map} +1 -1
  83. package/dist/date-range-inline.cjs +1 -1
  84. package/dist/date-range-inline.js +1 -1
  85. package/dist/date-range.cjs +1 -1
  86. package/dist/date-range.js +1 -1
  87. package/dist/{delay-u5isp6Vb.js → delay-BJwsHbg3.js} +2 -2
  88. package/dist/{delay-u5isp6Vb.js.map → delay-BJwsHbg3.js.map} +1 -1
  89. package/dist/{delay-ClP0gwsX.cjs → delay-CHAH30wI.cjs} +2 -2
  90. package/dist/{delay-ClP0gwsX.cjs.map → delay-CHAH30wI.cjs.map} +1 -1
  91. package/dist/delay.cjs +1 -1
  92. package/dist/delay.js +1 -1
  93. package/dist/{dialog-content-CGgHTvcB.cjs → dialog-content-Bp2kwzxD.cjs} +2 -2
  94. package/dist/{dialog-content-CGgHTvcB.cjs.map → dialog-content-Bp2kwzxD.cjs.map} +1 -1
  95. package/dist/{dialog-content-ZpgRQC1m.js → dialog-content-CEZqJRzH.js} +3 -3
  96. package/dist/{dialog-content-ZpgRQC1m.js.map → dialog-content-CEZqJRzH.js.map} +1 -1
  97. package/dist/dialog.cjs +1 -1
  98. package/dist/dialog.js +1 -1
  99. package/dist/{divider-CIXGsKd7.cjs → divider-BEVgt1wl.cjs} +2 -2
  100. package/dist/{divider-CIXGsKd7.cjs.map → divider-BEVgt1wl.cjs.map} +1 -1
  101. package/dist/{divider-BK4PNB76.js → divider-DfetUf4S.js} +3 -3
  102. package/dist/{divider-BK4PNB76.js.map → divider-DfetUf4S.js.map} +1 -1
  103. package/dist/divider.cjs +1 -1
  104. package/dist/divider.js +1 -1
  105. package/dist/{dropdown-content-CeYUqD56.cjs → dropdown-content-CERnSXjI.cjs} +2 -2
  106. package/dist/{dropdown-content-CeYUqD56.cjs.map → dropdown-content-CERnSXjI.cjs.map} +1 -1
  107. package/dist/{dropdown-content-DbHKYDCS.js → dropdown-content-TJmZ3rpA.js} +3 -3
  108. package/dist/{dropdown-content-DbHKYDCS.js.map → dropdown-content-TJmZ3rpA.js.map} +1 -1
  109. package/dist/dropdown.cjs +1 -1
  110. package/dist/dropdown.js +1 -1
  111. package/dist/extra.cjs +1 -1
  112. package/dist/extra.js +1 -1
  113. package/dist/{flex-Dub7SPI7.cjs → flex-ByanQCYb.cjs} +2 -2
  114. package/dist/{flex-Dub7SPI7.cjs.map → flex-ByanQCYb.cjs.map} +1 -1
  115. package/dist/{flex-JcwYdb2G.js → flex-CXMNh-nH.js} +2 -2
  116. package/dist/{flex-JcwYdb2G.js.map → flex-CXMNh-nH.js.map} +1 -1
  117. package/dist/{form-CMv0SQko.js → form-Boc5Pqhf.js} +2 -2
  118. package/dist/{form-CMv0SQko.js.map → form-Boc5Pqhf.js.map} +1 -1
  119. package/dist/{form-DKF6UgIS.cjs → form-lhQx_Ry0.cjs} +2 -2
  120. package/dist/{form-DKF6UgIS.cjs.map → form-lhQx_Ry0.cjs.map} +1 -1
  121. package/dist/form.cjs +1 -1
  122. package/dist/form.js +1 -1
  123. package/dist/{formField.mixin-D0GeY28y.js → formField.mixin-CX7_nvVy.js} +2 -2
  124. package/dist/{formField.mixin-D0GeY28y.js.map → formField.mixin-CX7_nvVy.js.map} +1 -1
  125. package/dist/{formField.mixin-BrHllh45.cjs → formField.mixin-DhiLSVHT.cjs} +2 -2
  126. package/dist/{formField.mixin-BrHllh45.cjs.map → formField.mixin-DhiLSVHT.cjs.map} +1 -1
  127. package/dist/{icon--s5dpU1N.js → icon-BZw88sCH.js} +2 -2
  128. package/dist/{icon--s5dpU1N.js.map → icon-BZw88sCH.js.map} +1 -1
  129. package/dist/{icon-CJe2TSk1.cjs → icon-D1qw18N6.cjs} +2 -2
  130. package/dist/{icon-CJe2TSk1.cjs.map → icon-D1qw18N6.cjs.map} +1 -1
  131. package/dist/{icon-button-x5uqpaeg.cjs → icon-button-DBvZApEC.cjs} +2 -2
  132. package/dist/{icon-button-x5uqpaeg.cjs.map → icon-button-DBvZApEC.cjs.map} +1 -1
  133. package/dist/{icon-button-Ckd9jE-a.js → icon-button-TbwQrO1b.js} +3 -3
  134. package/dist/{icon-button-Ckd9jE-a.js.map → icon-button-TbwQrO1b.js.map} +1 -1
  135. package/dist/icons.cjs +1 -1
  136. package/dist/icons.js +1 -1
  137. package/dist/index.cjs +1 -1
  138. package/dist/index.js +134 -133
  139. package/dist/{input-DHNBYBq4.js → input-BUtEXu3y.js} +3 -3
  140. package/dist/{input-DHNBYBq4.js.map → input-BUtEXu3y.js.map} +1 -1
  141. package/dist/{input-BN9xQTH0.cjs → input-C0F9cNoD.cjs} +2 -2
  142. package/dist/{input-BN9xQTH0.cjs.map → input-C0F9cNoD.cjs.map} +1 -1
  143. package/dist/input.cjs +1 -1
  144. package/dist/input.js +1 -1
  145. package/dist/layout.cjs +1 -1
  146. package/dist/layout.js +1 -1
  147. package/dist/{list-rGydduh7.js → list-BCD8h2Do.js} +2 -2
  148. package/dist/{list-rGydduh7.js.map → list-BCD8h2Do.js.map} +1 -1
  149. package/dist/{list-DZAZpM5m.cjs → list-Bz6tq7ZP.cjs} +2 -2
  150. package/dist/{list-DZAZpM5m.cjs.map → list-Bz6tq7ZP.cjs.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-B1eYYBf4.cjs → litElement.mixin-CII9bbap.cjs} +2 -2
  154. package/dist/{litElement.mixin-B1eYYBf4.cjs.map → litElement.mixin-CII9bbap.cjs.map} +1 -1
  155. package/dist/{litElement.mixin-Cq-COufw.js → litElement.mixin-DGeprHKB.js} +2 -2
  156. package/dist/{litElement.mixin-Cq-COufw.js.map → litElement.mixin-DGeprHKB.js.map} +1 -1
  157. package/dist/{media-hg61JS4R.cjs → media-CBLuAmNZ.cjs} +2 -2
  158. package/dist/{media-hg61JS4R.cjs.map → media-CBLuAmNZ.cjs.map} +1 -1
  159. package/dist/{media-DHgb7H9L.js → media-D6ba0wB1.js} +2 -2
  160. package/dist/{media-DHgb7H9L.js.map → media-D6ba0wB1.js.map} +1 -1
  161. package/dist/{menu-D5aDG-Rp.cjs → menu-BDQr8EZ1.cjs} +2 -2
  162. package/dist/{menu-D5aDG-Rp.cjs.map → menu-BDQr8EZ1.cjs.map} +1 -1
  163. package/dist/{menu-DvZSvoOx.js → menu-C0SauakY.js} +3 -3
  164. package/dist/{menu-DvZSvoOx.js.map → menu-C0SauakY.js.map} +1 -1
  165. package/dist/menu.cjs +1 -1
  166. package/dist/menu.js +1 -1
  167. package/dist/nav-drawer.cjs +1 -1
  168. package/dist/nav-drawer.js +1 -1
  169. package/dist/{notification-service-BzzXjm4l.cjs → notification-service-B1f848tO.cjs} +2 -2
  170. package/dist/{notification-service-BzzXjm4l.cjs.map → notification-service-B1f848tO.cjs.map} +1 -1
  171. package/dist/{notification-service-DKHubhXv.js → notification-service-X8mRASdk.js} +3 -3
  172. package/dist/{notification-service-DKHubhXv.js.map → notification-service-X8mRASdk.js.map} +1 -1
  173. package/dist/notification.cjs +1 -1
  174. package/dist/notification.js +1 -1
  175. package/dist/{option-T6zGawbH.js → option-DVlCqux7.js} +2 -2
  176. package/dist/{option-T6zGawbH.js.map → option-DVlCqux7.js.map} +1 -1
  177. package/dist/{option-DqN5-RK7.cjs → option-ckV22mLf.cjs} +2 -2
  178. package/dist/{option-DqN5-RK7.cjs.map → option-ckV22mLf.cjs.map} +1 -1
  179. package/dist/option.cjs +1 -1
  180. package/dist/option.js +1 -1
  181. package/dist/{payment-card-form-C42icpX4.cjs → payment-card-form-BUsPCZPp.cjs} +2 -2
  182. package/dist/{payment-card-form-C42icpX4.cjs.map → payment-card-form-BUsPCZPp.cjs.map} +1 -1
  183. package/dist/{payment-card-form-GEOaUypQ.js → payment-card-form-D7PV8spa.js} +3 -3
  184. package/dist/{payment-card-form-GEOaUypQ.js.map → payment-card-form-D7PV8spa.js.map} +1 -1
  185. package/dist/{progress-EL16etnw.js → progress-BZ6AFT0f.js} +2 -2
  186. package/dist/{progress-EL16etnw.js.map → progress-BZ6AFT0f.js.map} +1 -1
  187. package/dist/{progress-CL35MIi9.cjs → progress-CABg45XF.cjs} +2 -2
  188. package/dist/{progress-CL35MIi9.cjs.map → progress-CABg45XF.cjs.map} +1 -1
  189. package/dist/progress.cjs +1 -1
  190. package/dist/progress.js +1 -1
  191. package/dist/{radio-button-BQ7snEVj.js → radio-button-D4Y1bWGN.js} +3 -3
  192. package/dist/{radio-button-BQ7snEVj.js.map → radio-button-D4Y1bWGN.js.map} +1 -1
  193. package/dist/{radio-button-DrSJB4B-.cjs → radio-button-DQ4VclEZ.cjs} +2 -2
  194. package/dist/{radio-button-DrSJB4B-.cjs.map → radio-button-DQ4VclEZ.cjs.map} +1 -1
  195. package/dist/radio-group.cjs +1 -1
  196. package/dist/radio-group.js +1 -1
  197. package/dist/{schmancy-steps-container-2WW-9LYL.js → schmancy-steps-container-BskkdQwD.js} +2 -2
  198. package/dist/{schmancy-steps-container-2WW-9LYL.js.map → schmancy-steps-container-BskkdQwD.js.map} +1 -1
  199. package/dist/{schmancy-steps-container-C_HHZFeb.cjs → schmancy-steps-container-CZ0upElE.cjs} +2 -2
  200. package/dist/{schmancy-steps-container-C_HHZFeb.cjs.map → schmancy-steps-container-CZ0upElE.cjs.map} +1 -1
  201. package/dist/select-DfQogfes.cjs +57 -0
  202. package/dist/{select-Bl8FO2kb.js.map → select-DfQogfes.cjs.map} +1 -1
  203. package/dist/{select-Bl8FO2kb.js → select-wui4bIUE.js} +23 -20
  204. package/dist/select-wui4bIUE.js.map +1 -0
  205. package/dist/select.cjs +1 -1
  206. package/dist/select.js +3 -2
  207. package/dist/{selector-hook-CYMLsOvh.cjs → selector-hook-Bf_lCnGW.cjs} +2 -2
  208. package/dist/{selector-hook-CYMLsOvh.cjs.map → selector-hook-Bf_lCnGW.cjs.map} +1 -1
  209. package/dist/{selector-hook-BvXML7_4.js → selector-hook-DL0SIQiY.js} +33 -33
  210. package/dist/{selector-hook-BvXML7_4.js.map → selector-hook-DL0SIQiY.js.map} +1 -1
  211. package/dist/{sheet-BiUUD0Td.cjs → sheet-DMOsLeJL.cjs} +2 -2
  212. package/dist/{sheet-BiUUD0Td.cjs.map → sheet-DMOsLeJL.cjs.map} +1 -1
  213. package/dist/{sheet-WpG2m2yT.js → sheet-DmrPnCAk.js} +4 -4
  214. package/dist/{sheet-WpG2m2yT.js.map → sheet-DmrPnCAk.js.map} +1 -1
  215. package/dist/sheet.cjs +1 -1
  216. package/dist/sheet.js +7 -6
  217. package/dist/{sheet.service-COPNmxwp.js → sheet.service-22gvsyq8.js} +125 -109
  218. package/dist/{sheet.service-COPNmxwp.js.map → sheet.service-22gvsyq8.js.map} +1 -1
  219. package/dist/{sheet.service-B5sh8d0k.cjs → sheet.service-sSYoAEbY.cjs} +3 -3
  220. package/dist/{sheet.service-B5sh8d0k.cjs.map → sheet.service-sSYoAEbY.cjs.map} +1 -1
  221. package/dist/{slider-DX-XUnE-.cjs → slider-C2oEvRAS.cjs} +2 -2
  222. package/dist/{slider-DX-XUnE-.cjs.map → slider-C2oEvRAS.cjs.map} +1 -1
  223. package/dist/{slider-4ggti1yr.js → slider-Dwm1KfNL.js} +3 -3
  224. package/dist/{slider-4ggti1yr.js.map → slider-Dwm1KfNL.js.map} +1 -1
  225. package/dist/slider.cjs +1 -1
  226. package/dist/slider.js +1 -1
  227. package/dist/{spinner-BPqLh7JL.js → spinner-Bh6XkC88.js} +2 -2
  228. package/dist/{spinner-BPqLh7JL.js.map → spinner-Bh6XkC88.js.map} +1 -1
  229. package/dist/{spinner-Cq8tY2xk.cjs → spinner-DKgZemVU.cjs} +2 -2
  230. package/dist/{spinner-Cq8tY2xk.cjs.map → spinner-DKgZemVU.cjs.map} +1 -1
  231. package/dist/steps.cjs +1 -1
  232. package/dist/steps.js +1 -1
  233. package/dist/store.cjs +1 -1
  234. package/dist/store.js +1 -1
  235. package/dist/{surface-YyZ8eXfj.cjs → surface-DIIUamff.cjs} +2 -2
  236. package/dist/{surface-YyZ8eXfj.cjs.map → surface-DIIUamff.cjs.map} +1 -1
  237. package/dist/{surface-1xboRERM.js → surface-DhiuAGb8.js} +2 -2
  238. package/dist/{surface-1xboRERM.js.map → surface-DhiuAGb8.js.map} +1 -1
  239. package/dist/surface.cjs +1 -1
  240. package/dist/surface.js +1 -1
  241. package/dist/{table-DpXmflf7.cjs → table-BrAoSQhN.cjs} +2 -2
  242. package/dist/{table-DpXmflf7.cjs.map → table-BrAoSQhN.cjs.map} +1 -1
  243. package/dist/{table-C6EWKqDY.js → table-DSZ9kmUG.js} +2 -2
  244. package/dist/{table-C6EWKqDY.js.map → table-DSZ9kmUG.js.map} +1 -1
  245. package/dist/table.cjs +1 -1
  246. package/dist/table.js +1 -1
  247. package/dist/{tabs-compatibility-AFzKAP2D.js → tabs-compatibility-B7aJnQ0X.js} +2 -2
  248. package/dist/{tabs-compatibility-AFzKAP2D.js.map → tabs-compatibility-B7aJnQ0X.js.map} +1 -1
  249. package/dist/{tabs-compatibility-ThgWuSrK.cjs → tabs-compatibility-Ck74XeID.cjs} +2 -2
  250. package/dist/{tabs-compatibility-ThgWuSrK.cjs.map → tabs-compatibility-Ck74XeID.cjs.map} +1 -1
  251. package/dist/tabs.cjs +1 -1
  252. package/dist/tabs.js +1 -1
  253. package/dist/tailwind.mixin-CBu1BEQZ.cjs +2 -0
  254. package/dist/{tailwind.mixin-DNME2oUL.cjs.map → tailwind.mixin-CBu1BEQZ.cjs.map} +1 -1
  255. package/dist/tailwind.mixin-DWhCm94g.js +43 -0
  256. package/dist/{tailwind.mixin-epCxS6FK.js.map → tailwind.mixin-DWhCm94g.js.map} +1 -1
  257. package/dist/teleport.cjs +1 -1
  258. package/dist/teleport.js +1 -1
  259. package/dist/{textarea-JO7OVdfk.js → textarea-Bq0XdGaH.js} +2 -2
  260. package/dist/{textarea-JO7OVdfk.js.map → textarea-Bq0XdGaH.js.map} +1 -1
  261. package/dist/{textarea-B_TlKSop.cjs → textarea-CGTMdhoF.cjs} +2 -2
  262. package/dist/{textarea-B_TlKSop.cjs.map → textarea-CGTMdhoF.cjs.map} +1 -1
  263. package/dist/textarea.cjs +1 -1
  264. package/dist/textarea.js +1 -1
  265. package/dist/{theme-button-DnrKANEK.cjs → theme-button-CznhJ8g_.cjs} +2 -2
  266. package/dist/{theme-button-DnrKANEK.cjs.map → theme-button-CznhJ8g_.cjs.map} +1 -1
  267. package/dist/{theme-button-C8cK7un6.js → theme-button-DYoygmRA.js} +2 -2
  268. package/dist/{theme-button-C8cK7un6.js.map → theme-button-DYoygmRA.js.map} +1 -1
  269. package/dist/theme-button.cjs +1 -1
  270. package/dist/theme-button.js +1 -1
  271. package/dist/theme.cjs +1 -1
  272. package/dist/theme.js +1 -1
  273. package/dist/{timezone-C56jMhLK.cjs → timezone-BCGcdasU.cjs} +2 -2
  274. package/dist/{timezone-C56jMhLK.cjs.map → timezone-BCGcdasU.cjs.map} +1 -1
  275. package/dist/{timezone-CEEEd-9_.js → timezone-Co7gqqQt.js} +3 -3
  276. package/dist/{timezone-CEEEd-9_.js.map → timezone-Co7gqqQt.js.map} +1 -1
  277. package/dist/{tooltip-twQMYpmk.cjs → tooltip-Bqa0D34J.cjs} +2 -2
  278. package/dist/{tooltip-twQMYpmk.cjs.map → tooltip-Bqa0D34J.cjs.map} +1 -1
  279. package/dist/{tooltip-CnuYee5c.js → tooltip-DBuaAFmK.js} +2 -2
  280. package/dist/{tooltip-CnuYee5c.js.map → tooltip-DBuaAFmK.js.map} +1 -1
  281. package/dist/tooltip.cjs +1 -1
  282. package/dist/tooltip.js +1 -1
  283. package/dist/{tree-Dv5R6kdP.cjs → tree-CFeXYaJy.cjs} +2 -2
  284. package/dist/{tree-Dv5R6kdP.cjs.map → tree-CFeXYaJy.cjs.map} +1 -1
  285. package/dist/{tree-CfnCGGn7.js → tree-CfE695gp.js} +2 -2
  286. package/dist/{tree-CfnCGGn7.js.map → tree-CfE695gp.js.map} +1 -1
  287. package/dist/tree.cjs +1 -1
  288. package/dist/tree.js +1 -1
  289. package/dist/{typewriter-egr1HiFJ.cjs → typewriter-B6Jb22Pe.cjs} +2 -2
  290. package/dist/{typewriter-egr1HiFJ.cjs.map → typewriter-B6Jb22Pe.cjs.map} +1 -1
  291. package/dist/{typewriter-DAxRjeRy.js → typewriter-BZ_adVXB.js} +4 -4
  292. package/dist/{typewriter-DAxRjeRy.js.map → typewriter-BZ_adVXB.js.map} +1 -1
  293. package/dist/typewriter.cjs +1 -1
  294. package/dist/typewriter.js +1 -1
  295. package/dist/{typography-De5UXL0j.js → typography-DI5RXpWs.js} +2 -2
  296. package/dist/{typography-De5UXL0j.js.map → typography-DI5RXpWs.js.map} +1 -1
  297. package/dist/{typography-DVZ2ezpU.cjs → typography-DvVeO1a_.cjs} +2 -2
  298. package/dist/{typography-DVZ2ezpU.cjs.map → typography-DvVeO1a_.cjs.map} +1 -1
  299. package/dist/typography.cjs +1 -1
  300. package/dist/typography.js +1 -1
  301. package/package.json +1 -1
  302. package/types/src/sheet/sheet.service.d.ts +1 -0
  303. package/dist/avatar-CRWIpCVJ.cjs.map +0 -1
  304. package/dist/avatar-CZ4ubNmx.js.map +0 -1
  305. package/dist/select-BHRtVoTo.cjs +0 -56
  306. package/dist/select-BHRtVoTo.cjs.map +0 -1
  307. package/dist/tailwind.mixin-DNME2oUL.cjs +0 -2
  308. package/dist/tailwind.mixin-epCxS6FK.js +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-inline-DGRKHzTX.cjs","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","minToDate","globalMin","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","fromError","toError","html","getComputedMaxDateFrom","handleDateFromChange","disabled","getComputedMinDateTo","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-inline-CGMvaSeh.cjs","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","minToDate","globalMin","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","fromError","toError","html","getComputedMaxDateFrom","handleDateFromChange","disabled","getComputedMinDateTo","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { property as m, state as l, customElement as D } from "lit/decorators.js
3
3
  import "rxjs";
4
4
  import "lit/directives/class-map.js";
5
5
  import "lit/directives/style-map.js";
6
- import "./tailwind.mixin-epCxS6FK.js";
7
- import { S as p } from "./formField.mixin-D0GeY28y.js";
6
+ import "./tailwind.mixin-DWhCm94g.js";
7
+ import { S as p } from "./formField.mixin-CX7_nvVy.js";
8
8
  var u = Object.defineProperty, c = Object.getOwnPropertyDescriptor, h = (a, t, i, r) => {
9
9
  for (var s, d = r > 1 ? void 0 : r ? c(t, i) : t, e = a.length - 1; e >= 0; e--) (s = a[e]) && (d = (r ? s(t, i, d) : s(d)) || d);
10
10
  return r && d && u(t, i, d), d;
@@ -193,4 +193,4 @@ h([m({ type: String })], o.prototype, "type", 2), h([m({ type: Object })], o.pro
193
193
  export {
194
194
  o as S
195
195
  };
196
- //# sourceMappingURL=date-range-inline-Bqnc8wBb.js.map
196
+ //# sourceMappingURL=date-range-inline-DFjyAvPv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-inline-Bqnc8wBb.js","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","getComputedMaxDateFrom","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-inline-DFjyAvPv.js","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","getComputedMaxDateFrom","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-inline-DGRKHzTX.cjs");Object.defineProperty(exports,"SchmancyDateRangeInline",{enumerable:!0,get:()=>e.SchmancyDateRangeInline});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-inline-CGMvaSeh.cjs");Object.defineProperty(exports,"SchmancyDateRangeInline",{enumerable:!0,get:()=>e.SchmancyDateRangeInline});
2
2
  //# sourceMappingURL=date-range-inline.cjs.map
@@ -1,4 +1,4 @@
1
- import { S as n } from "./date-range-inline-Bqnc8wBb.js";
1
+ import { S as n } from "./date-range-inline-DFjyAvPv.js";
2
2
  export {
3
3
  n as SchmancyDateRangeInline
4
4
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-DqaB9kwM.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange}),exports.validateInitialDateRange=e.validateInitialDateRange;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-DinaPWK0.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange}),exports.validateInitialDateRange=e.validateInitialDateRange;
2
2
  //# sourceMappingURL=date-range.cjs.map
@@ -1,4 +1,4 @@
1
- import { S as t, v as n } from "./date-range-9sVFbxK0.js";
1
+ import { S as t, v as n } from "./date-range-CA_4vjWe.js";
2
2
  export {
3
3
  t as SchmancyDateRange,
4
4
  n as validateInitialDateRange
@@ -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-tcktw8xB.js";
5
5
  import { c as P } from "./consume-5D1qfVWM.js";
6
- import { $ as K } from "./litElement.mixin-Cq-COufw.js";
6
+ import { $ as K } from "./litElement.mixin-DGeprHKB.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";
@@ -285,4 +285,4 @@ export {
285
285
  O as d,
286
286
  X as h
287
287
  };
288
- //# sourceMappingURL=delay-u5isp6Vb.js.map
288
+ //# sourceMappingURL=delay-BJwsHbg3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delay-u5isp6Vb.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-BJwsHbg3.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,4 +1,4 @@
1
- "use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-B1eYYBf4.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(o=>requestAnimationFrame(o)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(o,t)=>{const e=o-t;return e===0?void 0:e},w=(o,t)=>{const e=o/t;return e===1?void 0:e},f={left:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(o,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(o,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.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(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[e]){const i=this.u===void 0;return i&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(s=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=B,this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const n=e[s]??(f[s]?void 0:i[s]),r=Number(n);t[s]=isNaN(r)?n+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((n,r)=>n===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&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 e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:n,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,n,r]),t=this.calculateKeyframes(n,r)}else{const n=y.get(this.options.inId);if(n){y.delete(this.options.inId);const{from:r,to:h}=this.N(n,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(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||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),this.i?.isConnected){const e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){const i=this.m();this.log("stabilizing out");const s=this.A.left-i.left,n=this.A.top-i.top;getComputedStyle(this.element).position!=="static"||s===0&&n===0||(this.element.style.position="relative"),s!==0&&(this.element.style.left=s+"px"),n!==0&&(this.element.style.top=n+"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 e=this.element.parentNode;e;e=e?.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let n=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(n/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=n*t.left,e.left=n*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},n={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,n[a]=p)}return s.transformOrigin=n.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,n]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s?.add(this);try{await this.webAnimation.finished}catch{}s?.remove(this)}return this.didFinish(i),i}isAnimating(){return this.webAnimation?.playState==="running"||this.webAnimation?.pending}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){return this.u===void 0&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){const t=typeof this.C=="function"?this.C():this.C?.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();this.F?.forEach(n=>{const r=U.includes(n)?i[n]-s[n]:i[n];this.S.style[n]=r+"px"})}}function O(o){let t=2166136261;for(let e=0;e<o.length;e++)t^=o.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(o,t,e,i)=>{for(var s,n=i>1?void 0:i?W(t,e):t,r=o.length-1;r>=0;r--)(s=o[r])&&(n=(i?s(t,e,n):s(n))||n);return i&&n&&z(t,e,n),n};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){const o=this.shadowRoot?.querySelector("slot");o&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(o,{childList:!0,subtree:!0}))}getTotalSiblingDelay(o){if(!(o&&o instanceof HTMLElement))return 0;let t=0,e=o.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return o.parentElement&&(t+=this.getTotalSiblingDelay(o.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const o=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+o,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const o=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(o):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
1
+ "use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-CII9bbap.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(o=>requestAnimationFrame(o)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(o,t)=>{const e=o-t;return e===0?void 0:e},w=(o,t)=>{const e=o/t;return e===1?void 0:e},f={left:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(o,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(o,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.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(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[e]){const i=this.u===void 0;return i&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(s=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=B,this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const n=e[s]??(f[s]?void 0:i[s]),r=Number(n);t[s]=isNaN(r)?n+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((n,r)=>n===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&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 e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:n,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,n,r]),t=this.calculateKeyframes(n,r)}else{const n=y.get(this.options.inId);if(n){y.delete(this.options.inId);const{from:r,to:h}=this.N(n,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(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||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),this.i?.isConnected){const e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){const i=this.m();this.log("stabilizing out");const s=this.A.left-i.left,n=this.A.top-i.top;getComputedStyle(this.element).position!=="static"||s===0&&n===0||(this.element.style.position="relative"),s!==0&&(this.element.style.left=s+"px"),n!==0&&(this.element.style.top=n+"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 e=this.element.parentNode;e;e=e?.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let n=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(n/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=n*t.left,e.left=n*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},n={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,n[a]=p)}return s.transformOrigin=n.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,n]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s?.add(this);try{await this.webAnimation.finished}catch{}s?.remove(this)}return this.didFinish(i),i}isAnimating(){return this.webAnimation?.playState==="running"||this.webAnimation?.pending}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){return this.u===void 0&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){const t=typeof this.C=="function"?this.C():this.C?.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();this.F?.forEach(n=>{const r=U.includes(n)?i[n]-s[n]:i[n];this.S.style[n]=r+"px"})}}function O(o){let t=2166136261;for(let e=0;e<o.length;e++)t^=o.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(o,t,e,i)=>{for(var s,n=i>1?void 0:i?W(t,e):t,r=o.length-1;r>=0;r--)(s=o[r])&&(n=(i?s(t,e,n):s(n))||n);return i&&n&&z(t,e,n),n};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){const o=this.shadowRoot?.querySelector("slot");o&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(o,{childList:!0,subtree:!0}))}getTotalSiblingDelay(o){if(!(o&&o instanceof HTMLElement))return 0;let t=0,e=o.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return o.parentElement&&(t+=this.getTotalSiblingDelay(o.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const o=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+o,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const o=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(o):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
2
2
  ${H({in:this.motionLit,keyframeOptions:{duration:300,easing:"ease-out"}})}
3
3
  >
4
4
  <slot></slot>
@@ -7,4 +7,4 @@
7
7
  <slot></slot>
8
8
  </section>
9
9
  `)}},l([c.property({type:Number,reflect:!0})],exports.SchmancyDelay.prototype,"delay",2),l([c.property({type:String})],exports.SchmancyDelay.prototype,"motion",2),l([c.state()],exports.SchmancyDelay.prototype,"rendered",2),l([x.c({context:g,subscribe:!0})],exports.SchmancyDelay.prototype,"parentDelay",2),l([k.e({context:g})],exports.SchmancyDelay.prototype,"effectiveDelay",2),l([c.property({type:Boolean})],exports.SchmancyDelay.prototype,"once",2),l([c.queryAssignedElements({flatten:!0})],exports.SchmancyDelay.prototype,"assignedElements",2),exports.SchmancyDelay=l([c.customElement("schmancy-delay")],exports.SchmancyDelay),exports.delayContext=g,exports.hashContent=O;
10
- //# sourceMappingURL=delay-ClP0gwsX.cjs.map
10
+ //# sourceMappingURL=delay-CHAH30wI.cjs.map