@mhmo91/schmancy 0.6.19 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/ai/menu.md +117 -186
  2. package/dist/ai/menu.md +117 -186
  3. package/dist/{animated-text-CgKXZOvy.cjs → animated-text-B8pXfnjg.cjs} +2 -2
  4. package/dist/{animated-text-CgKXZOvy.cjs.map → animated-text-B8pXfnjg.cjs.map} +1 -1
  5. package/dist/{animated-text-Df3UZBT2.js → animated-text-C7RzcmyV.js} +3 -3
  6. package/dist/{animated-text-Df3UZBT2.js.map → animated-text-C7RzcmyV.js.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/{area.component-DXQff5kK.js → area.component-DfGcGjsN.js} +3 -3
  11. package/dist/{area.component-DXQff5kK.js.map → area.component-DfGcGjsN.js.map} +1 -1
  12. package/dist/{area.component-_AwKbrLf.cjs → area.component-TRIJcSoQ.cjs} +2 -2
  13. package/dist/{area.component-_AwKbrLf.cjs.map → area.component-TRIJcSoQ.cjs.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-DLzc6eqO.js → autocomplete-Bhv2JOnL.js} +4 -4
  16. package/dist/autocomplete-Bhv2JOnL.js.map +1 -0
  17. package/dist/{autocomplete-DEzGDw9s.cjs → autocomplete-Dio0lk_E.cjs} +2 -2
  18. package/dist/autocomplete-Dio0lk_E.cjs.map +1 -0
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-YRXX1DQy.js → avatar-BCLeThlA.js} +51 -51
  22. package/dist/{avatar-YRXX1DQy.js.map → avatar-BCLeThlA.js.map} +1 -1
  23. package/dist/{avatar-B_Mf0HXa.cjs → avatar-DecX7RJw.cjs} +2 -2
  24. package/dist/{avatar-B_Mf0HXa.cjs.map → avatar-DecX7RJw.cjs.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-VzOnSD8z.cjs → boat-B3IhIJhy.cjs} +2 -2
  28. package/dist/{boat-VzOnSD8z.cjs.map → boat-B3IhIJhy.cjs.map} +1 -1
  29. package/dist/{boat-CWADeoFv.js → boat-DrAkyCAd.js} +3 -3
  30. package/dist/{boat-CWADeoFv.js.map → boat-DrAkyCAd.js.map} +1 -1
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/{checkbox-ZryxdmZz.js → checkbox-BKT1cZnv.js} +2 -2
  40. package/dist/checkbox-BKT1cZnv.js.map +1 -0
  41. package/dist/{checkbox-DClxbWbU.cjs → checkbox-C4CHTajr.cjs} +2 -2
  42. package/dist/checkbox-C4CHTajr.cjs.map +1 -0
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +2 -2
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-BoYqlMxl.cjs → code-preview-CEbRCvUd.cjs} +2 -2
  50. package/dist/code-preview-CEbRCvUd.cjs.map +1 -0
  51. package/dist/{code-preview-Bn2K5K9h.js → code-preview-DzMETSJv.js} +2 -2
  52. package/dist/code-preview-DzMETSJv.js.map +1 -0
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/consume-5D1qfVWM.js.map +1 -1
  56. package/dist/consume-edta5ng5.cjs.map +1 -1
  57. package/dist/content-drawer.cjs +1 -1
  58. package/dist/content-drawer.js +1 -1
  59. package/dist/context-create-CA907mdD.cjs.map +1 -1
  60. package/dist/context-create-DCiujzV2.js.map +1 -1
  61. package/dist/{date-range-CCQsqKSy.js → date-range-B-5LtvhH.js} +3 -3
  62. package/dist/date-range-B-5LtvhH.js.map +1 -0
  63. package/dist/{date-range-B-rPnyst.cjs → date-range-B1PGOR7h.cjs} +2 -2
  64. package/dist/date-range-B1PGOR7h.cjs.map +1 -0
  65. package/dist/{date-range-inline-DO0Ps_QS.js → date-range-inline-D90CpK7z.js} +3 -3
  66. package/dist/{date-range-inline-DO0Ps_QS.js.map → date-range-inline-D90CpK7z.js.map} +1 -1
  67. package/dist/{date-range-inline-NACS06ev.cjs → date-range-inline-DLV7jB_x.cjs} +2 -2
  68. package/dist/{date-range-inline-NACS06ev.cjs.map → date-range-inline-DLV7jB_x.cjs.map} +1 -1
  69. package/dist/date-range-inline.cjs +1 -1
  70. package/dist/date-range-inline.js +1 -1
  71. package/dist/date-range.cjs +1 -1
  72. package/dist/date-range.js +1 -1
  73. package/dist/{delay-BaltOHAs.js → delay-D5RAR00M.js} +2 -2
  74. package/dist/delay-D5RAR00M.js.map +1 -0
  75. package/dist/{delay-DzqfMSBJ.cjs → delay-UAjkp-21.cjs} +2 -2
  76. package/dist/delay-UAjkp-21.cjs.map +1 -0
  77. package/dist/delay.cjs +1 -1
  78. package/dist/delay.js +1 -1
  79. package/dist/{details-Bic4ZKNZ.js → details-CiuixU2H.js} +2 -2
  80. package/dist/{details-Bic4ZKNZ.js.map → details-CiuixU2H.js.map} +1 -1
  81. package/dist/{details-DPSpg2dL.cjs → details-RHTdNCLS.cjs} +2 -2
  82. package/dist/{details-DPSpg2dL.cjs.map → details-RHTdNCLS.cjs.map} +1 -1
  83. package/dist/details.cjs +1 -1
  84. package/dist/details.js +1 -1
  85. package/dist/{dialog-content-CR4l1Yts.cjs → dialog-content-BF1xiYWw.cjs} +2 -2
  86. package/dist/{dialog-content-CR4l1Yts.cjs.map → dialog-content-BF1xiYWw.cjs.map} +1 -1
  87. package/dist/{dialog-content-CwsV3nWG.js → dialog-content-dtIrTHLU.js} +3 -3
  88. package/dist/{dialog-content-CwsV3nWG.js.map → dialog-content-dtIrTHLU.js.map} +1 -1
  89. package/dist/dialog.cjs +1 -1
  90. package/dist/dialog.js +1 -1
  91. package/dist/{divider-ChXDN5-E.js → divider-DcEB9uHV.js} +3 -3
  92. package/dist/{divider-ChXDN5-E.js.map → divider-DcEB9uHV.js.map} +1 -1
  93. package/dist/{divider-CpiE9MZW.cjs → divider-ZhcWRyc2.cjs} +2 -2
  94. package/dist/{divider-CpiE9MZW.cjs.map → divider-ZhcWRyc2.cjs.map} +1 -1
  95. package/dist/divider.cjs +1 -1
  96. package/dist/divider.js +1 -1
  97. package/dist/{dropdown-content-BmA6vuhB.js → dropdown-content-BoUnfAyz.js} +3 -3
  98. package/dist/{dropdown-content-BmA6vuhB.js.map → dropdown-content-BoUnfAyz.js.map} +1 -1
  99. package/dist/{dropdown-content-8I1uIUoF.cjs → dropdown-content-klaWLDI-.cjs} +2 -2
  100. package/dist/{dropdown-content-8I1uIUoF.cjs.map → dropdown-content-klaWLDI-.cjs.map} +1 -1
  101. package/dist/dropdown.cjs +1 -1
  102. package/dist/dropdown.js +1 -1
  103. package/dist/{email-recipients-Cl_-UNWo.cjs → email-recipients-DA2HLG8K.cjs} +2 -2
  104. package/dist/{email-recipients-Cl_-UNWo.cjs.map → email-recipients-DA2HLG8K.cjs.map} +1 -1
  105. package/dist/{email-recipients-Ew87bYRp.js → email-recipients-yN1Jcu9X.js} +6 -6
  106. package/dist/{email-recipients-Ew87bYRp.js.map → email-recipients-yN1Jcu9X.js.map} +1 -1
  107. package/dist/extra.cjs +1 -1
  108. package/dist/extra.js +1 -1
  109. package/dist/{flex-DsHnuUb7.cjs → flex-CYCtLC7W.cjs} +2 -2
  110. package/dist/{flex-DsHnuUb7.cjs.map → flex-CYCtLC7W.cjs.map} +1 -1
  111. package/dist/{flex-CW7oSqU1.js → flex-C_fGjgWC.js} +2 -2
  112. package/dist/{flex-CW7oSqU1.js.map → flex-C_fGjgWC.js.map} +1 -1
  113. package/dist/flow-D0e7hGXO.cjs.map +1 -1
  114. package/dist/flow-DXYqC9OA.js.map +1 -1
  115. package/dist/{form-DZ9l7TjO.cjs → form-CYBgxvdH.cjs} +2 -2
  116. package/dist/{form-DZ9l7TjO.cjs.map → form-CYBgxvdH.cjs.map} +1 -1
  117. package/dist/{form-C5d6gWUg.js → form-Dn3XWE7d.js} +2 -2
  118. package/dist/{form-C5d6gWUg.js.map → form-Dn3XWE7d.js.map} +1 -1
  119. package/dist/form.cjs +1 -1
  120. package/dist/form.js +1 -1
  121. package/dist/{formField.mixin-BW4RaqbT.cjs → formField.mixin-D_gQgJXC.cjs} +2 -2
  122. package/dist/{formField.mixin-BW4RaqbT.cjs.map → formField.mixin-D_gQgJXC.cjs.map} +1 -1
  123. package/dist/{formField.mixin-DpD9oPMR.js → formField.mixin-Ds2S1kRc.js} +2 -2
  124. package/dist/{formField.mixin-DpD9oPMR.js.map → formField.mixin-Ds2S1kRc.js.map} +1 -1
  125. package/dist/{icon-BATnNWHh.js → icon-Bw8hqRtQ.js} +2 -2
  126. package/dist/{icon-BATnNWHh.js.map → icon-Bw8hqRtQ.js.map} +1 -1
  127. package/dist/{icon-CV5KKSMK.cjs → icon-DYGsNRVu.cjs} +2 -2
  128. package/dist/{icon-CV5KKSMK.cjs.map → icon-DYGsNRVu.cjs.map} +1 -1
  129. package/dist/{icon-button-BCdwHPLZ.cjs → icon-button-BfjcTNKq.cjs} +2 -2
  130. package/dist/{icon-button-BCdwHPLZ.cjs.map → icon-button-BfjcTNKq.cjs.map} +1 -1
  131. package/dist/{icon-button-BCqgaB3e.js → icon-button-Cu-RShdY.js} +3 -3
  132. package/dist/{icon-button-BCqgaB3e.js.map → icon-button-Cu-RShdY.js.map} +1 -1
  133. package/dist/icons.cjs +1 -1
  134. package/dist/icons.js +1 -1
  135. package/dist/index-CCi1otmh.cjs.map +1 -1
  136. package/dist/index-CW6PhEkx.js.map +1 -1
  137. package/dist/index.cjs +1 -1
  138. package/dist/index.js +50 -50
  139. package/dist/{input-RPj2xLz4.cjs → input-D-YRT2vo.cjs} +2 -2
  140. package/dist/input-D-YRT2vo.cjs.map +1 -0
  141. package/dist/{input-BJvZX3nK.js → input-UlrGLoXt.js} +3 -3
  142. package/dist/input-UlrGLoXt.js.map +1 -0
  143. package/dist/{input-chip-CyvaAJiR.js → input-chip-BwEuJAV5.js} +2 -2
  144. package/dist/{input-chip-CyvaAJiR.js.map → input-chip-BwEuJAV5.js.map} +1 -1
  145. package/dist/{input-chip-CGilKpgN.cjs → input-chip-pho9bYvS.cjs} +2 -2
  146. package/dist/{input-chip-CGilKpgN.cjs.map → input-chip-pho9bYvS.cjs.map} +1 -1
  147. package/dist/input.cjs +1 -1
  148. package/dist/input.js +1 -1
  149. package/dist/layout.cjs +1 -1
  150. package/dist/layout.js +1 -1
  151. package/dist/{list-Dqwbw_0L.js → list-B4x432bs.js} +2 -2
  152. package/dist/{list-Dqwbw_0L.js.map → list-B4x432bs.js.map} +1 -1
  153. package/dist/{list-Dphnkgjm.cjs → list-CyCR5ywg.cjs} +2 -2
  154. package/dist/{list-Dphnkgjm.cjs.map → list-CyCR5ywg.cjs.map} +1 -1
  155. package/dist/list.cjs +1 -1
  156. package/dist/list.js +1 -1
  157. package/dist/{litElement.mixin-BbwZRaPp.js → litElement.mixin-BPe38Tqd.js} +2 -2
  158. package/dist/{litElement.mixin-BbwZRaPp.js.map → litElement.mixin-BPe38Tqd.js.map} +1 -1
  159. package/dist/{litElement.mixin-1i17ImwN.cjs → litElement.mixin-DXaT0TQx.cjs} +2 -2
  160. package/dist/{litElement.mixin-1i17ImwN.cjs.map → litElement.mixin-DXaT0TQx.cjs.map} +1 -1
  161. package/dist/mailbox.cjs +1 -1
  162. package/dist/mailbox.js +1 -1
  163. package/dist/{map-DEjWWl14.cjs → map-C2fG3es8.cjs} +2 -2
  164. package/dist/{map-DEjWWl14.cjs.map → map-C2fG3es8.cjs.map} +1 -1
  165. package/dist/{map-BHfXl4eZ.js → map-CNoi0TZi.js} +2 -2
  166. package/dist/{map-BHfXl4eZ.js.map → map-CNoi0TZi.js.map} +1 -1
  167. package/dist/map.cjs +1 -1
  168. package/dist/map.js +1 -1
  169. package/dist/{media-CFqac3i-.js → media-D_ne5TmT.js} +2 -2
  170. package/dist/{media-CFqac3i-.js.map → media-D_ne5TmT.js.map} +1 -1
  171. package/dist/{media-wEB2juTQ.cjs → media-dMr54ISj.cjs} +2 -2
  172. package/dist/{media-wEB2juTQ.cjs.map → media-dMr54ISj.cjs.map} +1 -1
  173. package/dist/menu-BdWhwHXc.js +89 -0
  174. package/dist/menu-BdWhwHXc.js.map +1 -0
  175. package/dist/menu-BsX4Mjjn.cjs +23 -0
  176. package/dist/menu-BsX4Mjjn.cjs.map +1 -0
  177. package/dist/menu.cjs +1 -1
  178. package/dist/menu.js +1 -1
  179. package/dist/mixins.cjs +2 -0
  180. package/dist/mixins.cjs.map +1 -0
  181. package/dist/mixins.js +12 -0
  182. package/dist/mixins.js.map +1 -0
  183. package/dist/nav-drawer.cjs +1 -1
  184. package/dist/nav-drawer.js +1 -1
  185. package/dist/navigation-bar.cjs +1 -1
  186. package/dist/navigation-bar.js +1 -1
  187. package/dist/{navigation-rail-Cdklj_Vy.js → navigation-rail-DM2NQY_2.js} +3 -3
  188. package/dist/{navigation-rail-Cdklj_Vy.js.map → navigation-rail-DM2NQY_2.js.map} +1 -1
  189. package/dist/{navigation-rail-eNmqnFXJ.cjs → navigation-rail-DfFgV2PX.cjs} +2 -2
  190. package/dist/{navigation-rail-eNmqnFXJ.cjs.map → navigation-rail-DfFgV2PX.cjs.map} +1 -1
  191. package/dist/navigation-rail.cjs +1 -1
  192. package/dist/navigation-rail.js +1 -1
  193. package/dist/{notification-service-jityv87S.cjs → notification-service-Cm_0BsnA.cjs} +2 -2
  194. package/dist/{notification-service-jityv87S.cjs.map → notification-service-Cm_0BsnA.cjs.map} +1 -1
  195. package/dist/{notification-service-CqxmKVJX.js → notification-service-DDfyKN2r.js} +4 -4
  196. package/dist/{notification-service-CqxmKVJX.js.map → notification-service-DDfyKN2r.js.map} +1 -1
  197. package/dist/notification.cjs +1 -1
  198. package/dist/notification.js +2 -2
  199. package/dist/{notify-C8EM_JmR.js → notify-BGHQRbsD.js} +2 -2
  200. package/dist/{notify-C8EM_JmR.js.map → notify-BGHQRbsD.js.map} +1 -1
  201. package/dist/{notify-CxqHlCZF.cjs → notify-DMoBBADS.cjs} +2 -2
  202. package/dist/{notify-CxqHlCZF.cjs.map → notify-DMoBBADS.cjs.map} +1 -1
  203. package/dist/{option-COJIldwK.js → option-EBGoYClu.js} +2 -2
  204. package/dist/{option-COJIldwK.js.map → option-EBGoYClu.js.map} +1 -1
  205. package/dist/{option-CBQoRZ86.cjs → option-MaqD_vGw.cjs} +2 -2
  206. package/dist/{option-CBQoRZ86.cjs.map → option-MaqD_vGw.cjs.map} +1 -1
  207. package/dist/option.cjs +1 -1
  208. package/dist/option.js +1 -1
  209. package/dist/{payment-card-form-BzDuKScU.cjs → payment-card-form-DZmaLaVl.cjs} +2 -2
  210. package/dist/payment-card-form-DZmaLaVl.cjs.map +1 -0
  211. package/dist/{payment-card-form-CHMYeZs2.js → payment-card-form-p_Wj1NRm.js} +3 -3
  212. package/dist/payment-card-form-p_Wj1NRm.js.map +1 -0
  213. package/dist/{progress-nOhWloHs.cjs → progress-BqIOFoJX.cjs} +2 -2
  214. package/dist/{progress-nOhWloHs.cjs.map → progress-BqIOFoJX.cjs.map} +1 -1
  215. package/dist/{progress-CtNg2SPw.js → progress-DC88fksT.js} +2 -2
  216. package/dist/{progress-CtNg2SPw.js.map → progress-DC88fksT.js.map} +1 -1
  217. package/dist/progress.cjs +1 -1
  218. package/dist/progress.js +1 -1
  219. package/dist/provide-BxZ2kn_p.cjs.map +1 -1
  220. package/dist/provide-tcktw8xB.js.map +1 -1
  221. package/dist/{radio-button-DttgXEeY.cjs → radio-button-BfpkkEgE.cjs} +2 -2
  222. package/dist/radio-button-BfpkkEgE.cjs.map +1 -0
  223. package/dist/{radio-button-DggshTfa.js → radio-button-DQA5Kswx.js} +3 -3
  224. package/dist/radio-button-DQA5Kswx.js.map +1 -0
  225. package/dist/radio-group.cjs +1 -1
  226. package/dist/radio-group.js +1 -1
  227. package/dist/{schmancy-steps-container-DhtHaKgX.js → schmancy-steps-container-Br5qKWIs.js} +2 -2
  228. package/dist/{schmancy-steps-container-DhtHaKgX.js.map → schmancy-steps-container-Br5qKWIs.js.map} +1 -1
  229. package/dist/{schmancy-steps-container-hIBLjMgI.cjs → schmancy-steps-container-Cr2B9C-w.cjs} +2 -2
  230. package/dist/{schmancy-steps-container-hIBLjMgI.cjs.map → schmancy-steps-container-Cr2B9C-w.cjs.map} +1 -1
  231. package/dist/{select-BqyRn0cF.js → select-B_DaDLhe.js} +3 -3
  232. package/dist/select-B_DaDLhe.js.map +1 -0
  233. package/dist/{select-xZKW8cHu.cjs → select-DwaiJBG2.cjs} +2 -2
  234. package/dist/select-DwaiJBG2.cjs.map +1 -0
  235. package/dist/select.cjs +1 -1
  236. package/dist/select.js +1 -1
  237. package/dist/{sheet-DE8jIQUk.js → sheet-5c6WR3vS.js} +5 -5
  238. package/dist/{sheet-DE8jIQUk.js.map → sheet-5c6WR3vS.js.map} +1 -1
  239. package/dist/{sheet-C6Liqa_3.cjs → sheet-BrK8_X4J.cjs} +2 -2
  240. package/dist/{sheet-C6Liqa_3.cjs.map → sheet-BrK8_X4J.cjs.map} +1 -1
  241. package/dist/sheet.cjs +1 -1
  242. package/dist/sheet.js +2 -2
  243. package/dist/{sheet.service-NAV5vSsM.cjs → sheet.service-BkKHvgFa.cjs} +2 -2
  244. package/dist/{sheet.service-NAV5vSsM.cjs.map → sheet.service-BkKHvgFa.cjs.map} +1 -1
  245. package/dist/{sheet.service-1jZMJbNp.js → sheet.service-EPEmcCpX.js} +2 -2
  246. package/dist/{sheet.service-1jZMJbNp.js.map → sheet.service-EPEmcCpX.js.map} +1 -1
  247. package/dist/{slider-BvbkpEef.js → slider-CiNvtgZJ.js} +3 -3
  248. package/dist/{slider-BvbkpEef.js.map → slider-CiNvtgZJ.js.map} +1 -1
  249. package/dist/{slider-lEoCLK-7.cjs → slider-DW9URxIY.cjs} +2 -2
  250. package/dist/{slider-lEoCLK-7.cjs.map → slider-DW9URxIY.cjs.map} +1 -1
  251. package/dist/slider.cjs +1 -1
  252. package/dist/slider.js +1 -1
  253. package/dist/{spinner-CQxy0lF3.cjs → spinner-9JRrKdub.cjs} +2 -2
  254. package/dist/{spinner-CQxy0lF3.cjs.map → spinner-9JRrKdub.cjs.map} +1 -1
  255. package/dist/{spinner-DdG6BEOr.js → spinner-D8stZ8uP.js} +2 -2
  256. package/dist/{spinner-DdG6BEOr.js.map → spinner-D8stZ8uP.js.map} +1 -1
  257. package/dist/steps.cjs +1 -1
  258. package/dist/steps.js +1 -1
  259. package/dist/{suggestion-chip-BRz15zwU.js → suggestion-chip-CXPMf7Je.js} +3 -3
  260. package/dist/{suggestion-chip-BRz15zwU.js.map → suggestion-chip-CXPMf7Je.js.map} +1 -1
  261. package/dist/{suggestion-chip-DK4xFJvZ.cjs → suggestion-chip-inBIBMff.cjs} +2 -2
  262. package/dist/{suggestion-chip-DK4xFJvZ.cjs.map → suggestion-chip-inBIBMff.cjs.map} +1 -1
  263. package/dist/{surface-C3vER2uq.js → surface-BcZEnDON.js} +2 -2
  264. package/dist/{surface-C3vER2uq.js.map → surface-BcZEnDON.js.map} +1 -1
  265. package/dist/{surface-Bt1FetPM.cjs → surface-BsrV4kzE.cjs} +2 -2
  266. package/dist/{surface-Bt1FetPM.cjs.map → surface-BsrV4kzE.cjs.map} +1 -1
  267. package/dist/surface.cjs +1 -1
  268. package/dist/surface.js +1 -1
  269. package/dist/{table-DhheYeQ8.js → table-B5CHKp8S.js} +2 -2
  270. package/dist/table-B5CHKp8S.js.map +1 -0
  271. package/dist/{table-DYay68qu.cjs → table-CzejyN5W.cjs} +2 -2
  272. package/dist/table-CzejyN5W.cjs.map +1 -0
  273. package/dist/table.cjs +1 -1
  274. package/dist/table.js +1 -1
  275. package/dist/{tabs-compatibility-C-gQwADa.js → tabs-compatibility-8NddfF1x.js} +2 -2
  276. package/dist/{tabs-compatibility-C-gQwADa.js.map → tabs-compatibility-8NddfF1x.js.map} +1 -1
  277. package/dist/{tabs-compatibility-Dz5YaB06.cjs → tabs-compatibility-UitZoxcs.cjs} +2 -2
  278. package/dist/{tabs-compatibility-Dz5YaB06.cjs.map → tabs-compatibility-UitZoxcs.cjs.map} +1 -1
  279. package/dist/tabs.cjs +1 -1
  280. package/dist/tabs.js +1 -1
  281. package/dist/tailwind.mixin-2PdnHg0B.cjs +2 -0
  282. package/dist/{tailwind.mixin-Ge3p8F8Z.cjs.map → tailwind.mixin-2PdnHg0B.cjs.map} +1 -1
  283. package/dist/tailwind.mixin-BgdEBNZM.js +67 -0
  284. package/dist/{tailwind.mixin-BTS7jBB1.js.map → tailwind.mixin-BgdEBNZM.js.map} +1 -1
  285. package/dist/teleport.cjs +1 -1
  286. package/dist/teleport.js +1 -1
  287. package/dist/{textarea-DmoZM65K.js → textarea-2oVdZPXR.js} +2 -2
  288. package/dist/textarea-2oVdZPXR.js.map +1 -0
  289. package/dist/{textarea-Dn1lmlIx.cjs → textarea-D24UakyK.cjs} +2 -2
  290. package/dist/textarea-D24UakyK.cjs.map +1 -0
  291. package/dist/textarea.cjs +1 -1
  292. package/dist/textarea.js +1 -1
  293. package/dist/{theme-button-CtF2dxRy.cjs → theme-button-D0Xi4WHC.cjs} +2 -2
  294. package/dist/{theme-button-CtF2dxRy.cjs.map → theme-button-D0Xi4WHC.cjs.map} +1 -1
  295. package/dist/{theme-button-BkoRO_Ko.js → theme-button-D4BhpOj6.js} +2 -2
  296. package/dist/{theme-button-BkoRO_Ko.js.map → theme-button-D4BhpOj6.js.map} +1 -1
  297. package/dist/theme-button.cjs +1 -1
  298. package/dist/theme-button.js +1 -1
  299. package/dist/{theme-controller-boat-DDsW4EOJ.js → theme-controller-boat-C8AnrOkJ.js} +4 -4
  300. package/dist/theme-controller-boat-C8AnrOkJ.js.map +1 -0
  301. package/dist/{theme-controller-boat-CBQlbHHc.cjs → theme-controller-boat-r74J3tyl.cjs} +2 -2
  302. package/dist/theme-controller-boat-r74J3tyl.cjs.map +1 -0
  303. package/dist/theme.cjs +1 -1
  304. package/dist/theme.js +1 -1
  305. package/dist/{timezone-DM_3vLZj.cjs → timezone-BbGoZoJM.cjs} +2 -2
  306. package/dist/{timezone-DM_3vLZj.cjs.map → timezone-BbGoZoJM.cjs.map} +1 -1
  307. package/dist/{timezone-C-V8qJE3.js → timezone-D4wUA6zL.js} +3 -3
  308. package/dist/{timezone-C-V8qJE3.js.map → timezone-D4wUA6zL.js.map} +1 -1
  309. package/dist/{tooltip-Cw5mfhRj.js → tooltip-BL92Hwwe.js} +2 -2
  310. package/dist/{tooltip-Cw5mfhRj.js.map → tooltip-BL92Hwwe.js.map} +1 -1
  311. package/dist/{tooltip-DntsYOsj.cjs → tooltip-DxdU3Drr.cjs} +2 -2
  312. package/dist/{tooltip-DntsYOsj.cjs.map → tooltip-DxdU3Drr.cjs.map} +1 -1
  313. package/dist/tooltip.cjs +1 -1
  314. package/dist/tooltip.js +1 -1
  315. package/dist/{tree-C3487udC.cjs → tree-BuGpk0as.cjs} +2 -2
  316. package/dist/{tree-C3487udC.cjs.map → tree-BuGpk0as.cjs.map} +1 -1
  317. package/dist/{tree-DimUJjcj.js → tree-cZIPOana.js} +2 -2
  318. package/dist/{tree-DimUJjcj.js.map → tree-cZIPOana.js.map} +1 -1
  319. package/dist/tree.cjs +1 -1
  320. package/dist/tree.js +1 -1
  321. package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
  322. package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
  323. package/dist/{typewriter-B7nBcBU9.js → typewriter-DT0f_Fla.js} +4 -4
  324. package/dist/typewriter-DT0f_Fla.js.map +1 -0
  325. package/dist/{typewriter-CHcRZUee.cjs → typewriter-Dc7MHBRy.cjs} +2 -2
  326. package/dist/typewriter-Dc7MHBRy.cjs.map +1 -0
  327. package/dist/typewriter.cjs +1 -1
  328. package/dist/typewriter.js +1 -1
  329. package/dist/{typography-CRVUouR2.cjs → typography-BBCRpsA_.cjs} +2 -2
  330. package/dist/{typography-CRVUouR2.cjs.map → typography-BBCRpsA_.cjs.map} +1 -1
  331. package/dist/{typography-DnZjZEIe.js → typography-DayYVIRD.js} +2 -2
  332. package/dist/{typography-DnZjZEIe.js.map → typography-DayYVIRD.js.map} +1 -1
  333. package/dist/typography.cjs +1 -1
  334. package/dist/typography.js +1 -1
  335. package/package.json +4 -10
  336. package/types/src/autocomplete/autocomplete.d.ts +11 -0
  337. package/types/src/extra/timezone/timezone.d.ts +8 -0
  338. package/types/src/input/input.d.ts +1 -0
  339. package/types/src/menu/menu.d.ts +5 -6
  340. package/types/src/radio-group/radio-button.d.ts +8 -0
  341. package/types/src/select/select.d.ts +11 -0
  342. package/types/src/textarea/textarea.d.ts +12 -0
  343. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Bold.woff +0 -0
  344. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Light.woff +0 -0
  345. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Medium.woff +0 -0
  346. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Regular.woff +0 -0
  347. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Thin.woff +0 -0
  348. package/dist/GT-Eesti/GT-Eesti-Pro-Display-UBold.woff +0 -0
  349. package/dist/GT-Eesti/GT-Eesti-Pro-Display-ULight.woff +0 -0
  350. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold-Italic.woff +0 -0
  351. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold.woff +0 -0
  352. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book-Italic.woff +0 -0
  353. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book.woff +0 -0
  354. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Light.woff +0 -0
  355. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium-Italic.woff +0 -0
  356. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium.woff +0 -0
  357. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Regular.woff +0 -0
  358. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin-Italic.woff +0 -0
  359. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin.woff +0 -0
  360. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight-Italic.woff +0 -0
  361. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight.woff +0 -0
  362. package/dist/GT-Eesti/GT-Eesti-Text-Regular.woff2 +0 -0
  363. package/dist/_headers +0 -3
  364. package/dist/autocomplete-DEzGDw9s.cjs.map +0 -1
  365. package/dist/autocomplete-DLzc6eqO.js.map +0 -1
  366. package/dist/checkbox-DClxbWbU.cjs.map +0 -1
  367. package/dist/checkbox-ZryxdmZz.js.map +0 -1
  368. package/dist/code-preview-Bn2K5K9h.js.map +0 -1
  369. package/dist/code-preview-BoYqlMxl.cjs.map +0 -1
  370. package/dist/date-range-B-rPnyst.cjs.map +0 -1
  371. package/dist/date-range-CCQsqKSy.js.map +0 -1
  372. package/dist/delay-BaltOHAs.js.map +0 -1
  373. package/dist/delay-DzqfMSBJ.cjs.map +0 -1
  374. package/dist/input-BJvZX3nK.js.map +0 -1
  375. package/dist/input-RPj2xLz4.cjs.map +0 -1
  376. package/dist/logo-dark.png +0 -0
  377. package/dist/menu-BlR27aWR.js +0 -100
  378. package/dist/menu-BlR27aWR.js.map +0 -1
  379. package/dist/menu-DYWTnN4u.cjs +0 -36
  380. package/dist/menu-DYWTnN4u.cjs.map +0 -1
  381. package/dist/mixins/baseElement.ts +0 -73
  382. package/dist/mixins/constructor.ts +0 -3
  383. package/dist/mixins/discovery.service.ts +0 -60
  384. package/dist/mixins/formField.mixin.ts +0 -223
  385. package/dist/mixins/index.ts +0 -5
  386. package/dist/mixins/litElement.mixin.ts +0 -15
  387. package/dist/mixins/scss.d.ts +0 -21
  388. package/dist/mixins/tailwind.css +0 -201
  389. package/dist/mixins/tailwind.mixin.ts +0 -30
  390. package/dist/netlify.toml +0 -366
  391. package/dist/payment-card-form-BzDuKScU.cjs.map +0 -1
  392. package/dist/payment-card-form-CHMYeZs2.js.map +0 -1
  393. package/dist/radio-button-DggshTfa.js.map +0 -1
  394. package/dist/radio-button-DttgXEeY.cjs.map +0 -1
  395. package/dist/select-BqyRn0cF.js.map +0 -1
  396. package/dist/select-xZKW8cHu.cjs.map +0 -1
  397. package/dist/table-DYay68qu.cjs.map +0 -1
  398. package/dist/table-DhheYeQ8.js.map +0 -1
  399. package/dist/tailwind.mixin-BTS7jBB1.js +0 -66
  400. package/dist/tailwind.mixin-Ge3p8F8Z.cjs +0 -2
  401. package/dist/textarea-DmoZM65K.js.map +0 -1
  402. package/dist/textarea-Dn1lmlIx.cjs.map +0 -1
  403. package/dist/theme-controller-boat-CBQlbHHc.cjs.map +0 -1
  404. package/dist/theme-controller-boat-DDsW4EOJ.js.map +0 -1
  405. package/dist/typewriter-B7nBcBU9.js.map +0 -1
  406. package/dist/typewriter-CHcRZUee.cjs.map +0 -1
  407. package/readme.md +0 -307
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-inline-DO0Ps_QS.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","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","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-inline-D90CpK7z.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","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","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("lit"),o=require("lit/decorators.js");require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./formField.mixin-BW4RaqbT.cjs");require("./tailwind.mixin-Ge3p8F8Z.cjs");var l=Object.defineProperty,D=Object.getOwnPropertyDescriptor,n=(a,t,i,r)=>{for(var s,h=r>1?void 0:r?D(t,i):t,e=a.length-1;e>=0;e--)(s=a[e])&&(h=(r?s(t,i,h):s(h))||h);return r&&h&&l(t,i,h),h};exports.SchmancyDateRangeInline=class extends m.SchmancyFormField(){constructor(){super(...arguments),this.type="date",this.dateFrom={label:"From",value:""},this.dateTo={label:"To",value:""},this.compact=!1,this.autoCorrect=!0,this.minGap=0,this.defaultGap=1,this.allowSameDate=!1,this.validationState={dateFromError:"",dateToError:"",rangeError:""}}connectedCallback(){super.connectedCallback(),this.dateFrom.value||this.dateTo.value?this.validateAndCorrect():this.setSmartDefaults()}setSmartDefaults(){const a=new Date,t=new Date(a);t.setDate(t.getDate()+this.defaultGap);const i=this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD";this.dateFrom={...this.dateFrom,value:this.formatDate(a,i)},this.dateTo={...this.dateTo,value:this.formatDate(t,i)}}formatDate(a,t){const i=a.getFullYear(),r=String(a.getMonth()+1).padStart(2,"0"),s=String(a.getDate()).padStart(2,"0");return t==="YYYY-MM-DD"?`${i}-${r}-${s}`:`${i}-${r}-${s}T${String(a.getHours()).padStart(2,"0")}:${String(a.getMinutes()).padStart(2,"0")}`}parseDate(a){if(!a)return null;const t=new Date(a);return isNaN(t.getTime())?null:t}getDaysBetween(a,t){return Math.floor((t.getTime()-a.getTime())/864e5)}handleDateFromChange(a){const t=a.target.value;if(this.dateFrom={...this.dateFrom,value:t},this.validationState={...this.validationState,dateFromError:"",rangeError:""},!t)return this.required?(this.validationState={...this.validationState,dateFromError:"Start date is required"},void(this.error=!0)):void this.emitChange();this.validateAndCorrect("from")}handleDateToChange(a){const t=a.target.value;if(this.dateTo={...this.dateTo,value:t},this.validationState={...this.validationState,dateToError:"",rangeError:""},!t)return this.required?(this.validationState={...this.validationState,dateToError:"End date is required"},void(this.error=!0)):void this.emitChange();this.validateAndCorrect("to")}validateAndCorrect(a){const t=this.parseDate(this.dateFrom.value),i=this.parseDate(this.dateTo.value);let r=!1;const s={dateFromError:"",dateToError:"",rangeError:""};if(this.dateFrom.value&&!t&&(s.dateFromError="Invalid date format",r=!0),this.dateTo.value&&!i&&(s.dateToError="Invalid date format",r=!0),t&&i){const h=this.getDaysBetween(t,i);if(t>i){if(this.autoCorrect){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else if(a==="to"){const e=new Date(i);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=this.dateFrom.value;this.dateFrom={...this.dateFrom,value:this.dateTo.value},this.dateTo={...this.dateTo,value:e}}return void this.validateAndCorrect()}s.rangeError="End date must be after start date",r=!0}if(!this.allowSameDate&&h===0){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError="Start and end dates cannot be the same",r=!0}if(this.minGap>0&&h<this.minGap){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.minGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.minGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError=`Minimum ${this.minGap} day${this.minGap>1?"s":""} required between dates`,r=!0}if(this.maxGap!==void 0&&h>this.maxGap){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.maxGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.maxGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError=`Maximum ${this.maxGap} day${this.maxGap>1?"s":""} allowed between dates`,r=!0}if(this.minDate){const e=this.parseDate(this.minDate);e&&t<e&&(s.dateFromError="Date is before minimum allowed date",r=!0)}if(this.maxDate){const e=this.parseDate(this.maxDate);e&&i>e&&(s.dateToError="Date is after maximum allowed date",r=!0)}}this.validationState=s,this.error=r,this.emitChange()}getComputedMinDateTo(){if(!this.dateFrom.value)return this.minDate;const a=this.parseDate(this.dateFrom.value);if(!a)return this.minDate;const t=new Date(a);if(this.allowSameDate||t.setDate(t.getDate()+1),this.minGap>0&&t.setDate(a.getDate()+this.minGap),this.minDate){const i=this.parseDate(this.minDate);if(i&&i>t)return this.minDate}return this.formatDate(t,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}getComputedMaxDateFrom(){if(!this.dateTo.value)return this.maxDate;const a=this.parseDate(this.dateTo.value);if(!a)return this.maxDate;const t=new Date(a);if(this.allowSameDate||t.setDate(t.getDate()-1),this.minGap>0&&t.setDate(a.getDate()-this.minGap),this.maxDate){const i=this.parseDate(this.maxDate);if(i&&i<t)return this.maxDate}return this.formatDate(t,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}emitChange(){const a=!(this.error||!this.dateFrom.value||!this.dateTo.value||this.validationState.dateFromError||this.validationState.dateToError||this.validationState.rangeError);this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,isValid:a},bubbles:!0,composed:!0}))}render(){const a=this.validationState.dateFromError||this.validationState.rangeError,t=this.validationState.dateToError||this.validationState.rangeError;return d.html`
1
+ "use strict";const d=require("lit"),o=require("lit/decorators.js");require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./formField.mixin-D_gQgJXC.cjs");require("./tailwind.mixin-2PdnHg0B.cjs");var l=Object.defineProperty,D=Object.getOwnPropertyDescriptor,n=(a,t,i,r)=>{for(var s,h=r>1?void 0:r?D(t,i):t,e=a.length-1;e>=0;e--)(s=a[e])&&(h=(r?s(t,i,h):s(h))||h);return r&&h&&l(t,i,h),h};exports.SchmancyDateRangeInline=class extends m.SchmancyFormField(){constructor(){super(...arguments),this.type="date",this.dateFrom={label:"From",value:""},this.dateTo={label:"To",value:""},this.compact=!1,this.autoCorrect=!0,this.minGap=0,this.defaultGap=1,this.allowSameDate=!1,this.validationState={dateFromError:"",dateToError:"",rangeError:""}}connectedCallback(){super.connectedCallback(),this.dateFrom.value||this.dateTo.value?this.validateAndCorrect():this.setSmartDefaults()}setSmartDefaults(){const a=new Date,t=new Date(a);t.setDate(t.getDate()+this.defaultGap);const i=this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD";this.dateFrom={...this.dateFrom,value:this.formatDate(a,i)},this.dateTo={...this.dateTo,value:this.formatDate(t,i)}}formatDate(a,t){const i=a.getFullYear(),r=String(a.getMonth()+1).padStart(2,"0"),s=String(a.getDate()).padStart(2,"0");return t==="YYYY-MM-DD"?`${i}-${r}-${s}`:`${i}-${r}-${s}T${String(a.getHours()).padStart(2,"0")}:${String(a.getMinutes()).padStart(2,"0")}`}parseDate(a){if(!a)return null;const t=new Date(a);return isNaN(t.getTime())?null:t}getDaysBetween(a,t){return Math.floor((t.getTime()-a.getTime())/864e5)}handleDateFromChange(a){const t=a.target.value;if(this.dateFrom={...this.dateFrom,value:t},this.validationState={...this.validationState,dateFromError:"",rangeError:""},!t)return this.required?(this.validationState={...this.validationState,dateFromError:"Start date is required"},void(this.error=!0)):void this.emitChange();this.validateAndCorrect("from")}handleDateToChange(a){const t=a.target.value;if(this.dateTo={...this.dateTo,value:t},this.validationState={...this.validationState,dateToError:"",rangeError:""},!t)return this.required?(this.validationState={...this.validationState,dateToError:"End date is required"},void(this.error=!0)):void this.emitChange();this.validateAndCorrect("to")}validateAndCorrect(a){const t=this.parseDate(this.dateFrom.value),i=this.parseDate(this.dateTo.value);let r=!1;const s={dateFromError:"",dateToError:"",rangeError:""};if(this.dateFrom.value&&!t&&(s.dateFromError="Invalid date format",r=!0),this.dateTo.value&&!i&&(s.dateToError="Invalid date format",r=!0),t&&i){const h=this.getDaysBetween(t,i);if(t>i){if(this.autoCorrect){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else if(a==="to"){const e=new Date(i);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=this.dateFrom.value;this.dateFrom={...this.dateFrom,value:this.dateTo.value},this.dateTo={...this.dateTo,value:e}}return void this.validateAndCorrect()}s.rangeError="End date must be after start date",r=!0}if(!this.allowSameDate&&h===0){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError="Start and end dates cannot be the same",r=!0}if(this.minGap>0&&h<this.minGap){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.minGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.minGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError=`Minimum ${this.minGap} day${this.minGap>1?"s":""} required between dates`,r=!0}if(this.maxGap!==void 0&&h>this.maxGap){if(this.autoCorrect&&a){if(a==="from"){const e=new Date(t);e.setDate(e.getDate()+this.maxGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}else{const e=new Date(i);e.setDate(e.getDate()-this.maxGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}}return void this.validateAndCorrect()}s.rangeError=`Maximum ${this.maxGap} day${this.maxGap>1?"s":""} allowed between dates`,r=!0}if(this.minDate){const e=this.parseDate(this.minDate);e&&t<e&&(s.dateFromError="Date is before minimum allowed date",r=!0)}if(this.maxDate){const e=this.parseDate(this.maxDate);e&&i>e&&(s.dateToError="Date is after maximum allowed date",r=!0)}}this.validationState=s,this.error=r,this.emitChange()}getComputedMinDateTo(){if(!this.dateFrom.value)return this.minDate;const a=this.parseDate(this.dateFrom.value);if(!a)return this.minDate;const t=new Date(a);if(this.allowSameDate||t.setDate(t.getDate()+1),this.minGap>0&&t.setDate(a.getDate()+this.minGap),this.minDate){const i=this.parseDate(this.minDate);if(i&&i>t)return this.minDate}return this.formatDate(t,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}getComputedMaxDateFrom(){if(!this.dateTo.value)return this.maxDate;const a=this.parseDate(this.dateTo.value);if(!a)return this.maxDate;const t=new Date(a);if(this.allowSameDate||t.setDate(t.getDate()-1),this.minGap>0&&t.setDate(a.getDate()-this.minGap),this.maxDate){const i=this.parseDate(this.maxDate);if(i&&i<t)return this.maxDate}return this.formatDate(t,this.type==="datetime-local"?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD")}emitChange(){const a=!(this.error||!this.dateFrom.value||!this.dateTo.value||this.validationState.dateFromError||this.validationState.dateToError||this.validationState.rangeError);this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,isValid:a},bubbles:!0,composed:!0}))}render(){const a=this.validationState.dateFromError||this.validationState.rangeError,t=this.validationState.dateToError||this.validationState.rangeError;return d.html`
2
2
  <div class="w-full">
3
3
  <div class="flex items-start gap-2 w-full">
4
4
  <div class="flex-1">
@@ -41,4 +41,4 @@
41
41
  </div>
42
42
  </div>
43
43
  `}},n([o.property({type:String})],exports.SchmancyDateRangeInline.prototype,"type",2),n([o.property({type:Object})],exports.SchmancyDateRangeInline.prototype,"dateFrom",2),n([o.property({type:Object})],exports.SchmancyDateRangeInline.prototype,"dateTo",2),n([o.property({type:String})],exports.SchmancyDateRangeInline.prototype,"minDate",2),n([o.property({type:String})],exports.SchmancyDateRangeInline.prototype,"maxDate",2),n([o.property({type:Boolean})],exports.SchmancyDateRangeInline.prototype,"compact",2),n([o.property({type:Boolean})],exports.SchmancyDateRangeInline.prototype,"autoCorrect",2),n([o.property({type:Number})],exports.SchmancyDateRangeInline.prototype,"minGap",2),n([o.property({type:Number})],exports.SchmancyDateRangeInline.prototype,"maxGap",2),n([o.property({type:Number})],exports.SchmancyDateRangeInline.prototype,"defaultGap",2),n([o.property({type:Boolean})],exports.SchmancyDateRangeInline.prototype,"allowSameDate",2),n([o.state()],exports.SchmancyDateRangeInline.prototype,"validationState",2),exports.SchmancyDateRangeInline=n([o.customElement("schmancy-date-range-inline")],exports.SchmancyDateRangeInline);
44
- //# sourceMappingURL=date-range-inline-NACS06ev.cjs.map
44
+ //# sourceMappingURL=date-range-inline-DLV7jB_x.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-inline-NACS06ev.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","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-inline-DLV7jB_x.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","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","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-NACS06ev.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-DLV7jB_x.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-DO0Ps_QS.js";
1
+ import { S as n } from "./date-range-inline-D90CpK7z.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-B-rPnyst.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-B1PGOR7h.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-CCQsqKSy.js";
1
+ import { S as t, v as n } from "./date-range-B-5LtvhH.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-BbwZRaPp.js";
6
+ import { $ as K } from "./litElement.mixin-BPe38Tqd.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-BaltOHAs.js.map
288
+ //# sourceMappingURL=delay-D5RAR00M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-D5RAR00M.js","sources":["../../../node_modules/@lit-labs/motion/animate-controller.js","../../../node_modules/@lit-labs/motion/animate.js","../../../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\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","getController","get","u","options","disabled","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","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","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-1i17ImwN.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-DXaT0TQx.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-DzqfMSBJ.cjs.map
10
+ //# sourceMappingURL=delay-UAjkp-21.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-UAjkp-21.cjs","sources":["../../../node_modules/@lit-labs/motion/animate-controller.js","../../../node_modules/@lit-labs/motion/animate.js","../../../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\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","x","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","getController","get","u","isDisabled","options","disabled","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","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","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","F","ELEMENT","S","C","$","offsetParent","includes","hashContent","content","hash","charCodeAt","toString","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","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","motionLit","flyBelow","flyAbove","fadeIn","cache","html","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}