@mhmo91/schmancy 0.2.23 → 0.2.26

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 (225) hide show
  1. package/dist/{animated-text-Dj6eM2tE.cjs → animated-text-C5zM-91H.cjs} +2 -2
  2. package/dist/{animated-text-Dj6eM2tE.cjs.map → animated-text-C5zM-91H.cjs.map} +1 -1
  3. package/dist/{animated-text-CUx9CM5O.js → animated-text-IHZ7LNnc.js} +3 -3
  4. package/dist/{animated-text-CUx9CM5O.js.map → animated-text-IHZ7LNnc.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-B3adb0Y6.js → area.component-BrPf_qdG.js} +3 -3
  9. package/dist/{area.component-B3adb0Y6.js.map → area.component-BrPf_qdG.js.map} +1 -1
  10. package/dist/{area.component-Do3Jb3jC.cjs → area.component-DCLLi1YA.cjs} +2 -2
  11. package/dist/{area.component-Do3Jb3jC.cjs.map → area.component-DCLLi1YA.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BUOnKDbI.js → autocomplete-CcDfKbfJ.js} +3 -3
  14. package/dist/{autocomplete-BUOnKDbI.js.map → autocomplete-CcDfKbfJ.js.map} +1 -1
  15. package/dist/{autocomplete-U3vu-siT.cjs → autocomplete-Dfq-Rhjy.cjs} +2 -2
  16. package/dist/{autocomplete-U3vu-siT.cjs.map → autocomplete-Dfq-Rhjy.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-FZpN0Mgj.cjs → checkbox-BdsGj_z6.cjs} +2 -2
  26. package/dist/{checkbox-FZpN0Mgj.cjs.map → checkbox-BdsGj_z6.cjs.map} +1 -1
  27. package/dist/{checkbox-BWaWg2Gm.js → checkbox-DV8tPYX0.js} +2 -2
  28. package/dist/{checkbox-BWaWg2Gm.js.map → checkbox-DV8tPYX0.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-CRfhI-G7.js → chips-Ca-SY6mg.js} +3 -3
  32. package/dist/{chips-CRfhI-G7.js.map → chips-Ca-SY6mg.js.map} +1 -1
  33. package/dist/{chips-BoxKYOMa.cjs → chips-Z8e_rQtM.cjs} +2 -2
  34. package/dist/{chips-BoxKYOMa.cjs.map → chips-Z8e_rQtM.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-X97ioY-h.cjs → date-range-CDX0VlcK.cjs} +2 -2
  42. package/dist/{date-range-X97ioY-h.cjs.map → date-range-CDX0VlcK.cjs.map} +1 -1
  43. package/dist/{date-range-2Zd4XvrS.js → date-range-DdGaWGVn.js} +3 -3
  44. package/dist/{date-range-2Zd4XvrS.js.map → date-range-DdGaWGVn.js.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-CwXLGveT.js → delay-BWLlCMKV.js} +2 -2
  48. package/dist/{delay-CwXLGveT.js.map → delay-BWLlCMKV.js.map} +1 -1
  49. package/dist/{delay-BqTo3aLA.cjs → delay-DsFVHHw2.cjs} +2 -2
  50. package/dist/{delay-BqTo3aLA.cjs.map → delay-DsFVHHw2.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-CdV7coS1.js → divider-B7kWs-q5.js} +3 -3
  54. package/dist/{divider-CdV7coS1.js.map → divider-B7kWs-q5.js.map} +1 -1
  55. package/dist/{divider-BfxgNMsI.cjs → divider-CjgOM462.cjs} +2 -2
  56. package/dist/{divider-BfxgNMsI.cjs.map → divider-CjgOM462.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-DfGEOLag.js → form-BUV1hUzI.js} +2 -2
  60. package/dist/{form-DfGEOLag.js.map → form-BUV1hUzI.js.map} +1 -1
  61. package/dist/{form-BTnhPK7O.cjs → form-DyYGOlOR.cjs} +2 -2
  62. package/dist/{form-BTnhPK7O.cjs.map → form-DyYGOlOR.cjs.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-B34qm8t_.js → icon-CWvUTBIP.js} +3 -3
  66. package/dist/{icon-B34qm8t_.js.map → icon-CWvUTBIP.js.map} +1 -1
  67. package/dist/{icon-DL24gxLi.cjs → icon-DPN7kWO0.cjs} +2 -2
  68. package/dist/{icon-DL24gxLi.cjs.map → icon-DPN7kWO0.cjs.map} +1 -1
  69. package/dist/{icon-button-yOFOGX0Y.js → icon-button-CbEs8eyS.js} +3 -3
  70. package/dist/{icon-button-yOFOGX0Y.js.map → icon-button-CbEs8eyS.js.map} +1 -1
  71. package/dist/{icon-button-BXlgRBET.cjs → icon-button-DHiO0w8J.cjs} +2 -2
  72. package/dist/{icon-button-BXlgRBET.cjs.map → icon-button-DHiO0w8J.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-C5Qe0WzY.cjs → input-2kqgsr0S.cjs} +2 -2
  78. package/dist/{input-C5Qe0WzY.cjs.map → input-2kqgsr0S.cjs.map} +1 -1
  79. package/dist/{input-B63-M9qj.js → input-D3hti5wB.js} +2 -2
  80. package/dist/{input-B63-M9qj.js.map → input-D3hti5wB.js.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-BDw1aNOH.cjs → list-Cq9RDYF_.cjs} +2 -2
  86. package/dist/{list-BDw1aNOH.cjs.map → list-Cq9RDYF_.cjs.map} +1 -1
  87. package/dist/{list-C9kPT0mr.js → list-D3m-rd6d.js} +2 -2
  88. package/dist/{list-C9kPT0mr.js.map → list-D3m-rd6d.js.map} +1 -1
  89. package/dist/list.cjs +1 -1
  90. package/dist/list.js +1 -1
  91. package/dist/{litElement.mixin-CJYb3izk.js → litElement.mixin-CjxO_zfv.js} +2 -2
  92. package/dist/{litElement.mixin-CJYb3izk.js.map → litElement.mixin-CjxO_zfv.js.map} +1 -1
  93. package/dist/{litElement.mixin-Cw40wOLl.cjs → litElement.mixin-DWxwPXWQ.cjs} +2 -2
  94. package/dist/{litElement.mixin-Cw40wOLl.cjs.map → litElement.mixin-DWxwPXWQ.cjs.map} +1 -1
  95. package/dist/{menu-B-9Sd5xU.js → menu-CCQYHiy2.js} +3 -3
  96. package/dist/{menu-B-9Sd5xU.js.map → menu-CCQYHiy2.js.map} +1 -1
  97. package/dist/{menu-BezCg_ZV.cjs → menu-ifiBMg-F.cjs} +2 -2
  98. package/dist/{menu-BezCg_ZV.cjs.map → menu-ifiBMg-F.cjs.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-ETcMXlUc.js → option-CM24cDF6.js} +2 -2
  106. package/dist/{option-ETcMXlUc.js.map → option-CM24cDF6.js.map} +1 -1
  107. package/dist/{option-Ds6sb35B.cjs → option-DOBWmGE5.cjs} +2 -2
  108. package/dist/{option-Ds6sb35B.cjs.map → option-DOBWmGE5.cjs.map} +1 -1
  109. package/dist/option.cjs +1 -1
  110. package/dist/option.js +1 -1
  111. package/dist/{outlet-Bc4MC45j.js → outlet-BsrhXTEg.js} +44 -40
  112. package/dist/outlet-BsrhXTEg.js.map +1 -0
  113. package/dist/{outlet-BDkD7_9L.cjs → outlet-u1_Qa8Li.cjs} +4 -4
  114. package/dist/outlet-u1_Qa8Li.cjs.map +1 -0
  115. package/dist/{payment-card-form-BXq6Mxck.cjs → payment-card-form-B7tV2ttW.cjs} +2 -2
  116. package/dist/{payment-card-form-BXq6Mxck.cjs.map → payment-card-form-B7tV2ttW.cjs.map} +1 -1
  117. package/dist/{payment-card-form-yjKqadtl.js → payment-card-form-CTZsSGOB.js} +3 -3
  118. package/dist/{payment-card-form-yjKqadtl.js.map → payment-card-form-CTZsSGOB.js.map} +1 -1
  119. package/dist/{radio-group-SZ7LT0BI.js → radio-group-dN2lWcFu.js} +2 -2
  120. package/dist/{radio-group-SZ7LT0BI.js.map → radio-group-dN2lWcFu.js.map} +1 -1
  121. package/dist/{radio-group-B3jrTLIL.cjs → radio-group-m5Swl5cq.cjs} +2 -2
  122. package/dist/{radio-group-B3jrTLIL.cjs.map → radio-group-m5Swl5cq.cjs.map} +1 -1
  123. package/dist/radio-group.cjs +1 -1
  124. package/dist/radio-group.js +1 -1
  125. package/dist/{scroll-BZXWpgyx.js → scroll-Bl-fR7Vv.js} +2 -2
  126. package/dist/{scroll-BZXWpgyx.js.map → scroll-Bl-fR7Vv.js.map} +1 -1
  127. package/dist/{scroll-DIBR9WHR.cjs → scroll-DnAxN1uS.cjs} +2 -2
  128. package/dist/{scroll-DIBR9WHR.cjs.map → scroll-DnAxN1uS.cjs.map} +1 -1
  129. package/dist/{select-Bfkeb6KP.cjs → select-Bzf5TEob.cjs} +2 -2
  130. package/dist/{select-Bfkeb6KP.cjs.map → select-Bzf5TEob.cjs.map} +1 -1
  131. package/dist/{select-0kZshsvW.js → select-CR2mQf_Q.js} +3 -3
  132. package/dist/{select-0kZshsvW.js.map → select-CR2mQf_Q.js.map} +1 -1
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +1 -1
  135. package/dist/{sheet-CJ6kO7WG.cjs → sheet-DOtLsAs_.cjs} +18 -20
  136. package/dist/{sheet-CJ6kO7WG.cjs.map → sheet-DOtLsAs_.cjs.map} +1 -1
  137. package/dist/{sheet-CoO8bSHc.js → sheet-Dt3siMhI.js} +24 -26
  138. package/dist/{sheet-CoO8bSHc.js.map → sheet-Dt3siMhI.js.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-D4GAHeMx.js → slider-FTwWTvKi.js} +3 -3
  142. package/dist/{slider-D4GAHeMx.js.map → slider-FTwWTvKi.js.map} +1 -1
  143. package/dist/{slider-DEaQC5Qe.cjs → slider-ds6hnN7n.cjs} +2 -2
  144. package/dist/{slider-DEaQC5Qe.cjs.map → slider-ds6hnN7n.cjs.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-BJ5VG2fV.cjs → spinner-8GhT-bLm.cjs} +2 -2
  148. package/dist/{spinner-BJ5VG2fV.cjs.map → spinner-8GhT-bLm.cjs.map} +1 -1
  149. package/dist/{spinner-_aBya_Qc.js → spinner-zxOxMm7j.js} +3 -3
  150. package/dist/{spinner-_aBya_Qc.js.map → spinner-zxOxMm7j.js.map} +1 -1
  151. package/dist/surface-BzSJT7y7.cjs +10 -0
  152. package/dist/surface-BzSJT7y7.cjs.map +1 -0
  153. package/dist/surface-DdbqvBbW.js +43 -0
  154. package/dist/surface-DdbqvBbW.js.map +1 -0
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-Ds0ivk4n.js → table-6bRKgCJ9.js} +2 -2
  158. package/dist/{table-Ds0ivk4n.js.map → table-6bRKgCJ9.js.map} +1 -1
  159. package/dist/{table-BmyyQrx8.cjs → table-BDIhXdSA.cjs} +2 -2
  160. package/dist/{table-BmyyQrx8.cjs.map → table-BDIhXdSA.cjs.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-2sFsKJxb.cjs → tabs-group-CHAAr7Wl.cjs} +2 -2
  164. package/dist/{tabs-group-2sFsKJxb.cjs.map → tabs-group-CHAAr7Wl.cjs.map} +1 -1
  165. package/dist/{tabs-group-OdIAitHN.js → tabs-group-DBybIi8n.js} +2 -2
  166. package/dist/{tabs-group-OdIAitHN.js.map → tabs-group-DBybIi8n.js.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/{tailwind.mixin-wwBoa4Jw.js → tailwind.mixin-DtR4DQvn.js} +11 -11
  170. package/dist/{tailwind.mixin-wwBoa4Jw.js.map → tailwind.mixin-DtR4DQvn.js.map} +1 -1
  171. package/dist/{tailwind.mixin-mhYVlkxs.cjs → tailwind.mixin-_mD_GeAp.cjs} +2 -2
  172. package/dist/{tailwind.mixin-mhYVlkxs.cjs.map → tailwind.mixin-_mD_GeAp.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-J9cOCWCT.cjs → teleport.component--U4504z0.cjs} +2 -2
  175. package/dist/{teleport.component-J9cOCWCT.cjs.map → teleport.component--U4504z0.cjs.map} +1 -1
  176. package/dist/{teleport.component-CBMVwlTg.js → teleport.component-DW6Kqmit.js} +35 -35
  177. package/dist/{teleport.component-CBMVwlTg.js.map → teleport.component-DW6Kqmit.js.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-p0XofIBJ.js → textarea-BchwVUAo.js} +2 -2
  180. package/dist/{textarea-p0XofIBJ.js.map → textarea-BchwVUAo.js.map} +1 -1
  181. package/dist/{textarea-DE-5ySnu.cjs → textarea-CJhi4hDu.cjs} +2 -2
  182. package/dist/{textarea-DE-5ySnu.cjs.map → textarea-CJhi4hDu.cjs.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-HfAO7YLi.cjs → theme-button-DoIFEVSv.cjs} +2 -2
  186. package/dist/{theme-button-HfAO7YLi.cjs.map → theme-button-DoIFEVSv.cjs.map} +1 -1
  187. package/dist/{theme-button-BczCoNKk.js → theme-button-dxTV0k03.js} +2 -2
  188. package/dist/{theme-button-BczCoNKk.js.map → theme-button-dxTV0k03.js.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/theme.component-Dhm3MpVW.cjs +3 -0
  193. package/dist/{theme.component-78M08LUD.cjs.map → theme.component-Dhm3MpVW.cjs.map} +1 -1
  194. package/dist/{theme.component-CKmrq6vY.js → theme.component-DwZx0sdk.js} +314 -307
  195. package/dist/{theme.component-CKmrq6vY.js.map → theme.component-DwZx0sdk.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-C0L22or-.cjs → tree-BkhYPaz6.cjs} +2 -2
  198. package/dist/{tree-C0L22or-.cjs.map → tree-BkhYPaz6.cjs.map} +1 -1
  199. package/dist/{tree-CJueZNtq.js → tree-C7GnGCWU.js} +2 -2
  200. package/dist/{tree-CJueZNtq.js.map → tree-C7GnGCWU.js.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-n3ITVaff.cjs → typewriter-DGIW1V_b.cjs} +2 -2
  204. package/dist/{typewriter-n3ITVaff.cjs.map → typewriter-DGIW1V_b.cjs.map} +1 -1
  205. package/dist/{typewriter-DOVBdtxY.js → typewriter-DfOKVMWh.js} +4 -4
  206. package/dist/{typewriter-DOVBdtxY.js.map → typewriter-DfOKVMWh.js.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-bMZIS2rJ.cjs → typography-DQHpwRFR.cjs} +2 -2
  210. package/dist/{typography-bMZIS2rJ.cjs.map → typography-DQHpwRFR.cjs.map} +1 -1
  211. package/dist/{typography-BRiJcJhp.js → typography-En0tk2d5.js} +2 -2
  212. package/dist/{typography-BRiJcJhp.js.map → typography-En0tk2d5.js.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +8 -8
  216. package/types/src/notification/$notification.d.ts +1 -0
  217. package/types/src/surface/surface.d.ts +1 -0
  218. package/types/src/theme/theme.format.d.ts +7 -1
  219. package/dist/outlet-BDkD7_9L.cjs.map +0 -1
  220. package/dist/outlet-Bc4MC45j.js.map +0 -1
  221. package/dist/surface-DKrkxarv.cjs +0 -14
  222. package/dist/surface-DKrkxarv.cjs.map +0 -1
  223. package/dist/surface-DlwQilPV.js +0 -40
  224. package/dist/surface-DlwQilPV.js.map +0 -1
  225. package/dist/theme.component-78M08LUD.cjs +0 -3
@@ -1,10 +1,10 @@
1
- import "./theme.component-CKmrq6vY.js";
1
+ import "./theme.component-DwZx0sdk.js";
2
2
  import { S as l } from "./theme.interface-C5Kj6WjD.js";
3
3
  import { c as u } from "./ripple-BumgqsDT.js";
4
4
  import "rxjs";
5
5
  import "lit/directives/class-map.js";
6
6
  import "lit/directives/style-map.js";
7
- import { T as m } from "./tailwind.mixin-wwBoa4Jw.js";
7
+ import { T as m } from "./tailwind.mixin-DtR4DQvn.js";
8
8
  import { css as y, html as f } from "lit";
9
9
  import { customElement as h, property as p } from "lit/decorators.js";
10
10
  var v = Object.defineProperty, g = Object.getOwnPropertyDescriptor;
@@ -74,4 +74,4 @@ let a = class extends m(y`
74
74
  }
75
75
  };
76
76
  c([p({ type: String })], a.prototype, "color", 2), c([p({ type: String })], a.prototype, "size", 2), a = c([h("schmancy-spinner")], a);
77
- //# sourceMappingURL=spinner-_aBya_Qc.js.map
77
+ //# sourceMappingURL=spinner-zxOxMm7j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-_aBya_Qc.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":";;;;;;;;;;AAOA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAO/C,SAAAC;AACF,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,EAAM,EACPC,SAASC,EAAcC,IAAIH,MAAMI,UAAUC,WAC3CL,OAAOE,EAAcC,IAAIH,MAAMM,SAASC,YAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EACvC;AAfcZ;AAAAA;;;GAArB,CADCa,EAAc,eAAA,CAAA,GACMb;;;;;ACFrB,IAAqBc,IAArB,cAA6Cb,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAa;AAAAC,UAAAC,GAAAA,SAAAA,GAe6CC,KAAAb,QAAA,QACDa,KAAAC,OAAA;AAAA,EAAA;AAAA,EAEjC,SAAAhB;AACT,UAAMiB,IAAQ,EACbC,UAAUH,KAAKC,MACfG,UAAUJ,KAAKC,MACfI,UAAU,SAEJ;AAAA,WAAAnB;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAM;AAVvBK;AAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YAfEd,EAeQe,WAAA,SAAA,CAAA,GACAJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAhBEd,CAAAA,CAAAA,GAAAA,EAgBQe,WAAA,QAAA,IAhBRf,IAArBW,EAAA,CADCZ,EAAc,kBACMC,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"spinner-zxOxMm7j.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":";;;;;;;;;;AAOA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAO/C,SAAAC;AACF,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,EAAM,EACPC,SAASC,EAAcC,IAAIH,MAAMI,UAAUC,WAC3CL,OAAOE,EAAcC,IAAIH,MAAMM,SAASC,YAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EACvC;AAfcZ;AAAAA;;;GAArB,CADCa,EAAc,eAAA,CAAA,GACMb;;;;;ACFrB,IAAqBc,IAArB,cAA6Cb,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAa;AAAAC,UAAAC,GAAAA,SAAAA,GAe6CC,KAAAb,QAAA,QACDa,KAAAC,OAAA;AAAA,EAAA;AAAA,EAEjC,SAAAhB;AACT,UAAMiB,IAAQ,EACbC,UAAUH,KAAKC,MACfG,UAAUJ,KAAKC,MACfI,UAAU,SAEJ;AAAA,WAAAnB;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAM;AAVvBK;AAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YAfEd,EAeQe,WAAA,SAAA,CAAA,GACAJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAhBEd,CAAAA,CAAAA,GAAAA,EAgBQe,WAAA,QAAA,IAhBRf,IAArBW,EAAA,CADCZ,EAAc,kBACMC,CAAAA,GAAAA,CAAAA;"}
@@ -0,0 +1,10 @@
1
+ "use strict";const u=require("./provide-_VUNOf1R.cjs");require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("./tailwind.mixin-_mD_GeAp.cjs"),h=require("lit"),s=require("lit/decorators.js"),p=require("./context-BATZj31H.cjs");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=(o,t,r,n)=>{for(var c,e=n>1?void 0:n?y(t,r):t,a=o.length-1;a>=0;a--)(c=o[a])&&(e=(n?c(t,r,e):c(e))||e);return n&&e&&d(t,r,e),e};exports.SchmancySurface=class extends l.TailwindElement(h.css`
2
+ :host {
3
+ display: block;
4
+ }
5
+ :host([fill]) {
6
+ height: -webkit-fill-available;
7
+ width: -webkit-fill-available;
8
+ }
9
+ `){constructor(){super(...arguments),this.fill=!1,this.rounded="none",this.type="surface",this.elevation=0}get classes(){return{"relative inset-0 block sha":!0,"rounded-none":this.rounded==="none","rounded-t-[8px]":this.rounded==="top","rounded-l-[8px]":this.rounded==="left","rounded-r-[8px]":this.rounded==="right","rounded-b-[8px]":this.rounded==="bottom","rounded-[8px]":this.rounded==="all","w-full h-full":this.fill,"shadow-xs":this.elevation===1,"shadow-sm":this.elevation===2,"shadow-md":this.elevation===3,"shadow-lg":this.elevation===4,"text-surface-on":this.type==="surface"||this.type==="surfaceDim"||this.type==="surfaceBright"||this.type==="containerLowest"||this.type==="containerLow"||this.type==="container"||this.type==="containerHigh"||this.type==="containerHighest","bg-surface-default":this.type==="surface","bg-surface-dim":this.type==="surfaceDim","bg-surface-bright":this.type==="surfaceBright","bg-surface-lowest":this.type==="containerLowest","bg-surface-low":this.type==="containerLow","bg-surface-container":this.type==="container","bg-surface-high":this.type==="containerHigh","bg-surface-highest":this.type==="containerHighest"}}updated(){Object.entries(this.classes).forEach(([o,t])=>{o.split(" ").forEach(r=>{this.classList.toggle(r,t)})})}render(){return h.html` <slot></slot> `}},i([s.property({type:Boolean})],exports.SchmancySurface.prototype,"fill",2),i([s.property()],exports.SchmancySurface.prototype,"rounded",2),i([u.e({context:p.SchmancySurfaceTypeContext}),s.property()],exports.SchmancySurface.prototype,"type",2),i([s.property({type:Number})],exports.SchmancySurface.prototype,"elevation",2),exports.SchmancySurface=i([s.customElement("schmancy-surface")],exports.SchmancySurface);
10
+ //# sourceMappingURL=surface-BzSJT7y7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-BzSJT7y7.cjs","sources":["../src/surface/surface.ts"],"sourcesContent":["import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancySurfaceTypeContext } from './context'\n\n/**\n * @element schmancy-surface\n * @slot - default content\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([fill]) {\n\t\theight: -webkit-fill-available;\n\t\twidth: -webkit-fill-available;\n\t}\n`) {\n\t@property({ type: Boolean }) fill = false\n\t@property() rounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property()\n\ttype:\n\t\t| 'surface'\n\t\t| 'surfaceDim'\n\t\t| 'surfaceBright'\n\t\t| 'containerLowest'\n\t\t| 'containerLow'\n\t\t| 'container'\n\t\t| 'containerHigh'\n\t\t| 'containerHighest' = 'surface'\n\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tget classes(): Record<string, boolean> {\n\t\treturn {\n\t\t\t'relative inset-0 block sha': true,\n\t\t\t'rounded-none': this.rounded === 'none',\n\t\t\t'rounded-t-[8px]': this.rounded === 'top',\n\t\t\t'rounded-l-[8px]': this.rounded === 'left',\n\t\t\t'rounded-r-[8px]': this.rounded === 'right',\n\t\t\t'rounded-b-[8px]': this.rounded === 'bottom',\n\t\t\t'rounded-[8px]': this.rounded === 'all',\n\n\t\t\t'w-full h-full': this.fill,\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'text-surface-on':\n\t\t\t\tthis.type === 'surface' ||\n\t\t\t\tthis.type === 'surfaceDim' ||\n\t\t\t\tthis.type === 'surfaceBright' ||\n\t\t\t\tthis.type === 'containerLowest' ||\n\t\t\t\tthis.type === 'containerLow' ||\n\t\t\t\tthis.type === 'container' ||\n\t\t\t\tthis.type === 'containerHigh' ||\n\t\t\t\tthis.type === 'containerHighest',\n\t\t\t'bg-surface-default': this.type === 'surface',\n\t\t\t'bg-surface-dim': this.type === 'surfaceDim',\n\t\t\t'bg-surface-bright': this.type === 'surfaceBright',\n\t\t\t'bg-surface-lowest': this.type === 'containerLowest',\n\t\t\t'bg-surface-low': this.type === 'containerLow',\n\t\t\t'bg-surface-container': this.type === 'container',\n\t\t\t'bg-surface-high': this.type === 'containerHigh',\n\t\t\t'bg-surface-highest': this.type === 'containerHighest',\n\t\t}\n\t}\n\n\tupdated() {\n\t\t// Loop over the computed classes and toggle each class on the host element.\n\t\tObject.entries(this.classes).forEach(([cls, condition]) => {\n\t\t\t// In case you have multiple classes in one string (like 'relative inset-0 block sha'),\n\t\t\t// split them and toggle each one.\n\t\t\tcls.split(' ').forEach(singleClass => {\n\t\t\t\tthis.classList.toggle(singleClass, condition)\n\t\t\t})\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\t// Now, no extra <div> is needed because classes are on the host element.\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"names":["SchmancySurface","TailwindElement","css","constructor","super","arguments","this","fill","rounded","type","elevation","Object","entries","classes","forEach","cls","condition","split","singleClass","classList","toggle","render","html","__decorateClass","property","Boolean","prototype","provide","context","SchmancySurfaceTypeContext","Number","customElement"],"mappings":"0dAWaA,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA9C,aAAAC,CAAAC,SAAAC,SAS8BC,EAAAA,KAAAC,QACwCD,KAAAE,QAAA,OAYpDF,KAAAG,KAAA,UAEuCH,KAAAI,UAAA,CAAA,CAE/D,IAAA,UACQ,MAAA,CACN,6BAA8B,GAC9B,eAAgBJ,KAAKE,UAAY,OACjC,kBAAmBF,KAAKE,UAAY,MACpC,kBAAmBF,KAAKE,UAAY,OACpC,kBAAmBF,KAAKE,UAAY,QACpC,kBAAmBF,KAAKE,UAAY,SACpC,gBAAiBF,KAAKE,UAAY,MAElC,gBAAiBF,KAAKC,KACtB,YAAaD,KAAKI,YAAc,EAChC,YAAaJ,KAAKI,YAAc,EAChC,YAAaJ,KAAKI,YAAc,EAChC,YAAaJ,KAAKI,YAAc,EAChC,kBACCJ,KAAKG,OAAS,WACdH,KAAKG,OAAS,cACdH,KAAKG,OAAS,iBACdH,KAAKG,OAAS,mBACdH,KAAKG,OAAS,gBACdH,KAAKG,OAAS,aACdH,KAAKG,OAAS,iBACdH,KAAKG,OAAS,mBACf,qBAAsBH,KAAKG,OAAS,UACpC,iBAAkBH,KAAKG,OAAS,aAChC,oBAAqBH,KAAKG,OAAS,gBACnC,oBAAqBH,KAAKG,OAAS,kBACnC,iBAAkBH,KAAKG,OAAS,eAChC,uBAAwBH,KAAKG,OAAS,YACtC,kBAAmBH,KAAKG,OAAS,gBACjC,qBAAsBH,KAAKG,OAAS,kBACrC,CAAA,CAGD,SAEQE,CAAAA,OAAAC,QAAQN,KAAKO,OAASC,EAAAA,QAAQ,EAAEC,EAAKC,CAAAA,IAAAA,CAG3CD,EAAIE,MAAM,GAAA,EAAKH,QAAuBI,GAChCZ,CAAAA,KAAAa,UAAUC,OAAOF,EAAaF,CAAAA,CAAS,EAC5C,CACD,CAAA,CAGQ,QAAAK,CAEF,OAAAC,EAAAA,qBAAA,CAAA,EAjEqBC,EAAA,CAA5BC,WAAS,CAAEf,KAAMgB,OAAAA,CAAAA,CAAAA,EATNzB,wBASiB0B,UAAA,OAAA,CACjBH,EAAAA,EAAA,CAAXC,EAASA,SAVExB,CAAAA,EAAAA,wBAUA0B,UAAA,UAAA,GAIZH,EAAA,CAFCI,IAAQ,CAAEC,QAASC,EAAAA,0BACnBL,CAAAA,EAAAA,EAASA,YAbExB,wBAcZ0B,UAAA,OAAA,CAAA,EAU4BH,EAAA,CAA3BC,WAAS,CAAEf,KAAMqB,MAAAA,CAAAA,CAAAA,EAxBN9B,wBAwBgB0B,UAAA,YAAA,CAAA,EAxBhB1B,QAANA,gBAAAuB,EAAA,CADNQ,EAAAA,cAAc,kBAAA,CAAA,EACF/B"}
@@ -0,0 +1,43 @@
1
+ import { e as p } from "./provide-kj6-udep.js";
2
+ import "rxjs";
3
+ import "lit/directives/class-map.js";
4
+ import "lit/directives/style-map.js";
5
+ import { T as c } from "./tailwind.mixin-DtR4DQvn.js";
6
+ import { css as d, html as u } from "lit";
7
+ import { property as n, customElement as f } from "lit/decorators.js";
8
+ import { S as y } from "./context-5nmahssp.js";
9
+ var g = Object.defineProperty, m = Object.getOwnPropertyDescriptor, i = (o, e, r, a) => {
10
+ for (var h, t = a > 1 ? void 0 : a ? m(e, r) : e, l = o.length - 1; l >= 0; l--) (h = o[l]) && (t = (a ? h(e, r, t) : h(t)) || t);
11
+ return a && t && g(e, r, t), t;
12
+ };
13
+ let s = class extends c(d`
14
+ :host {
15
+ display: block;
16
+ }
17
+ :host([fill]) {
18
+ height: -webkit-fill-available;
19
+ width: -webkit-fill-available;
20
+ }
21
+ `) {
22
+ constructor() {
23
+ super(...arguments), this.fill = !1, this.rounded = "none", this.type = "surface", this.elevation = 0;
24
+ }
25
+ get classes() {
26
+ return { "relative inset-0 block sha": !0, "rounded-none": this.rounded === "none", "rounded-t-[8px]": this.rounded === "top", "rounded-l-[8px]": this.rounded === "left", "rounded-r-[8px]": this.rounded === "right", "rounded-b-[8px]": this.rounded === "bottom", "rounded-[8px]": this.rounded === "all", "w-full h-full": this.fill, "shadow-xs": this.elevation === 1, "shadow-sm": this.elevation === 2, "shadow-md": this.elevation === 3, "shadow-lg": this.elevation === 4, "text-surface-on": this.type === "surface" || this.type === "surfaceDim" || this.type === "surfaceBright" || this.type === "containerLowest" || this.type === "containerLow" || this.type === "container" || this.type === "containerHigh" || this.type === "containerHighest", "bg-surface-default": this.type === "surface", "bg-surface-dim": this.type === "surfaceDim", "bg-surface-bright": this.type === "surfaceBright", "bg-surface-lowest": this.type === "containerLowest", "bg-surface-low": this.type === "containerLow", "bg-surface-container": this.type === "container", "bg-surface-high": this.type === "containerHigh", "bg-surface-highest": this.type === "containerHighest" };
27
+ }
28
+ updated() {
29
+ Object.entries(this.classes).forEach(([o, e]) => {
30
+ o.split(" ").forEach((r) => {
31
+ this.classList.toggle(r, e);
32
+ });
33
+ });
34
+ }
35
+ render() {
36
+ return u` <slot></slot> `;
37
+ }
38
+ };
39
+ i([n({ type: Boolean })], s.prototype, "fill", 2), i([n()], s.prototype, "rounded", 2), i([p({ context: y }), n()], s.prototype, "type", 2), i([n({ type: Number })], s.prototype, "elevation", 2), s = i([f("schmancy-surface")], s);
40
+ export {
41
+ s as S
42
+ };
43
+ //# sourceMappingURL=surface-DdbqvBbW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-DdbqvBbW.js","sources":["../src/surface/surface.ts"],"sourcesContent":["import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancySurfaceTypeContext } from './context'\n\n/**\n * @element schmancy-surface\n * @slot - default content\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([fill]) {\n\t\theight: -webkit-fill-available;\n\t\twidth: -webkit-fill-available;\n\t}\n`) {\n\t@property({ type: Boolean }) fill = false\n\t@property() rounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property()\n\ttype:\n\t\t| 'surface'\n\t\t| 'surfaceDim'\n\t\t| 'surfaceBright'\n\t\t| 'containerLowest'\n\t\t| 'containerLow'\n\t\t| 'container'\n\t\t| 'containerHigh'\n\t\t| 'containerHighest' = 'surface'\n\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tget classes(): Record<string, boolean> {\n\t\treturn {\n\t\t\t'relative inset-0 block sha': true,\n\t\t\t'rounded-none': this.rounded === 'none',\n\t\t\t'rounded-t-[8px]': this.rounded === 'top',\n\t\t\t'rounded-l-[8px]': this.rounded === 'left',\n\t\t\t'rounded-r-[8px]': this.rounded === 'right',\n\t\t\t'rounded-b-[8px]': this.rounded === 'bottom',\n\t\t\t'rounded-[8px]': this.rounded === 'all',\n\n\t\t\t'w-full h-full': this.fill,\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'text-surface-on':\n\t\t\t\tthis.type === 'surface' ||\n\t\t\t\tthis.type === 'surfaceDim' ||\n\t\t\t\tthis.type === 'surfaceBright' ||\n\t\t\t\tthis.type === 'containerLowest' ||\n\t\t\t\tthis.type === 'containerLow' ||\n\t\t\t\tthis.type === 'container' ||\n\t\t\t\tthis.type === 'containerHigh' ||\n\t\t\t\tthis.type === 'containerHighest',\n\t\t\t'bg-surface-default': this.type === 'surface',\n\t\t\t'bg-surface-dim': this.type === 'surfaceDim',\n\t\t\t'bg-surface-bright': this.type === 'surfaceBright',\n\t\t\t'bg-surface-lowest': this.type === 'containerLowest',\n\t\t\t'bg-surface-low': this.type === 'containerLow',\n\t\t\t'bg-surface-container': this.type === 'container',\n\t\t\t'bg-surface-high': this.type === 'containerHigh',\n\t\t\t'bg-surface-highest': this.type === 'containerHighest',\n\t\t}\n\t}\n\n\tupdated() {\n\t\t// Loop over the computed classes and toggle each class on the host element.\n\t\tObject.entries(this.classes).forEach(([cls, condition]) => {\n\t\t\t// In case you have multiple classes in one string (like 'relative inset-0 block sha'),\n\t\t\t// split them and toggle each one.\n\t\t\tcls.split(' ').forEach(singleClass => {\n\t\t\t\tthis.classList.toggle(singleClass, condition)\n\t\t\t})\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\t// Now, no extra <div> is needed because classes are on the host element.\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}\n"],"names":["SchmancySurface","TailwindElement","css","constructor","super","arguments","this","fill","rounded","type","elevation","updated","Object","entries","classes","forEach","cls","condition","split","singleClass","classList","toggle","html","__decorateClass","property","Boolean","prototype","provide","context","SchmancySurfaceTypeContext","Number","customElement"],"mappings":";;;;;;;;;;;;AAWa,IAAAA,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA9C,cAAAC;AAAAC,aAAAC,SAS8BC,GAAAA,KAAAC,WACwCD,KAAAE,UAAA,QAYpDF,KAAAG,OAAA,WAEuCH,KAAAI,YAAA;AAAA,EAAA;AAAA,EAE/D,cACQ;AAAA,WAAA,EACN,8BAA8B,IAC9B,gBAAgBJ,KAAKE,YAAY,QACjC,mBAAmBF,KAAKE,YAAY,OACpC,mBAAmBF,KAAKE,YAAY,QACpC,mBAAmBF,KAAKE,YAAY,SACpC,mBAAmBF,KAAKE,YAAY,UACpC,iBAAiBF,KAAKE,YAAY,OAElC,iBAAiBF,KAAKC,MACtB,aAAaD,KAAKI,cAAc,GAChC,aAAaJ,KAAKI,cAAc,GAChC,aAAaJ,KAAKI,cAAc,GAChC,aAAaJ,KAAKI,cAAc,GAChC,mBACCJ,KAAKG,SAAS,aACdH,KAAKG,SAAS,gBACdH,KAAKG,SAAS,mBACdH,KAAKG,SAAS,qBACdH,KAAKG,SAAS,kBACdH,KAAKG,SAAS,eACdH,KAAKG,SAAS,mBACdH,KAAKG,SAAS,oBACf,sBAAsBH,KAAKG,SAAS,WACpC,kBAAkBH,KAAKG,SAAS,cAChC,qBAAqBH,KAAKG,SAAS,iBACnC,qBAAqBH,KAAKG,SAAS,mBACnC,kBAAkBH,KAAKG,SAAS,gBAChC,wBAAwBH,KAAKG,SAAS,aACtC,mBAAmBH,KAAKG,SAAS,iBACjC,sBAAsBH,KAAKG,SAAS,mBAATA;AAAAA,EAC5B;AAAA,EAGD,UAAAE;AAEQC,WAAAC,QAAQP,KAAKQ,SAASC,QAAQ,CAAA,CAAEC,GAAKC,CAG3CD,MAAAA;AAAAA,MAAAA,EAAIE,MAAM,GAAKH,EAAAA,QAAuBI,CAAAA;AAChCb,aAAAc,UAAUC,OAAOF,GAAaF,CAAAA;AAAAA,MAAS,CAC5C;AAAA,IAAA,CAAA;AAAA,EACD;AAAA,EAGQ;AAEF,WAAAK;AAAAA,EAAA;AAjEqBC;AAAAA,EAAA,CAA5BC,EAAS,EAAEf,MAAMgB,QATNzB,CAAAA,CAAAA,GAAAA,EASiB0B,WAAA,QAAA,CAAA,GACjBH,EAAA,CAAXC,EAAAA,CAAAA,GAVWxB,EAUA0B,WAAA,WAAA,CAIZH,GAAAA,EAAA,CAFCI,EAAQ,EAAEC,SAASC,EAAAA,CAAAA,GACnBL,MAbWxB,EAcZ0B,WAAA,QAAA,CAU4BH,GAAAA,EAAA,CAA3BC,EAAS,EAAEf,MAAMqB,OAxBN9B,CAAAA,CAAAA,GAAAA,EAwBgB0B,WAAA,aAAA,CAAA,GAxBhB1B,IAANuB,EAAA,CADNQ,EAAc,kBAAA,CAAA,GACF/B;"}
package/dist/surface.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-DKrkxarv.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-BzSJT7y7.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface});
2
2
  //# sourceMappingURL=surface.cjs.map
package/dist/surface.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as r } from "./surface-DlwQilPV.js";
1
+ import { S as r } from "./surface-DdbqvBbW.js";
2
2
  export {
3
3
  r as SchmancySurface
4
4
  };
@@ -1,7 +1,7 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as m } from "./tailwind.mixin-wwBoa4Jw.js";
4
+ import { T as m } from "./tailwind.mixin-DtR4DQvn.js";
5
5
  import { html as p } from "lit";
6
6
  import { customElement as c } from "lit/decorators.js";
7
7
  var i = Object.defineProperty, f = Object.getOwnPropertyDescriptor;
@@ -18,4 +18,4 @@ a = ((l, e, r, o) => {
18
18
  for (var s, t = o > 1 ? void 0 : o ? f(e, r) : e, n = l.length - 1; n >= 0; n--) (s = l[n]) && (t = (o ? s(e, r, t) : s(t)) || t);
19
19
  return o && t && i(e, r, t), t;
20
20
  })([c("schmancy-table")], a);
21
- //# sourceMappingURL=table-Ds0ivk4n.js.map
21
+ //# sourceMappingURL=table-6bRKgCJ9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-Ds0ivk4n.js","sources":["../src/table/table.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-table')\nexport default class SchmancyTable extends TailwindElement() {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<slot name=\"header\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"footer\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table': SchmancyTable\n\t}\n}\n"],"names":["SchmancyTable","TailwindElement","html","customElement"],"mappings":";;;;;;;AAKA,IAAqBA,IAArB,cAA2CC,EAChC,EAAA;AAAA,EAAA,SACF;AAAA,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAFYF;AAAAA;;;GAArB,CADCG,EAAc,gBACMH,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"table-6bRKgCJ9.js","sources":["../src/table/table.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-table')\nexport default class SchmancyTable extends TailwindElement() {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<slot name=\"header\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"footer\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table': SchmancyTable\n\t}\n}\n"],"names":["SchmancyTable","TailwindElement","html","customElement"],"mappings":";;;;;;;AAKA,IAAqBA,IAArB,cAA2CC,EAChC,EAAA;AAAA,EAAA,SACF;AAAA,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAFYF;AAAAA;;;GAArB,CADCG,EAAc,gBACMH,CAAAA,GAAAA,CAAAA;"}
@@ -1,6 +1,6 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("./tailwind.mixin-mhYVlkxs.cjs"),a=require("lit"),c=require("lit/decorators.js");var m=Object.defineProperty,d=Object.getOwnPropertyDescriptor;let u=class extends o.TailwindElement(){render(){return a.html`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("./tailwind.mixin-_mD_GeAp.cjs"),a=require("lit"),c=require("lit/decorators.js");var m=Object.defineProperty,d=Object.getOwnPropertyDescriptor;let u=class extends o.TailwindElement(){render(){return a.html`
2
2
  <slot name="header"></slot>
3
3
  <slot></slot>
4
4
  <slot name="footer"></slot>
5
5
  `}};u=((l,r,s,t)=>{for(var n,e=t>1?void 0:t?d(r,s):r,i=l.length-1;i>=0;i--)(n=l[i])&&(e=(t?n(r,s,e):n(e))||e);return t&&e&&m(r,s,e),e})([c.customElement("schmancy-table")],u);
6
- //# sourceMappingURL=table-BmyyQrx8.cjs.map
6
+ //# sourceMappingURL=table-BDIhXdSA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-BmyyQrx8.cjs","sources":["../src/table/table.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-table')\nexport default class SchmancyTable extends TailwindElement() {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<slot name=\"header\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"footer\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table': SchmancyTable\n\t}\n}\n"],"names":["SchmancyTable","TailwindElement","html","customElement"],"mappings":"0QAKA,IAAqBA,EAArB,cAA2CC,EAAAA,gBAChC,CAAA,CAAA,QACF,CAAA,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAA,CAFYF,EAAAA,oIAArB,CADCG,EAAAA,cAAc,gBACMH,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"table-BDIhXdSA.cjs","sources":["../src/table/table.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-table')\nexport default class SchmancyTable extends TailwindElement() {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<slot name=\"header\"></slot>\n\t\t\t<slot></slot>\n\t\t\t<slot name=\"footer\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-table': SchmancyTable\n\t}\n}\n"],"names":["SchmancyTable","TailwindElement","html","customElement"],"mappings":"0QAKA,IAAqBA,EAArB,cAA2CC,EAAAA,gBAChC,CAAA,CAAA,QACF,CAAA,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAA,CAFYF,EAAAA,oIAArB,CADCG,EAAAA,cAAc,gBACMH,CAAAA,EAAAA,CAAAA"}
package/dist/table.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./table-BmyyQrx8.cjs");
1
+ "use strict";require("./table-BDIhXdSA.cjs");
2
2
  //# sourceMappingURL=table.cjs.map
package/dist/table.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./table-Ds0ivk4n.js";
1
+ import "./table-6bRKgCJ9.js";
2
2
  //# sourceMappingURL=table.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const v=require("./consume-Di0U0iBU.cjs"),l=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-mhYVlkxs.cjs"),b=require("lit"),i=require("lit/decorators.js"),y=require("./provide-_VUNOf1R.cjs"),g=require("lit/directives/repeat.js"),m=y.n("tabs");var f=Object.defineProperty,E=Object.getOwnPropertyDescriptor,d=(t,a,e,s)=>{for(var c,r=s>1?void 0:s?E(a,e):a,h=t.length-1;h>=0;h--)(c=t[h])&&(r=(s?c(a,e,r):c(r))||r);return s&&r&&f(a,e,r),r};let p=class extends u.TailwindElement(b.css`
1
+ "use strict";const v=require("./consume-Di0U0iBU.cjs"),l=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-_mD_GeAp.cjs"),b=require("lit"),i=require("lit/decorators.js"),y=require("./provide-_VUNOf1R.cjs"),g=require("lit/directives/repeat.js"),m=y.n("tabs");var f=Object.defineProperty,E=Object.getOwnPropertyDescriptor,d=(t,a,e,s)=>{for(var c,r=s>1?void 0:s?E(a,e):a,h=t.length-1;h>=0;h--)(c=t[h])&&(r=(s?c(a,e,r):c(r))||r);return s&&r&&f(a,e,r),r};let p=class extends u.TailwindElement(b.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -33,4 +33,4 @@
33
33
  <slot @slotchange=${()=>this.hydrateTabs()}></slot>
34
34
  </section>
35
35
  `}};n([y.e({context:m}),i.property({type:String})],o.prototype,"mode",2),n([i.property({type:Boolean})],o.prototype,"rounded",2),n([i.property({type:String,reflect:!0})],o.prototype,"activeTab",2),n([i.queryAssignedElements({flatten:!0})],o.prototype,"tabsElements",2),n([i.query("#tabsNavigation")],o.prototype,"navElement",2),n([i.query("#tabsContent")],o.prototype,"tabsContent",2),n([i.state()],o.prototype,"tabs",2),o=n([i.customElement("schmancy-tab-group")],o);
36
- //# sourceMappingURL=tabs-group-2sFsKJxb.cjs.map
36
+ //# sourceMappingURL=tabs-group-CHAAr7Wl.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-group-2sFsKJxb.cjs","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-gray-700': true,\n\t\t\t'hover:border-gray-300': true,\n\t\t\t'text-gray-500': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<schmancy-divider class=\"px-6\"></schmancy-divider>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","render","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query"],"mappings":"kUAIaA,EAA0BC,IAAiC,wMCGxE,IAAqBC,EAArB,cAAyCC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAY9C,CAAA,CAAA,QACT,CAAA,OAAOC,wBAAsBC,KAAKC,OAAS,QAATA,CAAmBD,KAAKE,MAAAA,WAAc,CAR9BC,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EALfX,EAKuBY,UAAA,QAAA,CAAA,EACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EANfX,EAMuBY,UAAA,QAAA,CAAA,EACCL,EAAA,CAA3CC,EAAAA,SAAS,CAAEC,KAAMI,QAASF,QAAAA,MAPPX,EAOwBY,UAAA,SAAA,CAAA,EAI5CL,EAAA,CAFCO,EAAAA,EAAQ,CAAEC,QAASjB,EAAyBkB,UAAAA,EAC5CC,CAAAA,EAAAA,EAAMA,MAVajB,CAAAA,EAAAA,EAWpBY,UAAA,OAAA,CAAA,EAXoBZ,EAArBO,EAAA,CADCW,EAAAA,cAAc,cAAA,CAAA,EACMlB,mMCOrB,IAAqBmB,EAArB,cAA8ClB,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA9D,aAAAkB,CAAAC,MAAAC,GAAAA,SAAAA,EAO2BlB,KAAAC,KAAA,OAEaD,KAAAmB,QAAA,GAYvCnB,KAAQoB,KAA2B,CAAC,CAAA,CAEpC,mBAAAC,CACCJ,MAAMI,kBAAAA,EACIC,YAAAC,OAAQ,QAAA,EAChBC,KACAC,EAAAA,aAAa,GAAA,EACbC,EAAAA,OAAO,IAAM1B,KAAKC,OAAS,QAATA,EAClB0B,EAAAA,IAAI,IACH,CAAA,IAAIC,EAAa,KACbC,EAAkBC,IAUf,OATF9B,KAAA+B,aAAaC,QAAeC,GAC1B,CAAA,MAAAC,EACLD,EAAIE,sBAAwBC,EAAAA,IAAMpC,KAAKqC,WAAWC,aAAeC,SAASC,KAAKC,aAAe,EAE3FP,EAAWL,GAAmBK,EAAW,IAC1BL,EAAAK,EACLN,EAAAK,EAAA,CAGRL,EAAAA,CAAA,CAERF,EAAAA,SAAQgB,GAA2BA,IAAO,IAAPA,CAAAA,EAEnC9B,UAAU,CACV+B,KAAOD,GAAAA,CACN1C,KAAK4C,UAAYF,EAAGG,KAAA,CAErB,CAAA,CAAA,CAGH,cAAAC,CACCC,EAAAA,SAAS,CACPvB,EAAAA,KACAE,EAAAA,OAAO,IAAQ1B,CAAAA,CAAAA,KAAKqC,WAAWC,YAAAA,EAC/BU,EAAAA,KAAK,CAELpC,CAAAA,EAAAA,UAAU,IACLZ,CAAAA,KAAA+B,aAAaC,QAAeiB,GACd,CAAdjD,KAAKC,OAAS,WAAUgD,EAAIC,MAAMC,WAAanD,KAAKqC,WAAWC,aAAe,KAAA,CAAA,CAClF,CACD,CAAA,CAGH,aAAAc,OACCpD,KAAKoB,KAAOpB,KAAK+B,aAAAA,CACZ/B,KAAK4C,WAAa5C,KAAK+B,aAAa,CAAA,GACxC/B,KAAK4C,UAAY5C,KAAK+B,aAAa,CAAGc,EAAAA,MACjC7C,KAAA+B,aAAa,CAAG7B,EAAAA,OAAAA,IAEhBF,KAAA+B,aAAaC,QAAeiB,GAC5BA,CAAAA,EAAIJ,QAAU7C,KAAK4C,YAAe1C,OAAS,KACtCA,OAAAA,EAAS,CAAA,EAGd,MAAAmD,GAAUrD,EAAAA,KAAKoB,OAALpB,YAAAA,EAAKoB,IACjBiC,IACKA,EAAAH,MAAMI,cAAgBD,EAAQZ,aAAe,KACtD,CAGD,WAAWc,EAAAA,CACN,IAAAC,EACCxD,KAAA+B,aAAaC,QAAeiB,GAAAA,CAC5BA,EAAIJ,QAAUU,EAAYV,OAC7BI,EAAI/C,OAAAA,GACesD,EAAAP,EAEfjD,KAAKC,OAAS,UAEjBuD,EAAiBC,eAAe,CAC/BC,SAAU,SACVC,MAAO,QACPC,OAAQ,OAIVX,CAAAA,GAAAA,EAAI/C,OAAS,EAAA,CAGD,EAAdF,KAAKC,OAAS,SAAWD,KAAK4C,UAAYW,EAAYV,OACjD7C,KAAA6D,cAAc,IAAIC,YAAY,cAAe,CAAEC,OAAQ/D,KAAK4C,SAAY,CAAA,CAAA,CAAA,CAGpE,QAAAoB,CACT,MAAM5C,EAAO,CACZ,sCAAA,GACA,YAAA,GACA,yBAA0BpB,KAAKC,OAAS,SACxC,eAAgBD,KAAKmB,OAAAA,EAGhByB,EAAY,CACjB,uBAAwB,EAAA,EAGnBqB,EAAc,CACnB,qBAAsB,GACtB,sBAAuB,GACvB,wBAAyB,GACzB,gBAAiB,EAAA,EAGX,OAAAlE,EAAAA;AAAAA,yCACgCC,KAAKkE,SAAS9C,CAAAA,CAAAA;AAAAA,MACjD+C,EAAAA,OACDnE,KAAKoB,QACE6B,EAAIJ,MACJI,GAAAlD,EAAAA;AAAAA;AAAAA,gBAEI,IACRC,CAAAA,KAAKoE,WAAW,CACfC,MAAOpB,EAAIoB,MACXxB,MAAOI,EAAIJ,KACX,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMkB7C,KAAK4C,YAAcK,EAAIJ,MACvC7C,KAAKkE,SAAStB,CAAAA,EACd5C,KAAKkE,SAASD,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,WAGdhB,EAAIoB,KAAAA;AAAAA;AAAAA;AAAAA,mBAGIrE,KAAK4C,YAAcK,EAAIJ,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;wBAUlB,IAAM7C,KAAKoD,YAAAA,CAAAA;AAAAA;AAAAA,GAAa,CAAA,EAxJ/CjD,EAAA,CAFCmE,IAAQ,CAAE3D,QAASjB,CACnBU,CAAAA,EAAAA,WAAS,CAAEC,KAAMC,MANES,CAAAA,CAAAA,EAAAA,EAOpBP,UAAA,OAAA,CAAA,EAE6BL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,OATEM,CAAAA,CAAAA,EAAAA,EASSP,UAAA,UAAA,CAAA,EAEcL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,MAXNQ,EAWuBP,UAAA,YAAA,CAInCL,EAAAA,EAAA,CAHPoE,wBAAsB,CACtBC,QAAAA,EAbmBzD,CAAAA,CAAAA,EAAAA,EAeZP,UAAA,eAAA,CAAA,EAEkBL,EAAA,CAAzBsE,EAAAA,MAAM,iBAAA,CAAA,EAjBa1D,EAiBMP,UAAA,aAAA,GACHL,EAAA,CAAtBsE,EAAAA,MAAM,iBAlBa1D,EAkBGP,UAAA,cAAA,CAGfL,EAAAA,EAAA,CADPU,EAAMA,MAAAA,CAAAA,EApBaE,EAqBZP,UAAA,OAAA,CArBYO,EAAAA,EAArBZ,EAAA,CADCW,EAAAA,cAAc,oBACMC,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"tabs-group-CHAAr7Wl.cjs","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-gray-700': true,\n\t\t\t'hover:border-gray-300': true,\n\t\t\t'text-gray-500': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<schmancy-divider class=\"px-6\"></schmancy-divider>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","render","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { c as E } from "./consume-DSKPc5vj.js";
2
2
  import { fromEvent as x, throttleTime as T, filter as d, map as k, interval as C, take as w } from "rxjs";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
- import { T as v } from "./tailwind.mixin-wwBoa4Jw.js";
5
+ import { T as v } from "./tailwind.mixin-DtR4DQvn.js";
6
6
  import { css as u, html as b } from "lit";
7
7
  import { property as h, state as y, customElement as f, queryAssignedElements as $, query as m } from "lit/decorators.js";
8
8
  import { n as O, e as j } from "./provide-kj6-udep.js";
@@ -100,4 +100,4 @@ let r = class extends v(u`
100
100
  }
101
101
  };
102
102
  i([j({ context: g }), h({ type: String })], r.prototype, "mode", 2), i([h({ type: Boolean })], r.prototype, "rounded", 2), i([h({ type: String, reflect: !0 })], r.prototype, "activeTab", 2), i([$({ flatten: !0 })], r.prototype, "tabsElements", 2), i([m("#tabsNavigation")], r.prototype, "navElement", 2), i([m("#tabsContent")], r.prototype, "tabsContent", 2), i([y()], r.prototype, "tabs", 2), r = i([f("schmancy-tab-group")], r);
103
- //# sourceMappingURL=tabs-group-OdIAitHN.js.map
103
+ //# sourceMappingURL=tabs-group-DBybIi8n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-group-OdIAitHN.js","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-gray-700': true,\n\t\t\t'hover:border-gray-300': true,\n\t\t\t'text-gray-500': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<schmancy-divider class=\"px-6\"></schmancy-divider>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query"],"mappings":"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"}
1
+ {"version":3,"file":"tabs-group-DBybIi8n.js","sources":["../src/tabs/context.ts","../src/tabs/tab.ts","../src/tabs/tabs-group.ts"],"sourcesContent":["import { createContext } from '@lit/context'\n\nexport type TSchmancyTabsMode = 'scroll' | 'tabs'\n\nexport const SchmancyTabsModeContext = createContext<TSchmancyTabsMode>('tabs')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTabsModeContext } from './context'\n\n@customElement('schmancy-tab')\nexport default class SchmancyTab extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@property({ type: String, reflect: true }) label\n\t@property({ type: String, reflect: true }) value\n\t@property({ type: Boolean, reflect: true }) active!: boolean\n\n\t@consume({ context: SchmancyTabsModeContext, subscribe: true })\n\t@state()\n\tmode\n\tprotected render(): unknown {\n\t\treturn html` <slot .hidden=${this.mode === 'tabs' ? !this.active : false}></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab': SchmancyTab\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { filter, fromEvent, interval, map, take, throttleTime } from 'rxjs'\nimport { SchmancyTabsModeContext, TSchmancyTabsMode } from './context'\nimport SchmancyTab from './tab'\n\n/**\n * @slot - The content of the tab group\n * @fires tab-changed - The event fired when the tab is changed\n */\n@customElement('schmancy-tab-group')\nexport default class SchmancyTabGroup extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t@provide({ context: SchmancyTabsModeContext })\n\t@property({ type: String })\n\tmode: TSchmancyTabsMode = 'tabs'\n\n\t@property({ type: Boolean }) rounded = true\n\n\t@property({ type: String, reflect: true }) activeTab: string\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate tabsElements!: Array<SchmancyTab>\n\n\t@query('#tabsNavigation') navElement!: HTMLElement\n\t@query('#tabsContent') tabsContent!: HTMLElement\n\n\t@state()\n\tprivate tabs: Array<SchmancyTab> = []\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(window, 'scroll')\n\t\t\t.pipe(\n\t\t\t\tthrottleTime(1000),\n\t\t\t\tfilter(() => this.mode === 'scroll'),\n\t\t\t\tmap(() => {\n\t\t\t\t\tlet closestDiv = null\n\t\t\t\t\tlet closestDistance = Infinity\n\t\t\t\t\tthis.tabsElements.forEach(div => {\n\t\t\t\t\t\tconst distance =\n\t\t\t\t\t\t\tdiv.getBoundingClientRect().top - this.navElement.clientHeight + document.body.offsetHeight / 3\n\n\t\t\t\t\t\tif (distance < closestDistance && distance > 0) {\n\t\t\t\t\t\t\tclosestDistance = distance\n\t\t\t\t\t\t\tclosestDiv = div\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn closestDiv\n\t\t\t\t}),\n\t\t\t\tfilter((el: SchmancyTab | null) => el !== null),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (el: SchmancyTab) => {\n\t\t\t\t\tthis.activeTab = el.value\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tfirstUpdated() {\n\t\tinterval(0)\n\t\t\t.pipe(\n\t\t\t\tfilter(() => !!this.navElement.clientHeight),\n\t\t\t\ttake(1),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\t\tif (this.mode === 'scroll') tab.style.paddingTop = this.navElement.clientHeight + 'px'\n\t\t\t\t})\n\t\t\t})\n\t}\n\n\thydrateTabs() {\n\t\tthis.tabs = this.tabsElements\n\t\tif (!this.activeTab && this.tabsElements[0]) {\n\t\t\tthis.activeTab = this.tabsElements[0].value\n\t\t\tthis.tabsElements[0].active = true\n\t\t} else {\n\t\t\tthis.tabsElements.forEach(tab => {\n\t\t\t\tif (tab.value === this.activeTab) tab.active = true\n\t\t\t\telse tab.active = false\n\t\t\t})\n\t\t}\n\t\tconst lastTab = this.tabs?.[-1]\n\t\tif (lastTab) {\n\t\t\tlastTab.style.paddingBottom = lastTab.offsetHeight + 'px'\n\t\t}\n\t}\n\n\ttabChanged(selectedTab: { label: string; value: string }) {\n\t\tlet activeTabElement: SchmancyTab | undefined\n\t\tthis.tabsElements.forEach(tab => {\n\t\t\tif (tab.value === selectedTab.value) {\n\t\t\t\ttab.active = true\n\t\t\t\tactiveTabElement = tab\n\t\t\t\t// scroll to the tab\n\t\t\t\tif (this.mode === 'scroll') {\n\t\t\t\t\t// Scroll the desired element into view\n\t\t\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'start',\n\t\t\t\t\t\tinline: 'start',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttab.active = false\n\t\t\t}\n\t\t})\n\t\tthis.mode === 'tabs' && (this.activeTab = selectedTab.value)\n\t\tthis.dispatchEvent(new CustomEvent('tab-changed', { detail: this.activeTab }))\n\t}\n\n\tprotected render(): unknown {\n\t\tconst tabs = {\n\t\t\t'bg-surface-default color-surface-on': true,\n\t\t\t'flex z-50': true,\n\t\t\t'sticky top-0 shadow-md': this.mode === 'scroll',\n\t\t\t'rounded-full': this.rounded,\n\t\t}\n\n\t\tconst activeTab = {\n\t\t\t'text-primary-default': true,\n\t\t}\n\n\t\tconst inactiveTab = {\n\t\t\t'border-transparent': true,\n\t\t\t'hover:text-gray-700': true,\n\t\t\t'hover:border-gray-300': true,\n\t\t\t'text-gray-500': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"tabsNavigation\" class=\"${this.classMap(tabs)}\" aria-label=\"Tabs\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.tabs,\n\t\t\t\t\ttab => tab.value,\n\t\t\t\t\ttab => html`\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.tabChanged({\n\t\t\t\t\t\t\t\t\tlabel: tab.label,\n\t\t\t\t\t\t\t\t\tvalue: tab.value,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-current=\"page\"\n\t\t\t\t\t\t\tclass=\"h-auto relative\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"px-4 py-3 ${this.activeTab === tab.value\n\t\t\t\t\t\t\t\t\t? this.classMap(activeTab)\n\t\t\t\t\t\t\t\t\t: this.classMap(inactiveTab)}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-typography class=\"h-full align-middle flex \" type=\"title\" token=\"md\" weight=\"medium\">\n\t\t\t\t\t\t\t\t\t${tab.label}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t.hidden=${this.activeTab !== tab.value}\n\t\t\t\t\t\t\t\t\tclass=\"border-primary-default absolute bottom-0 inset-x-6 border-solid border-2 rounded-t-full\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t\t<schmancy-divider class=\"px-6\"></schmancy-divider>\n\t\t\t<section id=\"tabsContent\">\n\t\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-tab-group': SchmancyTabGroup\n\t}\n}\n"],"names":["SchmancyTabsModeContext","createContext","SchmancyTab","TailwindElement","css","render","html","this","mode","active","__decorateClass","property","type","String","reflect","prototype","Boolean","consume","context","subscribe","state","customElement","SchmancyTabGroup","constructor","super","arguments","rounded","tabs","connectedCallback","fromEvent","window","pipe","throttleTime","filter","map","closestDiv","closestDistance","Infinity","tabsElements","forEach","div","distance","getBoundingClientRect","top","navElement","clientHeight","document","body","offsetHeight","el","next","activeTab","value","firstUpdated","interval","take","tab","style","paddingTop","hydrateTabs","lastTab","paddingBottom","selectedTab","activeTabElement","scrollIntoView","behavior","block","inline","dispatchEvent","CustomEvent","detail","inactiveTab","classMap","repeat","tabChanged","label","provide","queryAssignedElements","flatten","query"],"mappings":";;;;;;;;;AAIa,MAAAA,IAA0BC,EAAiC;;;;;ACGxE,IAAqBC,IAArB,cAAyCC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;EAY9C,SAAAC;AACT,WAAOC,mBAAsBC,KAAKC,SAAS,UAATA,CAAmBD,KAAKE,MAAAA;AAAAA,EAAc;AAR9BC;AAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GALNZ,CAAAA,CAAAA,GAAAA,EAKuBa,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GANNZ,CAAAA,CAAAA,GAAAA,EAMuBa,WAAA,SAAA,CACCL,GAAAA,EAAA,CAA3CC,EAAS,EAAEC,MAAMI,SAASF,SAAAA,GAPPZ,CAAAA,CAAAA,GAAAA,EAOwBa,WAAA,UAAA,CAI5CL,GAAAA,EAAA,CAFCO,EAAQ,EAAEC,SAASlB,GAAyBmB,WAAAA,GAC5CC,CAAAA,GAAAA,EAAAA,CAAAA,GAVmBlB,EAWpBa,WAAA,QAAA,CAAA,GAXoBb,IAArBQ,EAAA,CADCW,EAAc,cAAA,CAAA,GACMnB;;;;;ACOrB,IAAqBoB,IAArB,cAA8CnB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;EAA9D,cAAAmB;AAAAC,UAAAC,GAAAA,SAAAA,GAO2BlB,KAAAC,OAAA,QAEaD,KAAAmB,UAAA,IAYvCnB,KAAQoB,OAA2B,CAAC;AAAA,EAAA;AAAA,EAEpC,oBACCH;AAAAA,UAAMI,kBACIC,GAAAA,EAAAC,QAAQ,QAAA,EAChBC,KACAC,EAAa,GACbC,GAAAA,EAAO,MAAM1B,KAAKC,SAAS,QAATA,GAClB0B,EAAI,MACH;AAAA,UAAIC,IAAa,MACbC,IAAkBC;AAUf,aATF9B,KAAA+B,aAAaC,QAAeC,OAC1B;AAAA,cAAAC,IACLD,EAAIE,sBAAwBC,EAAAA,MAAMpC,KAAKqC,WAAWC,eAAeC,SAASC,KAAKC,eAAe;AAE3FP,QAAAA,IAAWL,KAAmBK,IAAW,MAC1BL,IAAAK,GACLN,IAAAK;AAAAA,MAAA,CAGRL,GAAAA;AAAAA,IAAA,CAERF,GAAAA,EAAQgB,OAA2BA,MAAO,IAE1C9B,CAAAA,EAAAA,UAAU,EACV+B,MAAOD,OACN1C;AAAAA,WAAK4C,YAAYF,EAAGG;AAAAA,IAAA,EAErB,CAAA;AAAA,EAAA;AAAA,EAGH,eAAAC;AACCC,IAAAA,EAAS,CAAA,EACPvB,KACAE,EAAO,MAAQ1B,CAAAA,CAAAA,KAAKqC,WAAWC,YAAAA,GAC/BU,EAAK,CAAA,CAAA,EAELpC,UAAU,MACLZ;AAAAA,WAAA+B,aAAaC,QAAeiB,OACd;AAAA,QAAdjD,KAAKC,SAAS,aAAUgD,EAAIC,MAAMC,aAAanD,KAAKqC,WAAWC,eAAe;AAAA,MAAA,CAAA;AAAA,IAClF,CACD;AAAA,EAAA;AAAA,EAGH,cAAAc;;AACCpD,SAAKoB,OAAOpB,KAAK+B,cAAAA,CACZ/B,KAAK4C,aAAa5C,KAAK+B,aAAa,CACxC/B,KAAAA,KAAK4C,YAAY5C,KAAK+B,aAAa,CAAGc,EAAAA,OACjC7C,KAAA+B,aAAa,CAAG7B,EAAAA,SAAAA,MAEhBF,KAAA+B,aAAaC,QAAeiB,CAAAA,MAC5BA;AAAAA,MAAAA,EAAIJ,UAAU7C,KAAK4C,cAAe1C,SAAAA,OAC7BA,SAAS;AAAA,IAAA,CAGd;AAAA,UAAAmD,KAAUrD,IAAAA,KAAKoB,SAALpB,gBAAAA;AACZqD,UACKA,EAAAH,MAAMI,gBAAgBD,EAAQZ,eAAe;AAAA,EACtD;AAAA,EAGD,WAAWc,GAAAA;AACN,QAAAC;AACCxD,SAAA+B,aAAaC,QAAeiB,OAAAA;AAC5BA,QAAIJ,UAAUU,EAAYV,SAC7BI,EAAI/C,SAAAA,IACesD,IAAAP,GAEfjD,KAAKC,SAAS,YAEjBuD,EAAiBC,eAAe,EAC/BC,UAAU,UACVC,OAAO,SACPC,QAAQ,QAAA,CAAA,KAIVX,EAAI/C,SAAAA;AAAAA,IAAS,CAAA,GAGfF,KAAKC,SAAS,WAAWD,KAAK4C,YAAYW,EAAYV,QACjD7C,KAAA6D,cAAc,IAAIC,YAAY,eAAe,EAAEC,QAAQ/D,KAAK4C,UAAY,CAAA,CAAA;AAAA,EAAA;AAAA,EAGpE,SAAA9C;AACT,UAAMsB,IAAO,EACZ,uCAAuC,IACvC,aAAa,IACb,0BAA0BpB,KAAKC,SAAS,UACxC,gBAAgBD,KAAKmB,QAGhByB,GAAAA,IAAY,EACjB,wBAAA,GAGKoB,GAAAA,IAAc,EACnB,sBAAA,IACA,uBAAA,IACA,yBAAA,IACA,iBAAA,GAGM;AAAA,WAAAjE;AAAAA,yCACgCC,KAAKiE,SAAS7C,CAAAA,CAAAA;AAAAA,MACjD8C,EACDlE,KAAKoB,aACE6B,EAAIJ,OACJI,CAAAA,MAAAlD;AAAAA;AAAAA,gBAEI,MACRC;AAAAA,WAAKmE,WAAW,EACfC,OAAOnB,EAAImB,OACXvB,OAAOI,EAAIJ,MACX,CAAA;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMkB7C,KAAK4C,cAAcK,EAAIJ,QACvC7C,KAAKiE,SAASrB,CAAAA,IACd5C,KAAKiE,SAASD,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,WAGdf,EAAImB,KAAAA;AAAAA;AAAAA;AAAAA,mBAGIpE,KAAK4C,cAAcK,EAAIJ,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;wBAUlB,MAAM7C,KAAKoD,YAAAA,CAAAA;AAAAA;AAAAA;AAAAA,EAAa;AAAA;AAxJ/CjD,EAAA,CAFCkE,EAAQ,EAAE1D,SAASlB,EACnBW,CAAAA,GAAAA,EAAS,EAAEC,MAAMC,YANES,EAOpBP,WAAA,QAAA,CAAA,GAE6BL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QATEM,CAAAA,CAAAA,GAAAA,EASSP,WAAA,WAAA,IAEcL,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAXNQ,CAAAA,CAAAA,GAAAA,EAWuBP,WAAA,aAAA,CAAA,GAInCL,EAAA,CAHPmE,EAAsB,EACtBC,SAAS,GAAA,CAAA,CAAA,GAbUxD,EAeZP,WAAA,gBAAA,CAEkBL,GAAAA,EAAA,CAAzBqE,EAAM,iBAAA,CAAA,GAjBazD,EAiBMP,WAAA,cAAA,CACHL,GAAAA,EAAA,CAAtBqE,EAAM,kBAlBazD,EAkBGP,WAAA,eAAA,CAAA,GAGfL,EAAA,CADPU,EAAAA,CAAAA,GApBmBE,EAqBZP,WAAA,QAAA,CArBYO,GAAAA,IAArBZ,EAAA,CADCW,EAAc,oBACMC,CAAAA,GAAAA,CAAAA;"}
package/dist/tabs.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./tabs-group-2sFsKJxb.cjs");
1
+ "use strict";require("./tabs-group-CHAAr7Wl.cjs");
2
2
  //# sourceMappingURL=tabs.cjs.map
package/dist/tabs.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./tabs-group-OdIAitHN.js";
1
+ import "./tabs-group-DBybIi8n.js";
2
2
  //# sourceMappingURL=tabs.js.map