@mhmo91/schmancy 0.7.5 → 0.7.6

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 (397) hide show
  1. package/ai/directives.md +214 -7
  2. package/ai/typewriter.md +151 -33
  3. package/dist/ai/directives.md +214 -7
  4. package/dist/ai/typewriter.md +151 -33
  5. package/dist/{animated-text-DnFenRS1.cjs → animated-text-1FDC-OTA.cjs} +2 -2
  6. package/dist/{animated-text-DnFenRS1.cjs.map → animated-text-1FDC-OTA.cjs.map} +1 -1
  7. package/dist/{animated-text-YBgWXuVJ.js → animated-text-1_latidd.js} +3 -3
  8. package/dist/{animated-text-YBgWXuVJ.js.map → animated-text-1_latidd.js.map} +1 -1
  9. package/dist/animated-text.cjs +1 -1
  10. package/dist/animated-text.js +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/{area.component-C_nUxyiY.js → area.component-CQq-Mh0Z.js} +47 -39
  13. package/dist/area.component-CQq-Mh0Z.js.map +1 -0
  14. package/dist/{area.component-BojFAcRk.cjs → area.component-Ciw7vGsx.cjs} +4 -4
  15. package/dist/area.component-Ciw7vGsx.cjs.map +1 -0
  16. package/dist/area.js +1 -1
  17. package/dist/{autocomplete-B-X_D8MC.js → autocomplete-DT9MFPEG.js} +5 -5
  18. package/dist/{autocomplete-B-X_D8MC.js.map → autocomplete-DT9MFPEG.js.map} +1 -1
  19. package/dist/{autocomplete-B8oOdRsV.cjs → autocomplete-auTO_M_w.cjs} +2 -2
  20. package/dist/{autocomplete-B8oOdRsV.cjs.map → autocomplete-auTO_M_w.cjs.map} +1 -1
  21. package/dist/autocomplete.cjs +1 -1
  22. package/dist/autocomplete.js +1 -1
  23. package/dist/{avatar-DBdyON6Y.cjs → avatar-Bo8kRnA-.cjs} +2 -2
  24. package/dist/{avatar-DBdyON6Y.cjs.map → avatar-Bo8kRnA-.cjs.map} +1 -1
  25. package/dist/{avatar-Cro3M4Lw.js → avatar-Dm_qg-n1.js} +52 -52
  26. package/dist/{avatar-Cro3M4Lw.js.map → avatar-Dm_qg-n1.js.map} +1 -1
  27. package/dist/badge.cjs +1 -1
  28. package/dist/badge.js +1 -1
  29. package/dist/boat-98He5-K8.cjs +97 -0
  30. package/dist/boat-98He5-K8.cjs.map +1 -0
  31. package/dist/boat-RNCKlx8b.js +301 -0
  32. package/dist/boat-RNCKlx8b.js.map +1 -0
  33. package/dist/boat.cjs +1 -1
  34. package/dist/boat.js +1 -1
  35. package/dist/busy.cjs +1 -1
  36. package/dist/busy.js +1 -1
  37. package/dist/button.cjs +1 -1
  38. package/dist/button.js +1 -1
  39. package/dist/card.cjs +1 -1
  40. package/dist/card.js +1 -1
  41. package/dist/{checkbox-BOmazo-k.js → checkbox-Bdn1_WJg.js} +2 -2
  42. package/dist/{checkbox-BOmazo-k.js.map → checkbox-Bdn1_WJg.js.map} +1 -1
  43. package/dist/{checkbox-DMfwDgYx.cjs → checkbox-Dj06r6MD.cjs} +2 -2
  44. package/dist/{checkbox-DMfwDgYx.cjs.map → checkbox-Dj06r6MD.cjs.map} +1 -1
  45. package/dist/checkbox.cjs +1 -1
  46. package/dist/checkbox.js +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +2 -2
  49. package/dist/code-highlight.cjs +1 -1
  50. package/dist/code-highlight.js +1 -1
  51. package/dist/{code-preview-DgyY3Jlw.js → code-preview-Br7zBkyM.js} +2 -2
  52. package/dist/{code-preview-DgyY3Jlw.js.map → code-preview-Br7zBkyM.js.map} +1 -1
  53. package/dist/{code-preview-CbZzYTk2.cjs → code-preview-ByxcwPma.cjs} +2 -2
  54. package/dist/{code-preview-CbZzYTk2.cjs.map → code-preview-ByxcwPma.cjs.map} +1 -1
  55. package/dist/components.cjs +1 -1
  56. package/dist/components.js +1 -1
  57. package/dist/content-drawer.cjs +1 -1
  58. package/dist/content-drawer.js +1 -1
  59. package/dist/{date-range-BV0479CW.js → date-range-VkIMcQdT.js} +3 -3
  60. package/dist/{date-range-BV0479CW.js.map → date-range-VkIMcQdT.js.map} +1 -1
  61. package/dist/{date-range-inline-HNDLTnYi.cjs → date-range-inline-kbokz03Z.cjs} +2 -2
  62. package/dist/{date-range-inline-HNDLTnYi.cjs.map → date-range-inline-kbokz03Z.cjs.map} +1 -1
  63. package/dist/{date-range-inline-GfLao0NN.js → date-range-inline-l2G48xTX.js} +3 -3
  64. package/dist/{date-range-inline-GfLao0NN.js.map → date-range-inline-l2G48xTX.js.map} +1 -1
  65. package/dist/date-range-inline.cjs +1 -1
  66. package/dist/date-range-inline.js +1 -1
  67. package/dist/{date-range-47SnbVM6.cjs → date-range-xYUr_KKx.cjs} +2 -2
  68. package/dist/{date-range-47SnbVM6.cjs.map → date-range-xYUr_KKx.cjs.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-Dr3Fr5YB.cjs → delay-CCreUpYu.cjs} +2 -2
  72. package/dist/{delay-Dr3Fr5YB.cjs.map → delay-CCreUpYu.cjs.map} +1 -1
  73. package/dist/{delay-B40l99jW.js → delay-Nu7RVtYd.js} +2 -2
  74. package/dist/{delay-B40l99jW.js.map → delay-Nu7RVtYd.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/details-CjQrqBli.cjs +98 -0
  78. package/dist/details-CjQrqBli.cjs.map +1 -0
  79. package/dist/details-DVIWpEsI.js +137 -0
  80. package/dist/details-DVIWpEsI.js.map +1 -0
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-B_amCfq7.js → dialog-content-BgxKi73O.js} +3 -3
  84. package/dist/{dialog-content-B_amCfq7.js.map → dialog-content-BgxKi73O.js.map} +1 -1
  85. package/dist/{dialog-content-Emd7BLQA.cjs → dialog-content-CM3-RXQQ.cjs} +2 -2
  86. package/dist/{dialog-content-Emd7BLQA.cjs.map → dialog-content-CM3-RXQQ.cjs.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/directives.cjs +1 -1
  90. package/dist/directives.js +10 -6
  91. package/dist/divider-0yHQS8kR.cjs +58 -0
  92. package/dist/divider-0yHQS8kR.cjs.map +1 -0
  93. package/dist/divider-CqyzFfn1.js +84 -0
  94. package/dist/divider-CqyzFfn1.js.map +1 -0
  95. package/dist/divider.cjs +1 -1
  96. package/dist/divider.js +1 -1
  97. package/dist/{dropdown-content-BpJq8Q1u.cjs → dropdown-content-BmHQE5-P.cjs} +2 -2
  98. package/dist/{dropdown-content-BpJq8Q1u.cjs.map → dropdown-content-BmHQE5-P.cjs.map} +1 -1
  99. package/dist/{dropdown-content-Bw9jnfCR.js → dropdown-content-iFlLupVo.js} +3 -3
  100. package/dist/{dropdown-content-Bw9jnfCR.js.map → dropdown-content-iFlLupVo.js.map} +1 -1
  101. package/dist/dropdown.cjs +1 -1
  102. package/dist/dropdown.js +1 -1
  103. package/dist/{email-recipients-Bxvu6zi9.cjs → email-recipients-Cioc3U0Z.cjs} +2 -2
  104. package/dist/{email-recipients-Bxvu6zi9.cjs.map → email-recipients-Cioc3U0Z.cjs.map} +1 -1
  105. package/dist/{email-recipients-DZGMhyg4.js → email-recipients-CmAEJDMC.js} +6 -6
  106. package/dist/{email-recipients-DZGMhyg4.js.map → email-recipients-CmAEJDMC.js.map} +1 -1
  107. package/dist/extra.cjs +1 -1
  108. package/dist/extra.js +1 -1
  109. package/dist/{flex-DakK9gco.cjs → flex-BEB1yuMF.cjs} +2 -2
  110. package/dist/{flex-DakK9gco.cjs.map → flex-BEB1yuMF.cjs.map} +1 -1
  111. package/dist/{flex-DUgMxT_9.js → flex-BgcbHlPo.js} +2 -2
  112. package/dist/{flex-DUgMxT_9.js.map → flex-BgcbHlPo.js.map} +1 -1
  113. package/dist/{form-yZ1fh3h9.js → form-CxrvY530.js} +2 -2
  114. package/dist/{form-yZ1fh3h9.js.map → form-CxrvY530.js.map} +1 -1
  115. package/dist/{form-CPmMvWvE.cjs → form-DFDTspmH.cjs} +2 -2
  116. package/dist/{form-CPmMvWvE.cjs.map → form-DFDTspmH.cjs.map} +1 -1
  117. package/dist/form.cjs +1 -1
  118. package/dist/form.js +1 -1
  119. package/dist/{formField.mixin-D51klHq7.cjs → formField.mixin-C7H5DaEl.cjs} +2 -2
  120. package/dist/{formField.mixin-D51klHq7.cjs.map → formField.mixin-C7H5DaEl.cjs.map} +1 -1
  121. package/dist/{formField.mixin-Cmb9YpmX.js → formField.mixin-hZ2qP4iG.js} +2 -2
  122. package/dist/{formField.mixin-Cmb9YpmX.js.map → formField.mixin-hZ2qP4iG.js.map} +1 -1
  123. package/dist/{icon-DHT8YsE3.js → icon-D0FAI5uJ.js} +2 -2
  124. package/dist/{icon-DHT8YsE3.js.map → icon-D0FAI5uJ.js.map} +1 -1
  125. package/dist/{icon-Dsa_BddL.cjs → icon-DJnGMAQ2.cjs} +2 -2
  126. package/dist/{icon-Dsa_BddL.cjs.map → icon-DJnGMAQ2.cjs.map} +1 -1
  127. package/dist/{icon-button-BRcfLsJL.cjs → icon-button-CSZtSmOy.cjs} +8 -8
  128. package/dist/icon-button-CSZtSmOy.cjs.map +1 -0
  129. package/dist/{icon-button-PpRHFLCj.js → icon-button-CbgQp3AL.js} +19 -19
  130. package/dist/icon-button-CbgQp3AL.js.map +1 -0
  131. package/dist/icons.cjs +1 -1
  132. package/dist/icons.js +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.js +196 -192
  135. package/dist/{input-CYGSlByl.js → input-DLnKAj3B.js} +4 -4
  136. package/dist/{input-CYGSlByl.js.map → input-DLnKAj3B.js.map} +1 -1
  137. package/dist/{input-chip-CKYO8Lww.cjs → input-chip-C3EPsHcP.cjs} +2 -2
  138. package/dist/{input-chip-CKYO8Lww.cjs.map → input-chip-C3EPsHcP.cjs.map} +1 -1
  139. package/dist/{input-chip-CTKPIRVA.js → input-chip-dmqYCExV.js} +2 -2
  140. package/dist/{input-chip-CTKPIRVA.js.map → input-chip-dmqYCExV.js.map} +1 -1
  141. package/dist/input-wZ6ORWru.cjs +51 -0
  142. package/dist/{input-DB269a2X.cjs.map → input-wZ6ORWru.cjs.map} +1 -1
  143. package/dist/input.cjs +1 -1
  144. package/dist/input.js +1 -1
  145. package/dist/layout.cjs +1 -1
  146. package/dist/layout.js +1 -1
  147. package/dist/{list-BbzeVuby.js → list-BegNkhOn.js} +2 -2
  148. package/dist/{list-BbzeVuby.js.map → list-BegNkhOn.js.map} +1 -1
  149. package/dist/{list-BQVTFNkq.cjs → list-CLKiZ6lk.cjs} +2 -2
  150. package/dist/{list-BQVTFNkq.cjs.map → list-CLKiZ6lk.cjs.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-DzCpXwcY.cjs → litElement.mixin-CPQYJnK_.cjs} +2 -2
  154. package/dist/{litElement.mixin-DzCpXwcY.cjs.map → litElement.mixin-CPQYJnK_.cjs.map} +1 -1
  155. package/dist/{litElement.mixin-BzbZQbxa.js → litElement.mixin-DWDPaNoc.js} +2 -2
  156. package/dist/{litElement.mixin-BzbZQbxa.js.map → litElement.mixin-DWDPaNoc.js.map} +1 -1
  157. package/dist/mailbox.cjs +1 -1
  158. package/dist/mailbox.js +1 -1
  159. package/dist/{map-CgwU5Px4.js → map-CUKZ6LrR.js} +2 -2
  160. package/dist/{map-CgwU5Px4.js.map → map-CUKZ6LrR.js.map} +1 -1
  161. package/dist/{map-DuTFI2lm.cjs → map-w4Kdtycx.cjs} +2 -2
  162. package/dist/{map-DuTFI2lm.cjs.map → map-w4Kdtycx.cjs.map} +1 -1
  163. package/dist/map.cjs +1 -1
  164. package/dist/map.js +1 -1
  165. package/dist/{media-BnktmFRW.js → media-CjdCchz8.js} +2 -2
  166. package/dist/{media-BnktmFRW.js.map → media-CjdCchz8.js.map} +1 -1
  167. package/dist/{media-gtpSHRFx.cjs → media-DDNmuoV0.cjs} +2 -2
  168. package/dist/{media-gtpSHRFx.cjs.map → media-DDNmuoV0.cjs.map} +1 -1
  169. package/dist/menu-D9-9vipn.cjs +26 -0
  170. package/dist/menu-D9-9vipn.cjs.map +1 -0
  171. package/dist/menu-ofiPDY2a.js +61 -0
  172. package/dist/menu-ofiPDY2a.js.map +1 -0
  173. package/dist/menu.cjs +1 -1
  174. package/dist/menu.js +1 -1
  175. package/dist/mixins.cjs +1 -1
  176. package/dist/mixins.js +3 -3
  177. package/dist/nav-drawer.cjs +1 -1
  178. package/dist/nav-drawer.js +1 -1
  179. package/dist/navigation-bar.cjs +1 -1
  180. package/dist/navigation-bar.js +1 -1
  181. package/dist/{navigation-rail-D8otIR2P.cjs → navigation-rail-CEDLJTrH.cjs} +2 -2
  182. package/dist/{navigation-rail-D8otIR2P.cjs.map → navigation-rail-CEDLJTrH.cjs.map} +1 -1
  183. package/dist/{navigation-rail-CUMNSz0h.js → navigation-rail-weSW6BCv.js} +3 -3
  184. package/dist/{navigation-rail-CUMNSz0h.js.map → navigation-rail-weSW6BCv.js.map} +1 -1
  185. package/dist/navigation-rail.cjs +1 -1
  186. package/dist/navigation-rail.js +1 -1
  187. package/dist/{notification-service-E16lPsiT.js → notification-service-B4nvP2Jc.js} +5 -5
  188. package/dist/{notification-service-E16lPsiT.js.map → notification-service-B4nvP2Jc.js.map} +1 -1
  189. package/dist/{notification-service-CP6kGXVL.cjs → notification-service-B_pa74hl.cjs} +2 -2
  190. package/dist/{notification-service-CP6kGXVL.cjs.map → notification-service-B_pa74hl.cjs.map} +1 -1
  191. package/dist/notification.cjs +1 -1
  192. package/dist/notification.js +2 -2
  193. package/dist/{notify-D865xIlu.js → notify-Ci0HrUIo.js} +2 -2
  194. package/dist/{notify-D865xIlu.js.map → notify-Ci0HrUIo.js.map} +1 -1
  195. package/dist/{notify-Czdp7BbG.cjs → notify-aasSKQGA.cjs} +2 -2
  196. package/dist/{notify-Czdp7BbG.cjs.map → notify-aasSKQGA.cjs.map} +1 -1
  197. package/dist/{option-cJ8fM5qJ.js → option-Cs4e3CzF.js} +2 -2
  198. package/dist/{option-cJ8fM5qJ.js.map → option-Cs4e3CzF.js.map} +1 -1
  199. package/dist/{option-B1r0hb3H.cjs → option-Uze_q9Ef.cjs} +2 -2
  200. package/dist/{option-B1r0hb3H.cjs.map → option-Uze_q9Ef.cjs.map} +1 -1
  201. package/dist/option.cjs +1 -1
  202. package/dist/option.js +1 -1
  203. package/dist/{payment-card-form-RBjpMc2m.js → payment-card-form-BLoUTYiB.js} +3 -3
  204. package/dist/{payment-card-form-RBjpMc2m.js.map → payment-card-form-BLoUTYiB.js.map} +1 -1
  205. package/dist/{payment-card-form-EO3auDS8.cjs → payment-card-form-rJCPUtWE.cjs} +2 -2
  206. package/dist/{payment-card-form-EO3auDS8.cjs.map → payment-card-form-rJCPUtWE.cjs.map} +1 -1
  207. package/dist/{progress-4v9FzvOT.js → progress-B1f3y-Mf.js} +2 -2
  208. package/dist/{progress-4v9FzvOT.js.map → progress-B1f3y-Mf.js.map} +1 -1
  209. package/dist/{progress-DnhvJMz_.cjs → progress-DdBHNIMT.cjs} +2 -2
  210. package/dist/{progress-DnhvJMz_.cjs.map → progress-DdBHNIMT.cjs.map} +1 -1
  211. package/dist/progress.cjs +1 -1
  212. package/dist/progress.js +1 -1
  213. package/dist/{radio-button-BVegeFKE.cjs → radio-button-BAS7gKmA.cjs} +2 -2
  214. package/dist/{radio-button-BVegeFKE.cjs.map → radio-button-BAS7gKmA.cjs.map} +1 -1
  215. package/dist/{radio-button-DDavzgCz.js → radio-button-CaDaw5VH.js} +3 -3
  216. package/dist/{radio-button-DDavzgCz.js.map → radio-button-CaDaw5VH.js.map} +1 -1
  217. package/dist/radio-group.cjs +1 -1
  218. package/dist/radio-group.js +1 -1
  219. package/dist/ripple-QoNZUUw_.js +148 -0
  220. package/dist/ripple-QoNZUUw_.js.map +1 -0
  221. package/dist/ripple-Ujq_REH4.cjs +16 -0
  222. package/dist/ripple-Ujq_REH4.cjs.map +1 -0
  223. package/dist/{schmancy-steps-container-DN9c-HeX.js → schmancy-steps-container-BInNput3.js} +2 -2
  224. package/dist/{schmancy-steps-container-DN9c-HeX.js.map → schmancy-steps-container-BInNput3.js.map} +1 -1
  225. package/dist/{schmancy-steps-container-s6kZWhcr.cjs → schmancy-steps-container-wQsksygx.cjs} +2 -2
  226. package/dist/{schmancy-steps-container-s6kZWhcr.cjs.map → schmancy-steps-container-wQsksygx.cjs.map} +1 -1
  227. package/dist/search-B1s7thB0.cjs +2 -0
  228. package/dist/search-B1s7thB0.cjs.map +1 -0
  229. package/dist/search-DxxnLa5u.js +95 -0
  230. package/dist/search-DxxnLa5u.js.map +1 -0
  231. package/dist/{select--D6l5ru7.js → select-ApLZefMf.js} +4 -4
  232. package/dist/{select--D6l5ru7.js.map → select-ApLZefMf.js.map} +1 -1
  233. package/dist/{select-DVT_kFNR.cjs → select-_2Ag_znm.cjs} +2 -2
  234. package/dist/{select-DVT_kFNR.cjs.map → select-_2Ag_znm.cjs.map} +1 -1
  235. package/dist/select.cjs +1 -1
  236. package/dist/select.js +1 -1
  237. package/dist/selector-hook-Cok22ifx.cjs +2 -0
  238. package/dist/selector-hook-Cok22ifx.cjs.map +1 -0
  239. package/dist/selector-hook-l2fe2UO5.js +319 -0
  240. package/dist/selector-hook-l2fe2UO5.js.map +1 -0
  241. package/dist/{sheet-CNn_huhz.js → sheet-DovyNsok.js} +14 -14
  242. package/dist/sheet-DovyNsok.js.map +1 -0
  243. package/dist/{sheet-Bza5jVS2.cjs → sheet-wjDOQ8Hs.cjs} +4 -4
  244. package/dist/sheet-wjDOQ8Hs.cjs.map +1 -0
  245. package/dist/sheet.cjs +1 -1
  246. package/dist/sheet.js +2 -2
  247. package/dist/{sheet.service-CmNDL4f6.js → sheet.service-BvOiOFMm.js} +2 -2
  248. package/dist/{sheet.service-CmNDL4f6.js.map → sheet.service-BvOiOFMm.js.map} +1 -1
  249. package/dist/{sheet.service--zUgftN3.cjs → sheet.service-DfHrOxyc.cjs} +2 -2
  250. package/dist/{sheet.service--zUgftN3.cjs.map → sheet.service-DfHrOxyc.cjs.map} +1 -1
  251. package/dist/{slider-Cf0pED-U.cjs → slider-BgJccHrg.cjs} +2 -2
  252. package/dist/{slider-Cf0pED-U.cjs.map → slider-BgJccHrg.cjs.map} +1 -1
  253. package/dist/{slider-DPxBmmFD.js → slider-CeVgx4pL.js} +3 -3
  254. package/dist/{slider-DPxBmmFD.js.map → slider-CeVgx4pL.js.map} +1 -1
  255. package/dist/slider.cjs +1 -1
  256. package/dist/slider.js +1 -1
  257. package/dist/{spinner-BDSDxr_W.cjs → spinner-BKeA2bdB.cjs} +3 -3
  258. package/dist/spinner-BKeA2bdB.cjs.map +1 -0
  259. package/dist/{spinner-Dyz6HBFa.js → spinner-Brq1TenP.js} +3 -3
  260. package/dist/spinner-Brq1TenP.js.map +1 -0
  261. package/dist/steps.cjs +1 -1
  262. package/dist/steps.js +1 -1
  263. package/dist/store.cjs +1 -1
  264. package/dist/store.js +1 -1
  265. package/dist/{suggestion-chip-CCW8g_3S.js → suggestion-chip-CWBSzu7C.js} +3 -3
  266. package/dist/{suggestion-chip-CCW8g_3S.js.map → suggestion-chip-CWBSzu7C.js.map} +1 -1
  267. package/dist/{suggestion-chip-B7COqb4l.cjs → suggestion-chip-dq20NKWy.cjs} +2 -2
  268. package/dist/{suggestion-chip-B7COqb4l.cjs.map → suggestion-chip-dq20NKWy.cjs.map} +1 -1
  269. package/dist/{surface-B4CxtF38.js → surface-Bf8pvmdG.js} +34 -10
  270. package/dist/{surface-B4CxtF38.js.map → surface-Bf8pvmdG.js.map} +1 -1
  271. package/dist/{surface-CkzbeSYN.cjs → surface-fEPJ-cuu.cjs} +27 -3
  272. package/dist/{surface-CkzbeSYN.cjs.map → surface-fEPJ-cuu.cjs.map} +1 -1
  273. package/dist/surface.cjs +1 -1
  274. package/dist/surface.js +1 -1
  275. package/dist/{table-D-g4ZBys.cjs → table-DEnB9_Rf.cjs} +4 -3
  276. package/dist/{table-D-g4ZBys.cjs.map → table-DEnB9_Rf.cjs.map} +1 -1
  277. package/dist/{table-KPNVMJtn.js → table-MLd3oXm6.js} +14 -10
  278. package/dist/{table-KPNVMJtn.js.map → table-MLd3oXm6.js.map} +1 -1
  279. package/dist/table.cjs +1 -1
  280. package/dist/table.js +1 -1
  281. package/dist/{tabs-compatibility-sMoQP12I.cjs → tabs-compatibility-CXVHOR5X.cjs} +2 -2
  282. package/dist/{tabs-compatibility-sMoQP12I.cjs.map → tabs-compatibility-CXVHOR5X.cjs.map} +1 -1
  283. package/dist/{tabs-compatibility-xUK4vD1M.js → tabs-compatibility-KWKzYolX.js} +2 -2
  284. package/dist/{tabs-compatibility-xUK4vD1M.js.map → tabs-compatibility-KWKzYolX.js.map} +1 -1
  285. package/dist/tabs.cjs +1 -1
  286. package/dist/tabs.js +1 -1
  287. package/dist/tailwind.mixin-3TPVvhYf.cjs +2 -0
  288. package/dist/{tailwind.mixin-scDxsqaX.cjs.map → tailwind.mixin-3TPVvhYf.cjs.map} +1 -1
  289. package/dist/tailwind.mixin-DIW0B_of.js +67 -0
  290. package/dist/{tailwind.mixin-xIIxrXd8.js.map → tailwind.mixin-DIW0B_of.js.map} +1 -1
  291. package/dist/teleport.cjs +1 -1
  292. package/dist/teleport.js +1 -1
  293. package/dist/{textarea-BSBYVs99.cjs → textarea-B7arkA7y.cjs} +2 -2
  294. package/dist/{textarea-BSBYVs99.cjs.map → textarea-B7arkA7y.cjs.map} +1 -1
  295. package/dist/{textarea-CFrirT5y.js → textarea-BK1m_CFR.js} +3 -3
  296. package/dist/{textarea-CFrirT5y.js.map → textarea-BK1m_CFR.js.map} +1 -1
  297. package/dist/textarea.cjs +1 -1
  298. package/dist/textarea.js +1 -1
  299. package/dist/{theme-button-B8Xqrz1M.cjs → theme-button-BTKwL3oC.cjs} +2 -2
  300. package/dist/{theme-button-B8Xqrz1M.cjs.map → theme-button-BTKwL3oC.cjs.map} +1 -1
  301. package/dist/{theme-button-D-LTPh88.js → theme-button-C6kk8bay.js} +2 -2
  302. package/dist/{theme-button-D-LTPh88.js.map → theme-button-C6kk8bay.js.map} +1 -1
  303. package/dist/theme-button.cjs +1 -1
  304. package/dist/theme-button.js +1 -1
  305. package/dist/{theme-controller-boat-BOddzVdU.js → theme-controller-boat-BK59LqH9.js} +3 -3
  306. package/dist/{theme-controller-boat-BOddzVdU.js.map → theme-controller-boat-BK59LqH9.js.map} +1 -1
  307. package/dist/{theme-controller-boat-C2F-qRyu.cjs → theme-controller-boat-Y5QXwJxW.cjs} +2 -2
  308. package/dist/{theme-controller-boat-C2F-qRyu.cjs.map → theme-controller-boat-Y5QXwJxW.cjs.map} +1 -1
  309. package/dist/theme.cjs +1 -1
  310. package/dist/theme.js +1 -1
  311. package/dist/{timezone-BvOWa9Nt.js → timezone-D_skWX6Z.js} +3 -3
  312. package/dist/{timezone-BvOWa9Nt.js.map → timezone-D_skWX6Z.js.map} +1 -1
  313. package/dist/{timezone-xHmnktrm.cjs → timezone-nbn0o5GC.cjs} +2 -2
  314. package/dist/{timezone-xHmnktrm.cjs.map → timezone-nbn0o5GC.cjs.map} +1 -1
  315. package/dist/{tooltip-D3ZZJEAk.js → tooltip-Btl0IKYC.js} +2 -2
  316. package/dist/{tooltip-D3ZZJEAk.js.map → tooltip-Btl0IKYC.js.map} +1 -1
  317. package/dist/{tooltip-D24v5bvM.cjs → tooltip-DyuMJEjL.cjs} +2 -2
  318. package/dist/{tooltip-D24v5bvM.cjs.map → tooltip-DyuMJEjL.cjs.map} +1 -1
  319. package/dist/tooltip.cjs +1 -1
  320. package/dist/tooltip.js +1 -1
  321. package/dist/{tree-CfVyhRIH.js → tree-B_2eIFQi.js} +2 -2
  322. package/dist/{tree-CfVyhRIH.js.map → tree-B_2eIFQi.js.map} +1 -1
  323. package/dist/{tree-DC_jbDRu.cjs → tree-N4Y6MoQe.cjs} +2 -2
  324. package/dist/{tree-DC_jbDRu.cjs.map → tree-N4Y6MoQe.cjs.map} +1 -1
  325. package/dist/tree.cjs +1 -1
  326. package/dist/tree.js +1 -1
  327. package/dist/{typewriter-By-3T0Jm.js → typewriter-Blyrk_4c.js} +247 -118
  328. package/dist/typewriter-Blyrk_4c.js.map +1 -0
  329. package/dist/typewriter-CFQAeOaw.cjs +124 -0
  330. package/dist/typewriter-CFQAeOaw.cjs.map +1 -0
  331. package/dist/typewriter.cjs +1 -1
  332. package/dist/typewriter.js +1 -1
  333. package/dist/{typography-B7kvO8iJ.js → typography-DjGWK58I.js} +2 -2
  334. package/dist/{typography-B7kvO8iJ.js.map → typography-DjGWK58I.js.map} +1 -1
  335. package/dist/{typography-9lVCjAbj.cjs → typography-DsIU0TGe.cjs} +2 -2
  336. package/dist/{typography-9lVCjAbj.cjs.map → typography-DsIU0TGe.cjs.map} +1 -1
  337. package/dist/typography.cjs +1 -1
  338. package/dist/typography.js +1 -1
  339. package/dist/utils.cjs +1 -1
  340. package/dist/utils.js +1 -1
  341. package/package.json +1 -1
  342. package/types/src/area/router.types.d.ts +1 -0
  343. package/types/src/boat/boat.d.ts +0 -1
  344. package/types/src/button/button.d.ts +8 -0
  345. package/types/src/details/details.d.ts +3 -11
  346. package/types/src/directives/drag.d.ts +30 -0
  347. package/types/src/directives/index.d.ts +1 -0
  348. package/types/src/divider/divider.d.ts +6 -1
  349. package/types/src/menu/menu-item.d.ts +0 -1
  350. package/types/src/store/filter-directive.d.ts +1 -1
  351. package/types/src/surface/surface.d.ts +2 -1
  352. package/types/src/types/surface.d.ts +1 -1
  353. package/types/src/typewriter/typewriter.d.ts +15 -0
  354. package/types/src/utils/index.d.ts +4 -4
  355. package/types/src/utils/search.d.ts +39 -1
  356. package/dist/area.component-BojFAcRk.cjs.map +0 -1
  357. package/dist/area.component-C_nUxyiY.js.map +0 -1
  358. package/dist/boat-B7AKN6Ge.js +0 -276
  359. package/dist/boat-B7AKN6Ge.js.map +0 -1
  360. package/dist/boat-BhAuteUk.cjs +0 -93
  361. package/dist/boat-BhAuteUk.cjs.map +0 -1
  362. package/dist/details-CQPpI_la.js +0 -211
  363. package/dist/details-CQPpI_la.js.map +0 -1
  364. package/dist/details-DydvHvfw.cjs +0 -143
  365. package/dist/details-DydvHvfw.cjs.map +0 -1
  366. package/dist/divider-BF9xljgI.cjs +0 -2
  367. package/dist/divider-BF9xljgI.cjs.map +0 -1
  368. package/dist/divider-BHruVdsE.js +0 -23
  369. package/dist/divider-BHruVdsE.js.map +0 -1
  370. package/dist/icon-button-BRcfLsJL.cjs.map +0 -1
  371. package/dist/icon-button-PpRHFLCj.js.map +0 -1
  372. package/dist/input-DB269a2X.cjs +0 -51
  373. package/dist/menu-DA2pO48m.cjs +0 -26
  374. package/dist/menu-DA2pO48m.cjs.map +0 -1
  375. package/dist/menu-DwFriXTu.js +0 -63
  376. package/dist/menu-DwFriXTu.js.map +0 -1
  377. package/dist/ripple-Cy-nvO8W.js +0 -80
  378. package/dist/ripple-Cy-nvO8W.js.map +0 -1
  379. package/dist/ripple-DqQrvaTe.cjs +0 -16
  380. package/dist/ripple-DqQrvaTe.cjs.map +0 -1
  381. package/dist/search-BeEqIiuO.js +0 -53
  382. package/dist/search-BeEqIiuO.js.map +0 -1
  383. package/dist/search-bfOHCuHZ.cjs +0 -2
  384. package/dist/search-bfOHCuHZ.cjs.map +0 -1
  385. package/dist/selector-hook-BG6g_IEN.cjs +0 -2
  386. package/dist/selector-hook-BG6g_IEN.cjs.map +0 -1
  387. package/dist/selector-hook-CrwQCPxL.js +0 -313
  388. package/dist/selector-hook-CrwQCPxL.js.map +0 -1
  389. package/dist/sheet-Bza5jVS2.cjs.map +0 -1
  390. package/dist/sheet-CNn_huhz.js.map +0 -1
  391. package/dist/spinner-BDSDxr_W.cjs.map +0 -1
  392. package/dist/spinner-Dyz6HBFa.js.map +0 -1
  393. package/dist/tailwind.mixin-scDxsqaX.cjs +0 -2
  394. package/dist/tailwind.mixin-xIIxrXd8.js +0 -67
  395. package/dist/typewriter-By-3T0Jm.js.map +0 -1
  396. package/dist/typewriter-vit0P1N1.cjs +0 -9
  397. package/dist/typewriter-vit0P1N1.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"surface-B4CxtF38.js","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles using M3 shape tokens */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) 0 0 var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small);\n\t}\n\t\n\t/* Elevation styles with M3 surface tint support */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t\t/* Apply surface tint for elevated surfaces */\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t\tposition: relative;\n\t}\n\n\t/* M3 Surface tint overlay for elevated surfaces */\n\t:host([elevation]:not([elevation='0']))::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground: var(--schmancy-sys-color-surface-tint);\n\t\t/* Tint opacity increases with elevation */\n\t\topacity: calc(var(--elevation, 0) * 0.02);\n\t}\n\t:host([elevation='1'])::after { --elevation: 1; }\n\t:host([elevation='2'])::after { --elevation: 2; }\n\t:host([elevation='3'])::after { --elevation: 3; }\n\t:host([elevation='4'])::after { --elevation: 4; }\n\t:host([elevation='5'])::after { --elevation: 5; }\n\t\n\t/* Surface type styles - background and text colors */\n\t/* Note: surface-low/high/lowest/highest map to M3 containerLow/High/Lowest/Highest */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\t/* M3 containerLowest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\t/* M3 containerLow */\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\t/* M3 container */\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\t/* M3 containerHigh */\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\t/* M3 containerHighest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glass']) {\n\t\t/* Glassmorphism effect with theme-aware colors */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 70%, transparent);\n\t\tbackdrop-filter: blur(10px) saturate(180%);\n\t\t-webkit-backdrop-filter: blur(10px) saturate(180%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-surface-on) 10%, transparent);\n\t}\n\t:host([type='transparent']) {\n\t\t/* Fully transparent background */\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glassOforim']) {\n\t\t/* Oforim-specific glass variant with enhanced blur */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 60%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\n\t/* State-based surface types for selection/active states */\n\t:host([type='primary']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-default);\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\t:host([type='primaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-container);\n\t\tcolor: var(--schmancy-sys-color-primary-onContainer);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-default);\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\t:host([type='secondaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\n\t\tcolor: var(--schmancy-sys-color-secondary-onContainer);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-default);\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\t:host([type='tertiaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-container);\n\t\tcolor: var(--schmancy-sys-color-tertiary-onContainer);\n\t}\n\t:host([type='error']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-default);\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\t:host([type='errorContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-container);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest',\n\t * 'glass', 'transparent', 'glassOforim', 'primary', 'primaryContainer',\n\t * 'secondary', 'secondaryContainer', 'tertiary', 'tertiaryContainer',\n\t * 'error', 'errorContainer'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":";;;;;;;;AAMO,MAAMA,IAA6BC,EAA6B,SAAA;AAoBhE,IAAMC,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAmLNC,KAAAC,OAA4C,QAQ5CD,KAAAE,UAAgE,QAchEF,KAAAG,OAAsB,aAQtBH,KAAAI,YAAmC;AAAA,EAAA;AAAA,EAEzB,SAAAC;AACT,WAAOC;AAAAA,EACR;AAAA;AAlCAC,EAAA,CADCC,EAAS,EAAEL,MAAMM,QAAQC,SAAAA,GAAS,CAAA,CAAA,GAlLvBf,EAmLZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEE,SAAAA,GAAS,CAAA,CAAA,GA1LTf,EA2LZgB,WAAA,WAAA,CAAA,GAcAJ,EAAA,CAFCK,EAAQ,EAAEC,SAASpB,EAAAA,CAAAA,GACnBe,EAAS,EAAEE,SAAAA,GAAS,CAAA,CAAA,GAxMTf,EAyMZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEL,MAAMW,QAAQJ,SAAAA,QAhNdf,EAiNZgB,WAAA,aAAA,CAAA,GAjNYhB,IAANY,EAAA,CADNQ,EAAc,kBAAA,CAAA,GACFpB;"}
1
+ {"version":3,"file":"surface-Bf8pvmdG.js","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles using M3 shape tokens */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) 0 0 var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small);\n\t}\n\t\n\t/* Elevation styles with M3 surface tint support */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t\t/* Apply surface tint for elevated surfaces */\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t\tposition: relative;\n\t}\n\n\t/* M3 Surface tint overlay for elevated surfaces */\n\t:host([elevation]:not([elevation='0']))::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground: var(--schmancy-sys-color-surface-tint);\n\t\t/* Tint opacity increases with elevation */\n\t\topacity: calc(var(--elevation, 0) * 0.02);\n\t}\n\t:host([elevation='1'])::after { --elevation: 1; }\n\t:host([elevation='2'])::after { --elevation: 2; }\n\t:host([elevation='3'])::after { --elevation: 3; }\n\t:host([elevation='4'])::after { --elevation: 4; }\n\t:host([elevation='5'])::after { --elevation: 5; }\n\t\n\t/* Surface type styles - background and text colors */\n\t/* Note: surface-low/high/lowest/highest map to M3 containerLow/High/Lowest/Highest */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\t/* M3 containerLowest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\t/* M3 containerLow */\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\t/* M3 container */\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\t/* M3 containerHigh */\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\t/* M3 containerHighest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glass']) {\n\t\t/* Glassmorphism effect with theme-aware colors */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 70%, transparent);\n\t\tbackdrop-filter: blur(10px) saturate(180%);\n\t\t-webkit-backdrop-filter: blur(10px) saturate(180%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-surface-on) 10%, transparent);\n\t}\n\t:host([type='transparent']) {\n\t\t/* Fully transparent background */\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glassOforim']) {\n\t\t/* Oforim-specific glass variant with enhanced blur */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 60%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\n\t/* State-based surface types for selection/active states */\n\t:host([type='primary']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-default);\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\t:host([type='primaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-container);\n\t\tcolor: var(--schmancy-sys-color-primary-onContainer);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-default);\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\t:host([type='secondaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\n\t\tcolor: var(--schmancy-sys-color-secondary-onContainer);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-default);\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\t:host([type='tertiaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-container);\n\t\tcolor: var(--schmancy-sys-color-tertiary-onContainer);\n\t}\n\t:host([type='error']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-default);\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\t:host([type='errorContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-container);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t}\n\t:host([type='success']) {\n\t\tbackground-color: var(--schmancy-sys-color-success-default);\n\t\tcolor: var(--schmancy-sys-color-success-on);\n\t}\n\t:host([type='successContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-success-container);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t}\n\t:host([type='warning']) {\n\t\tbackground-color: var(--schmancy-sys-color-warning-default);\n\t\tcolor: var(--schmancy-sys-color-warning-on);\n\t}\n\t:host([type='warningContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-warning-container);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t}\n\t:host([type='info']) {\n\t\tbackground-color: var(--schmancy-sys-color-info-default);\n\t\tcolor: var(--schmancy-sys-color-info-on);\n\t}\n\t:host([type='infoContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-info-container);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest',\n\t * 'glass', 'transparent', 'glassOforim', 'primary', 'primaryContainer',\n\t * 'secondary', 'secondaryContainer', 'tertiary', 'tertiaryContainer',\n\t * 'error', 'errorContainer', 'success', 'successContainer',\n\t * 'warning', 'warningContainer', 'info', 'infoContainer'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":";;;;;;;;AAMO,MAAMA,IAA6BC,EAA6B,SAAA;AAoBhE,IAAMC,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GA2MNC,KAAAC,OAA4C,QAQ5CD,KAAAE,UAAgE,QAehEF,KAAAG,OAAsB,aAQtBH,KAAAI,YAAmC;AAAA,EAAA;AAAA,EAEzB,SAAAC;AACT,WAAOC;AAAAA,EACR;AAAA;AAnCAC,EAAA,CADCC,EAAS,EAAEL,MAAMM,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA1MvBf,EA2MZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEE,SAAAA,GAAS,CAAA,CAAA,GAlNTf,EAmNZgB,WAAA,WAAA,CAAA,GAeAJ,EAAA,CAFCK,EAAQ,EAAEC,SAASpB,EAAAA,CAAAA,GACnBe,EAAS,EAAEE,SAAAA,GAAS,CAAA,CAAA,GAjOTf,EAkOZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEL,MAAMW,QAAQJ,SAAAA,QAzOdf,EA0OZgB,WAAA,aAAA,CAAA,GA1OYhB,IAANY,EAAA,CADNQ,EAAc,kBAAA,CAAA,GACFpB;"}
@@ -1,4 +1,4 @@
1
- "use strict";const h=require("./provide-BxZ2kn_p.cjs"),u=require("./tailwind.mixin-scDxsqaX.cjs"),y=require("lit"),o=require("lit/decorators.js");var m=Object.defineProperty,p=Object.getOwnPropertyDescriptor,s=(l,a,c,e)=>{for(var t,r=e>1?void 0:e?p(a,c):a,n=l.length-1;n>=0;n--)(t=l[n])&&(r=(e?t(a,c,r):t(r))||r);return e&&r&&m(a,c,r),r};const i=h.n("surface");exports.SchmancySurface=class extends u.TailwindElement(y.css`
1
+ "use strict";const h=require("./provide-BxZ2kn_p.cjs"),u=require("./tailwind.mixin-3TPVvhYf.cjs"),y=require("lit"),r=require("lit/decorators.js");var m=Object.defineProperty,v=Object.getOwnPropertyDescriptor,s=(l,c,e,a)=>{for(var n,o=a>1?void 0:a?v(c,e):c,t=l.length-1;t>=0;t--)(n=l[t])&&(o=(a?n(c,e,o):n(o))||o);return a&&o&&m(c,e,o),o};const i=h.n("surface");exports.SchmancySurface=class extends u.TailwindElement(y.css`
2
2
  :host {
3
3
  display: block;
4
4
  box-sizing: border-box;
@@ -170,5 +170,29 @@
170
170
  background-color: var(--schmancy-sys-color-error-container);
171
171
  color: var(--schmancy-sys-color-error-onContainer);
172
172
  }
173
- `){constructor(){super(...arguments),this.fill="auto",this.rounded="none",this.type="container",this.elevation=0}render(){return y.html`<slot></slot>`}},s([o.property({type:String,reflect:!0})],exports.SchmancySurface.prototype,"fill",2),s([o.property({reflect:!0})],exports.SchmancySurface.prototype,"rounded",2),s([h.e({context:i}),o.property({reflect:!0})],exports.SchmancySurface.prototype,"type",2),s([o.property({type:Number,reflect:!0})],exports.SchmancySurface.prototype,"elevation",2),exports.SchmancySurface=s([o.customElement("schmancy-surface")],exports.SchmancySurface),exports.SchmancySurfaceTypeContext=i;
174
- //# sourceMappingURL=surface-CkzbeSYN.cjs.map
173
+ :host([type='success']) {
174
+ background-color: var(--schmancy-sys-color-success-default);
175
+ color: var(--schmancy-sys-color-success-on);
176
+ }
177
+ :host([type='successContainer']) {
178
+ background-color: var(--schmancy-sys-color-success-container);
179
+ color: var(--schmancy-sys-color-success-onContainer);
180
+ }
181
+ :host([type='warning']) {
182
+ background-color: var(--schmancy-sys-color-warning-default);
183
+ color: var(--schmancy-sys-color-warning-on);
184
+ }
185
+ :host([type='warningContainer']) {
186
+ background-color: var(--schmancy-sys-color-warning-container);
187
+ color: var(--schmancy-sys-color-warning-onContainer);
188
+ }
189
+ :host([type='info']) {
190
+ background-color: var(--schmancy-sys-color-info-default);
191
+ color: var(--schmancy-sys-color-info-on);
192
+ }
193
+ :host([type='infoContainer']) {
194
+ background-color: var(--schmancy-sys-color-info-container);
195
+ color: var(--schmancy-sys-color-info-onContainer);
196
+ }
197
+ `){constructor(){super(...arguments),this.fill="auto",this.rounded="none",this.type="container",this.elevation=0}render(){return y.html`<slot></slot>`}},s([r.property({type:String,reflect:!0})],exports.SchmancySurface.prototype,"fill",2),s([r.property({reflect:!0})],exports.SchmancySurface.prototype,"rounded",2),s([h.e({context:i}),r.property({reflect:!0})],exports.SchmancySurface.prototype,"type",2),s([r.property({type:Number,reflect:!0})],exports.SchmancySurface.prototype,"elevation",2),exports.SchmancySurface=s([r.customElement("schmancy-surface")],exports.SchmancySurface),exports.SchmancySurfaceTypeContext=i;
198
+ //# sourceMappingURL=surface-fEPJ-cuu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface-CkzbeSYN.cjs","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles using M3 shape tokens */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) 0 0 var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small);\n\t}\n\t\n\t/* Elevation styles with M3 surface tint support */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t\t/* Apply surface tint for elevated surfaces */\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t\tposition: relative;\n\t}\n\n\t/* M3 Surface tint overlay for elevated surfaces */\n\t:host([elevation]:not([elevation='0']))::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground: var(--schmancy-sys-color-surface-tint);\n\t\t/* Tint opacity increases with elevation */\n\t\topacity: calc(var(--elevation, 0) * 0.02);\n\t}\n\t:host([elevation='1'])::after { --elevation: 1; }\n\t:host([elevation='2'])::after { --elevation: 2; }\n\t:host([elevation='3'])::after { --elevation: 3; }\n\t:host([elevation='4'])::after { --elevation: 4; }\n\t:host([elevation='5'])::after { --elevation: 5; }\n\t\n\t/* Surface type styles - background and text colors */\n\t/* Note: surface-low/high/lowest/highest map to M3 containerLow/High/Lowest/Highest */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\t/* M3 containerLowest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\t/* M3 containerLow */\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\t/* M3 container */\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\t/* M3 containerHigh */\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\t/* M3 containerHighest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glass']) {\n\t\t/* Glassmorphism effect with theme-aware colors */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 70%, transparent);\n\t\tbackdrop-filter: blur(10px) saturate(180%);\n\t\t-webkit-backdrop-filter: blur(10px) saturate(180%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-surface-on) 10%, transparent);\n\t}\n\t:host([type='transparent']) {\n\t\t/* Fully transparent background */\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glassOforim']) {\n\t\t/* Oforim-specific glass variant with enhanced blur */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 60%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\n\t/* State-based surface types for selection/active states */\n\t:host([type='primary']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-default);\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\t:host([type='primaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-container);\n\t\tcolor: var(--schmancy-sys-color-primary-onContainer);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-default);\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\t:host([type='secondaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\n\t\tcolor: var(--schmancy-sys-color-secondary-onContainer);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-default);\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\t:host([type='tertiaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-container);\n\t\tcolor: var(--schmancy-sys-color-tertiary-onContainer);\n\t}\n\t:host([type='error']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-default);\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\t:host([type='errorContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-container);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest',\n\t * 'glass', 'transparent', 'glassOforim', 'primary', 'primaryContainer',\n\t * 'secondary', 'secondaryContainer', 'tertiary', 'tertiaryContainer',\n\t * 'error', 'errorContainer'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":"kVAMO,MAAMA,EAA6BC,EAAAA,EAA6B,SAAA,EAoB1DC,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EAmLNC,KAAAC,KAA4C,OAQ5CD,KAAAE,QAAgE,OAchEF,KAAAG,KAAsB,YAQtBH,KAAAI,UAAmC,CAAA,CAEzB,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EAlCAC,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMM,OAAQC,UAAS,CAAA,CAAA,EAlLvBf,wBAmLZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,WAAS,CAAEE,UAAS,CAAA,CAAA,EA1LTf,wBA2LZgB,UAAA,UAAA,CAAA,EAcAJ,EAAA,CAFCK,IAAQ,CAAEC,QAASpB,CAAAA,CAAAA,EACnBe,WAAS,CAAEE,UAAS,CAAA,CAAA,EAxMTf,wBAyMZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMW,OAAQJ,QAAAA,MAhNdf,wBAiNZgB,UAAA,YAAA,CAAA,EAjNYhB,QAAAA,gBAANY,EAAA,CADNQ,EAAAA,cAAc,qBACFpB"}
1
+ {"version":3,"file":"surface-fEPJ-cuu.cjs","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles using M3 shape tokens */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small) 0 0 var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small) 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 var(--schmancy-sys-shape-corner-small) var(--schmancy-sys-shape-corner-small);\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: var(--schmancy-sys-shape-corner-small);\n\t}\n\t\n\t/* Elevation styles with M3 surface tint support */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t\t/* Apply surface tint for elevated surfaces */\n\t\tposition: relative;\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t\tposition: relative;\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\tposition: relative;\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t\tposition: relative;\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t\tposition: relative;\n\t}\n\n\t/* M3 Surface tint overlay for elevated surfaces */\n\t:host([elevation]:not([elevation='0']))::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground: var(--schmancy-sys-color-surface-tint);\n\t\t/* Tint opacity increases with elevation */\n\t\topacity: calc(var(--elevation, 0) * 0.02);\n\t}\n\t:host([elevation='1'])::after { --elevation: 1; }\n\t:host([elevation='2'])::after { --elevation: 2; }\n\t:host([elevation='3'])::after { --elevation: 3; }\n\t:host([elevation='4'])::after { --elevation: 4; }\n\t:host([elevation='5'])::after { --elevation: 5; }\n\t\n\t/* Surface type styles - background and text colors */\n\t/* Note: surface-low/high/lowest/highest map to M3 containerLow/High/Lowest/Highest */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\t/* M3 containerLowest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\t/* M3 containerLow */\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\t/* M3 container */\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\t/* M3 containerHigh */\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\t/* M3 containerHighest */\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glass']) {\n\t\t/* Glassmorphism effect with theme-aware colors */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 70%, transparent);\n\t\tbackdrop-filter: blur(10px) saturate(180%);\n\t\t-webkit-backdrop-filter: blur(10px) saturate(180%);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-surface-on) 10%, transparent);\n\t}\n\t:host([type='transparent']) {\n\t\t/* Fully transparent background */\n\t\tbackground-color: transparent;\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='glassOforim']) {\n\t\t/* Oforim-specific glass variant with enhanced blur */\n\t\tbackground-color: color-mix(in srgb, var(--schmancy-sys-color-surface-container) 60%, transparent);\n\t\tbackdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\t-webkit-backdrop-filter: blur(16px) saturate(200%) brightness(1.1);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid color-mix(in srgb, var(--schmancy-sys-color-primary-default) 20%, transparent);\n\t}\n\n\t/* State-based surface types for selection/active states */\n\t:host([type='primary']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-default);\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\t:host([type='primaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-primary-container);\n\t\tcolor: var(--schmancy-sys-color-primary-onContainer);\n\t}\n\t:host([type='secondary']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-default);\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\t:host([type='secondaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\n\t\tcolor: var(--schmancy-sys-color-secondary-onContainer);\n\t}\n\t:host([type='tertiary']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-default);\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\t:host([type='tertiaryContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-tertiary-container);\n\t\tcolor: var(--schmancy-sys-color-tertiary-onContainer);\n\t}\n\t:host([type='error']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-default);\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\t:host([type='errorContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-error-container);\n\t\tcolor: var(--schmancy-sys-color-error-onContainer);\n\t}\n\t:host([type='success']) {\n\t\tbackground-color: var(--schmancy-sys-color-success-default);\n\t\tcolor: var(--schmancy-sys-color-success-on);\n\t}\n\t:host([type='successContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-success-container);\n\t\tcolor: var(--schmancy-sys-color-success-onContainer);\n\t}\n\t:host([type='warning']) {\n\t\tbackground-color: var(--schmancy-sys-color-warning-default);\n\t\tcolor: var(--schmancy-sys-color-warning-on);\n\t}\n\t:host([type='warningContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-warning-container);\n\t\tcolor: var(--schmancy-sys-color-warning-onContainer);\n\t}\n\t:host([type='info']) {\n\t\tbackground-color: var(--schmancy-sys-color-info-default);\n\t\tcolor: var(--schmancy-sys-color-info-on);\n\t}\n\t:host([type='infoContainer']) {\n\t\tbackground-color: var(--schmancy-sys-color-info-container);\n\t\tcolor: var(--schmancy-sys-color-info-onContainer);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest',\n\t * 'glass', 'transparent', 'glassOforim', 'primary', 'primaryContainer',\n\t * 'secondary', 'secondaryContainer', 'tertiary', 'tertiaryContainer',\n\t * 'error', 'errorContainer', 'success', 'successContainer',\n\t * 'warning', 'warningContainer', 'info', 'infoContainer'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":"kVAMO,MAAMA,EAA6BC,EAAAA,EAA6B,SAAA,EAoB1DC,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EA2MNC,KAAAC,KAA4C,OAQ5CD,KAAAE,QAAgE,OAehEF,KAAAG,KAAsB,YAQtBH,KAAAI,UAAmC,CAAA,CAEzB,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EAnCAC,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMM,OAAQC,UAAS,CAAA,CAAA,EA1MvBf,wBA2MZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,WAAS,CAAEE,UAAS,CAAA,CAAA,EAlNTf,wBAmNZgB,UAAA,UAAA,CAAA,EAeAJ,EAAA,CAFCK,IAAQ,CAAEC,QAASpB,CAAAA,CAAAA,EACnBe,WAAS,CAAEE,UAAS,CAAA,CAAA,EAjOTf,wBAkOZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMW,OAAQJ,QAAAA,MAzOdf,wBA0OZgB,UAAA,YAAA,CAAA,EA1OYhB,QAAAA,gBAANY,EAAA,CADNQ,EAAAA,cAAc,qBACFpB"}
package/dist/surface.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-CkzbeSYN.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface}),exports.SchmancySurfaceTypeContext=e.SchmancySurfaceTypeContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-fEPJ-cuu.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface}),exports.SchmancySurfaceTypeContext=e.SchmancySurfaceTypeContext;
2
2
  //# sourceMappingURL=surface.cjs.map
package/dist/surface.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, S } from "./surface-B4CxtF38.js";
1
+ import { a as e, S } from "./surface-Bf8pvmdG.js";
2
2
  export {
3
3
  e as SchmancySurface,
4
4
  S as SchmancySurfaceTypeContext
@@ -1,4 +1,4 @@
1
- "use strict";const y=require("./tslib.es6-DgOcxv4s.cjs"),h=require("lit"),g=require("lit/decorators/property.js"),k=require("lit/directive.js"),F=require("lit/async-directive.js"),N=require("lit/directives/repeat.js"),D=require("./litElement.mixin-DzCpXwcY.cjs"),c=require("lit/decorators.js");var B=Object.defineProperty,j=Object.getOwnPropertyDescriptor,v=(l,t,e,i)=>{for(var s,r=i>1?void 0:i?j(t,e):t,o=l.length-1;o>=0;o--)(s=l[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&B(t,e,r),r};exports.SchmancyTableRow=class extends D.$LitElement(){constructor(){super(...arguments),this.columns=[],this.cols=this.columns.map(()=>"1fr").join(" ")}renderCell(l){if(l.render)return h.html`
1
+ "use strict";const y=require("./tslib.es6-DgOcxv4s.cjs"),h=require("lit"),g=require("lit/decorators/property.js"),x=require("lit/directive.js"),A=require("lit/async-directive.js"),N=require("lit/directives/repeat.js"),D=require("./litElement.mixin-CPQYJnK_.cjs"),c=require("lit/decorators.js");var B=Object.defineProperty,j=Object.getOwnPropertyDescriptor,v=(l,t,e,i)=>{for(var s,r=i>1?void 0:i?j(t,e):t,o=l.length-1;o>=0;o--)(s=l[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&B(t,e,r),r};exports.SchmancyTableRow=class extends D.$LitElement(){constructor(){super(...arguments),this.columns=[],this.cols=this.columns.map(()=>"1fr").join(" ")}renderCell(l){if(l.render)return h.html`
2
2
  <div class="overflow-hidden text-ellipsis">
3
3
  <schmancy-typography align="${l.align||"left"}" maxLines="2" weight="${l.weight||"normal"}">
4
4
  ${l.render(this.item)}
@@ -16,7 +16,7 @@
16
16
  ${this.columns.map(l=>this.renderCell(l))}
17
17
  </schmancy-grid>
18
18
  </schmancy-list-item>
19
- `}},v([c.property({type:Array,attribute:!1})],exports.SchmancyTableRow.prototype,"columns",2),v([c.property({type:Object,attribute:!1})],exports.SchmancyTableRow.prototype,"item",2),v([c.property({type:String})],exports.SchmancyTableRow.prototype,"cols",2),exports.SchmancyTableRow=v([c.customElement("schmancy-table-row")],exports.SchmancyTableRow);class C extends Event{constructor(t){super(C.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}C.eventName="rangeChanged";class S extends Event{constructor(t){super(S.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}S.eventName="visibilityChanged";class E extends Event{constructor(){super(E.eventName,{bubbles:!1})}}E.eventName="unpinned";class P{constructor(t){this._element=null;const e=t??window;this._node=e,t&&(this._element=t)}get element(){return this._element||document.scrollingElement||document.documentElement}get scrollTop(){return this.element.scrollTop||window.scrollY}get scrollLeft(){return this.element.scrollLeft||window.scrollX}get scrollHeight(){return this.element.scrollHeight}get scrollWidth(){return this.element.scrollWidth}get viewportHeight(){return this._element?this._element.getBoundingClientRect().height:window.innerHeight}get viewportWidth(){return this._element?this._element.getBoundingClientRect().width:window.innerWidth}get maxScrollTop(){return this.scrollHeight-this.viewportHeight}get maxScrollLeft(){return this.scrollWidth-this.viewportWidth}}class H extends P{constructor(t,e){super(e),this._clients=new Set,this._retarget=null,this._end=null,this.t=null,this.correctingScrollError=!1,this._checkForArrival=this._checkForArrival.bind(this),this._updateManagedScrollTo=this._updateManagedScrollTo.bind(this),this.scrollTo=this.scrollTo.bind(this),this.scrollBy=this.scrollBy.bind(this);const i=this._node;this._originalScrollTo=i.scrollTo,this._originalScrollBy=i.scrollBy,this._originalScroll=i.scroll,this._attach(t)}get _destination(){return this.t}get scrolling(){return this._destination!==null}scrollTo(t,e){const i=typeof t=="number"&&typeof e=="number"?{left:t,top:e}:t;this._scrollTo(i)}scrollBy(t,e){const i=typeof t=="number"&&typeof e=="number"?{left:t,top:e}:t;i.top!==void 0&&(i.top+=this.scrollTop),i.left!==void 0&&(i.left+=this.scrollLeft),this._scrollTo(i)}_nativeScrollTo(t){this._originalScrollTo.bind(this._element||window)(t)}_scrollTo(t,e=null,i=null){this._end!==null&&this._end(),t.behavior==="smooth"?(this._setDestination(t),this._retarget=e,this._end=i):this._resetScrollState(),this._nativeScrollTo(t)}_setDestination(t){let{top:e,left:i}=t;return e=e===void 0?void 0:Math.max(0,Math.min(e,this.maxScrollTop)),i=i===void 0?void 0:Math.max(0,Math.min(i,this.maxScrollLeft)),(this._destination===null||i!==this._destination.left||e!==this._destination.top)&&(this.t={top:e,left:i,behavior:"smooth"},!0)}_resetScrollState(){this.t=null,this._retarget=null,this._end=null}_updateManagedScrollTo(t){this._destination&&this._setDestination(t)&&this._nativeScrollTo(this._destination)}managedScrollTo(t,e,i){return this._scrollTo(t,e,i),this._updateManagedScrollTo}correctScrollError(t){this.correctingScrollError=!0,requestAnimationFrame(()=>requestAnimationFrame(()=>this.correctingScrollError=!1)),this._nativeScrollTo(t),this._retarget&&this._setDestination(this._retarget()),this._destination&&this._nativeScrollTo(this._destination)}_checkForArrival(){if(this._destination!==null){const{scrollTop:t,scrollLeft:e}=this;let{top:i,left:s}=this._destination;i=Math.min(i||0,this.maxScrollTop),s=Math.min(s||0,this.maxScrollLeft);const r=Math.abs(i-t),o=Math.abs(s-e);r<1&&o<1&&(this._end&&this._end(),this._resetScrollState())}}detach(t){return this._clients.delete(t),this._clients.size===0&&(this._node.scrollTo=this._originalScrollTo,this._node.scrollBy=this._originalScrollBy,this._node.scroll=this._originalScroll,this._node.removeEventListener("scroll",this._checkForArrival)),null}_attach(t){this._clients.add(t),this._clients.size===1&&(this._node.scrollTo=this.scrollTo,this._node.scrollBy=this.scrollBy,this._node.scroll=this.scrollTo,this._node.addEventListener("scroll",this._checkForArrival))}}let L=typeof window<"u"?window.ResizeObserver:void 0;const T=Symbol("virtualizerRef"),b="virtualizer-sizer";let z;class q{constructor(t){if(this._benchmarkStart=null,this._layout=null,this._clippingAncestors=[],this._scrollSize=null,this._scrollError=null,this._childrenPos=null,this._childMeasurements=null,this._toBeMeasured=new Map,this._rangeChanged=!0,this._itemsChanged=!0,this._visibilityChanged=!0,this._scrollerController=null,this._isScroller=!1,this._sizer=null,this._hostElementRO=null,this._childrenRO=null,this._mutationObserver=null,this._scrollEventListeners=[],this._scrollEventListenerOptions={passive:!0},this._loadListener=this._childLoaded.bind(this),this._scrollIntoViewTarget=null,this._updateScrollIntoViewCoordinates=null,this._items=[],this._first=-1,this._last=-1,this._firstVisible=-1,this._lastVisible=-1,this._scheduled=new WeakSet,this._measureCallback=null,this._measureChildOverride=null,this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null,this._layoutInitialized=null,this._connected=!1,!t)throw new Error("Virtualizer constructor requires a configuration object");if(!t.hostElement)throw new Error('Virtualizer configuration requires the "hostElement" property');this._init(t)}set items(t){Array.isArray(t)&&t!==this._items&&(this._itemsChanged=!0,this._items=t,this._schedule(this._updateLayout))}_init(t){this._isScroller=!!t.scroller,this._initHostElement(t);const e=t.layout||{};this._layoutInitialized=this._initLayout(e)}_initObservers(){this._mutationObserver=new MutationObserver(this._finishDOMUpdate.bind(this)),this._hostElementRO=new L(()=>this._hostElementSizeChanged()),this._childrenRO=new L(this._childrenSizeChanged.bind(this))}_initHostElement(t){const e=this._hostElement=t.hostElement;this._applyVirtualizerStyles(),e[T]=this}connected(){this._initObservers();const t=this._isScroller;this._clippingAncestors=(function(e,i=!1){let s=!1;return(function(r,o=!1){const u=[];let n=o?r:x(r);for(;n!==null;)u.push(n),n=x(n);return u})(e,i).filter(r=>{if(s)return!1;const o=getComputedStyle(r);return s=o.position==="fixed",o.overflow!=="visible"})})(this._hostElement,t),this._scrollerController=new H(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach(t=>{t.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(t),this._hostElementRO.observe(t)}),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach(t=>this._childrenRO.observe(t)),this._scrollEventListeners.forEach(t=>t.addEventListener("scroll",this,this._scrollEventListenerOptions))}disconnected(){this._scrollEventListeners.forEach(t=>t.removeEventListener("scroll",this,this._scrollEventListenerOptions)),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const t=this._hostElement.style;t.display=t.display||"block",t.position=t.position||"relative",t.contain=t.contain||"size layout",this._isScroller&&(t.overflow=t.overflow||"auto",t.minHeight=t.minHeight||"150px")}_getSizer(){const t=this._hostElement;if(!this._sizer){let e=t.querySelector(`[${b}]`);e||(e=document.createElement("div"),e.setAttribute(b,""),t.appendChild(e)),Object.assign(e.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),e.textContent="&nbsp;",e.setAttribute(b,""),this._sizer=e}return this._sizer}async updateLayoutConfig(t){await this._layoutInitialized;const e=t.type||z;if(typeof e=="function"&&this._layout instanceof e){const i={...t};return delete i.type,this._layout.config=i,!0}return!1}async _initLayout(t){let e,i;if(typeof t.type=="function"){i=t.type;const s={...t};delete s.type,e=s}else e=t;i===void 0&&(z=i=(await Promise.resolve().then(()=>require("./flow-D0e7hGXO.cjs"))).FlowLayout),this._layout=new i(s=>this._handleLayoutMessage(s),e),this._layout.measureChildren&&typeof this._layout.updateItemSizes=="function"&&(typeof this._layout.measureChildren=="function"&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){this._benchmarkStart===null&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(this._benchmarkStart!==null){const t=window.performance.now(),e=t-this._benchmarkStart,i=performance.getEntriesByName("uv-virtualizing","measure").filter(s=>s.startTime>=this._benchmarkStart&&s.startTime<t).reduce((s,r)=>s+r.duration,0);return this._benchmarkStart=null,{timeElapsed:e,virtualizationTime:i}}return null}_measureChildren(){const t={},e=this._children,i=this._measureChildOverride||this._measureChild;for(let s=0;s<e.length;s++){const r=e[s],o=this._first+s;(this._itemsChanged||this._toBeMeasured.has(r))&&(t[o]=i.call(this,r,this._items[o]))}this._childMeasurements=t,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(t){const{width:e,height:i}=t.getBoundingClientRect();return Object.assign({width:e,height:i},(function(s){const r=window.getComputedStyle(s);return{marginTop:w(r.marginTop),marginRight:w(r.marginRight),marginBottom:w(r.marginBottom),marginLeft:w(r.marginLeft)}})(t))}async _schedule(t){this._scheduled.has(t)||(this._scheduled.add(t),await Promise.resolve(),this._scheduled.delete(t),t.call(this))}async _updateDOM(t){this._scrollSize=t.scrollSize,this._adjustRange(t.range),this._childrenPos=t.childPositions,this._scrollError=t.scrollError||null;const{_rangeChanged:e,_itemsChanged:i}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(e||i)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach(t=>this._childrenRO.observe(t)),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),this._childMeasurements!==null&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch{}window.performance.mark("uv-start")}this._scrollerController.correctingScrollError===!1&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(t){t.type==="scroll"&&(t.currentTarget===window||this._clippingAncestors.includes(t.currentTarget))&&this._handleScrollEvent()}_handleLayoutMessage(t){t.type==="stateChanged"?this._updateDOM(t):t.type==="visibilityChanged"?(this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._notifyVisibility()):t.type==="unpinned"&&this._hostElement.dispatchEvent(new E)}get _children(){const t=[];let e=this._hostElement.firstElementChild;for(;e;)e.hasAttribute(b)||t.push(e),e=e.nextElementSibling;return t}_updateView(){const t=this._hostElement,e=this._scrollerController?.element,i=this._layout;if(t&&e&&i){let s,r,o,u;const n=t.getBoundingClientRect();s=0,r=0,o=window.innerHeight,u=window.innerWidth;const a=this._clippingAncestors.map(_=>_.getBoundingClientRect());a.unshift(n);for(const _ of a)s=Math.max(s,_.top),r=Math.max(r,_.left),o=Math.min(o,_.bottom),u=Math.min(u,_.right);const p=e.getBoundingClientRect(),f={left:n.left-p.left,top:n.top-p.top},R={width:e.scrollWidth,height:e.scrollHeight},M=s-n.top+t.scrollTop,I=r-n.left+t.scrollLeft,$=Math.max(0,o-s),A=Math.max(0,u-r);i.viewportSize={width:A,height:$},i.viewportScroll={top:M,left:I},i.totalScrollSize=R,i.offsetWithinScroller=f}}_sizeHostElement(t){const i=t&&t.width!==null?Math.min(82e5,t.width):0,s=t&&t.height!==null?Math.min(82e5,t.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${i}px, ${s}px)`;else{const r=this._hostElement.style;r.minWidth=i?`${i}px`:"100%",r.minHeight=s?`${s}px`:"100%"}}_positionChildren(t){t&&t.forEach(({top:e,left:i,width:s,height:r,xOffset:o,yOffset:u},n)=>{const a=this._children[n-this._first];a&&(a.style.position="absolute",a.style.boxSizing="border-box",a.style.transform=`translate(${i}px, ${e}px)`,s!==void 0&&(a.style.width=s+"px"),r!==void 0&&(a.style.height=r+"px"),a.style.left=o===void 0?null:o+"px",a.style.top=u===void 0?null:u+"px")})}async _adjustRange(t){const{_first:e,_last:i,_firstVisible:s,_lastVisible:r}=this;this._first=t.first,this._last=t.last,this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==e||this._last!==i,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==s||this._lastVisible!==r}_correctScrollError(){if(this._scrollError){const{scrollTop:t,scrollLeft:e}=this._scrollerController,{top:i,left:s}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:t-i,left:e-s})}}element(t){return t===1/0&&(t=this._items.length-1),this._items?.[t]===void 0?void 0:{scrollIntoView:(e={})=>this._scrollElementIntoView({...e,index:t})}}_scrollElementIntoView(t){if(t.index>=this._first&&t.index<=this._last)this._children[t.index-this._first].scrollIntoView(t);else if(t.index=Math.min(t.index,this._items.length-1),t.behavior==="smooth"){const e=this._layout.getScrollIntoViewCoordinates(t),{behavior:i}=t;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(e,{behavior:i}),()=>this._layout.getScrollIntoViewCoordinates(t),()=>this._scrollIntoViewTarget=null),this._scrollIntoViewTarget=t}else this._layout.pin=t}_checkScrollIntoViewTarget(t){const{index:e}=this._scrollIntoViewTarget||{};e&&t?.has(e)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new C({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new S({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise((t,e)=>{this._layoutCompleteResolver=t,this._layoutCompleteRejecter=e})),this._layoutCompletePromise}_rejectLayoutCompletePromise(t){this._layoutCompleteRejecter!==null&&this._layoutCompleteRejecter(t),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&this._pendingLayoutComplete===null&&(this._pendingLayoutComplete=requestAnimationFrame(()=>requestAnimationFrame(()=>this._resolveLayoutCompletePromise())))}_resolveLayoutCompletePromise(){this._layoutCompleteResolver!==null&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(t){if(this._layout?.measureChildren){for(const e of t)this._toBeMeasured.set(e.target,e.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function w(l){const t=l?parseFloat(l):NaN;return Number.isNaN(t)?0:t}function x(l){if(l.assignedSlot!==null)return l.assignedSlot;if(l.parentElement!==null)return l.parentElement;const t=l.parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host||null}const O=l=>l,V=(l,t)=>h.html`${t}: ${JSON.stringify(l,null,2)}`;class W extends F.AsyncDirective{constructor(t){if(super(t),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,i)=>V(e,i+this._first),this._keyFunction=(e,i)=>O(e,this._first),this._items=[],t.type!==k.PartType.CHILD)throw new Error("The virtualize directive can only be used in child expressions")}render(t){t&&this._setFunctions(t);const e=[];if(this._first>=0&&this._last>=this._first)for(let i=this._first;i<=this._last;i++)e.push(this._items[i]);return N.repeat(e,this._keyFunction,this._renderItem)}update(t,[e]){this._setFunctions(e);const i=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(t,e):this._initialize(t,e),i?h.noChange:this.render()}async _updateVirtualizerConfig(t,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const i=t.parentNode;this._makeVirtualizer(i,e)}this._virtualizer.items=this._items}_setFunctions(t){const{renderItem:e,keyFunction:i}=t;e&&(this._renderItem=(s,r)=>e(s,r+this._first)),i&&(this._keyFunction=(s,r)=>i(s,r+this._first))}_makeVirtualizer(t,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:i,scroller:s,items:r}=e;this._virtualizer=new q({hostElement:t,layout:i,scroller:s}),this._virtualizer.items=r,this._virtualizer.connected()}_initialize(t,e){const i=t.parentNode;i&&i.nodeType===1&&(i.addEventListener("rangeChanged",s=>{this._first=s.first,this._last=s.last,this.setValue(this.render())}),this._makeVirtualizer(i,e))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}}const U=k.directive(W);class m extends h.LitElement{constructor(){super(...arguments),this.items=[],this.renderItem=V,this.keyFunction=O,this.layout={},this.scroller=!1}createRenderRoot(){return this}render(){const{items:t,renderItem:e,keyFunction:i,layout:s,scroller:r}=this;return h.html`${U({items:t,renderItem:e,keyFunction:i,layout:s,scroller:r})}`}element(t){return this[T]?.element(t)}get layoutComplete(){return this[T]?.layoutComplete}scrollToIndex(t,e="start"){this.element(t)?.scrollIntoView({block:e})}}y.i([g.property({attribute:!1})],m.prototype,"items",void 0),y.i([g.property()],m.prototype,"renderItem",void 0),y.i([g.property()],m.prototype,"keyFunction",void 0),y.i([g.property({attribute:!1})],m.prototype,"layout",void 0),y.i([g.property({reflect:!0,type:Boolean})],m.prototype,"scroller",void 0),customElements.define("lit-virtualizer",m);var G=Object.defineProperty,J=Object.getOwnPropertyDescriptor,d=(l,t,e,i)=>{for(var s,r=i>1?void 0:i?J(t,e):t,o=l.length-1;o>=0;o--)(s=l[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&G(t,e,r),r};exports.SchmancyDataTable=class extends D.$LitElement(){constructor(){super(),this.columns=[],this.data=[],this.keyField="id",this.cols="1fr",this.sortable=!1,this.sortColumn=null,this.sortDirection=null,this.filteredData=[],this.filteredData=this.data}willUpdate(l){(l.has("data")||l.has("sortColumn")||l.has("sortDirection"))&&this.processData()}isDate(l){return l&&typeof l=="object"&&Object.prototype.toString.call(l)==="[object Date]"}processData(){let l=[...this.data];if(this.sortable&&this.sortColumn&&this.sortDirection){const t=this.columns.find(e=>e.key===this.sortColumn);l.sort((e,i)=>{let s,r;if(t&&t.value?(s=t.value(e),r=t.value(i)):(s=e[this.sortColumn],r=i[this.sortColumn]),s==null)return this.sortDirection==="asc"?1:-1;if(r==null)return this.sortDirection==="asc"?-1:1;if(typeof s=="number"&&typeof r=="number")return this.sortDirection==="asc"?s-r:r-s;const o=typeof s=="string"&&!isNaN(Number(s)),u=typeof r=="string"&&!isNaN(Number(r));if(o&&u){const p=parseFloat(s),f=parseFloat(r);return this.sortDirection==="asc"?p-f:f-p}if(this.isDate(s)&&this.isDate(r))return this.sortDirection==="asc"?s.getTime()-r.getTime():r.getTime()-s.getTime();const n=String(s),a=String(r);return this.sortDirection==="asc"?n.localeCompare(a):a.localeCompare(n)})}this.filteredData=l}toggleSort(l){if(!l.key||l.sortable===!1)return;const t=l.key;t===this.sortColumn?this.sortDirection==="asc"?this.sortDirection="desc":this.sortDirection==="desc"?this.sortDirection=null:this.sortDirection="asc":(this.sortColumn=t,this.sortDirection="asc"),this.dispatchEvent(new CustomEvent("sort-change",{detail:{column:this.sortColumn,direction:this.sortDirection},bubbles:!0,composed:!0}))}renderSortIndicator(l){return this.sortable&&l.sortable!==!1&&l.key&&l.key===this.sortColumn?h.html`
19
+ `}},v([c.property({type:Array,attribute:!1})],exports.SchmancyTableRow.prototype,"columns",2),v([c.property({type:Object,attribute:!1})],exports.SchmancyTableRow.prototype,"item",2),v([c.property({type:String})],exports.SchmancyTableRow.prototype,"cols",2),exports.SchmancyTableRow=v([c.customElement("schmancy-table-row")],exports.SchmancyTableRow);class C extends Event{constructor(t){super(C.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}C.eventName="rangeChanged";class S extends Event{constructor(t){super(S.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}S.eventName="visibilityChanged";class E extends Event{constructor(){super(E.eventName,{bubbles:!1})}}E.eventName="unpinned";class P{constructor(t){this._element=null;const e=t??window;this._node=e,t&&(this._element=t)}get element(){return this._element||document.scrollingElement||document.documentElement}get scrollTop(){return this.element.scrollTop||window.scrollY}get scrollLeft(){return this.element.scrollLeft||window.scrollX}get scrollHeight(){return this.element.scrollHeight}get scrollWidth(){return this.element.scrollWidth}get viewportHeight(){return this._element?this._element.getBoundingClientRect().height:window.innerHeight}get viewportWidth(){return this._element?this._element.getBoundingClientRect().width:window.innerWidth}get maxScrollTop(){return this.scrollHeight-this.viewportHeight}get maxScrollLeft(){return this.scrollWidth-this.viewportWidth}}class H extends P{constructor(t,e){super(e),this._clients=new Set,this._retarget=null,this._end=null,this.t=null,this.correctingScrollError=!1,this._checkForArrival=this._checkForArrival.bind(this),this._updateManagedScrollTo=this._updateManagedScrollTo.bind(this),this.scrollTo=this.scrollTo.bind(this),this.scrollBy=this.scrollBy.bind(this);const i=this._node;this._originalScrollTo=i.scrollTo,this._originalScrollBy=i.scrollBy,this._originalScroll=i.scroll,this._attach(t)}get _destination(){return this.t}get scrolling(){return this._destination!==null}scrollTo(t,e){const i=typeof t=="number"&&typeof e=="number"?{left:t,top:e}:t;this._scrollTo(i)}scrollBy(t,e){const i=typeof t=="number"&&typeof e=="number"?{left:t,top:e}:t;i.top!==void 0&&(i.top+=this.scrollTop),i.left!==void 0&&(i.left+=this.scrollLeft),this._scrollTo(i)}_nativeScrollTo(t){this._originalScrollTo.bind(this._element||window)(t)}_scrollTo(t,e=null,i=null){this._end!==null&&this._end(),t.behavior==="smooth"?(this._setDestination(t),this._retarget=e,this._end=i):this._resetScrollState(),this._nativeScrollTo(t)}_setDestination(t){let{top:e,left:i}=t;return e=e===void 0?void 0:Math.max(0,Math.min(e,this.maxScrollTop)),i=i===void 0?void 0:Math.max(0,Math.min(i,this.maxScrollLeft)),(this._destination===null||i!==this._destination.left||e!==this._destination.top)&&(this.t={top:e,left:i,behavior:"smooth"},!0)}_resetScrollState(){this.t=null,this._retarget=null,this._end=null}_updateManagedScrollTo(t){this._destination&&this._setDestination(t)&&this._nativeScrollTo(this._destination)}managedScrollTo(t,e,i){return this._scrollTo(t,e,i),this._updateManagedScrollTo}correctScrollError(t){this.correctingScrollError=!0,requestAnimationFrame(()=>requestAnimationFrame(()=>this.correctingScrollError=!1)),this._nativeScrollTo(t),this._retarget&&this._setDestination(this._retarget()),this._destination&&this._nativeScrollTo(this._destination)}_checkForArrival(){if(this._destination!==null){const{scrollTop:t,scrollLeft:e}=this;let{top:i,left:s}=this._destination;i=Math.min(i||0,this.maxScrollTop),s=Math.min(s||0,this.maxScrollLeft);const r=Math.abs(i-t),o=Math.abs(s-e);r<1&&o<1&&(this._end&&this._end(),this._resetScrollState())}}detach(t){return this._clients.delete(t),this._clients.size===0&&(this._node.scrollTo=this._originalScrollTo,this._node.scrollBy=this._originalScrollBy,this._node.scroll=this._originalScroll,this._node.removeEventListener("scroll",this._checkForArrival)),null}_attach(t){this._clients.add(t),this._clients.size===1&&(this._node.scrollTo=this.scrollTo,this._node.scrollBy=this.scrollBy,this._node.scroll=this.scrollTo,this._node.addEventListener("scroll",this._checkForArrival))}}let L=typeof window<"u"?window.ResizeObserver:void 0;const T=Symbol("virtualizerRef"),b="virtualizer-sizer";let z;class q{constructor(t){if(this._benchmarkStart=null,this._layout=null,this._clippingAncestors=[],this._scrollSize=null,this._scrollError=null,this._childrenPos=null,this._childMeasurements=null,this._toBeMeasured=new Map,this._rangeChanged=!0,this._itemsChanged=!0,this._visibilityChanged=!0,this._scrollerController=null,this._isScroller=!1,this._sizer=null,this._hostElementRO=null,this._childrenRO=null,this._mutationObserver=null,this._scrollEventListeners=[],this._scrollEventListenerOptions={passive:!0},this._loadListener=this._childLoaded.bind(this),this._scrollIntoViewTarget=null,this._updateScrollIntoViewCoordinates=null,this._items=[],this._first=-1,this._last=-1,this._firstVisible=-1,this._lastVisible=-1,this._scheduled=new WeakSet,this._measureCallback=null,this._measureChildOverride=null,this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null,this._layoutInitialized=null,this._connected=!1,!t)throw new Error("Virtualizer constructor requires a configuration object");if(!t.hostElement)throw new Error('Virtualizer configuration requires the "hostElement" property');this._init(t)}set items(t){Array.isArray(t)&&t!==this._items&&(this._itemsChanged=!0,this._items=t,this._schedule(this._updateLayout))}_init(t){this._isScroller=!!t.scroller,this._initHostElement(t);const e=t.layout||{};this._layoutInitialized=this._initLayout(e)}_initObservers(){this._mutationObserver=new MutationObserver(this._finishDOMUpdate.bind(this)),this._hostElementRO=new L(()=>this._hostElementSizeChanged()),this._childrenRO=new L(this._childrenSizeChanged.bind(this))}_initHostElement(t){const e=this._hostElement=t.hostElement;this._applyVirtualizerStyles(),e[T]=this}connected(){this._initObservers();const t=this._isScroller;this._clippingAncestors=(function(e,i=!1){let s=!1;return(function(r,o=!1){const u=[];let n=o?r:k(r);for(;n!==null;)u.push(n),n=k(n);return u})(e,i).filter(r=>{if(s)return!1;const o=getComputedStyle(r);return s=o.position==="fixed",o.overflow!=="visible"})})(this._hostElement,t),this._scrollerController=new H(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach(t=>{t.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(t),this._hostElementRO.observe(t)}),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach(t=>this._childrenRO.observe(t)),this._scrollEventListeners.forEach(t=>t.addEventListener("scroll",this,this._scrollEventListenerOptions))}disconnected(){this._scrollEventListeners.forEach(t=>t.removeEventListener("scroll",this,this._scrollEventListenerOptions)),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const t=this._hostElement.style;t.display=t.display||"block",t.position=t.position||"relative",t.contain=t.contain||"size layout",this._isScroller&&(t.overflow=t.overflow||"auto",t.minHeight=t.minHeight||"150px")}_getSizer(){const t=this._hostElement;if(!this._sizer){let e=t.querySelector(`[${b}]`);e||(e=document.createElement("div"),e.setAttribute(b,""),t.appendChild(e)),Object.assign(e.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),e.textContent="&nbsp;",e.setAttribute(b,""),this._sizer=e}return this._sizer}async updateLayoutConfig(t){await this._layoutInitialized;const e=t.type||z;if(typeof e=="function"&&this._layout instanceof e){const i={...t};return delete i.type,this._layout.config=i,!0}return!1}async _initLayout(t){let e,i;if(typeof t.type=="function"){i=t.type;const s={...t};delete s.type,e=s}else e=t;i===void 0&&(z=i=(await Promise.resolve().then(()=>require("./flow-D0e7hGXO.cjs"))).FlowLayout),this._layout=new i(s=>this._handleLayoutMessage(s),e),this._layout.measureChildren&&typeof this._layout.updateItemSizes=="function"&&(typeof this._layout.measureChildren=="function"&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){this._benchmarkStart===null&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(this._benchmarkStart!==null){const t=window.performance.now(),e=t-this._benchmarkStart,i=performance.getEntriesByName("uv-virtualizing","measure").filter(s=>s.startTime>=this._benchmarkStart&&s.startTime<t).reduce((s,r)=>s+r.duration,0);return this._benchmarkStart=null,{timeElapsed:e,virtualizationTime:i}}return null}_measureChildren(){const t={},e=this._children,i=this._measureChildOverride||this._measureChild;for(let s=0;s<e.length;s++){const r=e[s],o=this._first+s;(this._itemsChanged||this._toBeMeasured.has(r))&&(t[o]=i.call(this,r,this._items[o]))}this._childMeasurements=t,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(t){const{width:e,height:i}=t.getBoundingClientRect();return Object.assign({width:e,height:i},(function(s){const r=window.getComputedStyle(s);return{marginTop:w(r.marginTop),marginRight:w(r.marginRight),marginBottom:w(r.marginBottom),marginLeft:w(r.marginLeft)}})(t))}async _schedule(t){this._scheduled.has(t)||(this._scheduled.add(t),await Promise.resolve(),this._scheduled.delete(t),t.call(this))}async _updateDOM(t){this._scrollSize=t.scrollSize,this._adjustRange(t.range),this._childrenPos=t.childPositions,this._scrollError=t.scrollError||null;const{_rangeChanged:e,_itemsChanged:i}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(e||i)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach(t=>this._childrenRO.observe(t)),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),this._childMeasurements!==null&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch{}window.performance.mark("uv-start")}this._scrollerController.correctingScrollError===!1&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(t){t.type==="scroll"&&(t.currentTarget===window||this._clippingAncestors.includes(t.currentTarget))&&this._handleScrollEvent()}_handleLayoutMessage(t){t.type==="stateChanged"?this._updateDOM(t):t.type==="visibilityChanged"?(this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._notifyVisibility()):t.type==="unpinned"&&this._hostElement.dispatchEvent(new E)}get _children(){const t=[];let e=this._hostElement.firstElementChild;for(;e;)e.hasAttribute(b)||t.push(e),e=e.nextElementSibling;return t}_updateView(){const t=this._hostElement,e=this._scrollerController?.element,i=this._layout;if(t&&e&&i){let s,r,o,u;const n=t.getBoundingClientRect();s=0,r=0,o=window.innerHeight,u=window.innerWidth;const a=this._clippingAncestors.map(_=>_.getBoundingClientRect());a.unshift(n);for(const _ of a)s=Math.max(s,_.top),r=Math.max(r,_.left),o=Math.min(o,_.bottom),u=Math.min(u,_.right);const p=e.getBoundingClientRect(),f={left:n.left-p.left,top:n.top-p.top},R={width:e.scrollWidth,height:e.scrollHeight},M=s-n.top+t.scrollTop,$=r-n.left+t.scrollLeft,I=Math.max(0,o-s),F=Math.max(0,u-r);i.viewportSize={width:F,height:I},i.viewportScroll={top:M,left:$},i.totalScrollSize=R,i.offsetWithinScroller=f}}_sizeHostElement(t){const i=t&&t.width!==null?Math.min(82e5,t.width):0,s=t&&t.height!==null?Math.min(82e5,t.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${i}px, ${s}px)`;else{const r=this._hostElement.style;r.minWidth=i?`${i}px`:"100%",r.minHeight=s?`${s}px`:"100%"}}_positionChildren(t){t&&t.forEach(({top:e,left:i,width:s,height:r,xOffset:o,yOffset:u},n)=>{const a=this._children[n-this._first];a&&(a.style.position="absolute",a.style.boxSizing="border-box",a.style.transform=`translate(${i}px, ${e}px)`,s!==void 0&&(a.style.width=s+"px"),r!==void 0&&(a.style.height=r+"px"),a.style.left=o===void 0?null:o+"px",a.style.top=u===void 0?null:u+"px")})}async _adjustRange(t){const{_first:e,_last:i,_firstVisible:s,_lastVisible:r}=this;this._first=t.first,this._last=t.last,this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==e||this._last!==i,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==s||this._lastVisible!==r}_correctScrollError(){if(this._scrollError){const{scrollTop:t,scrollLeft:e}=this._scrollerController,{top:i,left:s}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:t-i,left:e-s})}}element(t){return t===1/0&&(t=this._items.length-1),this._items?.[t]===void 0?void 0:{scrollIntoView:(e={})=>this._scrollElementIntoView({...e,index:t})}}_scrollElementIntoView(t){if(t.index>=this._first&&t.index<=this._last)this._children[t.index-this._first].scrollIntoView(t);else if(t.index=Math.min(t.index,this._items.length-1),t.behavior==="smooth"){const e=this._layout.getScrollIntoViewCoordinates(t),{behavior:i}=t;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(e,{behavior:i}),()=>this._layout.getScrollIntoViewCoordinates(t),()=>this._scrollIntoViewTarget=null),this._scrollIntoViewTarget=t}else this._layout.pin=t}_checkScrollIntoViewTarget(t){const{index:e}=this._scrollIntoViewTarget||{};e&&t?.has(e)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new C({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new S({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise((t,e)=>{this._layoutCompleteResolver=t,this._layoutCompleteRejecter=e})),this._layoutCompletePromise}_rejectLayoutCompletePromise(t){this._layoutCompleteRejecter!==null&&this._layoutCompleteRejecter(t),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&this._pendingLayoutComplete===null&&(this._pendingLayoutComplete=requestAnimationFrame(()=>requestAnimationFrame(()=>this._resolveLayoutCompletePromise())))}_resolveLayoutCompletePromise(){this._layoutCompleteResolver!==null&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(t){if(this._layout?.measureChildren){for(const e of t)this._toBeMeasured.set(e.target,e.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function w(l){const t=l?parseFloat(l):NaN;return Number.isNaN(t)?0:t}function k(l){if(l.assignedSlot!==null)return l.assignedSlot;if(l.parentElement!==null)return l.parentElement;const t=l.parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host||null}const O=l=>l,V=(l,t)=>h.html`${t}: ${JSON.stringify(l,null,2)}`;class W extends A.AsyncDirective{constructor(t){if(super(t),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(e,i)=>V(e,i+this._first),this._keyFunction=(e,i)=>O(e,this._first),this._items=[],t.type!==x.PartType.CHILD)throw new Error("The virtualize directive can only be used in child expressions")}render(t){t&&this._setFunctions(t);const e=[];if(this._first>=0&&this._last>=this._first)for(let i=this._first;i<=this._last;i++)e.push(this._items[i]);return N.repeat(e,this._keyFunction,this._renderItem)}update(t,[e]){this._setFunctions(e);const i=this._items!==e.items;return this._items=e.items||[],this._virtualizer?this._updateVirtualizerConfig(t,e):this._initialize(t,e),i?h.noChange:this.render()}async _updateVirtualizerConfig(t,e){if(!await this._virtualizer.updateLayoutConfig(e.layout||{})){const i=t.parentNode;this._makeVirtualizer(i,e)}this._virtualizer.items=this._items}_setFunctions(t){const{renderItem:e,keyFunction:i}=t;e&&(this._renderItem=(s,r)=>e(s,r+this._first)),i&&(this._keyFunction=(s,r)=>i(s,r+this._first))}_makeVirtualizer(t,e){this._virtualizer&&this._virtualizer.disconnected();const{layout:i,scroller:s,items:r}=e;this._virtualizer=new q({hostElement:t,layout:i,scroller:s}),this._virtualizer.items=r,this._virtualizer.connected()}_initialize(t,e){const i=t.parentNode;i&&i.nodeType===1&&(i.addEventListener("rangeChanged",s=>{this._first=s.first,this._last=s.last,this.setValue(this.render())}),this._makeVirtualizer(i,e))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}}const U=x.directive(W);class m extends h.LitElement{constructor(){super(...arguments),this.items=[],this.renderItem=V,this.keyFunction=O,this.layout={},this.scroller=!1}createRenderRoot(){return this}render(){const{items:t,renderItem:e,keyFunction:i,layout:s,scroller:r}=this;return h.html`${U({items:t,renderItem:e,keyFunction:i,layout:s,scroller:r})}`}element(t){return this[T]?.element(t)}get layoutComplete(){return this[T]?.layoutComplete}scrollToIndex(t,e="start"){this.element(t)?.scrollIntoView({block:e})}}y.i([g.property({attribute:!1})],m.prototype,"items",void 0),y.i([g.property()],m.prototype,"renderItem",void 0),y.i([g.property()],m.prototype,"keyFunction",void 0),y.i([g.property({attribute:!1})],m.prototype,"layout",void 0),y.i([g.property({reflect:!0,type:Boolean})],m.prototype,"scroller",void 0),customElements.define("lit-virtualizer",m);var G=Object.defineProperty,J=Object.getOwnPropertyDescriptor,d=(l,t,e,i)=>{for(var s,r=i>1?void 0:i?J(t,e):t,o=l.length-1;o>=0;o--)(s=l[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&G(t,e,r),r};exports.SchmancyDataTable=class extends D.$LitElement(){constructor(){super(),this.columns=[],this.data=[],this.keyField="id",this.cols="1fr",this.sortable=!1,this.sortColumn=null,this.sortDirection=null,this.filteredData=[],this.filteredData=this.data}willUpdate(l){(l.has("data")||l.has("sortColumn")||l.has("sortDirection"))&&this.processData()}isDate(l){return l&&typeof l=="object"&&Object.prototype.toString.call(l)==="[object Date]"}processData(){let l=[...this.data];if(this.sortable&&this.sortColumn&&this.sortDirection){const t=this.columns.find(e=>e.key===this.sortColumn);l.sort((e,i)=>{let s,r;if(t&&t.value?(s=t.value(e),r=t.value(i)):(s=e[this.sortColumn],r=i[this.sortColumn]),s==null)return this.sortDirection==="asc"?1:-1;if(r==null)return this.sortDirection==="asc"?-1:1;if(typeof s=="number"&&typeof r=="number")return this.sortDirection==="asc"?s-r:r-s;const o=typeof s=="string"&&!isNaN(Number(s)),u=typeof r=="string"&&!isNaN(Number(r));if(o&&u){const p=parseFloat(s),f=parseFloat(r);return this.sortDirection==="asc"?p-f:f-p}if(this.isDate(s)&&this.isDate(r))return this.sortDirection==="asc"?s.getTime()-r.getTime():r.getTime()-s.getTime();const n=String(s),a=String(r);return this.sortDirection==="asc"?n.localeCompare(a):a.localeCompare(n)})}this.filteredData=l}toggleSort(l){if(!l.key||l.sortable===!1)return;const t=l.key;t===this.sortColumn?this.sortDirection==="asc"?this.sortDirection="desc":this.sortDirection==="desc"?this.sortDirection=null:this.sortDirection="asc":(this.sortColumn=t,this.sortDirection="asc"),this.dispatchEvent(new CustomEvent("sort-change",{detail:{column:this.sortColumn,direction:this.sortDirection},bubbles:!0,composed:!0}))}renderSortIndicator(l){return this.sortable&&l.sortable!==!1&&l.key&&l.key===this.sortColumn?h.html`
20
20
  <span class="ml-1">
21
21
  ${this.sortDirection==="asc"?h.html`<schmancy-icon size="16px">arrow_upward</schmancy-icon>`:this.sortDirection==="desc"?h.html`<schmancy-icon size="16px">arrow_downward</schmancy-icon>`:null}
22
22
  </span>
@@ -43,6 +43,7 @@
43
43
  scroller
44
44
  class="w-full h-full relative overflow-auto"
45
45
  .items=${this.filteredData}
46
+ .keyFunction=${(t,e)=>{const i=t?.[this.keyField];return i==null?e:typeof i=="string"||typeof i=="number"?i:String(i)}}
46
47
  .renderItem=${(t,e)=>h.html`
47
48
  <schmancy-table-row
48
49
  class="w-full border-b border-solid border-outlineVariant"
@@ -60,4 +61,4 @@
60
61
  `}
61
62
  </schmancy-grid>
62
63
  `}},d([c.property({type:Array,attribute:!1})],exports.SchmancyDataTable.prototype,"columns",2),d([c.property({type:Array,attribute:!1})],exports.SchmancyDataTable.prototype,"data",2),d([c.property({type:String})],exports.SchmancyDataTable.prototype,"keyField",2),d([c.property({type:String})],exports.SchmancyDataTable.prototype,"cols",2),d([c.property({type:Boolean})],exports.SchmancyDataTable.prototype,"sortable",2),d([c.state()],exports.SchmancyDataTable.prototype,"sortColumn",2),d([c.state()],exports.SchmancyDataTable.prototype,"sortDirection",2),d([c.state()],exports.SchmancyDataTable.prototype,"filteredData",2),exports.SchmancyDataTable=d([c.customElement("schmancy-table")],exports.SchmancyDataTable);
63
- //# sourceMappingURL=table-D-g4ZBys.cjs.map
64
+ //# sourceMappingURL=table-DEnB9_Rf.cjs.map