@mhmo91/schmancy 0.7.4 → 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-Db95uagl.cjs → avatar-Bo8kRnA-.cjs} +2 -2
  24. package/dist/{avatar-Db95uagl.cjs.map → avatar-Bo8kRnA-.cjs.map} +1 -1
  25. package/dist/{avatar-TpHjBCrR.js → avatar-Dm_qg-n1.js} +52 -52
  26. package/dist/{avatar-TpHjBCrR.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-C8PcWr7Y.cjs +0 -26
  374. package/dist/menu-C8PcWr7Y.cjs.map +0 -1
  375. package/dist/menu-DthqNQR7.js +0 -63
  376. package/dist/menu-DthqNQR7.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 +0,0 @@
1
- {"version":3,"file":"details-DydvHvfw.cjs","sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\r\nimport { css, html, LitElement } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { BehaviorSubject } from 'rxjs'\r\n\r\n@customElement('schmancy-details')\r\nexport default class SchmancyDetails extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t/* Hide browser default marker */\r\n\tsummary::-webkit-details-marker {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\tsummary {\r\n\t\tlist-style: none;\r\n\t}\r\n\r\n\t/* Container border-radius following M3 spec */\r\n\tdetails {\r\n\t\t/* M3 medium shape for expandable components */\r\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\r\n\t\ttransition: all var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard);\r\n\t}\r\n\r\n\t/* Variant-specific styles */\r\n\t:host([variant='outlined']) details {\r\n\t\tborder: 1px solid var(--schmancy-sys-color-outline-variant);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\r\n\t}\r\n\r\n\t:host([variant='filled']) details {\r\n\t\t/* M3: container surface */\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details {\r\n\t\t/* M3: containerLow when closed */\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-containerLow);\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details[open] {\r\n\t\t/* M3: elevated state increases elevation and changes surface */\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t/* Animation keyframes */\r\n\t@keyframes slideDown {\r\n\t\tfrom { opacity: 0; transform: translateY(-8px); }\r\n\t\tto { opacity: 1; transform: translateY(0); }\r\n\t}\r\n\r\n\t@keyframes ripple {\r\n\t\tto { transform: scale(4); opacity: 0; }\r\n\t}\r\n\r\n\t.content-wrapper[data-open='true'] {\r\n\t\tanimation: slideDown var(--schmancy-sys-motion-duration-medium1) var(--schmancy-sys-motion-easing-emphasized-decelerate);\r\n\t}\r\n\r\n\t/* Focus ring following M3 spec */\r\n\tsummary:focus-visible {\r\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\r\n\t\toutline-offset: 2px;\r\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\r\n\t}\r\n\r\n\t/* Icon rotation transition with M3 motion */\r\n\t.icon-rotate {\r\n\t\ttransform: rotate(90deg);\r\n\t}\r\n`) {\r\n\tprotected static shadowRootOptions = {\r\n\t\t...LitElement.shadowRootOptions,\r\n\t\tmode: 'open' as const,\r\n\t\tdelegatesFocus: true,\r\n\t}\r\n\r\n\t@property() summary = ''\r\n\t@property({ type: Boolean, reflect: true })\r\n\tget open() {\r\n\t\treturn this._open$.value\r\n\t}\r\n\tset open(value: boolean) {\r\n\t\tif (this._open$.value !== value) {\r\n\t\t\tthis._open$.next(value)\r\n\t\t}\r\n\t}\r\n\t@property({ reflect: true }) variant: 'default' | 'outlined' | 'filled' | 'elevated' = 'default'\r\n\r\n\t// Internal state for ripple effects\r\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\r\n\t@state() private pressed = false\r\n\r\n\tprivate nextRippleId = 0\r\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\r\n\r\n\trender() {\r\n\t\tconst isOpen = this._open$.value\r\n\r\n\t\t// Dynamic state layer opacity - using M3 standard values\r\n\t\tconst stateLayerOpacity = this.pressed\r\n\t\t\t? 'opacity-12' // M3 pressed state: 12%\r\n\t\t\t: this.variant === 'default'\r\n\t\t\t\t? 'opacity-0 hover:opacity-8' // M3 hover state: 8%\r\n\t\t\t\t: 'opacity-0 hover:opacity-8'\r\n\r\n\t\t// Dynamic icon rotation class\r\n\t\tconst iconClasses = this.classMap({\r\n\t\t\t'flex items-center justify-center w-6 h-6 rounded-full flex-shrink-0': true,\r\n\t\t\t'text-surface-onVariant group-hover:text-surface-on': true,\r\n\t\t\t'transition-all duration-200': true,\r\n\t\t\t'icon-rotate': isOpen\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<details\r\n\t\t\t\t?open=${isOpen}\r\n\t\t\t\t@toggle=${this._handleToggle}\r\n\t\t\t\tclass=\"w-full overflow-hidden\"\r\n\t\t\t>\r\n\t\t\t\t<summary\r\n\t\t\t\t\tclass=\"cursor-pointer select-none relative flex items-center gap-3 min-h-[48px] sm:min-h-[56px] px-4 sm:px-6 py-3 sm:py-4 rounded-xl transition-colors duration-200 text-surface-on group\"\r\n\t\t\t\t\t@click=${this._handleClick}\r\n\t\t\t\t\t@mousedown=${this._handleMouseDown}\r\n\t\t\t\t\t@mouseup=${this._handleMouseUp}\r\n\t\t\t\t\t@mouseleave=${this._handleMouseLeave}\r\n\t\t\t\t\t@keydown=${this._handleKeyDown}\r\n\t\t\t\t\t@keyup=${this._handleKeyUp}\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<!-- State layer for hover/focus/pressed states -->\r\n\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${stateLayerOpacity}\"></div>\r\n\r\n\t\t\t\t\t<!-- Ripple container -->\r\n\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\r\n\t\t\t\t\t\t${this.ripples.map(\r\n\t\t\t\t\t\t\tripple => html`\r\n\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-12 pointer-events-none\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\t\t\t\tleft: ${ripple.x}px;\r\n\t\t\t\t\t\t\t\t\t\ttop: ${ripple.y}px;\r\n\t\t\t\t\t\t\t\t\t\twidth: 20px;\r\n\t\t\t\t\t\t\t\t\t\theight: 20px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-left: -10px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-top: -10px;\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t></span>\r\n\t\t\t\t\t\t\t`,\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<!-- Summary content -->\r\n\t\t\t\t\t<span class=\"relative flex-1 font-medium text-base sm:text-lg z-10\">\r\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\r\n\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t<!-- Expand/collapse icon -->\r\n\t\t\t\t\t<span class=${iconClasses}>\r\n\t\t\t\t\t\t<svg\r\n\t\t\t\t\t\t\twidth=\"24\"\r\n\t\t\t\t\t\t\theight=\"24\"\r\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\t\t\t\tclass=\"w-5 h-5 sm:w-6 sm:h-6\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<path\r\n\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\r\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\r\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\r\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\r\n\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</summary>\r\n\r\n\t\t\t\t<!-- Content area -->\r\n\t\t\t\t${isOpen ? html`\r\n\t\t\t\t\t<div class=\"px-4 sm:px-6 pb-3 sm:pb-4 text-surface-onVariant text-sm sm:text-base\">\r\n\t\t\t\t\t\t<div class=\"content-wrapper\" data-open=\"true\">\r\n\t\t\t\t\t\t\t<slot></slot>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t` : ''}\r\n\t\t\t</details>\r\n\t\t`\r\n\t}\r\n\r\n\tprivate _handleToggle(e: Event) {\r\n\t\tconst details = e.target as HTMLDetailsElement\r\n\t\tthis._open$.next(details.open)\r\n\t\tthis._dispatchToggleEvent(details.open)\r\n\t}\r\n\r\n\tprivate _toggleOpen(x: number, y: number) {\r\n\t\t// Add ripple effect\r\n\t\tconst id = this.nextRippleId++\r\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\r\n\r\n\t\t// Remove ripple after animation\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\r\n\t\t}, 600)\r\n\r\n\t\t// Toggle state\r\n\t\tconst newState = !this._open$.value\r\n\t\tthis._open$.next(newState)\r\n\t\tthis._dispatchToggleEvent(newState)\r\n\t}\r\n\r\n\tprivate _dispatchToggleEvent(open: boolean) {\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('toggle', {\r\n\t\t\t\tdetail: { open },\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tprivate _handleClick(e: MouseEvent) {\r\n\t\te.preventDefault()\r\n\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\tthis._toggleOpen(e.clientX - rect.left, e.clientY - rect.top)\r\n\t}\r\n\r\n\tprivate _handleKeyDown(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\te.preventDefault()\r\n\t\t\tthis.pressed = true\r\n\t\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\t\tthis._toggleOpen(rect.width / 2, rect.height / 2)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _handleKeyUp(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\tthis.pressed = false\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _handleMouseDown() {\r\n\t\tthis.pressed = true\r\n\t}\r\n\r\n\tprivate _handleMouseUp() {\r\n\t\tthis.pressed = false\r\n\t}\r\n\r\n\tprivate _handleMouseLeave() {\r\n\t\tthis.pressed = false\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-details': SchmancyDetails\r\n\t}\r\n}\r\n"],"names":["SchmancyDetails","TailwindElement","css","constructor","super","arguments","this","summary","variant","ripples","pressed","nextRippleId","_open$","BehaviorSubject","open","value","next","render","isOpen","stateLayerOpacity","iconClasses","classMap","html","_handleToggle","_handleClick","_handleMouseDown","_handleMouseUp","_handleMouseLeave","_handleKeyDown","_handleKeyUp","map","ripple","x","y","e","details","target","_dispatchToggleEvent","id","setTimeout","filter","r","newState","dispatchEvent","CustomEvent","detail","bubbles","composed","preventDefault","rect","currentTarget","getBoundingClientRect","_toggleOpen","clientX","left","clientY","top","key","width","height","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","prototype","type","Boolean","reflect","state","customElement"],"mappings":"8aAMqBA,QAAAA,gBAArB,cAA6CC,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,CAA7D,CAAA,CAAA,aAAAC,CAAAC,MAAAA,GAAAC,SAAAA,EA6EaC,KAAAC,QAAU,GAUOD,KAAAE,QAA0D,UAG9EF,KAAQG,QAAuD,CAAA,EAC/DH,KAAQI,QAAAA,GAEjBJ,KAAQK,aAAe,EACvBL,KAAQM,OAAS,IAAIC,EAAAA,gBAAAA,GAA8B,CAfnD,IAAA,MAAIC,CACH,OAAOR,KAAKM,OAAOG,KACpB,CACA,IAAA,KAASA,EAAAA,CACJT,KAAKM,OAAOG,QAAUA,GACzBT,KAAKM,OAAOI,KAAKD,EAEnB,CAUA,QAAAE,CACC,MAAMC,EAASZ,KAAKM,OAAOG,MAGrBI,EAAoBb,KAAKI,QAC5B,cACAJ,KAAKE,QACJ,6BAIEY,EAAcd,KAAKe,SAAS,CACjC,sEAAA,GACA,qDAAA,GACA,iCACA,cAAeH,CAAAA,CAAAA,EAGhB,OAAOI,EAAAA;AAAAA;AAAAA,YAEGJ,CAAAA;AAAAA,cACEZ,KAAKiB,aAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,cAKLjB,KAAKkB,YAAAA;AAAAA,kBACDlB,KAAKmB,gBAAAA;AAAAA,gBACPnB,KAAKoB,cAAAA;AAAAA,mBACFpB,KAAKqB,iBAAAA;AAAAA,gBACRrB,KAAKsB,cAAAA;AAAAA,cACPtB,KAAKuB,YAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iHAI8FV,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA,QAIzGb,KAAKG,QAAQqB,IACdC,GAAUT,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBAICS,EAAOC,CAAAA;AAAAA,iBACRD,EAAOE,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;;6BAaK3B,KAAKC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA,mBAIfa,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAqBbF,EAASI,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAMP,EAAA;AAAA;AAAA,GAGP,CAEQ,cAAcY,EAAAA,CACrB,MAAMC,EAAUD,EAAEE,OAClB9B,KAAKM,OAAOI,KAAKmB,EAAQrB,IAAAA,EACzBR,KAAK+B,qBAAqBF,EAAQrB,IAAAA,CACnC,CAEQ,YAAYkB,EAAWC,EAAAA,CAE9B,MAAMK,EAAKhC,KAAKK,eAChBL,KAAKG,QAAU,IAAIH,KAAKG,QAAS,CAAEuB,EAAAA,EAAGC,EAAAA,EAAGK,GAAAA,CAAAA,CAAAA,EAGzCC,WAAW,IAAA,CACVjC,KAAKG,QAAUH,KAAKG,QAAQ+B,OAAOC,GAAKA,EAAEH,KAAOA,CAAAA,CAAAA,EAC/C,GAAA,EAGH,MAAMI,EAAAA,CAAYpC,KAAKM,OAAOG,MAC9BT,KAAKM,OAAOI,KAAK0B,CAAAA,EACjBpC,KAAK+B,qBAAqBK,CAAAA,CAC3B,CAEQ,qBAAqB5B,EAAAA,CAC5BR,KAAKqC,cACJ,IAAIC,YAAY,SAAU,CACzBC,OAAQ,CAAE/B,QACVgC,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAGb,CAEQ,aAAab,EAAAA,CACpBA,EAAEc,eAAAA,EACF,MAAMC,EAAQf,EAAEgB,cAA8BC,wBAC9C7C,KAAK8C,YAAYlB,EAAEmB,QAAUJ,EAAKK,KAAMpB,EAAEqB,QAAUN,EAAKO,GAAAA,CAC1D,CAEQ,eAAetB,EAAAA,CACtB,GAAIA,EAAEuB,MAAQ,SAAWvB,EAAEuB,MAAQ,IAAK,CACvCvB,EAAEc,eAAAA,EACF1C,KAAKI,QAAAA,GACL,MAAMuC,EAAQf,EAAEgB,cAA8BC,sBAAAA,EAC9C7C,KAAK8C,YAAYH,EAAKS,MAAQ,EAAGT,EAAKU,OAAS,CAAA,CAChD,CACD,CAEQ,aAAazB,EAAAA,CAChBA,EAAEuB,MAAQ,SAAWvB,EAAEuB,MAAQ,MAClCnD,KAAKI,QAAAA,GAEP,CAEQ,kBAAAe,CACPnB,KAAKI,UACN,CAEQ,gBAAAgB,CACPpB,KAAKI,QAAAA,EACN,CAEQ,mBAAAiB,CACPrB,KAAKI,QAAAA,EACN,GA7PoBV,QAAAA,gBAuEH4D,kBAAoB,CAAA,GACjCC,EAAAA,WAAWD,kBACdE,KAAM,OACNC,eAAAA,EAAgB,EAGLC,EAAA,CAAXC,EAAAA,YA7EmBjE,wBA6ERkE,UAAA,UAAA,CAAA,EAERF,EAAA,CADHC,EAAAA,SAAS,CAAEE,KAAMC,QAASC,QAAAA,MA9EPrE,wBA+EhBkE,UAAA,OAAA,CAAA,EAQyBF,EAAA,CAA5BC,WAAS,CAAEI,QAAAA,EAAS,CAAA,CAAA,EAvFDrE,wBAuFSkE,UAAA,UAAA,CAAA,EAGZF,EAAA,CAAhBM,EAAAA,MAAAA,CAAAA,EA1FmBtE,wBA0FHkE,UAAA,UAAA,CAAA,EACAF,EAAA,CAAhBM,EAAAA,SA3FmBtE,wBA2FHkE,UAAA,UAAA,CAAA,EA3FGlE,QAAAA,gBAArBgE,EAAA,CADCO,EAAAA,cAAc,kBAAA,CAAA,EACMvE"}
@@ -1,2 +0,0 @@
1
- "use strict";require("rxjs"),require("rxjs/operators");const p=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const n=require("lit/decorators.js");require("./tailwind.mixin-scDxsqaX.cjs");const c=require("./litElement.mixin-DzCpXwcY.cjs"),h=require("lit");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,s=(e,i,u,o)=>{for(var l,t=o>1?void 0:o?y(i,u):i,a=e.length-1;a>=0;a--)(l=e[a])&&(t=(o?l(i,u,t):l(t))||t);return o&&t&&d(i,u,t),t};let r=class extends c.$LitElement(){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal",this.grow="start"}render(){const e={divider:!0,horizontal:this.orientation==="horizontal",vertical:this.orientation==="vertical","border-outlineVariant":this.outline==="variant","border-outline":this.outline==="default",[`grow-${this.grow}`]:!0};return h.html`<div class="${p.classMap(e)}"></div>`}};s([n.property({type:String})],r.prototype,"outline",2),s([n.property({reflect:!0,type:String})],r.prototype,"orientation",2),s([n.property({type:String})],r.prototype,"grow",2),r=s([n.customElement("schmancy-divider")],r);
2
- //# sourceMappingURL=divider-BF9xljgI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"divider-BF9xljgI.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement() {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","constructor","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":"+dAOA,IAAqBA,EAArB,cAA6CC,EAAAA,cAA7C,aAAAC,CAAAC,SAAAC,SAAAA,EAC6BC,KAAAC,QAAiC,UAClBD,KAAAE,YAAyC,aACxDF,KAAAG,KAAiC,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,QAAAA,GACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,EAAAA,EAAS,EAExB,OAAOM,EAAAA,mBAAmBC,EAAAA,SAASL,CAAAA,CAAAA,UACpC,CAAA,EAd4BM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UADEnB,EACQoB,UAAA,UAAA,CAAA,EACeJ,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAAA,GAAeH,KAAMC,MAAAA,CAAAA,CAAAA,EAFbnB,EAEuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAHEnB,EAGQoB,UAAA,OAAA,CAAA,EAHRpB,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBAAA,CAAA,EACMtB,CAAAA"}
@@ -1,23 +0,0 @@
1
- import "rxjs";
2
- import "rxjs/operators";
3
- import { classMap as m } from "lit/directives/class-map.js";
4
- import "lit/directives/style-map.js";
5
- import { property as l, customElement as c } from "lit/decorators.js";
6
- import "./tailwind.mixin-xIIxrXd8.js";
7
- import { $ as h } from "./litElement.mixin-BzbZQbxa.js";
8
- import { html as d } from "lit";
9
- var u = Object.defineProperty, v = Object.getOwnPropertyDescriptor, a = (o, i, n, e) => {
10
- for (var s, t = e > 1 ? void 0 : e ? v(i, n) : i, p = o.length - 1; p >= 0; p--) (s = o[p]) && (t = (e ? s(i, n, t) : s(t)) || t);
11
- return e && t && u(i, n, t), t;
12
- };
13
- let r = class extends h() {
14
- constructor() {
15
- super(...arguments), this.outline = "variant", this.orientation = "horizontal", this.grow = "start";
16
- }
17
- render() {
18
- const o = { divider: !0, horizontal: this.orientation === "horizontal", vertical: this.orientation === "vertical", "border-outlineVariant": this.outline === "variant", "border-outline": this.outline === "default", [`grow-${this.grow}`]: !0 };
19
- return d`<div class="${m(o)}"></div>`;
20
- }
21
- };
22
- a([l({ type: String })], r.prototype, "outline", 2), a([l({ reflect: !0, type: String })], r.prototype, "orientation", 2), a([l({ type: String })], r.prototype, "grow", 2), r = a([c("schmancy-divider")], r);
23
- //# sourceMappingURL=divider-BHruVdsE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"divider-BHruVdsE.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement() {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","constructor","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;;AAOA,IAAqBA,IAArB,cAA6CC,EAAAA,EAAAA;AAAAA,EAA7C,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GAC6BC,KAAAC,UAAiC,WAClBD,KAAAE,cAAyC,cACxDF,KAAAG,OAAiC;AAAA,EAAA;AAAA,EAEnD,SAAAC;AACT,UAAMC,IAAU,EACfC,aACAC,YAAYP,KAAKE,gBAAgB,cACjCM,UAAUR,KAAKE,gBAAgB,YAC/B,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,WACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,GAAAA,GAAS;AAExB,WAAOM,gBAAmBC,EAASL,CAAAA,CAAAA;AAAAA,EACpC;AAAA;AAd4BM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YADEnB,EACQoB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAAA,IAAeH,MAAMC,OAAAA,CAAAA,CAAAA,GAFbnB,EAEuBoB,WAAA,eAAA,CAAA,GACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAHEnB,EAGQoB,WAAA,QAAA,CAAA,GAHRpB,IAArBgB,EAAA,CADCM,EAAc,kBAAA,CAAA,GACMtB,CAAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-BRcfLsJL.cjs","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends $LitElement(\n\tcss`:host{\n\t\tdisplay: inline-block;\n\t\tmin-width: fit-content;\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t}`\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-5', 'max-w-5', 'sm:max-h-6', 'sm:max-w-6', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant;\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 py-2 px-3 sm:py-1.5 sm:px-3 md:py-2 md:px-4 text-sm sm:text-base transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-1 sm:gap-1.5 md:gap-2 outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden w-[inherit] overflow-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(effectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'filled' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': effectiveVariant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-solid border-outline': effectiveVariant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': effectiveVariant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': effectiveVariant === 'filled tonal',\n\t\t\t'text-primary-default': effectiveVariant === 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled',\n\t\t\t'hover:bg-primary-default': effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * An icon button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The size of the icon.\n\t * @attr\n\t * @default 'md'\n\t */\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\t/**\n\t * Render slot content as text instead of wrapping in schmancy-icon.\n\t * Use this when you want to display text labels in the button.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic text = false\n\n\t// Manage aria-label manually so that we can always use our internal property.\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\t// Add any first-update logic here if needed.\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant;\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 h-full transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(effectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'filled' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full text-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': effectiveVariant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': effectiveVariant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': effectiveVariant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': effectiveVariant === 'filled tonal',\n\t\t\t'text-primary-default': effectiveVariant === 'text',\n\t\t\t'px-[6px] py-[6px]': this.size === 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size === 'md',\n\t\t\t'px-[12px] py-[12px]': this.size === 'lg',\n\t\t\t'px-[16px] py-[16px]': this.size === 'xl',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled',\n\t\t\t'hover:bg-primary-default': effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal',\n\t\t}\n\n\t\t// Icon size mapping\n\t\tconst iconSize = this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : this.size === 'lg' ? '32px' : '40px';\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t${this.text\n\t\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t\t: html`<schmancy-icon size=${iconSize}><slot></slot></schmancy-icon>`\n\t\t\t\t\t}\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t${this.text\n\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t: html`<schmancy-icon size=${iconSize}><slot></slot></schmancy-icon>`\n\t\t\t\t}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmancyButton","$LitElement","css","constructor","super","arguments","this","variant","width","type","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","imgClasses","firstUpdated","prefixImgs","forEach","img","classList","add","setAttribute","suffixImgs","click","dispatchEvent","Event","bubbles","composed","event","preventDefault","stopPropagation","effectiveVariant","classes","stateLayerClasses","href","html","ifDefined","ariaLabel","classMap","_preventDefault","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","text","_changedProperties","render","iconSize"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-PpRHFLCj.js","sources":["../src/button/button.ts","../src/button/icon-button.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\n\nexport interface SchmancyButtonEventMap {\n\tSchmancyFocus: CustomEvent<void>\n\tSchmancyBlur: CustomEvent<void>\n}\n\nexport type ButtonVariant = 'elevated' | 'filled' | 'filled tonal' | 'tonal' | 'outlined' | 'text'\n\n/**\n * A button component.\n * @element schmancy-button\n * @slot - The default slot.\n * @slot prefix - The prefix slot.\n * @slot suffix - The suffix slot.\n */\n@customElement('schmancy-button')\nexport class SchmancyButton extends $LitElement(\n\tcss`:host{\n\t\tdisplay: inline-block;\n\t\tmin-width: fit-content;\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t}`\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t * @public\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t * @public\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t@queryAssignedElements({\n\t\tslot: 'prefix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate prefixImgs!: HTMLImageElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'suffix',\n\t\tflatten: true,\n\t\tselector: 'img',\n\t})\n\tprivate suffixImgs!: HTMLImageElement[]\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['max-h-5', 'max-w-5', 'sm:max-h-6', 'sm:max-w-6', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\t// Add image classes and ensure decorative images have an empty alt.\n\t\tthis.prefixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t\tthis.suffixImgs?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t\tif (!img.hasAttribute('alt')) {\n\t\t\t\timg.setAttribute('alt', '')\n\t\t\t}\n\t\t})\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant;\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 py-2 px-3 sm:py-1.5 sm:px-3 md:py-2 md:px-4 text-sm sm:text-base transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-1 sm:gap-1.5 md:gap-2 outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden w-[inherit] overflow-hidden':\n\t\t\t\ttrue,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(effectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'filled' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full tex-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': effectiveVariant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-solid border-outline': effectiveVariant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': effectiveVariant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': effectiveVariant === 'filled tonal',\n\t\t\t'text-primary-default': effectiveVariant === 'text',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'absolute inset-0 hover:opacity-[0.08] z-0 rounded-full': true,\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled',\n\t\t\t'hover:bg-primary-default': effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal',\n\t\t}\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t<slot name=\"prefix\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"suffix\"></slot>\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-button': SchmancyButton\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { when } from 'lit/directives/when.js'\nimport { ButtonVariant } from './button'\n\n/**\n * An icon button component.\n * @element schmancy-icon-button\n * @slot - The default slot.\n */\n@customElement('schmancy-icon-button')\nexport class SchmnacyIconButton extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t@query('[part=\"base\"]', true)\n\tprivate nativeElement!: HTMLElement\n\n\tprivate _ariaLabel!: string\n\n\t/**\n\t * The size of the icon.\n\t * @attr\n\t * @default 'md'\n\t */\n\t@property({ type: String })\n\tpublic size: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\n\t/**\n\t * The variant of the button.\n\t * @attr\n\t * @default 'text'\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic variant: ButtonVariant = 'text'\n\n\t/**\n\t * The width of the button.\n\t * @attr\n\t * @type {'full' | 'auto'}\n\t * @default 'auto'\n\t */\n\t@property()\n\tpublic width: 'full' | 'auto' = 'auto'\n\n\t/**\n\t * The type of the button.\n\t * Defaults to 'button' (preventing accidental form submissions).\n\t * @attr\n\t */\n\t@property({ reflect: true, type: String })\n\tpublic type: 'button' | 'reset' | 'submit' = 'button'\n\n\t/**\n\t * The URL the button points to.\n\t * If provided, the component will render as an anchor element.\n\t * @attr\n\t */\n\t@property()\n\tpublic href?: string\n\n\t/**\n\t * Determines whether the button is disabled.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\t/**\n\t * Render slot content as text instead of wrapping in schmancy-icon.\n\t * Use this when you want to display text labels in the button.\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic text = false\n\n\t// Manage aria-label manually so that we can always use our internal property.\n\tpublic override set ariaLabel(value: string) {\n\t\tconst oldVal = this._ariaLabel\n\t\tthis._ariaLabel = value\n\n\t\tif (this.hasAttribute('aria-label')) {\n\t\t\tthis.removeAttribute('aria-label')\n\t\t}\n\t\tthis.requestUpdate('ariaLabel', oldVal)\n\t}\n\n\t@property({ attribute: 'aria-label' })\n\tpublic override get ariaLabel() {\n\t\treturn this._ariaLabel\n\t}\n\n\t/** Sets focus in the button. */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.nativeElement.focus(options)\n\t}\n\n\t/** Removes focus from the button. */\n\tpublic override blur() {\n\t\tthis.nativeElement.blur()\n\t}\n\n\tclick(): void {\n\t\tthis.dispatchEvent(new Event('click', { bubbles: true, composed: true }))\n\t}\n\n\t// Prevent default behavior when the component is disabled.\n\tprivate _preventDefault(event: Event) {\n\t\tevent.preventDefault()\n\t\tevent.stopPropagation()\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\t// Add any first-update logic here if needed.\n\t}\n\n\trender() {\n\t\t// Map 'tonal' variant to 'filled tonal' for backwards compatibility\n\t\tconst effectiveVariant = this.variant === 'tonal' ? 'filled tonal' : this.variant;\n\n\t\t// Compute classes for the interactive element.\n\t\tconst classes = {\n\t\t\t'z-0 h-full transition-all duration-200 relative rounded-full inline-flex justify-center items-center gap-[8px] outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'opacity-[0.38]': this.disabled,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'hover:shadow-xs':\n\t\t\t\t!this.disabled &&\n\t\t\t\t(effectiveVariant === 'outlined' ||\n\t\t\t\t\teffectiveVariant === 'text' ||\n\t\t\t\t\teffectiveVariant === 'filled' ||\n\t\t\t\t\teffectiveVariant === 'filled tonal'),\n\t\t\t'hover:shadow-sm': !this.disabled && effectiveVariant === 'elevated',\n\t\t\t'w-full text-center': this.width === 'full',\n\t\t\t'bg-surface-low text-primary-default shadow-xs': effectiveVariant === 'elevated',\n\t\t\t'bg-transparent text-primary-default border-1 border-outline': effectiveVariant === 'outlined',\n\t\t\t'bg-primary-default text-primary-on': effectiveVariant === 'filled',\n\t\t\t'bg-secondary-container text-secondary-onContainer': effectiveVariant === 'filled tonal',\n\t\t\t'text-primary-default': effectiveVariant === 'text',\n\t\t\t'px-[6px] py-[6px]': this.size === 'sm',\n\t\t\t'px-[8px] py-[8px]': this.size === 'md',\n\t\t\t'px-[12px] py-[12px]': this.size === 'lg',\n\t\t\t'px-[16px] py-[16px]': this.size === 'xl',\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'hover:opacity-[0.08] rounded-full z-0': true,\n\t\t\t'hover:bg-primary-on': effectiveVariant === 'filled',\n\t\t\t'hover:bg-primary-default': effectiveVariant === 'outlined' || effectiveVariant === 'elevated' || effectiveVariant === 'text',\n\t\t\t'hover:bg-secondary-container': effectiveVariant === 'filled tonal',\n\t\t}\n\n\t\t// Icon size mapping\n\t\tconst iconSize = this.size === 'sm' ? '18px' : this.size === 'md' ? '24px' : this.size === 'lg' ? '32px' : '40px';\n\n\t\t// If href is provided, render an anchor element.\n\t\tif (this.href) {\n\t\t\treturn html`\n\t\t\t\t<a\n\t\t\t\t\tpart=\"base\"\n\t\t\t\t\thref=${ifDefined(this.disabled ? undefined : this.href)}\n\t\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\t\t@click=${this.disabled ? this._preventDefault : undefined}\n\t\t\t\t>\n\t\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t\t${this.text\n\t\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t\t: html`<schmancy-icon size=${iconSize}><slot></slot></schmancy-icon>`\n\t\t\t\t\t}\n\t\t\t\t</a>\n\t\t\t`\n\t\t}\n\n\t\t// Otherwise, render a native button element.\n\t\treturn html`\n\t\t\t<button\n\t\t\t\tpart=\"base\"\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\ttype=${ifDefined(this.type)}\n\t\t\t\ttabindex=${ifDefined(this.disabled ? '-1' : undefined)}\n\t\t\t>\n\t\t\t\t${when(!this.disabled, () => html`<div class=\"absolute inset-0 ${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t\t${this.text\n\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t: html`<schmancy-icon size=${iconSize}><slot></slot></schmancy-icon>`\n\t\t\t\t}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon-button': SchmnacyIconButton\n\t}\n}\n"],"names":["SchmancyButton","$LitElement","css","constructor","super","arguments","this","variant","width","type","disabled","value","oldVal","_ariaLabel","hasAttribute","removeAttribute","requestUpdate","options","nativeElement","focus","blur","imgClasses","firstUpdated","prefixImgs","forEach","img","classList","add","setAttribute","suffixImgs","click","dispatchEvent","Event","bubbles","composed","event","preventDefault","stopPropagation","effectiveVariant","classes","stateLayerClasses","href","html","ifDefined","ariaLabel","classMap","_preventDefault","when","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","query","prototype","property","reflect","String","Boolean","attribute","queryAssignedElements","slot","flatten","selector","customElement","SchmnacyIconButton","size","text","_changedProperties","iconSize"],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- "use strict";const l=require("lit"),n=require("lit/decorators.js"),o=require("lit/directives/if-defined.js"),d=require("lit/directives/ref.js"),h=require("lit/directives/when.js"),i=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./formField.mixin-D51klHq7.cjs");require("./tailwind.mixin-scDxsqaX.cjs");var y=Object.defineProperty,f=Object.getOwnPropertyDescriptor,a=(t,e,s,r)=>{for(var u,p=r>1?void 0:r?f(e,s):e,c=t.length-1;c>=0;c--)(u=t[c])&&(p=(r?u(e,s,p):u(p))||p);return r&&p&&y(e,s,p),p};exports.SchmancyInput=class extends m.SchmancyFormField("/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */:host{width:100%;min-width:calc(var(--spacing,.25rem)*0);box-sizing:border-box;max-width:100%;display:block}.date-input-container{width:100%;min-width:0;width:100%!important;max-width:100%!important}input{appearance:none;border-radius:8px;width:-webkit-fill-available;font-size:16px}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]{appearance:textfield}input:-webkit-autofill{animation-name:onAutoFillStart;-webkit-box-shadow:0 0 0 30px var(--schmancy-sys-color-surface-highest)inset!important;-webkit-text-fill-color:var(--schmancy-sys-color-surface-on)!important}input:autofill{background-color:var(--schmancy-sys-color-surface-highest)!important;color:var(--schmancy-sys-color-surface-on)!important}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;width:100%;line-height:inherit;border-radius:8px;min-width:100%;max-width:100%;margin:0;display:block;overflow:hidden;border-radius:8px!important;width:100%!important}input::-webkit-datetime-edit{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit-fields-wrapper{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit{flex:1;width:100%}input::-webkit-datetime-edit-fields-wrapper{flex:1;justify-content:space-between;width:100%}input::-webkit-datetime-edit-text{align-items:center;display:flex}input::-webkit-datetime-edit-day-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-month-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-year-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-hour-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-minute-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-second-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-millisecond-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-meridiem-field{flex-shrink:0;padding:0 2px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=month]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=week]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}@-moz-document url-prefix(){input[type=date],input[type=datetime-local],input[type=time]{min-height:inherit}}@supports (-webkit-touch-callout:none){input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;border-radius:0;width:-webkit-fill-available!important;width:fill-available!important;padding-left:12px!important;padding-right:12px!important}input::-webkit-datetime-edit{width:100%!important;padding-left:0!important;padding-right:0!important}input::-webkit-datetime-edit-fields-wrapper{width:100%!important;margin:0!important;padding:0!important}}"){constructor(){super(...arguments),this.value="",this.type="text",this.placeholder="",this.clickable=!1,this.spellcheck=!1,this.align="left",this.autofocus=!1,this.autocomplete="on",this.tabIndex=0,this.size="md",this.validateOn="touched",this.inputRef=d.createRef(),this.isAutofilled=!1,this.touched=!1,this.dirty=!1,this.submitted=!1,this.defaultValue=""}willUpdate(t){this.id||(this.id="sch-input-"+exports.SchmancyInput._idCounter++),super.willUpdate(t)}updated(t){super.updated(t),t.has("value")&&(this.value!==this.defaultValue&&(this.dirty=!0),this.validateInput()),!this.hasUpdated&&t.has("value")&&(this.defaultValue=this.value)}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.setupFormIntegration(),this.setupExternalLabelAssociation()}setupFormIntegration(){this.form&&(this.formResetObserver=new MutationObserver(t=>{for(const e of t)e.type==="attributes"&&e.attributeName==="reset"&&this.resetToDefault()}),this.formResetObserver.observe(this.form,{attributes:!0,childList:!1,subtree:!1}),i.fromEvent(this.form,"reset").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.resetToDefault()}),i.fromEvent(this.form,"submit").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.submitted=!0,this.validateInput(!0)}))}setupExternalLabelAssociation(){if(this.id){const t=()=>{document.querySelectorAll(`label[for="${this.id}"]`).forEach(e=>{i.fromEvent(e,"click").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.focus()})})};document.readyState==="complete"?t():i.fromEvent(document,"DOMContentLoaded").pipe(i.takeUntil(this.disconnecting)).subscribe(t)}}disconnectedCallback(){super.disconnectedCallback(),this.formResetObserver&&this.formResetObserver.disconnect()}resetToDefault(){this.value=this.defaultValue,this.touched=!1,this.dirty=!1,this.submitted=!1,this.error=!1,this.validationMessage="",this.dispatchEvent(new CustomEvent("reset",{bubbles:!0}))}shouldShowValidation(t=!1){if(t)return!0;switch(this.validateOn){case"always":return!0;case"touched":default:return this.touched;case"dirty":return this.dirty;case"submitted":return this.submitted}}validateInput(t=!1){if(this.disabled)return;const e=this.shouldShowValidation(t),s=this.inputElement?.validity??{customError:!1,valid:!0},r=!s.valid&&!s.customError;e&&r?(this.error=!0,this.validationMessage=this.inputElement?.validationMessage||""):s.valid?(this.error=!1,s.customError||(this.validationMessage="")):e||(this.error=!1)}checkValidity(){const t=this.inputRef.value?.checkValidity()??!0,e=super.checkValidity();return t&&e}reportValidity(){this.touched=!0,this.submitted=!0;const t=this.inputRef.value?.reportValidity()??!0;this.validateInput(!0);const e=super.reportValidity();return t&&e}setCustomValidity(t){this.inputRef.value&&this.inputRef.value.setCustomValidity(t),super.setCustomValidity(t),this.error=t!==""&&this.shouldShowValidation()}firstUpdated(){this.autofocus&&setTimeout(()=>{this.focus()},0),this.setupInputEvents(),this.setupFocusBlurEvents(),this.setupAutofillDetection(),this.setupEnterKeyEvents()}setupInputEvents(){i.fromEvent(this.inputElement,"input").pipe(i.map(t=>{const e=t;return{value:t.target.value,inputType:e.inputType,data:e.data,isComposing:e.isComposing,originalEvent:t}}),i.takeUntil(this.disconnecting)).subscribe(t=>{this.value=t.value,this.dirty=this.value!==this.defaultValue;const e=new CustomEvent("input",{detail:{value:t.value},bubbles:!0,composed:!0});Object.defineProperties(e,{inputType:{value:t.inputType},data:{value:t.data},isComposing:{value:t.isComposing}}),this.dispatchEvent(e),this.validateInput()}),i.fromEvent(this.inputElement,"change").pipe(i.map(t=>t.target.value),i.distinctUntilChanged(),i.takeUntil(this.disconnecting)).subscribe(t=>{this.value=t,this.dirty=this.value!==this.defaultValue,this.emitChange({value:t}),this.validateInput()})}setupFocusBlurEvents(){i.fromEvent(this.inputElement,"focus").pipe(i.takeUntil(this.disconnecting)).subscribe(t=>{const e=new CustomEvent("focus",{bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed});Object.defineProperties(e,{relatedTarget:{value:t.relatedTarget}}),this.dispatchEvent(e)}),i.fromEvent(this.inputElement,"blur").pipe(i.takeUntil(this.disconnecting)).subscribe(t=>{this.touched=!0,this.disabled||this.validateInput();const e=new CustomEvent("blur",{bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed});Object.defineProperties(e,{relatedTarget:{value:t.relatedTarget}}),this.dispatchEvent(e)})}setupAutofillDetection(){i.fromEvent(this.inputElement,"animationstart").pipe(i.filter(t=>t.animationName==="onAutoFillStart"),i.takeUntil(this.disconnecting)).subscribe(t=>{const{value:e}=t.target;this.value=e,this.isAutofilled=!0,this.dirty=this.value!==this.defaultValue,this.dispatchEvent(new CustomEvent("autofill",{detail:{value:e},bubbles:!0,composed:!0})),this.emitChange({value:e})}),i.fromEvent(this.inputElement,"animationstart").pipe(i.filter(t=>t.animationName==="onAutoFillCancel"),i.takeUntil(this.disconnecting)).subscribe(()=>{this.isAutofilled=!1})}setupEnterKeyEvents(){i.fromEvent(this.inputElement,"keydown").pipe(i.filter(t=>t.key==="Enter"),i.takeUntil(this.disconnecting)).subscribe(t=>{const{value:e}=t.target;this.value!==e&&(this.value=e,this.dirty=this.value!==this.defaultValue),this.inputElement.blur();const s=new CustomEvent("enter",{detail:{value:this.value},bubbles:!0,composed:!0});Object.defineProperties(s,{key:{value:"Enter"},code:{value:"Enter"},keyCode:{value:13},which:{value:13}}),this.dispatchEvent(s)})}select(){return this.inputRef.value?.select()}getValidity(){return this.inputRef.value?.validity}setSelectionRange(t,e,s){this.inputRef.value?.setSelectionRange(t,e,s)}get selectionStart(){return this.inputRef.value?.selectionStart??null}get selectionEnd(){return this.inputRef.value?.selectionEnd??null}get selectionDirection(){return this.inputRef.value?.selectionDirection??null}setRangeText(t,e,s,r){e!==void 0&&s!==void 0?this.inputRef.value?.setRangeText(t,e,s,r):this.inputRef.value?.setRangeText(t)}focus(t){this.inputRef.value?.focus(t),this.dispatchEvent(new Event("focus"))}click(){this.inputRef.value?.click(),this.dispatchEvent(new Event("click"))}blur(){this.inputRef.value?.blur(),this.dispatchEvent(new Event("blur"))}render(){const{height:t,padding:e,fontSize:s}=(()=>{switch(this.size){case"sm":return{height:"40px",padding:"0 8px",fontSize:"0.875rem"};case"lg":return{height:"60px",padding:"0 20px",fontSize:"1.125rem"};default:return{height:"50px",padding:"0 16px",fontSize:"1rem"}}})(),r=["date","datetime-local","time","month","week"].includes(this.type),u={"block w-full min-w-0 rounded-[8px] border-0 bg-surface-highest text-surface-on":!0,"outline-secondary-default focus:outline-1":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-secondary-default ring-outline focus:ring-secondary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"caret-transparent focus:outline-hidden cursor-pointer select-none":this.readonly,"cursor-pointer":this.clickable,"text-left":this.align==="left"||r,"text-center":this.align==="center"&&!r,"text-right":this.align==="right"&&!r,autofilled:this.isAutofilled},p={"block mb-1 font-medium":!0,"opacity-40":this.disabled,"text-sm":this.size==="sm","text-base":this.size==="md","text-lg":this.size==="lg","text-primary-default":!this.error,"text-error-default":this.error},c={height:t,padding:e,fontSize:s,lineHeight:t};return l.html`
2
- <div class="w-full min-w-0 ${r?"date-input-container":""}">
3
- ${h.when(this.label,()=>l.html`
4
- <label
5
- for=${this.id}
6
- class=${this.classMap(p)}
7
- >
8
- ${this.label}
9
- </label>
10
- `)}
11
-
12
- <input
13
- ${d.ref(this.inputRef)}
14
- id=${this.id}
15
- name=${this.name}
16
- class=${this.classMap(u)}
17
- style=${this.styleMap(c)}
18
- .value=${this.value}
19
- .type=${this.type}
20
- .autocomplete=${this.autocomplete}
21
- .spellcheck=${this.spellcheck}
22
- placeholder=${this.placeholder}
23
- inputmode=${o.ifDefined(this.inputmode)}
24
- pattern=${o.ifDefined(this.pattern)}
25
- step=${o.ifDefined(this.step)}
26
- minlength=${o.ifDefined(this.minlength)}
27
- maxlength=${o.ifDefined(this.maxlength)}
28
- min=${o.ifDefined(this.min)}
29
- max=${o.ifDefined(this.max)}
30
- list=${o.ifDefined(this.list)}
31
- ?required=${this.required}
32
- ?disabled=${this.disabled}
33
- ?readonly=${this.readonly}
34
- aria-invalid=${this.error?"true":"false"}
35
- aria-required=${this.required?"true":"false"}
36
- aria-labelledby=${this.label?`label-${this.id}`:l.nothing}
37
- aria-describedby=${this.hint||this.validationMessage?`hint-${this.id}`:l.nothing}
38
- aria-label=${o.ifDefined(this.label?void 0:this.placeholder||"Input")}
39
- />
40
-
41
- ${h.when(this.hint||this.error&&this.validationMessage,()=>l.html`
42
- <div
43
- id="hint-${this.id}"
44
- class="mt-1 text-sm ${this.error?"text-error-default":"text-surface-onVariant"}"
45
- >
46
- ${this.error&&this.validationMessage?this.validationMessage:this.hint}
47
- </div>
48
- `)}
49
- </div>
50
- `}},exports.SchmancyInput._idCounter=0,exports.SchmancyInput.shadowRootOptions={...l.LitElement.shadowRootOptions,delegatesFocus:!0},a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"value",2),a([n.property({reflect:!0})],exports.SchmancyInput.prototype,"type",2),a([n.property()],exports.SchmancyInput.prototype,"placeholder",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"pattern",2),a([n.property({type:Boolean,reflect:!0})],exports.SchmancyInput.prototype,"clickable",2),a([n.property({type:Boolean,reflect:!0})],exports.SchmancyInput.prototype,"spellcheck",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"align",2),a([n.property()],exports.SchmancyInput.prototype,"inputmode",2),a([n.property({type:Number,reflect:!0})],exports.SchmancyInput.prototype,"minlength",2),a([n.property({type:Number})],exports.SchmancyInput.prototype,"maxlength",2),a([n.property()],exports.SchmancyInput.prototype,"min",2),a([n.property()],exports.SchmancyInput.prototype,"max",2),a([n.property({type:Number,reflect:!0})],exports.SchmancyInput.prototype,"step",2),a([n.property({type:Boolean})],exports.SchmancyInput.prototype,"autofocus",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"autocomplete",2),a([n.property({type:Number,reflect:!0})],exports.SchmancyInput.prototype,"tabIndex",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"size",2),a([n.property({type:String})],exports.SchmancyInput.prototype,"validateOn",2),a([n.property({type:String})],exports.SchmancyInput.prototype,"list",2),a([n.query("input")],exports.SchmancyInput.prototype,"inputElement",2),a([n.state()],exports.SchmancyInput.prototype,"isAutofilled",2),a([n.state()],exports.SchmancyInput.prototype,"touched",2),a([n.state()],exports.SchmancyInput.prototype,"dirty",2),a([n.state()],exports.SchmancyInput.prototype,"submitted",2),a([n.state()],exports.SchmancyInput.prototype,"defaultValue",2),exports.SchmancyInput=a([n.customElement("schmancy-input")],exports.SchmancyInput),exports.SchmancyInputCompat=class extends exports.SchmancyInput{},exports.SchmancyInputCompat=a([n.customElement("sch-input")],exports.SchmancyInputCompat);
51
- //# sourceMappingURL=input-DB269a2X.cjs.map
@@ -1,26 +0,0 @@
1
- "use strict";const m=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-scDxsqaX.cjs");const d=require("./litElement.mixin-DzCpXwcY.cjs"),c=require("lit"),p=require("./dialog-service-B4nR8Em5.cjs");var y=Object.getOwnPropertyDescriptor;let u=class extends d.$LitElement(c.css`
2
- :host {
3
- display: block;
4
- }
5
- `){connectedCallback(){super.connectedCallback(),m.fromEvent(this,"click").pipe(m.takeUntil(this.disconnecting)).subscribe(t=>{t.stopPropagation(),p.$dialog.dismiss()})}render(){return c.html`
6
- <schmancy-list-item>
7
- <slot></slot>
8
- </schmancy-list-item>
9
- `}};u=((t,n,s,o)=>{for(var r,e=o>1?void 0:o?y(n,s):n,i=t.length-1;i>=0;i--)(r=t[i])&&(e=r(e)||e);return e})([a.customElement("schmancy-menu-item")],u);var b=Object.defineProperty,g=Object.getOwnPropertyDescriptor,h=(t,n,s,o)=>{for(var r,e=o>1?void 0:o?g(n,s):n,i=t.length-1;i>=0;i--)(r=t[i])&&(e=(o?r(n,s,e):r(e))||e);return o&&e&&b(n,s,e),e};let l=class extends d.$LitElement(c.css`
10
- :host {
11
- position: relative;
12
- display: inline-block;
13
- }
14
- `){showMenu(t){const n=this.menuSlot?.assignedElements()||[],s=c.html`
15
- ${n.map(o=>o.cloneNode(!0))}
16
- `;p.$dialog.component(s,{position:t,hideActions:!0,width:"auto"})}render(){return c.html`
17
- <slot name="trigger" @click=${this.showMenu}>
18
- <slot name="button" @click=${this.showMenu}>
19
- <schmancy-icon-button>more_vert</schmancy-icon-button>
20
- </slot>
21
- </slot>
22
- <div hidden>
23
- <slot></slot>
24
- </div>
25
- `}};h([a.query("slot:not([name])")],l.prototype,"menuSlot",2),l=h([a.customElement("schmancy-menu")],l);
26
- //# sourceMappingURL=menu-C8PcWr7Y.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-C8PcWr7Y.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\t// Auto-dismiss dialog when menu item is clicked\n\t\t\t\t$dialog.dismiss()\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\nimport { $dialog } from '../dialog/dialog-service'\n\n/**\n * Menu Component\n *\n * CRITICAL: The dialog ONLY renders the raw menu items passed via the default slot.\n * NO <ul> wrapper, NO classes, NO additional markup in the dialog call.\n * The dialog service handles positioning and display - we just pass the pure content.\n *\n * @example Basic menu with auto-dismiss\n * ```typescript\n * <schmancy-menu>\n * <schmancy-button slot=\"trigger\">Actions</schmancy-button>\n * <schmancy-menu-item @click=${() => editItem()}>Edit</schmancy-menu-item>\n * <schmancy-menu-item @click=${() => deleteItem()}>Delete</schmancy-menu-item>\n * </schmancy-menu>\n * ```\n * Note: Dialog auto-dismisses when schmancy-menu-item is clicked\n *\n * @example Custom component (manual dismiss)\n * ```typescript\n * <schmancy-menu>\n * <schmancy-icon-button slot=\"trigger\">settings</schmancy-icon-button>\n * <my-settings-form @submit=${() => $dialog.dismiss()}></my-settings-form>\n * </schmancy-menu>\n * ```\n * Note: Custom components must call $dialog.dismiss() manually\n *\n * @slot trigger - Button to open menu (new naming)\n * @slot button - Button to open menu (backward compatible)\n * @slot default - Menu items or any custom component to display in dialog\n */\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n`) {\n\t@query('slot:not([name])')\n\tprivate menuSlot!: HTMLSlotElement\n\n\tprivate showMenu(event: MouseEvent) {\n\t\tconst menuItems = this.menuSlot?.assignedElements() || []\n\n\t\t// Clone menu items to prevent them from being detached from their original slot\n\t\t// This ensures subsequent dialog opens have fresh elements to render\n\t\tconst menuTemplate = html`\n\t\t\t${menuItems.map(item => {\n\t\t\t\tconst clone = item.cloneNode(true) as HTMLElement\n\t\t\t\treturn clone\n\t\t\t})}\n\t\t`\n\n\t\t// IMPORTANT: Pass ONLY the menu items, nothing else\n\t\t// The dialog handles all positioning, styling, and behavior\n\t\t$dialog.component(menuTemplate, {\n\t\t\tposition: event,\n\t\t\thideActions: true,\n\t\t\twidth: 'auto',\n\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"trigger\" @click=${this.showMenu}>\n\t\t\t\t<slot name=\"button\" @click=${this.showMenu}>\n\t\t\t\t\t<schmancy-icon-button>more_vert</schmancy-icon-button>\n\t\t\t\t</slot>\n\t\t\t</slot>\n\t\t\t<div hidden>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","$dialog","dismiss","render","html","customElement","SchmancyMenu","event","menuItems","menuSlot","assignedElements","menuTemplate","map","item","cloneNode","component","position","hideActions","width","showMenu","__decorateClass","query","prototype"],"mappings":"gXAOA,IAAqBA,EAArB,cAA8CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAKzD,mBAAAC,CACCC,MAAMD,kBAAAA,EACNE,EAAAA,UAAUC,KAAM,OAAA,EACdC,KAAKC,EAAAA,UAAUF,KAAKG,aAAAA,CAAAA,EACpBC,UAAUC,GAAAA,CACVA,EAAEC,gBAAAA,EAEFC,EAAAA,QAAQC,QAAAA,CAAAA,CAAAA,CAEX,CACU,QAAAC,CACT,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAKR,CAAA,EArBoBhB,wGAArB,CADCiB,EAAAA,cAAc,oBAAA,CAAA,EACMjB,mMC6BrB,IAAqBkB,EAArB,cAA0CjB,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAS7C,SAASiB,EAAAA,CAChB,MAAMC,EAAYd,KAAKe,UAAUC,iBAAAA,GAAsB,CAAA,EAIjDC,EAAeP,EAAAA;AAAAA,KAClBI,EAAUI,IAAIC,GACDA,EAAKC,UAAAA,EAAU,CAAA,CAAA;AAAA,IAO/Bb,EAAAA,QAAQc,UAAUJ,EAAc,CAC/BK,SAAUT,EACVU,YAAAA,GACAC,MAAO,QAET,CAEA,QAAAf,CACC,OAAOC,EAAAA;AAAAA,iCACwBV,KAAKyB,QAAAA;AAAAA,iCACLzB,KAAKyB,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAQrC,CAAA,EAlCQC,EAAA,CADPC,EAAAA,MAAM,qBANaf,EAOZgB,UAAA,WAAA,CAAA,EAPYhB,EAArBc,EAAA,CADCf,EAAAA,cAAc,eAAA,CAAA,EACMC,CAAAA"}
@@ -1,63 +0,0 @@
1
- import { fromEvent as y, takeUntil as b } from "rxjs";
2
- import "rxjs/operators";
3
- import "lit/directives/class-map.js";
4
- import "lit/directives/style-map.js";
5
- import { customElement as p, query as v } from "lit/decorators.js";
6
- import "./tailwind.mixin-xIIxrXd8.js";
7
- import { $ as h } from "./litElement.mixin-BzbZQbxa.js";
8
- import { css as d, html as m } from "lit";
9
- import { $ as u } from "./dialog-service-Bege4HF4.js";
10
- var f = Object.getOwnPropertyDescriptor;
11
- let l = class extends h(d`
12
- :host {
13
- display: block;
14
- }
15
- `) {
16
- connectedCallback() {
17
- super.connectedCallback(), y(this, "click").pipe(b(this.disconnecting)).subscribe((e) => {
18
- e.stopPropagation(), u.dismiss();
19
- });
20
- }
21
- render() {
22
- return m`
23
- <schmancy-list-item>
24
- <slot></slot>
25
- </schmancy-list-item>
26
- `;
27
- }
28
- };
29
- l = ((e, o, n, s) => {
30
- for (var c, t = s > 1 ? void 0 : s ? f(o, n) : o, i = e.length - 1; i >= 0; i--) (c = e[i]) && (t = c(t) || t);
31
- return t;
32
- })([p("schmancy-menu-item")], l);
33
- var g = Object.defineProperty, k = Object.getOwnPropertyDescriptor, a = (e, o, n, s) => {
34
- for (var c, t = s > 1 ? void 0 : s ? k(o, n) : o, i = e.length - 1; i >= 0; i--) (c = e[i]) && (t = (s ? c(o, n, t) : c(t)) || t);
35
- return s && t && g(o, n, t), t;
36
- };
37
- let r = class extends h(d`
38
- :host {
39
- position: relative;
40
- display: inline-block;
41
- }
42
- `) {
43
- showMenu(e) {
44
- const o = this.menuSlot?.assignedElements() || [], n = m`
45
- ${o.map((s) => s.cloneNode(!0))}
46
- `;
47
- u.component(n, { position: e, hideActions: !0, width: "auto" });
48
- }
49
- render() {
50
- return m`
51
- <slot name="trigger" @click=${this.showMenu}>
52
- <slot name="button" @click=${this.showMenu}>
53
- <schmancy-icon-button>more_vert</schmancy-icon-button>
54
- </slot>
55
- </slot>
56
- <div hidden>
57
- <slot></slot>
58
- </div>
59
- `;
60
- }
61
- };
62
- a([v("slot:not([name])")], r.prototype, "menuSlot", 2), r = a([p("schmancy-menu")], r);
63
- //# sourceMappingURL=menu-DthqNQR7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-DthqNQR7.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\t// Auto-dismiss dialog when menu item is clicked\n\t\t\t\t$dialog.dismiss()\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\nimport { $dialog } from '../dialog/dialog-service'\n\n/**\n * Menu Component\n *\n * CRITICAL: The dialog ONLY renders the raw menu items passed via the default slot.\n * NO <ul> wrapper, NO classes, NO additional markup in the dialog call.\n * The dialog service handles positioning and display - we just pass the pure content.\n *\n * @example Basic menu with auto-dismiss\n * ```typescript\n * <schmancy-menu>\n * <schmancy-button slot=\"trigger\">Actions</schmancy-button>\n * <schmancy-menu-item @click=${() => editItem()}>Edit</schmancy-menu-item>\n * <schmancy-menu-item @click=${() => deleteItem()}>Delete</schmancy-menu-item>\n * </schmancy-menu>\n * ```\n * Note: Dialog auto-dismisses when schmancy-menu-item is clicked\n *\n * @example Custom component (manual dismiss)\n * ```typescript\n * <schmancy-menu>\n * <schmancy-icon-button slot=\"trigger\">settings</schmancy-icon-button>\n * <my-settings-form @submit=${() => $dialog.dismiss()}></my-settings-form>\n * </schmancy-menu>\n * ```\n * Note: Custom components must call $dialog.dismiss() manually\n *\n * @slot trigger - Button to open menu (new naming)\n * @slot button - Button to open menu (backward compatible)\n * @slot default - Menu items or any custom component to display in dialog\n */\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n`) {\n\t@query('slot:not([name])')\n\tprivate menuSlot!: HTMLSlotElement\n\n\tprivate showMenu(event: MouseEvent) {\n\t\tconst menuItems = this.menuSlot?.assignedElements() || []\n\n\t\t// Clone menu items to prevent them from being detached from their original slot\n\t\t// This ensures subsequent dialog opens have fresh elements to render\n\t\tconst menuTemplate = html`\n\t\t\t${menuItems.map(item => {\n\t\t\t\tconst clone = item.cloneNode(true) as HTMLElement\n\t\t\t\treturn clone\n\t\t\t})}\n\t\t`\n\n\t\t// IMPORTANT: Pass ONLY the menu items, nothing else\n\t\t// The dialog handles all positioning, styling, and behavior\n\t\t$dialog.component(menuTemplate, {\n\t\t\tposition: event,\n\t\t\thideActions: true,\n\t\t\twidth: 'auto',\n\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"trigger\" @click=${this.showMenu}>\n\t\t\t\t<slot name=\"button\" @click=${this.showMenu}>\n\t\t\t\t\t<schmancy-icon-button>more_vert</schmancy-icon-button>\n\t\t\t\t</slot>\n\t\t\t</slot>\n\t\t\t<div hidden>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","$dialog","dismiss","render","html","customElement","SchmancyMenu","event","menuItems","menuSlot","assignedElements","menuTemplate","map","item","cloneNode","component","position","hideActions","width","showMenu","__decorateClass","query","prototype"],"mappings":";;;;;;;;;;AAOA,IAAqBA,IAArB,cAA8CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;EAKzD,oBAAAC;AACCC,UAAMD,kBAAAA,GACNE,EAAUC,MAAM,OAAA,EACdC,KAAKC,EAAUF,KAAKG,aAAAA,CAAAA,EACpBC,UAAUC,CAAAA,MAAAA;AACVA,MAAAA,EAAEC,mBAEFC,EAAQC,QAAAA;AAAAA,IAAAA,CAAAA;AAAAA,EAEX;AAAA,EACU,SAAAC;AACT,WAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAKR;AAAA;AArBoBhB;;;GAArB,CADCiB,EAAc,wBACMjB,CAAAA;;;;;AC6BrB,IAAqBkB,IAArB,cAA0CjB,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAS7C,SAASiB;AAChB,UAAMC,IAAYd,KAAKe,UAAUC,iBAAAA,KAAsB,CAAA,GAIjDC,IAAeP;AAAAA,KAClBI,EAAUI,IAAIC,CAAAA,MACDA,EAAKC,UAAAA,EAAU,CAAA,CAAA;AAAA;AAO/Bb,IAAAA,EAAQc,UAAUJ,GAAc,EAC/BK,UAAUT,GACVU,aAAAA,IACAC,OAAO,OAAA,CAAA;AAAA,EAET;AAAA,EAEA,SAAAf;AACC,WAAOC;AAAAA,iCACwBV,KAAKyB,QAAAA;AAAAA,iCACLzB,KAAKyB,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAQrC;AAAA;AAlCQC,EAAA,CADPC,EAAM,kBAAA,CAAA,GANaf,EAOZgB,WAAA,YAAA,CAAA,GAPYhB,IAArBc,EAAA,CADCf,EAAc,eAAA,CAAA,GACMC,CAAAA;"}
@@ -1,80 +0,0 @@
1
- import { nothing as h } from "lit";
2
- import { directive as i, Directive as u, PartType as r } from "lit/directive.js";
3
- import { Subject as a, fromEvent as p, debounceTime as m, startWith as g, takeUntil as f } from "rxjs";
4
- import { AsyncDirective as d } from "lit/async-directive.js";
5
- const x = i(class extends u {
6
- constructor(e) {
7
- super(e), this.config = {};
8
- }
9
- update(e, [t]) {
10
- if (e.type !== r.ELEMENT) throw new Error("The `classMap` directive must be used in the `class` attribute");
11
- const n = e.element;
12
- this.config = t, this.config.bgColor && (n.style.backgroundColor = this.config.bgColor), this.config.color && (n.style.color = this.config.color);
13
- }
14
- render(e) {
15
- return this.config = e, h;
16
- }
17
- }), s = new a();
18
- p(window, "resize").pipe(m(10), g(window)).subscribe({ next: () => {
19
- s.next(window);
20
- } });
21
- const v = i(class extends d {
22
- constructor(e) {
23
- super(e), this.disconnecting = new a(), s.pipe(f(this.disconnecting)).subscribe(() => {
24
- this.element.style.setProperty("height", `${window.innerHeight}px`), setTimeout(() => {
25
- this.element.style.setProperty("height", `${window.innerHeight}px`);
26
- });
27
- });
28
- }
29
- render() {
30
- }
31
- update(e) {
32
- if (e.type !== r.ELEMENT) throw new Error("The `ripple` directive can only be used on elements");
33
- this.element = e.element, s.next(window);
34
- }
35
- disconnected() {
36
- this.disconnecting.next(!0);
37
- }
38
- reconnected() {
39
- }
40
- }), T = i(class extends d {
41
- constructor() {
42
- super(...arguments), this.addRippleEffect = (e) => {
43
- const t = e.target, n = document.createElement("span"), o = Math.max(t.clientWidth, t.clientHeight), c = o / 2;
44
- n.style.width = n.style.height = `${o}px`, n.style.left = e.clientX - t.getBoundingClientRect().left - c + "px", n.style.top = e.clientY - t.getBoundingClientRect().top - c + "px", n.classList.add("ripple");
45
- const l = t.getElementsByClassName("ripple")[0];
46
- l && l.remove(), t.appendChild(n);
47
- };
48
- }
49
- render() {
50
- }
51
- update(e) {
52
- if (e.type !== r.ELEMENT) throw new Error("The `ripple` directive can only be used on elements");
53
- this.element = e.element;
54
- const t = document.createElement("style");
55
- t.append(`.ripple {
56
- position: absolute;
57
- border-radius: 50%;
58
- background: var(--schmancy-sys-color-surface-high);
59
- transform: scale(0);
60
- animation: ripple 600ms linear;
61
- }
62
-
63
- @keyframes ripple {
64
- to {
65
- transform: scale(4);
66
- opacity: 0;
67
- }
68
- }
69
- `), this.element.append(t), this.subscription?.unsubscribe(), this.subscription = p(this.element, "click").subscribe(this.addRippleEffect);
70
- }
71
- disconnected() {
72
- this.subscription?.unsubscribe();
73
- }
74
- });
75
- export {
76
- x as c,
77
- v as f,
78
- T as r
79
- };
80
- //# sourceMappingURL=ripple-Cy-nvO8W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ripple-Cy-nvO8W.js","sources":["../src/directives/color.ts","../src/directives/height.ts","../src/directives/ripple.ts"],"sourcesContent":["// color.ts\nimport { Part, nothing } from 'lit'\nimport { Directive, PartInfo, PartType, directive } from 'lit/directive.js'\n\nexport type ColorConfig = {\n\tbgColor?: string\n\tcolor?: string\n}\n\nclass ColorDirective extends Directive {\n\tprivate config: ColorConfig\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tthis.config = {}\n\t}\n\n\tupdate(part: Part, [config]: [ColorConfig]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `classMap` directive must be used in the `class` attribute')\n\t\t}\n\t\tconst element = part.element as HTMLElement\n\t\tthis.config = config\n\t\tif (this.config.bgColor) {\n\t\t\telement.style.backgroundColor = this.config.bgColor\n\t\t}\n\n\t\tif (this.config.color) {\n\t\t\telement.style.color = this.config.color\n\t\t}\n\t}\n\n\trender(config: ColorConfig): unknown {\n\t\tthis.config = config\n\t\treturn nothing\n\t}\n}\n\nconst color = directive(ColorDirective)\n\nexport { color }\n","import { Subject, debounceTime, fromEvent, startWith, takeUntil } from 'rxjs'\n\nconst $SchmancyResize = new Subject<Window>()\nfromEvent<Event>(window, 'resize')\n\t.pipe(\n\t\tdebounceTime(10), // Adjust the debounce time as needed\n\t\tstartWith(window),\n\t)\n\t.subscribe({\n\t\tnext: () => {\n\t\t\t$SchmancyResize.next(window)\n\t\t},\n\t})\n\nimport { directive, PartInfo, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { LitElement } from 'lit'\n\nclass FullHeight extends AsyncDirective {\n\telement: HTMLElement & LitElement\n\tdisconnecting = new Subject<boolean>()\n\trender() {\n\t\treturn\n\t}\n\n\tconstructor(_partInfo: PartInfo) {\n\t\tsuper(_partInfo)\n\t\t$SchmancyResize.pipe(takeUntil(this.disconnecting)).subscribe(() => {\n\t\t\tthis.element.style.setProperty('height', `${window.innerHeight}px`)\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.element.style.setProperty('height', `${window.innerHeight}px`)\n\t\t\t})\n\t\t})\n\t}\n\n\tupdate(part) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `ripple` directive can only be used on elements')\n\t\t}\n\t\tthis.element = part.element\n\t\t$SchmancyResize.next(window)\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting.next(true)\n\t}\n\n\treconnected() {}\n}\n\nexport const fullHeight = directive(FullHeight)\n","import { directive, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { fromEvent, Subscription } from 'rxjs'\n\nconst rippleStyle = `.ripple {\n position: absolute;\n border-radius: 50%;\n background: var(--schmancy-sys-color-surface-high);\n transform: scale(0);\n animation: ripple 600ms linear;\n}\n\n@keyframes ripple {\n to {\n transform: scale(4);\n opacity: 0;\n }\n}\n`\nclass RippleDirective extends AsyncDirective {\n\telement: HTMLElement\n\tprivate subscription?: Subscription\n\n\trender() {\n\t\treturn\n\t}\n\n\taddRippleEffect = (event: MouseEvent) => {\n\t\tconst element = event.target as HTMLElement\n\t\tconst circle = document.createElement('span')\n\t\tconst diameter = Math.max(element.clientWidth, element.clientHeight)\n\t\tconst radius = diameter / 2\n\t\tcircle.style.width = circle.style.height = `${diameter}px`\n\t\tcircle.style.left = `${event.clientX - element.getBoundingClientRect().left - radius}px`\n\t\tcircle.style.top = `${event.clientY - element.getBoundingClientRect().top - radius}px`\n\t\tcircle.classList.add('ripple')\n\n\t\tconst ripple = element.getElementsByClassName('ripple')[0]\n\t\tif (ripple) {\n\t\t\tripple.remove()\n\t\t}\n\n\t\telement.appendChild(circle)\n\t}\n\n\tupdate(part: any) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `ripple` directive can only be used on elements')\n\t\t}\n\n\t\tthis.element = part.element\n\t\tconst style = document.createElement('style')\n\t\tstyle.append(rippleStyle)\n\t\tthis.element.append(style)\n\n\t\t// Clean up existing subscription\n\t\tthis.subscription?.unsubscribe()\n\n\t\t// Create new subscription\n\t\tthis.subscription = fromEvent<MouseEvent>(this.element, 'click').subscribe(this.addRippleEffect)\n\t}\n\n\tdisconnected() {\n\t\tthis.subscription?.unsubscribe()\n\t}\n}\n\nexport const ripple = directive(RippleDirective)\n"],"names":["color","directive","Directive","partInfo","super","this","config","part","type","PartType","ELEMENT","Error","element","bgColor","style","backgroundColor","nothing","$SchmancyResize","Subject","fromEvent","window","pipe","debounceTime","startWith","subscribe","next","fullHeight","AsyncDirective","_partInfo","disconnecting","takeUntil","setProperty","innerHeight","setTimeout","render","disconnected","reconnected","ripple","constructor","arguments","addRippleEffect","event","target","circle","document","createElement","diameter","Math","max","clientWidth","clientHeight","radius","width","height","left","clientX","getBoundingClientRect","top","clientY","classList","add","getElementsByClassName","remove","appendChild","append","subscription","unsubscribe"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- "use strict";const a=require("lit"),s=require("lit/directive.js"),i=require("rxjs"),d=require("lit/async-directive.js");class h extends s.Directive{constructor(e){super(e),this.config={}}update(e,[t]){if(e.type!==s.PartType.ELEMENT)throw new Error("The `classMap` directive must be used in the `class` attribute");const n=e.element;this.config=t,this.config.bgColor&&(n.style.backgroundColor=this.config.bgColor),this.config.color&&(n.style.color=this.config.color)}render(e){return this.config=e,a.nothing}}const u=s.directive(h),r=new i.Subject;i.fromEvent(window,"resize").pipe(i.debounceTime(10),i.startWith(window)).subscribe({next:()=>{r.next(window)}});class m extends d.AsyncDirective{constructor(e){super(e),this.disconnecting=new i.Subject,r.pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.element.style.setProperty("height",`${window.innerHeight}px`),setTimeout(()=>{this.element.style.setProperty("height",`${window.innerHeight}px`)})})}render(){}update(e){if(e.type!==s.PartType.ELEMENT)throw new Error("The `ripple` directive can only be used on elements");this.element=e.element,r.next(window)}disconnected(){this.disconnecting.next(!0)}reconnected(){}}const g=s.directive(m);class b extends d.AsyncDirective{constructor(){super(...arguments),this.addRippleEffect=e=>{const t=e.target,n=document.createElement("span"),o=Math.max(t.clientWidth,t.clientHeight),l=o/2;n.style.width=n.style.height=`${o}px`,n.style.left=e.clientX-t.getBoundingClientRect().left-l+"px",n.style.top=e.clientY-t.getBoundingClientRect().top-l+"px",n.classList.add("ripple");const p=t.getElementsByClassName("ripple")[0];p&&p.remove(),t.appendChild(n)}}render(){}update(e){if(e.type!==s.PartType.ELEMENT)throw new Error("The `ripple` directive can only be used on elements");this.element=e.element;const t=document.createElement("style");t.append(`.ripple {
2
- position: absolute;
3
- border-radius: 50%;
4
- background: var(--schmancy-sys-color-surface-high);
5
- transform: scale(0);
6
- animation: ripple 600ms linear;
7
- }
8
-
9
- @keyframes ripple {
10
- to {
11
- transform: scale(4);
12
- opacity: 0;
13
- }
14
- }
15
- `),this.element.append(t),this.subscription?.unsubscribe(),this.subscription=i.fromEvent(this.element,"click").subscribe(this.addRippleEffect)}disconnected(){this.subscription?.unsubscribe()}}const y=s.directive(b);exports.color=u,exports.fullHeight=g,exports.ripple=y;
16
- //# sourceMappingURL=ripple-DqQrvaTe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ripple-DqQrvaTe.cjs","sources":["../src/directives/color.ts","../src/directives/height.ts","../src/directives/ripple.ts"],"sourcesContent":["// color.ts\nimport { Part, nothing } from 'lit'\nimport { Directive, PartInfo, PartType, directive } from 'lit/directive.js'\n\nexport type ColorConfig = {\n\tbgColor?: string\n\tcolor?: string\n}\n\nclass ColorDirective extends Directive {\n\tprivate config: ColorConfig\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tthis.config = {}\n\t}\n\n\tupdate(part: Part, [config]: [ColorConfig]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `classMap` directive must be used in the `class` attribute')\n\t\t}\n\t\tconst element = part.element as HTMLElement\n\t\tthis.config = config\n\t\tif (this.config.bgColor) {\n\t\t\telement.style.backgroundColor = this.config.bgColor\n\t\t}\n\n\t\tif (this.config.color) {\n\t\t\telement.style.color = this.config.color\n\t\t}\n\t}\n\n\trender(config: ColorConfig): unknown {\n\t\tthis.config = config\n\t\treturn nothing\n\t}\n}\n\nconst color = directive(ColorDirective)\n\nexport { color }\n","import { Subject, debounceTime, fromEvent, startWith, takeUntil } from 'rxjs'\n\nconst $SchmancyResize = new Subject<Window>()\nfromEvent<Event>(window, 'resize')\n\t.pipe(\n\t\tdebounceTime(10), // Adjust the debounce time as needed\n\t\tstartWith(window),\n\t)\n\t.subscribe({\n\t\tnext: () => {\n\t\t\t$SchmancyResize.next(window)\n\t\t},\n\t})\n\nimport { directive, PartInfo, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { LitElement } from 'lit'\n\nclass FullHeight extends AsyncDirective {\n\telement: HTMLElement & LitElement\n\tdisconnecting = new Subject<boolean>()\n\trender() {\n\t\treturn\n\t}\n\n\tconstructor(_partInfo: PartInfo) {\n\t\tsuper(_partInfo)\n\t\t$SchmancyResize.pipe(takeUntil(this.disconnecting)).subscribe(() => {\n\t\t\tthis.element.style.setProperty('height', `${window.innerHeight}px`)\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.element.style.setProperty('height', `${window.innerHeight}px`)\n\t\t\t})\n\t\t})\n\t}\n\n\tupdate(part) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `ripple` directive can only be used on elements')\n\t\t}\n\t\tthis.element = part.element\n\t\t$SchmancyResize.next(window)\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting.next(true)\n\t}\n\n\treconnected() {}\n}\n\nexport const fullHeight = directive(FullHeight)\n","import { directive, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { fromEvent, Subscription } from 'rxjs'\n\nconst rippleStyle = `.ripple {\n position: absolute;\n border-radius: 50%;\n background: var(--schmancy-sys-color-surface-high);\n transform: scale(0);\n animation: ripple 600ms linear;\n}\n\n@keyframes ripple {\n to {\n transform: scale(4);\n opacity: 0;\n }\n}\n`\nclass RippleDirective extends AsyncDirective {\n\telement: HTMLElement\n\tprivate subscription?: Subscription\n\n\trender() {\n\t\treturn\n\t}\n\n\taddRippleEffect = (event: MouseEvent) => {\n\t\tconst element = event.target as HTMLElement\n\t\tconst circle = document.createElement('span')\n\t\tconst diameter = Math.max(element.clientWidth, element.clientHeight)\n\t\tconst radius = diameter / 2\n\t\tcircle.style.width = circle.style.height = `${diameter}px`\n\t\tcircle.style.left = `${event.clientX - element.getBoundingClientRect().left - radius}px`\n\t\tcircle.style.top = `${event.clientY - element.getBoundingClientRect().top - radius}px`\n\t\tcircle.classList.add('ripple')\n\n\t\tconst ripple = element.getElementsByClassName('ripple')[0]\n\t\tif (ripple) {\n\t\t\tripple.remove()\n\t\t}\n\n\t\telement.appendChild(circle)\n\t}\n\n\tupdate(part: any) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `ripple` directive can only be used on elements')\n\t\t}\n\n\t\tthis.element = part.element\n\t\tconst style = document.createElement('style')\n\t\tstyle.append(rippleStyle)\n\t\tthis.element.append(style)\n\n\t\t// Clean up existing subscription\n\t\tthis.subscription?.unsubscribe()\n\n\t\t// Create new subscription\n\t\tthis.subscription = fromEvent<MouseEvent>(this.element, 'click').subscribe(this.addRippleEffect)\n\t}\n\n\tdisconnected() {\n\t\tthis.subscription?.unsubscribe()\n\t}\n}\n\nexport const ripple = directive(RippleDirective)\n"],"names":["ColorDirective","Directive","partInfo","super","this","config","part","type","PartType","ELEMENT","Error","element","bgColor","style","backgroundColor","color","nothing","directive","$SchmancyResize","Subject","fromEvent","window","pipe","debounceTime","startWith","subscribe","next","FullHeight","AsyncDirective","_partInfo","disconnecting","takeUntil","setProperty","innerHeight","setTimeout","render","disconnected","reconnected","fullHeight","RippleDirective","constructor","arguments","addRippleEffect","event","target","circle","document","createElement","diameter","Math","max","clientWidth","clientHeight","radius","width","height","left","clientX","getBoundingClientRect","top","clientY","classList","add","ripple","getElementsByClassName","remove","appendChild","append","subscription","unsubscribe"],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- function w(s, u) {
2
- if (!s || !u) return 0;
3
- if (s === u) return 1;
4
- const r = s.toLowerCase().trim(), o = u.toLowerCase().trim();
5
- if (r === o) return 1;
6
- if (o.startsWith(r))
7
- return 0.95 + 0.05 * (r.length / o.length);
8
- const c = o.split(/[\s\-_]+/);
9
- for (const n of c) if (n.startsWith(r))
10
- return 0.85 * (1 - c.indexOf(n) / c.length * 0.1);
11
- if (o.includes(r))
12
- return 0.7 * (1 - o.indexOf(r) / o.length * 0.2);
13
- if ((function(n, l) {
14
- let e = 0, t = 0;
15
- for (; e < n.length && t < l.length; ) n[e] === l[t] && e++, t++;
16
- return e === n.length;
17
- })(r, o)) return 0.5;
18
- const x = (function(n, l) {
19
- if (n.length < 2 || l.length < 2) return 0;
20
- const e = m(n), t = m(l);
21
- let f = 0;
22
- const h = new Array(t.length).fill(!1);
23
- for (const g of e) for (let i = 0; i < t.length; i++) if (!h[i] && t[i] === g) {
24
- f++, h[i] = !0;
25
- break;
26
- }
27
- return 2 * f / (e.length + t.length);
28
- })(r, o), a = Math.max(r.length, o.length), d = (function(n, l) {
29
- if (n.length === 0) return l.length;
30
- if (l.length === 0) return n.length;
31
- const e = [];
32
- for (let t = 0; t <= l.length; t++) e[t] = [t];
33
- for (let t = 0; t <= n.length; t++) e[0][t] = t;
34
- for (let t = 1; t <= l.length; t++) for (let f = 1; f <= n.length; f++) {
35
- const h = n[f - 1] === l[t - 1] ? 0 : 1;
36
- e[t][f] = Math.min(e[t - 1][f] + 1, e[t][f - 1] + 1, e[t - 1][f - 1] + h);
37
- }
38
- return e[l.length][n.length];
39
- })(r, o), p = a ? 1 - d / a : 0, b = (function(n, l) {
40
- const e = (h) => h.split("").reduce((g, i) => (g[i] = (g[i] || 0) + 1, g), {}), t = e(n), f = e(l);
41
- return Object.keys(t).every((h) => (f[h] || 0) >= t[h]);
42
- })(r, o) ? 0.3 : 0;
43
- return Math.max(0.4 * x, 0.4 * p, b);
44
- }
45
- function m(s) {
46
- const u = [];
47
- for (let r = 0; r < s.length - 1; r++) u.push(s.substring(r, r + 2));
48
- return u;
49
- }
50
- export {
51
- w as s
52
- };
53
- //# sourceMappingURL=search-BeEqIiuO.js.map