@mhmo91/schmancy 0.2.110 → 0.2.112

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 (228) hide show
  1. package/dist/{animated-text-DVOOMC1D.js → animated-text-CmvbdVJF.js} +3 -3
  2. package/dist/{animated-text-DVOOMC1D.js.map → animated-text-CmvbdVJF.js.map} +1 -1
  3. package/dist/{animated-text-DlKO_Vrs.cjs → animated-text-CrZbI_E_.cjs} +2 -2
  4. package/dist/{animated-text-DlKO_Vrs.cjs.map → animated-text-CrZbI_E_.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-D5Fb0wFU.cjs +8 -0
  9. package/dist/area.component-D5Fb0wFU.cjs.map +1 -0
  10. package/dist/area.component-Dzl8Iw9I.js +107 -0
  11. package/dist/area.component-Dzl8Iw9I.js.map +1 -0
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-M8WGHj-g.cjs → autocomplete-Bsx63fvs.cjs} +2 -2
  14. package/dist/{autocomplete-M8WGHj-g.cjs.map → autocomplete-Bsx63fvs.cjs.map} +1 -1
  15. package/dist/{autocomplete-DfMYQcMT.js → autocomplete-C7d1TghO.js} +3 -3
  16. package/dist/{autocomplete-DfMYQcMT.js.map → autocomplete-C7d1TghO.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-4_xm2-8p.cjs → checkbox-D5Zw8R82.cjs} +2 -2
  26. package/dist/{checkbox-4_xm2-8p.cjs.map → checkbox-D5Zw8R82.cjs.map} +1 -1
  27. package/dist/{checkbox-DjOoDL3Z.js → checkbox-Ddc3Nogy.js} +2 -2
  28. package/dist/{checkbox-DjOoDL3Z.js.map → checkbox-Ddc3Nogy.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-BiH92xO_.js → chips-Bm_VYwr5.js} +3 -3
  32. package/dist/{chips-BiH92xO_.js.map → chips-Bm_VYwr5.js.map} +1 -1
  33. package/dist/{chips-CQiuGfz9.cjs → chips-D5ADFFCU.cjs} +2 -2
  34. package/dist/{chips-CQiuGfz9.cjs.map → chips-D5ADFFCU.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-B48asllR.cjs → date-range-CH-IKoMW.cjs} +2 -2
  42. package/dist/{date-range-B48asllR.cjs.map → date-range-CH-IKoMW.cjs.map} +1 -1
  43. package/dist/{date-range-L44lnjhw.js → date-range-LMnnBclq.js} +3 -3
  44. package/dist/{date-range-L44lnjhw.js.map → date-range-LMnnBclq.js.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-ClXoku51.cjs → delay-DSBPkKzK.cjs} +2 -2
  48. package/dist/{delay-ClXoku51.cjs.map → delay-DSBPkKzK.cjs.map} +1 -1
  49. package/dist/{delay-CEuQodz9.js → delay-Nnqipc2p.js} +2 -2
  50. package/dist/{delay-CEuQodz9.js.map → delay-Nnqipc2p.js.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-Ov02T5Fs.js → divider-C7JP4sSG.js} +3 -3
  54. package/dist/{divider-Ov02T5Fs.js.map → divider-C7JP4sSG.js.map} +1 -1
  55. package/dist/{divider-BI9weq1x.cjs → divider-CcTSaeAl.cjs} +2 -2
  56. package/dist/{divider-BI9weq1x.cjs.map → divider-CcTSaeAl.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{flex-DGkaKhhw.cjs → flex-B_mVCq18.cjs} +2 -2
  60. package/dist/{flex-DGkaKhhw.cjs.map → flex-B_mVCq18.cjs.map} +1 -1
  61. package/dist/{flex-05flA0jO.js → flex-P9rZBgGQ.js} +2 -2
  62. package/dist/{flex-05flA0jO.js.map → flex-P9rZBgGQ.js.map} +1 -1
  63. package/dist/{form-Cz7y2wCT.js → form-DPcVlChy.js} +2 -2
  64. package/dist/{form-Cz7y2wCT.js.map → form-DPcVlChy.js.map} +1 -1
  65. package/dist/{form-Cxd2Gv-H.cjs → form-cxzC6GVM.cjs} +2 -2
  66. package/dist/{form-Cxd2Gv-H.cjs.map → form-cxzC6GVM.cjs.map} +1 -1
  67. package/dist/form.cjs +1 -1
  68. package/dist/form.js +1 -1
  69. package/dist/{icon-C8_DfC7_.cjs → icon-BEKKW3-2.cjs} +2 -2
  70. package/dist/{icon-C8_DfC7_.cjs.map → icon-BEKKW3-2.cjs.map} +1 -1
  71. package/dist/{icon-C3FJZ48a.js → icon-BGWDEYcH.js} +3 -3
  72. package/dist/{icon-C3FJZ48a.js.map → icon-BGWDEYcH.js.map} +1 -1
  73. package/dist/{icon-button-ChK-DjdA.cjs → icon-button-ChOGnclR.cjs} +2 -2
  74. package/dist/{icon-button-ChK-DjdA.cjs.map → icon-button-ChOGnclR.cjs.map} +1 -1
  75. package/dist/{icon-button-DTiU4XLv.js → icon-button-DlC2-vLK.js} +3 -3
  76. package/dist/{icon-button-DTiU4XLv.js.map → icon-button-DlC2-vLK.js.map} +1 -1
  77. package/dist/icons.cjs +1 -1
  78. package/dist/icons.js +1 -1
  79. package/dist/index.cjs +1 -1
  80. package/dist/index.js +57 -58
  81. package/dist/{input-IHvsWbQB.cjs → input-C7C9t_rb.cjs} +2 -2
  82. package/dist/{input-IHvsWbQB.cjs.map → input-C7C9t_rb.cjs.map} +1 -1
  83. package/dist/{input-M-qJTNjt.js → input-CIRYUKIL.js} +2 -2
  84. package/dist/{input-M-qJTNjt.js.map → input-CIRYUKIL.js.map} +1 -1
  85. package/dist/input.cjs +1 -1
  86. package/dist/input.js +1 -1
  87. package/dist/layout.cjs +1 -1
  88. package/dist/layout.js +1 -1
  89. package/dist/{list-BWqWQl65.js → list-Bzx4a2RJ.js} +2 -2
  90. package/dist/{list-BWqWQl65.js.map → list-Bzx4a2RJ.js.map} +1 -1
  91. package/dist/{list-CiPO2APk.cjs → list-D1kS-XDO.cjs} +2 -2
  92. package/dist/{list-CiPO2APk.cjs.map → list-D1kS-XDO.cjs.map} +1 -1
  93. package/dist/list.cjs +1 -1
  94. package/dist/list.js +1 -1
  95. package/dist/{litElement.mixin-CmIssdvT.js → litElement.mixin-Dx9_p_nV.js} +2 -2
  96. package/dist/{litElement.mixin-CmIssdvT.js.map → litElement.mixin-Dx9_p_nV.js.map} +1 -1
  97. package/dist/{litElement.mixin-DhNtGNmS.cjs → litElement.mixin-PVEJyATw.cjs} +2 -2
  98. package/dist/{litElement.mixin-DhNtGNmS.cjs.map → litElement.mixin-PVEJyATw.cjs.map} +1 -1
  99. package/dist/{menu-CBGSAgDq.js → menu-CzcGpZXF.js} +3 -3
  100. package/dist/{menu-CBGSAgDq.js.map → menu-CzcGpZXF.js.map} +1 -1
  101. package/dist/{menu-DyYcxMo9.cjs → menu-D30w9YPg.cjs} +2 -2
  102. package/dist/{menu-DyYcxMo9.cjs.map → menu-D30w9YPg.cjs.map} +1 -1
  103. package/dist/menu.cjs +1 -1
  104. package/dist/menu.js +1 -1
  105. package/dist/nav-drawer.cjs +1 -1
  106. package/dist/nav-drawer.js +1 -1
  107. package/dist/notification.cjs +1 -1
  108. package/dist/notification.js +2 -3
  109. package/dist/{option-BMehxrZp.js → option-igpxXgTd.js} +2 -2
  110. package/dist/{option-BMehxrZp.js.map → option-igpxXgTd.js.map} +1 -1
  111. package/dist/{option-DbUli08g.cjs → option-x_W6-_iT.cjs} +2 -2
  112. package/dist/{option-DbUli08g.cjs.map → option-x_W6-_iT.cjs.map} +1 -1
  113. package/dist/option.cjs +1 -1
  114. package/dist/option.js +1 -1
  115. package/dist/outlet-DqRiezsh.cjs +61 -0
  116. package/dist/outlet-DqRiezsh.cjs.map +1 -0
  117. package/dist/outlet-DzAi4iKo.js +128 -0
  118. package/dist/outlet-DzAi4iKo.js.map +1 -0
  119. package/dist/{payment-card-form-IuFrmEnf.js → payment-card-form-CwqKB8Tm.js} +3 -3
  120. package/dist/{payment-card-form-IuFrmEnf.js.map → payment-card-form-CwqKB8Tm.js.map} +1 -1
  121. package/dist/{payment-card-form-bxddazUs.cjs → payment-card-form-IamvKqiN.cjs} +2 -2
  122. package/dist/{payment-card-form-bxddazUs.cjs.map → payment-card-form-IamvKqiN.cjs.map} +1 -1
  123. package/dist/{radio-group-CzjbJO0T.js → radio-group-C9UaGgCL.js} +2 -2
  124. package/dist/{radio-group-CzjbJO0T.js.map → radio-group-C9UaGgCL.js.map} +1 -1
  125. package/dist/{radio-group-BccKUiKW.cjs → radio-group-zGJIFNCR.cjs} +2 -2
  126. package/dist/{radio-group-BccKUiKW.cjs.map → radio-group-zGJIFNCR.cjs.map} +1 -1
  127. package/dist/radio-group.cjs +1 -1
  128. package/dist/radio-group.js +1 -1
  129. package/dist/{select-BhPMWNbW.js → select-5ob4WHTf.js} +3 -3
  130. package/dist/{select-BhPMWNbW.js.map → select-5ob4WHTf.js.map} +1 -1
  131. package/dist/{select-BS2sXDR9.cjs → select-B194j_5a.cjs} +2 -2
  132. package/dist/{select-BS2sXDR9.cjs.map → select-B194j_5a.cjs.map} +1 -1
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +1 -1
  135. package/dist/{sheet-CwwT5thu.js → sheet-C2RxblaX.js} +3 -3
  136. package/dist/{sheet-CwwT5thu.js.map → sheet-C2RxblaX.js.map} +1 -1
  137. package/dist/{sheet-DOwu96wF.cjs → sheet-CHFHgh29.cjs} +2 -2
  138. package/dist/{sheet-DOwu96wF.cjs.map → sheet-CHFHgh29.cjs.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-D7m05_ay.js → slider-BOTY8Lhv.js} +3 -3
  142. package/dist/{slider-D7m05_ay.js.map → slider-BOTY8Lhv.js.map} +1 -1
  143. package/dist/{slider-BAESvAar.cjs → slider-BgNoOOeQ.cjs} +2 -2
  144. package/dist/{slider-BAESvAar.cjs.map → slider-BgNoOOeQ.cjs.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-CoNNKh0e.js → spinner-Vwv-mKip.js} +3 -3
  148. package/dist/{spinner-CoNNKh0e.js.map → spinner-Vwv-mKip.js.map} +1 -1
  149. package/dist/{spinner-7jk2tm5-.cjs → spinner-vBTOD2N0.cjs} +2 -2
  150. package/dist/{spinner-7jk2tm5-.cjs.map → spinner-vBTOD2N0.cjs.map} +1 -1
  151. package/dist/{surface-oLJxHIii.js → surface-CryISDFd.js} +2 -2
  152. package/dist/{surface-oLJxHIii.js.map → surface-CryISDFd.js.map} +1 -1
  153. package/dist/{surface-DaLDGARV.cjs → surface-Csc8YLks.cjs} +2 -2
  154. package/dist/{surface-DaLDGARV.cjs.map → surface-Csc8YLks.cjs.map} +1 -1
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-BcHZEysB.cjs → table-DHHo5etf.cjs} +2 -2
  158. package/dist/{table-BcHZEysB.cjs.map → table-DHHo5etf.cjs.map} +1 -1
  159. package/dist/{table-CniLq7FP.js → table-DRL3oAjo.js} +2 -2
  160. package/dist/{table-CniLq7FP.js.map → table-DRL3oAjo.js.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-B78YHrsf.cjs → tabs-group-BRVzKIRX.cjs} +2 -2
  164. package/dist/{tabs-group-B78YHrsf.cjs.map → tabs-group-BRVzKIRX.cjs.map} +1 -1
  165. package/dist/{tabs-group-BtEJCfxW.js → tabs-group-BcXgpxUw.js} +2 -2
  166. package/dist/{tabs-group-BtEJCfxW.js.map → tabs-group-BcXgpxUw.js.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/tailwind.mixin-BM-bjRjT.cjs +2 -0
  170. package/dist/{tailwind.mixin-HfEdtDL9.cjs.map → tailwind.mixin-BM-bjRjT.cjs.map} +1 -1
  171. package/dist/tailwind.mixin-YEy_iITN.js +43 -0
  172. package/dist/{tailwind.mixin-BqYiHta7.js.map → tailwind.mixin-YEy_iITN.js.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-Dr3mMZpf.cjs → teleport.component-BVj_m_Kl.cjs} +2 -2
  175. package/dist/{teleport.component-Dr3mMZpf.cjs.map → teleport.component-BVj_m_Kl.cjs.map} +1 -1
  176. package/dist/{teleport.component-CexA5J_f.js → teleport.component-K6cmr5Tr.js} +35 -35
  177. package/dist/{teleport.component-CexA5J_f.js.map → teleport.component-K6cmr5Tr.js.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-BxFi32D9.js → textarea-BzI6HMKy.js} +2 -2
  180. package/dist/{textarea-BxFi32D9.js.map → textarea-BzI6HMKy.js.map} +1 -1
  181. package/dist/{textarea-B9raf8_D.cjs → textarea-CUi2u7J7.cjs} +2 -2
  182. package/dist/{textarea-B9raf8_D.cjs.map → textarea-CUi2u7J7.cjs.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-DoJnYU3H.cjs → theme-button-BJe1x0Cs.cjs} +2 -2
  186. package/dist/{theme-button-DoJnYU3H.cjs.map → theme-button-BJe1x0Cs.cjs.map} +1 -1
  187. package/dist/{theme-button-BKEGXvgI.js → theme-button-DhD5GksO.js} +2 -2
  188. package/dist/{theme-button-BKEGXvgI.js.map → theme-button-DhD5GksO.js.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/{theme.component-CXo8UXgG.cjs → theme.component-BI2OGjYG.cjs} +2 -2
  193. package/dist/{theme.component-CXo8UXgG.cjs.map → theme.component-BI2OGjYG.cjs.map} +1 -1
  194. package/dist/{theme.component-BNn_72QE.js → theme.component-D4WBav-_.js} +2 -2
  195. package/dist/{theme.component-BNn_72QE.js.map → theme.component-D4WBav-_.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-Fx-Zhp0w.cjs → tree-8ORo7bDg.cjs} +2 -2
  198. package/dist/{tree-Fx-Zhp0w.cjs.map → tree-8ORo7bDg.cjs.map} +1 -1
  199. package/dist/{tree-GRbYc_5D.js → tree-D42tswgB.js} +2 -2
  200. package/dist/{tree-GRbYc_5D.js.map → tree-D42tswgB.js.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-DdSoLHgM.js → typewriter-BwNXbsZp.js} +4 -4
  204. package/dist/{typewriter-DdSoLHgM.js.map → typewriter-BwNXbsZp.js.map} +1 -1
  205. package/dist/{typewriter-DSOyGh9X.cjs → typewriter-JuHIja1a.cjs} +2 -2
  206. package/dist/{typewriter-DSOyGh9X.cjs.map → typewriter-JuHIja1a.cjs.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-ZVK1c0Z3.cjs → typography-BMkQ3cH-.cjs} +2 -2
  210. package/dist/{typography-ZVK1c0Z3.cjs.map → typography-BMkQ3cH-.cjs.map} +1 -1
  211. package/dist/{typography-DtXgIuFu.js → typography-CaOb3D3z.js} +2 -2
  212. package/dist/{typography-DtXgIuFu.js.map → typography-CaOb3D3z.js.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +1 -1
  216. package/types/src/area/area.component.d.ts +5 -74
  217. package/types/src/notification/$notification.d.ts +6 -6
  218. package/types/src/notification/notification.d.ts +1 -3
  219. package/dist/area.component-CsuNu7IV.cjs +0 -8
  220. package/dist/area.component-CsuNu7IV.cjs.map +0 -1
  221. package/dist/area.component-DjuS-Jbn.js +0 -119
  222. package/dist/area.component-DjuS-Jbn.js.map +0 -1
  223. package/dist/outlet-CcJZw_-p.cjs +0 -24
  224. package/dist/outlet-CcJZw_-p.cjs.map +0 -1
  225. package/dist/outlet-Dn_2_r0T.js +0 -78
  226. package/dist/outlet-Dn_2_r0T.js.map +0 -1
  227. package/dist/tailwind.mixin-BqYiHta7.js +0 -43
  228. package/dist/tailwind.mixin-HfEdtDL9.cjs +0 -2
@@ -1,9 +1,7 @@
1
- export type NotificationType = 'success' | 'error' | 'warning' | 'info';
2
1
  declare const SchmancyNotification_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
3
2
  export declare class SchmancyNotification extends SchmancyNotification_base {
4
- type: NotificationType;
3
+ type: 'success' | 'error' | 'warning' | 'info';
5
4
  render(): import("lit-html").TemplateResult<1>;
6
- private handleClose;
7
5
  }
8
6
  declare global {
9
7
  interface HTMLElementTagNameMap {
@@ -1,8 +0,0 @@
1
- "use strict";const e=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./litElement.mixin-DhNtGNmS.cjs");require("./tailwind.mixin-HfEdtDL9.cjs");const l=require("lit"),c=require("lit/decorators.js"),g=require("./index-DyJ0oDpR.cjs"),S=new e.Subject,d="FINDING_MORTIES",f="HERE_RICKY";class p{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new e.ReplaySubject(1),this.current=new Map,this.$current=new e.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(d),this.$current.next(this.current)}find(){return e.zip([e.fromEvent(window,f).pipe(e.map(t=>t.detail),e.bufferTime(0),e.tap(console.log)),e.of(1).pipe(e.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(e.map(([t])=>t),e.timeout(1))}push(t){this.request.next(t)}pop(t){const o=JSON.parse(JSON.stringify(s.state));delete o[t],history.replaceState(null,"",encodeURIComponent(JSON.stringify(o)))}static getInstance(){return p.instance||(p.instance=new p),p.instance}get state(){const t=location.pathname.split("/").pop();let o={};try{o=t?JSON.parse(decodeURIComponent(t)):{}}catch{o={}}return o}}const s=p.getInstance();var h=(n=>(n.push="push",n.replace="replace",n.pop="pop",n.silent="silent",n))(h||{}),w=Object.defineProperty,E=Object.getOwnPropertyDescriptor,m=(n,t,o,r)=>{for(var i,a=r>1?void 0:r?E(t,o):t,u=n.length-1;u>=0;u--)(i=n[u])&&(a=(r?i(t,o,a):i(a))||a);return r&&a&&w(t,o,a),a};exports.SchmancyArea=class extends y.$LitElement(l.css`
2
- :host {
3
- position: relative;
4
- display: block;
5
- inset: 0;
6
- }
7
- `){constructor(){super(...arguments),this.mappings=[]}getComponentFromMappings(n,t){return e.of(location.pathname).pipe(e.map(o=>{const r=n.find(a=>a.pathname===o);if(!r)throw new Error(`No mapping found for pathname: ${o}`);const i=r.routes.find(a=>a.area===this.name);if(!i)throw new Error(`No route found for area: ${this.name} in pathname: ${o}`);return i}),e.map(o=>({area:this.name,component:o.component||this.default,state:o.state,historyStrategy:t})),e.catchError(()=>this.default?e.of({area:this.name,component:this.default,historyStrategy:t}):e.EMPTY))}getComponentFromPathname(n,t){return e.of(n).pipe(e.map(o=>o.split("/").pop()??""),e.map(o=>decodeURIComponent(o)),e.map(o=>JSON.parse(o)),e.map(o=>o[this.name]),e.map(o=>!o&&this.default?{component:this.default,state:void 0}:o),e.filter(o=>g.libExports.isPresent(o)),e.map(o=>({area:this.name,component:o.component??this.default,state:o.state,historyStrategy:t})),e.map(o=>o),e.catchError(()=>this.default?e.of({area:this.name,component:this.default,historyStrategy:t}):e.EMPTY))}firstUpdated(){if(!this.name)throw new Error("Area name or default component not set");e.merge(e.of(location.pathname).pipe(e.switchMap(n=>this.getComponentFromPathname(n,h.silent)),e.take(1)),s.request.pipe(e.filter(({area:n})=>n===this.name)),e.fromEvent(window,"popstate").pipe(e.map(n=>n.target.location.pathname),e.switchMap(n=>this.getComponentFromPathname(n,h.silent)))).pipe(e.filter(n=>!!n.component),e.takeUntil(this.disconnecting),e.distinctUntilChanged((n,t)=>{let o,r;return typeof n.component!="function"&&(typeof n.component=="string"&&(o=n.component),typeof t.component!="function"&&(typeof t.component=="string"&&(r=t.component),(r==null?void 0:r.replaceAll("-","").toLowerCase())===(o==null?void 0:o.replaceAll("-","").toLowerCase())))})).pipe(e.switchMap(n=>{const t=n.component;return t instanceof Promise?e.from(t).pipe(e.map(o=>({component:o.exports.default,route:n}))):e.of({component:t,route:n})}),e.map(({component:n,route:t})=>typeof n=="string"?{component:document.createElement(n),route:t}:n instanceof HTMLElement?{component:n,route:t}:typeof n=="function"?{component:new n,route:t}:void 0),e.distinctUntilChanged((n,t)=>n.component.tagName===t.component.tagName),e.map(({component:n,route:t})=>{var i,a;const o=(i=this.shadowRoot)==null?void 0:i.children[0],r=!!o;return o.remove(),n.classList.add("opacity-0"),(a=this.shadowRoot)==null||a.append(n),n.animate([{opacity:0},{opacity:1}],{duration:r?150:100,easing:"cubic-bezier(0.25, 0.8, 0.25, 1)",fill:"forwards"}),{component:n,route:t}}),e.tap(({component:n,route:t})=>{t.historyStrategy===void 0||t.historyStrategy==="push"?history.pushState(t.state,"",this.newPath(n.tagName,t)):t.historyStrategy&&["replace","pop"].includes(t.historyStrategy)&&history.replaceState(t.state,"",this.newPath(n.tagName,t)),s.current.set(this.name,{component:n.tagName,state:t.state,area:this.name}),s.$current.next(s.current)}),e.takeUntil(this.disconnecting)).subscribe()}newPath(n,t){const o=location.pathname.split("/").pop();let r={};try{r=o?JSON.parse(decodeURIComponent(o)):{}}catch{r={}}t.state=t.state??{};const i=t.clearQueryParams?this.queryParamClear(t.clearQueryParams):document.location.search;return encodeURIComponent(JSON.stringify({...r,[this.name]:{component:n.toLowerCase(),state:t.state}})).concat(`${i}`)}queryParamClear(n){if(!n)return"";const t=new URLSearchParams(location.search);return n.forEach(o=>t.delete(o)),t.toString()===""?"":`?${t.toString()}`}checkForTeleportationRequests(){return e.fromEvent(window,"FLIP_REQUEST").pipe(e.map(n=>n.detail),e.tap(()=>{this.dispatchEvent(new CustomEvent("FLIP_STARTED"))}),e.timeout(0),e.catchError(()=>e.of(null)),e.takeUntil(this.disconnecting))}disconnectedCallback(){super.disconnectedCallback(),this.disconnecting.next(!0)}render(){return l.html` <slot> </slot> `}},m([c.property()],exports.SchmancyArea.prototype,"name",2),m([c.property()],exports.SchmancyArea.prototype,"default",2),m([c.property({type:Array})],exports.SchmancyArea.prototype,"mappings",2),exports.SchmancyArea=m([c.customElement("schmancy-area")],exports.SchmancyArea),exports.FINDING_MORTIES=d,exports.HERE_RICKY=f,exports.HISTORY_STRATEGY=h,exports.area=s,exports.routerHistory=S;
8
- //# sourceMappingURL=area.component-CsuNu7IV.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"area.component-CsuNu7IV.cjs","sources":["../src/area/area.service.ts","../src/area/router.types.ts","../src/area/area.component.ts"],"sourcesContent":["import { ReplaySubject, Subject, bufferTime, fromEvent, map, of, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from '../teleport'\nimport { ActiveRoute, RouteAction } from './router.types'\n\nexport const routerHistory = new Subject<RouteAction>()\n\nexport const FINDING_MORTIES = 'FINDING_MORTIES'\nexport const HERE_RICKY = 'HERE_RICKY'\nexport type HERE_RICKY_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\nexport type FINDING_MORTIES_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nclass AreaService {\n\tprivate static instance: AreaService\n\tpublic prettyURL = false\n\tpublic mode: 'SILENT' | 'HISTORY' = 'HISTORY'\n\tpublic request = new ReplaySubject<RouteAction>(1)\n\tpublic current = new Map<string, ActiveRoute>()\n\tpublic $current = new ReplaySubject<Map<string, ActiveRoute>>(1)\n\tpublic enableHistoryMode = true\n\tprivate findingMortiesEvent = new CustomEvent<FINDING_MORTIES_EVENT['detail']>(FINDING_MORTIES)\n\n\tconstructor() {\n\t\tthis.$current.next(this.current)\n\t}\n\n\tfind() {\n\t\treturn zip([\n\t\t\tfromEvent<HERE_RICKY_EVENT>(window, HERE_RICKY).pipe(\n\t\t\t\tmap(e => e.detail),\n\t\t\t\tbufferTime(0),\n\t\t\t\ttap(console.log),\n\t\t\t),\n\t\t\tof(1).pipe(tap(() => window.dispatchEvent(this.findingMortiesEvent))),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(1),\n\t\t)\n\t}\n\n\tpush(r: RouteAction) {\n\t\tthis.request.next(r)\n\t}\n\n\tpop(name: string) {\n\t\tconst newState = JSON.parse(JSON.stringify(area.state))\n\t\tdelete newState[name]\n\t\tconsole.log(area.state, newState)\n\t\thistory.replaceState(null, '', encodeURIComponent(JSON.stringify(newState)))\n\t}\n\tstatic getInstance() {\n\t\tif (!AreaService.instance) {\n\t\t\tAreaService.instance = new AreaService()\n\t\t}\n\t\treturn AreaService.instance\n\t}\n\n\tget state() {\n\t\tconst pathname = location.pathname.split('/').pop()\n\t\tlet areaState = {}\n\t\ttry {\n\t\t\tareaState = pathname ? JSON.parse(decodeURIComponent(pathname)) : {}\n\t\t} catch {\n\t\t\tareaState = {}\n\t\t}\n\t\treturn areaState\n\t}\n}\n\nexport const area = AreaService.getInstance()\nexport default area\n","export type RouteAction = {\n\tcomponent: CustomElementConstructor | string | HTMLElement\n\tarea: string\n\tstate?: object\n\thistoryStrategy?: THistoryStrategy\n\tclearQueryParams?: string[] | null\n}\n\nexport type ActiveRoute = {\n\tcomponent: string\n\tarea: string\n\tstate?: object\n}\n\nexport type THistoryStrategy = 'push' | 'replace' | 'pop' | 'silent'\n\nexport enum HISTORY_STRATEGY {\n\tpush = 'push',\n\treplace = 'replace',\n\tpop = 'pop',\n\tsilent = 'silent',\n}\n","import { $LitElement } from '@mixins/index'\nimport { TemplateResult, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport {\n\tEMPTY,\n\tcatchError,\n\tdistinctUntilChanged,\n\tfilter,\n\tfrom,\n\tfromEvent,\n\tmap,\n\tmerge,\n\tof,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimeout,\n} from 'rxjs'\nimport { isPresent } from 'ts-is-present'\nimport area from './area.service'\nimport { HISTORY_STRATEGY, RouteAction } from './router.types'\n\n/**\n * Type describing the route for an area.\n */\ntype TRouteArea = {\n\tcomponent: string\n\tstate: object | undefined\n}\n\n/**\n * Type for a mapping entry. Each mapping specifies a pathname and an array of route definitions.\n * Each route definition contains an area name, a component (or promise/constructor/template),\n * and optionally, a state.\n */\nexport type AreaPathnames = {\n\tpathname: string\n\troutes: Array<{\n\t\tarea: string\n\t\tcomponent: string | Promise<NodeModule> | CustomElementConstructor | TemplateResult<1>\n\t\tstate?: object\n\t}>\n}\n\n@customElement('schmancy-area')\nexport class SchmancyArea extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\tinset: 0;\n\t}\n`) {\n\t/**\n\t * The name of the router outlet.\n\t * @attr\n\t * @type {string}\n\t * @public\n\t * @required\n\t */\n\t@property() name!: string\n\n\t/**\n\t * The default component to use if no matching route is found.\n\t */\n\t@property() default!: string | Promise<NodeModule> | CustomElementConstructor | TemplateResult<1>\n\n\t/**\n\t * (Optional) A mappings property that can be set on the element.\n\t * This property is only available for external use and does not alter\n\t * the component's built-in routing behavior.\n\t *\n\t * Example:\n\t * [\n\t * {\n\t * pathname: '/home',\n\t * routes: [\n\t * { area: 'main', component: 'home-view', state: { foo: 'bar' } },\n\t * { area: 'sidebar', component: 'menu-view' }\n\t * ]\n\t * },\n\t * {\n\t * pathname: '/about',\n\t * routes: [\n\t * { area: 'main', component: 'about-view' },\n\t * { area: 'sidebar', component: 'info-view' }\n\t * ]\n\t * }\n\t * ]\n\t */\n\t@property({ type: Array }) mappings: AreaPathnames[] = []\n\n\t/**\n\t * NEW PUBLIC API:\n\t * Accepts an array of route mappings and returns an observable emitting\n\t * the RouteAction for this area (if found) based on the current location's pathname.\n\t *\n\t * Note: This method does not affect the component's built-in logic.\n\t *\n\t * @param mappings - Array of route mapping objects.\n\t * @param historyStrategy - The history strategy to use (e.g. PUSH, REPLACE, SILENT).\n\t * @returns An RxJS Observable that emits a RouteAction.\n\t */\n\tpublic getComponentFromMappings(mappings: AreaPathnames[], historyStrategy: HISTORY_STRATEGY) {\n\t\treturn of(location.pathname).pipe(\n\t\t\tmap(currentPath => {\n\t\t\t\tconst mapping = mappings.find(m => m.pathname === currentPath)\n\t\t\t\tif (!mapping) {\n\t\t\t\t\tthrow new Error(`No mapping found for pathname: ${currentPath}`)\n\t\t\t\t}\n\t\t\t\tconst routeForArea = mapping.routes.find(route => route.area === this.name)\n\t\t\t\tif (!routeForArea) {\n\t\t\t\t\tthrow new Error(`No route found for area: ${this.name} in pathname: ${currentPath}`)\n\t\t\t\t}\n\t\t\t\treturn routeForArea\n\t\t\t}),\n\t\t\tmap(\n\t\t\t\troute =>\n\t\t\t\t\t({\n\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\tcomponent: route.component || this.default,\n\t\t\t\t\t\tstate: route.state,\n\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t}) as RouteAction,\n\t\t\t),\n\t\t\tcatchError(() =>\n\t\t\t\tthis.default\n\t\t\t\t\t? of({\n\t\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t\t} as RouteAction)\n\t\t\t\t\t: EMPTY,\n\t\t\t),\n\t\t)\n\t}\n\n\t/**\n\t * ORIGINAL API:\n\t * Returns an observable that emits a RouteAction based on the provided pathname.\n\t *\n\t * This method retains the original logic that parses the URL.\n\t *\n\t * @param pathname - Pathname from the browser location API.\n\t * @param historyStrategy - The history strategy to use for the route (PUSH, REPLACE, SILENT).\n\t * @returns An observable emitting the RouteAction.\n\t */\n\tgetComponentFromPathname(pathname: string, historyStrategy: HISTORY_STRATEGY) {\n\t\treturn of(pathname).pipe(\n\t\t\tmap(path => path.split('/').pop() ?? ''),\n\t\t\tmap(path => decodeURIComponent(path)),\n\t\t\tmap(path => JSON.parse(path)),\n\t\t\tmap(routes => routes[this.name] as TRouteArea),\n\t\t\tmap(component =>\n\t\t\t\t!component && this.default\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\tstate: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t: component,\n\t\t\t),\n\t\t\tfilter(x => isPresent(x)),\n\t\t\tmap((component: TRouteArea) => ({\n\t\t\t\tarea: this.name,\n\t\t\t\tcomponent: component.component ?? this.default,\n\t\t\t\tstate: component.state,\n\t\t\t\thistoryStrategy,\n\t\t\t})),\n\t\t\tmap(x => x as RouteAction),\n\t\t\tcatchError(() => {\n\t\t\t\treturn this.default\n\t\t\t\t\t? of({\n\t\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t\t} as RouteAction)\n\t\t\t\t\t: EMPTY\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * The original routing pipeline remains intact.\n\t * It uses getComponentFromPathname to resolve the route based on the URL.\n\t */\n\tprotected firstUpdated(): void {\n\t\tif (!this.name) {\n\t\t\t// TODO: maybe enforce this to be unique\n\t\t\tthrow new Error('Area name or default component not set')\n\t\t}\n\n\t\tmerge(\n\t\t\t// 1) Initial load from location.pathname.\n\t\t\tof(location.pathname).pipe(\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Requests to change the route for this area.\n\t\t\tarea.request.pipe(filter(({ area }) => area === this.name)),\n\t\t\t// 3) Popstate events (back, forward).\n\t\t\tfromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\tmap(e => (e.target as Window).location.pathname),\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tfilter(request => !!request.component),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged((a, b) => {\n\t\t\t\t\tlet aComponent, bComponent\n\t\t\t\t\tif (typeof a.component === 'function') return false\n\t\t\t\t\telse if (typeof a.component === 'string') aComponent = a.component\n\n\t\t\t\t\tif (typeof b.component === 'function') return false\n\t\t\t\t\telse if (typeof b.component === 'string') bComponent = b.component\n\n\t\t\t\t\treturn bComponent?.replaceAll('-', '').toLowerCase() === aComponent?.replaceAll('-', '').toLowerCase()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(route => {\n\t\t\t\t\tconst c = route.component\n\t\t\t\t\tif (c instanceof Promise) {\n\t\t\t\t\t\t// Dynamic import module.\n\t\t\t\t\t\treturn from(c).pipe(\n\t\t\t\t\t\t\tmap(x => ({\n\t\t\t\t\t\t\t\tcomponent: x.exports.default as CustomElementConstructor,\n\t\t\t\t\t\t\t\troute,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Already a string, function, or element.\n\t\t\t\t\t\treturn of({ component: c, route })\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tif (typeof component === 'string') {\n\t\t\t\t\t\t// Tag name.\n\t\t\t\t\t\treturn { component: document.createElement(component), route }\n\t\t\t\t\t} else if (component instanceof HTMLElement) {\n\t\t\t\t\t\t// Already an element instance.\n\t\t\t\t\t\treturn { component, route }\n\t\t\t\t\t} else if (typeof component === 'function') {\n\t\t\t\t\t\t// Custom element constructor.\n\t\t\t\t\t\treturn { component: new component(), route }\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged((prev, curr) => prev.component.tagName === curr.component.tagName),\n\t\t\t\t// Create the new view and add it to the DOM.\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tconst oldView = this.shadowRoot?.children[0]\n\t\t\t\t\tconst oldViewExists = !!oldView\n\n\t\t\t\t\t// Remove the old view (if any).\n\t\t\t\t\toldView.remove()\n\t\t\t\t\t// Native Web Animations API - fade in.\n\t\t\t\t\tcomponent.classList.add('opacity-0')\n\t\t\t\t\tthis.shadowRoot?.append(component)\n\t\t\t\t\tcomponent.animate([{ opacity: 0 }, { opacity: 1 }], {\n\t\t\t\t\t\tduration: oldViewExists ? 150 : 100,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.25, 0.8, 0.25, 1)',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\treturn { component, route }\n\t\t\t\t}),\n\t\t\t\ttap(({ component, route }) => {\n\t\t\t\t\t// Handle history updates.\n\t\t\t\t\tif (typeof route.historyStrategy === 'undefined' || route.historyStrategy === 'push') {\n\t\t\t\t\t\thistory.pushState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t} else if (route.historyStrategy && ['replace', 'pop'].includes(route.historyStrategy)) {\n\t\t\t\t\t\thistory.replaceState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t}\n\t\t\t\t\tarea.current.set(this.name, {\n\t\t\t\t\t\tcomponent: component.tagName,\n\t\t\t\t\t\tstate: route.state,\n\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t})\n\n\t\t\t\t\tarea.$current.next(area.current)\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\t/**\n\t * Computes the new URL path for the given component and route.\n\t */\n\tnewPath(tag: string, route: RouteAction) {\n\t\tconst oldPathname = location.pathname.split('/').pop()\n\t\tlet oldAreaState = {}\n\t\ttry {\n\t\t\toldAreaState = oldPathname ? JSON.parse(decodeURIComponent(oldPathname)) : {}\n\t\t} catch {\n\t\t\toldAreaState = {}\n\t\t}\n\t\troute.state = route.state ?? {}\n\t\tconst queryParams = route.clearQueryParams ? this.queryParamClear(route.clearQueryParams) : document.location.search\n\n\t\treturn encodeURIComponent(\n\t\t\tJSON.stringify({\n\t\t\t\t...oldAreaState,\n\t\t\t\t[this.name]: { component: tag.toLowerCase(), state: route.state },\n\t\t\t}),\n\t\t).concat(`${queryParams}`)\n\t}\n\n\t/**\n\t * Removes specified query parameters from the current URL.\n\t */\n\tqueryParamClear(params?: string[]) {\n\t\tif (!params) {\n\t\t\treturn ''\n\t\t}\n\t\t// Get query params from URL.\n\t\tconst urlParams = new URLSearchParams(location.search)\n\t\t// Remove query params.\n\t\tparams.forEach(param => urlParams.delete(param))\n\t\tif (urlParams.toString() === '') return ''\n\t\treturn `?${urlParams.toString()}`\n\t}\n\n\t/**\n\t * Checks for teleportation requests (FLIP_REQUEST events) and dispatches a FLIP_STARTED event.\n\t */\n\tcheckForTeleportationRequests() {\n\t\treturn fromEvent<CustomEvent>(window, 'FLIP_REQUEST').pipe(\n\t\t\tmap(e => e.detail),\n\t\t\ttap(() => {\n\t\t\t\tthis.dispatchEvent(new CustomEvent('FLIP_STARTED'))\n\t\t\t}),\n\t\t\ttimeout(0),\n\t\t\tcatchError(() => of(null)),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t)\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\trender() {\n\t\treturn html` <slot> </slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-area': SchmancyArea\n\t}\n}\n"],"names":["routerHistory","Subject","FINDING_MORTIES","HERE_RICKY","AreaService","constructor","this","prettyURL","mode","request","ReplaySubject","current","Map","$current","enableHistoryMode","findingMortiesEvent","CustomEvent","next","zip","fromEvent","window","pipe","map","e","detail","bufferTime","tap","console","log","of","dispatchEvent","component","timeout","r","name","newState","JSON","parse","stringify","area","state","history","replaceState","encodeURIComponent","getInstance","instance","pathname","location","split","pop","areaState","decodeURIComponent","HISTORY_STRATEGY","SchmancyArea","$LitElement","css","super","arguments","mappings","historyStrategy","currentPath","mapping","find","m","Error","routeForArea","routes","route","default","catchError","EMPTY","path","filter","x","isPresent","libExports","merge","switchMap","getComponentFromPathname","silent","take","target","takeUntil","disconnecting","distinctUntilChanged","a","b","aComponent","bComponent","replaceAll","toLowerCase","c","Promise","from","exports","document","createElement","HTMLElement","prev","curr","tagName","oldView","shadowRoot","children","oldViewExists","remove","classList","add","append","animate","opacity","duration","easing","fill","pushState","newPath","includes","set","subscribe","tag","oldPathname","oldAreaState","queryParams","clearQueryParams","queryParamClear","search","concat","params","urlParams","URLSearchParams","forEach","param","delete","toString","disconnectedCallback","html","__decorateClass","property","prototype","type","Array","customElement"],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import { Subject as v, ReplaySubject as C, zip as I, fromEvent as S, of as i, map as a, bufferTime as b, tap as l, timeout as N, catchError as d, EMPTY as P, filter as f, merge as O, switchMap as y, take as U, takeUntil as g, distinctUntilChanged as R, from as F } from "rxjs";
2
- import "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { $ as T } from "./litElement.mixin-CmIssdvT.js";
5
- import "./tailwind.mixin-BqYiHta7.js";
6
- import { css as L, html as M } from "lit";
7
- import { property as w, customElement as $ } from "lit/decorators.js";
8
- import { l as J } from "./index-CuY8m6ta.js";
9
- const B = new v(), x = "FINDING_MORTIES", k = "HERE_RICKY";
10
- class p {
11
- constructor() {
12
- this.prettyURL = !1, this.mode = "HISTORY", this.request = new C(1), this.current = /* @__PURE__ */ new Map(), this.$current = new C(1), this.enableHistoryMode = !0, this.findingMortiesEvent = new CustomEvent(x), this.$current.next(this.current);
13
- }
14
- find() {
15
- return I([S(window, k).pipe(a((t) => t.detail), b(0), l(console.log)), i(1).pipe(l(() => window.dispatchEvent(this.findingMortiesEvent)))]).pipe(a(([t]) => t), N(1));
16
- }
17
- push(t) {
18
- this.request.next(t);
19
- }
20
- pop(t) {
21
- const n = JSON.parse(JSON.stringify(m.state));
22
- delete n[t], history.replaceState(null, "", encodeURIComponent(JSON.stringify(n)));
23
- }
24
- static getInstance() {
25
- return p.instance || (p.instance = new p()), p.instance;
26
- }
27
- get state() {
28
- const t = location.pathname.split("/").pop();
29
- let n = {};
30
- try {
31
- n = t ? JSON.parse(decodeURIComponent(t)) : {};
32
- } catch {
33
- n = {};
34
- }
35
- return n;
36
- }
37
- }
38
- const m = p.getInstance();
39
- var E = ((e) => (e.push = "push", e.replace = "replace", e.pop = "pop", e.silent = "silent", e))(E || {}), q = Object.defineProperty, A = Object.getOwnPropertyDescriptor, h = (e, t, n, o) => {
40
- for (var s, r = o > 1 ? void 0 : o ? A(t, n) : t, u = e.length - 1; u >= 0; u--) (s = e[u]) && (r = (o ? s(t, n, r) : s(r)) || r);
41
- return o && r && q(t, n, r), r;
42
- };
43
- let c = class extends T(L`
44
- :host {
45
- position: relative;
46
- display: block;
47
- inset: 0;
48
- }
49
- `) {
50
- constructor() {
51
- super(...arguments), this.mappings = [];
52
- }
53
- getComponentFromMappings(e, t) {
54
- return i(location.pathname).pipe(a((n) => {
55
- const o = e.find((r) => r.pathname === n);
56
- if (!o) throw new Error(`No mapping found for pathname: ${n}`);
57
- const s = o.routes.find((r) => r.area === this.name);
58
- if (!s) throw new Error(`No route found for area: ${this.name} in pathname: ${n}`);
59
- return s;
60
- }), a((n) => ({ area: this.name, component: n.component || this.default, state: n.state, historyStrategy: t })), d(() => this.default ? i({ area: this.name, component: this.default, historyStrategy: t }) : P));
61
- }
62
- getComponentFromPathname(e, t) {
63
- return i(e).pipe(a((n) => n.split("/").pop() ?? ""), a((n) => decodeURIComponent(n)), a((n) => JSON.parse(n)), a((n) => n[this.name]), a((n) => !n && this.default ? { component: this.default, state: void 0 } : n), f((n) => J.isPresent(n)), a((n) => ({ area: this.name, component: n.component ?? this.default, state: n.state, historyStrategy: t })), a((n) => n), d(() => this.default ? i({ area: this.name, component: this.default, historyStrategy: t }) : P));
64
- }
65
- firstUpdated() {
66
- if (!this.name) throw new Error("Area name or default component not set");
67
- O(i(location.pathname).pipe(y((e) => this.getComponentFromPathname(e, E.silent)), U(1)), m.request.pipe(f(({ area: e }) => e === this.name)), S(window, "popstate").pipe(a((e) => e.target.location.pathname), y((e) => this.getComponentFromPathname(e, E.silent)))).pipe(f((e) => !!e.component), g(this.disconnecting), R((e, t) => {
68
- let n, o;
69
- return typeof e.component != "function" && (typeof e.component == "string" && (n = e.component), typeof t.component != "function" && (typeof t.component == "string" && (o = t.component), (o == null ? void 0 : o.replaceAll("-", "").toLowerCase()) === (n == null ? void 0 : n.replaceAll("-", "").toLowerCase())));
70
- })).pipe(y((e) => {
71
- const t = e.component;
72
- return t instanceof Promise ? F(t).pipe(a((n) => ({ component: n.exports.default, route: e }))) : i({ component: t, route: e });
73
- }), a(({ component: e, route: t }) => typeof e == "string" ? { component: document.createElement(e), route: t } : e instanceof HTMLElement ? { component: e, route: t } : typeof e == "function" ? { component: new e(), route: t } : void 0), R((e, t) => e.component.tagName === t.component.tagName), a(({ component: e, route: t }) => {
74
- var s, r;
75
- const n = (s = this.shadowRoot) == null ? void 0 : s.children[0], o = !!n;
76
- return n.remove(), e.classList.add("opacity-0"), (r = this.shadowRoot) == null || r.append(e), e.animate([{ opacity: 0 }, { opacity: 1 }], { duration: o ? 150 : 100, easing: "cubic-bezier(0.25, 0.8, 0.25, 1)", fill: "forwards" }), { component: e, route: t };
77
- }), l(({ component: e, route: t }) => {
78
- t.historyStrategy === void 0 || t.historyStrategy === "push" ? history.pushState(t.state, "", this.newPath(e.tagName, t)) : t.historyStrategy && ["replace", "pop"].includes(t.historyStrategy) && history.replaceState(t.state, "", this.newPath(e.tagName, t)), m.current.set(this.name, { component: e.tagName, state: t.state, area: this.name }), m.$current.next(m.current);
79
- }), g(this.disconnecting)).subscribe();
80
- }
81
- newPath(e, t) {
82
- const n = location.pathname.split("/").pop();
83
- let o = {};
84
- try {
85
- o = n ? JSON.parse(decodeURIComponent(n)) : {};
86
- } catch {
87
- o = {};
88
- }
89
- t.state = t.state ?? {};
90
- const s = t.clearQueryParams ? this.queryParamClear(t.clearQueryParams) : document.location.search;
91
- return encodeURIComponent(JSON.stringify({ ...o, [this.name]: { component: e.toLowerCase(), state: t.state } })).concat(`${s}`);
92
- }
93
- queryParamClear(e) {
94
- if (!e) return "";
95
- const t = new URLSearchParams(location.search);
96
- return e.forEach((n) => t.delete(n)), t.toString() === "" ? "" : `?${t.toString()}`;
97
- }
98
- checkForTeleportationRequests() {
99
- return S(window, "FLIP_REQUEST").pipe(a((e) => e.detail), l(() => {
100
- this.dispatchEvent(new CustomEvent("FLIP_STARTED"));
101
- }), N(0), d(() => i(null)), g(this.disconnecting));
102
- }
103
- disconnectedCallback() {
104
- super.disconnectedCallback(), this.disconnecting.next(!0);
105
- }
106
- render() {
107
- return M` <slot> </slot> `;
108
- }
109
- };
110
- h([w()], c.prototype, "name", 2), h([w()], c.prototype, "default", 2), h([w({ type: Array })], c.prototype, "mappings", 2), c = h([$("schmancy-area")], c);
111
- export {
112
- x as F,
113
- k as H,
114
- c as S,
115
- m as a,
116
- E as b,
117
- B as r
118
- };
119
- //# sourceMappingURL=area.component-DjuS-Jbn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"area.component-DjuS-Jbn.js","sources":["../src/area/area.service.ts","../src/area/router.types.ts","../src/area/area.component.ts"],"sourcesContent":["import { ReplaySubject, Subject, bufferTime, fromEvent, map, of, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from '../teleport'\nimport { ActiveRoute, RouteAction } from './router.types'\n\nexport const routerHistory = new Subject<RouteAction>()\n\nexport const FINDING_MORTIES = 'FINDING_MORTIES'\nexport const HERE_RICKY = 'HERE_RICKY'\nexport type HERE_RICKY_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\nexport type FINDING_MORTIES_EVENT = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nclass AreaService {\n\tprivate static instance: AreaService\n\tpublic prettyURL = false\n\tpublic mode: 'SILENT' | 'HISTORY' = 'HISTORY'\n\tpublic request = new ReplaySubject<RouteAction>(1)\n\tpublic current = new Map<string, ActiveRoute>()\n\tpublic $current = new ReplaySubject<Map<string, ActiveRoute>>(1)\n\tpublic enableHistoryMode = true\n\tprivate findingMortiesEvent = new CustomEvent<FINDING_MORTIES_EVENT['detail']>(FINDING_MORTIES)\n\n\tconstructor() {\n\t\tthis.$current.next(this.current)\n\t}\n\n\tfind() {\n\t\treturn zip([\n\t\t\tfromEvent<HERE_RICKY_EVENT>(window, HERE_RICKY).pipe(\n\t\t\t\tmap(e => e.detail),\n\t\t\t\tbufferTime(0),\n\t\t\t\ttap(console.log),\n\t\t\t),\n\t\t\tof(1).pipe(tap(() => window.dispatchEvent(this.findingMortiesEvent))),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(1),\n\t\t)\n\t}\n\n\tpush(r: RouteAction) {\n\t\tthis.request.next(r)\n\t}\n\n\tpop(name: string) {\n\t\tconst newState = JSON.parse(JSON.stringify(area.state))\n\t\tdelete newState[name]\n\t\tconsole.log(area.state, newState)\n\t\thistory.replaceState(null, '', encodeURIComponent(JSON.stringify(newState)))\n\t}\n\tstatic getInstance() {\n\t\tif (!AreaService.instance) {\n\t\t\tAreaService.instance = new AreaService()\n\t\t}\n\t\treturn AreaService.instance\n\t}\n\n\tget state() {\n\t\tconst pathname = location.pathname.split('/').pop()\n\t\tlet areaState = {}\n\t\ttry {\n\t\t\tareaState = pathname ? JSON.parse(decodeURIComponent(pathname)) : {}\n\t\t} catch {\n\t\t\tareaState = {}\n\t\t}\n\t\treturn areaState\n\t}\n}\n\nexport const area = AreaService.getInstance()\nexport default area\n","export type RouteAction = {\n\tcomponent: CustomElementConstructor | string | HTMLElement\n\tarea: string\n\tstate?: object\n\thistoryStrategy?: THistoryStrategy\n\tclearQueryParams?: string[] | null\n}\n\nexport type ActiveRoute = {\n\tcomponent: string\n\tarea: string\n\tstate?: object\n}\n\nexport type THistoryStrategy = 'push' | 'replace' | 'pop' | 'silent'\n\nexport enum HISTORY_STRATEGY {\n\tpush = 'push',\n\treplace = 'replace',\n\tpop = 'pop',\n\tsilent = 'silent',\n}\n","import { $LitElement } from '@mixins/index'\nimport { TemplateResult, css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport {\n\tEMPTY,\n\tcatchError,\n\tdistinctUntilChanged,\n\tfilter,\n\tfrom,\n\tfromEvent,\n\tmap,\n\tmerge,\n\tof,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimeout,\n} from 'rxjs'\nimport { isPresent } from 'ts-is-present'\nimport area from './area.service'\nimport { HISTORY_STRATEGY, RouteAction } from './router.types'\n\n/**\n * Type describing the route for an area.\n */\ntype TRouteArea = {\n\tcomponent: string\n\tstate: object | undefined\n}\n\n/**\n * Type for a mapping entry. Each mapping specifies a pathname and an array of route definitions.\n * Each route definition contains an area name, a component (or promise/constructor/template),\n * and optionally, a state.\n */\nexport type AreaPathnames = {\n\tpathname: string\n\troutes: Array<{\n\t\tarea: string\n\t\tcomponent: string | Promise<NodeModule> | CustomElementConstructor | TemplateResult<1>\n\t\tstate?: object\n\t}>\n}\n\n@customElement('schmancy-area')\nexport class SchmancyArea extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\tinset: 0;\n\t}\n`) {\n\t/**\n\t * The name of the router outlet.\n\t * @attr\n\t * @type {string}\n\t * @public\n\t * @required\n\t */\n\t@property() name!: string\n\n\t/**\n\t * The default component to use if no matching route is found.\n\t */\n\t@property() default!: string | Promise<NodeModule> | CustomElementConstructor | TemplateResult<1>\n\n\t/**\n\t * (Optional) A mappings property that can be set on the element.\n\t * This property is only available for external use and does not alter\n\t * the component's built-in routing behavior.\n\t *\n\t * Example:\n\t * [\n\t * {\n\t * pathname: '/home',\n\t * routes: [\n\t * { area: 'main', component: 'home-view', state: { foo: 'bar' } },\n\t * { area: 'sidebar', component: 'menu-view' }\n\t * ]\n\t * },\n\t * {\n\t * pathname: '/about',\n\t * routes: [\n\t * { area: 'main', component: 'about-view' },\n\t * { area: 'sidebar', component: 'info-view' }\n\t * ]\n\t * }\n\t * ]\n\t */\n\t@property({ type: Array }) mappings: AreaPathnames[] = []\n\n\t/**\n\t * NEW PUBLIC API:\n\t * Accepts an array of route mappings and returns an observable emitting\n\t * the RouteAction for this area (if found) based on the current location's pathname.\n\t *\n\t * Note: This method does not affect the component's built-in logic.\n\t *\n\t * @param mappings - Array of route mapping objects.\n\t * @param historyStrategy - The history strategy to use (e.g. PUSH, REPLACE, SILENT).\n\t * @returns An RxJS Observable that emits a RouteAction.\n\t */\n\tpublic getComponentFromMappings(mappings: AreaPathnames[], historyStrategy: HISTORY_STRATEGY) {\n\t\treturn of(location.pathname).pipe(\n\t\t\tmap(currentPath => {\n\t\t\t\tconst mapping = mappings.find(m => m.pathname === currentPath)\n\t\t\t\tif (!mapping) {\n\t\t\t\t\tthrow new Error(`No mapping found for pathname: ${currentPath}`)\n\t\t\t\t}\n\t\t\t\tconst routeForArea = mapping.routes.find(route => route.area === this.name)\n\t\t\t\tif (!routeForArea) {\n\t\t\t\t\tthrow new Error(`No route found for area: ${this.name} in pathname: ${currentPath}`)\n\t\t\t\t}\n\t\t\t\treturn routeForArea\n\t\t\t}),\n\t\t\tmap(\n\t\t\t\troute =>\n\t\t\t\t\t({\n\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\tcomponent: route.component || this.default,\n\t\t\t\t\t\tstate: route.state,\n\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t}) as RouteAction,\n\t\t\t),\n\t\t\tcatchError(() =>\n\t\t\t\tthis.default\n\t\t\t\t\t? of({\n\t\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t\t} as RouteAction)\n\t\t\t\t\t: EMPTY,\n\t\t\t),\n\t\t)\n\t}\n\n\t/**\n\t * ORIGINAL API:\n\t * Returns an observable that emits a RouteAction based on the provided pathname.\n\t *\n\t * This method retains the original logic that parses the URL.\n\t *\n\t * @param pathname - Pathname from the browser location API.\n\t * @param historyStrategy - The history strategy to use for the route (PUSH, REPLACE, SILENT).\n\t * @returns An observable emitting the RouteAction.\n\t */\n\tgetComponentFromPathname(pathname: string, historyStrategy: HISTORY_STRATEGY) {\n\t\treturn of(pathname).pipe(\n\t\t\tmap(path => path.split('/').pop() ?? ''),\n\t\t\tmap(path => decodeURIComponent(path)),\n\t\t\tmap(path => JSON.parse(path)),\n\t\t\tmap(routes => routes[this.name] as TRouteArea),\n\t\t\tmap(component =>\n\t\t\t\t!component && this.default\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\tstate: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t: component,\n\t\t\t),\n\t\t\tfilter(x => isPresent(x)),\n\t\t\tmap((component: TRouteArea) => ({\n\t\t\t\tarea: this.name,\n\t\t\t\tcomponent: component.component ?? this.default,\n\t\t\t\tstate: component.state,\n\t\t\t\thistoryStrategy,\n\t\t\t})),\n\t\t\tmap(x => x as RouteAction),\n\t\t\tcatchError(() => {\n\t\t\t\treturn this.default\n\t\t\t\t\t? of({\n\t\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t\t\tcomponent: this.default,\n\t\t\t\t\t\t\thistoryStrategy,\n\t\t\t\t\t\t} as RouteAction)\n\t\t\t\t\t: EMPTY\n\t\t\t}),\n\t\t)\n\t}\n\n\t/**\n\t * The original routing pipeline remains intact.\n\t * It uses getComponentFromPathname to resolve the route based on the URL.\n\t */\n\tprotected firstUpdated(): void {\n\t\tif (!this.name) {\n\t\t\t// TODO: maybe enforce this to be unique\n\t\t\tthrow new Error('Area name or default component not set')\n\t\t}\n\n\t\tmerge(\n\t\t\t// 1) Initial load from location.pathname.\n\t\t\tof(location.pathname).pipe(\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Requests to change the route for this area.\n\t\t\tarea.request.pipe(filter(({ area }) => area === this.name)),\n\t\t\t// 3) Popstate events (back, forward).\n\t\t\tfromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\tmap(e => (e.target as Window).location.pathname),\n\t\t\t\tswitchMap(pathname => this.getComponentFromPathname(pathname, HISTORY_STRATEGY.silent)),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tfilter(request => !!request.component),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdistinctUntilChanged((a, b) => {\n\t\t\t\t\tlet aComponent, bComponent\n\t\t\t\t\tif (typeof a.component === 'function') return false\n\t\t\t\t\telse if (typeof a.component === 'string') aComponent = a.component\n\n\t\t\t\t\tif (typeof b.component === 'function') return false\n\t\t\t\t\telse if (typeof b.component === 'string') bComponent = b.component\n\n\t\t\t\t\treturn bComponent?.replaceAll('-', '').toLowerCase() === aComponent?.replaceAll('-', '').toLowerCase()\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tswitchMap(route => {\n\t\t\t\t\tconst c = route.component\n\t\t\t\t\tif (c instanceof Promise) {\n\t\t\t\t\t\t// Dynamic import module.\n\t\t\t\t\t\treturn from(c).pipe(\n\t\t\t\t\t\t\tmap(x => ({\n\t\t\t\t\t\t\t\tcomponent: x.exports.default as CustomElementConstructor,\n\t\t\t\t\t\t\t\troute,\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Already a string, function, or element.\n\t\t\t\t\t\treturn of({ component: c, route })\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tif (typeof component === 'string') {\n\t\t\t\t\t\t// Tag name.\n\t\t\t\t\t\treturn { component: document.createElement(component), route }\n\t\t\t\t\t} else if (component instanceof HTMLElement) {\n\t\t\t\t\t\t// Already an element instance.\n\t\t\t\t\t\treturn { component, route }\n\t\t\t\t\t} else if (typeof component === 'function') {\n\t\t\t\t\t\t// Custom element constructor.\n\t\t\t\t\t\treturn { component: new component(), route }\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged((prev, curr) => prev.component.tagName === curr.component.tagName),\n\t\t\t\t// Create the new view and add it to the DOM.\n\t\t\t\tmap(({ component, route }) => {\n\t\t\t\t\tconst oldView = this.shadowRoot?.children[0]\n\t\t\t\t\tconst oldViewExists = !!oldView\n\n\t\t\t\t\t// Remove the old view (if any).\n\t\t\t\t\toldView.remove()\n\t\t\t\t\t// Native Web Animations API - fade in.\n\t\t\t\t\tcomponent.classList.add('opacity-0')\n\t\t\t\t\tthis.shadowRoot?.append(component)\n\t\t\t\t\tcomponent.animate([{ opacity: 0 }, { opacity: 1 }], {\n\t\t\t\t\t\tduration: oldViewExists ? 150 : 100,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.25, 0.8, 0.25, 1)',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\treturn { component, route }\n\t\t\t\t}),\n\t\t\t\ttap(({ component, route }) => {\n\t\t\t\t\t// Handle history updates.\n\t\t\t\t\tif (typeof route.historyStrategy === 'undefined' || route.historyStrategy === 'push') {\n\t\t\t\t\t\thistory.pushState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t} else if (route.historyStrategy && ['replace', 'pop'].includes(route.historyStrategy)) {\n\t\t\t\t\t\thistory.replaceState(route.state, '', this.newPath(component.tagName, route))\n\t\t\t\t\t}\n\t\t\t\t\tarea.current.set(this.name, {\n\t\t\t\t\t\tcomponent: component.tagName,\n\t\t\t\t\t\tstate: route.state,\n\t\t\t\t\t\tarea: this.name,\n\t\t\t\t\t})\n\n\t\t\t\t\tarea.$current.next(area.current)\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\t/**\n\t * Computes the new URL path for the given component and route.\n\t */\n\tnewPath(tag: string, route: RouteAction) {\n\t\tconst oldPathname = location.pathname.split('/').pop()\n\t\tlet oldAreaState = {}\n\t\ttry {\n\t\t\toldAreaState = oldPathname ? JSON.parse(decodeURIComponent(oldPathname)) : {}\n\t\t} catch {\n\t\t\toldAreaState = {}\n\t\t}\n\t\troute.state = route.state ?? {}\n\t\tconst queryParams = route.clearQueryParams ? this.queryParamClear(route.clearQueryParams) : document.location.search\n\n\t\treturn encodeURIComponent(\n\t\t\tJSON.stringify({\n\t\t\t\t...oldAreaState,\n\t\t\t\t[this.name]: { component: tag.toLowerCase(), state: route.state },\n\t\t\t}),\n\t\t).concat(`${queryParams}`)\n\t}\n\n\t/**\n\t * Removes specified query parameters from the current URL.\n\t */\n\tqueryParamClear(params?: string[]) {\n\t\tif (!params) {\n\t\t\treturn ''\n\t\t}\n\t\t// Get query params from URL.\n\t\tconst urlParams = new URLSearchParams(location.search)\n\t\t// Remove query params.\n\t\tparams.forEach(param => urlParams.delete(param))\n\t\tif (urlParams.toString() === '') return ''\n\t\treturn `?${urlParams.toString()}`\n\t}\n\n\t/**\n\t * Checks for teleportation requests (FLIP_REQUEST events) and dispatches a FLIP_STARTED event.\n\t */\n\tcheckForTeleportationRequests() {\n\t\treturn fromEvent<CustomEvent>(window, 'FLIP_REQUEST').pipe(\n\t\t\tmap(e => e.detail),\n\t\t\ttap(() => {\n\t\t\t\tthis.dispatchEvent(new CustomEvent('FLIP_STARTED'))\n\t\t\t}),\n\t\t\ttimeout(0),\n\t\t\tcatchError(() => of(null)),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t)\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\trender() {\n\t\treturn html` <slot> </slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-area': SchmancyArea\n\t}\n}\n"],"names":["routerHistory","Subject","FINDING_MORTIES","HERE_RICKY","AreaService","constructor","this","prettyURL","mode","request","ReplaySubject","current","Map","$current","enableHistoryMode","findingMortiesEvent","CustomEvent","next","find","zip","fromEvent","window","pipe","map","e","detail","bufferTime","tap","console","log","of","dispatchEvent","component","timeout","r","name","newState","JSON","parse","stringify","area","state","history","replaceState","encodeURIComponent","instance","pathname","location","split","pop","areaState","decodeURIComponent","getInstance","HISTORY_STRATEGY","SchmancyArea","$LitElement","css","super","arguments","mappings","historyStrategy","currentPath","mapping","m","Error","routeForArea","routes","route","default","catchError","EMPTY","path","filter","x","isPresent","merge","switchMap","getComponentFromPathname","silent","take","target","takeUntil","disconnecting","distinctUntilChanged","a","b","aComponent","bComponent","replaceAll","toLowerCase","c","Promise","from","exports","t","o","document","createElement","HTMLElement","prev","curr","tagName","oldView","shadowRoot","children","oldViewExists","remove","classList","add","append","animate","opacity","duration","easing","fill","pushState","newPath","includes","set","subscribe","tag","oldPathname","oldAreaState","queryParams","clearQueryParams","queryParamClear","search","concat","params","urlParams","URLSearchParams","forEach","param","delete","toString","disconnectedCallback","html","__decorateClass","property","prototype","type","Array","customElement"],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- "use strict";const d=require("@floating-ui/dom"),a=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./tailwind.mixin-HfEdtDL9.cjs"),p=require("lit"),y=require("lit/decorators.js");let u=window.innerWidth/2,m=window.innerHeight/2;async function l(e,t,r){const o=await async function(s,n,i){const c=document.createElement("schmancy-notification");c.type=n,c.innerHTML=s,c.style.visibility="hidden",document.body.appendChild(c);const v=(i==null?void 0:i.referenceElement)||{getBoundingClientRect:()=>({width:0,height:0,x:u,y:m,top:m,right:u,bottom:m,left:u,toJSON:()=>({})})},{x:g,y:b}=await d.computePosition(v,c,{strategy:"fixed",placement:i!=null&&i.referenceElement?"top":"right-start",middleware:[d.offset(8),d.flip(),d.shift({padding:5})]});return c.style.position="fixed",c.style.left=`${g}px`,c.style.top=`${b}px`,c.style.visibility="visible",c.style.zIndex="9999",c}(t,e,r);return a.race(a.fromEvent(o,"close"),a.timer((r==null?void 0:r.duration)??1e3)).subscribe(()=>{o.remove()}),o}a.fromEvent(document,"mousemove").pipe(a.debounceTime(100)).subscribe(e=>{u=e.clientX,m=e.clientY});const w={success:(e,t)=>l("success",e,t),error:(e,t)=>l("error",e,t),warning:(e,t)=>l("warning",e,t),info:(e,t)=>l("info",e,t)};var x=Object.defineProperty,E=Object.getOwnPropertyDescriptor,f=(e,t,r,o)=>{for(var s,n=o>1?void 0:o?E(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=(o?s(t,r,n):s(n))||n);return o&&n&&x(t,r,n),n};exports.SchmancyNotification=class extends h.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return p.html`
2
- <div
3
- class="pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3"
4
- >
5
- <!-- Icon + Text + Close Button, etc. -->
6
- <div class="flex items-center">
7
- <!-- Icon -->
8
- <div class="shrink-0 mr-2">
9
- <!-- Show different icons depending on this.type -->
10
- </div>
11
-
12
- <!-- Text slot -->
13
- <div class="flex-1">
14
- <slot></slot>
15
- </div>
16
-
17
- <!-- Close -->
18
- <schmancy-icon-button @click=${this.handleClose} variant="outlined" class="ml-2 text-sm">
19
- Close
20
- </schmancy-icon-button>
21
- </div>
22
- </div>
23
- `}handleClose(){this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}},f([y.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=f([y.customElement("schmancy-notification")],exports.SchmancyNotification);var S=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends h.TailwindElement(){render(){return p.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,r,o)=>{for(var s,n=o>1?void 0:o?S(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=s(n)||n);return n})([y.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=w,exports.notify=l;
24
- //# sourceMappingURL=outlet-CcJZw_-p.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-CcJZw_-p.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Temporarily hide the notification and add to DOM to calculate dimensions\n\tnotification.style.visibility = 'hidden'\n\tdocument.body.appendChild(notification)\n\n\t// Determine reference element (same as before)\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}),\n\t\t}),\n\t}\n\n\t// Compute position with accurate dimensions\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [offset(8), flip(), shift({ padding: 5 })],\n\t})\n\n\t// Apply positioning and make visible\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.visibility = 'visible' // Make visible after positioning\n\tnotification.style.zIndex = '9999'\n\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type NotificationType = 'success' | 'error' | 'warning' | 'info'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\tpublic type: NotificationType = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button @click=${this.handleClose} variant=\"outlined\" class=\"ml-2 text-sm\">\n\t\t\t\t\t\tClose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate handleClose(): void {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('close', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","style","visibility","body","appendChild","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","position","zIndex","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","super","arguments","this","html","handleClose","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- import { computePosition as x, offset as C, flip as E, shift as O } from "@floating-ui/dom";
2
- import { fromEvent as f, debounceTime as T, race as P, timer as S } from "rxjs";
3
- import "lit/directives/class-map.js";
4
- import "lit/directives/style-map.js";
5
- import { T as y } from "./tailwind.mixin-BqYiHta7.js";
6
- import { html as h } from "lit";
7
- import { property as $, customElement as v } from "lit/decorators.js";
8
- let l = window.innerWidth / 2, d = window.innerHeight / 2;
9
- async function a(e, t, r) {
10
- const n = await async function(c, s, i) {
11
- const o = document.createElement("schmancy-notification");
12
- o.type = s, o.innerHTML = c, o.style.visibility = "hidden", document.body.appendChild(o);
13
- const g = (i == null ? void 0 : i.referenceElement) || { getBoundingClientRect: () => ({ width: 0, height: 0, x: l, y: d, top: d, right: l, bottom: d, left: l, toJSON: () => ({}) }) }, { x: b, y: w } = await x(g, o, { strategy: "fixed", placement: i != null && i.referenceElement ? "top" : "right-start", middleware: [C(8), E(), O({ padding: 5 })] });
14
- return o.style.position = "fixed", o.style.left = `${b}px`, o.style.top = `${w}px`, o.style.visibility = "visible", o.style.zIndex = "9999", o;
15
- }(t, e, r);
16
- return P(f(n, "close"), S((r == null ? void 0 : r.duration) ?? 1e3)).subscribe(() => {
17
- n.remove();
18
- }), n;
19
- }
20
- f(document, "mousemove").pipe(T(100)).subscribe((e) => {
21
- l = e.clientX, d = e.clientY;
22
- });
23
- const N = { success: (e, t) => a("success", e, t), error: (e, t) => a("error", e, t), warning: (e, t) => a("warning", e, t), info: (e, t) => a("info", e, t) };
24
- var j = Object.defineProperty, I = Object.getOwnPropertyDescriptor, p = (e, t, r, n) => {
25
- for (var c, s = n > 1 ? void 0 : n ? I(t, r) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = (n ? c(t, r, s) : c(s)) || s);
26
- return n && s && j(t, r, s), s;
27
- };
28
- let m = class extends y() {
29
- constructor() {
30
- super(...arguments), this.type = "success";
31
- }
32
- render() {
33
- return h`
34
- <div
35
- class="pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3"
36
- >
37
- <!-- Icon + Text + Close Button, etc. -->
38
- <div class="flex items-center">
39
- <!-- Icon -->
40
- <div class="shrink-0 mr-2">
41
- <!-- Show different icons depending on this.type -->
42
- </div>
43
-
44
- <!-- Text slot -->
45
- <div class="flex-1">
46
- <slot></slot>
47
- </div>
48
-
49
- <!-- Close -->
50
- <schmancy-icon-button @click=${this.handleClose} variant="outlined" class="ml-2 text-sm">
51
- Close
52
- </schmancy-icon-button>
53
- </div>
54
- </div>
55
- `;
56
- }
57
- handleClose() {
58
- this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 }));
59
- }
60
- };
61
- p([$({ type: String })], m.prototype, "type", 2), m = p([v("schmancy-notification")], m);
62
- var k = Object.getOwnPropertyDescriptor;
63
- let u = class extends y() {
64
- render() {
65
- return h` <slot></slot> `;
66
- }
67
- };
68
- u = ((e, t, r, n) => {
69
- for (var c, s = n > 1 ? void 0 : n ? k(t, r) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = c(s) || s);
70
- return s;
71
- })([v("schmancy-notification-outlet")], u);
72
- export {
73
- N as $,
74
- m as S,
75
- u as a,
76
- a as n
77
- };
78
- //# sourceMappingURL=outlet-Dn_2_r0T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outlet-Dn_2_r0T.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Temporarily hide the notification and add to DOM to calculate dimensions\n\tnotification.style.visibility = 'hidden'\n\tdocument.body.appendChild(notification)\n\n\t// Determine reference element (same as before)\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}),\n\t\t}),\n\t}\n\n\t// Compute position with accurate dimensions\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [offset(8), flip(), shift({ padding: 5 })],\n\t})\n\n\t// Apply positioning and make visible\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.visibility = 'visible' // Make visible after positioning\n\tnotification.style.zIndex = '9999'\n\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type NotificationType = 'success' | 'error' | 'warning' | 'info'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\tpublic type: NotificationType = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button @click=${this.handleClose} variant=\"outlined\" class=\"ml-2 text-sm\">\n\t\t\t\t\t\tClose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate handleClose(): void {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('close', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","style","visibility","body","appendChild","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","position","zIndex","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","super","arguments","this","render","html","handleClose","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import { unsafeCSS as o, LitElement as n } from "lit";
2
- import { Subject as s } from "rxjs";
3
- import { classMap as l } from "lit/directives/class-map.js";
4
- import { styleMap as d } from "lit/directives/style-map.js";
5
- const c = (r) => class extends r {
6
- constructor() {
7
- super(...arguments), this.disconnecting = new s();
8
- }
9
- classMap(t) {
10
- const e = {};
11
- return Object.keys(t).forEach((i) => {
12
- i.trim().split(" ").filter(Boolean).forEach((a) => {
13
- e[a] = t[i];
14
- });
15
- }), l(e);
16
- }
17
- styleMap(t) {
18
- return d(t);
19
- }
20
- disconnectedCallback() {
21
- this.disconnecting.next(!0), this.disconnecting.complete(), super.disconnectedCallback();
22
- }
23
- }, p = o('/*! tailwindcss v4.0.8 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:.5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-100{z-index:100}.z-\\[1000\\]{z-index:1000}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mr-2{margin-right:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.h-4{height:1rem}.h-32{height:8rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-48{width:12rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-transparent{border-color:#0000}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-\\[2px\\]{padding-top:2px}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-3xl{font-size:1.875rem;line-height:var(--tw-leading, 1.2 )}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75/1.25))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-outlineVariant{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:-outline-offset-2:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-secondary-default:focus-visible{outline-color:var(--schmancy-sys-color-secondary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:px-\\[16px\\]{padding-inline:16px}}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}'), w = (r) => {
24
- const e = class e extends n {
25
- };
26
- e.styles = [o(r), p];
27
- let t = e;
28
- return t;
29
- }, u = (r) => {
30
- class t extends c(w(r)) {
31
- constructor() {
32
- super(...arguments), this.disconnectedCallback = () => {
33
- super.disconnectedCallback();
34
- };
35
- }
36
- }
37
- return t;
38
- };
39
- export {
40
- c as B,
41
- u as T
42
- };
43
- //# sourceMappingURL=tailwind.mixin-BqYiHta7.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const i=require("lit"),s=require("rxjs"),l=require("lit/directives/class-map.js"),d=require("lit/directives/style-map.js"),a=r=>class extends r{constructor(){super(...arguments),this.disconnecting=new s.Subject}classMap(t){const e={};return Object.keys(t).forEach(o=>{o.trim().split(" ").filter(Boolean).forEach(n=>{e[n]=t[o]})}),l.classMap(e)}styleMap(t){return d.styleMap(t)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}},c=i.unsafeCSS('/*! tailwindcss v4.0.8 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\\/2{top:50%}.right-0{right:0}.right-2{right:.5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-49{z-index:49}.z-50{z-index:50}.z-100{z-index:100}.z-\\[1000\\]{z-index:1000}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mr-2{margin-right:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.h-4{height:1rem}.h-32{height:8rem}.h-\\[24px\\]{height:24px}.h-\\[50px\\]{height:50px}.h-\\[320px\\]{height:320px}.h-\\[440px\\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.max-h-\\[24px\\]{max-height:24px}.max-h-\\[90vh\\]{max-height:90vh}.min-h-\\[50vh\\]{min-height:50vh}.min-h-\\[56px\\]{min-height:56px}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-48{width:12rem}.w-\\[24px\\]{width:24px}.w-\\[320px\\]{width:320px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[24px\\]{max-width:24px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-sm{max-width:24rem}.min-w-\\[50vw\\]{min-width:50vw}.min-w-\\[160px\\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.scroll-smooth{scroll-behavior:smooth}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-t-\\[8px\\]{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-l-\\[8px\\]{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-r-\\[8px\\]{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-b-\\[8px\\]{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-300{border-color:#d1d5dc}.border-outline{border-color:var(--schmancy-sys-color-outline)}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-transparent{border-color:#0000}.bg-primary-default{background-color:var(--schmancy-sys-color-primary-default)}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container{background-color:var(--schmancy-sys-color-surface-container)}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-center{object-position:center}.p-0{padding:0}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[16px\\]{padding:16px}.p-\\[32px\\]{padding:32px}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.px-\\[16px\\]{padding-inline:16px}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-12{padding-block:3rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.py-\\[24px\\]{padding-block:24px}.pt-\\[2px\\]{padding-top:2px}.pt-\\[4px\\]{padding-top:4px}.pb-4{padding-bottom:1rem}.pb-\\[300px\\]{padding-bottom:300px}.pl-2{padding-left:.5rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-3xl{font-size:1.875rem;line-height:var(--tw-leading, 1.2 )}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75/1.25))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[28px\\]{font-size:28px}.text-\\[32px\\]{font-size:32px}.text-\\[36px\\]{font-size:36px}.text-\\[45px\\]{font-size:45px}.text-\\[57px\\]{font-size:57px}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-\\[16px\\]{--tw-leading:16px;line-height:16px}.leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.leading-\\[24px\\]{--tw-leading:24px;line-height:24px}.leading-\\[28px\\]{--tw-leading:28px;line-height:28px}.leading-\\[32px\\]{--tw-leading:32px;line-height:32px}.leading-\\[36px\\]{--tw-leading:36px;line-height:36px}.leading-\\[40px\\]{--tw-leading:40px;line-height:40px}.leading-\\[44px\\]{--tw-leading:44px;line-height:44px}.leading-\\[52px\\]{--tw-leading:52px;line-height:52px}.leading-\\[64px\\]{--tw-leading:64px;line-height:64px}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[-0\\.25px\\]{--tw-tracking:-.25px;letter-spacing:-.25px}.tracking-\\[0\\.1px\\]{--tw-tracking:.1px;letter-spacing:.1px}.tracking-\\[0\\.4px\\]{--tw-tracking:.4px;letter-spacing:.4px}.tracking-\\[0\\.5px\\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\\[0\\.15px\\]{--tw-tracking:.15px;letter-spacing:.15px}.tracking-\\[0\\.25px\\]{--tw-tracking:.25px;letter-spacing:.25px}.tracking-\\[0px\\]{--tw-tracking:0px;letter-spacing:0}.hyphens-none{-webkit-hyphens:none;hyphens:none}.text-gray-500{color:#6a7282}.text-gray-900{color:#101828}.text-indigo-600{color:#4f39f6}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.38\\]{opacity:.38}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-5{--tw-shadow:var(--schmancy-sys-elevation-5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-outlineVariant{--tw-ring-color:var(--schmancy-sys-color-outlineVariant)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.outline-hidden{outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\\:border-gray-300:hover{border-color:#d1d5dc}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-gray-700:hover{color:#364153}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-indigo-600:focus{--tw-ring-color:oklch(.511 .262 276.966)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:-outline-offset-2:focus-visible{outline-offset:-2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-secondary-default:focus-visible{outline-color:var(--schmancy-sys-color-secondary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\\:px-\\[12px\\]{padding-inline:12px}}@media (width>=48rem){.md\\:px-\\[16px\\]{padding-inline:16px}}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}'),p=r=>{const e=class e extends i.LitElement{};e.styles=[i.unsafeCSS(r),c];let t=e;return t};exports.BaseElement=a,exports.TailwindElement=r=>{class t extends a(p(r)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return t};
2
- //# sourceMappingURL=tailwind.mixin-HfEdtDL9.cjs.map