@mhmo91/schmancy 0.2.36 → 0.2.38

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 (220) hide show
  1. package/dist/{animated-text-IHZ7LNnc.js → animated-text-BVwxMOPR.js} +3 -3
  2. package/dist/{animated-text-IHZ7LNnc.js.map → animated-text-BVwxMOPR.js.map} +1 -1
  3. package/dist/{animated-text-C5zM-91H.cjs → animated-text-Daeoe5sn.cjs} +2 -2
  4. package/dist/{animated-text-C5zM-91H.cjs.map → animated-text-Daeoe5sn.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-BrPf_qdG.js → area.component-ByLp5c79.js} +3 -3
  9. package/dist/{area.component-BrPf_qdG.js.map → area.component-ByLp5c79.js.map} +1 -1
  10. package/dist/{area.component-DCLLi1YA.cjs → area.component-xmbcsTJK.cjs} +2 -2
  11. package/dist/{area.component-DCLLi1YA.cjs.map → area.component-xmbcsTJK.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-CcDfKbfJ.js → autocomplete-8-xYgb2e.js} +3 -3
  14. package/dist/{autocomplete-CcDfKbfJ.js.map → autocomplete-8-xYgb2e.js.map} +1 -1
  15. package/dist/{autocomplete-Dfq-Rhjy.cjs → autocomplete-CtUz_AlC.cjs} +2 -2
  16. package/dist/{autocomplete-Dfq-Rhjy.cjs.map → autocomplete-CtUz_AlC.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-BdsGj_z6.cjs → checkbox-D9vaaSjw.cjs} +2 -2
  26. package/dist/{checkbox-BdsGj_z6.cjs.map → checkbox-D9vaaSjw.cjs.map} +1 -1
  27. package/dist/{checkbox-DV8tPYX0.js → checkbox-DkJYbF64.js} +2 -2
  28. package/dist/{checkbox-DV8tPYX0.js.map → checkbox-DkJYbF64.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-Ca-SY6mg.js → chips-Cy9spfrp.js} +3 -3
  32. package/dist/{chips-Ca-SY6mg.js.map → chips-Cy9spfrp.js.map} +1 -1
  33. package/dist/{chips-Z8e_rQtM.cjs → chips-UBgldDF5.cjs} +2 -2
  34. package/dist/{chips-Z8e_rQtM.cjs.map → chips-UBgldDF5.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-DdGaWGVn.js → date-range-Cvdpxn2J.js} +3 -3
  42. package/dist/{date-range-DdGaWGVn.js.map → date-range-Cvdpxn2J.js.map} +1 -1
  43. package/dist/{date-range-CDX0VlcK.cjs → date-range-DTUXT0Lf.cjs} +2 -2
  44. package/dist/{date-range-CDX0VlcK.cjs.map → date-range-DTUXT0Lf.cjs.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-DsFVHHw2.cjs → delay-C0n9lJNW.cjs} +2 -2
  48. package/dist/{delay-DsFVHHw2.cjs.map → delay-C0n9lJNW.cjs.map} +1 -1
  49. package/dist/{delay-BWLlCMKV.js → delay-CpK5RGux.js} +2 -2
  50. package/dist/{delay-BWLlCMKV.js.map → delay-CpK5RGux.js.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-CjgOM462.cjs → divider-C4xBD1JH.cjs} +2 -2
  54. package/dist/{divider-CjgOM462.cjs.map → divider-C4xBD1JH.cjs.map} +1 -1
  55. package/dist/{divider-B7kWs-q5.js → divider-D85c35Sw.js} +3 -3
  56. package/dist/{divider-B7kWs-q5.js.map → divider-D85c35Sw.js.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-DyYGOlOR.cjs → form-B_0fvoO0.cjs} +2 -2
  60. package/dist/{form-DyYGOlOR.cjs.map → form-B_0fvoO0.cjs.map} +1 -1
  61. package/dist/{form-BUV1hUzI.js → form-Bau_XA_e.js} +2 -2
  62. package/dist/{form-BUV1hUzI.js.map → form-Bau_XA_e.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-CWvUTBIP.js → icon-B-QZ23xF.js} +3 -3
  66. package/dist/{icon-CWvUTBIP.js.map → icon-B-QZ23xF.js.map} +1 -1
  67. package/dist/{icon-DPN7kWO0.cjs → icon-Bit7fi8d.cjs} +2 -2
  68. package/dist/{icon-DPN7kWO0.cjs.map → icon-Bit7fi8d.cjs.map} +1 -1
  69. package/dist/{icon-button-CbEs8eyS.js → icon-button-CEGE-KQJ.js} +3 -3
  70. package/dist/{icon-button-CbEs8eyS.js.map → icon-button-CEGE-KQJ.js.map} +1 -1
  71. package/dist/{icon-button-DHiO0w8J.cjs → icon-button-Dh6iR7gO.cjs} +2 -2
  72. package/dist/{icon-button-DHiO0w8J.cjs.map → icon-button-Dh6iR7gO.cjs.map} +1 -1
  73. package/dist/icons.cjs +1 -1
  74. package/dist/icons.js +1 -1
  75. package/dist/index.cjs +1 -1
  76. package/dist/index.js +33 -33
  77. package/dist/{input-D3hti5wB.js → input-6NTzj_Bn.js} +2 -2
  78. package/dist/{input-D3hti5wB.js.map → input-6NTzj_Bn.js.map} +1 -1
  79. package/dist/{input-2kqgsr0S.cjs → input-CnvK8HG2.cjs} +2 -2
  80. package/dist/{input-2kqgsr0S.cjs.map → input-CnvK8HG2.cjs.map} +1 -1
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/layout.cjs +1 -1
  84. package/dist/layout.js +1 -1
  85. package/dist/{list-Cq9RDYF_.cjs → list-CRW6i-kf.cjs} +2 -2
  86. package/dist/{list-Cq9RDYF_.cjs.map → list-CRW6i-kf.cjs.map} +1 -1
  87. package/dist/{list-D3m-rd6d.js → list-ClV9Qdme.js} +2 -2
  88. package/dist/{list-D3m-rd6d.js.map → list-ClV9Qdme.js.map} +1 -1
  89. package/dist/list.cjs +1 -1
  90. package/dist/list.js +1 -1
  91. package/dist/{litElement.mixin-CjxO_zfv.js → litElement.mixin-COSnyAru.js} +2 -2
  92. package/dist/{litElement.mixin-CjxO_zfv.js.map → litElement.mixin-COSnyAru.js.map} +1 -1
  93. package/dist/{litElement.mixin-DWxwPXWQ.cjs → litElement.mixin-d9rhslEw.cjs} +2 -2
  94. package/dist/{litElement.mixin-DWxwPXWQ.cjs.map → litElement.mixin-d9rhslEw.cjs.map} +1 -1
  95. package/dist/{menu-ifiBMg-F.cjs → menu-C4mb1XXA.cjs} +2 -2
  96. package/dist/{menu-ifiBMg-F.cjs.map → menu-C4mb1XXA.cjs.map} +1 -1
  97. package/dist/{menu-CCQYHiy2.js → menu-n_bI-TFp.js} +3 -3
  98. package/dist/{menu-CCQYHiy2.js.map → menu-n_bI-TFp.js.map} +1 -1
  99. package/dist/menu.cjs +1 -1
  100. package/dist/menu.js +1 -1
  101. package/dist/nav-drawer.cjs +1 -1
  102. package/dist/nav-drawer.js +1 -1
  103. package/dist/notification.cjs +1 -1
  104. package/dist/notification.js +1 -1
  105. package/dist/{option-CM24cDF6.js → option-CxhioQ_d.js} +2 -2
  106. package/dist/{option-CM24cDF6.js.map → option-CxhioQ_d.js.map} +1 -1
  107. package/dist/{option-DOBWmGE5.cjs → option-lA0IV4VJ.cjs} +2 -2
  108. package/dist/{option-DOBWmGE5.cjs.map → option-lA0IV4VJ.cjs.map} +1 -1
  109. package/dist/option.cjs +1 -1
  110. package/dist/option.js +1 -1
  111. package/dist/{outlet-BsrhXTEg.js → outlet-DuFKgg_g.js} +2 -2
  112. package/dist/{outlet-BsrhXTEg.js.map → outlet-DuFKgg_g.js.map} +1 -1
  113. package/dist/{outlet-u1_Qa8Li.cjs → outlet-hu2yX7iS.cjs} +2 -2
  114. package/dist/{outlet-u1_Qa8Li.cjs.map → outlet-hu2yX7iS.cjs.map} +1 -1
  115. package/dist/{payment-card-form-B7tV2ttW.cjs → payment-card-form-Bpa9jVym.cjs} +2 -2
  116. package/dist/{payment-card-form-B7tV2ttW.cjs.map → payment-card-form-Bpa9jVym.cjs.map} +1 -1
  117. package/dist/{payment-card-form-CTZsSGOB.js → payment-card-form-D6chLUG-.js} +3 -3
  118. package/dist/{payment-card-form-CTZsSGOB.js.map → payment-card-form-D6chLUG-.js.map} +1 -1
  119. package/dist/{radio-group-dN2lWcFu.js → radio-group-9wWEjibY.js} +2 -2
  120. package/dist/{radio-group-dN2lWcFu.js.map → radio-group-9wWEjibY.js.map} +1 -1
  121. package/dist/{radio-group-m5Swl5cq.cjs → radio-group-CekbhNf-.cjs} +2 -2
  122. package/dist/{radio-group-m5Swl5cq.cjs.map → radio-group-CekbhNf-.cjs.map} +1 -1
  123. package/dist/radio-group.cjs +1 -1
  124. package/dist/radio-group.js +1 -1
  125. package/dist/{scroll-CYzhWpN5.js → scroll-B-tqDDOP.js} +2 -2
  126. package/dist/{scroll-CYzhWpN5.js.map → scroll-B-tqDDOP.js.map} +1 -1
  127. package/dist/{scroll-CCExKwoj.cjs → scroll-B7q9TYhV.cjs} +2 -2
  128. package/dist/{scroll-CCExKwoj.cjs.map → scroll-B7q9TYhV.cjs.map} +1 -1
  129. package/dist/{select-ljp7-IxH.cjs → select-DAQdBUSl.cjs} +2 -2
  130. package/dist/{select-ljp7-IxH.cjs.map → select-DAQdBUSl.cjs.map} +1 -1
  131. package/dist/{select-BakBo7W1.js → select-DUctHAIZ.js} +3 -3
  132. package/dist/{select-BakBo7W1.js.map → select-DUctHAIZ.js.map} +1 -1
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +1 -1
  135. package/dist/{sheet-DPHbRnXg.cjs → sheet-DeE5_yNQ.cjs} +2 -2
  136. package/dist/{sheet-DPHbRnXg.cjs.map → sheet-DeE5_yNQ.cjs.map} +1 -1
  137. package/dist/{sheet-BGNoewvS.js → sheet-yFj2S1UP.js} +3 -3
  138. package/dist/{sheet-BGNoewvS.js.map → sheet-yFj2S1UP.js.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-ds6hnN7n.cjs → slider-BN-GC2a_.cjs} +2 -2
  142. package/dist/{slider-ds6hnN7n.cjs.map → slider-BN-GC2a_.cjs.map} +1 -1
  143. package/dist/{slider-FTwWTvKi.js → slider-PwJTXAJc.js} +3 -3
  144. package/dist/{slider-FTwWTvKi.js.map → slider-PwJTXAJc.js.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-zxOxMm7j.js → spinner-CA6KEbfu.js} +3 -3
  148. package/dist/{spinner-zxOxMm7j.js.map → spinner-CA6KEbfu.js.map} +1 -1
  149. package/dist/{spinner-8GhT-bLm.cjs → spinner-Calk9CE7.cjs} +2 -2
  150. package/dist/{spinner-8GhT-bLm.cjs.map → spinner-Calk9CE7.cjs.map} +1 -1
  151. package/dist/surface-QvhZSMt5.cjs +13 -0
  152. package/dist/surface-QvhZSMt5.cjs.map +1 -0
  153. package/dist/surface-VBotYgOg.js +46 -0
  154. package/dist/surface-VBotYgOg.js.map +1 -0
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-6bRKgCJ9.js → table-Da6LJPGK.js} +2 -2
  158. package/dist/{table-6bRKgCJ9.js.map → table-Da6LJPGK.js.map} +1 -1
  159. package/dist/{table-BDIhXdSA.cjs → table-n4ftE_xg.cjs} +2 -2
  160. package/dist/{table-BDIhXdSA.cjs.map → table-n4ftE_xg.cjs.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-DBybIi8n.js → tabs-group-BK5fJqpY.js} +2 -2
  164. package/dist/{tabs-group-DBybIi8n.js.map → tabs-group-BK5fJqpY.js.map} +1 -1
  165. package/dist/{tabs-group-CHAAr7Wl.cjs → tabs-group-DThZAKqa.cjs} +2 -2
  166. package/dist/{tabs-group-CHAAr7Wl.cjs.map → tabs-group-DThZAKqa.cjs.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/{tailwind.mixin-DtR4DQvn.js → tailwind.mixin-DNlFmovi.js} +2 -2
  170. package/dist/{tailwind.mixin-DtR4DQvn.js.map → tailwind.mixin-DNlFmovi.js.map} +1 -1
  171. package/dist/{tailwind.mixin-_mD_GeAp.cjs → tailwind.mixin-DYx3IacW.cjs} +2 -2
  172. package/dist/{tailwind.mixin-_mD_GeAp.cjs.map → tailwind.mixin-DYx3IacW.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-Ctv1MZOo.cjs → teleport.component-D5v1j4mw.cjs} +2 -2
  175. package/dist/{teleport.component-Ctv1MZOo.cjs.map → teleport.component-D5v1j4mw.cjs.map} +1 -1
  176. package/dist/{teleport.component-CrWThxV-.js → teleport.component-Dose4RDi.js} +35 -35
  177. package/dist/{teleport.component-CrWThxV-.js.map → teleport.component-Dose4RDi.js.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-CJhi4hDu.cjs → textarea-DHrkcyt8.cjs} +2 -2
  180. package/dist/{textarea-CJhi4hDu.cjs.map → textarea-DHrkcyt8.cjs.map} +1 -1
  181. package/dist/{textarea-BchwVUAo.js → textarea-JWBhOVdN.js} +2 -2
  182. package/dist/{textarea-BchwVUAo.js.map → textarea-JWBhOVdN.js.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-dxTV0k03.js → theme-button-BL3unPDt.js} +2 -2
  186. package/dist/{theme-button-dxTV0k03.js.map → theme-button-BL3unPDt.js.map} +1 -1
  187. package/dist/{theme-button-DoIFEVSv.cjs → theme-button-DBPnjBHL.cjs} +2 -2
  188. package/dist/{theme-button-DoIFEVSv.cjs.map → theme-button-DBPnjBHL.cjs.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-Dhm3MpVW.cjs → theme.component-BNRB5zlE.cjs} +2 -2
  193. package/dist/{theme.component-Dhm3MpVW.cjs.map → theme.component-BNRB5zlE.cjs.map} +1 -1
  194. package/dist/{theme.component-DwZx0sdk.js → theme.component-iZ2Ty0WM.js} +2 -2
  195. package/dist/{theme.component-DwZx0sdk.js.map → theme.component-iZ2Ty0WM.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-BkhYPaz6.cjs → tree-BU8SHE74.cjs} +2 -2
  198. package/dist/{tree-BkhYPaz6.cjs.map → tree-BU8SHE74.cjs.map} +1 -1
  199. package/dist/{tree-C7GnGCWU.js → tree-DK6ii57L.js} +2 -2
  200. package/dist/{tree-C7GnGCWU.js.map → tree-DK6ii57L.js.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-DfOKVMWh.js → typewriter-BUNcKCUM.js} +4 -4
  204. package/dist/{typewriter-DfOKVMWh.js.map → typewriter-BUNcKCUM.js.map} +1 -1
  205. package/dist/{typewriter-DGIW1V_b.cjs → typewriter-BcUBG7Dc.cjs} +2 -2
  206. package/dist/{typewriter-DGIW1V_b.cjs.map → typewriter-BcUBG7Dc.cjs.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-DQHpwRFR.cjs → typography-CLlDUD5O.cjs} +2 -2
  210. package/dist/{typography-DQHpwRFR.cjs.map → typography-CLlDUD5O.cjs.map} +1 -1
  211. package/dist/{typography-En0tk2d5.js → typography-CasDFLVv.js} +2 -2
  212. package/dist/{typography-En0tk2d5.js.map → typography-CasDFLVv.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/surface/surface.d.ts +1 -0
  217. package/dist/surface-CHsZb-bX.js +0 -41
  218. package/dist/surface-CHsZb-bX.js.map +0 -1
  219. package/dist/surface-DsUZdYN6.cjs +0 -15
  220. package/dist/surface-DsUZdYN6.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"teleport.component-CrWThxV-.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts","../src/content-drawer/$sheet.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html` <section class=\"pb-4 px-4\"><slot> </slot></section> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardMedia\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement() {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'rounded-md': true,\n\t\t\t'shadow-xs': this.elevation === 1,\n\t\t\t'shadow-sm': this.elevation === 2,\n\t\t\t'shadow-md': this.elevation === 3,\n\t\t\t'shadow-lg': this.elevation === 4,\n\t\t\t'shadow-5': this.elevation === 5,\n\t\t\t'hover:shadow-xs': ['outlined', 'filled'].includes(this.type),\n\t\t\t'bg-surface-low shadow-xs hover:shadow-sm': this.type === 'elevated',\n\t\t\t'bg-surface-highest': this.type === 'filled',\n\t\t\t'bg-surface-default border border-solid border-1 border-outlineVariant': this.type === 'outlined',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\">\n\t\t\t<slot> </slot>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-card-content\n * @slot headline\n * @slot subhead\n * @slot default - The content of the card\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement() {\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'px-[16px] py-[24px]': true,\n\t\t}\n\t\tconst onSurface = SchmancyTheme.sys.color.surface.on\n\t\tconst onSurfaceVariant = SchmancyTheme.sys.color.surface.onVariant\n\t\treturn html`<schmancy-grid gap=\"md\" class=\"${this.classMap(classes)}\">\n\t\t\t<schmancy-grid gap=\"xs\">\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurface,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"lg\"\n\t\t\t\t\t><slot name=\"headline\"> </slot\n\t\t\t\t></schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t><slot name=\"subhead\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-grid>\n\t\t\t<schmancy-typography\n\t\t\t\ttype=\"body\"\n\t\t\t\t${color({\n\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-typography>\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\theight: '200px',\n\t\t}\n\t\tconst classes = {\n\t\t\t'object-center': true,\n\t\t\t'object-contain': this.fit === 'contain',\n\t\t\t'object-cover w-full': this.fit === 'cover',\n\t\t\t'object-fill': this.fit === 'fill',\n\t\t\t'object-none': this.fit === 'none',\n\t\t\t'object-scale-down': this.fit === 'scale-down',\n\t\t}\n\t\treturn html`<schmancy-grid align=\"stretch\" justify=\"stretch\" gap=\"md\">\n\t\t\t<img src=\"${this.src}\" style=${this.styleMap(styles)} class=\"${this.classMap(classes)}\" />\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\ttap(() => console.log(this.minWidth)),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, distinctUntilKeyChanged, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(distinctUntilKeyChanged('state'), debounceTime(100)).subscribe(data => {\n\t\t\tconsole.log('drawer', data)\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\nconst $drawer = schmancyNavDrawer\n\nexport { $drawer }\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.sidebarMode === 'overlay' && this.toggler ? 'auto 1fr' : '1fr'}\n\t\t\t\tflow=\"col\"\n\t\t\t\tclass=${this.classMap(appbarClasses)}\n\t\t\t\tgap=\"sm\"\n\t\t\t\talign=\"center\"\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The minimum width of the sidebar\n\t * @attr\tbreakpoint\n\t * @type {number}\n\t * @memberof SchmancyNavigationDrawer\n\t */\n\t@property({ type: Number, attribute: 'breakpoint' })\n\tbreakpoint: number = 768\n\n\t/**\n\t * The mode of the sidebar\n\t * @type {TSchmancyDrawerNavbarMode}\n\t * @memberof SchmancyNavigationDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => event.target as Window),\n\t\t\t\tstartWith(window),\n\t\t\t\tmap(window => window.innerWidth),\n\t\t\t\tmap(width => width >= this.breakpoint),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// if the mode is push, we don't need to close the overlay when the state is close\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tprivate state: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (changedProperties.has('state')) {\n\t\t\tconsole.log('state changed', this.state, this.mode)\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tthis.showNavDrawer()\n\t\t\t\tthis.closeOverlay()\n\t\t\t}\n\t\t}\n\t}\n\n\topenOverlay() {\n\t\t// Equivalent to onBegin\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Animate opacity from 0 to 0.4\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards', // <-- This keeps the final keyframe (0.4) after finishing\n\t\t})\n\t\t// If you want an onfinish here, you can add it:\n\t\t// .onfinish = () => console.log('overlay opened!')\n\t}\n\n\tcloseOverlay() {\n\t\t// Animate opacity from 0.4 to 0\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: 150,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\t// translateX(-100%) when the animation is finished\n\t\t// Equivalent to onComplete\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\n\t// show nav drawer\n\tshowNavDrawer() {\n\t\t// check the transform, skip if already open\n\t\tif (this.nav.style.transform === 'translateX(0)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'open'\n\t\t}\n\t}\n\n\t// hide nav drawer\n\thideNavDrawer() {\n\t\t// skip if already closed\n\t\tif (this.nav.style.transform === 'translateX(-100%)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'close'\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\tdetail: { state: 'close' },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\t\t// e.g., console.log('Starting FLIP animation...');\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t\t// e.g., console.log('FLIP animation completed!');\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\t// console.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tconsole.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n"],"names":["SchmancyCardMedia","TailwindElement","css","html","customElement","SchmancyCard","super","arguments","this","type","elevation","classes","includes","classMap","__decorateClass","property","prototype","Number","SchmancyCardContent","render","onSurface","SchmancyTheme","sys","color","surface","on","onSurfaceVariant","onVariant","src","fit","styleMap","height","String","reflect","schmancyContentDrawer","constructor","$drawer","Subject","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","e","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","merge","fromEvent","window","ContentDrawerResize","startWith","tap","map","clientWidth","innerWidth","width","debounceTime","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","styles","when","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","schmancyNavDrawer","distinctUntilKeyChanged","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","sidebarOpen","Boolean","SchmancyNavigationDrawerContent","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","target","fullHeight","attribute","SchmancyNavigationDrawerSidebar","hideNavDrawer","closeOverlay","openOverlay","showNavDrawer","overlay","fill","nav","sidebarClasses","bgColor","container","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","firstUpdated","teleportationService","get","a","throwIfEmpty","domRect","set","_slottedChildren","error"],"mappings":"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"}
1
+ {"version":3,"file":"teleport.component-Dose4RDi.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts","../src/content-drawer/$sheet.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/context.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html` <section class=\"pb-4 px-4\"><slot> </slot></section> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardMedia\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement() {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'rounded-md': true,\n\t\t\t'shadow-xs': this.elevation === 1,\n\t\t\t'shadow-sm': this.elevation === 2,\n\t\t\t'shadow-md': this.elevation === 3,\n\t\t\t'shadow-lg': this.elevation === 4,\n\t\t\t'shadow-5': this.elevation === 5,\n\t\t\t'hover:shadow-xs': ['outlined', 'filled'].includes(this.type),\n\t\t\t'bg-surface-low shadow-xs hover:shadow-sm': this.type === 'elevated',\n\t\t\t'bg-surface-highest': this.type === 'filled',\n\t\t\t'bg-surface-default border border-solid border-1 border-outlineVariant': this.type === 'outlined',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\">\n\t\t\t<slot> </slot>\n\t\t</div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { color } from '..'\n\n/**\n * @element schmancy-card-content\n * @slot headline\n * @slot subhead\n * @slot default - The content of the card\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement() {\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'px-[16px] py-[24px]': true,\n\t\t}\n\t\tconst onSurface = SchmancyTheme.sys.color.surface.on\n\t\tconst onSurfaceVariant = SchmancyTheme.sys.color.surface.onVariant\n\t\treturn html`<schmancy-grid gap=\"md\" class=\"${this.classMap(classes)}\">\n\t\t\t<schmancy-grid gap=\"xs\">\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurface,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\ttoken=\"lg\"\n\t\t\t\t\t><slot name=\"headline\"> </slot\n\t\t\t\t></schmancy-typography>\n\t\t\t\t<schmancy-typography\n\t\t\t\t\t${color({\n\t\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t><slot name=\"subhead\"></slot>\n\t\t\t\t</schmancy-typography>\n\t\t\t</schmancy-grid>\n\t\t\t<schmancy-typography\n\t\t\t\ttype=\"body\"\n\t\t\t\t${color({\n\t\t\t\t\tcolor: onSurfaceVariant,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-typography>\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\n\tprotected render(): unknown {\n\t\tconst styles = {\n\t\t\theight: '200px',\n\t\t}\n\t\tconst classes = {\n\t\t\t'object-center': true,\n\t\t\t'object-contain': this.fit === 'contain',\n\t\t\t'object-cover w-full': this.fit === 'cover',\n\t\t\t'object-fill': this.fit === 'fill',\n\t\t\t'object-none': this.fit === 'none',\n\t\t\t'object-scale-down': this.fit === 'scale-down',\n\t\t}\n\t\treturn html`<schmancy-grid align=\"stretch\" justify=\"stretch\" gap=\"md\">\n\t\t\t<img src=\"${this.src}\" style=${this.styleMap(styles)} class=\"${this.classMap(classes)}\" />\n\t\t</schmancy-grid>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\n\ntype DrawerAction = 'dismiss' | 'render'\ntype TRef = Element | Window\ntype TRenderRequest = HTMLElement\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n}>\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tref: TRef\n\t\taction: DrawerAction\n\t\tcomponent?: TRenderRequest\n\t\ttitle?: string\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(data => {\n\t\t\tif (data.action === 'dismiss') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else if (data.action === 'render') {\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tdata.ref.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tcomponent: data.component,\n\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new Drawer()\n","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\tfirstUpdated(): void {\n\t\tmerge(fromEvent<CustomEvent>(window, 'resize'), fromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize))\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\ttap(() => console.log(this.minWidth)),\n\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this) - 32}px`\n\t\t\t\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t\t\t\t}),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(({ component, title }) => {\n\t\t\t\tif (this.mode === 'push') {\n\t\t\t\t\t// TODO: Fix the router to render if constructor has different arguments\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: 'empty',\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t\tarea.push({\n\t\t\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\t\t\tcomponent: component,\n\t\t\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\t\t})\n\t\t\t\t} else if ((this.mode = 'overlay')) {\n\t\t\t\t\tsheet.open({ component: component, uid: this.schmancyContentDrawerID, title })\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tgetOffsetTop(element) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.mode === 'overlay' ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<schmancy-grid\n\t\t\t\t\tclass=\"h-full relative overflow-scroll\"\n\t\t\t\t\tcols=\"${this.mode === 'push' ? 'auto 1fr' : '1fr'}\"\n\t\t\t\t\trows=\"1fr\"\n\t\t\t\t\tflow=\"col\"\n\t\t\t\t\talign=\"stretch\"\n\t\t\t\t\tjustify=\"stretch\"\n\t\t\t\t>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</schmancy-grid>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, distinctUntilKeyChanged, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(distinctUntilKeyChanged('state'), debounceTime(100)).subscribe(data => {\n\t\t\tconsole.log('drawer', data)\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\nconst $drawer = schmancyNavDrawer\n\nexport { $drawer }\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n} from '@schmancy/nav-drawer/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { SchmancyEvents } from '..'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot toggler - The toggler slot\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tsidebarMode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tsidebarOpen\n\n\t@property({ type: Boolean }) toggler = true\n\n\trender() {\n\t\tconst appbarClasses = {\n\t\t\t'block z-50': true,\n\t\t}\n\t\tconst sidebarToggler = {\n\t\t\t'block left-3 z-50': this.sidebarMode === 'overlay',\n\t\t\thidden: this.sidebarMode === 'push',\n\t\t}\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.sidebarMode === 'overlay' && this.toggler ? 'auto 1fr' : '1fr'}\n\t\t\t\tflow=\"col\"\n\t\t\t\tclass=${this.classMap(appbarClasses)}\n\t\t\t\tgap=\"sm\"\n\t\t\t\talign=\"center\"\n\t\t\t>\n\t\t\t\t${when(\n\t\t\t\t\tthis.sidebarMode === 'overlay' && this.toggler,\n\t\t\t\t\t() =>\n\t\t\t\t\t\thtml`<slot name=\"toggler\">\n\t\t\t\t\t\t\t<div class=\"${this.classMap(sidebarToggler)}\">\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { state: this.sidebarOpen === 'open' ? 'close' : 'open' },\n\t\t\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t${when(\n\t\t\t\t\t\t\t\t\t\tthis.sidebarOpen === 'close',\n\t\t\t\t\t\t\t\t\t\t() => html`menu`,\n\t\t\t\t\t\t\t\t\t\t() => html`menu_open`,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</slot>`,\n\t\t\t\t)}\n\n\t\t\t\t<slot> </slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport { fullHeight } from './../directives/height'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\toverflow: hidden;\n\t}\n`) {\n\t// fullscreen property\n\t@property({ type: Boolean })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The minimum width of the sidebar\n\t * @attr\tbreakpoint\n\t * @type {number}\n\t * @memberof SchmancyNavigationDrawer\n\t */\n\t@property({ type: Number, attribute: 'breakpoint' })\n\tbreakpoint: number = 768\n\n\t/**\n\t * The mode of the sidebar\n\t * @type {TSchmancyDrawerNavbarMode}\n\t * @memberof SchmancyNavigationDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => event.target as Window),\n\t\t\t\tstartWith(window),\n\t\t\t\tmap(window => window.innerWidth),\n\t\t\t\tmap(width => width >= this.breakpoint),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(lgScreen => {\n\t\t\t\tif (lgScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\t/*\n\t\t * Listen to the toggle event\n\t\t */\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(100),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// if the mode is push, we don't need to close the overlay when the state is close\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\t\treturn html`\n\t\t\t<schmancy-grid\n\t\t\t\tcols=${this.fullscreen ? '1fr' : 'auto 1fr'}\n\t\t\t\trows=\"1fr\"\n\t\t\t\tflow=\"col\"\n\t\t\t\tjustify=\"stretch\"\n\t\t\t\talign=\"stretch\"\n\t\t\t\t${fullHeight()}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-grid>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tprivate state: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '320px'\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (changedProperties.has('state')) {\n\t\t\tconsole.log('state changed', this.state, this.mode)\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tthis.showNavDrawer()\n\t\t\t\tthis.closeOverlay()\n\t\t\t}\n\t\t}\n\t}\n\n\topenOverlay() {\n\t\t// Equivalent to onBegin\n\t\tthis.overlay.style.display = 'block'\n\n\t\t// Animate opacity from 0 to 0.4\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards', // <-- This keeps the final keyframe (0.4) after finishing\n\t\t})\n\t\t// If you want an onfinish here, you can add it:\n\t\t// .onfinish = () => console.log('overlay opened!')\n\t}\n\n\tcloseOverlay() {\n\t\t// Animate opacity from 0.4 to 0\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: 150,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\t// translateX(-100%) when the animation is finished\n\t\t// Equivalent to onComplete\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\n\t// show nav drawer\n\tshowNavDrawer() {\n\t\t// check the transform, skip if already open\n\t\tif (this.nav.style.transform === 'translateX(0)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'open'\n\t\t}\n\t}\n\n\t// hide nav drawer\n\thideNavDrawer() {\n\t\t// skip if already closed\n\t\tif (this.nav.style.transform === 'translateX(-100%)') return\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: 200,\n\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.state = 'close'\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'p-[16px] max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\t\tdetail: { state: 'close' },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t),\n\t\t]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\t\t// e.g., console.log('Starting FLIP animation...');\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t\t// e.g., console.log('FLIP animation completed!');\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\t// console.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tconsole.log(e)\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n"],"names":["SchmancyCardMedia","TailwindElement","css","html","customElement","SchmancyCard","super","arguments","this","type","elevation","classes","includes","classMap","__decorateClass","property","prototype","Number","SchmancyCardContent","render","onSurface","SchmancyTheme","sys","color","surface","on","onSurfaceVariant","onVariant","src","fit","styleMap","height","String","reflect","schmancyContentDrawer","constructor","$drawer","Subject","pipe","subscribe","data","action","ref","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","state","bubbles","composed","component","title","next","e","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","merge","fromEvent","window","ContentDrawerResize","startWith","tap","map","clientWidth","innerWidth","width","debounceTime","innerHeight","getOffsetTop","style","setProperty","distinctUntilChanged","takeUntil","disconnecting","lgScreen","mode","open","event","stopPropagation","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","styles","when","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","schmancyNavDrawer","distinctUntilKeyChanged","NavDrawer_toggle","self","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyDrawerAppbar","toggler","sidebarToggler","sidebarMode","hidden","sidebarOpen","Boolean","SchmancyNavigationDrawerContent","parentElement","SchmancyNavigationDrawer","fullscreen","breakpoint","target","fullHeight","attribute","SchmancyNavigationDrawerSidebar","hideNavDrawer","closeOverlay","openOverlay","showNavDrawer","overlay","fill","nav","sidebarClasses","bgColor","container","scrim","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","filter","uuid","id","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","rect","left","top","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","getBoundingClientRect","prev","curr","right","bottom","SchmancyTeleportation","debugging","shadowRoot","querySelector","assignedElements","Error","FINDING_MORTIES","HERE_RICKY","firstUpdated","teleportationService","get","a","throwIfEmpty","domRect","set","_slottedChildren","error"],"mappings":"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"}
package/dist/teleport.js CHANGED
@@ -1,4 +1,4 @@
1
- import { H as r, o as t, W as a, t as s } from "./teleport.component-CrWThxV-.js";
1
+ import { H as r, o as t, W as a, t as s } from "./teleport.component-Dose4RDi.js";
2
2
  export {
3
3
  r as HereMorty,
4
4
  t as SchmancyTeleportation,
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),c=require("lit"),r=require("lit/decorators.js"),p=require("lit/directives/if-defined.js"),m=require("lit/directives/ref.js"),f=require("lit/directives/when.js"),o=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const g=require("./tailwind.mixin-_mD_GeAp.cjs");var x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,i=(e,a,h,s)=>{for(var u,n=s>1?void 0:s?b(a,h):a,y=e.length-1;y>=0;y--)(u=e[y])&&(n=(s?u(a,h,n):u(n))||n);return s&&n&&x(a,h,n),n};let t=class extends g.TailwindElement(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}textarea:focus-visible{outline:none!important}textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit;resize:none;overflow-y:auto}@keyframes onAutoFillStart{}textarea:-webkit-autofill{animation-name:onAutoFillStart}"){constructor(){super(),this.textareaRef=m.createRef(),this.label="",this.name="name_"+Date.now(),this.placeholder="",this.value="",this.cols=20,this.rows=2,this.wrap="soft",this.required=!1,this.disabled=!1,this.readonly=!1,this.spellcheck=!1,this.align="left",this.tabIndex=0,this.error=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}}firstUpdated(){this.autofocus&&this.focus(),o.fromEvent(this.textareaElement,"input").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.textareaElement,"change").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.textareaElement,"keyup").pipe(o.filter(e=>e.key==="Enter"),o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("enter",{detail:{value:e},bubbles:!0,composed:!0}))})}get form(){var e;return(e=this.internals)==null?void 0:e.form}reportValidity(){var e;return(e=this.textareaRef.value)==null?void 0:e.reportValidity()}checkValidity(){var e;return(e=this.textareaRef.value)==null?void 0:e.checkValidity()}setCustomValidity(e){var a;return(a=this.textareaRef.value)==null?void 0:a.setCustomValidity(e)}select(){var e;return(e=this.textareaRef.value)==null?void 0:e.select()}setSelectionRange(e,a,h){var s;(s=this.textareaRef.value)==null||s.setSelectionRange(e,a,h)}get selectionStart(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionStart)??null}get selectionEnd(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionEnd)??null}get selectionDirection(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionDirection)??null}setRangeText(e){var a;(a=this.textareaRef.value)==null||a.setRangeText(e)}adjustHeight(){const e=this.textareaRef.value;e&&(e.style.height="auto",e.style.height=e.scrollHeight+"px")}validity(){var e;return(e=this.textareaRef.value)==null?void 0:e.validity}focus(e={preventScroll:!0}){var a;(a=this.textareaRef.value)==null||a.focus(e),this.dispatchEvent(new Event("focus"))}click(){var e;(e=this.textareaRef.value)==null||e.click(),this.dispatchEvent(new Event("click"))}blur(){var e;(e=this.textareaRef.value)==null||e.blur(),this.dispatchEvent(new Event("blur"))}render(){const e={"w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-primary-default ring-outline focus:ring-primary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"text-center":this.align==="center","text-right":this.align==="right"},a={"opacity-40":this.disabled,"block mb-[4px]":!0};return c.html`
1
+ "use strict";const d=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),c=require("lit"),r=require("lit/decorators.js"),p=require("lit/directives/if-defined.js"),m=require("lit/directives/ref.js"),f=require("lit/directives/when.js"),o=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const g=require("./tailwind.mixin-DYx3IacW.cjs");var x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,i=(e,a,h,s)=>{for(var u,n=s>1?void 0:s?b(a,h):a,y=e.length-1;y>=0;y--)(u=e[y])&&(n=(s?u(a,h,n):u(n))||n);return s&&n&&x(a,h,n),n};let t=class extends g.TailwindElement(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}textarea:focus-visible{outline:none!important}textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit;resize:none;overflow-y:auto}@keyframes onAutoFillStart{}textarea:-webkit-autofill{animation-name:onAutoFillStart}"){constructor(){super(),this.textareaRef=m.createRef(),this.label="",this.name="name_"+Date.now(),this.placeholder="",this.value="",this.cols=20,this.rows=2,this.wrap="soft",this.required=!1,this.disabled=!1,this.readonly=!1,this.spellcheck=!1,this.align="left",this.tabIndex=0,this.error=!1;try{this.internals=this.attachInternals()}catch{this.internals=void 0}}firstUpdated(){this.autofocus&&this.focus(),o.fromEvent(this.textareaElement,"input").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.textareaElement,"change").pipe(o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0}))}),o.fromEvent(this.textareaElement,"keyup").pipe(o.filter(e=>e.key==="Enter"),o.map(e=>e.target.value),o.distinctUntilChanged()).subscribe(e=>{this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("enter",{detail:{value:e},bubbles:!0,composed:!0}))})}get form(){var e;return(e=this.internals)==null?void 0:e.form}reportValidity(){var e;return(e=this.textareaRef.value)==null?void 0:e.reportValidity()}checkValidity(){var e;return(e=this.textareaRef.value)==null?void 0:e.checkValidity()}setCustomValidity(e){var a;return(a=this.textareaRef.value)==null?void 0:a.setCustomValidity(e)}select(){var e;return(e=this.textareaRef.value)==null?void 0:e.select()}setSelectionRange(e,a,h){var s;(s=this.textareaRef.value)==null||s.setSelectionRange(e,a,h)}get selectionStart(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionStart)??null}get selectionEnd(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionEnd)??null}get selectionDirection(){var e;return((e=this.textareaRef.value)==null?void 0:e.selectionDirection)??null}setRangeText(e){var a;(a=this.textareaRef.value)==null||a.setRangeText(e)}adjustHeight(){const e=this.textareaRef.value;e&&(e.style.height="auto",e.style.height=e.scrollHeight+"px")}validity(){var e;return(e=this.textareaRef.value)==null?void 0:e.validity}focus(e={preventScroll:!0}){var a;(a=this.textareaRef.value)==null||a.focus(e),this.dispatchEvent(new Event("focus"))}click(){var e;(e=this.textareaRef.value)==null||e.click(),this.dispatchEvent(new Event("click"))}blur(){var e;(e=this.textareaRef.value)==null||e.blur(),this.dispatchEvent(new Event("blur"))}render(){const e={"w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-primary-default ring-outline focus:ring-primary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"text-center":this.align==="center","text-right":this.align==="right"},a={"opacity-40":this.disabled,"block mb-[4px]":!0};return c.html`
2
2
  ${f.when(this.label,()=>c.html`<label
3
3
  ${d.color({color:this.error?l.SchmancyTheme.sys.color.error.default:l.SchmancyTheme.sys.color.primary.default})}
4
4
  class="${this.classMap(a)}"
@@ -39,4 +39,4 @@
39
39
  </schmancy-typography>
40
40
  `)}
41
41
  `}};t.shadowRootOptions={...c.LitElement.shadowRootOptions,delegatesFocus:!0},t.formAssociated=!0,i([r.property()],t.prototype,"label",2),i([r.property()],t.prototype,"name",2),i([r.property()],t.prototype,"placeholder",2),i([r.property({type:String,reflect:!0})],t.prototype,"value",2),i([r.property({type:Number})],t.prototype,"minlength",2),i([r.property({type:Number})],t.prototype,"maxlength",2),i([r.property({type:Number})],t.prototype,"cols",2),i([r.property({type:Number})],t.prototype,"rows",2),i([r.property({type:String})],t.prototype,"wrap",2),i([r.property({type:String})],t.prototype,"dirname",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"required",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"disabled",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"readonly",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"spellcheck",2),i([r.property({type:String,reflect:!0})],t.prototype,"align",2),i([r.property({type:Boolean})],t.prototype,"autofocus",2),i([r.property({type:Number})],t.prototype,"tabIndex",2),i([r.query("textarea")],t.prototype,"textareaElement",2),i([r.property()],t.prototype,"hint",2),i([r.property({type:Boolean,reflect:!0})],t.prototype,"error",2),t=i([r.customElement("schmancy-textarea")],t);
42
- //# sourceMappingURL=textarea-CJhi4hDu.cjs.map
42
+ //# sourceMappingURL=textarea-DHrkcyt8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-CJhi4hDu.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto'\n\t\t\ttextarea.style.height = textarea.scrollHeight + 'px'\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","autofocus","focus","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","style","height","scrollHeight","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"textarea-DHrkcyt8.cjs","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto'\n\t\t\ttextarea.style.height = textarea.scrollHeight + 'px'\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","autofocus","focus","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","textarea","style","height","scrollHeight","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { when as g } from "lit/directives/when.js";
8
8
  import { fromEvent as y, map as m, distinctUntilChanged as f, filter as E } from "rxjs";
9
9
  import "lit/directives/class-map.js";
10
10
  import "lit/directives/style-map.js";
11
- import { T as R } from "./tailwind.mixin-DtR4DQvn.js";
11
+ import { T as R } from "./tailwind.mixin-DNlFmovi.js";
12
12
  var k = Object.defineProperty, S = Object.getOwnPropertyDescriptor, r = (t, a, h, s) => {
13
13
  for (var p, o = s > 1 ? void 0 : s ? S(a, h) : a, c = t.length - 1; c >= 0; c--) (p = t[c]) && (o = (s ? p(a, h, o) : p(o)) || o);
14
14
  return s && o && k(a, h, o), o;
@@ -137,4 +137,4 @@ let e = class extends R(":host{border:unset!important;line-height:unset!importan
137
137
  }
138
138
  };
139
139
  e.shadowRootOptions = { ...x.shadowRootOptions, delegatesFocus: !0 }, e.formAssociated = !0, r([i()], e.prototype, "label", 2), r([i()], e.prototype, "name", 2), r([i()], e.prototype, "placeholder", 2), r([i({ type: String, reflect: !0 })], e.prototype, "value", 2), r([i({ type: Number })], e.prototype, "minlength", 2), r([i({ type: Number })], e.prototype, "maxlength", 2), r([i({ type: Number })], e.prototype, "cols", 2), r([i({ type: Number })], e.prototype, "rows", 2), r([i({ type: String })], e.prototype, "wrap", 2), r([i({ type: String })], e.prototype, "dirname", 2), r([i({ type: Boolean, reflect: !0 })], e.prototype, "required", 2), r([i({ type: Boolean, reflect: !0 })], e.prototype, "disabled", 2), r([i({ type: Boolean, reflect: !0 })], e.prototype, "readonly", 2), r([i({ type: Boolean, reflect: !0 })], e.prototype, "spellcheck", 2), r([i({ type: String, reflect: !0 })], e.prototype, "align", 2), r([i({ type: Boolean })], e.prototype, "autofocus", 2), r([i({ type: Number })], e.prototype, "tabIndex", 2), r([b("textarea")], e.prototype, "textareaElement", 2), r([i()], e.prototype, "hint", 2), r([i({ type: Boolean, reflect: !0 })], e.prototype, "error", 2), e = r([v("schmancy-textarea")], e);
140
- //# sourceMappingURL=textarea-BchwVUAo.js.map
140
+ //# sourceMappingURL=textarea-JWBhOVdN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-BchwVUAo.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto'\n\t\t\ttextarea.style.height = textarea.scrollHeight + 'px'\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","autofocus","focus","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","adjustHeight","textarea","style","height","scrollHeight","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"textarea-JWBhOVdN.js","sources":["../src/textarea/textarea.ts"],"sourcesContent":["import { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { LitElement, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map } from 'rxjs'\nimport style from './textarea.scss?inline'\nimport { TailwindElement } from '@mixins/index'\n@customElement('schmancy-textarea')\nexport default class SchmancyTextarea extends TailwindElement(style) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\tstatic formAssociated = true\n\t// private internals\n\tinternals: ElementInternals | undefined\n\ttextareaRef = createRef<HTMLTextAreaElement>()\n\n\t/**\n\t * The label of the control.\n\t * @attr\n\t * @type {string} label\n\t * @default ''\n\t * @public\n\t */\n\t@property() label = ''\n\n\t/**\n\t * The name of the control.\n\t * @attr name\n\t * @type {string} name\n\t * @default 'name_' + Date.now()\n\t * @public\n\t */\n\t@property() name = 'name_' + Date.now()\n\n\t/**\n\t * The placeholder of the control.\n\t * @attr placeholder\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property() placeholder = ''\n\n\t/**\n\t * The value of the control.\n\t * @attr {string} value - The value of the control.\n\t * @type {string}\n\t * @default ''\n\t * @public\n\t */\n\t@property({ type: String, reflect: true }) public value = ''\n\n\t/**\n\t * The minlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic minlength: number | undefined\n\n\t/**\n\t * The maxlength attribute of the control.\n\t * @attr\n\t */\n\t@property({ type: Number })\n\tpublic maxlength!: number\n\n\t/**\n\t * The number of columns (width) of the control.\n\t * @attr cols\n\t * @type {number}\n\t * @default 20\n\t * @public\n\t */\n\t@property({ type: Number }) cols = 20\n\n\t/**\n\t * The number of rows (height) of the control.\n\t * @attr rows\n\t * @type {number}\n\t * @default 2\n\t * @public\n\t */\n\t@property({ type: Number }) rows = 2\n\n\t/**\n\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t * @attr wrap\n\t * @type {'hard' | 'soft'}\n\t * @default 'soft'\n\t * @public\n\t */\n\t@property({ type: String }) wrap: 'hard' | 'soft' = 'soft'\n\n\t/**\n\t * The dirname attribute of the control.\n\t * @attr dirname\n\t * @type {string}\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: String }) dirname: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) required = false\n\t@property({ type: Boolean, reflect: true }) disabled = false\n\t@property({ type: Boolean, reflect: true }) readonly = false\n\t@property({ type: Boolean, reflect: true }) spellcheck = false\n\n\t@property({ type: String, reflect: true }) align: 'left' | 'center' | 'right' = 'left'\n\n\t/**\n\t * The autofocus attribute of the control.\n\t * @attr\n\t * @type {boolean}\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpublic override autofocus!: boolean\n\n\t@property({ type: Number })\n\tpublic override tabIndex = 0\n\n\t@query('textarea') textareaElement!: HTMLTextAreaElement\n\n\t@property() hint: string | undefined\n\n\t@property({ type: Boolean, reflect: true }) public error = false\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\t\tfromEvent(this.textareaElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\tfromEvent(this.textareaElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t\t// emit on enter\n\t\tfromEvent<KeyboardEvent>(this.textareaElement, 'keyup')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => event.key === 'Enter'),\n\t\t\t\tmap(event => (event.target as HTMLTextAreaElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\t/** Checks for validity of the control and shows the browser message if it's invalid. */\n\tpublic reportValidity() {\n\t\treturn this.textareaRef.value?.reportValidity()\n\t}\n\n\t/** Checks for validity of the control and emits the invalid event if it invalid. */\n\tpublic checkValidity() {\n\t\treturn this.textareaRef.value?.checkValidity()\n\t}\n\n\t/** Sets a custom validity message. */\n\tpublic setCustomValidity(message: string) {\n\t\treturn this.textareaRef.value?.setCustomValidity(message)\n\t}\n\n\t/** Selects all text within the textarea. */\n\tpublic select() {\n\t\treturn this.textareaRef.value?.select()\n\t}\n\n\t/** Sets the selection range. */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.textareaRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/** Returns the selected text within the textarea. */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.textareaRef.value?.selectionStart ?? null\n\t}\n\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.textareaRef.value?.selectionEnd ?? null\n\t}\n\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.textareaRef.value?.selectionDirection ?? null\n\t}\n\n\t/** Sets the range of text to be selected. */\n\tpublic setRangeText(replacement: string) {\n\t\tthis.textareaRef.value?.setRangeText(replacement)\n\t}\n\n\t/** Adjusts the height of the textarea based on its content. */\n\tpublic adjustHeight() {\n\t\tconst textarea = this.textareaRef.value\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto'\n\t\t\ttextarea.style.height = textarea.scrollHeight + 'px'\n\t\t}\n\t}\n\n\tpublic validity(): ValidityState | undefined {\n\t\treturn this.textareaRef.value?.validity\n\t}\n\n\tpublic override focus(\n\t\toptions: FocusOptions = {\n\t\t\tpreventScroll: true,\n\t\t},\n\t) {\n\t\tthis.textareaRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\tpublic override click() {\n\t\tthis.textareaRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\tpublic override blur() {\n\t\tthis.textareaRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'w-full rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px] py-[8px]': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t'ring-primary-default ring-outline focus:ring-primary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t}\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\n\t\t}\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() =>\n\t\t\t\t\thtml`<label\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"${this.classMap(labelClasses)}\"\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>`,\n\t\t\t)}\n\n\t\t\t<schmancy-typography type=\"body\" token=\"lg\">\n\t\t\t\t<textarea\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t\t})}\n\t\t\t\t\t${ref(this.textareaRef)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.id=${this.id}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\tclass=${this.classMap(classes)}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\t.readonly=${this.readonly}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tcols=${ifDefined(this.cols)}\n\t\t\t\t\trows=${ifDefined(this.rows)}\n\t\t\t\t\twrap=${ifDefined(this.wrap)}\n\t\t\t\t\tdirname=${ifDefined(this.dirname)}\n\t\t\t\t></textarea>\n\t\t\t</schmancy-typography>\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<schmancy-typography\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"pt-[4px]\"\n\t\t\t\t\t\ttype=\"body\"\n\t\t\t\t\t\ttoken=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</schmancy-typography>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\nexport type SchmancyTextareaChangeEvent = CustomEvent<EventDetails>\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-textarea': SchmancyTextarea\n\t}\n}\n"],"names":["SchmancyTextarea","TailwindElement","constructor","super","this","textareaRef","createRef","label","name","Date","now","placeholder","value","cols","rows","wrap","required","disabled","readonly","spellcheck","align","tabIndex","error","internals","attachInternals","autofocus","focus","fromEvent","textareaElement","pipe","map","event","target","distinctUntilChanged","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","form","reportValidity","checkValidity","message","setCustomValidity","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","setRangeText","adjustHeight","textarea","style","height","scrollHeight","validity","options","preventScroll","Event","click","blur","render","classes","labelClasses","html","when","color","SchmancyTheme","sys","default","primary","classMap","id","bgColor","surface","highest","on","ref","ifDefined","minlength","maxlength","dirname","hint","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","prototype","type","String","reflect","Number","Boolean","query","customElement"],"mappings":"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"}
package/dist/textarea.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./textarea-CJhi4hDu.cjs");
1
+ "use strict";require("./textarea-DHrkcyt8.cjs");
2
2
  //# sourceMappingURL=textarea.cjs.map