@mhmo91/schmancy 0.2.126 → 0.2.128

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 (257) hide show
  1. package/dist/{animated-text-CR7nS6VW.js → animated-text-BJXm6krF.js} +3 -3
  2. package/dist/{animated-text-CR7nS6VW.js.map → animated-text-BJXm6krF.js.map} +1 -1
  3. package/dist/{animated-text-C7Kwa_OI.cjs → animated-text-rLaot0v2.cjs} +2 -2
  4. package/dist/{animated-text-C7Kwa_OI.cjs.map → animated-text-rLaot0v2.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-AypdoH-o.cjs → area.component-CP5oin2j.cjs} +2 -2
  9. package/dist/{area.component-AypdoH-o.cjs.map → area.component-CP5oin2j.cjs.map} +1 -1
  10. package/dist/{area.component-DP34t7HX.js → area.component-DlAEUmgd.js} +3 -3
  11. package/dist/{area.component-DP34t7HX.js.map → area.component-DlAEUmgd.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-DtXL-EYa.js → autocomplete-Bbi68nzP.js} +3 -3
  14. package/dist/{autocomplete-DtXL-EYa.js.map → autocomplete-Bbi68nzP.js.map} +1 -1
  15. package/dist/{autocomplete-BrXYON3m.cjs → autocomplete-DEUfHcCH.cjs} +2 -2
  16. package/dist/{autocomplete-BrXYON3m.cjs.map → autocomplete-DEUfHcCH.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-D9hGlFti.cjs → checkbox-DrrcDAjr.cjs} +2 -2
  26. package/dist/{checkbox-D9hGlFti.cjs.map → checkbox-DrrcDAjr.cjs.map} +1 -1
  27. package/dist/{checkbox-C6z4niEj.js → checkbox-N_JVa-1W.js} +2 -2
  28. package/dist/{checkbox-C6z4niEj.js.map → checkbox-N_JVa-1W.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-wP7Z-qFr.cjs → chips-DrYrCyTG.cjs} +2 -2
  32. package/dist/{chips-wP7Z-qFr.cjs.map → chips-DrYrCyTG.cjs.map} +1 -1
  33. package/dist/{chips-De6Vldxt.js → chips-DuSV3Pg2.js} +3 -3
  34. package/dist/{chips-De6Vldxt.js.map → chips-DuSV3Pg2.js.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/{context-object-CVqtbNDv.js → context-object-CD26Iary.js} +20 -17
  42. package/dist/context-object-CD26Iary.js.map +1 -0
  43. package/dist/context-object-D81PeS3j.cjs +2 -0
  44. package/dist/context-object-D81PeS3j.cjs.map +1 -0
  45. package/dist/{date-range-rIm4WhKI.js → date-range-6fQ4ypDJ.js} +3 -3
  46. package/dist/{date-range-rIm4WhKI.js.map → date-range-6fQ4ypDJ.js.map} +1 -1
  47. package/dist/{date-range-BHtt61m5.cjs → date-range-DoZNetuD.cjs} +2 -2
  48. package/dist/{date-range-BHtt61m5.cjs.map → date-range-DoZNetuD.cjs.map} +1 -1
  49. package/dist/date-range.cjs +1 -1
  50. package/dist/date-range.js +1 -1
  51. package/dist/{delay-PEhN0JaA.js → delay-CSAsNZ4k.js} +2 -2
  52. package/dist/{delay-PEhN0JaA.js.map → delay-CSAsNZ4k.js.map} +1 -1
  53. package/dist/{delay-xd8PmM2r.cjs → delay-WrR6CJK_.cjs} +2 -2
  54. package/dist/{delay-xd8PmM2r.cjs.map → delay-WrR6CJK_.cjs.map} +1 -1
  55. package/dist/delay.cjs +1 -1
  56. package/dist/delay.js +1 -1
  57. package/dist/{divider-B_GBA6wG.js → divider-ByXACxEQ.js} +3 -3
  58. package/dist/{divider-B_GBA6wG.js.map → divider-ByXACxEQ.js.map} +1 -1
  59. package/dist/{divider-CW3prtEN.cjs → divider-Cl2Thq2Y.cjs} +2 -2
  60. package/dist/{divider-CW3prtEN.cjs.map → divider-Cl2Thq2Y.cjs.map} +1 -1
  61. package/dist/divider.cjs +1 -1
  62. package/dist/divider.js +1 -1
  63. package/dist/extra.cjs +1 -1
  64. package/dist/extra.js +1 -1
  65. package/dist/{flex-Cmd1vWus.js → flex-BGVyAdBX.js} +2 -2
  66. package/dist/{flex-Cmd1vWus.js.map → flex-BGVyAdBX.js.map} +1 -1
  67. package/dist/{flex-CbweZ1uz.cjs → flex-DeB79N0h.cjs} +2 -2
  68. package/dist/{flex-CbweZ1uz.cjs.map → flex-DeB79N0h.cjs.map} +1 -1
  69. package/dist/{form-qGZu5wRz.js → form-DATARECy.js} +2 -2
  70. package/dist/{form-qGZu5wRz.js.map → form-DATARECy.js.map} +1 -1
  71. package/dist/{form-GwdkWkeq.cjs → form-Dkh-YG_8.cjs} +2 -2
  72. package/dist/{form-GwdkWkeq.cjs.map → form-Dkh-YG_8.cjs.map} +1 -1
  73. package/dist/form.cjs +1 -1
  74. package/dist/form.js +1 -1
  75. package/dist/{icon-DYd0ia3y.cjs → icon-BbqYaRVu.cjs} +2 -2
  76. package/dist/{icon-DYd0ia3y.cjs.map → icon-BbqYaRVu.cjs.map} +1 -1
  77. package/dist/{icon-0jYWClYF.js → icon-BdqEZEF8.js} +3 -3
  78. package/dist/{icon-0jYWClYF.js.map → icon-BdqEZEF8.js.map} +1 -1
  79. package/dist/{icon-button-CNn-TBQr.cjs → icon-button-BUUtmKnu.cjs} +2 -2
  80. package/dist/{icon-button-CNn-TBQr.cjs.map → icon-button-BUUtmKnu.cjs.map} +1 -1
  81. package/dist/{icon-button-Cb9UFHRA.js → icon-button-DlnuclQQ.js} +3 -3
  82. package/dist/{icon-button-Cb9UFHRA.js.map → icon-button-DlnuclQQ.js.map} +1 -1
  83. package/dist/icons.cjs +1 -1
  84. package/dist/icons.js +1 -1
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.js +118 -105
  87. package/dist/{input-BwUKlNLv.js → input-BDUd1ZGs.js} +2 -2
  88. package/dist/{input-BwUKlNLv.js.map → input-BDUd1ZGs.js.map} +1 -1
  89. package/dist/{input-BDvmjqzB.cjs → input-B_MWCRet.cjs} +2 -2
  90. package/dist/{input-BDvmjqzB.cjs.map → input-B_MWCRet.cjs.map} +1 -1
  91. package/dist/input.cjs +1 -1
  92. package/dist/input.js +1 -1
  93. package/dist/layout.cjs +1 -1
  94. package/dist/layout.js +1 -1
  95. package/dist/{list-nuLmomtu.js → list-D0J2ndMA.js} +2 -2
  96. package/dist/{list-nuLmomtu.js.map → list-D0J2ndMA.js.map} +1 -1
  97. package/dist/{list-DGZ8nQDV.cjs → list-UOeNjOTt.cjs} +2 -2
  98. package/dist/{list-DGZ8nQDV.cjs.map → list-UOeNjOTt.cjs.map} +1 -1
  99. package/dist/list.cjs +1 -1
  100. package/dist/list.js +1 -1
  101. package/dist/{litElement.mixin-CsMY3rsN.cjs → litElement.mixin-CfkMd-bR.cjs} +2 -2
  102. package/dist/{litElement.mixin-CsMY3rsN.cjs.map → litElement.mixin-CfkMd-bR.cjs.map} +1 -1
  103. package/dist/{litElement.mixin-KVNPHS0h.js → litElement.mixin-PXLBM6N4.js} +2 -2
  104. package/dist/{litElement.mixin-KVNPHS0h.js.map → litElement.mixin-PXLBM6N4.js.map} +1 -1
  105. package/dist/{menu-BoAxrHvz.cjs → menu-B4k2_5rl.cjs} +2 -2
  106. package/dist/{menu-BoAxrHvz.cjs.map → menu-B4k2_5rl.cjs.map} +1 -1
  107. package/dist/{menu-DCdcWg1Q.js → menu-D7PxtMOz.js} +3 -3
  108. package/dist/{menu-DCdcWg1Q.js.map → menu-D7PxtMOz.js.map} +1 -1
  109. package/dist/menu.cjs +1 -1
  110. package/dist/menu.js +1 -1
  111. package/dist/nav-drawer.cjs +1 -1
  112. package/dist/nav-drawer.js +1 -1
  113. package/dist/notification.cjs +1 -1
  114. package/dist/notification.js +1 -1
  115. package/dist/{option-BOoGEXyd.cjs → option-hsAZB8ji.cjs} +2 -2
  116. package/dist/{option-BOoGEXyd.cjs.map → option-hsAZB8ji.cjs.map} +1 -1
  117. package/dist/{option-04xx4j0z.js → option-vV2BM1B_.js} +2 -2
  118. package/dist/{option-04xx4j0z.js.map → option-vV2BM1B_.js.map} +1 -1
  119. package/dist/option.cjs +1 -1
  120. package/dist/option.js +1 -1
  121. package/dist/{outlet-C9H_6XOK.cjs → outlet-DMOeEL6g.cjs} +2 -2
  122. package/dist/{outlet-C9H_6XOK.cjs.map → outlet-DMOeEL6g.cjs.map} +1 -1
  123. package/dist/{outlet-DlGwFO9i.js → outlet-DRaXjbOY.js} +2 -2
  124. package/dist/{outlet-DlGwFO9i.js.map → outlet-DRaXjbOY.js.map} +1 -1
  125. package/dist/{payment-card-form-DtcRjZp8.js → payment-card-form-8oXgNTFN.js} +3 -3
  126. package/dist/{payment-card-form-DtcRjZp8.js.map → payment-card-form-8oXgNTFN.js.map} +1 -1
  127. package/dist/{payment-card-form-BaysKg6Z.cjs → payment-card-form-DfbqzyTv.cjs} +2 -2
  128. package/dist/{payment-card-form-BaysKg6Z.cjs.map → payment-card-form-DfbqzyTv.cjs.map} +1 -1
  129. package/dist/{radio-group-BV6zZQBP.cjs → radio-group-CLt-d-Ni.cjs} +2 -2
  130. package/dist/{radio-group-BV6zZQBP.cjs.map → radio-group-CLt-d-Ni.cjs.map} +1 -1
  131. package/dist/{radio-group-BPFwj4dx.js → radio-group-DRXtgyf5.js} +2 -2
  132. package/dist/{radio-group-BPFwj4dx.js.map → radio-group-DRXtgyf5.js.map} +1 -1
  133. package/dist/radio-group.cjs +1 -1
  134. package/dist/radio-group.js +1 -1
  135. package/dist/{schmancy-steps-container-CT4W6h4t.js → schmancy-steps-container-D1k0kjKI.js} +2 -2
  136. package/dist/{schmancy-steps-container-CT4W6h4t.js.map → schmancy-steps-container-D1k0kjKI.js.map} +1 -1
  137. package/dist/{schmancy-steps-container-CQp7mdgo.cjs → schmancy-steps-container-DguK5NK4.cjs} +2 -2
  138. package/dist/{schmancy-steps-container-CQp7mdgo.cjs.map → schmancy-steps-container-DguK5NK4.cjs.map} +1 -1
  139. package/dist/{select-DUqzjckq.cjs → select-BUUelLow.cjs} +2 -2
  140. package/dist/{select-DUqzjckq.cjs.map → select-BUUelLow.cjs.map} +1 -1
  141. package/dist/{select-BqN9V7cw.js → select-By_Pm8TG.js} +3 -3
  142. package/dist/{select-BqN9V7cw.js.map → select-By_Pm8TG.js.map} +1 -1
  143. package/dist/select.cjs +1 -1
  144. package/dist/select.js +1 -1
  145. package/dist/selector-hook-9dSW11-1.js +274 -0
  146. package/dist/selector-hook-9dSW11-1.js.map +1 -0
  147. package/dist/selector-hook-CH-z8W2d.cjs +2 -0
  148. package/dist/selector-hook-CH-z8W2d.cjs.map +1 -0
  149. package/dist/{sheet-PKhdztII.js → sheet-CHow9LJ8.js} +3 -3
  150. package/dist/{sheet-PKhdztII.js.map → sheet-CHow9LJ8.js.map} +1 -1
  151. package/dist/{sheet-RxCJqnwE.cjs → sheet-CyZB5a4W.cjs} +2 -2
  152. package/dist/{sheet-RxCJqnwE.cjs.map → sheet-CyZB5a4W.cjs.map} +1 -1
  153. package/dist/sheet.cjs +1 -1
  154. package/dist/sheet.js +1 -1
  155. package/dist/{slider-DKZODC7g.js → slider-BORUoU4I.js} +3 -3
  156. package/dist/{slider-DKZODC7g.js.map → slider-BORUoU4I.js.map} +1 -1
  157. package/dist/{slider-Cw5jFlAO.cjs → slider-DCRfwhaP.cjs} +2 -2
  158. package/dist/{slider-Cw5jFlAO.cjs.map → slider-DCRfwhaP.cjs.map} +1 -1
  159. package/dist/slider.cjs +1 -1
  160. package/dist/slider.js +1 -1
  161. package/dist/{spinner-Cr6ZRUW_.js → spinner-C-rMlbyB.js} +3 -3
  162. package/dist/{spinner-Cr6ZRUW_.js.map → spinner-C-rMlbyB.js.map} +1 -1
  163. package/dist/{spinner-BIT7SlWT.cjs → spinner-DeHbns2e.cjs} +2 -2
  164. package/dist/{spinner-BIT7SlWT.cjs.map → spinner-DeHbns2e.cjs.map} +1 -1
  165. package/dist/steps.cjs +1 -1
  166. package/dist/steps.js +1 -1
  167. package/dist/store.cjs +1 -1
  168. package/dist/store.js +30 -17
  169. package/dist/{surface-BwHzF1Al.js → surface-HAEl5c8W.js} +2 -2
  170. package/dist/{surface-BwHzF1Al.js.map → surface-HAEl5c8W.js.map} +1 -1
  171. package/dist/{surface-CU_71bTu.cjs → surface-TpxKBWnD.cjs} +2 -2
  172. package/dist/{surface-CU_71bTu.cjs.map → surface-TpxKBWnD.cjs.map} +1 -1
  173. package/dist/surface.cjs +1 -1
  174. package/dist/surface.js +1 -1
  175. package/dist/{table-CAAYvRWb.js → table-D7KL2FaN.js} +166 -164
  176. package/dist/table-D7KL2FaN.js.map +1 -0
  177. package/dist/table-DXPDEHEh.cjs +65 -0
  178. package/dist/table-DXPDEHEh.cjs.map +1 -0
  179. package/dist/table.cjs +1 -1
  180. package/dist/table.js +1 -1
  181. package/dist/{tabs-group-DKgFtkF4.cjs → tabs-group-CR2cSCNr.cjs} +2 -2
  182. package/dist/{tabs-group-DKgFtkF4.cjs.map → tabs-group-CR2cSCNr.cjs.map} +1 -1
  183. package/dist/{tabs-group-3mMfpHn0.js → tabs-group-Dm_FCj7q.js} +2 -2
  184. package/dist/{tabs-group-3mMfpHn0.js.map → tabs-group-Dm_FCj7q.js.map} +1 -1
  185. package/dist/tabs.cjs +1 -1
  186. package/dist/tabs.js +1 -1
  187. package/dist/tailwind.mixin-CjSVtdHt.cjs +2 -0
  188. package/dist/{tailwind.mixin-BAMa8YNR.cjs.map → tailwind.mixin-CjSVtdHt.cjs.map} +1 -1
  189. package/dist/tailwind.mixin-Cxj7n9Jd.js +43 -0
  190. package/dist/{tailwind.mixin-BQyZrGP1.js.map → tailwind.mixin-Cxj7n9Jd.js.map} +1 -1
  191. package/dist/teleport.cjs +1 -1
  192. package/dist/{teleport.component-CrOAEYhZ.js → teleport.component-CBNKUZwe.js} +38 -38
  193. package/dist/{teleport.component-CrOAEYhZ.js.map → teleport.component-CBNKUZwe.js.map} +1 -1
  194. package/dist/{teleport.component-Cmbvbylw.cjs → teleport.component-CplIV2h1.cjs} +2 -2
  195. package/dist/{teleport.component-Cmbvbylw.cjs.map → teleport.component-CplIV2h1.cjs.map} +1 -1
  196. package/dist/teleport.js +1 -1
  197. package/dist/{textarea-BX6iD8ez.cjs → textarea-CLlh5-HA.cjs} +2 -2
  198. package/dist/{textarea-BX6iD8ez.cjs.map → textarea-CLlh5-HA.cjs.map} +1 -1
  199. package/dist/{textarea-DrtTwsZf.js → textarea-DcSAsR60.js} +2 -2
  200. package/dist/{textarea-DrtTwsZf.js.map → textarea-DcSAsR60.js.map} +1 -1
  201. package/dist/textarea.cjs +1 -1
  202. package/dist/textarea.js +1 -1
  203. package/dist/{theme-button-C8uLYaSN.cjs → theme-button-53Mhj3kQ.cjs} +2 -2
  204. package/dist/{theme-button-C8uLYaSN.cjs.map → theme-button-53Mhj3kQ.cjs.map} +1 -1
  205. package/dist/{theme-button-BedwumBT.js → theme-button-B7_LXWoe.js} +2 -2
  206. package/dist/{theme-button-BedwumBT.js.map → theme-button-B7_LXWoe.js.map} +1 -1
  207. package/dist/theme-button.cjs +1 -1
  208. package/dist/theme-button.js +1 -1
  209. package/dist/theme.cjs +1 -1
  210. package/dist/{theme.component-DvlxAH1p.cjs → theme.component-Drmkh4sF.cjs} +2 -2
  211. package/dist/{theme.component-DvlxAH1p.cjs.map → theme.component-Drmkh4sF.cjs.map} +1 -1
  212. package/dist/{theme.component-zxDCAaxd.js → theme.component-yFb6vlsT.js} +2 -2
  213. package/dist/{theme.component-zxDCAaxd.js.map → theme.component-yFb6vlsT.js.map} +1 -1
  214. package/dist/theme.js +1 -1
  215. package/dist/{timezone-1BrrQMHz.js → timezone-DxkvIe7V.js} +3 -3
  216. package/dist/{timezone-1BrrQMHz.js.map → timezone-DxkvIe7V.js.map} +1 -1
  217. package/dist/{timezone-D14kTMKK.cjs → timezone-enXRjPy1.cjs} +2 -2
  218. package/dist/{timezone-D14kTMKK.cjs.map → timezone-enXRjPy1.cjs.map} +1 -1
  219. package/dist/{tree-C_TPLHEo.cjs → tree-Bt4J6QVI.cjs} +2 -2
  220. package/dist/{tree-C_TPLHEo.cjs.map → tree-Bt4J6QVI.cjs.map} +1 -1
  221. package/dist/{tree-DuaRuwS9.js → tree-CQccoc9W.js} +2 -2
  222. package/dist/{tree-DuaRuwS9.js.map → tree-CQccoc9W.js.map} +1 -1
  223. package/dist/tree.cjs +1 -1
  224. package/dist/tree.js +1 -1
  225. package/dist/{typewriter-Fim6s-vF.js → typewriter-DGserMVU.js} +4 -4
  226. package/dist/{typewriter-Fim6s-vF.js.map → typewriter-DGserMVU.js.map} +1 -1
  227. package/dist/{typewriter-C2NQzIJ9.cjs → typewriter-WqDo75_3.cjs} +2 -2
  228. package/dist/{typewriter-C2NQzIJ9.cjs.map → typewriter-WqDo75_3.cjs.map} +1 -1
  229. package/dist/typewriter.cjs +1 -1
  230. package/dist/typewriter.js +1 -1
  231. package/dist/{typography-C4RygG_b.js → typography-D5E46rwN.js} +2 -2
  232. package/dist/{typography-C4RygG_b.js.map → typography-D5E46rwN.js.map} +1 -1
  233. package/dist/{typography-f0kdRUDj.cjs → typography-DbNitvGl.cjs} +2 -2
  234. package/dist/{typography-f0kdRUDj.cjs.map → typography-DbNitvGl.cjs.map} +1 -1
  235. package/dist/typography.cjs +1 -1
  236. package/dist/typography.js +1 -1
  237. package/package.json +1 -1
  238. package/types/src/store/context-create.d.ts +15 -2
  239. package/types/src/store/filter-directive.d.ts +38 -11
  240. package/types/src/store/selector-hook.d.ts +27 -0
  241. package/types/src/store/selectors.d.ts +30 -1
  242. package/types/src/store/storage-manager.d.ts +6 -14
  243. package/types/src/store/types.d.ts +100 -45
  244. package/types/src/table/row.d.ts +8 -7
  245. package/types/src/table/table.d.ts +11 -5
  246. package/dist/context-object-CVqtbNDv.js.map +0 -1
  247. package/dist/context-object-CgZ6F8E9.cjs +0 -2
  248. package/dist/context-object-CgZ6F8E9.cjs.map +0 -1
  249. package/dist/selector-hook-B5oIBdcJ.cjs +0 -2
  250. package/dist/selector-hook-B5oIBdcJ.cjs.map +0 -1
  251. package/dist/selector-hook-BdsJkaE2.js +0 -185
  252. package/dist/selector-hook-BdsJkaE2.js.map +0 -1
  253. package/dist/table-B3lX6zue.cjs +0 -80
  254. package/dist/table-B3lX6zue.cjs.map +0 -1
  255. package/dist/table-CAAYvRWb.js.map +0 -1
  256. package/dist/tailwind.mixin-BAMa8YNR.cjs +0 -2
  257. package/dist/tailwind.mixin-BQyZrGP1.js +0 -43
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-object-D81PeS3j.cjs","sources":["../src/store/types.ts","../src/store/storage-manager.ts","../src/store/context-collection.ts","../src/store/context-object.ts"],"sourcesContent":["// src/store/types.ts\nimport { BehaviorSubject, Observable } from 'rxjs'\n\n/**\n * Storage types supported by the store\n */\nexport type StorageType = 'memory' | 'local' | 'session' | 'indexeddb'\n\n/**\n * Base store options\n */\nexport interface StoreOptions<T> {\n\t/** Key used for persistent storage */\n\tkey: string\n\n\t/** Storage type */\n\tstorage: StorageType\n\n\t/** Initial state */\n\tinitialState: T\n\n\t/** Enable dev tools */\n\tdevTools?: boolean\n}\n\n/**\n * Enhanced store error with type information and better context handling\n */\nexport class StoreError<T = unknown> extends Error {\n\t/** Original error that caused this store error */\n\tpublic readonly cause?: T\n\n\t/** Additional contextual information */\n\tpublic readonly context?: Record<string, unknown>\n\n\t/** Timestamp when the error occurred */\n\tpublic readonly timestamp: Date\n\n\tconstructor(message: string, cause?: T, context?: Record<string, unknown>) {\n\t\tsuper(message)\n\t\tthis.name = 'StoreError'\n\t\tthis.cause = cause\n\t\tthis.context = context\n\t\tthis.timestamp = new Date()\n\n\t\t// Capture stack trace if available\n\t\tif (Error.captureStackTrace) {\n\t\t\tError.captureStackTrace(this, StoreError)\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON-serializable representation of the error\n\t */\n\ttoJSON(): Record<string, unknown> {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tmessage: this.message,\n\t\t\tcause: this.cause,\n\t\t\tcontext: this.context,\n\t\t\ttimestamp: this.timestamp.toISOString(),\n\t\t\tstack: this.stack,\n\t\t}\n\t}\n}\n\n/**\n * Core store interface with improved type definitions\n */\nexport interface IStore<T extends Record<string, any>> {\n\t/** Get the current store value */\n\treadonly value: T\n\n\t/** Observable stream of store values */\n\treadonly $: BehaviorSubject<T>\n\n\t/** The default/initial value of the store */\n\treadonly defaultValue: T\n\n\t/** Whether the store is ready (loaded from storage) */\n\tready: boolean\n\n\t/** Observable stream of store errors */\n\treadonly error$: Observable<StoreError | null>\n\n\t/**\n\t * Update store value with partial data\n\t * @param value Partial data to update\n\t * @param merge Whether to merge with existing data (default: true)\n\t */\n\tset(value: Partial<T>, merge?: boolean): void\n\n\t/**\n\t * Reset store to default value\n\t */\n\tclear(): void\n\n\t/**\n\t * Replace entire store value\n\t * @param newValue New value to set\n\t */\n\treplace(newValue: T): void\n\n\t/**\n\t * Delete a specific key from the store\n\t * @param key Key to delete\n\t */\n\tdelete<K extends keyof T>(key: K): void\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy(): void\n}\n\n/**\n * Interface for collection stores with improved typing\n */\nexport interface ICollectionStore<T> {\n\t/** Get the current collection value */\n\treadonly value: Map<string, T>\n\n\t/** Observable stream of collection values */\n\treadonly $: BehaviorSubject<Map<string, T>>\n\n\t/** The default/initial value of the collection */\n\treadonly defaultValue: Map<string, T>\n\n\t/** Whether the store is ready (loaded from storage) */\n\tready: boolean\n\n\t/** Observable stream of store errors */\n\treadonly error$: Observable<StoreError | null>\n\n\t/**\n\t * Set a value in the collection\n\t * @param key Item key\n\t * @param value Item value\n\t */\n\tset<V = T>(key: string, value: V): void\n\n\t/**\n\t * Delete an item from the collection\n\t * @param key Item key to delete\n\t */\n\tdelete(key: string): void\n\n\t/**\n\t * Clear all items from the collection\n\t */\n\tclear(): void\n\n\t/**\n\t * Replace the entire collection\n\t * @param newValue New collection value\n\t */\n\treplace(newValue: Map<string, T>): void\n\n\t/**\n\t * Clean up resources\n\t */\n\tdestroy(): void\n}\n\n/**\n * Interface for a storage manager\n */\nexport interface IStorageManager<T> {\n\t/**\n\t * Load data from storage\n\t * @returns Promise resolving to stored data or null\n\t */\n\tload(): Promise<T | null>\n\n\t/**\n\t * Save data to storage\n\t * @param state Data to save\n\t */\n\tsave(state: T): Promise<void>\n\n\t/**\n\t * Clear data from storage\n\t */\n\tclear(): Promise<void>\n}\n\n/**\n * Factory function type for creating stores\n */\nexport type StoreFactory = <T extends Record<string, any>>(\n\tinitialData: T,\n\tstorage: StorageType,\n\tkey: string,\n) => IStore<T>\n\n/**\n * Factory function type for creating collection stores\n */\nexport type CollectionStoreFactory = <T>(\n\tinitialData: Map<string, T>,\n\tstorage: StorageType,\n\tkey: string,\n) => ICollectionStore<T>\n","import { IStorageManager, StorageType, StoreError } from './types'\n\n/**\n * Memory storage manager implementation\n */\nexport class MemoryStorageManager<T> implements IStorageManager<T> {\n\tprivate data: T | null = null\n\n\tasync load(): Promise<T | null> {\n\t\treturn this.data\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\tthis.data = state\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tthis.data = null\n\t}\n}\n\n/**\n * Local storage manager implementation\n */\nexport class LocalStorageManager<T> implements IStorageManager<T> {\n\tconstructor(private key: string) {}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst data = localStorage.getItem(this.key)\n\t\t\treturn data ? JSON.parse(data) : null\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from localStorage (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tlocalStorage.setItem(this.key, JSON.stringify(state))\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to localStorage (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to localStorage (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tlocalStorage.removeItem(this.key)\n\t}\n}\n\n/**\n * Session storage manager implementation\n */\nexport class SessionStorageManager<T> implements IStorageManager<T> {\n\tconstructor(private key: string) {}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst data = sessionStorage.getItem(this.key)\n\t\t\treturn data ? JSON.parse(data) : null\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from sessionStorage (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tsessionStorage.setItem(this.key, JSON.stringify(state))\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to sessionStorage (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to sessionStorage (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\tsessionStorage.removeItem(this.key)\n\t}\n}\n\n/**\n * IndexedDB storage manager implementation with better error typing\n */\nexport class IndexedDBStorageManager<T> implements IStorageManager<T> {\n\tprivate static DB_NAME = 'StoreDB'\n\tprivate static STORE_NAME = 'states'\n\tprivate static DB_VERSION = 1\n\n\tconstructor(private key: string) {}\n\n\tprivate openDB(): Promise<IDBDatabase> {\n\t\treturn new Promise<IDBDatabase>((resolve, reject) => {\n\t\t\tconst request = indexedDB.open(IndexedDBStorageManager.DB_NAME, IndexedDBStorageManager.DB_VERSION)\n\n\t\t\trequest.onupgradeneeded = () => {\n\t\t\t\tconst db = request.result\n\t\t\t\tif (!db.objectStoreNames.contains(IndexedDBStorageManager.STORE_NAME)) {\n\t\t\t\t\tdb.createObjectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trequest.onsuccess = () => resolve(request.result)\n\t\t\trequest.onerror = () => reject(request.error)\n\t\t})\n\t}\n\n\tasync load(): Promise<T | null> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<T | null>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readonly')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.get(this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve(request.result || null)\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to load from IndexedDB (${this.key}):`, err)\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync save(state: T): Promise<void> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readwrite')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.put(state, this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to save to IndexedDB (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to save to IndexedDB (${this.key})`, err)\n\t\t}\n\t}\n\n\tasync clear(): Promise<void> {\n\t\ttry {\n\t\t\tconst db = await this.openDB()\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\tconst transaction = db.transaction(IndexedDBStorageManager.STORE_NAME, 'readwrite')\n\t\t\t\tconst store = transaction.objectStore(IndexedDBStorageManager.STORE_NAME)\n\t\t\t\tconst request = store.delete(this.key)\n\n\t\t\t\trequest.onsuccess = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\n\t\t\t\trequest.onerror = () => {\n\t\t\t\t\tdb.close()\n\t\t\t\t\treject(request.error)\n\t\t\t\t}\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(`Failed to clear from IndexedDB (${this.key}):`, err)\n\t\t\tthrow new StoreError<unknown>(`Failed to clear from IndexedDB (${this.key})`, err)\n\t\t}\n\t}\n}\n\n/**\n * Factory function to create the appropriate storage manager\n */\nexport function createStorageManager<T>(type: StorageType, key: string): IStorageManager<T> {\n\tswitch (type) {\n\t\tcase 'local':\n\t\t\treturn new LocalStorageManager<T>(key)\n\t\tcase 'session':\n\t\t\treturn new SessionStorageManager<T>(key)\n\t\tcase 'indexeddb':\n\t\t\treturn new IndexedDBStorageManager<T>(key)\n\t\tcase 'memory':\n\t\tdefault:\n\t\t\treturn new MemoryStorageManager<T>()\n\t}\n}\n","import { BehaviorSubject, Subject, throttleTime } from 'rxjs'\nimport { createStorageManager } from './storage-manager'\nimport { ICollectionStore, IStorageManager, StorageType, StoreError } from './types'\n\n/**\n * Enhanced collection store with better TypeScript support\n */\nexport default class SchmancyCollectionStore<V = any> implements ICollectionStore<V> {\n\tpublic static type = 'collection'\n\n\t// Static map to hold instances\n\tprivate static instances: Map<string, SchmancyCollectionStore<any>> = new Map()\n\n\t// State management\n\tprivate _ready: boolean = false\n\tprivate _destroy$ = new Subject<void>()\n\n\t// Observable streams - modified to match interface requirements\n\tpublic $: BehaviorSubject<Map<string, V>>\n\tpublic error$ = new BehaviorSubject<StoreError | null>(null)\n\n\t// Default value for the store\n\tpublic readonly defaultValue: Map<string, V>\n\n\t// Storage manager\n\tprivate storage: IStorageManager<Map<string, V>>\n\n\t/**\n\t * Get ready state\n\t */\n\tpublic get ready(): boolean {\n\t\treturn this._ready\n\t}\n\n\t/**\n\t * Set ready state\n\t */\n\tpublic set ready(value: boolean) {\n\t\tthis._ready = value\n\t\tthis.updateState(this.$.value)\n\t}\n\n\t/**\n\t * Private constructor to enforce singleton pattern\n\t */\n\tprivate constructor(\n\t\tprivate storageType: StorageType,\n\t\tprivate key: string,\n\t\tdefaultValue: Map<string, V>,\n\t) {\n\t\tthis.defaultValue = defaultValue\n\t\tthis.$ = new BehaviorSubject<Map<string, V>>(new Map<string, V>())\n\t\tthis.storage = createStorageManager<Map<string, V>>(storageType, key)\n\n\t\t// Initialize from storage\n\t\tthis.initializeFromStorage()\n\n\t\t// Set up persistence\n\t\tthis.setupPersistence()\n\n\t\t// Setup dev tools in development\n\t\tif (import.meta.env.MODE === 'development') {\n\t\t\tthis.setupDevTools()\n\t\t}\n\t}\n\n\t/**\n\t * Static method to get or create an instance with proper typing\n\t */\n\tpublic static getInstance<V = any>(\n\t\tstorage: StorageType,\n\t\tkey: string,\n\t\tdefaultValue: Map<string, V>,\n\t): SchmancyCollectionStore<V> {\n\t\tconst instanceKey = `${storage}:${key}`\n\t\tif (!this.instances.has(instanceKey)) {\n\t\t\tthis.instances.set(instanceKey, new SchmancyCollectionStore<V>(storage, key, defaultValue))\n\t\t}\n\t\treturn this.instances.get(instanceKey) as SchmancyCollectionStore<V>\n\t}\n\n\t/**\n\t * Get the current value\n\t */\n\tpublic get value(): Map<string, V> {\n\t\treturn this.$.getValue()\n\t}\n\n\t/**\n\t * Set a value in the collection with proper typing\n\t */\n\tpublic set<T = V>(key: string, value: T): void {\n\t\ttry {\n\t\t\tconst currentValue = new Map(this.value)\n\t\t\tcurrentValue.set(key, value as unknown as V)\n\t\t\tthis.updateState(currentValue)\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error setting value for key ${key} in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Delete a value from the collection\n\t */\n\tpublic delete(key: string): void {\n\t\ttry {\n\t\t\tconst currentValue = new Map(this.value)\n\t\t\tcurrentValue.delete(key)\n\t\t\tthis.updateState(currentValue)\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error deleting key ${key} from ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Clear the collection\n\t */\n\tpublic clear(): void {\n\t\tthis.updateState(new Map<string, V>())\n\t}\n\n\tpublic replace(newValue: Map<string, V>): void {\n\t\tthis.updateState(newValue)\n\t}\n\n\t/**\n\t * Update the state with error handling\n\t */\n\tprivate updateState(newValue: Map<string, V>): void {\n\t\ttry {\n\t\t\tthis.$.next(newValue)\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating state in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Initialize from persistent storage\n\t */\n\tprivate async initializeFromStorage(): Promise<void> {\n\t\tif (this.storageType === 'local' || this.storageType === 'session') {\n\t\t\ttry {\n\t\t\t\tconst storedValue = await this.storage.load()\n\t\t\t\tif (storedValue) {\n\t\t\t\t\tthis.updateState(storedValue)\n\t\t\t\t}\n\t\t\t\tthis._ready = true\n\t\t\t} catch (err) {\n\t\t\t\tconst error = new StoreError<unknown>(`Error loading from ${this.storageType} storage for ${this.key}`, err)\n\t\t\t\tthis.error$.next(error)\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t\t}\n\t\t} else if (this.storageType === 'indexeddb') {\n\t\t\tthis.loadFromIndexedDB()\n\t\t} else {\n\t\t\t// Memory storage doesn't need loading\n\t\t\tthis._ready = true\n\t\t}\n\t}\n\n\t/**\n\t * Load data from IndexedDB with better typing\n\t */\n\tprivate async loadFromIndexedDB(): Promise<void> {\n\t\ttry {\n\t\t\tconst result = await this.storage.load()\n\t\t\tthis.updateState(result || new Map<string, V>())\n\t\t\tthis._ready = true\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error loading from IndexedDB for ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t}\n\t}\n\n\t/**\n\t * Set up persistence to storage\n\t */\n\tprivate setupPersistence(): void {\n\t\tif (this.storageType === 'memory') return\n\n\t\tthis.$.pipe(throttleTime(100, undefined, { leading: true, trailing: true })).subscribe(currentValue => {\n\t\t\tthis.storage.save(currentValue).catch(err => {\n\t\t\t\tconst error = new StoreError<unknown>(`Error saving to ${this.storageType} storage for ${this.key}`, err)\n\t\t\t\tthis.error$.next(error)\n\t\t\t\tconsole.error(error)\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Setup development tools for debugging\n\t */\n\tprivate setupDevTools(): void {\n\t\tif (typeof window !== 'undefined') {\n\t\t\t// Add to global store registry\n\t\t\t;(window as any).__STORES__ = (window as any).__STORES__ || {}\n\t\t\t;(window as any).__STORES__[this.key] = {\n\t\t\t\tgetState: () => this.value,\n\t\t\t\tset: this.set.bind(this),\n\t\t\t\tdelete: this.delete.bind(this),\n\t\t\t\tclear: this.clear.bind(this),\n\t\t\t\tsubscribe: (callback: (state: Map<string, V>) => void) => {\n\t\t\t\t\tconst subscription = this.$.subscribe(callback)\n\t\t\t\t\treturn () => subscription.unsubscribe()\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tpublic destroy(): void {\n\t\tthis._destroy$.next()\n\t\tthis._destroy$.complete()\n\t\tthis.$.complete()\n\t\tthis.error$.complete()\n\t}\n}\n","import { BehaviorSubject, Subject } from 'rxjs'\nimport { createStorageManager } from './storage-manager'\nimport { IStorageManager, IStore, StorageType, StoreError } from './types'\n\n/**\n * Enhanced store object with better TypeScript support\n */\nexport class SchmancyStoreObject<T extends Record<string, any>> implements IStore<T> {\n\tpublic static type = 'object'\n\n\t// Static map to hold instances with proper typing\n\tprivate static instances: Map<string, SchmancyStoreObject<any>> = new Map()\n\n\t// State tracking\n\tprivate _ready: boolean = false\n\tprivate _destroy$ = new Subject<void>()\n\n\t// Observable streams\n\tpublic $: BehaviorSubject<T>\n\tpublic error$ = new BehaviorSubject<StoreError | null>(null)\n\n\t// Default value for the store\n\tpublic readonly defaultValue: T\n\n\t// Storage manager\n\tprivate storage: IStorageManager<T>\n\n\t/**\n\t * Get store ready state\n\t */\n\tpublic get ready(): boolean {\n\t\treturn this._ready\n\t}\n\n\t/**\n\t * Set store ready state\n\t */\n\tpublic set ready(value: boolean) {\n\t\tthis._ready = value\n\t\tthis.updateState(this.$.value)\n\t}\n\n\t/**\n\t * Private constructor to enforce singleton pattern\n\t */\n\tprivate constructor(\n\t\tprivate storageType: StorageType,\n\t\tprivate key: string,\n\t\tdefaultValue: T,\n\t) {\n\t\tthis.defaultValue = defaultValue\n\t\tthis.$ = new BehaviorSubject<T>(defaultValue)\n\t\tthis.storage = createStorageManager<T>(storageType, key)\n\n\t\t// Initialize from storage\n\t\tthis.initializeFromStorage()\n\n\t\t// Setup dev tools in development\n\t\tif (import.meta.env.MODE === 'development') {\n\t\t\tthis.setupDevTools()\n\t\t}\n\t}\n\n\t/**\n\t * Static method to get or create an instance with strong typing\n\t */\n\tpublic static getInstance<T extends Record<string, any>>(\n\t\tstorage: StorageType,\n\t\tkey: string,\n\t\tdefaultValue: T,\n\t): SchmancyStoreObject<T> {\n\t\tconst instanceKey = `${storage}:${key}`\n\t\tif (!this.instances.has(instanceKey)) {\n\t\t\tthis.instances.set(instanceKey, new SchmancyStoreObject<T>(storage, key, defaultValue))\n\t\t}\n\t\treturn this.instances.get(instanceKey) as SchmancyStoreObject<T>\n\t}\n\n\t/**\n\t * Get the current value from the store\n\t */\n\tpublic get value(): T {\n\t\treturn this.$.getValue()\n\t}\n\n\t/**\n\t * Set state with proper typing\n\t */\n\tpublic set(value: Partial<T>, merge: boolean = true): void {\n\t\ttry {\n\t\t\tthis.updateState(merge ? { ...this.value, ...value } : (value as T))\n\t\t\tthis.error$.next(null) // Clear any previous errors\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating store: ${this.key}`, err, { value, merge })\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Reset the store to its default value\n\t */\n\tpublic clear(): void {\n\t\tthis.set(this.defaultValue, false)\n\t}\n\n\t/**\n\t * Replace the store with a new value\n\t */\n\tpublic replace(newValue: T): void {\n\t\tthis.updateState(newValue)\n\t}\n\n\t/**\n\t * Delete a specific key from the store with type checking\n\t */\n\tpublic delete<K extends keyof T>(key: K): void {\n\t\tconst value = { ...this.value }\n\t\tdelete value[key]\n\t\tthis.updateState(value)\n\t}\n\n\t/**\n\t * Update the state with proper error handling\n\t */\n\tprivate updateState(newValue: T): void {\n\t\ttry {\n\t\t\tthis.$.next(newValue)\n\n\t\t\t// Persist to storage\n\t\t\tif (this.storageType !== 'memory') {\n\t\t\t\tthis.storage.save(newValue).catch(err => {\n\t\t\t\t\tconsole.error(`Error saving to ${this.storageType} storage:`, err)\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error updating state in ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\t/**\n\t * Initialize the store from persistent storage\n\t */\n\tprivate async initializeFromStorage(): Promise<void> {\n\t\ttry {\n\t\t\tconst storedValue = await this.storage.load()\n\t\t\tif (storedValue) {\n\t\t\t\tthis.updateState({ ...this.defaultValue, ...storedValue })\n\t\t\t}\n\t\t\tthis._ready = true\n\t\t} catch (err) {\n\t\t\tconst error = new StoreError<unknown>(`Error loading from ${this.storageType} storage for ${this.key}`, err)\n\t\t\tthis.error$.next(error)\n\t\t\tconsole.error(error)\n\t\t\tthis._ready = true // Mark as ready even if loading fails\n\t\t}\n\t}\n\n\t/**\n\t * Setup development tools for debugging\n\t */\n\tprivate setupDevTools(): void {\n\t\tif (typeof window !== 'undefined') {\n\t\t\t// Add to global store registry\n\t\t\t;(window as any).__STORES__ = (window as any).__STORES__ || {}\n\t\t\t;(window as any).__STORES__[this.key] = {\n\t\t\t\tgetState: () => this.value,\n\t\t\t\tset: this.set.bind(this),\n\t\t\t\tdelete: this.delete.bind(this),\n\t\t\t\tclear: this.clear.bind(this),\n\t\t\t\tsubscribe: (callback: (state: T) => void) => {\n\t\t\t\t\tconst subscription = this.$.subscribe(callback)\n\t\t\t\t\treturn () => subscription.unsubscribe()\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clean up resources\n\t */\n\tpublic destroy(): void {\n\t\tthis._destroy$.next()\n\t\tthis._destroy$.complete()\n\t\tthis.$.complete()\n\t\tthis.error$.complete()\n\t}\n}\n"],"names":["StoreError","Error","message","cause","context","super","this","name","timestamp","Date","captureStackTrace","toJSON","toISOString","stack","MemoryStorageManager","data","save","state","LocalStorageManager","key","localStorage","getItem","JSON","parse","err","setItem","stringify","clear","removeItem","SessionStorageManager","load","sessionStorage","IndexedDBStorageManager","Promise","resolve","reject","request","indexedDB","open","DB_NAME","DB_VERSION","onupgradeneeded","db","result","objectStoreNames","contains","STORE_NAME","createObjectStore","onsuccess","onerror","error","openDB","transaction","objectStore","get","close","put","delete","_h","createStorageManager","type","SchmancyCollectionStore","storageType","defaultValue","_ready","_destroy$","Subject","error$","BehaviorSubject","$","Map","storage","initializeFromStorage","setupPersistence","ready","value","updateState","instanceKey","instances","has","set","getValue","currentValue","next","newValue","storedValue","loadFromIndexedDB","pipe","throttleTime","leading","trailing","subscribe","catch","window","__STORES__","getState","bind","callback","subscription","unsubscribe","complete","_o","SchmancyStoreObject","merge","setupDevTools","destroy","_a"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as rt } from "./litElement.mixin-KVNPHS0h.js";
5
- import "./tailwind.mixin-BQyZrGP1.js";
4
+ import { $ as rt } from "./litElement.mixin-PXLBM6N4.js";
5
+ import "./tailwind.mixin-Cxj7n9Jd.js";
6
6
  import { html as Q } from "lit";
7
7
  import { property as A, query as N, state as st, customElement as it } from "lit/decorators.js";
8
8
  import { ifDefined as z } from "lit/directives/if-defined.js";
@@ -444,4 +444,4 @@ let S = class extends rt() {
444
444
  }
445
445
  };
446
446
  T([A({ type: String })], S.prototype, "type", 2), T([A({ type: Object })], S.prototype, "dateFrom", 2), T([A({ type: Object })], S.prototype, "dateTo", 2), T([A({ type: String })], S.prototype, "minDate", 2), T([A({ type: String })], S.prototype, "maxDate", 2), T([N("#checkin")], S.prototype, "checkInInput", 2), T([N("#checkout")], S.prototype, "checkOutInput", 2), T([N("schmancy-menu")], S.prototype, "schmancyMenu", 2), T([st()], S.prototype, "selectedDateRange", 2), S = T([it("schmancy-date-range")], S);
447
- //# sourceMappingURL=date-range-rIm4WhKI.js.map
447
+ //# sourceMappingURL=date-range-6fQ4ypDJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-rIm4WhKI.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = dayjs(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport dayjs from 'dayjs'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: dayjs.OpUnitType\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = dayjs(this.dateFrom.value)\n\t\t\tconst toMoment = dayjs(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number, event: Event) {\n\t\tevent.stopPropagation() // Prevent click from bubbling to the schmancy-button\n\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = dayjs(this.dateTo.value).diff(dayjs(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = dayjs(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = dayjs(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange(event: Event) {\n\t\tevent.stopPropagation() // Prevent click from bubbling to the schmancy-button\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid\n\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\tslot=\"button\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tcols=\"auto 1fr auto\"\n\t\t\t\t>\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.shiftDateRange(-1, e) // Pass the event\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.shiftDateRange(1, e) // Pass the event\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = dayjs(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = dayjs(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.handleDateRangeChange(e)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","SchmancyDateRange","$LitElement","super","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","presetRanges","label","range","step","preset","find","fromMoment","toMoment","fromStr","getDisplayFormat","toStr","setDateRange","factor","event","stopPropagation","currentDiff","newDateFrom","newDateTo","render","html","shiftDateRange","map","handlePresetChange","ifDefined","minDate","preventDefault","fmt","selectedDate","checkOutInput","setAttribute","maxDate","handleDateRangeChange","__decorateClass","property","Object","query","state","customElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"date-range-6fQ4ypDJ.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = dayjs(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport dayjs from 'dayjs'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { validateInitialDateRange } from './date-utils' // Import the utility\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * A date range selector that supports presets and manual date input.\n */\n@customElement('schmancy-date-range')\nexport default class SchmancyDateRange extends $LitElement() {\n\t// Either \"date\" or \"datetime-local\"\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\n\t@property({ type: Object }) dateFrom!: { label: string; value: string }\n\t@property({ type: Object }) dateTo!: { label: string; value: string }\n\n\t// Optional min/max constraints\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t@query('#checkin') checkInInput!: HTMLInputElement\n\t@query('#checkout') checkOutInput!: HTMLInputElement\n\n\t// The <schmancy-menu> that displays presets + manual date inputs\n\t@query('schmancy-menu') schmancyMenu!: SchmancyMenu\n\n\t// Display text in the trigger button\n\t@state() selectedDateRange: string = 'Today'\n\n\t// Preset date range definitions\n\tpresetRanges!: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: dayjs.OpUnitType\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\n\t\t// Validate and format initial date range\n\t\tconst dateFormat = this.getDateFormat() as DateFormat\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconsole.error('Invalid initial date range. Falling back to default.')\n\t\t\t// Handle invalid initial dates (e.g., set to default values, display an error)\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t}\n\t}\n\t/**\n\t * Update the internal date range and fire a 'change' event to notify external code.\n\t */\n\tprivate setDateRange(fromDate: string, toDate: string) {\n\t\tthis.dateFrom.value = fromDate\n\t\tthis.dateTo.value = toDate\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<TSchmancDateRangePayload>('change', {\n\t\t\t\tdetail: { dateFrom: fromDate, dateTo: toDate },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true, // If you want it to pass shadow boundaries\n\t\t\t}),\n\t\t)\n\t\tthis.requestUpdate()\n\t}\n\tupdated(changedProps: Map<string, unknown>) {\n\t\tif (changedProps.has('type')) {\n\t\t\t// Re-init presets if \"type\" changes from date -> datetime\n\t\t\tthis.initPresetRanges()\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\t/**\n\t * Format strings for the internal <input> and for display text.\n\t */\n\tprivate getDateFormat(): string {\n\t\treturn this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm'\n\t}\n\tprivate getDisplayFormat(): string {\n\t\treturn this.type === 'date' ? 'MMM DD, YYYY' : 'MMM DD, YYYY hh:mm A'\n\t}\n\n\t/**\n\t * Build up a list of preset ranges (yesterday, today, etc.).\n\t */\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tthis.presetRanges = [\n\t\t\t{\n\t\t\t\tlabel: 'Yesterday',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Today',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Tomorrow',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: dayjs().add(1, 'days').endOf('day').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'day',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Last Week',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'week',\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'This Month',\n\t\t\t\trange: {\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t},\n\t\t\t\tstep: 'month',\n\t\t\t},\n\t\t\t// Add more if desired (e.g. \"Last Month,\" \"Custom,\" etc.)\n\t\t]\n\t}\n\n\t/**\n\t * Based on the current dateFrom/dateTo, see if it matches a preset.\n\t * Otherwise display a \"Custom\" range: \"Jan 01, 2023 - Jan 07, 2023\".\n\t */\n\tprivate updateSelectedDateRange() {\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\t\tif (preset) {\n\t\t\tthis.selectedDateRange = preset.label\n\t\t} else {\n\t\t\t// Construct a custom label\n\t\t\tconst fromMoment = dayjs(this.dateFrom.value)\n\t\t\tconst toMoment = dayjs(this.dateTo.value)\n\t\t\tconsole.log(fromMoment.format('HH:mm'), toMoment.format('HH:mm'), fromMoment.format('HH:mm'))\n\t\t\tif (fromMoment.isSame(toMoment, 'day')) {\n\t\t\t\tthis.selectedDateRange = fromMoment.format('MMM DD, YYYY')\n\t\t\t\t// append the time if fromMoment is not the start of the day and toMoment is not the end of the day\n\t\t\t\tif (fromMoment.format('HH:mm') !== '00:00' || toMoment.format('HH:mm') !== '23:59') {\n\t\t\t\t\tthis.selectedDateRange += ` ${fromMoment.format('HH:mm')}:${toMoment.format('HH:mm')}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fromStr = fromMoment.format(this.getDisplayFormat())\n\t\t\t\tconst toStr = toMoment.format(this.getDisplayFormat())\n\t\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t\t}\n\t\t}\n\t}\n\tprivate handlePresetChange(label: string) {\n\t\tconst preset = this.presetRanges.find(range => range.label === label)\n\t\tif (!preset) return\n\t\tconst { dateFrom, dateTo } = preset.range\n\t\tthis.setDateRange(dateFrom, dateTo)\n\t\tthis.selectedDateRange = label\n\t}\n\n\t/**\n\t * Shift the current date range forward or backward by the same number of days.\n\t * If the range is 7 days wide, shift 7 days, etc.\n\t */\n\tprivate shiftDateRange(factor: number, event: Event) {\n\t\tevent.stopPropagation() // Prevent click from bubbling to the schmancy-button\n\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = dayjs(this.dateTo.value).diff(dayjs(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = dayjs(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = dayjs(this.dateTo.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\n\t\tthis.setDateRange(newDateFrom, newDateTo)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\t/**\n\t * Applies the date range from the inputs.\n\t * Closes the menu when done.\n\t */\n\tprivate handleDateRangeChange(event: Event) {\n\t\tevent.stopPropagation() // Prevent click from bubbling to the schmancy-button\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<!-- schmancy-menu typically provides a slot=\"button\" for the trigger,\n and then projects the menu items inside. -->\n\t\t\t<schmancy-menu class=\"z-100 w-max\" role=\"menu\" aria-label=\"Date range presets and custom input\">\n\t\t\t\t<!-- The toggle/trigger slot -->\n\t\t\t\t<schmancy-grid\n\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\tslot=\"button\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tcols=\"auto 1fr auto\"\n\t\t\t\t>\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range backward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.shiftDateRange(-1, e) // Pass the event\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_left\n\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t.ariaExpanded=${String(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.selectedDateRange || 'Date range'}\n\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-label=\"Shift date range forward\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.shiftDateRange(1, e) // Pass the event\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tarrow_right\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</schmancy-grid>\n\n\t\t\t\t<!-- The menu surface: presets + manual date selection -->\n\t\t\t\t${this.presetRanges.map(\n\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t<schmancy-menu-item role=\"menuitem\" class=\"w-full\" @click=${() => this.handlePresetChange(preset.label)}>\n\t\t\t\t\t\t\t<schmancy-grid class=\"w-full\" align=\"center\" cols=\"auto 1fr auto\"> ${preset.label} </schmancy-grid>\n\t\t\t\t\t\t</schmancy-menu-item>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<!-- Manual date range inputs + \"Apply\" button -->\n\t\t\t\t<schmancy-grid gap=\"sm\" flow=\"row\" class=\"p-4\">\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkin\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateFrom.label}\n\t\t\t\t\t\t.value=${this.dateFrom.value}\n\t\t\t\t\t\tmin=${ifDefined(this.minDate)}\n\t\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = dayjs(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateFrom.value = selectedDate\n\t\t\t\t\t\t\t// Update the checkout input's min attribute:\n\t\t\t\t\t\t\tthis.checkOutInput.setAttribute('min', selectedDate)\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\tid=\"checkout\"\n\t\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t\t.label=${this.dateTo.label}\n\t\t\t\t\t\t.value=${this.dateTo.value}\n\t\t\t\t\t\tmin=${ifDefined(this.dateFrom.value)}\n\t\t\t\t\t\tmax=${ifDefined(this.maxDate)}\n\t\t\t\t\t\t@click=${(event: Event) => event.stopPropagation()}\n\t\t\t\t\t\t@change=${(event: SchmancyInputChangeEvent) => {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t\tconst fmt = this.getDateFormat()\n\t\t\t\t\t\t\tconst selectedDate = dayjs(event.detail.value, fmt).format(fmt)\n\t\t\t\t\t\t\tthis.dateTo.value = selectedDate\n\t\t\t\t\t\t}}\n\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\tthis.handleDateRangeChange(e)\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tApply\n\t\t\t\t\t</schmancy-button>\n\t\t\t\t</schmancy-grid>\n\t\t\t</schmancy-menu>\n\t\t`\n\t}\n}\n\n/**\n * The payload for a date range change event.\n */\nexport type TSchmancDateRangePayload = {\n\tdateFrom?: string\n\tdateTo?: string\n}\n\n/**\n * A custom event fired when the date range is updated.\n */\nexport type SchmancyDateRangeChangeEvent = CustomEvent<TSchmancDateRangePayload>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range': SchmancyDateRange\n\t}\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","SchmancyDateRange","$LitElement","super","type","selectedDateRange","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","value","updateSelectedDateRange","now","fromDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","changedProps","has","presetRanges","label","range","step","preset","find","fromMoment","toMoment","fromStr","getDisplayFormat","toStr","setDateRange","factor","event","stopPropagation","currentDiff","newDateFrom","newDateTo","render","html","shiftDateRange","map","handlePresetChange","ifDefined","minDate","preventDefault","fmt","selectedDate","checkOutInput","setAttribute","maxDate","handleDateRangeChange","__decorateClass","property","Object","query","state","customElement"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const nt=require("./litElement.mixin-CsMY3rsN.cjs");require("./tailwind.mixin-BAMa8YNR.cjs");const B=require("lit"),T=require("lit/decorators.js"),V=require("lit/directives/if-defined.js");function rt(e){return e&&e.t&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Q,G={exports:{}};const l=rt((Q||(Q=1,G.exports=function(){var e=1e3,u=6e4,c=36e5,$="millisecond",m="second",p="minute",b="hour",k="day",A="week",w="month",N="quarter",F="year",x="date",z="Invalid Date",X=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,tt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,et={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},E=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},at={s:E,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),a=t%60;return(n<=0?"+":"-")+E(r,2,"0")+":"+E(a,2,"0")},m:function s(n,t){if(n.date()<t.date())return-s(t,n);var r=12*(t.year()-n.year())+(t.month()-n.month()),a=n.clone().add(r,w),i=t-a<0,o=n.clone().add(r+(i?-1:1),w);return+(-(r+(t-a)/(i?a-o:o-a))||0)},a:function(s){return s<0?Math.ceil(s)||0:Math.floor(s)},p:function(s){return{M:w,y:F,w:A,d:k,D:x,h:b,m:p,s:m,ms:$,Q:N}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(s){return s===void 0}},C="en",R={};R[C]=et;var J="$isDayjsObject",U=function(s){return s instanceof W||!(!s||!s[J])},L=function s(n,t,r){var a;if(!n)return C;if(typeof n=="string"){var i=n.toLowerCase();R[i]&&(a=i),t&&(R[i]=t,a=i);var o=n.split("-");if(!a&&o.length>1)return s(o[0])}else{var d=n.name;R[d]=n,a=d}return!r&&a&&(C=a),a||!r&&C},y=function(s,n){if(U(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new W(t)},h=at;h.l=L,h.i=U,h.w=function(s,n){return y(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var W=function(){function s(t){this.$L=L(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[J]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var a=r.date,i=r.utc;if(a===null)return new Date(NaN);if(h.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var o=a.match(X);if(o){var d=o[2]-1||0,f=(o[7]||"0").substring(0,3);return i?new Date(Date.UTC(o[1],d,o[3]||1,o[4]||0,o[5]||0,o[6]||0,f)):new Date(o[1],d,o[3]||1,o[4]||0,o[5]||0,o[6]||0,f)}}return new Date(a)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return h},n.isValid=function(){return this.$d.toString()!==z},n.isSame=function(t,r){var a=y(t);return this.startOf(r)<=a&&a<=this.endOf(r)},n.isAfter=function(t,r){return y(t)<this.startOf(r)},n.isBefore=function(t,r){return this.endOf(r)<y(t)},n.$g=function(t,r,a){return h.u(t)?this[r]:this.set(a,t)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(t,r){var a=this,i=!!h.u(r)||r,o=h.p(t),d=function(_,v){var Y=h.w(a.$u?Date.UTC(a.$y,v,_):new Date(a.$y,v,_),a);return i?Y:Y.endOf(k)},f=function(_,v){return h.w(a.toDate()[_].apply(a.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(v)),a)},g=this.$W,D=this.$M,M=this.$D,P="set"+(this.$u?"UTC":"");switch(o){case F:return i?d(1,0):d(31,11);case w:return i?d(1,D):d(0,D+1);case A:var H=this.$locale().weekStart||0,q=(g<H?g+7:g)-H;return d(i?M-q:M+(6-q),D);case k:case x:return f(P+"Hours",0);case b:return f(P+"Minutes",1);case p:return f(P+"Seconds",2);case m:return f(P+"Milliseconds",3);default:return this.clone()}},n.endOf=function(t){return this.startOf(t,!1)},n.$set=function(t,r){var a,i=h.p(t),o="set"+(this.$u?"UTC":""),d=(a={},a[k]=o+"Date",a[x]=o+"Date",a[w]=o+"Month",a[F]=o+"FullYear",a[b]=o+"Hours",a[p]=o+"Minutes",a[m]=o+"Seconds",a[$]=o+"Milliseconds",a)[i],f=i===k?this.$D+(r-this.$W):r;if(i===w||i===F){var g=this.clone().set(x,1);g.$d[d](f),g.init(),this.$d=g.set(x,Math.min(this.$D,g.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},n.set=function(t,r){return this.clone().$set(t,r)},n.get=function(t){return this[h.p(t)]()},n.add=function(t,r){var a,i=this;t=Number(t);var o=h.p(r),d=function(D){var M=y(i);return h.w(M.date(M.date()+Math.round(D*t)),i)};if(o===w)return this.set(w,this.$M+t);if(o===F)return this.set(F,this.$y+t);if(o===k)return d(1);if(o===A)return d(7);var f=(a={},a[p]=u,a[b]=c,a[m]=e,a)[o]||1,g=this.$d.getTime()+t*f;return h.w(g,this)},n.subtract=function(t,r){return this.add(-1*t,r)},n.format=function(t){var r=this,a=this.$locale();if(!this.isValid())return a.invalidDate||z;var i=t||"YYYY-MM-DDTHH:mm:ssZ",o=h.z(this),d=this.$H,f=this.$m,g=this.$M,D=a.weekdays,M=a.months,P=a.meridiem,H=function(v,Y,j,I){return v&&(v[Y]||v(r,i))||j[Y].slice(0,I)},q=function(v){return h.s(d%12||12,v,"0")},_=P||function(v,Y,j){var I=v<12?"AM":"PM";return j?I.toLowerCase():I};return i.replace(tt,function(v,Y){return Y||function(j){switch(j){case"YY":return String(r.$y).slice(-2);case"YYYY":return h.s(r.$y,4,"0");case"M":return g+1;case"MM":return h.s(g+1,2,"0");case"MMM":return H(a.monthsShort,g,M,3);case"MMMM":return H(M,g);case"D":return r.$D;case"DD":return h.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return H(a.weekdaysMin,r.$W,D,2);case"ddd":return H(a.weekdaysShort,r.$W,D,3);case"dddd":return D[r.$W];case"H":return String(d);case"HH":return h.s(d,2,"0");case"h":return q(1);case"hh":return q(2);case"a":return _(d,f,!0);case"A":return _(d,f,!1);case"m":return String(f);case"mm":return h.s(f,2,"0");case"s":return String(r.$s);case"ss":return h.s(r.$s,2,"0");case"SSS":return h.s(r.$ms,3,"0");case"Z":return o}return null}(v)||o.replace(":","")})},n.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},n.diff=function(t,r,a){var i,o=this,d=h.p(r),f=y(t),g=(f.utcOffset()-this.utcOffset())*u,D=this-f,M=function(){return h.m(o,f)};switch(d){case F:i=M()/12;break;case w:i=M();break;case N:i=M()/3;break;case A:i=(D-g)/6048e5;break;case k:i=(D-g)/864e5;break;case b:i=D/c;break;case p:i=D/u;break;case m:i=D/e;break;default:i=D}return a?i:h.a(i)},n.daysInMonth=function(){return this.endOf(w).$D},n.$locale=function(){return R[this.$L]},n.locale=function(t,r){if(!t)return this.$L;var a=this.clone(),i=L(t,r,!0);return i&&(a.$L=i),a},n.clone=function(){return h.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},s}(),Z=W.prototype;return y.prototype=Z,[["$ms",$],["$s",m],["$m",p],["$H",b],["$W",k],["$M",w],["$y",F],["$D",x]].forEach(function(s){Z[s[1]]=function(n){return this.$g(n,s[0],s[1])}}),y.extend=function(s,n){return s.$i||(s(n,W,y),s.$i=!0),y},y.locale=L,y.isDayjs=U,y.unix=function(s){return y(1e3*s)},y.en=R[C],y.Ls=R,y.p={},y}()),G.exports));function K(e,u){if(!e)return null;const c=l(e);return c.isValid()?c.format(u):null}var st=Object.defineProperty,it=Object.getOwnPropertyDescriptor,O=(e,u,c,$)=>{for(var m,p=$>1?void 0:$?it(u,c):u,b=e.length-1;b>=0;b--)(m=e[b])&&(p=($?m(u,c,p):m(p))||p);return $&&p&&st(u,c,p),p};let S=class extends nt.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.initPresetRanges();const e=this.getDateFormat(),u=function(c,$,m){const p=K(c,m),b=K($,m);return{dateFrom:p,dateTo:b,isValid:p!==null&&b!==null}}(this.dateFrom.value,this.dateTo.value,e);if(u.isValid)this.dateFrom.value=u.dateFrom,this.dateTo.value=u.dateTo,this.updateSelectedDateRange();else{const c=l().format(e);this.dateFrom.value=c,this.dateTo.value=c}}setDateRange(e,u){this.dateFrom.value=e,this.dateTo.value=u,this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:e,dateTo:u},bubbles:!0,composed:!0})),this.requestUpdate()}updated(e){e.has("type")&&(this.initPresetRanges(),this.updateSelectedDateRange())}getDateFormat(){return this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"}getDisplayFormat(){return this.type==="date"?"MMM DD, YYYY":"MMM DD, YYYY hh:mm A"}initPresetRanges(){const e=this.getDateFormat();this.presetRanges=[{label:"Yesterday",range:{dateFrom:l().subtract(1,"days").startOf("day").format(e),dateTo:l().subtract(1,"days").endOf("day").format(e)},step:"day"},{label:"Today",range:{dateFrom:l().startOf("day").format(e),dateTo:l().endOf("day").format(e)},step:"day"},{label:"Tomorrow",range:{dateFrom:l().add(1,"days").startOf("day").format(e),dateTo:l().add(1,"days").endOf("day").format(e)},step:"day"},{label:"This Week",range:{dateFrom:l().startOf("week").format(e),dateTo:l().endOf("week").format(e)},step:"week"},{label:"Last Week",range:{dateFrom:l().subtract(1,"weeks").startOf("week").format(e),dateTo:l().subtract(1,"weeks").endOf("week").format(e)},step:"week"},{label:"This Month",range:{dateFrom:l().startOf("month").format(e),dateTo:l().endOf("month").format(e)},step:"month"}]}updateSelectedDateRange(){const e=this.presetRanges.find(u=>u.range.dateFrom===this.dateFrom.value&&u.range.dateTo===this.dateTo.value);if(e)this.selectedDateRange=e.label;else{const u=l(this.dateFrom.value),c=l(this.dateTo.value);if(u.isSame(c,"day"))this.selectedDateRange=u.format("MMM DD, YYYY"),u.format("HH:mm")==="00:00"&&c.format("HH:mm")==="23:59"||(this.selectedDateRange+=` ${u.format("HH:mm")}:${c.format("HH:mm")}`);else{const $=u.format(this.getDisplayFormat()),m=c.format(this.getDisplayFormat());this.selectedDateRange=`${$} - ${m}`}}}handlePresetChange(e){const u=this.presetRanges.find(m=>m.label===e);if(!u)return;const{dateFrom:c,dateTo:$}=u.range;this.setDateRange(c,$),this.selectedDateRange=e}shiftDateRange(e,u){u.stopPropagation();const c=this.getDateFormat(),$=l(this.dateTo.value).diff(l(this.dateFrom.value),"days")||1,m=l(this.dateFrom.value).add(e*$,"days").format(c),p=l(this.dateTo.value).add(e*$,"days").format(c);this.setDateRange(m,p),this.updateSelectedDateRange()}handleDateRangeChange(e){e.stopPropagation(),this.setDateRange(this.dateFrom.value,this.dateTo.value),this.updateSelectedDateRange()}render(){return B.html`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const nt=require("./litElement.mixin-CfkMd-bR.cjs");require("./tailwind.mixin-CjSVtdHt.cjs");const B=require("lit"),T=require("lit/decorators.js"),V=require("lit/directives/if-defined.js");function rt(e){return e&&e.t&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Q,G={exports:{}};const l=rt((Q||(Q=1,G.exports=function(){var e=1e3,u=6e4,c=36e5,$="millisecond",m="second",p="minute",b="hour",k="day",A="week",w="month",N="quarter",F="year",x="date",z="Invalid Date",X=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,tt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,et={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},E=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},at={s:E,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),a=t%60;return(n<=0?"+":"-")+E(r,2,"0")+":"+E(a,2,"0")},m:function s(n,t){if(n.date()<t.date())return-s(t,n);var r=12*(t.year()-n.year())+(t.month()-n.month()),a=n.clone().add(r,w),i=t-a<0,o=n.clone().add(r+(i?-1:1),w);return+(-(r+(t-a)/(i?a-o:o-a))||0)},a:function(s){return s<0?Math.ceil(s)||0:Math.floor(s)},p:function(s){return{M:w,y:F,w:A,d:k,D:x,h:b,m:p,s:m,ms:$,Q:N}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(s){return s===void 0}},C="en",R={};R[C]=et;var J="$isDayjsObject",U=function(s){return s instanceof W||!(!s||!s[J])},L=function s(n,t,r){var a;if(!n)return C;if(typeof n=="string"){var i=n.toLowerCase();R[i]&&(a=i),t&&(R[i]=t,a=i);var o=n.split("-");if(!a&&o.length>1)return s(o[0])}else{var d=n.name;R[d]=n,a=d}return!r&&a&&(C=a),a||!r&&C},y=function(s,n){if(U(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new W(t)},h=at;h.l=L,h.i=U,h.w=function(s,n){return y(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var W=function(){function s(t){this.$L=L(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[J]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var a=r.date,i=r.utc;if(a===null)return new Date(NaN);if(h.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var o=a.match(X);if(o){var d=o[2]-1||0,f=(o[7]||"0").substring(0,3);return i?new Date(Date.UTC(o[1],d,o[3]||1,o[4]||0,o[5]||0,o[6]||0,f)):new Date(o[1],d,o[3]||1,o[4]||0,o[5]||0,o[6]||0,f)}}return new Date(a)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return h},n.isValid=function(){return this.$d.toString()!==z},n.isSame=function(t,r){var a=y(t);return this.startOf(r)<=a&&a<=this.endOf(r)},n.isAfter=function(t,r){return y(t)<this.startOf(r)},n.isBefore=function(t,r){return this.endOf(r)<y(t)},n.$g=function(t,r,a){return h.u(t)?this[r]:this.set(a,t)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(t,r){var a=this,i=!!h.u(r)||r,o=h.p(t),d=function(_,v){var Y=h.w(a.$u?Date.UTC(a.$y,v,_):new Date(a.$y,v,_),a);return i?Y:Y.endOf(k)},f=function(_,v){return h.w(a.toDate()[_].apply(a.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(v)),a)},g=this.$W,D=this.$M,M=this.$D,P="set"+(this.$u?"UTC":"");switch(o){case F:return i?d(1,0):d(31,11);case w:return i?d(1,D):d(0,D+1);case A:var H=this.$locale().weekStart||0,q=(g<H?g+7:g)-H;return d(i?M-q:M+(6-q),D);case k:case x:return f(P+"Hours",0);case b:return f(P+"Minutes",1);case p:return f(P+"Seconds",2);case m:return f(P+"Milliseconds",3);default:return this.clone()}},n.endOf=function(t){return this.startOf(t,!1)},n.$set=function(t,r){var a,i=h.p(t),o="set"+(this.$u?"UTC":""),d=(a={},a[k]=o+"Date",a[x]=o+"Date",a[w]=o+"Month",a[F]=o+"FullYear",a[b]=o+"Hours",a[p]=o+"Minutes",a[m]=o+"Seconds",a[$]=o+"Milliseconds",a)[i],f=i===k?this.$D+(r-this.$W):r;if(i===w||i===F){var g=this.clone().set(x,1);g.$d[d](f),g.init(),this.$d=g.set(x,Math.min(this.$D,g.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},n.set=function(t,r){return this.clone().$set(t,r)},n.get=function(t){return this[h.p(t)]()},n.add=function(t,r){var a,i=this;t=Number(t);var o=h.p(r),d=function(D){var M=y(i);return h.w(M.date(M.date()+Math.round(D*t)),i)};if(o===w)return this.set(w,this.$M+t);if(o===F)return this.set(F,this.$y+t);if(o===k)return d(1);if(o===A)return d(7);var f=(a={},a[p]=u,a[b]=c,a[m]=e,a)[o]||1,g=this.$d.getTime()+t*f;return h.w(g,this)},n.subtract=function(t,r){return this.add(-1*t,r)},n.format=function(t){var r=this,a=this.$locale();if(!this.isValid())return a.invalidDate||z;var i=t||"YYYY-MM-DDTHH:mm:ssZ",o=h.z(this),d=this.$H,f=this.$m,g=this.$M,D=a.weekdays,M=a.months,P=a.meridiem,H=function(v,Y,j,I){return v&&(v[Y]||v(r,i))||j[Y].slice(0,I)},q=function(v){return h.s(d%12||12,v,"0")},_=P||function(v,Y,j){var I=v<12?"AM":"PM";return j?I.toLowerCase():I};return i.replace(tt,function(v,Y){return Y||function(j){switch(j){case"YY":return String(r.$y).slice(-2);case"YYYY":return h.s(r.$y,4,"0");case"M":return g+1;case"MM":return h.s(g+1,2,"0");case"MMM":return H(a.monthsShort,g,M,3);case"MMMM":return H(M,g);case"D":return r.$D;case"DD":return h.s(r.$D,2,"0");case"d":return String(r.$W);case"dd":return H(a.weekdaysMin,r.$W,D,2);case"ddd":return H(a.weekdaysShort,r.$W,D,3);case"dddd":return D[r.$W];case"H":return String(d);case"HH":return h.s(d,2,"0");case"h":return q(1);case"hh":return q(2);case"a":return _(d,f,!0);case"A":return _(d,f,!1);case"m":return String(f);case"mm":return h.s(f,2,"0");case"s":return String(r.$s);case"ss":return h.s(r.$s,2,"0");case"SSS":return h.s(r.$ms,3,"0");case"Z":return o}return null}(v)||o.replace(":","")})},n.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},n.diff=function(t,r,a){var i,o=this,d=h.p(r),f=y(t),g=(f.utcOffset()-this.utcOffset())*u,D=this-f,M=function(){return h.m(o,f)};switch(d){case F:i=M()/12;break;case w:i=M();break;case N:i=M()/3;break;case A:i=(D-g)/6048e5;break;case k:i=(D-g)/864e5;break;case b:i=D/c;break;case p:i=D/u;break;case m:i=D/e;break;default:i=D}return a?i:h.a(i)},n.daysInMonth=function(){return this.endOf(w).$D},n.$locale=function(){return R[this.$L]},n.locale=function(t,r){if(!t)return this.$L;var a=this.clone(),i=L(t,r,!0);return i&&(a.$L=i),a},n.clone=function(){return h.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},s}(),Z=W.prototype;return y.prototype=Z,[["$ms",$],["$s",m],["$m",p],["$H",b],["$W",k],["$M",w],["$y",F],["$D",x]].forEach(function(s){Z[s[1]]=function(n){return this.$g(n,s[0],s[1])}}),y.extend=function(s,n){return s.$i||(s(n,W,y),s.$i=!0),y},y.locale=L,y.isDayjs=U,y.unix=function(s){return y(1e3*s)},y.en=R[C],y.Ls=R,y.p={},y}()),G.exports));function K(e,u){if(!e)return null;const c=l(e);return c.isValid()?c.format(u):null}var st=Object.defineProperty,it=Object.getOwnPropertyDescriptor,O=(e,u,c,$)=>{for(var m,p=$>1?void 0:$?it(u,c):u,b=e.length-1;b>=0;b--)(m=e[b])&&(p=($?m(u,c,p):m(p))||p);return $&&p&&st(u,c,p),p};let S=class extends nt.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.initPresetRanges();const e=this.getDateFormat(),u=function(c,$,m){const p=K(c,m),b=K($,m);return{dateFrom:p,dateTo:b,isValid:p!==null&&b!==null}}(this.dateFrom.value,this.dateTo.value,e);if(u.isValid)this.dateFrom.value=u.dateFrom,this.dateTo.value=u.dateTo,this.updateSelectedDateRange();else{const c=l().format(e);this.dateFrom.value=c,this.dateTo.value=c}}setDateRange(e,u){this.dateFrom.value=e,this.dateTo.value=u,this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:e,dateTo:u},bubbles:!0,composed:!0})),this.requestUpdate()}updated(e){e.has("type")&&(this.initPresetRanges(),this.updateSelectedDateRange())}getDateFormat(){return this.type==="date"?"YYYY-MM-DD":"YYYY-MM-DDTHH:mm"}getDisplayFormat(){return this.type==="date"?"MMM DD, YYYY":"MMM DD, YYYY hh:mm A"}initPresetRanges(){const e=this.getDateFormat();this.presetRanges=[{label:"Yesterday",range:{dateFrom:l().subtract(1,"days").startOf("day").format(e),dateTo:l().subtract(1,"days").endOf("day").format(e)},step:"day"},{label:"Today",range:{dateFrom:l().startOf("day").format(e),dateTo:l().endOf("day").format(e)},step:"day"},{label:"Tomorrow",range:{dateFrom:l().add(1,"days").startOf("day").format(e),dateTo:l().add(1,"days").endOf("day").format(e)},step:"day"},{label:"This Week",range:{dateFrom:l().startOf("week").format(e),dateTo:l().endOf("week").format(e)},step:"week"},{label:"Last Week",range:{dateFrom:l().subtract(1,"weeks").startOf("week").format(e),dateTo:l().subtract(1,"weeks").endOf("week").format(e)},step:"week"},{label:"This Month",range:{dateFrom:l().startOf("month").format(e),dateTo:l().endOf("month").format(e)},step:"month"}]}updateSelectedDateRange(){const e=this.presetRanges.find(u=>u.range.dateFrom===this.dateFrom.value&&u.range.dateTo===this.dateTo.value);if(e)this.selectedDateRange=e.label;else{const u=l(this.dateFrom.value),c=l(this.dateTo.value);if(u.isSame(c,"day"))this.selectedDateRange=u.format("MMM DD, YYYY"),u.format("HH:mm")==="00:00"&&c.format("HH:mm")==="23:59"||(this.selectedDateRange+=` ${u.format("HH:mm")}:${c.format("HH:mm")}`);else{const $=u.format(this.getDisplayFormat()),m=c.format(this.getDisplayFormat());this.selectedDateRange=`${$} - ${m}`}}}handlePresetChange(e){const u=this.presetRanges.find(m=>m.label===e);if(!u)return;const{dateFrom:c,dateTo:$}=u.range;this.setDateRange(c,$),this.selectedDateRange=e}shiftDateRange(e,u){u.stopPropagation();const c=this.getDateFormat(),$=l(this.dateTo.value).diff(l(this.dateFrom.value),"days")||1,m=l(this.dateFrom.value).add(e*$,"days").format(c),p=l(this.dateTo.value).add(e*$,"days").format(c);this.setDateRange(m,p),this.updateSelectedDateRange()}handleDateRangeChange(e){e.stopPropagation(),this.setDateRange(this.dateFrom.value,this.dateTo.value),this.updateSelectedDateRange()}render(){return B.html`
2
2
  <!-- schmancy-menu typically provides a slot="button" for the trigger,
3
3
  and then projects the menu items inside. -->
4
4
  <schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
@@ -76,4 +76,4 @@
76
76
  </schmancy-grid>
77
77
  </schmancy-menu>
78
78
  `}};O([T.property({type:String})],S.prototype,"type",2),O([T.property({type:Object})],S.prototype,"dateFrom",2),O([T.property({type:Object})],S.prototype,"dateTo",2),O([T.property({type:String})],S.prototype,"minDate",2),O([T.property({type:String})],S.prototype,"maxDate",2),O([T.query("#checkin")],S.prototype,"checkInInput",2),O([T.query("#checkout")],S.prototype,"checkOutInput",2),O([T.query("schmancy-menu")],S.prototype,"schmancyMenu",2),O([T.state()],S.prototype,"selectedDateRange",2),S=O([T.customElement("schmancy-date-range")],S);
79
- //# sourceMappingURL=date-range-BHtt61m5.cjs.map
79
+ //# sourceMappingURL=date-range-DoZNetuD.cjs.map