@mhmo91/schmancy 0.1.3 → 0.1.4

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 (206) hide show
  1. package/dist/{animated-text-CXWL8BLX.js → animated-text-BCx3uq9B.js} +3 -3
  2. package/dist/{animated-text-CXWL8BLX.js.map → animated-text-BCx3uq9B.js.map} +1 -1
  3. package/dist/{animated-text-Be1GRrxM.cjs → animated-text-D_T5sX3t.cjs} +2 -2
  4. package/dist/{animated-text-Be1GRrxM.cjs.map → animated-text-D_T5sX3t.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-lv5p1JAi.js → area.component-BalqG_FH.js} +3 -3
  9. package/dist/{area.component-lv5p1JAi.js.map → area.component-BalqG_FH.js.map} +1 -1
  10. package/dist/{area.component-BdOz0QVI.cjs → area.component-Bibvw6d1.cjs} +2 -2
  11. package/dist/{area.component-BdOz0QVI.cjs.map → area.component-Bibvw6d1.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-DUasFfQd.cjs → autocomplete-BgIIYq3a.cjs} +2 -2
  14. package/dist/{autocomplete-DUasFfQd.cjs.map → autocomplete-BgIIYq3a.cjs.map} +1 -1
  15. package/dist/{autocomplete-IIohssup.js → autocomplete-Cy1fRL5A.js} +3 -3
  16. package/dist/{autocomplete-IIohssup.js.map → autocomplete-Cy1fRL5A.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-rX1ai5aE.js → checkbox-BzuKq4qC.js} +2 -2
  26. package/dist/{checkbox-rX1ai5aE.js.map → checkbox-BzuKq4qC.js.map} +1 -1
  27. package/dist/{checkbox-UGSiC4-7.cjs → checkbox-Ds3EPb8t.cjs} +2 -2
  28. package/dist/{checkbox-UGSiC4-7.cjs.map → checkbox-Ds3EPb8t.cjs.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-DKyOFX0b.js → chips-BvcQDTi1.js} +3 -3
  32. package/dist/{chips-DKyOFX0b.js.map → chips-BvcQDTi1.js.map} +1 -1
  33. package/dist/{chips-42rqq7eR.cjs → chips-COxP_IMG.cjs} +2 -2
  34. package/dist/{chips-42rqq7eR.cjs.map → chips-COxP_IMG.cjs.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-Dx0X9XkD.cjs → date-range-Cmxn4OYH.cjs} +2 -2
  42. package/dist/{date-range-Dx0X9XkD.cjs.map → date-range-Cmxn4OYH.cjs.map} +1 -1
  43. package/dist/{date-range-Cv7J4zqk.js → date-range-DhYgGxEE.js} +3 -3
  44. package/dist/{date-range-Cv7J4zqk.js.map → date-range-DhYgGxEE.js.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-DDTFbzUT.js → delay-6UC8dFu4.js} +2 -2
  48. package/dist/{delay-DDTFbzUT.js.map → delay-6UC8dFu4.js.map} +1 -1
  49. package/dist/{delay-BknG_sX0.cjs → delay-DGSs_qVV.cjs} +2 -2
  50. package/dist/{delay-BknG_sX0.cjs.map → delay-DGSs_qVV.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-LocxHBJv.js → divider--AgsKuTg.js} +3 -3
  54. package/dist/{divider-LocxHBJv.js.map → divider--AgsKuTg.js.map} +1 -1
  55. package/dist/{divider-CA2cFFcc.cjs → divider-DDJxZlO5.cjs} +2 -2
  56. package/dist/{divider-CA2cFFcc.cjs.map → divider-DDJxZlO5.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-RAgk2SSz.cjs → form-CxU9C4Sr.cjs} +2 -2
  60. package/dist/{form-RAgk2SSz.cjs.map → form-CxU9C4Sr.cjs.map} +1 -1
  61. package/dist/{form-BV79BLFu.js → form-F1Rt7sdm.js} +2 -2
  62. package/dist/{form-BV79BLFu.js.map → form-F1Rt7sdm.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-DBIGGdxd.cjs → icon-BxgOV323.cjs} +2 -2
  66. package/dist/{icon-DBIGGdxd.cjs.map → icon-BxgOV323.cjs.map} +1 -1
  67. package/dist/{icon-DMom-EmW.js → icon-DQoD7nQe.js} +3 -3
  68. package/dist/{icon-DMom-EmW.js.map → icon-DQoD7nQe.js.map} +1 -1
  69. package/dist/{icon-button-cP-S-rgo.cjs → icon-button-DxMW937h.cjs} +2 -2
  70. package/dist/{icon-button-cP-S-rgo.cjs.map → icon-button-DxMW937h.cjs.map} +1 -1
  71. package/dist/{icon-button-B1siCgt2.js → icon-button-DxkT7RlS.js} +3 -3
  72. package/dist/{icon-button-B1siCgt2.js.map → icon-button-DxkT7RlS.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 +30 -30
  77. package/dist/{input-JeE5xI6K.js → input-Bej6rZig.js} +2 -2
  78. package/dist/{input-JeE5xI6K.js.map → input-Bej6rZig.js.map} +1 -1
  79. package/dist/{input-BE2Nmifh.cjs → input-C8EwWgnx.cjs} +2 -2
  80. package/dist/{input-BE2Nmifh.cjs.map → input-C8EwWgnx.cjs.map} +1 -1
  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.cjs +1 -1
  86. package/dist/list.js +1 -1
  87. package/dist/{litElement.mixin-BQQ8SViR.js → litElement.mixin-BXHgZn36.js} +2 -2
  88. package/dist/{litElement.mixin-BQQ8SViR.js.map → litElement.mixin-BXHgZn36.js.map} +1 -1
  89. package/dist/{litElement.mixin-T2hfvva-.cjs → litElement.mixin-Dr3N9KpR.cjs} +2 -2
  90. package/dist/{litElement.mixin-T2hfvva-.cjs.map → litElement.mixin-Dr3N9KpR.cjs.map} +1 -1
  91. package/dist/{menu-HLuts8V3.js → menu-CYQ61iYv.js} +3 -3
  92. package/dist/{menu-HLuts8V3.js.map → menu-CYQ61iYv.js.map} +1 -1
  93. package/dist/{menu-CcoCzR8e.cjs → menu-FVfRm6pe.cjs} +2 -2
  94. package/dist/{menu-CcoCzR8e.cjs.map → menu-FVfRm6pe.cjs.map} +1 -1
  95. package/dist/menu.cjs +1 -1
  96. package/dist/menu.js +1 -1
  97. package/dist/mixins/tailwind.css +387 -1
  98. package/dist/nav-drawer.cjs +1 -1
  99. package/dist/nav-drawer.js +1 -1
  100. package/dist/notification.cjs +1 -1
  101. package/dist/notification.js +1 -1
  102. package/dist/{option-Bzi4aanD.cjs → option-CI-vjChb.cjs} +2 -2
  103. package/dist/{option-Bzi4aanD.cjs.map → option-CI-vjChb.cjs.map} +1 -1
  104. package/dist/{option-C5egpChO.js → option-DoH4NEmh.js} +2 -2
  105. package/dist/{option-C5egpChO.js.map → option-DoH4NEmh.js.map} +1 -1
  106. package/dist/option.cjs +1 -1
  107. package/dist/option.js +1 -1
  108. package/dist/{outlet-CQ6YXEen.cjs → outlet-BJ525TFe.cjs} +2 -2
  109. package/dist/{outlet-CQ6YXEen.cjs.map → outlet-BJ525TFe.cjs.map} +1 -1
  110. package/dist/{outlet-CXxpQ37y.js → outlet-ENTF9Aj-.js} +2 -2
  111. package/dist/{outlet-CXxpQ37y.js.map → outlet-ENTF9Aj-.js.map} +1 -1
  112. package/dist/{payment-card-form-DNI4IjK7.cjs → payment-card-form-C2PD41dx.cjs} +2 -2
  113. package/dist/{payment-card-form-DNI4IjK7.cjs.map → payment-card-form-C2PD41dx.cjs.map} +1 -1
  114. package/dist/{payment-card-form-BNCVkn4A.js → payment-card-form-Knq6tf3U.js} +3 -3
  115. package/dist/{payment-card-form-BNCVkn4A.js.map → payment-card-form-Knq6tf3U.js.map} +1 -1
  116. package/dist/{radio-group-CPmdicYZ.js → radio-group-BXJjZm-z.js} +2 -2
  117. package/dist/{radio-group-CPmdicYZ.js.map → radio-group-BXJjZm-z.js.map} +1 -1
  118. package/dist/{radio-group-DiecmCUy.cjs → radio-group-Ci2VDqG-.cjs} +2 -2
  119. package/dist/{radio-group-DiecmCUy.cjs.map → radio-group-Ci2VDqG-.cjs.map} +1 -1
  120. package/dist/radio-group.cjs +1 -1
  121. package/dist/radio-group.js +1 -1
  122. package/dist/{scroll-CmQioZO_.cjs → scroll-DBqmP5Nd.cjs} +2 -2
  123. package/dist/{scroll-CmQioZO_.cjs.map → scroll-DBqmP5Nd.cjs.map} +1 -1
  124. package/dist/{scroll-C2AdiqOm.js → scroll-Dt87Newt.js} +2 -2
  125. package/dist/{scroll-C2AdiqOm.js.map → scroll-Dt87Newt.js.map} +1 -1
  126. package/dist/{select-CHqzliGG.js → select-B6VZmKFM.js} +3 -3
  127. package/dist/{select-CHqzliGG.js.map → select-B6VZmKFM.js.map} +1 -1
  128. package/dist/{select-BPPcWB35.cjs → select-CbxcDK55.cjs} +2 -2
  129. package/dist/{select-BPPcWB35.cjs.map → select-CbxcDK55.cjs.map} +1 -1
  130. package/dist/select.cjs +1 -1
  131. package/dist/select.js +1 -1
  132. package/dist/{sheet-KV0oZtrR.cjs → sheet-Cy9Cw12T.cjs} +2 -2
  133. package/dist/{sheet-KV0oZtrR.cjs.map → sheet-Cy9Cw12T.cjs.map} +1 -1
  134. package/dist/{sheet-CGmu7xn7.js → sheet-DIbsOEmM.js} +3 -3
  135. package/dist/{sheet-CGmu7xn7.js.map → sheet-DIbsOEmM.js.map} +1 -1
  136. package/dist/sheet.cjs +1 -1
  137. package/dist/sheet.js +1 -1
  138. package/dist/{slider-D-M3pFtn.js → slider-BTMAoZhi.js} +3 -3
  139. package/dist/{slider-D-M3pFtn.js.map → slider-BTMAoZhi.js.map} +1 -1
  140. package/dist/{slider-D8zKzxgN.cjs → slider-C-wDCLNT.cjs} +2 -2
  141. package/dist/{slider-D8zKzxgN.cjs.map → slider-C-wDCLNT.cjs.map} +1 -1
  142. package/dist/slider.cjs +1 -1
  143. package/dist/slider.js +1 -1
  144. package/dist/{spinner-C-2I7yH9.cjs → spinner-CwgKGgNf.cjs} +2 -2
  145. package/dist/{spinner-C-2I7yH9.cjs.map → spinner-CwgKGgNf.cjs.map} +1 -1
  146. package/dist/{spinner-Bxpq8jN0.js → spinner-DpSRuFXK.js} +2 -2
  147. package/dist/{spinner-Bxpq8jN0.js.map → spinner-DpSRuFXK.js.map} +1 -1
  148. package/dist/{surface-B0Wpttcp.js → surface-BLP3a7_t.js} +2 -2
  149. package/dist/{surface-B0Wpttcp.js.map → surface-BLP3a7_t.js.map} +1 -1
  150. package/dist/{surface-K6V6QGZ7.cjs → surface-CcDN3qmB.cjs} +2 -2
  151. package/dist/{surface-K6V6QGZ7.cjs.map → surface-CcDN3qmB.cjs.map} +1 -1
  152. package/dist/surface.cjs +1 -1
  153. package/dist/surface.js +1 -1
  154. package/dist/{table-CNa5CVCb.cjs → table-C3g0IaFH.cjs} +2 -2
  155. package/dist/{table-CNa5CVCb.cjs.map → table-C3g0IaFH.cjs.map} +1 -1
  156. package/dist/{table-DXYjwhsS.js → table-fOcTT-Aa.js} +2 -2
  157. package/dist/{table-DXYjwhsS.js.map → table-fOcTT-Aa.js.map} +1 -1
  158. package/dist/table.cjs +1 -1
  159. package/dist/table.js +1 -1
  160. package/dist/{tabs-group-B6L2cvkm.cjs → tabs-group-CPLdWIDf.cjs} +2 -2
  161. package/dist/{tabs-group-B6L2cvkm.cjs.map → tabs-group-CPLdWIDf.cjs.map} +1 -1
  162. package/dist/{tabs-group-jVXSw4vO.js → tabs-group-CQ35dSM7.js} +2 -2
  163. package/dist/{tabs-group-jVXSw4vO.js.map → tabs-group-CQ35dSM7.js.map} +1 -1
  164. package/dist/tabs.cjs +1 -1
  165. package/dist/tabs.js +1 -1
  166. package/dist/tailwind.mixin-DTfnCU8A.js +43 -0
  167. package/dist/{tailwind.mixin-DZctuRzi.js.map → tailwind.mixin-DTfnCU8A.js.map} +1 -1
  168. package/dist/tailwind.mixin-DXloUbDW.cjs +2 -0
  169. package/dist/{tailwind.mixin-BXsGUMQ1.cjs.map → tailwind.mixin-DXloUbDW.cjs.map} +1 -1
  170. package/dist/teleport.cjs +1 -1
  171. package/dist/teleport.js +1 -1
  172. package/dist/{textarea-B6Pl8Y2D.cjs → textarea-Ciy-fDVT.cjs} +2 -2
  173. package/dist/{textarea-B6Pl8Y2D.cjs.map → textarea-Ciy-fDVT.cjs.map} +1 -1
  174. package/dist/{textarea-Buxkp6z0.js → textarea-D1v_yuuH.js} +2 -2
  175. package/dist/{textarea-Buxkp6z0.js.map → textarea-D1v_yuuH.js.map} +1 -1
  176. package/dist/textarea.cjs +1 -1
  177. package/dist/textarea.js +1 -1
  178. package/dist/{theme-button-CWM-0CJh.cjs → theme-button-CHqm5wRe.cjs} +3 -3
  179. package/dist/theme-button-CHqm5wRe.cjs.map +1 -0
  180. package/dist/{theme-button-BQZkb1t4.js → theme-button-DzklvaUI.js} +33 -33
  181. package/dist/theme-button-DzklvaUI.js.map +1 -0
  182. package/dist/theme-button.cjs +1 -1
  183. package/dist/theme-button.js +1 -1
  184. package/dist/{tree-7PVEhRCU.js → tree-ChmtrAZ4.js} +2 -2
  185. package/dist/{tree-7PVEhRCU.js.map → tree-ChmtrAZ4.js.map} +1 -1
  186. package/dist/{tree-nmdWfp9I.cjs → tree-tDas5Jqs.cjs} +2 -2
  187. package/dist/{tree-nmdWfp9I.cjs.map → tree-tDas5Jqs.cjs.map} +1 -1
  188. package/dist/tree.cjs +1 -1
  189. package/dist/tree.js +1 -1
  190. package/dist/{typewriter-DnGkvyDG.cjs → typewriter-CPS8Fql3.cjs} +2 -2
  191. package/dist/{typewriter-DnGkvyDG.cjs.map → typewriter-CPS8Fql3.cjs.map} +1 -1
  192. package/dist/{typewriter-ZnPAe8JA.js → typewriter-DgJpnOI0.js} +4 -4
  193. package/dist/{typewriter-ZnPAe8JA.js.map → typewriter-DgJpnOI0.js.map} +1 -1
  194. package/dist/typewriter.cjs +1 -1
  195. package/dist/typewriter.js +1 -1
  196. package/dist/{typography-oGjgh4qJ.cjs → typography-BLCdd5_e.cjs} +2 -2
  197. package/dist/{typography-oGjgh4qJ.cjs.map → typography-BLCdd5_e.cjs.map} +1 -1
  198. package/dist/{typography-L0ZKDX-X.js → typography-R8MNzkWa.js} +2 -2
  199. package/dist/{typography-L0ZKDX-X.js.map → typography-R8MNzkWa.js.map} +1 -1
  200. package/dist/typography.cjs +1 -1
  201. package/dist/typography.js +1 -1
  202. package/package.json +1 -1
  203. package/dist/tailwind.mixin-BXsGUMQ1.cjs +0 -2
  204. package/dist/tailwind.mixin-DZctuRzi.js +0 -43
  205. package/dist/theme-button-BQZkb1t4.js.map +0 -1
  206. package/dist/theme-button-CWM-0CJh.cjs.map +0 -1
@@ -1,47 +1,47 @@
1
1
  import { Subject as Q, merge as Z, fromEvent as b, startWith as ut, tap as v, map as h, debounceTime as bt, distinctUntilChanged as J, takeUntil as d, from as nt, of as X, Observable as $t, zip as at, filter as gt, take as Ct, timeout as Dt, bufferTime as jt, concatMap as kt, interval as Et, throwIfEmpty as Mt } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as $ } from "./tailwind.mixin-DZctuRzi.js";
4
+ import { T as $ } from "./tailwind.mixin-DTfnCU8A.js";
5
5
  import { css as g, html as a, nothing as ft } from "lit";
6
6
  import { customElement as l, property as c, state as m, queryAssignedElements as L, query as tt } from "lit/decorators.js";
7
- import "./animated-text-CXWL8BLX.js";
8
- import { a as ct, F as Pt, H as Wt } from "./area.component-lv5p1JAi.js";
9
- import "./autocomplete-IIohssup.js";
10
- import "./spinner-Bxpq8jN0.js";
11
- import "./icon-button-B1siCgt2.js";
7
+ import "./animated-text-BCx3uq9B.js";
8
+ import { a as ct, F as Pt, H as Wt } from "./area.component-BalqG_FH.js";
9
+ import "./autocomplete-Cy1fRL5A.js";
10
+ import "./spinner-DpSRuFXK.js";
11
+ import "./icon-button-DxkT7RlS.js";
12
12
  import { S as N } from "./theme.interface-C5Kj6WjD.js";
13
- import "./checkbox-rX1ai5aE.js";
14
- import "./chips-DKyOFX0b.js";
15
- import "./payment-card-form-BNCVkn4A.js";
13
+ import "./checkbox-BzuKq4qC.js";
14
+ import "./chips-BvcQDTi1.js";
15
+ import "./payment-card-form-Knq6tf3U.js";
16
16
  import { SchmancyEvents as y } from "./types.js";
17
17
  import { n as C, e as O } from "./provide-kj6-udep.js";
18
- import { $ as k } from "./litElement.mixin-BQQ8SViR.js";
18
+ import { $ as k } from "./litElement.mixin-BXHgZn36.js";
19
19
  import { c as p } from "./consume-DSKPc5vj.js";
20
- import "./date-range-Cv7J4zqk.js";
21
- import "./delay-DDTFbzUT.js";
20
+ import "./date-range-DhYgGxEE.js";
21
+ import "./delay-6UC8dFu4.js";
22
22
  import { c as W, f as zt } from "./ripple-BumgqsDT.js";
23
- import "./divider-LocxHBJv.js";
24
- import "./form-BV79BLFu.js";
25
- import "./icon-DMom-EmW.js";
26
- import "./input-JeE5xI6K.js";
27
- import "./scroll-C2AdiqOm.js";
28
- import { a as St } from "./surface-B0Wpttcp.js";
23
+ import "./divider--AgsKuTg.js";
24
+ import "./form-F1Rt7sdm.js";
25
+ import "./icon-DQoD7nQe.js";
26
+ import "./input-Bej6rZig.js";
27
+ import "./scroll-Dt87Newt.js";
28
+ import { a as St } from "./surface-BLP3a7_t.js";
29
29
  import { when as R } from "lit/directives/when.js";
30
- import "./menu-HLuts8V3.js";
31
- import "./outlet-CXxpQ37y.js";
32
- import "./option-C5egpChO.js";
33
- import "./radio-group-CPmdicYZ.js";
30
+ import "./menu-CYQ61iYv.js";
31
+ import "./outlet-ENTF9Aj-.js";
32
+ import "./option-DoH4NEmh.js";
33
+ import "./radio-group-BXJjZm-z.js";
34
34
  import "./index-CuY8m6ta.js";
35
- import "./select-CHqzliGG.js";
36
- import { s as K } from "./sheet-CGmu7xn7.js";
37
- import "./slider-D-M3pFtn.js";
38
- import "./table-DXYjwhsS.js";
39
- import "./tabs-group-jVXSw4vO.js";
40
- import "./textarea-Buxkp6z0.js";
35
+ import "./select-B6VZmKFM.js";
36
+ import { s as K } from "./sheet-DIbsOEmM.js";
37
+ import "./slider-BTMAoZhi.js";
38
+ import "./table-fOcTT-Aa.js";
39
+ import "./tabs-group-CQ35dSM7.js";
40
+ import "./textarea-D1v_yuuH.js";
41
41
  import { $ as It } from "./dynamicTheme-DYtQDYE_.js";
42
- import "./tree-7PVEhRCU.js";
43
- import "./typewriter-ZnPAe8JA.js";
44
- import "./typography-L0ZKDX-X.js";
42
+ import "./tree-ChmtrAZ4.js";
43
+ import "./typewriter-DgJpnOI0.js";
44
+ import "./typography-R8MNzkWa.js";
45
45
  import { map as Ht, distinctUntilChanged as Tt, take as Nt } from "rxjs/operators";
46
46
  var Rt = Object.defineProperty, _t = Object.getOwnPropertyDescriptor;
47
47
  let lt = class extends $(g`
@@ -66,7 +66,7 @@ let _ = class extends $() {
66
66
  super(...arguments), this.type = "elevated", this.elevation = 0;
67
67
  }
68
68
  render() {
69
- const t = { "rounded-md": !0, "shadow-1": this.elevation === 1, "shadow-2": this.elevation === 2, "shadow-3": this.elevation === 3, "shadow-4": this.elevation === 4, "shadow-5": this.elevation === 5, "hover:shadow-1": ["outlined", "filled"].includes(this.type), "bg-surface-low shadow-1 hover:shadow-2": this.type === "elevated", "bg-surface-highest": this.type === "filled", "bg-surface-default border-1 border-outlineVariant": this.type === "outlined" };
69
+ const t = { "rounded-md": !0, "shadow-1": this.elevation === 1, "shadow-2": this.elevation === 2, "shadow-3": this.elevation === 3, "shadow-4": this.elevation === 4, "shadow-5": this.elevation === 5, "hover:shadow-1": ["outlined", "filled"].includes(this.type), "bg-surface-low shadow-1 hover:shadow-2": this.type === "elevated", "bg-surface-highest": this.type === "filled", "bg-surface-default border border-solid border-1 border-outlineVariant": this.type === "outlined" };
70
70
  return a`<div class="${this.classMap(t)}">
71
71
  <slot> </slot>
72
72
  </div>`;
@@ -588,4 +588,4 @@ export {
588
588
  ns as s,
589
589
  U as t
590
590
  };
591
- //# sourceMappingURL=theme-button-BQZkb1t4.js.map
591
+ //# sourceMappingURL=theme-button-DzklvaUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-button-DzklvaUI.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts","../src/content-drawer/$sheet.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/list/list-item.ts","../src/list/context.ts","../src/list/list.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts","../src/theme-button/theme-button.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html` <section class=\"pb-4 px-4\"><slot> </slot></section> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardMedia\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement() {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'rounded-md': true,\n\t\t\t'shadow-1': this.elevation === 1,\n\t\t\t'shadow-2': this.elevation === 2,\n\t\t\t'shadow-3': this.elevation === 3,\n\t\t\t'shadow-4': this.elevation === 4,\n\t\t\t'shadow-5': this.elevation === 5,\n\t\t\t'hover:shadow-1': ['outlined', 'filled'].includes(this.type),\n\t\t\t'bg-surface-low shadow-1 hover:shadow-2': this.type === 'elevated',\n\t\t\t'bg-surface-highest': this.type === 'filled',\n\t\t\t'bg-surface-default border border-solid border-1 border-outlineVariant': this.type === 'outlined',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\">\n\t\t\t<slot> </slot>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-card-content\n * @slot headline\n * @slot subhead\n * @slot default - The content of the card\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement() {\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'px-[16px] py-[24px]': true,\n\t\t}\n\t\tconst onSurface = SchmancyTheme.sys.color.surface.on\n\t\tconst onSurfaceVariant = SchmancyTheme.sys.color.surface.onVariant\n\t\treturn html`<schmancy-grid gap=\"md\" class=\"${this.classMap(classes)}\">\n\t\t\t<schmancy-grid gap=\"xs\">\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurface,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"lg\"\n\t\t\t\t\t><slot name=\"headline\"> </slot\n\t\t\t\t></schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t><slot name=\"subhead\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-grid>\n\t\t\t<schmancy-typography\n\t\t\t\ttype=\"body\"\n\t\t\t\t${color({\n\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-typography>\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\theight: '200px',\n\t\t}\n\t\tconst classes = {\n\t\t\t'object-center': true,\n\t\t\t'object-contain': this.fit === 'contain',\n\t\t\t'object-cover w-full': this.fit === 'cover',\n\t\t\t'object-fill': this.fit === 'fill',\n\t\t\t'object-none': this.fit === 'none',\n\t\t\t'object-scale-down': this.fit === 'scale-down',\n\t\t}\n\t\treturn html`<schmancy-grid align=\"stretch\" justify=\"stretch\" gap=\"md\">\n\t\t\t<img src=\"${this.src}\" style=${this.styleMap(styles)} class=\"${this.classMap(classes)}\" />\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\ttap(() => console.log(this.minWidth)),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { SchmancySurfaceTypeContext } from '@schmancy/surface/context'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-list-item\n * @slot leading - leading content\n * @slot trailing - trailing content\n * @slot - default content\n */\n@customElement('schmancy-list-item')\nexport class SchmancyListItem extends TailwindElement() {\n\t@consume({ context: SchmancySurfaceTypeContext, subscribe: true })\n\t@property()\n\tvariant: TSurfaceColor\n\n\t@property({ type: Boolean })\n\trounded: boolean\n\n\t@property({ type: Boolean }) readonly: boolean\n\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t@queryAssignedElements({\n\t\tslot: 'leading',\n\t\tflatten: true,\n\t})\n\tprivate leading!: HTMLElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'trailing',\n\t\tflatten: true,\n\t})\n\tprivate trailing!: HTMLElement[]\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['h-[24px]', 'w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.leading?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.trailing?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'w-full min-h-[56px] relative flex items-center gap-[16px] py-[8px] px-[16px] duration-500 transition-colors':\n\t\t\t\ttrue,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'z-0 duration-500 transition-opacity': true,\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': !this.readonly,\n\t\t}\n\t\treturn html`<li class=${this.classMap(classes)}>\n\t\t\t${when(!this.readonly, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t<slot name=\"leading\"> </slot>\n\t\t\t<schmancy-flex flow=\"row\">\n\t\t\t\t<schmancy-typography type=\"body\" token=\"lg\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.onVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"md\"\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"support\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-flex>\n\t\t\t${when(!this.readonly, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div> `)}\n\t\t\t<slot name=\"trailing\"></slot>\n\t\t</li>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list-item': SchmancyListItem\n\t}\n}\n","import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancyListTypeContext = createContext<TSurfaceColor>(undefined)\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyListTypeContext } from './context'\n\n/**\n * @slot - The default slot.\n */\n@customElement('schmancy-list')\nexport class List extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding-top: 8px;\n\t\tpadding-bottom: 8px;\n\t}\n`) {\n\t/**\n\t * The type of list.\n\t * @attr type\n\t * @type {SchmancyListType}\n\t * @default 'surface'\n\t */\n\t@provide({ context: SchmancyListTypeContext })\n\t@property()\n\tsurface: TSurfaceColor\n\n\trender() {\n\t\treturn html`\n\t\t\t<schmancy-surface type=${this.surface}>\n\t\t\t\t<ul>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list': List\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.subscribe(data => {\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.sidebarMode === 'overlay' && this.toggler ? 'auto 1fr' : '1fr'}\n\t\t\t\tflow=\"col\"\n\t\t\t\tclass=${this.classMap(appbarClasses)}\n\t\t\t\tgap=\"sm\"\n\t\t\t\talign=\"center\"\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The minimum width of the sidebar\n\t * @attr\tbreakpoint\n\t * @type {number}\n\t * @memberof SchmancyNavigationDrawer\n\t */\n\t@property({ type: Number, attribute: 'breakpoint' })\n\tbreakpoint: number = 768\n\n\t/**\n\t * The mode of the sidebar\n\t * @type {TSchmancyDrawerNavbarMode}\n\t * @memberof SchmancyNavigationDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => event.target as Window),\n\t\t\t\tstartWith(window),\n\t\t\t\tmap(window => window.innerWidth),\n\t\t\t\tmap(width => width >= this.breakpoint),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t// Removed: import { animate } from '@packages/src'\n\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tprivate state: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\t// Your touch event logic can stay here if needed\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (changedProperties.has('state')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.openOverlay()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tthis.closeOverlay()\n\t\t\t}\n\t\t}\n\t}\n\n\topenOverlay() {\n\t\t// Equivalent to onBegin\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Animate opacity from 0 to 0.4\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards', // <-- This keeps the final keyframe (0.4) after finishing\n\t\t})\n\t\t// If you want an onfinish here, you can add it:\n\t\t// .onfinish = () => console.log('overlay opened!')\n\t}\n\n\tcloseOverlay() {\n\t\t// Animate opacity from 0.4 to 0\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: 150,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t})\n\n\t\t// Equivalent to onComplete\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst animate = {\n\t\t\t'transition-all transform-gpu duration-[200ms] ease-[cubicBezier(0.5, 0.01, 0.25, 1)]': true,\n\t\t}\n\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 translate-x-[-100%] z-50': this.mode === 'overlay',\n\t\t\t'translate-x-0': this.mode === 'overlay' && this.state === 'open',\n\t\t\t'translate-x-[-100%]': this.mode === 'overlay' && this.state === 'close',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses, ...animate })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\tdetail: { state: 'close' },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\t\t// e.g., console.log('Starting FLIP animation...');\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t\t// e.g., console.log('FLIP animation completed!');\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\t// console.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tconsole.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\nimport { $newSchmancyTheme } from '..'\n\n@customElement('schmancy-theme-button')\nexport default class SchmancyThemeButton extends TailwindElement() {\n\t@query('#color') color!: HTMLElement\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-button\n\t\t\t\t@click=${() => {\n\t\t\t\t\t// Trigger any other effects you have\n\t\t\t\t\t$newSchmancyTheme.next(undefined)\n\n\t\t\t\t\t// Native Web Animations API usage:\n\t\t\t\t\tthis.color.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }], {\n\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t// fill: 'forwards', // Use if you want it to remain rotated at 360°\n\t\t\t\t\t\t// easing: 'ease-out', // Or another easing function\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t\tvariant=\"text\"\n\t\t\t>\n\t\t\t\t<schmancy-icon id=\"color\">palette</schmancy-icon>\n\t\t\t</schmancy-button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-theme-button': SchmancyThemeButton\n\t}\n}\n"],"names":["SchmancyCardMedia","TailwindElement","css","html","customElement","SchmancyCard","super","arguments","this","type","elevation","classes","includes","classMap","__decorateClass","property","prototype","Number","SchmancyCardContent","render","onSurface","SchmancyTheme","sys","color","surface","on","onSurfaceVariant","onVariant","src","fit","styleMap","height","String","reflect","schmancyContentDrawer","constructor","$drawer","Subject","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","e","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","merge","fromEvent","window","ContentDrawerResize","startWith","tap","map","clientWidth","innerWidth","width","debounceTime","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","styles","when","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","SchmancyListItem","selected","imgClasses","firstUpdated","leading","forEach","img","classList","add","trailing","rounded","stateLayerClasses","readonly","SchmancySurfaceTypeContext","Boolean","SchmancyListTypeContext","undefined","List","schmancyNavDrawer","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","sidebarOpen","SchmancyNavigationDrawerContent","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","target","fullHeight","attribute","SchmancyNavigationDrawerSidebar","closeOverlay","openOverlay","overlay","fill","sidebarClasses","bgColor","container","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","teleportationService","get","a","throwIfEmpty","domRect","set","_slottedChildren","error","SchmancyThemeButton","$newSchmancyTheme"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./theme-button-CWM-0CJh.cjs");
1
+ "use strict";require("./theme-button-CHqm5wRe.cjs");
2
2
  //# sourceMappingURL=theme-button.cjs.map
@@ -1,2 +1,2 @@
1
- import "./theme-button-BQZkb1t4.js";
1
+ import "./theme-button-DzklvaUI.js";
2
2
  //# sourceMappingURL=theme-button.js.map
@@ -1,7 +1,7 @@
1
1
  import { fromEvent as p, takeUntil as c, tap as g, merge as m, switchMap as f, zip as u } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as y } from "./tailwind.mixin-DZctuRzi.js";
4
+ import { T as y } from "./tailwind.mixin-DTfnCU8A.js";
5
5
  import { css as v, html as b } from "lit";
6
6
  import { property as S, query as h, customElement as w } from "lit/decorators.js";
7
7
  var k = Object.defineProperty, j = Object.getOwnPropertyDescriptor, l = (e, s, o, i) => {
@@ -61,4 +61,4 @@ l([S({ type: Boolean })], n.prototype, "open", 2), l([h("#toggler")], n.prototyp
61
61
  export {
62
62
  n as S
63
63
  };
64
- //# sourceMappingURL=tree-7PVEhRCU.js.map
64
+ //# sourceMappingURL=tree-ChmtrAZ4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-7PVEhRCU.js","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","render","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":";;;;;;;;;;AAWa,IAAAA,IAAN,cAA2BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAiB8BC,KAAAC,OAAAA;AAAAA,EAAA;AAAA,EAQpC,eAEMD;AAAAA,SAAKC,SACTD,KAAKE,YAAYC;AAIlB,UAAMC,IAAeC,EAAsBL,KAAKM,SAAS,OAAA,EAASC,KACjEC,EAAUR,KAAKS,aACfC,GAAAA,EAASC,CAAAA;AACRA,MAAAA,EAAEC,eAAAA,GACFD,EAAEE,gBAAAA,GACGb,KAAAc,cAAc,IAAIC,YAAY,UAAU,EAAEC,aAAeC,UAAAA,GAAiB,CAAA,CAAA;AAAA,IAAA,CAAA,CAAA,GAK3EC,IAAgBb,EAAsBL,KAAKmB,SAAS,OAAA;AAEpDC,IAAAA,EAAAhB,GAAcc,CAAAA,EAClBX,KACAc,EAAU;AAGH,YAAAC,IAAUtB,KAAKC,OAAO,MAAM,GAC5BsB,IAAQvB,KAAKC,OAAO,IAAI,KACxBuB,IAAmBxB,KAAKmB,QAAQM,QACrC,CAAC,EAAEC,WAAW,UAAUJ,CAAiB,OAAA,GAAA,EAAEI,WAAW,UAAUH,CAAAA,OAAAA,CAAAA,GAChE,EACCI,UAAU,KACVC,QAAQ,WACRC,MAAM,WAKH7B,CAAAA;AAAAA,WAAKC,SAETD,KAAKE,YAAYC,SAAS;AAGrB,YAAA2B,IAAc9B,KAAKC,OAAO,IAAI,GAC9B8B,IAAY/B,KAAKC,OAAO,IAAI,GAE5B+B,IAAgBhC,KAAKE,YAAYuB,QAAQ,CAAC,EAAEQ,SAASH,EAAAA,GAAe,EAAEG,SAASF,EAAAA,CAAAA,GAAc,EAClGJ,UAAU,KACVC,QAAQ,YACRC,MAAM,WAcA,CAAA;AAAA,aAVPG,EAAcE,WAAW,MAAA;AACpBlC,aAAKC,OACRD,KAAKE,YAAYC,SAAAA,MAEZH,KAAAE,YAAYiC,MAAMC,SAAS,QAC3BpC,KAAAE,YAAYiC,MAAMF,UAAU;AAAA,MAAA,GAK5BI,EAAIhC,EAAUmB,GAAkB,QAAA,GAAWnB,EAAU2B,GAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAUR,KAAKS,aAChB,CAAA;AAAA,IAAA,CAAA,GAEDC,EAAI,MAEEV;AAAAA,WAAAC,QAAQD,KAAKC;AAAAA,IAAA,CAEnBO,GAAAA,EAAUR,KAAKS,aAEf6B,CAAAA,EAAAA,UAAAA;AAAAA,EAAU;AAAA,EAGb,SAAAC;AACQ,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD7B,CAAAA,MAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAiB;AAAA;AA1F9D4B,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,aAjBNjD,EAiBiBkD,WAAA,QAAA,CAAA,GAEVJ,EAAA,CAAlBK,EAAM,cAnBKnD,EAmBOkD,WAAA,WAAA,CACeJ,GAAAA,EAAA,CAAjCK,EAAM,6BApBKnD,EAoBsBkD,WAAA,eAAA,CAGfJ,GAAAA,EAAA,CAAlBK,EAAM,UAAA,CAAA,GAvBKnD,EAuBOkD,WAAA,WAAA,CAvBPlD,GAAAA,IAAN8C,EAAA,CADNM,EAAc,mBACFpD;"}
1
+ {"version":3,"file":"tree-ChmtrAZ4.js","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","render","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":";;;;;;;;;;AAWa,IAAAA,IAAN,cAA2BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAiB8BC,KAAAC,OAAAA;AAAAA,EAAA;AAAA,EAQpC,eAEMD;AAAAA,SAAKC,SACTD,KAAKE,YAAYC;AAIlB,UAAMC,IAAeC,EAAsBL,KAAKM,SAAS,OAAA,EAASC,KACjEC,EAAUR,KAAKS,aACfC,GAAAA,EAASC,CAAAA;AACRA,MAAAA,EAAEC,eAAAA,GACFD,EAAEE,gBAAAA,GACGb,KAAAc,cAAc,IAAIC,YAAY,UAAU,EAAEC,aAAeC,UAAAA,GAAiB,CAAA,CAAA;AAAA,IAAA,CAAA,CAAA,GAK3EC,IAAgBb,EAAsBL,KAAKmB,SAAS,OAAA;AAEpDC,IAAAA,EAAAhB,GAAcc,CAAAA,EAClBX,KACAc,EAAU;AAGH,YAAAC,IAAUtB,KAAKC,OAAO,MAAM,GAC5BsB,IAAQvB,KAAKC,OAAO,IAAI,KACxBuB,IAAmBxB,KAAKmB,QAAQM,QACrC,CAAC,EAAEC,WAAW,UAAUJ,CAAiB,OAAA,GAAA,EAAEI,WAAW,UAAUH,CAAAA,OAAAA,CAAAA,GAChE,EACCI,UAAU,KACVC,QAAQ,WACRC,MAAM,WAKH7B,CAAAA;AAAAA,WAAKC,SAETD,KAAKE,YAAYC,SAAS;AAGrB,YAAA2B,IAAc9B,KAAKC,OAAO,IAAI,GAC9B8B,IAAY/B,KAAKC,OAAO,IAAI,GAE5B+B,IAAgBhC,KAAKE,YAAYuB,QAAQ,CAAC,EAAEQ,SAASH,EAAAA,GAAe,EAAEG,SAASF,EAAAA,CAAAA,GAAc,EAClGJ,UAAU,KACVC,QAAQ,YACRC,MAAM,WAcA,CAAA;AAAA,aAVPG,EAAcE,WAAW,MAAA;AACpBlC,aAAKC,OACRD,KAAKE,YAAYC,SAAAA,MAEZH,KAAAE,YAAYiC,MAAMC,SAAS,QAC3BpC,KAAAE,YAAYiC,MAAMF,UAAU;AAAA,MAAA,GAK5BI,EAAIhC,EAAUmB,GAAkB,QAAA,GAAWnB,EAAU2B,GAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAUR,KAAKS,aAChB,CAAA;AAAA,IAAA,CAAA,GAEDC,EAAI,MAEEV;AAAAA,WAAAC,QAAQD,KAAKC;AAAAA,IAAA,CAEnBO,GAAAA,EAAUR,KAAKS,aAEf6B,CAAAA,EAAAA,UAAAA;AAAAA,EAAU;AAAA,EAGb,SAAAC;AACQ,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD7B,CAAAA,MAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAiB;AAAA;AA1F9D4B,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,aAjBNjD,EAiBiBkD,WAAA,QAAA,CAAA,GAEVJ,EAAA,CAAlBK,EAAM,cAnBKnD,EAmBOkD,WAAA,WAAA,CACeJ,GAAAA,EAAA,CAAjCK,EAAM,6BApBKnD,EAoBsBkD,WAAA,eAAA,CAGfJ,GAAAA,EAAA,CAAlBK,EAAM,UAAA,CAAA,GAvBKnD,EAuBOkD,WAAA,WAAA,CAvBPlD,GAAAA,IAAN8C,EAAA,CADNM,EAAc,mBACFpD;"}
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./tailwind.mixin-BXsGUMQ1.cjs"),p=require("lit"),c=require("lit/decorators.js");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,l=(n,r,o,i)=>{for(var s,e=i>1?void 0:i?g(r,o):r,a=n.length-1;a>=0;a--)(s=n[a])&&(e=(i?s(r,o,e):s(e))||e);return i&&e&&u(r,o,e),e};exports.SchmancyTree=class extends d.TailwindElement(p.css`
1
+ "use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./tailwind.mixin-DXloUbDW.cjs"),p=require("lit"),c=require("lit/decorators.js");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,l=(n,r,o,i)=>{for(var s,e=i>1?void 0:i?g(r,o):r,a=n.length-1;a>=0;a--)(s=n[a])&&(e=(i?s(r,o,e):s(e))||e);return i&&e&&u(r,o,e),e};exports.SchmancyTree=class extends d.TailwindElement(p.css`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -24,4 +24,4 @@
24
24
  <!-- The default slot: tree children -->
25
25
  <slot></slot>
26
26
  `}},l([c.property({type:Boolean})],exports.SchmancyTree.prototype,"open",2),l([c.query("#toggler")],exports.SchmancyTree.prototype,"toggler",2),l([c.query('slot:not([name="root"])')],exports.SchmancyTree.prototype,"defaultSlot",2),l([c.query("#chevron")],exports.SchmancyTree.prototype,"chevron",2),exports.SchmancyTree=l([c.customElement("schmancy-tree")],exports.SchmancyTree);
27
- //# sourceMappingURL=tree-nmdWfp9I.cjs.map
27
+ //# sourceMappingURL=tree-tDas5Jqs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-nmdWfp9I.cjs","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","firstUpdated","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":"oZAWaA,QAAAA,aAAN,cAA2BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAiB8BC,KAAAC,KAAA,EAAA,CAQpC,cAAAC,CAEMF,KAAKC,OACTD,KAAKG,YAAYC,OAAS,IAI3B,MAAMC,EAAeC,EAAAA,UAAsBN,KAAKO,QAAS,OAASC,EAAAA,KACjEC,EAAAA,UAAUT,KAAKU,eACfC,MAASC,IACRA,EAAEC,eAAAA,EACFD,EAAEE,gBACGd,EAAAA,KAAAe,cAAc,IAAIC,YAAY,SAAU,CAAEC,QAAAA,GAAeC,SAAU,EAAA,CAAA,CAAA,CAAO,CAK3EC,CAAAA,EAAAA,EAAgBb,EAAAA,UAAsBN,KAAKoB,QAAS,OAEpDC,EAAAA,QAAAhB,EAAcc,CAAAA,EAClBX,KACAc,EAAAA,UAAU,KAGH,MAAAC,EAAUvB,KAAKC,KAAO,IAAM,EAC5BuB,EAAQxB,KAAKC,KAAO,EAAI,IACxBwB,EAAmBzB,KAAKoB,QAAQM,QACrC,CAAC,CAAEC,UAAW,UAAUJ,SAAiB,CAAEI,UAAW,UAAUH,CAChE,MAAA,CAAA,EAAA,CACCI,SAAU,IACVC,OAAQ,UACRC,KAAM,UAAA,CAAA,EAKH9B,KAAKC,OAETD,KAAKG,YAAYC,OAAAA,IAGZ,MAAA2B,EAAc/B,KAAKC,KAAO,EAAI,EAC9B+B,EAAYhC,KAAKC,KAAO,EAAI,EAE5BgC,EAAgBjC,KAAKG,YAAYuB,QAAQ,CAAC,CAAEQ,QAASH,CAAAA,EAAe,CAAEG,QAASF,CAAAA,CAAAA,EAAc,CAClGJ,SAAU,IACVC,OAAQ,WACRC,KAAM,aAcA,OAVPG,EAAcE,SAAW,IACpBnC,CAAAA,KAAKC,KACRD,KAAKG,YAAYC,WAEZJ,KAAAG,YAAYiC,MAAMC,OAAS,OAC3BrC,KAAAG,YAAYiC,MAAMF,QAAU,IAAA,EAK5BI,EAAAA,IAAIhC,YAAUmB,EAAkB,QAAWnB,EAAAA,EAAAA,UAAU2B,EAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAAA,UAAUT,KAAKU,aAAAA,CAAAA,CAChB,GAEDC,EAAAA,IAAI,KAEEX,KAAAC,KAAAA,CAAQD,KAAKC,IAAA,CAAA,EAEnBQ,EAAAA,UAAUT,KAAKU,gBAEf6B,UAAU,CAAA,CAGb,QACQ,CAAA,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD5B,GAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAiB,CA1F9D2B,EAAAA,EAAA,CAA5BC,WAAS,CAAEC,KAAMC,OAAAA,CAAAA,CAAAA,EAjBNjD,qBAiBiBkD,UAAA,OAAA,GAEVJ,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAnBKnD,qBAmBOkD,UAAA,UAAA,CAAA,EACeJ,EAAA,CAAjCK,EAAAA,MAAM,yBAAA,CAAA,EApBKnD,qBAoBsBkD,UAAA,cAAA,CAGfJ,EAAAA,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAvBKnD,qBAuBOkD,UAAA,UAAA,CAAA,EAvBPlD,QAANA,aAAA8C,EAAA,CADNM,EAAAA,cAAc,eAAA,CAAA,EACFpD"}
1
+ {"version":3,"file":"tree-tDas5Jqs.cjs","sources":["../src/tree/tree.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { fromEvent, merge, switchMap, takeUntil, tap, zip } from 'rxjs'\n\n/**\n * @element schmancy-tree\n * @slot root - The root element of the tree\n * @slot - The children of the tree\n */\n@customElement('schmancy-tree')\nexport class SchmancyTree extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tbackground-color: initial;\n\t}\n\t::slotted([slot='root']) {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n\t::slotted([slot='root'] + *) {\n\t\tmargin-top: 0.5rem;\n\t}\n`) {\n\t/**\n\t * Whether the tree’s children are visible\n\t */\n\t@property({ type: Boolean }) open = false\n\n\t@query('#toggler') toggler!: HTMLSlotElement\n\t@query('slot:not([name=\"root\"])') defaultSlot!: HTMLSlotElement\n\n\t// Since it's actually a <schmancy-button>, use HTMLElement or a custom type\n\t@query('#chevron') chevron!: HTMLElement\n\n\tfirstUpdated() {\n\t\t// Hide or show the slot initially based on `open`\n\t\tif (!this.open) {\n\t\t\tthis.defaultSlot.hidden = true\n\t\t}\n\n\t\t// Root toggler\n\t\tconst toggleClick$ = fromEvent<MouseEvent>(this.toggler, 'click').pipe(\n\t\t\ttakeUntil(this.disconnecting),\n\t\t\ttap(e => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(new CustomEvent('toggle', { bubbles: true, composed: true }))\n\t\t\t}),\n\t\t)\n\n\t\t// Chevron (the schmancy-button) click\n\t\tconst chevronClick$ = fromEvent<MouseEvent>(this.chevron, 'click')\n\n\t\tmerge(toggleClick$, chevronClick$)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => {\n\t\t\t\t\t// 1. Animate the chevron rotation\n\t\t\t\t\t// If `open` is true, rotate from 180 -> 0; if false, from 0 -> 180\n\t\t\t\t\tconst fromDeg = this.open ? 180 : 0\n\t\t\t\t\tconst toDeg = this.open ? 0 : 180\n\t\t\t\t\tconst chevronAnimation = this.chevron.animate(\n\t\t\t\t\t\t[{ transform: `rotate(${fromDeg}deg)` }, { transform: `rotate(${toDeg}deg)` }],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\t\teasing: 'ease-in',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\n\t\t\t\t\t// 2. Animate the slot’s height + opacity\n\t\t\t\t\tif (!this.open) {\n\t\t\t\t\t\t// We are about to open, so remove `hidden` to measure scrollHeight\n\t\t\t\t\t\tthis.defaultSlot.hidden = false\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fromOpacity = this.open ? 1 : 0\n\t\t\t\t\tconst toOpacity = this.open ? 0 : 1\n\n\t\t\t\t\tconst slotAnimation = this.defaultSlot.animate([{ opacity: fromOpacity }, { opacity: toOpacity }], {\n\t\t\t\t\t\tduration: 150,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\t// Hide the slot if we just closed it\n\t\t\t\t\tslotAnimation.onfinish = () => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.defaultSlot.hidden = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.defaultSlot.style.height = 'auto'\n\t\t\t\t\t\t\tthis.defaultSlot.style.opacity = '1'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Return an Observable that completes when both animations finish\n\t\t\t\t\treturn zip(fromEvent(chevronAnimation, 'finish'), fromEvent(slotAnimation, 'finish')).pipe(\n\t\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(() => {\n\t\t\t\t\t// Flip the open state\n\t\t\t\t\tthis.open = !this.open\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"flex content-center items-center justify-between\">\n\t\t\t\t<!-- Root toggler content -->\n\t\t\t\t<slot id=\"toggler\" name=\"root\"></slot>\n\n\t\t\t\t<!-- The chevron or arrow symbol -->\n\t\t\t\t<!-- Stop propagation on the schmancy-button itself just to avoid double triggers -->\n\t\t\t\t<schmancy-button slot=\"trailing\" id=\"chevron\" @click=${(e: Event) => e.stopPropagation()}> ⌅ </schmancy-button>\n\t\t\t</div>\n\n\t\t\t<!-- The default slot: tree children -->\n\t\t\t<slot></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tree': SchmancyTree\n\t}\n}\n"],"names":["SchmancyTree","TailwindElement","css","super","arguments","this","open","firstUpdated","defaultSlot","hidden","toggleClick$","fromEvent","toggler","pipe","takeUntil","disconnecting","tap","e","preventDefault","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","chevronClick$","chevron","merge","switchMap","fromDeg","toDeg","chevronAnimation","animate","transform","duration","easing","fill","fromOpacity","toOpacity","slotAnimation","opacity","onfinish","style","height","zip","subscribe","html","__decorateClass","property","type","Boolean","prototype","query","customElement"],"mappings":"oZAWaA,QAAAA,aAAN,cAA2BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA3C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAiB8BC,KAAAC,KAAA,EAAA,CAQpC,cAAAC,CAEMF,KAAKC,OACTD,KAAKG,YAAYC,OAAS,IAI3B,MAAMC,EAAeC,EAAAA,UAAsBN,KAAKO,QAAS,OAASC,EAAAA,KACjEC,EAAAA,UAAUT,KAAKU,eACfC,MAASC,IACRA,EAAEC,eAAAA,EACFD,EAAEE,gBACGd,EAAAA,KAAAe,cAAc,IAAIC,YAAY,SAAU,CAAEC,QAAAA,GAAeC,SAAU,EAAA,CAAA,CAAA,CAAO,CAK3EC,CAAAA,EAAAA,EAAgBb,EAAAA,UAAsBN,KAAKoB,QAAS,OAEpDC,EAAAA,QAAAhB,EAAcc,CAAAA,EAClBX,KACAc,EAAAA,UAAU,KAGH,MAAAC,EAAUvB,KAAKC,KAAO,IAAM,EAC5BuB,EAAQxB,KAAKC,KAAO,EAAI,IACxBwB,EAAmBzB,KAAKoB,QAAQM,QACrC,CAAC,CAAEC,UAAW,UAAUJ,SAAiB,CAAEI,UAAW,UAAUH,CAChE,MAAA,CAAA,EAAA,CACCI,SAAU,IACVC,OAAQ,UACRC,KAAM,UAAA,CAAA,EAKH9B,KAAKC,OAETD,KAAKG,YAAYC,OAAAA,IAGZ,MAAA2B,EAAc/B,KAAKC,KAAO,EAAI,EAC9B+B,EAAYhC,KAAKC,KAAO,EAAI,EAE5BgC,EAAgBjC,KAAKG,YAAYuB,QAAQ,CAAC,CAAEQ,QAASH,CAAAA,EAAe,CAAEG,QAASF,CAAAA,CAAAA,EAAc,CAClGJ,SAAU,IACVC,OAAQ,WACRC,KAAM,aAcA,OAVPG,EAAcE,SAAW,IACpBnC,CAAAA,KAAKC,KACRD,KAAKG,YAAYC,WAEZJ,KAAAG,YAAYiC,MAAMC,OAAS,OAC3BrC,KAAAG,YAAYiC,MAAMF,QAAU,IAAA,EAK5BI,EAAAA,IAAIhC,YAAUmB,EAAkB,QAAWnB,EAAAA,EAAAA,UAAU2B,EAAe,QAAA,CAAA,EAAWzB,KACrFC,EAAAA,UAAUT,KAAKU,aAAAA,CAAAA,CAChB,GAEDC,EAAAA,IAAI,KAEEX,KAAAC,KAAAA,CAAQD,KAAKC,IAAA,CAAA,EAEnBQ,EAAAA,UAAUT,KAAKU,gBAEf6B,UAAU,CAAA,CAGb,QACQ,CAAA,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,2DAOmD5B,GAAaA,EAAEE,gBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAiB,CA1F9D2B,EAAAA,EAAA,CAA5BC,WAAS,CAAEC,KAAMC,OAAAA,CAAAA,CAAAA,EAjBNjD,qBAiBiBkD,UAAA,OAAA,GAEVJ,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAnBKnD,qBAmBOkD,UAAA,UAAA,CAAA,EACeJ,EAAA,CAAjCK,EAAAA,MAAM,yBAAA,CAAA,EApBKnD,qBAoBsBkD,UAAA,cAAA,CAGfJ,EAAAA,EAAA,CAAlBK,EAAAA,MAAM,UAAA,CAAA,EAvBKnD,qBAuBOkD,UAAA,UAAA,CAAA,EAvBPlD,QAANA,aAAA8C,EAAA,CADNM,EAAAA,cAAc,eAAA,CAAA,EACFpD"}
package/dist/tree.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tree-nmdWfp9I.cjs");Object.defineProperty(exports,"SchmancyTree",{enumerable:!0,get:()=>e.SchmancyTree});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tree-tDas5Jqs.cjs");Object.defineProperty(exports,"SchmancyTree",{enumerable:!0,get:()=>e.SchmancyTree});
2
2
  //# sourceMappingURL=tree.cjs.map
package/dist/tree.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a } from "./tree-7PVEhRCU.js";
1
+ import { S as a } from "./tree-ChmtrAZ4.js";
2
2
  export {
3
3
  a as SchmancyTree
4
4
  };
@@ -1,4 +1,4 @@
1
- "use strict";var qe=Object.defineProperty;var se=s=>{throw TypeError(s)};var Ne=(s,e,t)=>e in s?qe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var m=(s,e,t)=>Ne(s,typeof e!="symbol"?e+"":e,t),ie=(s,e,t)=>e.has(s)||se("Cannot "+t);var d=(s,e,t)=>(ie(s,e,"read from private field"),t?t.call(s):e.get(s)),j=(s,e,t)=>e.has(s)?se("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t);var a=(s,e,t)=>(ie(s,e,"access private method"),t);const Le=require("./consume-Di0U0iBU.cjs");require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const xe=require("./litElement.mixin-T2hfvva-.cjs");require("./tailwind.mixin-BXsGUMQ1.cjs");const re=require("./delay-BknG_sX0.cjs"),De=require("./intersection-CVvaDv96.cjs"),ne=require("lit"),f=require("lit/decorators.js"),ye=s=>Array.isArray(s),oe=s=>ye(s)?s:[s],me="data-typeit-id",E="ti-cursor",Me={started:!1,completed:!1,frozen:!1,destroyed:!1},C={breakLines:!0,cursor:{autoPause:!0,autoPauseDelay:500,animation:{frames:[0,0,1].map(s=>({opacity:s})),options:{iterations:1/0,easing:"steps(2, start)",fill:"forwards"}}},cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,html:!0,lifeLike:!0,loop:!1,loopDelay:750,nextStringDelay:750,speed:100,startDelay:250,startDelete:!1,strings:[],waitUntilVisible:!1,beforeString:()=>{},afterString:()=>{},beforeStep:()=>{},afterStep:()=>{},afterComplete:()=>{}},ke=`[${me}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`,$=s=>document.createElement(s),G=s=>document.createTextNode(s),ae=(s,e="")=>{let t=$("style");t.id=e,t.appendChild(G(s)),document.head.appendChild(t)},le=s=>(ye(s)||(s=[s/2,s/2]),s),ue=(s,e)=>Math.abs(Math.random()*(s+e-(s-e))+(s-e));let he=s=>s/2;const fe=s=>Array.from(s);let Y=s=>([...s.childNodes].forEach(e=>{if(e.nodeValue)return[...e.nodeValue].forEach(t=>{e.parentNode.insertBefore(G(t),e)}),void e.remove();Y(e)}),s);const ge=s=>{let e=document.implementation.createHTMLDocument();return e.body.innerHTML=s,Y(e.body)};function be(s,e=!1,t=!1){let r,n=s.querySelector(`.${E}`),o=document.createTreeWalker(s,NodeFilter.SHOW_ALL,{acceptNode:u=>{var h,p;if(n&&t){if((h=u.classList)!=null&&h.contains(E))return NodeFilter.FILTER_ACCEPT;if(n.contains(u))return NodeFilter.FILTER_REJECT}return(p=u.classList)!=null&&p.contains(E)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),l=[];for(;r=o.nextNode();)r.originalParent||(r.originalParent=r.parentNode),l.push(r);return e?l.reverse():l}function Ae(s,e=!0){return e?be(ge(s)):fe(s).map(G)}const _e=({index:s,newIndex:e,queueItems:t,cleanUp:r})=>{for(let n=s+1;n<e+1;n++)r(t[n][0])},we=s=>Number.isInteger(s),ce=({queueItems:s,selector:e,cursorPosition:t,to:r})=>{if(we(e))return-1*e;let n=new RegExp("END","i").test(r),o=e?[...s].reverse().findIndex(({char:l})=>{let u=l.parentElement,h=u.matches(e);return!(!n||!h)||h&&u.firstChild.isSameNode(l)}):-1;return o<0&&(o=n?0:s.length-1),o-t+(n?0:1)},A=(s,e)=>new Array(e).fill(s);let F=s=>new Promise(e=>{requestAnimationFrame(async()=>{e(await s())})}),pe=s=>s==null?void 0:s.getAnimations().find(e=>e.id===s.dataset.tiAnimationId),Te=({cursor:s,frames:e,options:t})=>{let r=s.animate(e,t);return r.pause(),r.id=s.dataset.tiAnimationId,F(()=>{F(()=>{r.play()})}),r},de=s=>{var e;return(e=s.func)==null?void 0:e.call(null)},$e=async({index:s,queueItems:e,wait:t,cursor:r,cursorOptions:n})=>{let o=e[s][1],l=[],u=s,h=o,p=()=>h&&!h.delay,c=o.shouldPauseCursor()&&n.autoPause;for(;p();)l.push(h),p()&&u++,h=e[u]?e[u][1]:null;if(l.length)return await F(async()=>{for(let P of l)await de(P)}),u-1;let y,b=pe(r);return b&&(y={...b.effect.getComputedTiming(),delay:c?n.autoPauseDelay:0}),await t(async()=>{b&&c&&b.cancel(),await F(()=>{de(o)})},o.delay),await(({cursor:P,options:Z,cursorOptions:ee})=>{if(!P||!ee)return;let B,k=pe(P);k&&(Z.delay=k.effect.getComputedTiming().delay,B=k.currentTime,k.cancel());let te=Te({cursor:P,frames:ee.animation.frames,options:Z});return B&&(te.currentTime=B),te})({cursor:r,options:y,cursorOptions:n}),s};const _=s=>"value"in s;let v=s=>typeof s=="function"?s():s,K=(s,e=document,t=!1)=>e["querySelector"+(t?"All":"")](s);const S=(s,e)=>Object.assign({},s,e);let Oe={"font-family":"","font-weight":"","font-size":"","font-style":"","line-height":"",color:"",transform:"translateX(-.125em)"};var i,Ie,q,Q,Ee,U,V,X,O,w,Ce,N,L,ve,R,Pe,Se,J,H,x,z,I,D,M,W,T;class He{constructor(e,t={}){j(this,i);m(this,"element");m(this,"timeouts");m(this,"cursorPosition");m(this,"predictedCursorPosition");m(this,"statuses",{started:!1,completed:!1,frozen:!1,destroyed:!1,firing:!1});m(this,"opts");m(this,"id");m(this,"queue");m(this,"cursor");m(this,"flushCallback",null);m(this,"unfreeze",()=>{});m(this,"is",function(e){return this.statuses[e]});j(this,R,e=>{this.opts.cursor=(t=>{var r,n;if(typeof t=="object"){let o={},{frames:l,options:u}=C.cursor.animation;return o.animation=t.animation||{},o.animation.frames=((r=t.animation)==null?void 0:r.frames)||l,o.animation.options=S(u,((n=t.animation)==null?void 0:n.options)||{}),o.autoPause=t.autoPause??C.cursor.autoPause,o.autoPauseDelay=t.autoPauseDelay||C.cursor.autoPauseDelay,o}return t===!0?C.cursor:t})(e.cursor??C.cursor),this.opts.strings=a(this,i,Pe).call(this,oe(this.opts.strings)),this.opts=S(this.opts,{html:!d(this,i,M)&&this.opts.html,nextStringDelay:le(this.opts.nextStringDelay),loopDelay:le(this.opts.loopDelay)})});var r;this.opts=S(C,t),this.element=typeof(r=e)=="string"?K(r):r,this.timeouts=[],this.cursorPosition=0,this.unfreeze=()=>{},this.predictedCursorPosition=null,this.statuses=S({},Me),this.id=Math.random().toString().substring(2,9),this.queue=function(n){let o=function(c){return oe(c).forEach(y=>{var b;return p.set(Symbol((b=y.char)==null?void 0:b.innerText),l({...y}))}),this},l=c=>(c.shouldPauseCursor=function(){return!!(this.typeable||this.cursorable||this.deletable)},c),u=()=>p,h=()=>Array.from(p.values()),p=new Map;return o(n),{add:o,set:function(c,y){let b=[...p.keys()];p.set(b[c],l(y))},wipe:function(){p=new Map,o(n)},done:(c,y=!1)=>y?p.delete(c):p.get(c).done=!0,reset:function(){p.forEach(c=>delete c.done)},destroy:c=>p.delete(c),getItems:(c=!1)=>c?h():h().filter(y=>!y.done),getQueue:u,getTypeable:()=>h().filter(c=>c.typeable),getPendingQueueItems:()=>{const c=[];for(let[,y]of u())y.done||c.push(y);return c}}}([{delay:this.opts.startDelay}]),d(this,R).call(this,t),this.cursor=a(this,i,Se).call(this),this.element.dataset.typeitId=this.id,ae(ke),this.opts.strings.length&&a(this,i,ve).call(this)}go(){return this.statuses.started?this:(a(this,i,X).call(this),this.opts.waitUntilVisible?(e=this.element,t=a(this,i,q).bind(this),new IntersectionObserver((r,n)=>{r.forEach(o=>{o.isIntersecting&&(t(),n.unobserve(e))})},{threshold:1}).observe(e),this):(a(this,i,q).call(this),this));var e,t}destroy(e=!0){this.timeouts=(this.timeouts.forEach(clearTimeout),[]),v(e)&&this.cursor&&a(this,i,z).call(this,this.cursor),this.statuses.destroyed=!0}reset(e){!this.is("destroyed")&&this.destroy(),e?(this.queue.wipe(),e(this)):this.queue.reset(),this.cursorPosition=0;for(let t in this.statuses)this.statuses[t]=!1;return this.element[a(this,i,O).call(this)?"value":"innerHTML"]="",this}type(e,t={}){e=v(e);let{instant:r}=t,n=a(this,i,N).call(this,t),o=Ae(e,this.opts.html).map(u=>{return{func:()=>a(this,i,H).call(this,u),char:u,delay:r||(h=u,/<(.+)>(.*?)<\/(.+)>/.test(h.outerHTML))?0:a(this,i,I).call(this),typeable:u.nodeType===Node.TEXT_NODE};var h}),l=[n[0],{func:async()=>await this.opts.beforeString(e,this)},...o,{func:async()=>await this.opts.afterString(e,this)},n[1]];return a(this,i,w).call(this,l,t)}break(e={}){return a(this,i,w).call(this,{func:()=>a(this,i,H).call(this,$("BR")),typeable:!0},e)}move(e,t={}){e=v(e);let r=a(this,i,N).call(this,t),{instant:n,to:o}=t,l=ce({queueItems:this.queue.getTypeable(),selector:e===null?"":e,to:o,cursorPosition:d(this,i,D)}),u=l<0?-1:1;return this.predictedCursorPosition=d(this,i,D)+l,a(this,i,w).call(this,[r[0],...A({func:()=>a(this,i,Q).call(this,u),delay:n?0:a(this,i,I).call(this),cursorable:!0},Math.abs(l)),r[1]],t)}exec(e,t={}){let r=a(this,i,N).call(this,t);return a(this,i,w).call(this,[r[0],{func:()=>e(this)},r[1]],t)}options(e,t={}){return e=v(e),a(this,i,L).call(this,e),a(this,i,w).call(this,{},t)}pause(e,t={}){return a(this,i,w).call(this,{delay:v(e)},t)}delete(e=null,t={}){e=v(e);let r=a(this,i,N).call(this,t),n=e,{instant:o,to:l}=t,u=this.queue.getTypeable(),h=n===null?u.length:we(n)?n:ce({queueItems:u,selector:n,cursorPosition:d(this,i,D),to:l});return a(this,i,w).call(this,[r[0],...A({func:a(this,i,x).bind(this),delay:o?0:a(this,i,I).call(this,1),deletable:!0},h),r[1]],t)}freeze(){this.statuses.frozen=!0}flush(e=null){return this.flushCallback=e||this.flushCallback,this.statuses.firing||(a(this,i,X).call(this),a(this,i,q).call(this,!1).then(()=>{if(this.queue.getPendingQueueItems().length>0)return this.flush();this.flushCallback(),this.flushCallback=null})),this}getQueue(){return this.queue}getOptions(){return this.opts}updateOptions(e){return a(this,i,L).call(this,e)}getElement(){return this.element}empty(e={}){return a(this,i,w).call(this,{func:a(this,i,Ie).bind(this)},e)}}i=new WeakSet,Ie=async function(){a(this,i,O).call(this)?this.element.value="":d(this,i,T).forEach(a(this,i,z).bind(this))},q=async function(e=!0){this.statuses.started=!0,this.statuses.firing=!0;let t=r=>{this.queue.done(r,!e)};try{let r=[...this.queue.getQueue()];for(let o=0;o<r.length;o++){let[l,u]=r[o];if(!u.done){if(!u.deletable||u.deletable&&d(this,i,T).length){let h=await a(this,i,U).call(this,o,r);_e({index:o,newIndex:h,queueItems:r,cleanUp:t}),o=h}t(l)}}if(!e)return this.statuses.firing=!1,this;if(this.statuses.completed=!0,this.statuses.firing=!1,await this.opts.afterComplete(this),!this.opts.loop)throw"";let n=this.opts.loopDelay;a(this,i,V).call(this,async()=>{await a(this,i,Ee).call(this,n[0]),a(this,i,q).call(this)},n[1])}catch{}return this.statuses.firing=!1,this},Q=async function(e){var t,r,n;this.cursorPosition=(t=e,r=this.cursorPosition,n=d(this,i,T),Math.min(Math.max(r+t,0),n.length)),((o,l,u)=>{let h=l[u-1],p=K(`.${E}`,o);(o=(h==null?void 0:h.parentNode)||o).insertBefore(p,h||null)})(this.element,d(this,i,T),this.cursorPosition)},Ee=async function(e){let t=d(this,i,D);t&&await a(this,i,Q).call(this,{value:t});let r=d(this,i,T).map(n=>[Symbol(),{func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1),deletable:!0,shouldPauseCursor:()=>!0}]);for(let n=0;n<r.length;n++)await a(this,i,U).call(this,n,r);this.queue.reset(),this.queue.set(0,{delay:e})},U=function(e,t){return $e({index:e,queueItems:t,wait:a(this,i,V).bind(this),cursor:this.cursor,cursorOptions:this.opts.cursor})},V=async function(e,t,r=!1){this.statuses.frozen&&await new Promise(n=>{this.unfreeze=()=>{this.statuses.frozen=!1,n()}}),r||await this.opts.beforeStep(this),await((n,o,l)=>new Promise(u=>{l.push(setTimeout(async()=>{await n(),u()},o||0))}))(e,t,this.timeouts),r||await this.opts.afterStep(this)},X=async function(){if(!a(this,i,O).call(this)&&this.cursor&&this.element.appendChild(this.cursor),d(this,i,W)){((n,o)=>{let l=`[${me}='${n}'] .${E}`,u=getComputedStyle(o),h=Object.entries(Oe).reduce((p,[c,y])=>`${p} ${c}: var(--ti-cursor-${c}, ${y||u[c]});`,"");ae(`${l} { display: inline-block; width: 0; ${h} }`,n)})(this.id,this.element),this.cursor.dataset.tiAnimationId=this.id;let{animation:e}=this.opts.cursor,{frames:t,options:r}=e;Te({frames:t,cursor:this.cursor,options:{duration:this.opts.cursorSpeed,...r}})}},O=function(){return _(this.element)},w=function(e,t){return this.queue.add(e),a(this,i,Ce).call(this,t),this},Ce=function(e={}){let t=e.delay;t&&this.queue.add({delay:t})},N=function(e={}){return[{func:()=>a(this,i,L).call(this,e)},{func:()=>a(this,i,L).call(this,this.opts)}]},L=async function(e){this.opts=S(this.opts,e)},ve=function(){let e=this.opts.strings.filter(t=>!!t);e.forEach((t,r)=>{if(this.type(t),r+1===e.length)return;let n=this.opts.breakLines?[{func:()=>a(this,i,H).call(this,$("BR")),typeable:!0}]:A({func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1)},this.queue.getTypeable().length);a(this,i,J).call(this,n)})},R=new WeakMap,Pe=function(e){let t=this.element.innerHTML;return t?(this.element.innerHTML="",this.opts.startDelete?(this.element.innerHTML=t,Y(this.element),a(this,i,J).call(this,A({func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1),deletable:!0},d(this,i,T).length)),e):(r=t,r.replace(/<!--(.+?)-->/g,"").trim().split(/<br(?:\s*?)(?:\/)?>/)).concat(e)):e;var r},Se=function(){if(d(this,i,M))return null;let e=$("span");return e.className=E,d(this,i,W)?(e.innerHTML=ge(this.opts.cursorChar).innerHTML,e):(e.style.visibility="hidden",e)},J=function(e){let t=this.opts.nextStringDelay;this.queue.add([{delay:t[0]},...e,{delay:t[1]}])},H=function(e){((t,r)=>{if(_(t))return void(t.value=`${t.value}${r.textContent}`);r.innerHTML="";let n=(o=r.originalParent,/body/i.test(o==null?void 0:o.tagName)?t:r.originalParent||t);var o;let l=K("."+E,n)||null;l&&l.parentElement!==n&&(n=l.parentElement),n.insertBefore(r,l)})(this.element,e)},x=function(){d(this,i,T).length&&(d(this,i,M)?this.element.value=this.element.value.slice(0,-1):a(this,i,z).call(this,d(this,i,T)[this.cursorPosition]))},z=function(e){((t,r)=>{if(!t)return;let n=t.parentNode;(n.childNodes.length>1||n.isSameNode(r)?t:n).remove()})(e,this.element)},I=function(e=0){return function(t){let{speed:r,deleteSpeed:n,lifeLike:o}=t;return n=n!==null?n:r/3,o?[ue(r,he(r)),ue(n,he(n))]:[r,n]}(this.opts)[e]},D=function(){return this.predictedCursorPosition??this.cursorPosition},M=function(){return _(this.element)},W=function(){return!!this.opts.cursor&&!d(this,i,M)},T=function(){return e=this.element,_(e)?fe(e.value):be(e,!0).filter(t=>!(t.childNodes.length>0));var e};var ze=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,g=(s,e,t,r)=>{for(var n,o=r>1?void 0:r?Fe(e,t):e,l=s.length-1;l>=0;l--)(n=s[l])&&(o=(r?n(e,t,o):n(o))||o);return r&&o&&ze(e,t,o),o};exports.TypewriterElement=class extends xe.$LitElement(ne.css`
1
+ "use strict";var qe=Object.defineProperty;var se=s=>{throw TypeError(s)};var Ne=(s,e,t)=>e in s?qe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var m=(s,e,t)=>Ne(s,typeof e!="symbol"?e+"":e,t),ie=(s,e,t)=>e.has(s)||se("Cannot "+t);var d=(s,e,t)=>(ie(s,e,"read from private field"),t?t.call(s):e.get(s)),j=(s,e,t)=>e.has(s)?se("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t);var a=(s,e,t)=>(ie(s,e,"access private method"),t);const Le=require("./consume-Di0U0iBU.cjs");require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const xe=require("./litElement.mixin-Dr3N9KpR.cjs");require("./tailwind.mixin-DXloUbDW.cjs");const re=require("./delay-DGSs_qVV.cjs"),De=require("./intersection-CVvaDv96.cjs"),ne=require("lit"),f=require("lit/decorators.js"),ye=s=>Array.isArray(s),oe=s=>ye(s)?s:[s],me="data-typeit-id",E="ti-cursor",Me={started:!1,completed:!1,frozen:!1,destroyed:!1},C={breakLines:!0,cursor:{autoPause:!0,autoPauseDelay:500,animation:{frames:[0,0,1].map(s=>({opacity:s})),options:{iterations:1/0,easing:"steps(2, start)",fill:"forwards"}}},cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,html:!0,lifeLike:!0,loop:!1,loopDelay:750,nextStringDelay:750,speed:100,startDelay:250,startDelete:!1,strings:[],waitUntilVisible:!1,beforeString:()=>{},afterString:()=>{},beforeStep:()=>{},afterStep:()=>{},afterComplete:()=>{}},ke=`[${me}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`,$=s=>document.createElement(s),G=s=>document.createTextNode(s),ae=(s,e="")=>{let t=$("style");t.id=e,t.appendChild(G(s)),document.head.appendChild(t)},le=s=>(ye(s)||(s=[s/2,s/2]),s),ue=(s,e)=>Math.abs(Math.random()*(s+e-(s-e))+(s-e));let he=s=>s/2;const fe=s=>Array.from(s);let Y=s=>([...s.childNodes].forEach(e=>{if(e.nodeValue)return[...e.nodeValue].forEach(t=>{e.parentNode.insertBefore(G(t),e)}),void e.remove();Y(e)}),s);const ge=s=>{let e=document.implementation.createHTMLDocument();return e.body.innerHTML=s,Y(e.body)};function be(s,e=!1,t=!1){let r,n=s.querySelector(`.${E}`),o=document.createTreeWalker(s,NodeFilter.SHOW_ALL,{acceptNode:u=>{var h,p;if(n&&t){if((h=u.classList)!=null&&h.contains(E))return NodeFilter.FILTER_ACCEPT;if(n.contains(u))return NodeFilter.FILTER_REJECT}return(p=u.classList)!=null&&p.contains(E)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),l=[];for(;r=o.nextNode();)r.originalParent||(r.originalParent=r.parentNode),l.push(r);return e?l.reverse():l}function Ae(s,e=!0){return e?be(ge(s)):fe(s).map(G)}const _e=({index:s,newIndex:e,queueItems:t,cleanUp:r})=>{for(let n=s+1;n<e+1;n++)r(t[n][0])},we=s=>Number.isInteger(s),ce=({queueItems:s,selector:e,cursorPosition:t,to:r})=>{if(we(e))return-1*e;let n=new RegExp("END","i").test(r),o=e?[...s].reverse().findIndex(({char:l})=>{let u=l.parentElement,h=u.matches(e);return!(!n||!h)||h&&u.firstChild.isSameNode(l)}):-1;return o<0&&(o=n?0:s.length-1),o-t+(n?0:1)},A=(s,e)=>new Array(e).fill(s);let F=s=>new Promise(e=>{requestAnimationFrame(async()=>{e(await s())})}),pe=s=>s==null?void 0:s.getAnimations().find(e=>e.id===s.dataset.tiAnimationId),Te=({cursor:s,frames:e,options:t})=>{let r=s.animate(e,t);return r.pause(),r.id=s.dataset.tiAnimationId,F(()=>{F(()=>{r.play()})}),r},de=s=>{var e;return(e=s.func)==null?void 0:e.call(null)},$e=async({index:s,queueItems:e,wait:t,cursor:r,cursorOptions:n})=>{let o=e[s][1],l=[],u=s,h=o,p=()=>h&&!h.delay,c=o.shouldPauseCursor()&&n.autoPause;for(;p();)l.push(h),p()&&u++,h=e[u]?e[u][1]:null;if(l.length)return await F(async()=>{for(let P of l)await de(P)}),u-1;let y,b=pe(r);return b&&(y={...b.effect.getComputedTiming(),delay:c?n.autoPauseDelay:0}),await t(async()=>{b&&c&&b.cancel(),await F(()=>{de(o)})},o.delay),await(({cursor:P,options:Z,cursorOptions:ee})=>{if(!P||!ee)return;let B,k=pe(P);k&&(Z.delay=k.effect.getComputedTiming().delay,B=k.currentTime,k.cancel());let te=Te({cursor:P,frames:ee.animation.frames,options:Z});return B&&(te.currentTime=B),te})({cursor:r,options:y,cursorOptions:n}),s};const _=s=>"value"in s;let v=s=>typeof s=="function"?s():s,K=(s,e=document,t=!1)=>e["querySelector"+(t?"All":"")](s);const S=(s,e)=>Object.assign({},s,e);let Oe={"font-family":"","font-weight":"","font-size":"","font-style":"","line-height":"",color:"",transform:"translateX(-.125em)"};var i,Ie,q,Q,Ee,U,V,X,O,w,Ce,N,L,ve,R,Pe,Se,J,H,x,z,I,D,M,W,T;class He{constructor(e,t={}){j(this,i);m(this,"element");m(this,"timeouts");m(this,"cursorPosition");m(this,"predictedCursorPosition");m(this,"statuses",{started:!1,completed:!1,frozen:!1,destroyed:!1,firing:!1});m(this,"opts");m(this,"id");m(this,"queue");m(this,"cursor");m(this,"flushCallback",null);m(this,"unfreeze",()=>{});m(this,"is",function(e){return this.statuses[e]});j(this,R,e=>{this.opts.cursor=(t=>{var r,n;if(typeof t=="object"){let o={},{frames:l,options:u}=C.cursor.animation;return o.animation=t.animation||{},o.animation.frames=((r=t.animation)==null?void 0:r.frames)||l,o.animation.options=S(u,((n=t.animation)==null?void 0:n.options)||{}),o.autoPause=t.autoPause??C.cursor.autoPause,o.autoPauseDelay=t.autoPauseDelay||C.cursor.autoPauseDelay,o}return t===!0?C.cursor:t})(e.cursor??C.cursor),this.opts.strings=a(this,i,Pe).call(this,oe(this.opts.strings)),this.opts=S(this.opts,{html:!d(this,i,M)&&this.opts.html,nextStringDelay:le(this.opts.nextStringDelay),loopDelay:le(this.opts.loopDelay)})});var r;this.opts=S(C,t),this.element=typeof(r=e)=="string"?K(r):r,this.timeouts=[],this.cursorPosition=0,this.unfreeze=()=>{},this.predictedCursorPosition=null,this.statuses=S({},Me),this.id=Math.random().toString().substring(2,9),this.queue=function(n){let o=function(c){return oe(c).forEach(y=>{var b;return p.set(Symbol((b=y.char)==null?void 0:b.innerText),l({...y}))}),this},l=c=>(c.shouldPauseCursor=function(){return!!(this.typeable||this.cursorable||this.deletable)},c),u=()=>p,h=()=>Array.from(p.values()),p=new Map;return o(n),{add:o,set:function(c,y){let b=[...p.keys()];p.set(b[c],l(y))},wipe:function(){p=new Map,o(n)},done:(c,y=!1)=>y?p.delete(c):p.get(c).done=!0,reset:function(){p.forEach(c=>delete c.done)},destroy:c=>p.delete(c),getItems:(c=!1)=>c?h():h().filter(y=>!y.done),getQueue:u,getTypeable:()=>h().filter(c=>c.typeable),getPendingQueueItems:()=>{const c=[];for(let[,y]of u())y.done||c.push(y);return c}}}([{delay:this.opts.startDelay}]),d(this,R).call(this,t),this.cursor=a(this,i,Se).call(this),this.element.dataset.typeitId=this.id,ae(ke),this.opts.strings.length&&a(this,i,ve).call(this)}go(){return this.statuses.started?this:(a(this,i,X).call(this),this.opts.waitUntilVisible?(e=this.element,t=a(this,i,q).bind(this),new IntersectionObserver((r,n)=>{r.forEach(o=>{o.isIntersecting&&(t(),n.unobserve(e))})},{threshold:1}).observe(e),this):(a(this,i,q).call(this),this));var e,t}destroy(e=!0){this.timeouts=(this.timeouts.forEach(clearTimeout),[]),v(e)&&this.cursor&&a(this,i,z).call(this,this.cursor),this.statuses.destroyed=!0}reset(e){!this.is("destroyed")&&this.destroy(),e?(this.queue.wipe(),e(this)):this.queue.reset(),this.cursorPosition=0;for(let t in this.statuses)this.statuses[t]=!1;return this.element[a(this,i,O).call(this)?"value":"innerHTML"]="",this}type(e,t={}){e=v(e);let{instant:r}=t,n=a(this,i,N).call(this,t),o=Ae(e,this.opts.html).map(u=>{return{func:()=>a(this,i,H).call(this,u),char:u,delay:r||(h=u,/<(.+)>(.*?)<\/(.+)>/.test(h.outerHTML))?0:a(this,i,I).call(this),typeable:u.nodeType===Node.TEXT_NODE};var h}),l=[n[0],{func:async()=>await this.opts.beforeString(e,this)},...o,{func:async()=>await this.opts.afterString(e,this)},n[1]];return a(this,i,w).call(this,l,t)}break(e={}){return a(this,i,w).call(this,{func:()=>a(this,i,H).call(this,$("BR")),typeable:!0},e)}move(e,t={}){e=v(e);let r=a(this,i,N).call(this,t),{instant:n,to:o}=t,l=ce({queueItems:this.queue.getTypeable(),selector:e===null?"":e,to:o,cursorPosition:d(this,i,D)}),u=l<0?-1:1;return this.predictedCursorPosition=d(this,i,D)+l,a(this,i,w).call(this,[r[0],...A({func:()=>a(this,i,Q).call(this,u),delay:n?0:a(this,i,I).call(this),cursorable:!0},Math.abs(l)),r[1]],t)}exec(e,t={}){let r=a(this,i,N).call(this,t);return a(this,i,w).call(this,[r[0],{func:()=>e(this)},r[1]],t)}options(e,t={}){return e=v(e),a(this,i,L).call(this,e),a(this,i,w).call(this,{},t)}pause(e,t={}){return a(this,i,w).call(this,{delay:v(e)},t)}delete(e=null,t={}){e=v(e);let r=a(this,i,N).call(this,t),n=e,{instant:o,to:l}=t,u=this.queue.getTypeable(),h=n===null?u.length:we(n)?n:ce({queueItems:u,selector:n,cursorPosition:d(this,i,D),to:l});return a(this,i,w).call(this,[r[0],...A({func:a(this,i,x).bind(this),delay:o?0:a(this,i,I).call(this,1),deletable:!0},h),r[1]],t)}freeze(){this.statuses.frozen=!0}flush(e=null){return this.flushCallback=e||this.flushCallback,this.statuses.firing||(a(this,i,X).call(this),a(this,i,q).call(this,!1).then(()=>{if(this.queue.getPendingQueueItems().length>0)return this.flush();this.flushCallback(),this.flushCallback=null})),this}getQueue(){return this.queue}getOptions(){return this.opts}updateOptions(e){return a(this,i,L).call(this,e)}getElement(){return this.element}empty(e={}){return a(this,i,w).call(this,{func:a(this,i,Ie).bind(this)},e)}}i=new WeakSet,Ie=async function(){a(this,i,O).call(this)?this.element.value="":d(this,i,T).forEach(a(this,i,z).bind(this))},q=async function(e=!0){this.statuses.started=!0,this.statuses.firing=!0;let t=r=>{this.queue.done(r,!e)};try{let r=[...this.queue.getQueue()];for(let o=0;o<r.length;o++){let[l,u]=r[o];if(!u.done){if(!u.deletable||u.deletable&&d(this,i,T).length){let h=await a(this,i,U).call(this,o,r);_e({index:o,newIndex:h,queueItems:r,cleanUp:t}),o=h}t(l)}}if(!e)return this.statuses.firing=!1,this;if(this.statuses.completed=!0,this.statuses.firing=!1,await this.opts.afterComplete(this),!this.opts.loop)throw"";let n=this.opts.loopDelay;a(this,i,V).call(this,async()=>{await a(this,i,Ee).call(this,n[0]),a(this,i,q).call(this)},n[1])}catch{}return this.statuses.firing=!1,this},Q=async function(e){var t,r,n;this.cursorPosition=(t=e,r=this.cursorPosition,n=d(this,i,T),Math.min(Math.max(r+t,0),n.length)),((o,l,u)=>{let h=l[u-1],p=K(`.${E}`,o);(o=(h==null?void 0:h.parentNode)||o).insertBefore(p,h||null)})(this.element,d(this,i,T),this.cursorPosition)},Ee=async function(e){let t=d(this,i,D);t&&await a(this,i,Q).call(this,{value:t});let r=d(this,i,T).map(n=>[Symbol(),{func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1),deletable:!0,shouldPauseCursor:()=>!0}]);for(let n=0;n<r.length;n++)await a(this,i,U).call(this,n,r);this.queue.reset(),this.queue.set(0,{delay:e})},U=function(e,t){return $e({index:e,queueItems:t,wait:a(this,i,V).bind(this),cursor:this.cursor,cursorOptions:this.opts.cursor})},V=async function(e,t,r=!1){this.statuses.frozen&&await new Promise(n=>{this.unfreeze=()=>{this.statuses.frozen=!1,n()}}),r||await this.opts.beforeStep(this),await((n,o,l)=>new Promise(u=>{l.push(setTimeout(async()=>{await n(),u()},o||0))}))(e,t,this.timeouts),r||await this.opts.afterStep(this)},X=async function(){if(!a(this,i,O).call(this)&&this.cursor&&this.element.appendChild(this.cursor),d(this,i,W)){((n,o)=>{let l=`[${me}='${n}'] .${E}`,u=getComputedStyle(o),h=Object.entries(Oe).reduce((p,[c,y])=>`${p} ${c}: var(--ti-cursor-${c}, ${y||u[c]});`,"");ae(`${l} { display: inline-block; width: 0; ${h} }`,n)})(this.id,this.element),this.cursor.dataset.tiAnimationId=this.id;let{animation:e}=this.opts.cursor,{frames:t,options:r}=e;Te({frames:t,cursor:this.cursor,options:{duration:this.opts.cursorSpeed,...r}})}},O=function(){return _(this.element)},w=function(e,t){return this.queue.add(e),a(this,i,Ce).call(this,t),this},Ce=function(e={}){let t=e.delay;t&&this.queue.add({delay:t})},N=function(e={}){return[{func:()=>a(this,i,L).call(this,e)},{func:()=>a(this,i,L).call(this,this.opts)}]},L=async function(e){this.opts=S(this.opts,e)},ve=function(){let e=this.opts.strings.filter(t=>!!t);e.forEach((t,r)=>{if(this.type(t),r+1===e.length)return;let n=this.opts.breakLines?[{func:()=>a(this,i,H).call(this,$("BR")),typeable:!0}]:A({func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1)},this.queue.getTypeable().length);a(this,i,J).call(this,n)})},R=new WeakMap,Pe=function(e){let t=this.element.innerHTML;return t?(this.element.innerHTML="",this.opts.startDelete?(this.element.innerHTML=t,Y(this.element),a(this,i,J).call(this,A({func:a(this,i,x).bind(this),delay:a(this,i,I).call(this,1),deletable:!0},d(this,i,T).length)),e):(r=t,r.replace(/<!--(.+?)-->/g,"").trim().split(/<br(?:\s*?)(?:\/)?>/)).concat(e)):e;var r},Se=function(){if(d(this,i,M))return null;let e=$("span");return e.className=E,d(this,i,W)?(e.innerHTML=ge(this.opts.cursorChar).innerHTML,e):(e.style.visibility="hidden",e)},J=function(e){let t=this.opts.nextStringDelay;this.queue.add([{delay:t[0]},...e,{delay:t[1]}])},H=function(e){((t,r)=>{if(_(t))return void(t.value=`${t.value}${r.textContent}`);r.innerHTML="";let n=(o=r.originalParent,/body/i.test(o==null?void 0:o.tagName)?t:r.originalParent||t);var o;let l=K("."+E,n)||null;l&&l.parentElement!==n&&(n=l.parentElement),n.insertBefore(r,l)})(this.element,e)},x=function(){d(this,i,T).length&&(d(this,i,M)?this.element.value=this.element.value.slice(0,-1):a(this,i,z).call(this,d(this,i,T)[this.cursorPosition]))},z=function(e){((t,r)=>{if(!t)return;let n=t.parentNode;(n.childNodes.length>1||n.isSameNode(r)?t:n).remove()})(e,this.element)},I=function(e=0){return function(t){let{speed:r,deleteSpeed:n,lifeLike:o}=t;return n=n!==null?n:r/3,o?[ue(r,he(r)),ue(n,he(n))]:[r,n]}(this.opts)[e]},D=function(){return this.predictedCursorPosition??this.cursorPosition},M=function(){return _(this.element)},W=function(){return!!this.opts.cursor&&!d(this,i,M)},T=function(){return e=this.element,_(e)?fe(e.value):be(e,!0).filter(t=>!(t.childNodes.length>0));var e};var ze=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor,g=(s,e,t,r)=>{for(var n,o=r>1?void 0:r?Fe(e,t):e,l=s.length-1;l>=0;l--)(n=s[l])&&(o=(r?n(e,t,o):n(o))||o);return r&&o&&ze(e,t,o),o};exports.TypewriterElement=class extends xe.$LitElement(ne.css`
2
2
  :host {
3
3
  display: inherit;
4
4
  }
@@ -18,4 +18,4 @@
18
18
  @slotchange=${()=>{this._startTyping()}}
19
19
  ></slot>
20
20
  </div> `}},g([f.property({type:Number})],exports.TypewriterElement.prototype,"speed",2),g([Le.c({context:re.delayContext,subscribe:!0}),f.property({type:Number})],exports.TypewriterElement.prototype,"delay",2),g([f.property({type:Boolean})],exports.TypewriterElement.prototype,"autoStart",2),g([f.property({type:String})],exports.TypewriterElement.prototype,"cursorChar",2),g([f.property({type:Number})],exports.TypewriterElement.prototype,"deleteSpeed",2),g([f.property({type:Boolean})],exports.TypewriterElement.prototype,"once",2),g([f.query("#typewriter")],exports.TypewriterElement.prototype,"typewriterContainer",2),g([f.queryAssignedNodes({flatten:!0})],exports.TypewriterElement.prototype,"_getSlottedNodes",2),g([f.queryAssignedElements({flatten:!0})],exports.TypewriterElement.prototype,"_getSlottedElements",2),exports.TypewriterElement=g([f.customElement("schmancy-typewriter")],exports.TypewriterElement);
21
- //# sourceMappingURL=typewriter-DnGkvyDG.cjs.map
21
+ //# sourceMappingURL=typewriter-CPS8Fql3.cjs.map