@mhmo91/schmancy 0.4.58 → 0.4.60

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 (327) hide show
  1. package/dist/{animated-text-Q1hfnAer.cjs → animated-text-EjzqX_DQ.cjs} +2 -2
  2. package/dist/{animated-text-Q1hfnAer.cjs.map → animated-text-EjzqX_DQ.cjs.map} +1 -1
  3. package/dist/{animated-text-CLjHeM_c.js → animated-text-eC8jllzl.js} +3 -3
  4. package/dist/{animated-text-CLjHeM_c.js.map → animated-text-eC8jllzl.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-CNTVHafq.cjs → area.component-B2Q4fmyG.cjs} +2 -2
  9. package/dist/{area.component-CNTVHafq.cjs.map → area.component-B2Q4fmyG.cjs.map} +1 -1
  10. package/dist/{area.component-B4kp0LKH.js → area.component-DM4WQ2-y.js} +10 -10
  11. package/dist/{area.component-B4kp0LKH.js.map → area.component-DM4WQ2-y.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-CF67hOX7.js +256 -0
  14. package/dist/autocomplete-CF67hOX7.js.map +1 -0
  15. package/dist/autocomplete-CU-jz4zG.cjs +74 -0
  16. package/dist/autocomplete-CU-jz4zG.cjs.map +1 -0
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-B2GUqK4L.js → avatar-C7V7DXNX.js} +61 -62
  20. package/dist/{avatar-B2GUqK4L.js.map → avatar-C7V7DXNX.js.map} +1 -1
  21. package/dist/{avatar-BNBYKgXb.cjs → avatar-C8g7jgmf.cjs} +2 -2
  22. package/dist/{avatar-BNBYKgXb.cjs.map → avatar-C8g7jgmf.cjs.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-CNjpHAl7.js → boat-B6u4WObQ.js} +2 -2
  26. package/dist/{boat-CNjpHAl7.js.map → boat-B6u4WObQ.js.map} +1 -1
  27. package/dist/{boat-BBtYRMGr.cjs → boat-C_4qzJbd.cjs} +2 -2
  28. package/dist/{boat-BBtYRMGr.cjs.map → boat-C_4qzJbd.cjs.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-CdvtpBak.js → checkbox-BVfwdet-.js} +2 -2
  38. package/dist/{checkbox-CdvtpBak.js.map → checkbox-BVfwdet-.js.map} +1 -1
  39. package/dist/{checkbox-DMDq4nrQ.cjs → checkbox-BbrKQhIR.cjs} +2 -2
  40. package/dist/{checkbox-DMDq4nrQ.cjs.map → checkbox-BbrKQhIR.cjs.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/{chips-D_VM8pye.cjs → chips-BGkLDY0l.cjs} +2 -2
  44. package/dist/{chips-D_VM8pye.cjs.map → chips-BGkLDY0l.cjs.map} +1 -1
  45. package/dist/{chips-CXfJzIKX.js → chips-z-uec28U.js} +3 -3
  46. package/dist/{chips-CXfJzIKX.js.map → chips-z-uec28U.js.map} +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +1 -1
  49. package/dist/code-highlight.cjs +1 -1
  50. package/dist/code-highlight.js +1 -1
  51. package/dist/{code-preview-CjrMxvGf.cjs → code-preview-CjcxgpTv.cjs} +2 -2
  52. package/dist/{code-preview-CjrMxvGf.cjs.map → code-preview-CjcxgpTv.cjs.map} +1 -1
  53. package/dist/{code-preview-B33GzCuh.js → code-preview-DfLidd4C.js} +2 -2
  54. package/dist/{code-preview-B33GzCuh.js.map → code-preview-DfLidd4C.js.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-BsY35xa9.cjs → date-range-BYQ09fir.cjs} +2 -2
  60. package/dist/{date-range-BsY35xa9.cjs.map → date-range-BYQ09fir.cjs.map} +1 -1
  61. package/dist/{date-range-cqxQG6E0.js → date-range-CJGsApQT.js} +4 -4
  62. package/dist/{date-range-cqxQG6E0.js.map → date-range-CJGsApQT.js.map} +1 -1
  63. package/dist/{date-range-inline-CNjM63uj.cjs → date-range-inline-CaFUtSBm.cjs} +2 -2
  64. package/dist/{date-range-inline-CNjM63uj.cjs.map → date-range-inline-CaFUtSBm.cjs.map} +1 -1
  65. package/dist/{date-range-inline-B4lf5rPQ.js → date-range-inline-DkcMXW27.js} +3 -3
  66. package/dist/{date-range-inline-B4lf5rPQ.js.map → date-range-inline-DkcMXW27.js.map} +1 -1
  67. package/dist/date-range-inline.cjs +1 -1
  68. package/dist/date-range-inline.js +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-CcdMOTSl.cjs → delay-B9F4XCNZ.cjs} +2 -2
  72. package/dist/{delay-CcdMOTSl.cjs.map → delay-B9F4XCNZ.cjs.map} +1 -1
  73. package/dist/{delay-IwDr1j8v.js → delay-ad2hUkbh.js} +12 -12
  74. package/dist/{delay-IwDr1j8v.js.map → delay-ad2hUkbh.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{details-BfPfuW55.cjs → details-BaRWlZSt.cjs} +2 -2
  78. package/dist/{details-BfPfuW55.cjs.map → details-BaRWlZSt.cjs.map} +1 -1
  79. package/dist/{details-DhWV9D0A.js → details-DE1ArVok.js} +2 -2
  80. package/dist/{details-DhWV9D0A.js.map → details-DE1ArVok.js.map} +1 -1
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-BdVi2eTC.cjs → dialog-content-B8KcY2sH.cjs} +2 -2
  84. package/dist/{dialog-content-BdVi2eTC.cjs.map → dialog-content-B8KcY2sH.cjs.map} +1 -1
  85. package/dist/{dialog-content-DICph7AS.js → dialog-content-C6zxGej9.js} +4 -4
  86. package/dist/{dialog-content-DICph7AS.js.map → dialog-content-C6zxGej9.js.map} +1 -1
  87. package/dist/{dialog-service-CeF_iQ6v.cjs → dialog-service-1uYQx7dw.cjs} +2 -2
  88. package/dist/{dialog-service-CeF_iQ6v.cjs.map → dialog-service-1uYQx7dw.cjs.map} +1 -1
  89. package/dist/{dialog-service-CbRp40iS.js → dialog-service-26JqtKd2.js} +2 -2
  90. package/dist/{dialog-service-CbRp40iS.js.map → dialog-service-26JqtKd2.js.map} +1 -1
  91. package/dist/dialog.cjs +1 -1
  92. package/dist/dialog.js +2 -2
  93. package/dist/{divider-CjWffdoF.js → divider-BhY3-OEH.js} +3 -3
  94. package/dist/{divider-CjWffdoF.js.map → divider-BhY3-OEH.js.map} +1 -1
  95. package/dist/{divider-yZhSudJH.cjs → divider-DSnh0b6W.cjs} +2 -2
  96. package/dist/{divider-yZhSudJH.cjs.map → divider-DSnh0b6W.cjs.map} +1 -1
  97. package/dist/divider.cjs +1 -1
  98. package/dist/divider.js +1 -1
  99. package/dist/{dropdown-content-DdmdUtwj.js → dropdown-content-D6LG6K-_.js} +3 -3
  100. package/dist/{dropdown-content-DdmdUtwj.js.map → dropdown-content-D6LG6K-_.js.map} +1 -1
  101. package/dist/{dropdown-content-Bfn0XEeT.cjs → dropdown-content-RUtMP_Q9.cjs} +2 -2
  102. package/dist/{dropdown-content-Bfn0XEeT.cjs.map → dropdown-content-RUtMP_Q9.cjs.map} +1 -1
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-DV4Ee5dx.cjs → flex-BFiiMqk7.cjs} +2 -2
  108. package/dist/{flex-DV4Ee5dx.cjs.map → flex-BFiiMqk7.cjs.map} +1 -1
  109. package/dist/{flex-CswRyQcd.js → flex-BHxGy6hX.js} +2 -2
  110. package/dist/{flex-CswRyQcd.js.map → flex-BHxGy6hX.js.map} +1 -1
  111. package/dist/{form-BU1Igi_W.cjs → form-Cr0sCISI.cjs} +2 -2
  112. package/dist/{form-BU1Igi_W.cjs.map → form-Cr0sCISI.cjs.map} +1 -1
  113. package/dist/{form-D_IoQKNn.js → form-DPbms1wq.js} +2 -2
  114. package/dist/{form-D_IoQKNn.js.map → form-DPbms1wq.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-Cj6U-L1P.cjs → formField.mixin-CcwoZBkf.cjs} +2 -2
  118. package/dist/{formField.mixin-Cj6U-L1P.cjs.map → formField.mixin-CcwoZBkf.cjs.map} +1 -1
  119. package/dist/{formField.mixin-C8I5ht-6.js → formField.mixin-D_JwScTz.js} +2 -2
  120. package/dist/{formField.mixin-C8I5ht-6.js.map → formField.mixin-D_JwScTz.js.map} +1 -1
  121. package/dist/{icon-DIQ1yZJt.js → icon-CamrthZy.js} +2 -2
  122. package/dist/{icon-DIQ1yZJt.js.map → icon-CamrthZy.js.map} +1 -1
  123. package/dist/{icon-DTR5xLBE.cjs → icon-DaI15W0a.cjs} +2 -2
  124. package/dist/{icon-DTR5xLBE.cjs.map → icon-DaI15W0a.cjs.map} +1 -1
  125. package/dist/{icon-button-CJt7WRsT.js → icon-button-BEmjBwBq.js} +3 -3
  126. package/dist/{icon-button-CJt7WRsT.js.map → icon-button-BEmjBwBq.js.map} +1 -1
  127. package/dist/{icon-button-BkgBX10e.cjs → icon-button-tVZLMjEJ.cjs} +2 -2
  128. package/dist/{icon-button-BkgBX10e.cjs.map → icon-button-tVZLMjEJ.cjs.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.js +175 -177
  133. package/dist/index.js.map +1 -1
  134. package/dist/{input-B7szijOK.js → input-DVTW-v5S.js} +3 -3
  135. package/dist/{input-B7szijOK.js.map → input-DVTW-v5S.js.map} +1 -1
  136. package/dist/{input-DNrg9fyQ.cjs → input-DbTyzINg.cjs} +2 -2
  137. package/dist/{input-DNrg9fyQ.cjs.map → input-DbTyzINg.cjs.map} +1 -1
  138. package/dist/input.cjs +1 -1
  139. package/dist/input.js +1 -1
  140. package/dist/layout.cjs +1 -1
  141. package/dist/layout.js +1 -1
  142. package/dist/{list-DQatYh3q.js → list-DZuC8yeX.js} +2 -2
  143. package/dist/{list-DQatYh3q.js.map → list-DZuC8yeX.js.map} +1 -1
  144. package/dist/{list-BPQMexX4.cjs → list-DwM0r5Yf.cjs} +2 -2
  145. package/dist/{list-BPQMexX4.cjs.map → list-DwM0r5Yf.cjs.map} +1 -1
  146. package/dist/list.cjs +1 -1
  147. package/dist/list.js +1 -1
  148. package/dist/{litElement.mixin-wcuhiwNu.cjs → litElement.mixin-BEbYQVKW.cjs} +2 -2
  149. package/dist/{litElement.mixin-wcuhiwNu.cjs.map → litElement.mixin-BEbYQVKW.cjs.map} +1 -1
  150. package/dist/{litElement.mixin-BuEn1yw0.js → litElement.mixin-YJTCObjn.js} +2 -2
  151. package/dist/{litElement.mixin-BuEn1yw0.js.map → litElement.mixin-YJTCObjn.js.map} +1 -1
  152. package/dist/{map-tpmHD8Pd.cjs → map-B5zH_aTP.cjs} +2 -2
  153. package/dist/{map-tpmHD8Pd.cjs.map → map-B5zH_aTP.cjs.map} +1 -1
  154. package/dist/{map-DsCefSkt.js → map-CM2SBw4_.js} +2 -2
  155. package/dist/{map-DsCefSkt.js.map → map-CM2SBw4_.js.map} +1 -1
  156. package/dist/map.cjs +1 -1
  157. package/dist/map.js +1 -1
  158. package/dist/{media-CnG3K4S_.js → media-CljRelRT.js} +2 -2
  159. package/dist/{media-CnG3K4S_.js.map → media-CljRelRT.js.map} +1 -1
  160. package/dist/{media-DYB4SLZh.cjs → media-CvzaJPdC.cjs} +2 -2
  161. package/dist/{media-DYB4SLZh.cjs.map → media-CvzaJPdC.cjs.map} +1 -1
  162. package/dist/{menu-D4rCY1Ps.js → menu-CBsQbuPU.js} +3 -3
  163. package/dist/{menu-D4rCY1Ps.js.map → menu-CBsQbuPU.js.map} +1 -1
  164. package/dist/{menu-DHJ41YiK.cjs → menu-CRDNeLR4.cjs} +2 -2
  165. package/dist/{menu-DHJ41YiK.cjs.map → menu-CRDNeLR4.cjs.map} +1 -1
  166. package/dist/menu.cjs +1 -1
  167. package/dist/menu.js +1 -1
  168. package/dist/nav-drawer.cjs +1 -1
  169. package/dist/nav-drawer.js +1 -1
  170. package/dist/{notification-service-CJ95tokn.cjs → notification-service-8yVD9JmC.cjs} +2 -2
  171. package/dist/{notification-service-CJ95tokn.cjs.map → notification-service-8yVD9JmC.cjs.map} +1 -1
  172. package/dist/{notification-service-DT1mqB8y.js → notification-service-C6CpYXwm.js} +4 -4
  173. package/dist/{notification-service-DT1mqB8y.js.map → notification-service-C6CpYXwm.js.map} +1 -1
  174. package/dist/notification.cjs +1 -1
  175. package/dist/notification.js +2 -2
  176. package/dist/{notify-CJKveO7A.cjs → notify-BDQGMezE.cjs} +2 -2
  177. package/dist/{notify-CJKveO7A.cjs.map → notify-BDQGMezE.cjs.map} +1 -1
  178. package/dist/{notify-CWgEdHfi.js → notify-BagwUbXF.js} +2 -2
  179. package/dist/{notify-CWgEdHfi.js.map → notify-BagwUbXF.js.map} +1 -1
  180. package/dist/{option-D8m2Eyps.js → option-C9rb9Mtg.js} +2 -2
  181. package/dist/{option-D8m2Eyps.js.map → option-C9rb9Mtg.js.map} +1 -1
  182. package/dist/{option-Dh2bfixl.cjs → option-CHBn_LVC.cjs} +2 -2
  183. package/dist/{option-Dh2bfixl.cjs.map → option-CHBn_LVC.cjs.map} +1 -1
  184. package/dist/option.cjs +1 -1
  185. package/dist/option.js +1 -1
  186. package/dist/{payment-card-form-CC1BfZU7.js → payment-card-form-BJljorwf.js} +3 -3
  187. package/dist/{payment-card-form-CC1BfZU7.js.map → payment-card-form-BJljorwf.js.map} +1 -1
  188. package/dist/{payment-card-form-C24Od0e4.cjs → payment-card-form-mtpcOUF1.cjs} +2 -2
  189. package/dist/{payment-card-form-C24Od0e4.cjs.map → payment-card-form-mtpcOUF1.cjs.map} +1 -1
  190. package/dist/{progress-_-KrJL6P.cjs → progress-D2Ir6B3O.cjs} +2 -2
  191. package/dist/{progress-_-KrJL6P.cjs.map → progress-D2Ir6B3O.cjs.map} +1 -1
  192. package/dist/{progress-DbRYk_vN.js → progress-DszTrZkL.js} +2 -2
  193. package/dist/{progress-DbRYk_vN.js.map → progress-DszTrZkL.js.map} +1 -1
  194. package/dist/progress.cjs +1 -1
  195. package/dist/progress.js +1 -1
  196. package/dist/{radio-button-qhVXLMIU.cjs → radio-button--qELnlmY.cjs} +2 -2
  197. package/dist/{radio-button-qhVXLMIU.cjs.map → radio-button--qELnlmY.cjs.map} +1 -1
  198. package/dist/{radio-button-CSXQCDVF.js → radio-button-CK1igpVg.js} +3 -3
  199. package/dist/{radio-button-CSXQCDVF.js.map → radio-button-CK1igpVg.js.map} +1 -1
  200. package/dist/radio-group.cjs +1 -1
  201. package/dist/radio-group.js +1 -1
  202. package/dist/{schmancy-steps-container-BNs57JEy.cjs → schmancy-steps-container-1RPGYqA4.cjs} +2 -2
  203. package/dist/{schmancy-steps-container-BNs57JEy.cjs.map → schmancy-steps-container-1RPGYqA4.cjs.map} +1 -1
  204. package/dist/{schmancy-steps-container-i0lIq4G9.js → schmancy-steps-container-SZVHYv_6.js} +2 -2
  205. package/dist/{schmancy-steps-container-i0lIq4G9.js.map → schmancy-steps-container-SZVHYv_6.js.map} +1 -1
  206. package/dist/{select-D4ZrbxJz.js → select-DO1555BR.js} +3 -3
  207. package/dist/{select-D4ZrbxJz.js.map → select-DO1555BR.js.map} +1 -1
  208. package/dist/{select-C1Enzm_J.cjs → select-cK7FzCV1.cjs} +2 -2
  209. package/dist/{select-C1Enzm_J.cjs.map → select-cK7FzCV1.cjs.map} +1 -1
  210. package/dist/select.cjs +1 -1
  211. package/dist/select.js +1 -1
  212. package/dist/{sheet-DZYHhdDu.cjs → sheet-C0bdYFvW.cjs} +2 -2
  213. package/dist/{sheet-DZYHhdDu.cjs.map → sheet-C0bdYFvW.cjs.map} +1 -1
  214. package/dist/{sheet-DoRbb5DN.js → sheet-Cb-F3GTr.js} +4 -4
  215. package/dist/{sheet-DoRbb5DN.js.map → sheet-Cb-F3GTr.js.map} +1 -1
  216. package/dist/sheet.cjs +1 -1
  217. package/dist/sheet.js +1 -1
  218. package/dist/{slider-CmIsBmgU.cjs → slider-Dxefxjle.cjs} +2 -2
  219. package/dist/{slider-CmIsBmgU.cjs.map → slider-Dxefxjle.cjs.map} +1 -1
  220. package/dist/{slider-BbjYCp76.js → slider-dAcB16WP.js} +3 -3
  221. package/dist/{slider-BbjYCp76.js.map → slider-dAcB16WP.js.map} +1 -1
  222. package/dist/slider.cjs +1 -1
  223. package/dist/slider.js +1 -1
  224. package/dist/spinner-BDOeYm_e.js +135 -0
  225. package/dist/spinner-BDOeYm_e.js.map +1 -0
  226. package/dist/spinner-Dx1Ryl5-.cjs +106 -0
  227. package/dist/spinner-Dx1Ryl5-.cjs.map +1 -0
  228. package/dist/steps.cjs +1 -1
  229. package/dist/steps.js +1 -1
  230. package/dist/{surface-WsA8z_FS.cjs → surface-BdhBs3Iz.cjs} +3 -5
  231. package/dist/surface-BdhBs3Iz.cjs.map +1 -0
  232. package/dist/{surface-Cif29fRD.js → surface-QQcPS8gg.js} +2 -4
  233. package/dist/surface-QQcPS8gg.js.map +1 -0
  234. package/dist/surface.cjs +1 -1
  235. package/dist/surface.js +1 -1
  236. package/dist/{table-Vi66Jns6.js → table-DIDyes0y.js} +2 -2
  237. package/dist/{table-Vi66Jns6.js.map → table-DIDyes0y.js.map} +1 -1
  238. package/dist/{table-CmQsicMy.cjs → table-DOZUn3w8.cjs} +2 -2
  239. package/dist/{table-CmQsicMy.cjs.map → table-DOZUn3w8.cjs.map} +1 -1
  240. package/dist/table.cjs +1 -1
  241. package/dist/table.js +1 -1
  242. package/dist/{tabs-compatibility-Cqev-DcY.cjs → tabs-compatibility-BvLxoOTz.cjs} +2 -2
  243. package/dist/{tabs-compatibility-Cqev-DcY.cjs.map → tabs-compatibility-BvLxoOTz.cjs.map} +1 -1
  244. package/dist/{tabs-compatibility-Js1MktRW.js → tabs-compatibility-Zh6qVNYW.js} +2 -2
  245. package/dist/{tabs-compatibility-Js1MktRW.js.map → tabs-compatibility-Zh6qVNYW.js.map} +1 -1
  246. package/dist/tabs.cjs +1 -1
  247. package/dist/tabs.js +1 -1
  248. package/dist/tailwind.mixin-CbvBtwqu.js +43 -0
  249. package/dist/{tailwind.mixin-D4iX2lD7.js.map → tailwind.mixin-CbvBtwqu.js.map} +1 -1
  250. package/dist/tailwind.mixin-NrMHmraa.cjs +2 -0
  251. package/dist/{tailwind.mixin-Cl3yu0Cj.cjs.map → tailwind.mixin-NrMHmraa.cjs.map} +1 -1
  252. package/dist/teleport.cjs +1 -1
  253. package/dist/teleport.js +1 -1
  254. package/dist/{textarea-Dvd1VFKN.cjs → textarea-B59CHwhS.cjs} +2 -2
  255. package/dist/{textarea-Dvd1VFKN.cjs.map → textarea-B59CHwhS.cjs.map} +1 -1
  256. package/dist/{textarea-CXSBrd0S.js → textarea-CSSz4DUI.js} +2 -2
  257. package/dist/{textarea-CXSBrd0S.js.map → textarea-CSSz4DUI.js.map} +1 -1
  258. package/dist/textarea.cjs +1 -1
  259. package/dist/textarea.js +1 -1
  260. package/dist/{theme-button-CarTFeLZ.js → theme-button-BQusJXsT.js} +2 -2
  261. package/dist/{theme-button-CarTFeLZ.js.map → theme-button-BQusJXsT.js.map} +1 -1
  262. package/dist/{theme-button-A-aEIS5T.cjs → theme-button-DYpBAOyy.cjs} +2 -2
  263. package/dist/{theme-button-A-aEIS5T.cjs.map → theme-button-DYpBAOyy.cjs.map} +1 -1
  264. package/dist/theme-button.cjs +1 -1
  265. package/dist/theme-button.js +1 -1
  266. package/dist/theme.cjs +1 -1
  267. package/dist/{theme.component-BQvaBDDQ.cjs → theme.component-Br50YrTh.cjs} +3 -3
  268. package/dist/{theme.component-BQvaBDDQ.cjs.map → theme.component-Br50YrTh.cjs.map} +1 -1
  269. package/dist/{theme.component-qwakcK7J.js → theme.component-DKZbeAsF.js} +2 -2
  270. package/dist/{theme.component-qwakcK7J.js.map → theme.component-DKZbeAsF.js.map} +1 -1
  271. package/dist/theme.js +1 -1
  272. package/dist/{timezone-Bq7SuRuQ.js → timezone-CA5yLgVu.js} +3 -3
  273. package/dist/{timezone-Bq7SuRuQ.js.map → timezone-CA5yLgVu.js.map} +1 -1
  274. package/dist/{timezone-_IxIvwMi.cjs → timezone-CDIIaBDU.cjs} +2 -2
  275. package/dist/{timezone-_IxIvwMi.cjs.map → timezone-CDIIaBDU.cjs.map} +1 -1
  276. package/dist/{tooltip-v2tu65Gl.cjs → tooltip-DA-XG9ME.cjs} +2 -2
  277. package/dist/{tooltip-v2tu65Gl.cjs.map → tooltip-DA-XG9ME.cjs.map} +1 -1
  278. package/dist/{tooltip-B0m4YI0w.js → tooltip-DPzBKREA.js} +2 -2
  279. package/dist/{tooltip-B0m4YI0w.js.map → tooltip-DPzBKREA.js.map} +1 -1
  280. package/dist/tooltip.cjs +1 -1
  281. package/dist/tooltip.js +1 -1
  282. package/dist/{tree-V9u7LdtZ.cjs → tree--0R_mj8U.cjs} +2 -2
  283. package/dist/{tree-V9u7LdtZ.cjs.map → tree--0R_mj8U.cjs.map} +1 -1
  284. package/dist/{tree-tmP72oIY.js → tree-DVvgKrgv.js} +2 -2
  285. package/dist/{tree-tmP72oIY.js.map → tree-DVvgKrgv.js.map} +1 -1
  286. package/dist/tree.cjs +1 -1
  287. package/dist/tree.js +1 -1
  288. package/dist/{typewriter-BCN_KKDm.cjs → typewriter-CqwSUASf.cjs} +2 -2
  289. package/dist/{typewriter-BCN_KKDm.cjs.map → typewriter-CqwSUASf.cjs.map} +1 -1
  290. package/dist/{typewriter-CxZkSMuN.js → typewriter-DTnBrWnh.js} +7 -7
  291. package/dist/{typewriter-CxZkSMuN.js.map → typewriter-DTnBrWnh.js.map} +1 -1
  292. package/dist/typewriter.cjs +1 -1
  293. package/dist/typewriter.js +1 -1
  294. package/dist/{typography-6mKlSjCG.js → typography-CNjmf-zj.js} +2 -2
  295. package/dist/{typography-6mKlSjCG.js.map → typography-CNjmf-zj.js.map} +1 -1
  296. package/dist/{typography-DfJ5K2CM.cjs → typography-U5supY1N.cjs} +2 -2
  297. package/dist/{typography-DfJ5K2CM.cjs.map → typography-U5supY1N.cjs.map} +1 -1
  298. package/dist/typography.cjs +1 -1
  299. package/dist/typography.js +1 -1
  300. package/package.json +1 -1
  301. package/types/src/autocomplete/autocomplete.d.ts +1 -2
  302. package/types/src/busy/spinner.d.ts +2 -2
  303. package/types/src/index.d.ts +0 -1
  304. package/ai/circular-progress.md +0 -91
  305. package/dist/ai/circular-progress.md +0 -91
  306. package/dist/autocomplete-CP1NTObi.cjs +0 -73
  307. package/dist/autocomplete-CP1NTObi.cjs.map +0 -1
  308. package/dist/autocomplete-wG22PnTc.js +0 -267
  309. package/dist/autocomplete-wG22PnTc.js.map +0 -1
  310. package/dist/circular-progress-CToMz17U.cjs +0 -9
  311. package/dist/circular-progress-CToMz17U.cjs.map +0 -1
  312. package/dist/circular-progress-fhXgEisi.js +0 -35
  313. package/dist/circular-progress-fhXgEisi.js.map +0 -1
  314. package/dist/circular-progress.cjs +0 -2
  315. package/dist/circular-progress.cjs.map +0 -1
  316. package/dist/circular-progress.js +0 -5
  317. package/dist/circular-progress.js.map +0 -1
  318. package/dist/spinner-Dd0oPt1r.js +0 -102
  319. package/dist/spinner-Dd0oPt1r.js.map +0 -1
  320. package/dist/spinner-lCgpt3QP.cjs +0 -73
  321. package/dist/spinner-lCgpt3QP.cjs.map +0 -1
  322. package/dist/surface-Cif29fRD.js.map +0 -1
  323. package/dist/surface-WsA8z_FS.cjs.map +0 -1
  324. package/dist/tailwind.mixin-Cl3yu0Cj.cjs +0 -2
  325. package/dist/tailwind.mixin-D4iX2lD7.js +0 -43
  326. package/types/src/circular-progress/circular-progress.d.ts +0 -15
  327. package/types/src/circular-progress/index.d.ts +0 -1
@@ -1,267 +0,0 @@
1
- import { BehaviorSubject as f, Subject as k, fromEvent as y, combineLatest as C, timer as _, of as R, EMPTY as O, merge as q } from "rxjs";
2
- import { classMap as T } from "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { $ as j } from "./litElement.mixin-BuEn1yw0.js";
5
- import "./tailwind.mixin-D4iX2lD7.js";
6
- import { property as c, state as x, query as A, queryAssignedElements as L, customElement as M } from "lit/decorators.js";
7
- import { html as w } from "lit";
8
- import { createRef as I, ref as P } from "lit/directives/ref.js";
9
- import { tap as a, takeUntil as d, distinctUntilChanged as S, debounceTime as N, withLatestFrom as v, take as b, filter as m, switchMap as g, startWith as z, map as E } from "rxjs/operators";
10
- import { s as V } from "./search-6Hr7K1gh.js";
11
- var H = Object.defineProperty, B = Object.getOwnPropertyDescriptor, u = (e, t, s, n) => {
12
- for (var i, l = n > 1 ? void 0 : n ? B(t, s) : t, p = e.length - 1; p >= 0; p--) (i = e[p]) && (l = (n ? i(t, s, l) : i(l)) || l);
13
- return n && l && H(t, s, l), l;
14
- };
15
- let o = class extends j(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}") {
16
- constructor() {
17
- super(...arguments), this.required = !1, this.placeholder = "", this.label = "", this.name = "", this.maxHeight = "300px", this.multi = !1, this.description = "", this.size = "md", this.autocomplete = "on", this.debounceMs = 200, this.similarityThreshold = 0.3, this._open = !1, this._inputValue = "", this._visibleOptionsCount = 0, this._hasResults = !0, this._inputElementRef = I(), this._selectedValue$ = new f(""), this._selectedValues$ = new f([]), this._inputValue$ = new f(""), this._open$ = new f(!1), this._options$ = new f([]), this._optionSelect$ = new k(), this._documentClick$ = new k(), this._checkAutofill$ = new k();
18
- }
19
- get values() {
20
- return [...this._selectedValues$.value];
21
- }
22
- set values(e) {
23
- this._selectedValues$.next(Array.isArray(e) ? [...e] : []);
24
- }
25
- get value() {
26
- return this.multi ? this._selectedValues$.value.join(",") : this._selectedValue$.value;
27
- }
28
- set value(e) {
29
- this.multi ? this._selectedValues$.next(e ? e.split(",").map((t) => t.trim()).filter(Boolean) : []) : this._selectedValue$.next(e);
30
- }
31
- connectedCallback() {
32
- super.connectedCallback(), this.id || (this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`), this._setupAutocompleteLogic(), this._setupDocumentClickHandler(), this._setupAutofillDetection();
33
- }
34
- _setupAutocompleteLogic() {
35
- this._options$.pipe(a((e) => {
36
- e.forEach((t, s) => {
37
- t.setAttribute("role", "option"), t.tabIndex = -1, t.id || (t.id = `${this.id}-option-${s}`), t.hasAttribute("data-event-bound") || (y(t, "click").pipe(a((n) => n.stopPropagation()), d(this.disconnecting)).subscribe(() => this._optionSelect$.next(t)), t.setAttribute("data-event-bound", "true"));
38
- });
39
- }), d(this.disconnecting)).subscribe(), C([this._selectedValue$, this._selectedValues$, this._options$]).pipe(a(([e, t, s]) => {
40
- s.forEach((n) => {
41
- n.selected = this.multi ? t.includes(n.value) : n.value === e, n.setAttribute("aria-selected", String(n.selected));
42
- });
43
- }), d(this.disconnecting)).subscribe(), this._inputValue$.pipe(S(), N(this.debounceMs), v(this._options$, this._open$), a(([e, t, s]) => {
44
- if (!s) return;
45
- const n = e.trim();
46
- if (n) {
47
- const i = t.map((p) => {
48
- const r = p.label || p.textContent || "", h = p.value, $ = V(n, r), D = V(n, h);
49
- return { option: p, score: Math.max(1.1 * $, D) };
50
- });
51
- i.sort((p, r) => r.score - p.score);
52
- let l = 0;
53
- i.forEach((p, r) => {
54
- const { option: h, score: $ } = p;
55
- $ < this.similarityThreshold ? h.hidden = !0 : (h.hidden = !1, l++, h.style.order = String(r));
56
- }), this._visibleOptionsCount = l, this._hasResults = l > 0;
57
- } else t.forEach((i) => {
58
- i.hidden = !1, i.style.order = "0";
59
- }), this._visibleOptionsCount = t.length, this._hasResults = !0;
60
- this._announceToScreenReader(this._visibleOptionsCount > 0 ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? "" : "s"} available.` : "No results found.");
61
- }), d(this.disconnecting)).subscribe(), this._optionSelect$.pipe(v(this._selectedValue$, this._selectedValues$), a(([e, t, s]) => {
62
- if (this.multi) {
63
- const n = s.indexOf(e.value), i = n > -1 ? [...s.slice(0, n), ...s.slice(n + 1)] : [...s, e.value];
64
- this._selectedValues$.next(i), this._inputValue$.next(""), this._inputValue = "";
65
- const l = this._getSelectedLabels();
66
- this._announceToScreenReader(l.length > 0 ? `Selected: ${l.join(", ")}` : "No options selected");
67
- } else this._selectedValue$.next(e.value), this._open$.next(!1), this._open = !1, this._inputValue = e.label || e.textContent || "", this._inputValue$.next(this._inputValue), _(100).pipe(a(() => this._inputElementRef.value?.blur()), b(1)).subscribe(), this._announceToScreenReader(`Selected: ${e.label || e.textContent}`);
68
- }), a(() => this._fireChangeEvent()), d(this.disconnecting)).subscribe(), C([this._open$, this._selectedValue$, this._selectedValues$, this._options$]).pipe(m(() => !this._open$.value), a(([, e, t, s]) => {
69
- if (this.multi) {
70
- const n = s.filter((i) => t.includes(i.value)).map((i) => i.label || i.textContent || "");
71
- this._inputValue = n.join(", ");
72
- } else {
73
- const n = s.find((i) => i.value === e);
74
- this._inputValue = n && (n.label || n.textContent) || "";
75
- }
76
- this._inputValue$.next(this._inputValue);
77
- }), d(this.disconnecting)).subscribe(), this._open$.pipe(a((e) => this._open = e), d(this.disconnecting)).subscribe();
78
- }
79
- _setupDocumentClickHandler() {
80
- this._documentClick$.pipe(m((e) => !e.composedPath().includes(this)), m((e) => !this._options.some((t) => e.composedPath().includes(t))), m(() => this._open), a(() => {
81
- this._open$.next(!1), this._updateInputDisplay();
82
- }), d(this.disconnecting)).subscribe(), this._open$.pipe(S(), g((e) => e ? _(10).pipe(a(() => document.addEventListener("click", (t) => this._documentClick$.next(t))), g(() => O)) : R(null).pipe(a(() => document.removeEventListener("click", (t) => this._documentClick$.next(t))))), d(this.disconnecting)).subscribe();
83
- }
84
- _setupAutofillDetection() {
85
- q(_(100, 500).pipe(b(10)), this._checkAutofill$, _(100).pipe(g(() => y(window, "load").pipe(z(null))))).pipe(E(() => {
86
- const e = this._inputElementRef.value;
87
- return e ? e.shadowRoot?.querySelector("input") || e.querySelector("input") || e._inputRef?.value : null;
88
- }), m((e) => !!e), E((e) => e.value), m((e) => !!e && e.trim().length > 0), S(), v(this._options$), a(([e, t]) => {
89
- let s = null, n = 0;
90
- if (t.forEach((i) => {
91
- const l = i.label || i.textContent || "", p = i.value, r = V(e, l), h = V(e, p), $ = Math.max(r, h);
92
- $ > n && $ >= this.similarityThreshold && (n = $, s = i);
93
- }), s) {
94
- this.multi ? this._selectedValues$.next([s.value]) : this._selectedValue$.next(s.value);
95
- const i = s.label || s.textContent || "";
96
- this._inputValue = i, this._inputValue$.next(i);
97
- const l = this._inputElementRef.value;
98
- l && (l.value = i), this._open$.next(!1), this._fireChangeEvent(), this._announceToScreenReader(`Autofilled: ${i}`);
99
- }
100
- }), d(this.disconnecting)).subscribe(), _(100).pipe(E(() => {
101
- const e = this._inputElementRef.value;
102
- return e ? e.shadowRoot?.querySelector("input") || e.querySelector("input") || e._inputRef?.value : null;
103
- }), m((e) => !!e), g((e) => y(e, "animationstart").pipe(m((t) => t.animationName === "onAutoFillStart"), a(() => {
104
- _(100).pipe(a(() => this._checkAutofill$.next()), b(1)).subscribe();
105
- }))), d(this.disconnecting)).subscribe();
106
- }
107
- _updateInputDisplay() {
108
- R(null).pipe(v(this._selectedValue$, this._selectedValues$, this._options$, this._open$), a(([, e, t, s, n]) => {
109
- if (this._inputElementRef.value && (!n || !this.multi)) {
110
- if (this.multi) {
111
- const i = s.filter((l) => t.includes(l.value)).map((l) => l.label || l.textContent || "");
112
- this._inputValue = i.join(", ");
113
- } else {
114
- const i = s.find((l) => l.value === e);
115
- this._inputValue = i && (i.label || i.textContent) || "";
116
- }
117
- this._inputValue$.next(this._inputValue), this._inputElementRef.value.value = this._inputValue;
118
- }
119
- }), b(1)).subscribe();
120
- }
121
- _getSelectedLabels() {
122
- return this._options.filter((e) => this.multi ? this._selectedValues$.value.includes(e.value) : e.value === this._selectedValue$.value).map((e) => e.label || e.textContent || "");
123
- }
124
- _announceToScreenReader(e) {
125
- const t = this.shadowRoot?.querySelector("#live-status");
126
- t && (t.textContent = e);
127
- }
128
- _fireChangeEvent() {
129
- const e = { value: this.value };
130
- this.multi && (e.values = [...this._selectedValues$.value]), this.dispatchEvent(new CustomEvent("change", { detail: e, bubbles: !0, composed: !0 }));
131
- }
132
- checkValidity() {
133
- return !this.required || (this.multi ? this._selectedValues$.value.length > 0 : !!this._selectedValue$.value);
134
- }
135
- reportValidity() {
136
- return this._inputElementRef.value ? this._inputElementRef.value.reportValidity() : this.checkValidity();
137
- }
138
- firstUpdated() {
139
- _(200).pipe(a(() => this._checkAutofill$.next()), b(1)).subscribe(), this._options$.pipe(m((e) => e.length > 0), a(() => this._checkAutofill$.next()), d(this.disconnecting)).subscribe();
140
- }
141
- render() {
142
- const e = `${this.id}-desc`;
143
- return w`
144
- <div class="relative">
145
- <!-- Screen reader live region -->
146
- <div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
147
-
148
- <!-- Description -->
149
- ${this.description ? w`<div id="${e}" class="sr-only">${this.description}</div>` : ""}
150
-
151
- <!-- Input -->
152
- <slot name="trigger">
153
- <schmancy-input
154
- .size=${this.size}
155
- ${P(this._inputElementRef)}
156
- id="autocomplete-input"
157
- class="w-full"
158
- .name=${this.name || this.label?.toLowerCase().replace(/\s+/g, "-")}
159
- .label=${this.label}
160
- .placeholder=${this.placeholder}
161
- .required=${this.required}
162
- .value=${this._inputValue}
163
- type="text"
164
- autocomplete=${this.autocomplete}
165
- clickable
166
- role="combobox"
167
- aria-autocomplete="list"
168
- aria-haspopup="listbox"
169
- aria-controls="options"
170
- aria-expanded=${this._open}
171
- aria-describedby=${this.description ? e : void 0}
172
- @input=${(t) => {
173
- const s = t.target.value;
174
- this._inputValue = s, this._inputValue$.next(s);
175
- }}
176
- @focus=${(t) => {
177
- t.stopPropagation();
178
- const s = this.multi ? this._selectedValues$.value.length > 0 : !!this._selectedValue$.value;
179
- this.multi && !s && (this._inputValue = "", this._inputValue$.next(""), this._inputElementRef.value && (this._inputElementRef.value.value = "")), this._open$.next(!0);
180
- }}
181
- @click=${(t) => {
182
- t.stopPropagation(), this._open$.next(!0);
183
- }}
184
- @keydown=${(t) => {
185
- this._handleKeyDown(t);
186
- }}
187
- >
188
- </schmancy-input>
189
- </slot>
190
-
191
- <!-- Options dropdown -->
192
- <ul
193
- id="options"
194
- class=${T({ absolute: !0, "z-[1000]": !0, "mt-1": !0, "w-full": !0, "rounded-md": !0, "shadow-md": !0, "overflow-auto": !0, "min-w-full": !0, "bg-surface-low": !0, flex: !0, "flex-col": !0 })}
195
- role="listbox"
196
- aria-multiselectable=${this.multi ? "true" : "false"}
197
- aria-label=${`${this.label || "Options"} dropdown`}
198
- ?hidden=${!this._open}
199
- style="max-height: ${this.maxHeight}; display: ${this._open ? "flex" : "none"};"
200
- @slotchange=${() => {
201
- this._options$.next(this._options), _(100).pipe(a(() => this._checkAutofill$.next()), b(1)).subscribe();
202
- }}
203
- >
204
- <slot></slot>
205
- ${this._hasResults ? "" : w`
206
- <li class="px-3 py-2 text-sm text-muted">No results found</li>
207
- `}
208
- </ul>
209
- </div>
210
-
211
- <style>
212
- :host {
213
- display: block;
214
- }
215
-
216
- @keyframes onAutoFillStart {
217
- from {/**/}
218
- to {/**/}
219
- }
220
-
221
- sch-input::part(input):-webkit-autofill,
222
- sch-input input:-webkit-autofill {
223
- animation-name: onAutoFillStart;
224
- animation-duration: 1ms;
225
- }
226
- </style>
227
- `;
228
- }
229
- _handleKeyDown(e) {
230
- y(document, "keydown").pipe(b(1), v(this._open$, this._options$), a(([t, s, n]) => {
231
- if (!s && (t.key === "ArrowDown" || t.key === "Enter")) return t.preventDefault(), this._open$.next(!0), void _(10).pipe(a(() => {
232
- n.find((h) => !h.hidden)?.focus();
233
- }), b(1)).subscribe();
234
- if (!s) return;
235
- const i = n.filter((r) => !r.hidden).sort((r, h) => parseInt(r.style.order || "0") - parseInt(h.style.order || "0")), l = i.find((r) => r === document.activeElement), p = l ? i.indexOf(l) : -1;
236
- switch (t.key) {
237
- case "Escape":
238
- t.preventDefault(), this._open$.next(!1), this._updateInputDisplay(), this._inputElementRef.value?.focus();
239
- break;
240
- case "Tab":
241
- this._open$.next(!1), this._updateInputDisplay();
242
- break;
243
- case "ArrowDown":
244
- t.preventDefault();
245
- const r = p < i.length - 1 ? p + 1 : 0;
246
- i[r]?.focus();
247
- break;
248
- case "ArrowUp":
249
- t.preventDefault();
250
- const h = p > 0 ? p - 1 : i.length - 1;
251
- i[h]?.focus();
252
- break;
253
- case "Home":
254
- t.preventDefault(), i[0]?.focus();
255
- break;
256
- case "End":
257
- t.preventDefault(), i[i.length - 1]?.focus();
258
- break;
259
- case "Enter":
260
- case " ":
261
- l && (t.preventDefault(), this._optionSelect$.next(l));
262
- }
263
- })).subscribe();
264
- }
265
- };
266
- u([c({ type: Boolean })], o.prototype, "required", 2), u([c({ type: String })], o.prototype, "placeholder", 2), u([c({ type: String, reflect: !0 })], o.prototype, "label", 2), u([c({ type: String })], o.prototype, "name", 2), u([c({ type: String })], o.prototype, "maxHeight", 2), u([c({ type: Boolean })], o.prototype, "multi", 2), u([c({ type: String })], o.prototype, "description", 2), u([c({ type: String, reflect: !0 })], o.prototype, "size", 2), u([c({ type: String })], o.prototype, "autocomplete", 2), u([c({ type: Number })], o.prototype, "debounceMs", 2), u([c({ type: Number })], o.prototype, "similarityThreshold", 2), u([c({ type: Array })], o.prototype, "values", 1), u([c({ type: String, reflect: !0 })], o.prototype, "value", 1), u([x()], o.prototype, "_open", 2), u([x()], o.prototype, "_inputValue", 2), u([x()], o.prototype, "_visibleOptionsCount", 2), u([x()], o.prototype, "_hasResults", 2), u([A("#options")], o.prototype, "_listbox", 2), u([A("sch-input")], o.prototype, "_input", 2), u([L({ flatten: !0 })], o.prototype, "_options", 2), o = u([M("schmancy-autocomplete")], o);
267
- //# sourceMappingURL=autocomplete-wG22PnTc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete-wG22PnTc.js","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport {\n BehaviorSubject,\n combineLatest,\n EMPTY,\n fromEvent,\n merge,\n of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom\n} from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\n// Import the similarity function (or include it inline)\nimport { similarity } from '../utils/search'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\n @property({ type: String }) maxHeight = '300px'\n @property({ type: Boolean }) multi = false\n @property({ type: String }) description = ''\n @property({ type: String, reflect: true }) size: InputSize = 'md'\n @property({ type: String }) autocomplete = 'on'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\n\n // Values property for multi-select mode\n @property({ type: Array })\n get values() {\n return [...this._selectedValues$.value]\n }\n set values(vals: string[]) {\n this._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n if (this.multi) {\n this._selectedValues$.next(\n val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n )\n } else {\n this._selectedValue$.next(val)\n }\n }\n\n // State\n @state() private _open = false\n @state() private _inputValue = ''\n @state() private _visibleOptionsCount = 0\n @state() private _hasResults = true\n\n // DOM references\n @query('#options') _listbox!: HTMLUListElement\n @query('sch-input') _input!: SchmancyInput\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n private _open$ = new BehaviorSubject<boolean>(false)\n private _options$ = new BehaviorSubject<SchmancyOption[]>([])\n private _optionSelect$ = new Subject<SchmancyOption>()\n private _documentClick$ = new Subject<MouseEvent>()\n private _checkAutofill$ = new Subject<void>()\n\n connectedCallback() {\n super.connectedCallback()\n \n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n this._setupAutofillDetection()\n }\n\n private _setupAutocompleteLogic() {\n // Options management pipeline\n this._options$.pipe(\n tap(options => {\n options.forEach((option, index) => {\n option.setAttribute('role', 'option')\n option.tabIndex = -1\n if (!option.id) {\n option.id = `${this.id}-option-${index}`\n }\n if (!option.hasAttribute('data-event-bound')) {\n fromEvent(option, 'click').pipe(\n tap(e => e.stopPropagation()),\n takeUntil(this.disconnecting)\n ).subscribe(() => this._optionSelect$.next(option))\n option.setAttribute('data-event-bound', 'true')\n }\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Selection sync pipeline\n combineLatest([\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n tap(([selectedValue, selectedValues, options]) => {\n options.forEach(option => {\n option.selected = this.multi \n ? selectedValues.includes(option.value)\n : option.value === selectedValue\n option.setAttribute('aria-selected', String(option.selected))\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Enhanced fuzzy filtering pipeline\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n withLatestFrom(this._options$, this._open$),\n tap(([searchTerm, options, isOpen]) => {\n if (!isOpen) return\n\n const term = searchTerm.trim()\n \n if (!term) {\n // Show all options if no search term\n options.forEach(option => {\n option.hidden = false\n option.style.order = '0' // Reset order\n })\n this._visibleOptionsCount = options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = options.map(option => {\n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(term, optionLabel)\n const valueScore = similarity(term, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n return { option, score }\n })\n \n // Sort by score (highest first)\n scoredOptions.sort((a, b) => b.score - a.score)\n \n // Apply visibility and ordering\n let visibleCount = 0\n scoredOptions.forEach((item, index) => {\n const { option, score } = item\n \n // Hide options below threshold\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n // Use CSS order to sort visible options by relevance\n option.style.order = String(index)\n }\n })\n \n this._visibleOptionsCount = visibleCount\n this._hasResults = visibleCount > 0\n }\n \n this._announceToScreenReader(\n this._visibleOptionsCount > 0 \n ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? '' : 's'} available.`\n : 'No results found.'\n )\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Option selection pipeline\n this._optionSelect$.pipe(\n withLatestFrom(this._selectedValue$, this._selectedValues$),\n tap(([option, _, currentValues]) => {\n if (this.multi) {\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n : [...currentValues, option.value]\n this._selectedValues$.next(newValues)\n \n this._inputValue$.next('')\n this._inputValue = ''\n \n const labels = this._getSelectedLabels()\n this._announceToScreenReader(\n labels.length > 0 \n ? `Selected: ${labels.join(', ')}`\n : 'No options selected'\n )\n } else {\n this._selectedValue$.next(option.value)\n this._open$.next(false)\n this._open = false\n \n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n \n timer(100).pipe(\n tap(() => this._inputElementRef.value?.blur()),\n take(1)\n ).subscribe()\n \n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }),\n tap(() => this._fireChangeEvent()),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Display update pipeline\n combineLatest([\n this._open$,\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n filter(() => !this._open$.value),\n tap(([, selectedValue, selectedValues, options]) => {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Open state sync\n this._open$.pipe(\n tap(open => this._open = open),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupDocumentClickHandler() {\n this._documentClick$.pipe(\n filter(e => !e.composedPath().includes(this)),\n filter(e => !this._options.some(opt => e.composedPath().includes(opt))),\n filter(() => this._open),\n tap(() => {\n this._open$.next(false)\n this._updateInputDisplay()\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n this._open$.pipe(\n distinctUntilChanged(),\n switchMap(open => \n open \n ? timer(10).pipe(\n tap(() => document.addEventListener('click', e => this._documentClick$.next(e))),\n switchMap(() => EMPTY)\n )\n : of(null).pipe(\n tap(() => document.removeEventListener('click', e => this._documentClick$.next(e)))\n )\n ),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupAutofillDetection() {\n // Enhanced autofill detection with fuzzy matching\n merge(\n timer(100, 500).pipe(take(10)),\n this._checkAutofill$,\n timer(100).pipe(\n switchMap(() => \n fromEvent(window, 'load').pipe(startWith(null))\n )\n )\n ).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n map(input => (input as HTMLInputElement).value),\n filter(value => !!value && value.trim().length > 0),\n distinctUntilChanged(),\n withLatestFrom(this._options$),\n tap(([autofilledValue, options]) => {\n console.log('Autofill detected:', autofilledValue)\n \n // Use fuzzy matching to find best matching option\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n options.forEach(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores\n const labelScore = similarity(autofilledValue, optionLabel)\n const valueScore = similarity(autofilledValue, optionValue)\n \n // Use the higher score\n const score = Math.max(labelScore, valueScore)\n \n // Keep track of best match\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n\n if (bestMatch) {\n console.log('Found matching option:', bestMatch.value, 'with score:', bestScore)\n \n // Select the option\n if (this.multi) {\n this._selectedValues$.next([bestMatch.value])\n } else {\n this._selectedValue$.next(bestMatch.value)\n }\n \n // Update input to show the label\n const displayValue = bestMatch.label || bestMatch.textContent || ''\n this._inputValue = displayValue\n this._inputValue$.next(displayValue)\n \n // Update the actual input element\n const input = this._inputElementRef.value\n if (input) {\n input.value = displayValue\n }\n \n // Close dropdown if open\n this._open$.next(false)\n \n // Fire change event\n this._fireChangeEvent()\n \n // Announce to screen reader\n this._announceToScreenReader(`Autofilled: ${displayValue}`)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Chrome autofill animation detection\n timer(100).pipe(\n map(() => {\n const schInput = this._inputElementRef.value\n if (!schInput) return null\n return schInput.shadowRoot?.querySelector('input') || \n schInput.querySelector('input') ||\n (schInput as any)._inputRef?.value\n }),\n filter(input => !!input),\n switchMap(input => {\n return fromEvent<AnimationEvent>(input!, 'animationstart').pipe(\n filter(e => e.animationName === 'onAutoFillStart'),\n tap(() => {\n console.log('Chrome autofill animation detected')\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n })\n )\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _updateInputDisplay() {\n of(null).pipe(\n withLatestFrom(\n this._selectedValue$,\n this._selectedValues$,\n this._options$,\n this._open$\n ),\n tap(([, selectedValue, selectedValues, options, isOpen]) => {\n if (!this._inputElementRef.value) return\n\n if (!isOpen || !this.multi) {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n this._inputElementRef.value.value = this._inputValue\n }\n }),\n take(1)\n ).subscribe()\n }\n\n private _getSelectedLabels(): string[] {\n return this._options\n .filter(option => \n this.multi \n ? this._selectedValues$.value.includes(option.value)\n : option.value === this._selectedValue$.value\n )\n .map(option => option.label || option.textContent || '')\n }\n\n private _announceToScreenReader(message: string) {\n const liveRegion = this.shadowRoot?.querySelector('#live-status')\n if (liveRegion) {\n liveRegion.textContent = message\n }\n }\n\n private _fireChangeEvent() {\n const detail: SchmancyAutocompleteChangeEvent['detail'] = {\n value: this.value,\n }\n\n if (this.multi) {\n detail.values = [...this._selectedValues$.value]\n }\n\n this.dispatchEvent(\n new CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n detail,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n public checkValidity(): boolean {\n if (!this.required) return true\n return this.multi \n ? this._selectedValues$.value.length > 0 \n : Boolean(this._selectedValue$.value)\n }\n\n public reportValidity(): boolean {\n if (this._inputElementRef.value) {\n return this._inputElementRef.value.reportValidity()\n }\n return this.checkValidity()\n }\n\n firstUpdated() {\n timer(200).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n \n this._options$.pipe(\n filter(options => options.length > 0),\n tap(() => this._checkAutofill$.next()),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\n\n return html`\n <div class=\"relative\">\n <!-- Screen reader live region -->\n <div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n <!-- Description -->\n ${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n <!-- Input -->\n <slot name=\"trigger\">\n <schmancy-input\n .size=${this.size}\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n class=\"w-full\"\n .name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-')}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .required=${this.required}\n .value=${this._inputValue}\n type=\"text\"\n autocomplete=${this.autocomplete}\n clickable\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n aria-describedby=${this.description ? descriptionId : undefined}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n \n const hasSelection = this.multi \n ? this._selectedValues$.value.length > 0\n : !!this._selectedValue$.value\n \n if (this.multi && !hasSelection) {\n this._inputValue = ''\n this._inputValue$.next('')\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = ''\n }\n }\n \n this._open$.next(true)\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open$.next(true)\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n >\n </schmancy-input>\n </slot>\n\n <!-- Options dropdown -->\n <ul\n id=\"options\"\n class=${classMap({\n 'absolute': true,\n 'z-[1000]': true,\n 'mt-1': true,\n 'w-full': true,\n 'rounded-md': true,\n 'shadow-md': true,\n 'overflow-auto': true,\n 'min-w-full': true,\n 'bg-surface-low': true,\n 'flex': true,\n 'flex-col': true, // Enable flexbox for ordering\n })}\n role=\"listbox\"\n aria-multiselectable=${this.multi ? 'true' : 'false'}\n aria-label=${`${this.label || 'Options'} dropdown`}\n ?hidden=${!this._open}\n style=\"max-height: ${this.maxHeight}; display: ${this._open ? 'flex' : 'none'};\"\n @slotchange=${() => {\n this._options$.next(this._options)\n timer(100).pipe(\n tap(() => this._checkAutofill$.next()),\n take(1)\n ).subscribe()\n }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n\n <style>\n :host {\n display: block;\n }\n\n @keyframes onAutoFillStart {\n from {/**/}\n to {/**/}\n }\n\n sch-input::part(input):-webkit-autofill,\n sch-input input:-webkit-autofill {\n animation-name: onAutoFillStart;\n animation-duration: 1ms;\n }\n </style>\n `\n }\n\n private _handleKeyDown(_e: KeyboardEvent) {\n fromEvent<KeyboardEvent>(document, 'keydown').pipe(\n take(1),\n withLatestFrom(this._open$, this._options$),\n tap(([event, isOpen, options]) => {\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open$.next(true)\n \n timer(10).pipe(\n tap(() => {\n const firstVisible = options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }),\n take(1)\n ).subscribe()\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = options.filter(opt => !opt.hidden)\n .sort((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))\n \n const focusedOption = visibleOptions.find(opt => opt === document.activeElement)\n const currentIndex = focusedOption ? visibleOptions.indexOf(focusedOption) : -1\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault()\n this._open$.next(false)\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open$.next(false)\n this._updateInputDisplay()\n break\n\n case 'ArrowDown':\n event.preventDefault()\n const nextIndex = currentIndex < visibleOptions.length - 1 ? currentIndex + 1 : 0\n visibleOptions[nextIndex]?.focus()\n break\n\n case 'ArrowUp':\n event.preventDefault()\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : visibleOptions.length - 1\n visibleOptions[prevIndex]?.focus()\n break\n\n case 'Home':\n event.preventDefault()\n visibleOptions[0]?.focus()\n break\n\n case 'End':\n event.preventDefault()\n visibleOptions[visibleOptions.length - 1]?.focus()\n break\n\n case 'Enter':\n case ' ':\n if (focusedOption) {\n event.preventDefault()\n this._optionSelect$.next(focusedOption)\n }\n break\n }\n })\n ).subscribe()\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","_open$","_options$","_optionSelect$","Subject","_documentClick$","_checkAutofill$","value","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","_setupAutofillDetection","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","stopPropagation","takeUntil","disconnecting","subscribe","combineLatest","selectedValue","selectedValues","selected","includes","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_","currentValues","indexOf","newValues","labels","_getSelectedLabels","timer","blur","take","_fireChangeEvent","opt","find","open","composedPath","_options","some","_updateInputDisplay","switchMap","document","addEventListener","EMPTY","of","removeEventListener","merge","window","startWith","schInput","shadowRoot","querySelector","_inputRef","input","autofilledValue","bestMatch","bestScore","displayValue","animationName","message","liveRegion","detail","values","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","classMap","absolute","flex","_e","event","key","preventDefault","firstVisible","focus","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-Cl3yu0Cj.cjs"),o=require("lit/decorators.js"),u=require("lit");require("./spinner-lCgpt3QP.cjs");var l=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(r,i,t,s)=>{for(var n,e=s>1?void 0:s?h(i,t):i,c=r.length-1;c>=0;c--)(n=r[c])&&(e=(s?n(i,t,e):n(e))||e);return s&&e&&l(i,t,e),e};exports.SchmancyCircularProgress=class extends p.TailwindElement(u.css`
2
- :host {
3
- display: inline-block;
4
- position: relative;
5
- }
6
- `){constructor(){super(...arguments),this.indeterminate=!1,this.size="md"}get spinnerSize(){const r={xs:"16px",sm:"24px",md:"32px",lg:"48px",xl:"64px"};return this.size in r?r[this.size]:isNaN(Number(this.size))?this.size:`${this.size}px`}render(){return u.html`
7
- <schmancy-spinner size="${this.spinnerSize}"></schmancy-spinner>
8
- `}},a([o.property({type:Boolean,reflect:!0})],exports.SchmancyCircularProgress.prototype,"indeterminate",2),a([o.property({type:String})],exports.SchmancyCircularProgress.prototype,"size",2),exports.SchmancyCircularProgress=a([o.customElement("schmancy-circular-progress")],exports.SchmancyCircularProgress);
9
- //# sourceMappingURL=circular-progress-CToMz17U.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circular-progress-CToMz17U.cjs","sources":["../src/circular-progress/circular-progress.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\nimport '../busy'\r\n\r\nexport type CircularProgressSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | string\r\n\r\n@customElement('schmancy-circular-progress')\r\nexport class SchmancyCircularProgress extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: inline-block;\r\n\t\tposition: relative;\r\n\t}\r\n`) {\r\n\t@property({ type: Boolean, reflect: true })\r\n\tindeterminate = false\r\n\r\n\t@property({ type: String })\r\n\tsize: CircularProgressSize = 'md'\r\n\r\n\tprivate get spinnerSize(): string {\r\n\t\tconst sizeMap = {\r\n\t\t\txs: '16px',\r\n\t\t\tsm: '24px',\r\n\t\t\tmd: '32px',\r\n\t\t\tlg: '48px',\r\n\t\t\txl: '64px'\r\n\t\t}\r\n\r\n\t\tif (this.size in sizeMap) {\r\n\t\t\treturn sizeMap[this.size as keyof typeof sizeMap]\r\n\t\t}\r\n\r\n\t\t// If it's a number, convert to px\r\n\t\tif (!isNaN(Number(this.size))) {\r\n\t\t\treturn `${this.size}px`\r\n\t\t}\r\n\r\n\t\t// Otherwise, assume it's already a valid CSS size\r\n\t\treturn this.size\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\treturn html`\r\n\t\t\t<schmancy-spinner size=\"${this.spinnerSize}\"></schmancy-spinner>\r\n\t\t`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-circular-progress': SchmancyCircularProgress\r\n\t}\r\n}"],"names":["SchmancyCircularProgress","TailwindElement","css","constructor","super","arguments","this","indeterminate","size","spinnerSize","sizeMap","xs","sm","md","lg","xl","isNaN","Number","render","html","__decorateClass","property","type","Boolean","reflect","prototype","String","customElement"],"mappings":"8aAQaA,QAAAA,yBAAN,cAAuCC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAvD,aAAAC,CAAAC,SAAAC,SAAAA,EAONC,KAAAC,iBAGAD,KAAAE,KAA6B,IAAA,CAE7B,iBAAYC,CACX,MAAMC,EAAU,CACfC,GAAI,OACJC,GAAI,OACJC,GAAI,OACJC,GAAI,OACJC,GAAI,MAAA,EAGL,OAAIT,KAAKE,QAAQE,EACTA,EAAQJ,KAAKE,IAAAA,EAIhBQ,MAAMC,OAAOX,KAAKE,OAKhBF,KAAKE,KAJJ,GAAGF,KAAKE,IAAAA,IAKjB,CAEU,QAAAU,CACT,OAAOC,EAAAA;AAAAA,6BACoBb,KAAKG,WAAAA;AAAAA,GAEjC,CAAA,EA/BAW,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,QAASC,QAAAA,EAAS,CAAA,CAAA,EANxBxB,iCAOZyB,UAAA,gBAAA,GAGAL,EAAA,CADCC,WAAS,CAAEC,KAAMI,MAAAA,CAAAA,CAAAA,EATN1B,iCAUZyB,UAAA,OAAA,CAAA,EAVYzB,QAAAA,yBAANoB,EAAA,CADNO,EAAAA,cAAc,+BACF3B"}
@@ -1,35 +0,0 @@
1
- import "rxjs";
2
- import "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { T as c } from "./tailwind.mixin-D4iX2lD7.js";
5
- import { property as a, customElement as h } from "lit/decorators.js";
6
- import { css as l, html as y } from "lit";
7
- import "./spinner-Dd0oPt1r.js";
8
- var x = Object.defineProperty, z = Object.getOwnPropertyDescriptor, m = (t, r, n, i) => {
9
- for (var p, e = i > 1 ? void 0 : i ? z(r, n) : r, o = t.length - 1; o >= 0; o--) (p = t[o]) && (e = (i ? p(r, n, e) : p(e)) || e);
10
- return i && e && x(r, n, e), e;
11
- };
12
- let s = class extends c(l`
13
- :host {
14
- display: inline-block;
15
- position: relative;
16
- }
17
- `) {
18
- constructor() {
19
- super(...arguments), this.indeterminate = !1, this.size = "md";
20
- }
21
- get spinnerSize() {
22
- const t = { xs: "16px", sm: "24px", md: "32px", lg: "48px", xl: "64px" };
23
- return this.size in t ? t[this.size] : isNaN(Number(this.size)) ? this.size : `${this.size}px`;
24
- }
25
- render() {
26
- return y`
27
- <schmancy-spinner size="${this.spinnerSize}"></schmancy-spinner>
28
- `;
29
- }
30
- };
31
- m([a({ type: Boolean, reflect: !0 })], s.prototype, "indeterminate", 2), m([a({ type: String })], s.prototype, "size", 2), s = m([h("schmancy-circular-progress")], s);
32
- export {
33
- s as S
34
- };
35
- //# sourceMappingURL=circular-progress-fhXgEisi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circular-progress-fhXgEisi.js","sources":["../src/circular-progress/circular-progress.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\nimport '../busy'\r\n\r\nexport type CircularProgressSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | string\r\n\r\n@customElement('schmancy-circular-progress')\r\nexport class SchmancyCircularProgress extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: inline-block;\r\n\t\tposition: relative;\r\n\t}\r\n`) {\r\n\t@property({ type: Boolean, reflect: true })\r\n\tindeterminate = false\r\n\r\n\t@property({ type: String })\r\n\tsize: CircularProgressSize = 'md'\r\n\r\n\tprivate get spinnerSize(): string {\r\n\t\tconst sizeMap = {\r\n\t\t\txs: '16px',\r\n\t\t\tsm: '24px',\r\n\t\t\tmd: '32px',\r\n\t\t\tlg: '48px',\r\n\t\t\txl: '64px'\r\n\t\t}\r\n\r\n\t\tif (this.size in sizeMap) {\r\n\t\t\treturn sizeMap[this.size as keyof typeof sizeMap]\r\n\t\t}\r\n\r\n\t\t// If it's a number, convert to px\r\n\t\tif (!isNaN(Number(this.size))) {\r\n\t\t\treturn `${this.size}px`\r\n\t\t}\r\n\r\n\t\t// Otherwise, assume it's already a valid CSS size\r\n\t\treturn this.size\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\treturn html`\r\n\t\t\t<schmancy-spinner size=\"${this.spinnerSize}\"></schmancy-spinner>\r\n\t\t`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-circular-progress': SchmancyCircularProgress\r\n\t}\r\n}"],"names":["SchmancyCircularProgress","TailwindElement","css","constructor","super","arguments","this","indeterminate","size","spinnerSize","sizeMap","xs","sm","md","lg","xl","isNaN","Number","render","html","__decorateClass","property","type","Boolean","reflect","prototype","String","customElement"],"mappings":";;;;;;;;;;;AAQO,IAAMA,IAAN,cAAuCC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAAvD,cAAAC;AAAAC,aAAAC,SAAAA,GAONC,KAAAC,oBAGAD,KAAAE,OAA6B;AAAA,EAAA;AAAA,EAE7B,kBAAYC;AACX,UAAMC,IAAU,EACfC,IAAI,QACJC,IAAI,QACJC,IAAI,QACJC,IAAI,QACJC,IAAI,OAAA;AAGL,WAAIT,KAAKE,QAAQE,IACTA,EAAQJ,KAAKE,QAIhBQ,MAAMC,OAAOX,KAAKE,IAAAA,CAAAA,IAKhBF,KAAKE,OAJJ,GAAGF,KAAKE;EAKjB;AAAA,EAEU,SAAAU;AACT,WAAOC;AAAAA,6BACoBb,KAAKG,WAAAA;AAAAA;AAAAA,EAEjC;AAAA;AA/BAW,EAAA,CADCC,EAAS,EAAEC,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GANxBxB,EAOZyB,WAAA,iBAAA,CAAA,GAGAL,EAAA,CADCC,EAAS,EAAEC,MAAMI,OAAAA,CAAAA,CAAAA,GATN1B,EAUZyB,WAAA,QAAA,CAAA,GAVYzB,IAANoB,EAAA,CADNO,EAAc,4BAAA,CAAA,GACF3B,CAAAA;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./circular-progress-CToMz17U.cjs");Object.defineProperty(exports,"SchmancyCircularProgress",{enumerable:!0,get:()=>e.SchmancyCircularProgress});
2
- //# sourceMappingURL=circular-progress.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circular-progress.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { S as c } from "./circular-progress-fhXgEisi.js";
2
- export {
3
- c as SchmancyCircularProgress
4
- };
5
- //# sourceMappingURL=circular-progress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circular-progress.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,102 +0,0 @@
1
- import "rxjs";
2
- import "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { T as h } from "./tailwind.mixin-D4iX2lD7.js";
5
- import { customElement as y, property as c } from "lit/decorators.js";
6
- import { css as v, html as d } from "lit";
7
- var m = Object.getOwnPropertyDescriptor;
8
- let p = class extends h(v`
9
- :host {
10
- display: inline;
11
- position: absolute;
12
- inset: 0;
13
- pointer-events: all;
14
- z-index: 50;
15
- }
16
- `) {
17
- render() {
18
- return d`
19
- <!-- Clean overlay with subtle backdrop -->
20
- <div class="absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]">
21
- <!-- Content container with clean surface -->
22
- <div class="relative flex items-center justify-center p-4">
23
-
24
- <!-- Content slot -->
25
- <div class="relative z-10">
26
- <slot>
27
- <!-- Default spinner if no content provided -->
28
- <schmancy-spinner size="32px"></schmancy-spinner>
29
- </slot>
30
- </div>
31
- </div>
32
- </div>
33
- `;
34
- }
35
- };
36
- p = ((t, s, o, r) => {
37
- for (var i, e = r > 1 ? void 0 : r ? m(s, o) : s, a = t.length - 1; a >= 0; a--) (i = t[a]) && (e = i(e) || e);
38
- return e;
39
- })([y("schmancy-busy")], p);
40
- var f = Object.defineProperty, u = Object.getOwnPropertyDescriptor, l = (t, s, o, r) => {
41
- for (var i, e = r > 1 ? void 0 : r ? u(s, o) : s, a = t.length - 1; a >= 0; a--) (i = t[a]) && (e = (r ? i(s, o, e) : i(e)) || e);
42
- return r && e && f(s, o, e), e;
43
- };
44
- let n = class extends h(v`
45
- .spinner {
46
- animation: spin 1s linear infinite;
47
- animation-direction: reverse;
48
- }
49
-
50
- @keyframes spin {
51
- from {
52
- transform: rotate(0deg);
53
- }
54
- to {
55
- transform: rotate(360deg);
56
- }
57
- }
58
- `) {
59
- constructor() {
60
- super(...arguments), this.color = "gray", this.size = "24px", this.glass = !1;
61
- }
62
- render() {
63
- const t = { width: this.size, height: this.size };
64
- return this.glass ? d`
65
- <div class="spinner relative" style=${this.styleMap(t)}>
66
- <!-- Glass container with Apple-style effect -->
67
- <div class="absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150
68
- bg-white/20 dark:bg-black/20
69
- shadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]
70
- border border-white/30 dark:border-white/20"></div>
71
-
72
- <!-- Spinner SVG -->
73
- <svg fill="none" viewBox="0 0 16 16" aria-hidden="true" role="img"
74
- style="width: 100%; height: 100%;" class="relative z-10">
75
- <path
76
- opacity=".7"
77
- d="M8 15A7 7 0 108 1a7 7 0 000 14v0z"
78
- stroke="var(--schmancy-sys-color-secondary-default)"
79
- stroke-width="2"
80
- ></path>
81
- <path d="M15 8a7 7 0 01-7 7" stroke="var(--schmancy-sys-color-secondary-default)" stroke-width="2"></path>
82
- <path d="M8 12a4 4 0 100-8 4 4 0 000 8z" fill="var(--schmancy-sys-color-secondary-default)" opacity="0.8"></path>
83
- </svg>
84
- </div>
85
- ` : d`
86
- <div class="spinner" style=${this.styleMap(t)}>
87
- <svg fill="none" viewBox="0 0 16 16" aria-hidden="true" role="img" style="width: 100%; height: 100%;">
88
- <path
89
- opacity=".5"
90
- d="M8 15A7 7 0 108 1a7 7 0 000 14v0z"
91
- stroke="var(--schmancy-sys-color-secondary-default)"
92
- stroke-width="2"
93
- ></path>
94
- <path d="M15 8a7 7 0 01-7 7" stroke="var(--schmancy-sys-color-secondary-default)" stroke-width="2"></path>
95
- <path d="M8 12a4 4 0 100-8 4 4 0 000 8z" fill="var(--schmancy-sys-color-secondary-default)"></path>
96
- </svg>
97
- </div>
98
- `;
99
- }
100
- };
101
- l([c({ type: String })], n.prototype, "color", 2), l([c({ type: String })], n.prototype, "size", 2), l([c({ type: Boolean })], n.prototype, "glass", 2), n = l([y("schmancy-spinner")], n);
102
- //# sourceMappingURL=spinner-Dd0oPt1r.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner-Dd0oPt1r.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tpointer-events: all;\n\t\tz-index: 50;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<!-- Clean overlay with subtle backdrop -->\n\t\t\t<div class=\"absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]\">\n\t\t\t\t<!-- Content container with clean surface -->\n\t\t\t\t<div class=\"relative flex items-center justify-center p-4\">\n\t\t\t\t\t\n\t\t\t\t\t<!-- Content slot -->\n\t\t\t\t\t<div class=\"relative z-10\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<!-- Default spinner if no content provided -->\n\t\t\t\t\t\t\t<schmancy-spinner size=\"32px\"></schmancy-spinner>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\t@property({ type: Boolean }) glass: boolean = false\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\twidth: this.size,\n\t\t\theight: this.size,\n\t\t}\n\t\t\n\t\treturn this.glass ? html`\n\t\t\t<div class=\"spinner relative\" style=${this.styleMap(style)}>\n\t\t\t\t<!-- Glass container with Apple-style effect -->\n\t\t\t\t<div class=\"absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150 \n\t\t\t\t\t\t\tbg-white/20 dark:bg-black/20 \n\t\t\t\t\t\t\tshadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]\n\t\t\t\t\t\t\tborder border-white/30 dark:border-white/20\"></div>\n\t\t\t\t\n\t\t\t\t<!-- Spinner SVG -->\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" \n\t\t\t\t\t style=\"width: 100%; height: 100%;\" class=\"relative z-10\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".7\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\" opacity=\"0.8\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t` : html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" style=\"width: 100%; height: 100%;\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","customElement","SchmnacySpinner","constructor","super","arguments","this","color","size","glass","style","width","height","styleMap","__decorateClass","property","type","String","prototype","Boolean"],"mappings":";;;;;;;AAKA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAS/C,SAAAC;AACT,WAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAgBR;AAAA;AA1BoBJ;;;GAArB,CADCK,EAAc,mBACML,CAAAA;;;;;ACArB,IAAqBM,IAArB,cAA6CL,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAK;AAAAC,UAAAA,GAAAC,SAAAA,GAe6BC,KAAAC,QAAgB,QAChBD,KAAAE,OAAe,QACdF,KAAAG,QAAAA;AAAAA,EAAiB;AAAA,EAEpC,SAAAV;AACT,UAAMW,IAAQ,EACbC,OAAOL,KAAKE,MACZI,QAAQN,KAAKE,KAAAA;AAGd,WAAOF,KAAKG,QAAQT;AAAAA,yCACmBM,KAAKO,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAoBjDV;AAAAA,gCAC0BM,KAAKO,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAa7C;AAAA;AA7C4BI,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAfEf,EAeQgB,WAAA,SAAA,IACAJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAhBEf,EAgBQgB,WAAA,QAAA,CAAA,GACCJ,EAAA,CAA5BC,EAAS,EAAEC,MAAMG,QAAAA,CAAAA,CAAAA,GAjBEjB,EAiBSgB,WAAA,SAAA,CAAA,GAjBThB,IAArBY,EAAA,CADCb,EAAc,kBAAA,CAAA,GACMC,CAAAA;"}