@mhmo91/schmancy 0.2.38 → 0.2.40

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 (250) hide show
  1. package/dist/{animated-text-Daeoe5sn.cjs → animated-text-CaUJr-yL.cjs} +2 -2
  2. package/dist/{animated-text-Daeoe5sn.cjs.map → animated-text-CaUJr-yL.cjs.map} +1 -1
  3. package/dist/{animated-text-BVwxMOPR.js → animated-text-D8LhwMLu.js} +3 -3
  4. package/dist/{animated-text-BVwxMOPR.js.map → animated-text-D8LhwMLu.js.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-xmbcsTJK.cjs → area.component-DJYgP8NP.cjs} +2 -2
  9. package/dist/{area.component-xmbcsTJK.cjs.map → area.component-DJYgP8NP.cjs.map} +1 -1
  10. package/dist/{area.component-ByLp5c79.js → area.component-FgfXnOUF.js} +3 -3
  11. package/dist/{area.component-ByLp5c79.js.map → area.component-FgfXnOUF.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-C36FPrMT.js +225 -0
  14. package/dist/autocomplete-C36FPrMT.js.map +1 -0
  15. package/dist/autocomplete-CFcZcrJm.cjs +48 -0
  16. package/dist/autocomplete-CFcZcrJm.cjs.map +1 -0
  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-D9vaaSjw.cjs → checkbox-Drf8MwrJ.cjs} +2 -2
  26. package/dist/{checkbox-D9vaaSjw.cjs.map → checkbox-Drf8MwrJ.cjs.map} +1 -1
  27. package/dist/{checkbox-DkJYbF64.js → checkbox-Sf2HtMs9.js} +2 -2
  28. package/dist/{checkbox-DkJYbF64.js.map → checkbox-Sf2HtMs9.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-UBgldDF5.cjs → chips-8SMj1Siq.cjs} +12 -12
  32. package/dist/{chips-UBgldDF5.cjs.map → chips-8SMj1Siq.cjs.map} +1 -1
  33. package/dist/{chips-Cy9spfrp.js → chips-CA-B5JGD.js} +36 -36
  34. package/dist/{chips-Cy9spfrp.js.map → chips-CA-B5JGD.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/date-range-BFW0xGWz.js +148 -0
  42. package/dist/date-range-BFW0xGWz.js.map +1 -0
  43. package/dist/date-range-CAFOX_Sm.cjs +72 -0
  44. package/dist/date-range-CAFOX_Sm.cjs.map +1 -0
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-CpK5RGux.js → delay-DbaKftdS.js} +2 -2
  48. package/dist/{delay-CpK5RGux.js.map → delay-DbaKftdS.js.map} +1 -1
  49. package/dist/{delay-C0n9lJNW.cjs → delay-_LA9VzS1.cjs} +2 -2
  50. package/dist/{delay-C0n9lJNW.cjs.map → delay-_LA9VzS1.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-D85c35Sw.js → divider-Ba1jSOh5.js} +3 -3
  54. package/dist/{divider-D85c35Sw.js.map → divider-Ba1jSOh5.js.map} +1 -1
  55. package/dist/{divider-C4xBD1JH.cjs → divider-DUvuIyeA.cjs} +2 -2
  56. package/dist/{divider-C4xBD1JH.cjs.map → divider-DUvuIyeA.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-B_0fvoO0.cjs → form-Dga1_eim.cjs} +2 -2
  60. package/dist/{form-B_0fvoO0.cjs.map → form-Dga1_eim.cjs.map} +1 -1
  61. package/dist/{form-Bau_XA_e.js → form-H0pfjyGl.js} +2 -2
  62. package/dist/{form-Bau_XA_e.js.map → form-H0pfjyGl.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-Bit7fi8d.cjs → icon-Dr1MeHJo.cjs} +2 -2
  66. package/dist/{icon-Bit7fi8d.cjs.map → icon-Dr1MeHJo.cjs.map} +1 -1
  67. package/dist/{icon-button-Dh6iR7gO.cjs → icon-button-B1Hzc1qy.cjs} +2 -2
  68. package/dist/{icon-button-Dh6iR7gO.cjs.map → icon-button-B1Hzc1qy.cjs.map} +1 -1
  69. package/dist/{icon-button-CEGE-KQJ.js → icon-button-BFdAiGNP.js} +3 -3
  70. package/dist/{icon-button-CEGE-KQJ.js.map → icon-button-BFdAiGNP.js.map} +1 -1
  71. package/dist/{icon-B-QZ23xF.js → icon-pvbFfBbz.js} +3 -3
  72. package/dist/{icon-B-QZ23xF.js.map → icon-pvbFfBbz.js.map} +1 -1
  73. package/dist/icons.cjs +1 -1
  74. package/dist/icons.js +1 -1
  75. package/dist/index.cjs +1 -1
  76. package/dist/index.js +98 -97
  77. package/dist/input-1-LnDYbT.cjs +53 -0
  78. package/dist/input-1-LnDYbT.cjs.map +1 -0
  79. package/dist/input-CBjD2PL8.js +137 -0
  80. package/dist/input-CBjD2PL8.js.map +1 -0
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/layout.cjs +1 -1
  84. package/dist/layout.js +1 -1
  85. package/dist/{list-ClV9Qdme.js → list-BdN19pT0.js} +2 -2
  86. package/dist/{list-ClV9Qdme.js.map → list-BdN19pT0.js.map} +1 -1
  87. package/dist/{list-CRW6i-kf.cjs → list-DSyxyPI_.cjs} +2 -2
  88. package/dist/{list-CRW6i-kf.cjs.map → list-DSyxyPI_.cjs.map} +1 -1
  89. package/dist/list.cjs +1 -1
  90. package/dist/list.js +1 -1
  91. package/dist/{litElement.mixin-d9rhslEw.cjs → litElement.mixin-B9kSOE4x.cjs} +2 -2
  92. package/dist/{litElement.mixin-d9rhslEw.cjs.map → litElement.mixin-B9kSOE4x.cjs.map} +1 -1
  93. package/dist/{litElement.mixin-COSnyAru.js → litElement.mixin-D9kneJpW.js} +2 -2
  94. package/dist/{litElement.mixin-COSnyAru.js.map → litElement.mixin-D9kneJpW.js.map} +1 -1
  95. package/dist/{menu-n_bI-TFp.js → menu-DjWA-lYK.js} +29 -27
  96. package/dist/menu-DjWA-lYK.js.map +1 -0
  97. package/dist/menu-XffIwQSn.cjs +29 -0
  98. package/dist/menu-XffIwQSn.cjs.map +1 -0
  99. package/dist/menu.cjs +1 -1
  100. package/dist/menu.js +1 -1
  101. package/dist/nav-drawer.cjs +1 -1
  102. package/dist/nav-drawer.js +1 -1
  103. package/dist/notification.cjs +1 -1
  104. package/dist/notification.js +1 -1
  105. package/dist/option-C4fWPkxl.js +45 -0
  106. package/dist/option-C4fWPkxl.js.map +1 -0
  107. package/dist/option-Dcuv7dNV.cjs +18 -0
  108. package/dist/option-Dcuv7dNV.cjs.map +1 -0
  109. package/dist/option.cjs +1 -1
  110. package/dist/option.js +1 -1
  111. package/dist/{outlet-hu2yX7iS.cjs → outlet-881x1gpm.cjs} +2 -2
  112. package/dist/{outlet-hu2yX7iS.cjs.map → outlet-881x1gpm.cjs.map} +1 -1
  113. package/dist/{outlet-DuFKgg_g.js → outlet-oc58T2jq.js} +2 -2
  114. package/dist/{outlet-DuFKgg_g.js.map → outlet-oc58T2jq.js.map} +1 -1
  115. package/dist/{payment-card-form-Bpa9jVym.cjs → payment-card-form-BlusjI2Q.cjs} +2 -2
  116. package/dist/{payment-card-form-Bpa9jVym.cjs.map → payment-card-form-BlusjI2Q.cjs.map} +1 -1
  117. package/dist/{payment-card-form-D6chLUG-.js → payment-card-form-D2NiZkJM.js} +3 -3
  118. package/dist/{payment-card-form-D6chLUG-.js.map → payment-card-form-D2NiZkJM.js.map} +1 -1
  119. package/dist/{radio-group-9wWEjibY.js → radio-group-BALwJIFj.js} +2 -2
  120. package/dist/{radio-group-9wWEjibY.js.map → radio-group-BALwJIFj.js.map} +1 -1
  121. package/dist/{radio-group-CekbhNf-.cjs → radio-group-DE6ao3xB.cjs} +2 -2
  122. package/dist/{radio-group-CekbhNf-.cjs.map → radio-group-DE6ao3xB.cjs.map} +1 -1
  123. package/dist/radio-group.cjs +1 -1
  124. package/dist/radio-group.js +1 -1
  125. package/dist/{scroll-B-tqDDOP.js → scroll-BbqxMyDc.js} +29 -29
  126. package/dist/scroll-BbqxMyDc.js.map +1 -0
  127. package/dist/scroll-BqLesKK7.cjs +33 -0
  128. package/dist/scroll-BqLesKK7.cjs.map +1 -0
  129. package/dist/select-CaBI5TrW.js +156 -0
  130. package/dist/select-CaBI5TrW.js.map +1 -0
  131. package/dist/select-N1WX3mjc.cjs +52 -0
  132. package/dist/select-N1WX3mjc.cjs.map +1 -0
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +4 -1
  135. package/dist/{sheet-DeE5_yNQ.cjs → sheet-BLzXXxJz.cjs} +2 -2
  136. package/dist/{sheet-DeE5_yNQ.cjs.map → sheet-BLzXXxJz.cjs.map} +1 -1
  137. package/dist/{sheet-yFj2S1UP.js → sheet-CrFAERdT.js} +3 -3
  138. package/dist/{sheet-yFj2S1UP.js.map → sheet-CrFAERdT.js.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-PwJTXAJc.js → slider-BAQ6ue43.js} +3 -3
  142. package/dist/{slider-PwJTXAJc.js.map → slider-BAQ6ue43.js.map} +1 -1
  143. package/dist/{slider-BN-GC2a_.cjs → slider-Ck3rrBuj.cjs} +2 -2
  144. package/dist/{slider-BN-GC2a_.cjs.map → slider-Ck3rrBuj.cjs.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-Calk9CE7.cjs → spinner-B1iL6lg7.cjs} +2 -2
  148. package/dist/{spinner-Calk9CE7.cjs.map → spinner-B1iL6lg7.cjs.map} +1 -1
  149. package/dist/{spinner-CA6KEbfu.js → spinner-Dp-BlzFE.js} +3 -3
  150. package/dist/{spinner-CA6KEbfu.js.map → spinner-Dp-BlzFE.js.map} +1 -1
  151. package/dist/{surface-VBotYgOg.js → surface-C-5hXuc0.js} +2 -2
  152. package/dist/{surface-VBotYgOg.js.map → surface-C-5hXuc0.js.map} +1 -1
  153. package/dist/{surface-QvhZSMt5.cjs → surface-KIYOpqYN.cjs} +2 -2
  154. package/dist/{surface-QvhZSMt5.cjs.map → surface-KIYOpqYN.cjs.map} +1 -1
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-n4ftE_xg.cjs → table-COiGzwHG.cjs} +2 -2
  158. package/dist/{table-n4ftE_xg.cjs.map → table-COiGzwHG.cjs.map} +1 -1
  159. package/dist/{table-Da6LJPGK.js → table-D5Y7TtBM.js} +2 -2
  160. package/dist/{table-Da6LJPGK.js.map → table-D5Y7TtBM.js.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-BK5fJqpY.js → tabs-group-DIv7H3ii.js} +2 -2
  164. package/dist/{tabs-group-BK5fJqpY.js.map → tabs-group-DIv7H3ii.js.map} +1 -1
  165. package/dist/{tabs-group-DThZAKqa.cjs → tabs-group-Dzw-rYWP.cjs} +2 -2
  166. package/dist/{tabs-group-DThZAKqa.cjs.map → tabs-group-Dzw-rYWP.cjs.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/tailwind.mixin-BBKdEPAU.js +43 -0
  170. package/dist/{tailwind.mixin-DNlFmovi.js.map → tailwind.mixin-BBKdEPAU.js.map} +1 -1
  171. package/dist/tailwind.mixin-gE-6eUQA.cjs +2 -0
  172. package/dist/{tailwind.mixin-DYx3IacW.cjs.map → tailwind.mixin-gE-6eUQA.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-Dose4RDi.js → teleport.component-DldJv9J6.js} +35 -35
  175. package/dist/{teleport.component-Dose4RDi.js.map → teleport.component-DldJv9J6.js.map} +1 -1
  176. package/dist/{teleport.component-D5v1j4mw.cjs → teleport.component-I1DFKmWM.cjs} +2 -2
  177. package/dist/{teleport.component-D5v1j4mw.cjs.map → teleport.component-I1DFKmWM.cjs.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-DHrkcyt8.cjs → textarea-Cm_0BDw5.cjs} +2 -2
  180. package/dist/{textarea-DHrkcyt8.cjs.map → textarea-Cm_0BDw5.cjs.map} +1 -1
  181. package/dist/{textarea-JWBhOVdN.js → textarea-DWBpogxd.js} +2 -2
  182. package/dist/{textarea-JWBhOVdN.js.map → textarea-DWBpogxd.js.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-DBPnjBHL.cjs → theme-button-B7JR-68y.cjs} +2 -2
  186. package/dist/{theme-button-DBPnjBHL.cjs.map → theme-button-B7JR-68y.cjs.map} +1 -1
  187. package/dist/{theme-button-BL3unPDt.js → theme-button-CdjTjQE-.js} +2 -2
  188. package/dist/{theme-button-BL3unPDt.js.map → theme-button-CdjTjQE-.js.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/{theme.component-BNRB5zlE.cjs → theme.component-D0pi4zH5.cjs} +2 -2
  193. package/dist/{theme.component-BNRB5zlE.cjs.map → theme.component-D0pi4zH5.cjs.map} +1 -1
  194. package/dist/{theme.component-iZ2Ty0WM.js → theme.component-DWRFe6NX.js} +2 -2
  195. package/dist/{theme.component-iZ2Ty0WM.js.map → theme.component-DWRFe6NX.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-DK6ii57L.js → tree-COFA9Z7I.js} +2 -2
  198. package/dist/{tree-DK6ii57L.js.map → tree-COFA9Z7I.js.map} +1 -1
  199. package/dist/{tree-BU8SHE74.cjs → tree-D8SHnBQ7.cjs} +2 -2
  200. package/dist/{tree-BU8SHE74.cjs.map → tree-D8SHnBQ7.cjs.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-BcUBG7Dc.cjs → typewriter-B254asJ6.cjs} +2 -2
  204. package/dist/{typewriter-BcUBG7Dc.cjs.map → typewriter-B254asJ6.cjs.map} +1 -1
  205. package/dist/{typewriter-BUNcKCUM.js → typewriter-CKloAbr2.js} +4 -4
  206. package/dist/{typewriter-BUNcKCUM.js.map → typewriter-CKloAbr2.js.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-CLlDUD5O.cjs → typography-BjmgtlSe.cjs} +2 -2
  210. package/dist/{typography-CLlDUD5O.cjs.map → typography-BjmgtlSe.cjs.map} +1 -1
  211. package/dist/{typography-CasDFLVv.js → typography-C0__6Aqk.js} +2 -2
  212. package/dist/{typography-CasDFLVv.js.map → typography-C0__6Aqk.js.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +6 -6
  216. package/types/src/autocomplete/autocomplete.d.ts +16 -93
  217. package/types/src/chips/chip.d.ts +0 -2
  218. package/types/src/date-range/date-range.d.ts +14 -15
  219. package/types/src/input/input.d.ts +60 -80
  220. package/types/src/layout/flex/flex.d.ts +24 -1
  221. package/types/src/option/option.d.ts +2 -2
  222. package/types/src/select/select.d.ts +37 -15
  223. package/dist/autocomplete-8-xYgb2e.js +0 -212
  224. package/dist/autocomplete-8-xYgb2e.js.map +0 -1
  225. package/dist/autocomplete-CtUz_AlC.cjs +0 -43
  226. package/dist/autocomplete-CtUz_AlC.cjs.map +0 -1
  227. package/dist/date-range-Cvdpxn2J.js +0 -130
  228. package/dist/date-range-Cvdpxn2J.js.map +0 -1
  229. package/dist/date-range-DTUXT0Lf.cjs +0 -58
  230. package/dist/date-range-DTUXT0Lf.cjs.map +0 -1
  231. package/dist/input-6NTzj_Bn.js +0 -124
  232. package/dist/input-6NTzj_Bn.js.map +0 -1
  233. package/dist/input-CnvK8HG2.cjs +0 -43
  234. package/dist/input-CnvK8HG2.cjs.map +0 -1
  235. package/dist/menu-C4mb1XXA.cjs +0 -31
  236. package/dist/menu-C4mb1XXA.cjs.map +0 -1
  237. package/dist/menu-n_bI-TFp.js.map +0 -1
  238. package/dist/option-CxhioQ_d.js +0 -40
  239. package/dist/option-CxhioQ_d.js.map +0 -1
  240. package/dist/option-lA0IV4VJ.cjs +0 -14
  241. package/dist/option-lA0IV4VJ.cjs.map +0 -1
  242. package/dist/scroll-B-tqDDOP.js.map +0 -1
  243. package/dist/scroll-B7q9TYhV.cjs +0 -33
  244. package/dist/scroll-B7q9TYhV.cjs.map +0 -1
  245. package/dist/select-DAQdBUSl.cjs +0 -46
  246. package/dist/select-DAQdBUSl.cjs.map +0 -1
  247. package/dist/select-DUctHAIZ.js +0 -99
  248. package/dist/select-DUctHAIZ.js.map +0 -1
  249. package/dist/tailwind.mixin-DNlFmovi.js +0 -43
  250. package/dist/tailwind.mixin-DYx3IacW.cjs +0 -2
@@ -0,0 +1,148 @@
1
+ import "rxjs";
2
+ import "lit/directives/class-map.js";
3
+ import "lit/directives/style-map.js";
4
+ import { $ as u } from "./litElement.mixin-D9kneJpW.js";
5
+ import "./tailwind.mixin-BBKdEPAU.js";
6
+ import { html as p } from "lit";
7
+ import { property as d, query as h, state as y, customElement as g } from "lit/decorators.js";
8
+ import { ifDefined as l } from "lit/directives/if-defined.js";
9
+ import a from "moment";
10
+ var f = Object.defineProperty, D = Object.getOwnPropertyDescriptor, r = (t, e, s, n) => {
11
+ for (var i, c = n > 1 ? void 0 : n ? D(e, s) : e, m = t.length - 1; m >= 0; m--) (i = t[m]) && (c = (n ? i(e, s, c) : i(c)) || c);
12
+ return n && c && f(e, s, c), c;
13
+ };
14
+ let o = class extends u() {
15
+ constructor() {
16
+ super(...arguments), this.type = "date", this.selectedDateRange = "Today";
17
+ }
18
+ connectedCallback() {
19
+ super.connectedCallback(), this.initPresetRanges(), this.updateSelectedDateRange();
20
+ }
21
+ updated(t) {
22
+ t.has("type") && (this.initPresetRanges(), this.updateSelectedDateRange());
23
+ }
24
+ getDateFormat() {
25
+ return this.type === "date" ? "YYYY-MM-DD" : "YYYY-MM-DDTHH:mm";
26
+ }
27
+ getDisplayFormat() {
28
+ return this.type === "date" ? "MMM DD, YYYY" : "MMM DD, YYYY hh:mm A";
29
+ }
30
+ initPresetRanges() {
31
+ const t = this.getDateFormat();
32
+ this.presetRanges = [{ label: "Yesterday", range: { dateFrom: a().subtract(1, "days").startOf("day").format(t), dateTo: a().subtract(1, "days").endOf("day").format(t) }, step: "day" }, { label: "Today", range: { dateFrom: a().startOf("day").format(t), dateTo: a().endOf("day").format(t) }, step: "day" }, { label: "Tomorrow", range: { dateFrom: a().add(1, "days").startOf("day").format(t), dateTo: a().add(1, "days").endOf("day").format(t) }, step: "day" }, { label: "This Week", range: { dateFrom: a().startOf("isoWeek").format(t), dateTo: a().endOf("isoWeek").format(t) }, step: "week" }, { label: "Last Week", range: { dateFrom: a().subtract(1, "weeks").startOf("isoWeek").format(t), dateTo: a().subtract(1, "weeks").endOf("isoWeek").format(t) }, step: "week" }, { label: "This Month", range: { dateFrom: a().startOf("month").format(t), dateTo: a().endOf("month").format(t) }, step: "month" }];
33
+ }
34
+ updateSelectedDateRange() {
35
+ const t = this.presetRanges.find((e) => e.range.dateFrom === this.dateFrom.value && e.range.dateTo === this.dateTo.value);
36
+ if (t) this.selectedDateRange = t.label;
37
+ else {
38
+ const e = a(this.dateFrom.value).format(this.getDisplayFormat()), s = a(this.dateTo.value).format(this.getDisplayFormat());
39
+ this.selectedDateRange = `${e} - ${s}`;
40
+ }
41
+ }
42
+ setDateRange(t, e) {
43
+ this.dateFrom.value = t, this.dateTo.value = e, this.dispatchEvent(new CustomEvent("change", { detail: { dateFrom: t, dateTo: e }, bubbles: !0, composed: !0 })), this.requestUpdate();
44
+ }
45
+ handlePresetChange(t) {
46
+ const e = this.presetRanges.find((i) => i.label === t);
47
+ if (!e) return;
48
+ const { dateFrom: s, dateTo: n } = e.range;
49
+ this.setDateRange(s, n), this.selectedDateRange = t, this.schmancyMenu.open = !1;
50
+ }
51
+ handleDateRangeChange() {
52
+ this.setDateRange(this.dateFrom.value, this.dateTo.value), this.updateSelectedDateRange(), this.schmancyMenu.open = !1;
53
+ }
54
+ shiftDateRange(t) {
55
+ const e = this.getDateFormat(), s = a(this.dateTo.value).diff(a(this.dateFrom.value), "days") || 1, n = a(this.dateFrom.value).add(t * s, "days").format(e), i = a(this.dateTo.value).add(t * s, "days").format(e);
56
+ this.setDateRange(n, i), this.updateSelectedDateRange();
57
+ }
58
+ render() {
59
+ var t;
60
+ return p`
61
+ <!-- schmancy-menu typically provides a slot="button" for the trigger,
62
+ and then projects the menu items inside. -->
63
+ <schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
64
+ <!-- The toggle/trigger slot -->
65
+ <schmancy-grid slot="button" align="center" cols="auto 1fr auto">
66
+ <schmancy-icon-button
67
+ type="button"
68
+ aria-label="Shift date range backward"
69
+ @click=${(e) => {
70
+ e.preventDefault(), this.shiftDateRange(-1);
71
+ }}
72
+ >
73
+ arrow_left
74
+ </schmancy-icon-button>
75
+
76
+ <schmancy-button
77
+ class="w-max"
78
+ variant="outlined"
79
+ type="button"
80
+ aria-haspopup="menu"
81
+ .ariaExpanded=${String(((t = this.schmancyMenu) == null ? void 0 : t.open) || !1)}
82
+ >
83
+ ${this.selectedDateRange || "Date range"}
84
+ </schmancy-button>
85
+
86
+ <schmancy-icon-button
87
+ type="button"
88
+ aria-label="Shift date range forward"
89
+ @click=${(e) => {
90
+ e.preventDefault(), this.shiftDateRange(1);
91
+ }}
92
+ >
93
+ arrow_right
94
+ </schmancy-icon-button>
95
+ </schmancy-grid>
96
+
97
+ <!-- The menu surface: presets + manual date selection -->
98
+ ${this.presetRanges.map((e) => p`
99
+ <schmancy-menu-item role="menuitem" class="w-full" @click=${() => this.handlePresetChange(e.label)}>
100
+ <schmancy-grid class="w-full" align="center" cols="auto 1fr auto"> ${e.label} </schmancy-grid>
101
+ </schmancy-menu-item>
102
+ `)}
103
+
104
+ <!-- Manual date range inputs + "Apply" button -->
105
+ <schmancy-grid gap="sm" flow="row" class="p-4">
106
+ <schmancy-input
107
+ id="checkin"
108
+ .type=${this.type}
109
+ .label=${this.dateFrom.label}
110
+ .value=${this.dateFrom.value}
111
+ min=${l(this.minDate)}
112
+ @change=${(e) => {
113
+ e.preventDefault(), e.stopPropagation();
114
+ const s = this.getDateFormat(), n = a(e.detail.value, s).format(s);
115
+ this.dateFrom.value = n, this.checkOutInput.setAttribute("min", n);
116
+ }}
117
+ ></schmancy-input>
118
+
119
+ <schmancy-input
120
+ id="checkout"
121
+ .type=${this.type}
122
+ .label=${this.dateTo.label}
123
+ .value=${this.dateTo.value}
124
+ min=${l(this.dateFrom.value)}
125
+ max=${l(this.maxDate)}
126
+ @change=${(e) => {
127
+ e.preventDefault(), e.stopPropagation();
128
+ const s = this.getDateFormat(), n = a(e.detail.value, s).format(s);
129
+ this.dateTo.value = n;
130
+ }}
131
+ ></schmancy-input>
132
+
133
+ <schmancy-button
134
+ type="button"
135
+ variant="outlined"
136
+ @click=${(e) => {
137
+ e.preventDefault(), e.stopPropagation(), this.handleDateRangeChange();
138
+ }}
139
+ >
140
+ Apply
141
+ </schmancy-button>
142
+ </schmancy-grid>
143
+ </schmancy-menu>
144
+ `;
145
+ }
146
+ };
147
+ r([d({ type: String })], o.prototype, "type", 2), r([d({ type: Object })], o.prototype, "dateFrom", 2), r([d({ type: Object })], o.prototype, "dateTo", 2), r([d({ type: String })], o.prototype, "minDate", 2), r([d({ type: String })], o.prototype, "maxDate", 2), r([h("#checkin")], o.prototype, "checkInInput", 2), r([h("#checkout")], o.prototype, "checkOutInput", 2), r([h("schmancy-menu")], o.prototype, "schmancyMenu", 2), r([y()], o.prototype, "selectedDateRange", 2), o = r([g("schmancy-date-range")], o);
148
+ //# sourceMappingURL=date-range-BFW0xGWz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-BFW0xGWz.js","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\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: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.updateSelectedDateRange()\n\t}\n\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: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').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: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').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: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().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 fromStr = moment(this.dateFrom.value).format(this.getDisplayFormat())\n\t\t\tconst toStr = moment(this.dateTo.value).format(this.getDisplayFormat())\n\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t}\n\t}\n\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\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\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\tthis.schmancyMenu.open = false\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() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\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) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(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\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 slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\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\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\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(this.schmancyMenu?.open || 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\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\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@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 = moment(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@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 = moment(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\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\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":["SchmancyDateRange","$LitElement","constructor","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","updateSelectedDateRange","changedProps","has","format","getDateFormat","presetRanges","label","range","dateFrom","moment","subtract","startOf","dateTo","endOf","step","add","preset","find","p","value","fromStr","getDisplayFormat","toStr","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","setDateRange","schmancyMenu","open","handleDateRangeChange","factor","currentDiff","diff","newDateFrom","newDateTo","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./litElement.mixin-B9kSOE4x.cjs");require("./tailwind.mixin-gE-6eUQA.cjs");const m=require("lit"),o=require("lit/decorators.js"),h=require("lit/directives/if-defined.js"),a=require("moment");var p=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=(t,e,s,n)=>{for(var c,d=n>1?void 0:n?y(e,s):e,l=t.length-1;l>=0;l--)(c=t[l])&&(d=(n?c(e,s,d):c(d))||d);return n&&d&&p(e,s,d),d};let r=class extends u.$LitElement(){constructor(){super(...arguments),this.type="date",this.selectedDateRange="Today"}connectedCallback(){super.connectedCallback(),this.initPresetRanges(),this.updateSelectedDateRange()}updated(t){t.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 t=this.getDateFormat();this.presetRanges=[{label:"Yesterday",range:{dateFrom:a().subtract(1,"days").startOf("day").format(t),dateTo:a().subtract(1,"days").endOf("day").format(t)},step:"day"},{label:"Today",range:{dateFrom:a().startOf("day").format(t),dateTo:a().endOf("day").format(t)},step:"day"},{label:"Tomorrow",range:{dateFrom:a().add(1,"days").startOf("day").format(t),dateTo:a().add(1,"days").endOf("day").format(t)},step:"day"},{label:"This Week",range:{dateFrom:a().startOf("isoWeek").format(t),dateTo:a().endOf("isoWeek").format(t)},step:"week"},{label:"Last Week",range:{dateFrom:a().subtract(1,"weeks").startOf("isoWeek").format(t),dateTo:a().subtract(1,"weeks").endOf("isoWeek").format(t)},step:"week"},{label:"This Month",range:{dateFrom:a().startOf("month").format(t),dateTo:a().endOf("month").format(t)},step:"month"}]}updateSelectedDateRange(){const t=this.presetRanges.find(e=>e.range.dateFrom===this.dateFrom.value&&e.range.dateTo===this.dateTo.value);if(t)this.selectedDateRange=t.label;else{const e=a(this.dateFrom.value).format(this.getDisplayFormat()),s=a(this.dateTo.value).format(this.getDisplayFormat());this.selectedDateRange=`${e} - ${s}`}}setDateRange(t,e){this.dateFrom.value=t,this.dateTo.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{dateFrom:t,dateTo:e},bubbles:!0,composed:!0})),this.requestUpdate()}handlePresetChange(t){const e=this.presetRanges.find(c=>c.label===t);if(!e)return;const{dateFrom:s,dateTo:n}=e.range;this.setDateRange(s,n),this.selectedDateRange=t,this.schmancyMenu.open=!1}handleDateRangeChange(){this.setDateRange(this.dateFrom.value,this.dateTo.value),this.updateSelectedDateRange(),this.schmancyMenu.open=!1}shiftDateRange(t){const e=this.getDateFormat(),s=a(this.dateTo.value).diff(a(this.dateFrom.value),"days")||1,n=a(this.dateFrom.value).add(t*s,"days").format(e),c=a(this.dateTo.value).add(t*s,"days").format(e);this.setDateRange(n,c),this.updateSelectedDateRange()}render(){var t;return m.html`
2
+ <!-- schmancy-menu typically provides a slot="button" for the trigger,
3
+ and then projects the menu items inside. -->
4
+ <schmancy-menu class="z-100 w-max" role="menu" aria-label="Date range presets and custom input">
5
+ <!-- The toggle/trigger slot -->
6
+ <schmancy-grid slot="button" align="center" cols="auto 1fr auto">
7
+ <schmancy-icon-button
8
+ type="button"
9
+ aria-label="Shift date range backward"
10
+ @click=${e=>{e.preventDefault(),this.shiftDateRange(-1)}}
11
+ >
12
+ arrow_left
13
+ </schmancy-icon-button>
14
+
15
+ <schmancy-button
16
+ class="w-max"
17
+ variant="outlined"
18
+ type="button"
19
+ aria-haspopup="menu"
20
+ .ariaExpanded=${String(((t=this.schmancyMenu)==null?void 0:t.open)||!1)}
21
+ >
22
+ ${this.selectedDateRange||"Date range"}
23
+ </schmancy-button>
24
+
25
+ <schmancy-icon-button
26
+ type="button"
27
+ aria-label="Shift date range forward"
28
+ @click=${e=>{e.preventDefault(),this.shiftDateRange(1)}}
29
+ >
30
+ arrow_right
31
+ </schmancy-icon-button>
32
+ </schmancy-grid>
33
+
34
+ <!-- The menu surface: presets + manual date selection -->
35
+ ${this.presetRanges.map(e=>m.html`
36
+ <schmancy-menu-item role="menuitem" class="w-full" @click=${()=>this.handlePresetChange(e.label)}>
37
+ <schmancy-grid class="w-full" align="center" cols="auto 1fr auto"> ${e.label} </schmancy-grid>
38
+ </schmancy-menu-item>
39
+ `)}
40
+
41
+ <!-- Manual date range inputs + "Apply" button -->
42
+ <schmancy-grid gap="sm" flow="row" class="p-4">
43
+ <schmancy-input
44
+ id="checkin"
45
+ .type=${this.type}
46
+ .label=${this.dateFrom.label}
47
+ .value=${this.dateFrom.value}
48
+ min=${h.ifDefined(this.minDate)}
49
+ @change=${e=>{e.preventDefault(),e.stopPropagation();const s=this.getDateFormat(),n=a(e.detail.value,s).format(s);this.dateFrom.value=n,this.checkOutInput.setAttribute("min",n)}}
50
+ ></schmancy-input>
51
+
52
+ <schmancy-input
53
+ id="checkout"
54
+ .type=${this.type}
55
+ .label=${this.dateTo.label}
56
+ .value=${this.dateTo.value}
57
+ min=${h.ifDefined(this.dateFrom.value)}
58
+ max=${h.ifDefined(this.maxDate)}
59
+ @change=${e=>{e.preventDefault(),e.stopPropagation();const s=this.getDateFormat(),n=a(e.detail.value,s).format(s);this.dateTo.value=n}}
60
+ ></schmancy-input>
61
+
62
+ <schmancy-button
63
+ type="button"
64
+ variant="outlined"
65
+ @click=${e=>{e.preventDefault(),e.stopPropagation(),this.handleDateRangeChange()}}
66
+ >
67
+ Apply
68
+ </schmancy-button>
69
+ </schmancy-grid>
70
+ </schmancy-menu>
71
+ `}};i([o.property({type:String})],r.prototype,"type",2),i([o.property({type:Object})],r.prototype,"dateFrom",2),i([o.property({type:Object})],r.prototype,"dateTo",2),i([o.property({type:String})],r.prototype,"minDate",2),i([o.property({type:String})],r.prototype,"maxDate",2),i([o.query("#checkin")],r.prototype,"checkInInput",2),i([o.query("#checkout")],r.prototype,"checkOutInput",2),i([o.query("schmancy-menu")],r.prototype,"schmancyMenu",2),i([o.state()],r.prototype,"selectedDateRange",2),r=i([o.customElement("schmancy-date-range")],r);
72
+ //# sourceMappingURL=date-range-CAFOX_Sm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-CAFOX_Sm.cjs","sources":["../src/date-range/date-range.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { SchmancyInputChangeEvent } from '@schmancy/input'\nimport SchmancyMenu from '@schmancy/menu/menu'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport moment from 'moment'\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: moment.unitOfTime.DurationConstructor\n\t}>\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.updateSelectedDateRange()\n\t}\n\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: moment().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().add(1, 'days').startOf('day').format(format),\n\t\t\t\t\tdateTo: moment().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: moment().startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().endOf('isoWeek').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: moment().subtract(1, 'weeks').startOf('isoWeek').format(format),\n\t\t\t\t\tdateTo: moment().subtract(1, 'weeks').endOf('isoWeek').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: moment().startOf('month').format(format),\n\t\t\t\t\tdateTo: moment().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 fromStr = moment(this.dateFrom.value).format(this.getDisplayFormat())\n\t\t\tconst toStr = moment(this.dateTo.value).format(this.getDisplayFormat())\n\t\t\tthis.selectedDateRange = `${fromStr} - ${toStr}`\n\t\t}\n\t}\n\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\n\t/**\n\t * Called when user selects a preset from the list.\n\t * Updates date range and closes the menu.\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\tthis.schmancyMenu.open = false\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() {\n\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\tthis.updateSelectedDateRange()\n\t\tthis.schmancyMenu.open = false\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) {\n\t\tconst format = this.getDateFormat()\n\t\tconst currentDiff = moment(this.dateTo.value).diff(moment(this.dateFrom.value), 'days') || 1\n\t\tconst newDateFrom = moment(this.dateFrom.value)\n\t\t\t.add(factor * currentDiff, 'days')\n\t\t\t.format(format)\n\t\tconst newDateTo = moment(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\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 slot=\"button\" align=\"center\" cols=\"auto 1fr auto\">\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\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(-1)\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(this.schmancyMenu?.open || 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\te.preventDefault()\n\t\t\t\t\t\t\tthis.shiftDateRange(1)\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@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 = moment(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@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 = moment(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\te.preventDefault()\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.handleDateRangeChange()\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":["SchmancyDateRange","$LitElement","super","arguments","this","type","selectedDateRange","connectedCallback","initPresetRanges","updateSelectedDateRange","changedProps","has","getDateFormat","getDisplayFormat","format","presetRanges","label","range","dateFrom","moment","subtract","startOf","dateTo","endOf","step","add","preset","find","p","value","fromStr","toStr","fromDate","toDate","dispatchEvent","CustomEvent","detail","bubbles","composed","requestUpdate","setDateRange","schmancyMenu","open","factor","currentDiff","diff","newDateFrom","newDateTo","render","html","e","preventDefault","shiftDateRange","String","map","handlePresetChange","ifDefined","minDate","event","stopPropagation","fmt","selectedDate","checkOutInput","setAttribute","maxDate","handleDateRangeChange","__decorateClass","property","prototype","Object","query","state","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./date-range-DTUXT0Lf.cjs");
1
+ "use strict";require("./date-range-CAFOX_Sm.cjs");
2
2
  //# sourceMappingURL=date-range.cjs.map
@@ -1,2 +1,2 @@
1
- import "./date-range-Cvdpxn2J.js";
1
+ import "./date-range-BFW0xGWz.js";
2
2
  //# sourceMappingURL=date-range.js.map
@@ -3,7 +3,7 @@ import { directive as N, PartType as k } from "lit/directive.js";
3
3
  import { AsyncDirective as E } from "lit/async-directive.js";
4
4
  import { e as F, n as x } from "./provide-kj6-udep.js";
5
5
  import { c as P } from "./consume-DSKPc5vj.js";
6
- import { $ as K } from "./litElement.mixin-COSnyAru.js";
6
+ import { $ as K } from "./litElement.mixin-D9kneJpW.js";
7
7
  import { html as y } from "lit";
8
8
  import { property as m, state as $, queryAssignedElements as j, customElement as T } from "lit/decorators.js";
9
9
  import { cache as L } from "lit/directives/cache.js";
@@ -298,4 +298,4 @@ export {
298
298
  O as d,
299
299
  X as h
300
300
  };
301
- //# sourceMappingURL=delay-CpK5RGux.js.map
301
+ //# sourceMappingURL=delay-DbaKftdS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delay-CpK5RGux.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","undefined","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"delay-DbaKftdS.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","undefined","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":";;;;;;;;;;;AAAA,MAAMA,IAAE,oBAAIC;ACA4P,IAAIC,IAAE;AAAQ,MAAAC,IAAE,oBAAIC,OAAIC,IAAE,oBAAIC,WAAQC,IAAE,MAAI,IAAIC,QAASC,OAAGC,sBAAsBD,CAAAA,CAAAA,GAAKE,IAAE,CAAC,EAACC,WAAU,6BAA4BC,SAAQ,EAAIC,CAAAA,GAAAA,IAAE,CAAC,EAACF,WAAU,8BAA6BC,SAAQ,EAA4IE,CAAAA,GAAAA,IAAE,CAAC,EAACF,SAAQ,KAAG,EAACA,SAAQ,MAAyDG,IAAE,CAACP,GAAET,MAAAA;AAAK,QAAMiB,IAAER,IAAET;AAAE,SAAWiB,MAAJ,IAAMC,SAAOD;GAAGE,IAAE,CAACV,GAAET,MAAAA;AAAK,QAAMiB,IAAER,IAAET;AAAE,SAAWiB,MAAJ,IAAMC,SAAOD;GAAGG,IAAE,EAACC,MAAK,CAACZ,GAAET,MAAAA;AAAK,QAAMiB,IAAED,EAAEP,GAAET,CAAG;AAAA,SAAM,EAACsB,OAAML,GAAEL,WAAgBK,KAAN,QAASM,MAAMN,CAAGC,IAAAA,SAAO,cAAcD,CAAM,MAAA;AAAA,GAAGO,KAAI,CAACf,GAAET,MAAK;AAAA,QAAMiB,IAAED,EAAEP,GAAET,CAAG;AAAA,SAAM,EAACsB,OAAML,GAAEL,WAAgBK,KAAN,QAASM,MAAMN,CAAAA,IAAAA,SAAU,cAAcA;AAAM,GAAGQ,OAAM,CAAChB,GAAET,MAAAA;AAAK,MAAIiB;AAAE,EAAIjB,MAAJ,MAAQA,IAAE,GAAEiB,IAAE,EAACQ,OAAM,MAAA;AAAQ,QAAMC,IAAEP,EAAEV,GAAET,CAAG;AAAA,SAAM,EAACsB,OAAMI,GAAEC,cAAaV,GAAEL,WAAgBc,KAAN,QAASH,MAAMG,CAAAA,IAAAA,SAAU,UAAUA,CAAAA,IAAAA;AAAI,GAAGE,QAAO,CAACnB,GAAET;AAAK,MAAIiB;AAAE,EAAIjB,MAAJ,MAAQA,IAAE,GAAEiB,IAAE,EAACW,QAAO,MAAA;AAAQ,QAAMF,IAAEP,EAAEV,GAAET,CAAAA;AAAG,SAAM,EAACsB,OAAMI,GAAEC,cAAaV,GAAEL,WAAgBc,KAAN,QAASH,MAAMG,cAAU,UAAUA;AAAI,EAAIG,GAAAA,IAAE,EAACC,UAAS,KAAIC,QAAO,cAAeC,GAAAA,IAAE,CAAC,QAAO,OAAM,SAAQ,UAAS,WAAU,SAAQ,YAAcC,GAAAA,IAAE,oBAAIhC,WAAoqKiC,IAAElC,EAA9pK,cAAgB0B,EAAAA;AAAAA,EAAE,YAAYjB,GAAAA;AAAG,QAAG0B,MAAM1B,CAAAA,GAAG2B,KAAK3B,IAAAA,IAAK2B,KAAKpC,IAAE,MAAKoC,KAAKlC,IAAE,MAAKkC,KAAKC,QAAKD,KAAKE,YAAU,IAAG7B,EAAE8B,SAAOtB,EAAEuB,MAAM,OAAMC,MAAM,6DAA+DL;AAAAA,SAAKM;EAAgB;AAAA,EAAC,iBAAiBN;;AAAAA,KAAAA,IAAAA,KAAKO,oBAALP,QAAAA,EAAAA,YAAyBA,KAAKQ,WAAS,IAAIpC,QAASC,CAAAA;AAAI2B,WAAKtB,IAAEL;AAAAA,IAAE,CAAE;AAAA,EAAA;AAAA,EAAC,MAAMkC,kBAAAA;;AAAkBP,KAAAA,IAAAA,KAAKtB,MAALsB,QAAAA,EAAAA,YAAWA,KAAKtB,IAAEI;AAAAA,EAAM;AAAA,EAAC,OAAOlB;AAAG,WAAOS;AAAAA,EAAC;AAAA,EAAC,gBAAgB;AAAA,WAAO4B,EAAEQ,IAAIT,KAAKU;EAAE;AAAA,EAAC;;AAAa,WAAOV,KAAKW,QAAQC,cAAUZ,IAAAA,KAAKa,cAAAA,MAALb,gBAAAA,EAAsBY;AAAAA,EAAQ;AAAA,EAAC,OAAOvC,GAAGT,CAAAA,CAAAA,GAAAA;;AAAI,UAAMiB,IAAWmB,KAAKU,MAAd5B;AAAgB,WAAOD,MAAImB,KAAKU,KAAErC,IAAAA,EAAEsC,YAAFtC,gBAAAA,EAAWyC,MAAKd,KAAKU,EAAEK,cAAcf,IAAMA,GAAAA,KAAKU,EAAEM,eAAeC,KAAM5C,CAAAA,MAAG2B,KAAK3B,MAAO2B,GAAAA,KAAKkB,UAAQ7C,EAAE6C,SAAQrB,EAAEsB,IAAInB,KAAKkB,SAAQlB,QAAOA,KAAKoB,oBAAkBxD,IAAGiB,KAAG,OAAmBjB,KAAnB,eAAuBoC,KAAKqB,EAAEzD,CAAGoC,GAAAA,KAAKsB,OAAO1D,CAAAA;AAAAA,EAAE;AAAA,EAAC,EAAES;AAAGA,QAAEA,KAAG,CAAE;AAAC,UAAMT,IAAEoC,KAAKa,cAAgB/B;AAAAA,IAASlB,MAATkB,YAAcT,IAAE,EAAA,GAAIT,EAAE2D,gBAAkBlD,GAAAA,EAAAA,GAAImD,kBAAgB,EAAI5D,GAAAA,EAAE2D,eAAeC,iBAAAA,GAAmBnD,EAAEmD,gBAAAA,IAAkBnD,EAAEoD,eAAFpD,EAAEoD,aAAa7B,IAAEI,KAAKW,UAAQtC;AAAAA,EAAC;AAAA,EAAC,IAAAqD;AAAI,UAAMrD,IAAE,IAAGT,IAAEoC,KAAKkB,QAAQS,yBAAwB9C,IAAE+C,iBAAiB5B,KAAKkB,OAAS;AAAA,WAAOlB,KAAKW,QAAQc,WAAWI,QAASvC,CAAAA;AAAI,YAAMW,IAAErC,EAAE0B,CAAKN,MAAAA,EAAEM,cAAUT,EAAES,KAAIxB,IAAEgE,OAAO7B;AAAG5B,QAAEiB,CAAAA,IAAGH,MAAMrB,CAAGmC,IAAAA,IAAE,KAAGnC;AAAAA,IAAE,CAAA,GAAGO;AAAAA,EAAC;AAAA,EAAC,IAAAM;AAAI,QAAIN,GAAET,IAAAA;AAAK,WAAOoC,KAAKW,QAAQoB,UAAQ1D,IAAE2B,KAAKW,QAAQoB,MAAQnE,GAAAA,MAAIS,GAAET,MAAAA;AAAK,UAAGoE,MAAMC,QAAQ5D;AAAI,YAAG2D,MAAMC,QAAQrE,CAAAA,KAAIA,EAAEsE,WAAS7D,EAAE6D,UAAQ7D,EAAE8D,MAAO,CAAC9D,GAAEQ,MAAIR,MAAIT,EAAEiB,CAAK,CAAA,EAAA,QAAA;AAAA,iBAAiBjB,MAAIS,EAAE,QAAA;AAAS;IAAS,GAAEA,GAAE2B,KAAKoC,CAAAA,IAAIpC,KAAKC,IAAED,KAAK3B,KAAI2B,CAAAA,KAAKqC,iBAAerC,KAAKsC,YAAAA,KAAe1E,KAAGoC,KAAKkB,QAAQqB,aAAYvC,KAAKC,MAAID,KAAKoC,IAAEJ,MAAMC,QAAQ5D,KAAG2D,MAAMQ,KAAKnE,KAAGA,IAAG2B,KAAKC;AAAAA,EAAC;AAAA,EAAC,aAAAwC;AAAa,WAAmBzC,KAAKoB,qBAAxB,cAA2CpB,KAAKqB,EAAErB,KAAKoB,sBAAqBpB,KAAKrB,EAAAA,MAAMqB,KAAKP,IAAEO,KAAK0B,KAAI1B,KAAKpC,IAAEoC,KAAKpC,KAAGoC,KAAKkB,QAAQwB,YAAW1C,KAAKlC,IAAEkC,KAAKkB,QAAQyB;AAAAA,EAAY;AAAA,EAAC,MAAMC,cAAAA;AAAc,SAAI5C,KAAKC,KAAAA,CAAID,KAAKkB,QAAQqB,eAAavC,KAAKW,QAAQkC,eAAc7C,CAAAA,KAAK8C,eAAe;AAAO,QAAIzE;AAAE2B,SAAK+C,QAAAA,GAAAA,MAAgB5E;AAAE,UAAMP,IAAEoC,KAAKgD,EAAAA,GAAInE,IAAEmB,KAAKH,EAAEG,KAAKW,QAAQa,iBAAgB5D,CAAG0B,GAAAA,IAAEU,KAAK0B,EAAI;AAAA,QAAY1B,KAAKP,MAAjB,QAAmB;AAAC,cAAM+C,MAAK3D,GAAEoE,IAAGhD,EAAGD,IAAAA,KAAKhB,EAAEgB,KAAKP,GAAEH,GAAE1B,CAAAA;AAAGoC,WAAKkD,IAAI,YAAW,CAAClD,KAAKP,GAAEH,GAAET,GAAEoB,KAAI5B,IAAE2B,KAAKmD,mBAAmBtE,GAAEoB,CAAE;AAAA,IAAA,OAAK;AAAC,YAAMpB,IAAEd,EAAE0C,IAAIT,KAAKW,QAAQyC,IAAM;AAAA,UAAGvE,GAAE;AAACd,QAAAA,EAAEsF,OAAOrD,KAAKW,QAAQyC,IAAAA;AAAM,gBAAMZ,MAAKvC,GAAEgD,IAAGhF,EAAG+B,IAAAA,KAAKhB,EAAEH,GAAES,GAAE1B;AAAGS,YAAE2B,KAAKmD,mBAAmBlD,GAAEhC,CAAAA,GAAGI,IAAE2B,KAAKW,QAAQ2C,KAAG,CAAC,EAAItD,GAAAA,KAAKW,QAAQ2C,GAAG,CAAA,GAAA,GAAMjF,EAAE,CAAO2B,EAAAA,GAAAA,GAAAA,KAAKW,QAAQ2C,GAAGC,MAAM,CAAGlF,GAAAA,EAAE,CAAIA,CAAAA,IAAAA,GAAEP,KAAIO,EAAEwD,QAASxD,CAAAA,MAAGA,EAAEmF,SAAO1F;MAAG,MAAMkC,MAAKW,QAAQ2C,OAAKjF,IAAE,CAAA,GAAI2B,KAAKW,QAAQ2C,IAAG,CAAA,CAAI;AAAA,IAAA;AAACtD,SAAKyD,QAAQpF,GAAEQ,CAAE;AAAA,EAAA;AAAA,EAAC,cAAA6E;AAAAA,IAAuB1D,KAAK2D,MAA5BD,WAAgC1D,KAAKkB,QAAQ0C,aAAa,SAAQ5D,KAAK2D,KAAG,EAAI3D,GAAAA,KAAK2D,IAAE7E;AAAAA,EAAO;AAAA,EAAC,eAAA+E;;AAAe7D,SAAK2D,IAAE3D,KAAKkB,QAAQ4C,aAAa,OAAA,IAAS9D,IAAAA,KAAK+D,iBAAL/D,QAAAA,EAAmB6D,iBAAe7D,IAAAA,KAAK+D,iBAAL/D,QAAAA,EAAmBgE;AAAAA,EAAQ;AAAA,EAAC;;EAAe,qBAAqB;;AAAkB,QAAlB,CAAIhE,KAAKC,MAAqBD,KAAKW,QAAQsD,OAAzB,UAA6BlG,EAAEoD,IAAInB,KAAKW,QAAQsD,IAAGjE,KAAKP,CAAAA,GAAYO,KAAKW,QAAQuD,QAAzBzE,QAA6B;AAAO,QAAGO,KAAK+C,QAAAA,GAAAA,MAAgB5E,MAAI6B,IAAAA,KAAKpC,MAALoC,gBAAAA,EAAQuC,aAAY;AAAC,YAAMlE,IAAE2B,KAAKlC,KAAGkC,KAAKlC,EAAE4E,eAAa1C,KAAKpC,IAAEoC,KAAKlC,IAAE;AAAK,UAAGkC,KAAKpC,EAAEuG,aAAanE,KAAKkB,SAAQ7C,IAAG2B,KAAKW,QAAQyD,cAAa;AAAC,cAAM/F,IAAE2B,KAAK0B,EAAI1B;AAAAA,aAAKkD,IAAI,iBAAmB;AAAA,cAAMtF,IAAEoC,KAAKP,EAAER,OAAKZ,EAAEY,MAAKJ,IAAEmB,KAAKP,EAAEL,MAAIf,EAAEe;AAAM,QAAWwC,iBAAiB5B,KAAKkB,OAAAA,EAASmD,aAA1C,YAAyDzG,MAAJ,KAAWiB,MAAJ,MAAQmB,KAAKkB,QAAQoD,MAAMD,WAAS,aAAgBzG,MAAJ,MAAQoC,KAAKkB,QAAQoD,MAAMrF,OAAKrB,IAAE,OAAUiB,MAAJ,MAAQmB,KAAKkB,QAAQoD,MAAMlF,MAAIP,IAAE;AAAA,MAAK;AAAA,IAAC;AAAC,UAAMR,IAAE2B,KAAKH,EAAEG,KAAKW,QAAQa,eAAuBxB;AAAAA,UAAAA,KAAKyD,QAAQzD,KAAKW,QAAQuD,KAAI7F,CAAG2B,GAAAA,KAAKkB,QAAQqD,OAAQ;AAAA,EAAA;AAAA,EAAC,UAAUvE;AAAAA,SAAKM;EAAgB;AAAA,EAAC;;AAAQN,KAAAA,KAAAA,IAAAA,KAAKW,SAAQ6D,YAAbxE,QAAAA,EAAAA,KAAAA,GAAuBA;AAAAA,EAAK;AAAA,EAAC,UAAU3B,GAAGA;;AAAAA,WAAG2B,KAAAA,IAAAA,KAAKW,SAAQ8D,eAAbzE,QAAAA,EAAAA,KAAAA,GAA0BA,QAAMA,KAAKP,IAAAA,QAASO,KAAK0E,sBAAoB5F,QAAOkB,KAAK2E,SAAO7F,QAAOkB,KAAKO,gBAAiB;AAAA,EAAA;AAAA,EAAC,IAAI;AAAA,UAAMlC,IAAE,CAAA;AAAG,aAAQT,IAAEoC,KAAKkB,QAAQwB,YAAW9E,GAAEA,IAAEA,KAAAA,gBAAAA,EAAG8E,YAAW;AAAC,YAAM7D,IAAEgB,EAAEY,IAAI7C;AAAGiB,MAAAA,KAAIA,CAAAA,EAAEwD,gBAAcxD,KAAGR,EAAEuG,KAAK/F,CAAE;AAAA,IAAA;AAAC,WAAOR;AAAAA,EAAC;AAAA,EAAC,IAAA;AAAqB,UAAMA,IAAEJ,EAAE4G,IAAI7E,KAAKU;AAAG,WAAOrC,KAAG2B,KAAKU,EAAEM,eAAeC;AAAWhD,MAAAA,EAAE6G,IAAI9E,KAAKU,CAAG;AAAA,IAAA,CAAA,GAAGrC;AAAAA,EAAC;AAAA,EAAC,EAAEA,GAAET,IAAEoC,KAAKgD;AAAK,UAAMnE,IAAE,KAAIY,EAAG;AAAA,WAAO7B,EAAEiE,QAASxD,CAAAA,MAAG0G,OAAOC,OAAOnG,GAAER,EAAEsC,QAAQa,eAAAA,CAAAA,GAAmBuD,OAAOC,OAAOnG,GAAER,IAAGQ;AAAAA,EAAC;AAAA,EAAC,EAAER,GAAET,GAAEiB;AAAGR,QAAE,EAAA,GAAIA,KAAGT,IAAE,EAAA,GAAIA;AAAG,UAAM0B,IAAET,EAAEoG,IAAK5G,CAAAA,MAAGA,EAAEqG,qBAAsBQ,OAAQ7G,CAAAA,MAAYA,MAAZA,MAAgB;AAAA,QAAI4B,IAAE,GAAEnC,IAAE;AAAE,WAAOwB,EAAE4C,SAAO,MAAI5C,EAAEuC,QAASxD,CAAAA;AAAIA,MAAAA,EAAEgB,UAAQY,KAAG5B,EAAEgB,QAAOhB,EAAEmB,WAAS1B,KAAGO,EAAEmB;AAAAA,IAAQ,CAAGV,GAAST,EAAEY,SAAXH,UAA0BlB,EAAEqB,SAAXH,WAAkBT,EAAEY,OAAKgB,IAAE5B,EAAEY,MAAKrB,EAAEqB,OAAKgB,IAAErC,EAAEqB,OAAeZ,EAAEe,QAAXN,UAAyBlB,EAAEwB,QAAXN,WAAiBT,EAAEe,MAAItB,IAAEO,EAAEe,KAAIxB,EAAEwB,MAAItB,IAAEF,EAAEwB,OAAM,EAACoD,MAAKnE,GAAE4E,IAAGrF,EAAAA;AAAAA,EAAE;AAAA,EAAC,mBAAmBS,GAAET,GAAEiB,IAAAA;AAAM,UAAMS,IAAE,CAAE,GAACW,IAAE,CAAE;AAAC,QAAInC;AAAK,UAAMC,IAAE,CAAE;AAAC,eAAUc,KAAKjB,GAAE;AAAC,YAAMK,IAAEI,EAAEQ,CAAGV,GAAAA,IAAEP,EAAEiB,CAAG;AAAA,UAAGA,KAAKG,GAAE;AAAC,cAAMX,IAAEW,EAAEH,CAAAA;AAAG,YAAYZ,gBAAYE,MAAZF,OAAc;AAAS,cAAML,IAAES,EAAEJ,GAAEE;QAAYP,EAAEY,yBAAYT,EAAEc,CAAAA,IAAGjB,EAAEsB,OAAMpB,IAAAA,IAAKwB,EAAEd,YAAU,GAAGc,EAAEd,aAAW,EAAA,IAAMZ,EAAEY,SAAYM,IAASlB,EAAE2B,iBAAXT,UAAyBiG,OAAOC,OAAO1F,GAAE1B,EAAE2B,YAAAA;AAAAA,MAAc,MAAMtB,CAAAA,MAAIE,KAAYF,MAAZE,UAAwBA,MAATW,WAAahB,IAAE,IAAGwB,EAAET,CAAAA,IAAGZ,GAAEgC,EAAEpB,KAAGV;AAAAA,IAAE;AAAC,WAAOmB,EAAE6F,kBAAgBlF,EAAEkF,kBAAgBtG,IAAE,kBAAgB,YAAWmB,KAAK0E,sBAAoB3G,GAAED,IAAE,CAACwB,GAAEW,CAAGnB,IAAAA;AAAAA,EAAM;AAAA,EAAC,MAAM2E,QAAQpF,GAAET,IAAEoC,KAAKW,QAAQa;AAAiBxB,SAAKoF,MAAAA,GAAQpF,KAAK2E,SAAOtG;AAAE,QAAIQ,IAAE;AAAG,QAAImB,CAAAA,KAAKsC,YAAgBtC,KAAAA,CAAAA,KAAKqC,iBAAerC,KAAKW,QAAQ0E,aAAWrF,KAAK2E,SAAOtG,IAAE2B,KAAKW,QAAQ0E,SAASrF,IAAAA,GAAMA,KAAKkD,IAAI,mBAAkB7E,CAAIS,IAAST,MAATS,SAAY;AAACkB,WAAKkD,IAAI,WAAU,CAAC7E,GAAET,CAAAA,CAAAA,GAAIiB,IAAE,IAAGmB,KAAK+D,eAAa/D,KAAKkB,QAAQuC,QAAQpF,GAAET;AAAG,YAAM0B,IAAEU,KAAKa,cAAAA;AAAgBvB,MAAAA,KAAAA,QAAAA,EAAGwF,IAAI9E;AAAM,UAAUA;AAAAA,cAAAA,KAAK+D,aAAavD;AAAAA,MAAQ;;AAAWlB,MAAAA,KAAAA,QAAAA,EAAGiF,OAAOvE;AAAAA,IAAK;AAAC,WAAOA,KAAKsF,UAAUzG,IAAGA;AAAAA,EAAC;AAAA,EAAC,cAAc;;AAAA,aAAkBmB,IAAAA,KAAK+D,iBAAL/D,gBAAAA,EAAmBuF,eAA/B,eAA0CvF,IAAAA,KAAK+D,iBAAL/D,gBAAAA,EAAmBwF;AAAAA,EAAO;AAAA,EAAC,IAAInH,GAAET,GAAGoC;AAAAA,SAAKE,aAAYF,KAAKqC,WAA8C;AAAA,EAAA;AAAA,CAAA,GCA51MtE,IAAE,CAAC,OAAM,SAAQ,UAAS,MAAA;ACAzL,SAAA0H,EAAyBC,GAAAA;AAGxB,MAAIC,IAFmB;AAIvB,WAAS/H,IAAI,GAAGA,IAAI8H,EAAQxD,QAAQtE,IAC3B+H,CAAAA,KAAAD,EAAQE,WAAWhI,CAC3B+H,GAAAA,IALgB,WAKRA,MAAqB;AAGvB,SAAAA,EAAKE,SAAS;AACtB;ADX4yBjI,EAA3mB,cAAgBE,EAAAA;AAAAA,EAAE,YAAYO;AAAG,QAAG0B,MAAM1B,IAAGA,EAAE8B,SAAOtB,EAAEiH,QAAQ,OAAMzF,MAAM,8DAAA;AAAA,EAA+D;AAAA,EAAC,OAAOzC,GAAEiB,GAAAA;AAAG,WAAOR;AAAAA,EAAC;AAAA,EAAC,OAAOA,GAAAA,CAAGT,GAAEiB,CAAAA,GAAAA;;AAAI,WAAgBmB,KAAKU,MAAd5B,WAAkBkB,KAAKU,KAAErC,IAAAA,EAAEsC,YAAFtC,gBAAAA,EAAWyC,MAAKd,KAAKU,EAAEK,cAAcf,IAAAA,IAAOA,KAAK+F,IAAE1H,EAAE6C,SAAQlB,KAAKgG,IAAEpI,GAAEoC,KAAKF,IAAEjB,KAAG,CAAC,QAAO,OAAM,SAAQ,QAAA,GAAUmB,KAAKsB,OAAO1D,GAAEiB;EAAE;AAAA,EAAC;AAAcmB,SAAKiG,EAAAA;AAAAA,EAAG;AAAA,EAAC,IAAI;;AAAA,UAAM5H,IAAqB2B,OAAAA,KAAKgG,KAAxB,aAA0BhG,KAAKgG,EAAAA,KAAIhG,IAAAA,KAAKgG,MAALhG,gBAAAA,EAAQd,OAAMtB,IAAES,EAAE6H;AAAa,QAAY7H,gBAAAA,CAAIT,EAAE;AAAO,UAAMiB,IAAER,EAAEsD,sBAAAA,GAAwB7D,IAAEF,EAAE+D,sBAAwB3B;AAAAA,KAAAA,IAAAA,KAAKF,MAALE,QAAAA,EAAQ6B,QAASxD,CAAAA,MAAAA;AAAI,YAAMT,IAAEG,EAAEoI,SAAS9H,CAAGQ,IAAAA,EAAER,CAAGP,IAAAA,EAAEO,CAAGQ,IAAAA,EAAER;AAAG2B,WAAK+F,EAAEzB,MAAMjG,CAAGT,IAAAA,IAAE;AAAA,IAAK;AAAA,EAAE;AAAA,CAAA;;;;;MEUrxBwI,IAAeC,EAAsB;IAGrCC,IAAN,cAA4BC,EAA5B,EAAA;AAAA,EAAA;AAAAxG,UAAAyG,GAAAA,SAAAA,GAC6CxG,KAAAyG,QAAA,GACdzG,KAAA0G,SAAA,YAC5B1G,KAAQ2G,WAAW,IACuC3G,KAAA4G,cAAA,GACd5G,KAAA6G,iBAAA,GAEhB7G,KAAA8G,WAErC9G,KAAQ+G,aAAa;AAAA,EAAA;AAAA,EAOrB,eACC/G;AAAAA,SAAKgH,mBACLhH,GAAAA,KAAKiH,kBAAkB;AAAA,EAAA;AAAA,EAGxB,uBACClH;;AAAAA,UAAMmH,yBACNlH,IAAAA,KAAKmH,qBAALnH,QAAAA,EAAuBoH;AAAAA,EAAW;AAAA,EAG3B,qBACP;;AAAA,UAAMC,KAAOrH,IAAAA,KAAKsH,eAALtH,gBAAAA,EAAiBuH,cAAc;AACvCF,UAEArH,KAAAmH,mBAAmB,IAAIK,iBAAiB,MAAA;AAEvCxH,WAAA+G,aAAa/G,KAAKyH,mBAAAA;AAAAA,IAAmB,IAGtCzH,KAAAmH,iBAAiBO,QAAQL,GAAM,EAAEM,eAAiBC,SAAAA,GAAe,CAAA;AAAA,EAAA;AAAA,EAG/D,qBAAqB1G;AAC5B,QAAKA,EAAAA,KAAaA,aAAmB2G,aAAqB,QAAA;AAE1D,QAAIC,IAAa,GACbC,IAAU7G,EAAQ8G;AAEtB,WAAOD,IAEFA,CAAAA,aAAmBzB,MACtBwB,KAAcC,EAAQtB,QAGvBsB,IAAUA,EAAQC;AAQZ,WAJH9G,EAAQ+G,kBACGH,KAAA9H,KAAKkI,qBAAqBhH,EAAQ+G,aAG1CH,IAAAA;AAAAA,EAAA;AAAA,EAGA,oBAAAb;AAGP,QAFKjH,KAAA+G,aAAa/G,KAAKyH,sBAEnBzH,KAAK8G,QAAQqB,eAAeC,QAAQpI,KAAK+G,UAG5C,MAH4D,OAG5D,QAAA,MADA/G,KAAK2G,WAAAA;AAKA,UAAA0B,IAAerI,KAAKkI,qBAAqBlI;AAC/CA,SAAK6G,iBAAiB7G,KAAKyG,QAAQzG,KAAK4G,cAAcyB,GAGhDC,EAAAtI,KAAK6G,gBACT0B,KAAKC,EAAUxI,KAAKyI,aACpBC,CAAAA,EAAAA,UAAU;AAEV,UADA1I,KAAK2G,WAAW,IACZ3G,KAAK8G,KACJ;AACYqB,uBAAAQ,QAAQ3I,KAAK+G,YAAY,MAAA;AAAA,cAChC6B;AAAAA,MAC+C;AAAA,IACxD,CAAA;AAAA,EAED;AAAA,EAGK;AACD,UAAAC,IAAc7I,KAAK8I,iBAAiB7D,WAAU8D,EAAGC,SAAAA,EAAWC,KAAK,EAAA;AAEvE,WAAOjJ,KAAK8G,OAAOrB,EAAYoD,CAAAA,IAAe;AAAA,EAAA;AAAA,EAG/C,IAAA;AACC,WAAO7I,KAAK0G,WAAW,aAAawC,IAAWlJ,KAAK0G,WAAW,aAAayC,IAAWC;AAAAA,EAAA;AAAA,EAGxF;AACQ,WAAAC,EACNrJ,KAAK2G,WACF2C;AAAAA,QACE7F,EAAQ,EACTH,IAAItD,KAAKuJ,WACT/H,iBAAiB,EAAE9B,UAAU,KAAKC,QAAQ,WAAA,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA,eAK3C2J;AAAAA;AAAAA;AAAAA;AAAAA,MAKJ;AAAA,EAAA;AAAA;AAlH0CE,EAAA,CAA1CC,EAAS,EAAEtJ,MAAM2B,QAAQ4H,SAAS,GAAA,CAAA,CAAA,GADvBpD,EAC+BqD,WAAA,SAAA,CACfH,GAAAA,EAAA,CAA3BC,EAAS,EAAEtJ,MAAMyJ,OAAAA,CAAAA,CAAAA,GAFNtD,EAEgBqD,WAAA,UAAA,CACXH,GAAAA,EAAA,CAAhBK,EAAAA,CAAAA,GAHWvD,EAGKqD,WAAA,YAAA,CACoCH,GAAAA,EAAA,CAApDM,EAAQ,EAAEC,SAAS3D,GAAcsC,WAAAA,QAJtBpC,EAIyCqD,WAAA,eAAA,CAAA,GACjBH,EAAA,CAAnCQ,EAAQ,EAAED,SAAS3D,OALRE,EAKwBqD,WAAA,kBAAA,CAAA,GAEPH,EAAA,CAA5BC,EAAS,EAAEtJ,MAAM8J,aAPN3D,EAOiBqD,WAAA,QAAA,CAAA,GAQ7BH,EAAA,CAHCU,EAAsB,EACtBC,SAAAA,QAbW7D,EAeZqD,WAAA,oBAAA,CAAA,GAfYrD,IAANkD,EAAA,CADNY,EAAc,gBACF9D,CAAAA,GAAAA,CAAAA;","x_google_ignoreList":[0,1,2]}
@@ -1,4 +1,4 @@
1
- "use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-_VUNOf1R.cjs"),x=require("./consume-Di0U0iBU.cjs"),q=require("./litElement.mixin-d9rhslEw.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(n=>requestAnimationFrame(n)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(n,t)=>{const e=n-t;return e===0?void 0:e},w=(n,t)=>{const e=n/t;return e===1?void 0:e},f={left:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(n,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(n,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){var t;(t=this.resolveFinished)==null||t.call(this),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){var t;(t=this.l)==null||t.call(this),this.l=void 0}render(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){var t;return this.options.disabled||((t=this.getController())==null?void 0:t.disabled)}update(t,[e]){var s;const i=this.u===void 0;return i&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this),this.u.updateComplete.then(o=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??(t.properties=B),this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const o=e[s]??(f[s]?void 0:i[s]),r=Number(o);t[s]=isNaN(r)?o+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((o,r)=>o===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await A;const e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:o,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,o,r]),t=this.calculateKeyframes(o,r)}else{const o=y.get(this.options.inId);if(o){y.delete(this.options.inId);const{from:r,to:h}=this.N(o,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(this.element.setAttribute("style",this.P??""),this.P=void 0)}commitStyles(){var t,e;this.P=this.element.getAttribute("style"),(t=this.webAnimation)==null||t.commitStyles(),(e=this.webAnimation)==null||e.cancel()}reconnected(){}async disconnected(){var e;if(!this.h||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),(e=this.i)==null?void 0:e.isConnected){const i=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,i),this.options.stabilizeOut){const s=this.m();this.log("stabilizing out");const o=this.A.left-s.left,r=this.A.top-s.top;getComputedStyle(this.element).position!=="static"||o===0&&r===0||(this.element.style.position="relative"),o!==0&&(this.element.style.left=o+"px"),r!==0&&(this.element.style.top=r+"px")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){var t,e;(e=(t=this.options).onStart)==null||e.call(t,this)}didFinish(t){var e,i;t&&((i=(e=this.options).onComplete)==null||i.call(e,this)),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let e=this.element.parentNode;e;e=e==null?void 0:e.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let o=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(o/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=o*t.left,e.left=o*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},o={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,o[a]=p)}return s.transformOrigin=o.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,o]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s==null||s.add(this);try{await this.webAnimation.finished}catch{}s==null||s.remove(this)}return this.didFinish(i),i}isAnimating(){var t,e;return((t=this.webAnimation)==null?void 0:t.playState)==="running"||((e=this.webAnimation)==null?void 0:e.pending)}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){var s;return this.u===void 0&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){var o,r;const t=typeof this.C=="function"?this.C():(o=this.C)==null?void 0:o.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();(r=this.F)==null||r.forEach(h=>{const a=U.includes(h)?i[h]-s[h]:i[h];this.S.style[h]=a+"px"})}}function O(n){let t=2166136261;for(let e=0;e<n.length;e++)t^=n.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(n,t,e,i)=>{for(var s,o=i>1?void 0:i?W(t,e):t,r=n.length-1;r>=0;r--)(s=n[r])&&(o=(i?s(t,e,o):s(o))||o);return i&&o&&z(t,e,o),o};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){var n;super.disconnectedCallback(),(n=this.mutationObserver)==null||n.disconnect()}observeSlotChanges(){var t;const n=(t=this.shadowRoot)==null?void 0:t.querySelector("slot");n&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(n,{childList:!0,subtree:!0}))}getTotalSiblingDelay(n){if(!(n&&n instanceof HTMLElement))return 0;let t=0,e=n.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return n.parentElement&&(t+=this.getTotalSiblingDelay(n.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const n=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+n,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const n=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(n):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
1
+ "use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-_VUNOf1R.cjs"),x=require("./consume-Di0U0iBU.cjs"),q=require("./litElement.mixin-B9kSOE4x.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(n=>requestAnimationFrame(n)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(n,t)=>{const e=n-t;return e===0?void 0:e},w=(n,t)=>{const e=n/t;return e===1?void 0:e},f={left:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(n,t)=>{const e=C(n,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(n,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(n,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(n,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){var t;(t=this.resolveFinished)==null||t.call(this),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){var t;(t=this.l)==null||t.call(this),this.l=void 0}render(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){var t;return this.options.disabled||((t=this.getController())==null?void 0:t.disabled)}update(t,[e]){var s;const i=this.u===void 0;return i&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this),this.u.updateComplete.then(o=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??(t.properties=B),this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const o=e[s]??(f[s]?void 0:i[s]),r=Number(o);t[s]=isNaN(r)?o+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((o,r)=>o===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await A;const e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:o,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,o,r]),t=this.calculateKeyframes(o,r)}else{const o=y.get(this.options.inId);if(o){y.delete(this.options.inId);const{from:r,to:h}=this.N(o,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(this.element.setAttribute("style",this.P??""),this.P=void 0)}commitStyles(){var t,e;this.P=this.element.getAttribute("style"),(t=this.webAnimation)==null||t.commitStyles(),(e=this.webAnimation)==null||e.cancel()}reconnected(){}async disconnected(){var e;if(!this.h||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),(e=this.i)==null?void 0:e.isConnected){const i=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,i),this.options.stabilizeOut){const s=this.m();this.log("stabilizing out");const o=this.A.left-s.left,r=this.A.top-s.top;getComputedStyle(this.element).position!=="static"||o===0&&r===0||(this.element.style.position="relative"),o!==0&&(this.element.style.left=o+"px"),r!==0&&(this.element.style.top=r+"px")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){var t,e;(e=(t=this.options).onStart)==null||e.call(t,this)}didFinish(t){var e,i;t&&((i=(e=this.options).onComplete)==null||i.call(e,this)),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let e=this.element.parentNode;e;e=e==null?void 0:e.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let o=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(o/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=o*t.left,e.left=o*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},o={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,o[a]=p)}return s.transformOrigin=o.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,o]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s==null||s.add(this);try{await this.webAnimation.finished}catch{}s==null||s.remove(this)}return this.didFinish(i),i}isAnimating(){var t,e;return((t=this.webAnimation)==null?void 0:t.playState)==="running"||((e=this.webAnimation)==null?void 0:e.pending)}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){var s;return this.u===void 0&&(this.u=(s=t.options)==null?void 0:s.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){var o,r;const t=typeof this.C=="function"?this.C():(o=this.C)==null?void 0:o.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();(r=this.F)==null||r.forEach(h=>{const a=U.includes(h)?i[h]-s[h]:i[h];this.S.style[h]=a+"px"})}}function O(n){let t=2166136261;for(let e=0;e<n.length;e++)t^=n.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(n,t,e,i)=>{for(var s,o=i>1?void 0:i?W(t,e):t,r=n.length-1;r>=0;r--)(s=n[r])&&(o=(i?s(t,e,o):s(o))||o);return i&&o&&z(t,e,o),o};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){var n;super.disconnectedCallback(),(n=this.mutationObserver)==null||n.disconnect()}observeSlotChanges(){var t;const n=(t=this.shadowRoot)==null?void 0:t.querySelector("slot");n&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(n,{childList:!0,subtree:!0}))}getTotalSiblingDelay(n){if(!(n&&n instanceof HTMLElement))return 0;let t=0,e=n.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return n.parentElement&&(t+=this.getTotalSiblingDelay(n.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const n=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+n,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const n=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(n):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
2
2
  ${H({in:this.motionLit,keyframeOptions:{duration:300,easing:"ease-out"}})}
3
3
  >
4
4
  <slot></slot>
@@ -7,4 +7,4 @@
7
7
  <slot></slot>
8
8
  </section>
9
9
  `)}},l([c.property({type:Number,reflect:!0})],exports.SchmancyDelay.prototype,"delay",2),l([c.property({type:String})],exports.SchmancyDelay.prototype,"motion",2),l([c.state()],exports.SchmancyDelay.prototype,"rendered",2),l([x.c({context:g,subscribe:!0})],exports.SchmancyDelay.prototype,"parentDelay",2),l([k.e({context:g})],exports.SchmancyDelay.prototype,"effectiveDelay",2),l([c.property({type:Boolean})],exports.SchmancyDelay.prototype,"once",2),l([c.queryAssignedElements({flatten:!0})],exports.SchmancyDelay.prototype,"assignedElements",2),exports.SchmancyDelay=l([c.customElement("schmancy-delay")],exports.SchmancyDelay),exports.delayContext=g,exports.hashContent=O;
10
- //# sourceMappingURL=delay-C0n9lJNW.cjs.map
10
+ //# sourceMappingURL=delay-_LA9VzS1.cjs.map