@mhmo91/schmancy 0.10.1 → 0.10.2

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 (371) hide show
  1. package/custom-elements.json +20 -0
  2. package/dist/active-host-CcIa2tmW.cjs +1 -0
  3. package/dist/active-host-CcIa2tmW.cjs.map +1 -0
  4. package/dist/{active-host-D-a1X-nq.js → active-host-CvNYoprt.js} +12 -12
  5. package/dist/active-host-CvNYoprt.js.map +1 -0
  6. package/dist/agent/schmancy.agent.js +1546 -1524
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/{area-C_J4qxKO.js → area-DHVANBbr.js} +1 -1
  9. package/dist/{area-C_J4qxKO.js.map → area-DHVANBbr.js.map} +1 -1
  10. package/dist/{area-ISC8Mdkh.cjs → area-ZupIezvU.cjs} +1 -1
  11. package/dist/{area-ISC8Mdkh.cjs.map → area-ZupIezvU.cjs.map} +1 -1
  12. package/dist/area.cjs +1 -1
  13. package/dist/area.js +1 -1
  14. package/dist/{audio-DZN8HsSS.cjs → audio-CluX8Qpq.cjs} +1 -1
  15. package/dist/{audio-DZN8HsSS.cjs.map → audio-CluX8Qpq.cjs.map} +1 -1
  16. package/dist/{audio-Tmre4WyL.js → audio-DcXphulJ.js} +1 -1
  17. package/dist/{audio-Tmre4WyL.js.map → audio-DcXphulJ.js.map} +1 -1
  18. package/dist/audio.cjs +1 -1
  19. package/dist/audio.js +2 -2
  20. package/dist/{autocomplete-BDF85W0J.cjs → autocomplete-Bn525CTp.cjs} +1 -1
  21. package/dist/{autocomplete-BDF85W0J.cjs.map → autocomplete-Bn525CTp.cjs.map} +1 -1
  22. package/dist/{autocomplete-CM8VqW9S.js → autocomplete-pHvsyfbH.js} +2 -2
  23. package/dist/{autocomplete-CM8VqW9S.js.map → autocomplete-pHvsyfbH.js.map} +1 -1
  24. package/dist/autocomplete.cjs +1 -1
  25. package/dist/autocomplete.js +1 -1
  26. package/dist/avatar.cjs +1 -1
  27. package/dist/avatar.js +1 -1
  28. package/dist/badge.cjs +1 -1
  29. package/dist/badge.js +1 -1
  30. package/dist/{boat-CpXe-Qto.cjs → boat-IyEtsNI4.cjs} +1 -1
  31. package/dist/{boat-CpXe-Qto.cjs.map → boat-IyEtsNI4.cjs.map} +1 -1
  32. package/dist/{boat-DxYNK4xT.js → boat-_Yv3M6YM.js} +2 -2
  33. package/dist/{boat-DxYNK4xT.js.map → boat-_Yv3M6YM.js.map} +1 -1
  34. package/dist/boat.cjs +1 -1
  35. package/dist/boat.js +1 -1
  36. package/dist/breadcrumb.cjs +1 -1
  37. package/dist/breadcrumb.js +1 -1
  38. package/dist/{busy-Dma4gtnz.cjs → busy-CjM39APN.cjs} +1 -1
  39. package/dist/{busy-Dma4gtnz.cjs.map → busy-CjM39APN.cjs.map} +1 -1
  40. package/dist/{busy-CP-gRfAP.js → busy-Ck2IXJ4r.js} +1 -1
  41. package/dist/{busy-CP-gRfAP.js.map → busy-Ck2IXJ4r.js.map} +1 -1
  42. package/dist/busy.cjs +1 -1
  43. package/dist/busy.js +1 -1
  44. package/dist/button.cjs +1 -1
  45. package/dist/button.js +1 -1
  46. package/dist/{card-ClroODSK.cjs → card-DIxDuuth.cjs} +1 -1
  47. package/dist/{card-ClroODSK.cjs.map → card-DIxDuuth.cjs.map} +1 -1
  48. package/dist/{card-Bv--HeGO.js → card-DUWZmMHc.js} +1 -1
  49. package/dist/{card-Bv--HeGO.js.map → card-DUWZmMHc.js.map} +1 -1
  50. package/dist/card.cjs +1 -1
  51. package/dist/card.js +1 -1
  52. package/dist/charts.cjs +1 -1
  53. package/dist/charts.js +1 -1
  54. package/dist/{checkbox-DvTZXN1Y.cjs → checkbox-CGdFXuWQ.cjs} +1 -1
  55. package/dist/{checkbox-DvTZXN1Y.cjs.map → checkbox-CGdFXuWQ.cjs.map} +1 -1
  56. package/dist/{checkbox-1gQOOcja.js → checkbox-DPS1mWG-.js} +1 -1
  57. package/dist/{checkbox-1gQOOcja.js.map → checkbox-DPS1mWG-.js.map} +1 -1
  58. package/dist/checkbox.cjs +1 -1
  59. package/dist/checkbox.js +1 -1
  60. package/dist/{chips-wkfKzf_e.js → chips-BnnXQSA-.js} +3 -3
  61. package/dist/{chips-wkfKzf_e.js.map → chips-BnnXQSA-.js.map} +1 -1
  62. package/dist/{chips-Bw7FNDpX.cjs → chips-UoFbwmlG.cjs} +1 -1
  63. package/dist/{chips-Bw7FNDpX.cjs.map → chips-UoFbwmlG.cjs.map} +1 -1
  64. package/dist/chips.cjs +1 -1
  65. package/dist/chips.js +2 -2
  66. package/dist/{code-highlight-CJzuds4c.cjs → code-highlight-CMilN0B8.cjs} +1 -1
  67. package/dist/{code-highlight-CJzuds4c.cjs.map → code-highlight-CMilN0B8.cjs.map} +1 -1
  68. package/dist/{code-highlight-CcdCFMrn.js → code-highlight-kFUJ1Eet.js} +1 -1
  69. package/dist/{code-highlight-CcdCFMrn.js.map → code-highlight-kFUJ1Eet.js.map} +1 -1
  70. package/dist/code-highlight.cjs +1 -1
  71. package/dist/code-highlight.js +1 -1
  72. package/dist/connectivity.cjs +1 -1
  73. package/dist/connectivity.js +2 -2
  74. package/dist/content-drawer.cjs +1 -1
  75. package/dist/content-drawer.js +1 -1
  76. package/dist/{date-range-BsPW60vp.cjs → date-range-BIyrzTRZ.cjs} +1 -1
  77. package/dist/{date-range-BsPW60vp.cjs.map → date-range-BIyrzTRZ.cjs.map} +1 -1
  78. package/dist/{date-range-BDHz_Olm.js → date-range-DOstCIg8.js} +2 -2
  79. package/dist/{date-range-BDHz_Olm.js.map → date-range-DOstCIg8.js.map} +1 -1
  80. package/dist/{date-range-inline-BsjNNGFR.cjs → date-range-inline-4P7zqeVe.cjs} +1 -1
  81. package/dist/{date-range-inline-BsjNNGFR.cjs.map → date-range-inline-4P7zqeVe.cjs.map} +1 -1
  82. package/dist/{date-range-inline-1NmZE_Xr.js → date-range-inline-BVycTWLb.js} +1 -1
  83. package/dist/{date-range-inline-1NmZE_Xr.js.map → date-range-inline-BVycTWLb.js.map} +1 -1
  84. package/dist/date-range-inline.cjs +1 -1
  85. package/dist/date-range-inline.js +1 -1
  86. package/dist/date-range.cjs +1 -1
  87. package/dist/date-range.js +1 -1
  88. package/dist/delay.cjs +1 -1
  89. package/dist/delay.js +1 -1
  90. package/dist/{details-BtUNqzn8.cjs → details-BJBbZOO6.cjs} +1 -1
  91. package/dist/{details-BtUNqzn8.cjs.map → details-BJBbZOO6.cjs.map} +1 -1
  92. package/dist/{details-BEp2s2ca.js → details-DPc5GxPa.js} +1 -1
  93. package/dist/{details-BEp2s2ca.js.map → details-DPc5GxPa.js.map} +1 -1
  94. package/dist/details.cjs +1 -1
  95. package/dist/details.js +1 -1
  96. package/dist/dialog.cjs +1 -1
  97. package/dist/dialog.js +1 -1
  98. package/dist/directives.cjs +1 -1
  99. package/dist/directives.js +1 -1
  100. package/dist/{divider-VxpjZ8hk.js → divider-BvJsmSPH.js} +1 -1
  101. package/dist/{divider-VxpjZ8hk.js.map → divider-BvJsmSPH.js.map} +1 -1
  102. package/dist/{divider-CpNT11Iy.cjs → divider-DPT3XnG5.cjs} +1 -1
  103. package/dist/{divider-CpNT11Iy.cjs.map → divider-DPT3XnG5.cjs.map} +1 -1
  104. package/dist/divider.cjs +1 -1
  105. package/dist/divider.js +1 -1
  106. package/dist/dropdown.cjs +1 -1
  107. package/dist/dropdown.js +1 -1
  108. package/dist/{expand-CRUl3-mN.js → expand-BMzocdtj.js} +2 -2
  109. package/dist/{expand-CRUl3-mN.js.map → expand-BMzocdtj.js.map} +1 -1
  110. package/dist/{expand-05azMpho.cjs → expand-CTqBWVXo.cjs} +1 -1
  111. package/dist/{expand-05azMpho.cjs.map → expand-CTqBWVXo.cjs.map} +1 -1
  112. package/dist/expand.cjs +1 -1
  113. package/dist/expand.js +1 -1
  114. package/dist/{extra-aNV1fO6W.js → extra-BeHlUhzv.js} +1 -1
  115. package/dist/{extra-aNV1fO6W.js.map → extra-BeHlUhzv.js.map} +1 -1
  116. package/dist/{extra-CyERULfm.cjs → extra-h_cuxRII.cjs} +1 -1
  117. package/dist/{extra-CyERULfm.cjs.map → extra-h_cuxRII.cjs.map} +1 -1
  118. package/dist/extra.cjs +1 -1
  119. package/dist/extra.js +1 -1
  120. package/dist/{float-N3qhNET_.js → float-CTc1xxqH.js} +1 -1
  121. package/dist/{float-N3qhNET_.js.map → float-CTc1xxqH.js.map} +1 -1
  122. package/dist/{float-DRET9mVZ.cjs → float-CwVBs11k.cjs} +1 -1
  123. package/dist/{float-DRET9mVZ.cjs.map → float-CwVBs11k.cjs.map} +1 -1
  124. package/dist/float.cjs +1 -1
  125. package/dist/float.js +1 -1
  126. package/dist/handover/agent-runtime-followups.md +1 -1
  127. package/dist/handover/agent-runtime-v1.md +3 -3
  128. package/dist/{icons-BBJqwT_B.js → icons-BbCVrcas.js} +1 -1
  129. package/dist/{icons-BBJqwT_B.js.map → icons-BbCVrcas.js.map} +1 -1
  130. package/dist/{icons-CNixJ6kL.cjs → icons-qEQW4pjM.cjs} +1 -1
  131. package/dist/{icons-CNixJ6kL.cjs.map → icons-qEQW4pjM.cjs.map} +1 -1
  132. package/dist/icons.cjs +1 -1
  133. package/dist/icons.js +1 -1
  134. package/dist/{iframe-DoN_toqE.js → iframe-BJfDIEJf.js} +1 -1
  135. package/dist/{iframe-DoN_toqE.js.map → iframe-BJfDIEJf.js.map} +1 -1
  136. package/dist/{iframe-g-4DjAD7.cjs → iframe-D6HTruav.cjs} +1 -1
  137. package/dist/{iframe-g-4DjAD7.cjs.map → iframe-D6HTruav.cjs.map} +1 -1
  138. package/dist/iframe.cjs +1 -1
  139. package/dist/iframe.js +1 -1
  140. package/dist/index.cjs +1 -1
  141. package/dist/index.js +35 -35
  142. package/dist/{input-ClnkMJgh.js → input-LTK3cctF.js} +32 -32
  143. package/dist/input-LTK3cctF.js.map +1 -0
  144. package/dist/input-U26axtcs.cjs +51 -0
  145. package/dist/input-U26axtcs.cjs.map +1 -0
  146. package/dist/{input-chip-DMXRT7bK.cjs → input-chip-CADXt0X5.cjs} +1 -1
  147. package/dist/{input-chip-DMXRT7bK.cjs.map → input-chip-CADXt0X5.cjs.map} +1 -1
  148. package/dist/{input-chip-DwSyFv1x.js → input-chip-Ch-aCs3c.js} +1 -1
  149. package/dist/{input-chip-DwSyFv1x.js.map → input-chip-Ch-aCs3c.js.map} +1 -1
  150. package/dist/input.cjs +1 -1
  151. package/dist/input.js +1 -1
  152. package/dist/json.cjs +1 -1
  153. package/dist/json.js +2 -2
  154. package/dist/kbd.cjs +1 -1
  155. package/dist/kbd.js +1 -1
  156. package/dist/{layout-BghHmee6.js → layout-C4xmnU4n.js} +1 -1
  157. package/dist/{layout-BghHmee6.js.map → layout-C4xmnU4n.js.map} +1 -1
  158. package/dist/{layout-VmxXuGGp.cjs → layout-Dmh6fxh0.cjs} +1 -1
  159. package/dist/{layout-VmxXuGGp.cjs.map → layout-Dmh6fxh0.cjs.map} +1 -1
  160. package/dist/layout.cjs +1 -1
  161. package/dist/layout.js +1 -1
  162. package/dist/{lightbox-m5FLmYlv.cjs → lightbox-DbYUSfVl.cjs} +1 -1
  163. package/dist/{lightbox-m5FLmYlv.cjs.map → lightbox-DbYUSfVl.cjs.map} +1 -1
  164. package/dist/{lightbox-IleIcq19.js → lightbox-DqG2z3Cn.js} +1 -1
  165. package/dist/{lightbox-IleIcq19.js.map → lightbox-DqG2z3Cn.js.map} +1 -1
  166. package/dist/lightbox.cjs +1 -1
  167. package/dist/lightbox.js +1 -1
  168. package/dist/{list-C-b9p1yi.cjs → list-CLX4sSAw.cjs} +1 -1
  169. package/dist/{list-C-b9p1yi.cjs.map → list-CLX4sSAw.cjs.map} +1 -1
  170. package/dist/{list-BlXJlm16.js → list-D6-_E5ZD.js} +1 -1
  171. package/dist/{list-BlXJlm16.js.map → list-D6-_E5ZD.js.map} +1 -1
  172. package/dist/list.cjs +1 -1
  173. package/dist/list.js +1 -1
  174. package/dist/{mailbox-B0hZLpF1.cjs → mailbox-Ct6iYe-4.cjs} +1 -1
  175. package/dist/{mailbox-B0hZLpF1.cjs.map → mailbox-Ct6iYe-4.cjs.map} +1 -1
  176. package/dist/{mailbox-DAmejcKa.js → mailbox-DsPII8HR.js} +3 -3
  177. package/dist/{mailbox-DAmejcKa.js.map → mailbox-DsPII8HR.js.map} +1 -1
  178. package/dist/mailbox.cjs +1 -1
  179. package/dist/mailbox.js +1 -1
  180. package/dist/{map-BoIu47qU.js → map-Dhy3ta9v.js} +1 -1
  181. package/dist/{map-BoIu47qU.js.map → map-Dhy3ta9v.js.map} +1 -1
  182. package/dist/{map-CZ0816EI.cjs → map-WXeVkx2K.cjs} +1 -1
  183. package/dist/{map-CZ0816EI.cjs.map → map-WXeVkx2K.cjs.map} +1 -1
  184. package/dist/map.cjs +1 -1
  185. package/dist/map.js +1 -1
  186. package/dist/{menu-BV9_8ys8.js → menu-Bhd3EapX.js} +1 -1
  187. package/dist/{menu-BV9_8ys8.js.map → menu-Bhd3EapX.js.map} +1 -1
  188. package/dist/{menu-BFHBnp5M.cjs → menu-Cg2aaDjs.cjs} +1 -1
  189. package/dist/{menu-BFHBnp5M.cjs.map → menu-Cg2aaDjs.cjs.map} +1 -1
  190. package/dist/menu.cjs +1 -1
  191. package/dist/menu.js +1 -1
  192. package/dist/{mixins-CL1krSOE.js → mixins-CcIWET41.js} +1 -1
  193. package/dist/{mixins-CL1krSOE.js.map → mixins-CcIWET41.js.map} +1 -1
  194. package/dist/{mixins-BIXF7xkF.cjs → mixins-De3xfjrm.cjs} +1 -1
  195. package/dist/{mixins-BIXF7xkF.cjs.map → mixins-De3xfjrm.cjs.map} +1 -1
  196. package/dist/mixins.cjs +1 -1
  197. package/dist/mixins.js +1 -1
  198. package/dist/nav-drawer.cjs +1 -1
  199. package/dist/nav-drawer.js +1 -1
  200. package/dist/navigation-bar.cjs +1 -1
  201. package/dist/navigation-bar.js +1 -1
  202. package/dist/navigation-rail.cjs +1 -1
  203. package/dist/navigation-rail.js +1 -1
  204. package/dist/{notification-Dzm6zWxX.js → notification-CVLqQ8c_.js} +3 -3
  205. package/dist/{notification-Dzm6zWxX.js.map → notification-CVLqQ8c_.js.map} +1 -1
  206. package/dist/{notification-CigTy3ia.cjs → notification-D_PQjBSf.cjs} +1 -1
  207. package/dist/{notification-CigTy3ia.cjs.map → notification-D_PQjBSf.cjs.map} +1 -1
  208. package/dist/notification.cjs +1 -1
  209. package/dist/notification.js +1 -1
  210. package/dist/{option-BfvzzkzM.cjs → option-DDU_goh1.cjs} +1 -1
  211. package/dist/{option-BfvzzkzM.cjs.map → option-DDU_goh1.cjs.map} +1 -1
  212. package/dist/{option-Dyb0Q45u.js → option-rm4HebVs.js} +1 -1
  213. package/dist/{option-Dyb0Q45u.js.map → option-rm4HebVs.js.map} +1 -1
  214. package/dist/option.cjs +1 -1
  215. package/dist/option.js +1 -1
  216. package/dist/overlay.cjs +1 -1
  217. package/dist/overlay.cjs.map +1 -1
  218. package/dist/overlay.js +2 -2
  219. package/dist/overlay.js.map +1 -1
  220. package/dist/page.cjs +1 -1
  221. package/dist/page.js +4 -4
  222. package/dist/{payment-card-form-D9N2Q0wM.js → payment-card-form-C0dHYZIv.js} +1 -1
  223. package/dist/{payment-card-form-D9N2Q0wM.js.map → payment-card-form-C0dHYZIv.js.map} +1 -1
  224. package/dist/{payment-card-form-CQ6sLlrh.cjs → payment-card-form-DNvmZxs4.cjs} +1 -1
  225. package/dist/{payment-card-form-CQ6sLlrh.cjs.map → payment-card-form-DNvmZxs4.cjs.map} +1 -1
  226. package/dist/payment-card-form.cjs +1 -1
  227. package/dist/payment-card-form.js +1 -1
  228. package/dist/{progress-LPwPfzBi.js → progress-BRerM5Bn.js} +1 -1
  229. package/dist/{progress-LPwPfzBi.js.map → progress-BRerM5Bn.js.map} +1 -1
  230. package/dist/{progress-Dyri7dc2.cjs → progress-U3LQkpM2.cjs} +1 -1
  231. package/dist/{progress-Dyri7dc2.cjs.map → progress-U3LQkpM2.cjs.map} +1 -1
  232. package/dist/progress.cjs +1 -1
  233. package/dist/progress.js +1 -1
  234. package/dist/qr-scanner.cjs +1 -1
  235. package/dist/qr-scanner.js +1 -1
  236. package/dist/{radio-group-DqP886F-.js → radio-group-BZ2WoOXJ.js} +1 -1
  237. package/dist/{radio-group-DqP886F-.js.map → radio-group-BZ2WoOXJ.js.map} +1 -1
  238. package/dist/{radio-group-DK-T6jGy.cjs → radio-group-D7mm-yvJ.cjs} +1 -1
  239. package/dist/{radio-group-DK-T6jGy.cjs.map → radio-group-D7mm-yvJ.cjs.map} +1 -1
  240. package/dist/radio-group.cjs +1 -1
  241. package/dist/radio-group.js +1 -1
  242. package/dist/range.cjs +1 -1
  243. package/dist/range.js +1 -1
  244. package/dist/{scroll-yfNU0zNO.cjs → scroll-DJTjNIT_.cjs} +1 -1
  245. package/dist/{scroll-yfNU0zNO.cjs.map → scroll-DJTjNIT_.cjs.map} +1 -1
  246. package/dist/{scroll-BD82ANjm.js → scroll-qL-HkMdP.js} +1 -1
  247. package/dist/{scroll-BD82ANjm.js.map → scroll-qL-HkMdP.js.map} +1 -1
  248. package/dist/{select-BR3r3SZe.cjs → select-BvA7v-gL.cjs} +1 -1
  249. package/dist/{select-BR3r3SZe.cjs.map → select-BvA7v-gL.cjs.map} +1 -1
  250. package/dist/{select-GONAphZI.js → select-CnPXUeSf.js} +1 -1
  251. package/dist/{select-GONAphZI.js.map → select-CnPXUeSf.js.map} +1 -1
  252. package/dist/select.cjs +1 -1
  253. package/dist/select.js +1 -1
  254. package/dist/{sheet-C4sAGqTf.js → sheet-BRL07BB4.js} +3 -3
  255. package/dist/{sheet-C4sAGqTf.js.map → sheet-BRL07BB4.js.map} +1 -1
  256. package/dist/{sheet-D9pZMrzs.cjs → sheet-BYQJAHQn.cjs} +1 -1
  257. package/dist/{sheet-D9pZMrzs.cjs.map → sheet-BYQJAHQn.cjs.map} +1 -1
  258. package/dist/sheet.cjs +1 -1
  259. package/dist/sheet.js +2 -2
  260. package/dist/{sheet.service-C1J0-i4d.cjs → sheet.service-B25bsrYG.cjs} +1 -1
  261. package/dist/{sheet.service-C1J0-i4d.cjs.map → sheet.service-B25bsrYG.cjs.map} +1 -1
  262. package/dist/{sheet.service-B7h_-e-q.js → sheet.service-SPQ8oLCi.js} +2 -2
  263. package/dist/{sheet.service-B7h_-e-q.js.map → sheet.service-SPQ8oLCi.js.map} +1 -1
  264. package/dist/skeleton.cjs +1 -1
  265. package/dist/skeleton.js +1 -1
  266. package/dist/slider.cjs +1 -1
  267. package/dist/slider.js +1 -1
  268. package/dist/{sound.service-CvdB2yUJ.cjs → sound.service-BGs6m0Cm.cjs} +1 -1
  269. package/dist/{sound.service-CvdB2yUJ.cjs.map → sound.service-BGs6m0Cm.cjs.map} +1 -1
  270. package/dist/{sound.service-Ba_HNBLD.js → sound.service-kKfsN0m-.js} +1 -1
  271. package/dist/{sound.service-Ba_HNBLD.js.map → sound.service-kKfsN0m-.js.map} +1 -1
  272. package/dist/{splash-screen-DqULOTZ0.cjs → splash-screen-BDt4PInk.cjs} +1 -1
  273. package/dist/{splash-screen-DqULOTZ0.cjs.map → splash-screen-BDt4PInk.cjs.map} +1 -1
  274. package/dist/{splash-screen-BGMZmQRT.js → splash-screen-C8JCqX5L.js} +1 -1
  275. package/dist/{splash-screen-BGMZmQRT.js.map → splash-screen-C8JCqX5L.js.map} +1 -1
  276. package/dist/splash-screen.cjs +1 -1
  277. package/dist/splash-screen.js +1 -1
  278. package/dist/{src-DzFcGdcn.cjs → src-CpRNClhg.cjs} +1 -1
  279. package/dist/{src-DzFcGdcn.cjs.map → src-CpRNClhg.cjs.map} +1 -1
  280. package/dist/{src-CHM4hrEr.js → src-CqdnWGgr.js} +39 -39
  281. package/dist/{src-CHM4hrEr.js.map → src-CqdnWGgr.js.map} +1 -1
  282. package/dist/{state-ClRXrqDA.js → state-BusMG6sM.js} +266 -244
  283. package/dist/{state-ClRXrqDA.js.map → state-BusMG6sM.js.map} +1 -1
  284. package/dist/state-DNdCPITt.cjs +1 -0
  285. package/dist/{state-BAW3C11I.cjs.map → state-DNdCPITt.cjs.map} +1 -1
  286. package/dist/state.cjs +1 -1
  287. package/dist/state.js +2 -2
  288. package/dist/steps.cjs +1 -1
  289. package/dist/steps.js +1 -1
  290. package/dist/{surface-BHJgIDz9.js → surface-C8jQy8Ym.js} +1 -1
  291. package/dist/{surface-BHJgIDz9.js.map → surface-C8jQy8Ym.js.map} +1 -1
  292. package/dist/{surface-DW78bc8W.cjs → surface-Du2Y4vXd.cjs} +1 -1
  293. package/dist/{surface-DW78bc8W.cjs.map → surface-Du2Y4vXd.cjs.map} +1 -1
  294. package/dist/surface.cjs +1 -1
  295. package/dist/surface.js +1 -1
  296. package/dist/switch.cjs +1 -1
  297. package/dist/switch.js +1 -1
  298. package/dist/table.cjs +1 -1
  299. package/dist/table.js +1 -1
  300. package/dist/{tabs-EIEhkEUb.cjs → tabs-0RfeCa00.cjs} +1 -1
  301. package/dist/{tabs-EIEhkEUb.cjs.map → tabs-0RfeCa00.cjs.map} +1 -1
  302. package/dist/{tabs-BCRVyQU1.js → tabs-Cyahh9Q6.js} +1 -1
  303. package/dist/{tabs-BCRVyQU1.js.map → tabs-Cyahh9Q6.js.map} +1 -1
  304. package/dist/tabs.cjs +1 -1
  305. package/dist/tabs.js +1 -1
  306. package/dist/teleport.cjs +1 -1
  307. package/dist/teleport.js +1 -1
  308. package/dist/{textarea-DApOhSAL.js → textarea-CXCcTVnf.js} +1 -1
  309. package/dist/{textarea-DApOhSAL.js.map → textarea-CXCcTVnf.js.map} +1 -1
  310. package/dist/{textarea-zxNlRLVm.cjs → textarea-jqRrLxmo.cjs} +1 -1
  311. package/dist/{textarea-zxNlRLVm.cjs.map → textarea-jqRrLxmo.cjs.map} +1 -1
  312. package/dist/textarea.cjs +1 -1
  313. package/dist/textarea.js +1 -1
  314. package/dist/{theme-BCUjQH6-.js → theme-2KZW2Rfs.js} +3 -3
  315. package/dist/{theme-BCUjQH6-.js.map → theme-2KZW2Rfs.js.map} +1 -1
  316. package/dist/{theme-Z43TLE61.cjs → theme-Hjz9sCN-.cjs} +1 -1
  317. package/dist/{theme-Z43TLE61.cjs.map → theme-Hjz9sCN-.cjs.map} +1 -1
  318. package/dist/{theme-button-DdSbcivT.js → theme-button-9uF1eoHz.js} +1 -1
  319. package/dist/{theme-button-DdSbcivT.js.map → theme-button-9uF1eoHz.js.map} +1 -1
  320. package/dist/{theme-button-Czsdp3o1.cjs → theme-button-C7QIbke1.cjs} +1 -1
  321. package/dist/{theme-button-Czsdp3o1.cjs.map → theme-button-C7QIbke1.cjs.map} +1 -1
  322. package/dist/theme-button.cjs +1 -1
  323. package/dist/theme-button.js +1 -1
  324. package/dist/theme.cjs +1 -1
  325. package/dist/theme.js +3 -3
  326. package/dist/{theme.service-CP71ojp6.cjs → theme.service-BrUbGoeQ.cjs} +1 -1
  327. package/dist/{theme.service-CP71ojp6.cjs.map → theme.service-BrUbGoeQ.cjs.map} +1 -1
  328. package/dist/{theme.service-9clsqyee.js → theme.service-CmbOGMA8.js} +1 -1
  329. package/dist/{theme.service-9clsqyee.js.map → theme.service-CmbOGMA8.js.map} +1 -1
  330. package/dist/timeline.cjs +1 -1
  331. package/dist/timeline.js +1 -1
  332. package/dist/tree.cjs +1 -1
  333. package/dist/tree.js +1 -1
  334. package/dist/typography.cjs +1 -1
  335. package/dist/typography.js +1 -1
  336. package/dist/visually-hidden.cjs +1 -1
  337. package/dist/visually-hidden.js +1 -1
  338. package/dist/{window-moDKyGLZ.js → window-C7yY9yp5.js} +2 -2
  339. package/dist/{window-moDKyGLZ.js.map → window-C7yY9yp5.js.map} +1 -1
  340. package/dist/{window-DTgKAQgz.cjs → window-DtUOWiAj.cjs} +1 -1
  341. package/dist/{window-DTgKAQgz.cjs.map → window-DtUOWiAj.cjs.map} +1 -1
  342. package/dist/window.cjs +1 -1
  343. package/dist/window.js +1 -1
  344. package/package.json +2 -3
  345. package/src/agent/helpers.ts +0 -2
  346. package/src/audio/emotional-sounds.ts +0 -2
  347. package/src/audio/sound.service.ts +0 -2
  348. package/src/input/input.ts +2 -2
  349. package/src/notification/notification-service.ts +0 -2
  350. package/src/overlay/overlay.animations.ts +0 -25
  351. package/src/overlay/overlay.stack.ts +0 -6
  352. package/src/state/active-host.ts +53 -19
  353. package/src/state/schmancy-context.ts +47 -1
  354. package/src/state/state.test.ts +50 -2
  355. package/types/src/agent/helpers.d.ts +0 -1
  356. package/types/src/audio/emotional-sounds.d.ts +0 -1
  357. package/types/src/audio/sound.service.d.ts +1 -1
  358. package/types/src/notification/notification-service.d.ts +0 -1
  359. package/types/src/overlay/overlay.animations.d.ts +0 -1
  360. package/types/src/overlay/overlay.stack.d.ts +0 -2
  361. package/types/src/state/active-host.d.ts +5 -0
  362. package/types/src/state/schmancy-context.d.ts +1 -0
  363. package/dist/active-host-0of-L858.cjs +0 -1
  364. package/dist/active-host-0of-L858.cjs.map +0 -1
  365. package/dist/active-host-D-a1X-nq.js.map +0 -1
  366. package/dist/input-ClnkMJgh.js.map +0 -1
  367. package/dist/input-CwFslLcF.cjs +0 -51
  368. package/dist/input-CwFslLcF.cjs.map +0 -1
  369. package/dist/state-BAW3C11I.cjs +0 -1
  370. package/src/agent/index.ts +0 -1
  371. package/types/src/agent/index.d.ts +0 -1
package/dist/extra.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./extra-CyERULfm.cjs`);Object.defineProperty(exports,`SchmancyCountriesSelect`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyTimezonesSelect`,{enumerable:!0,get:function(){return e.t}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./extra-h_cuxRII.cjs`);Object.defineProperty(exports,`SchmancyCountriesSelect`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyTimezonesSelect`,{enumerable:!0,get:function(){return e.t}});
package/dist/extra.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./extra-aNV1fO6W.js";
1
+ import { n as e, t } from "./extra-BeHlUhzv.js";
2
2
  export { e as SchmancyCountriesSelect, t as SchmancyTimezonesSelect };
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./decorate-23nYs4Le.js";
2
- import { t } from "./window-moDKyGLZ.js";
2
+ import { t } from "./window-C7yY9yp5.js";
3
3
  import { customElement as n } from "lit/decorators.js";
4
4
  var r = class extends t {}, i = r = e([n("schmancy-float")], r);
5
5
  export { i as t };
@@ -1 +1 @@
1
- {"version":3,"file":"float-N3qhNET_.js","names":[],"sources":["../src/float/float.ts"],"sourcesContent":["/**\n * Backward compatibility alias — schmancy-float is now schmancy-window.\n *\n * Existing consumers using <schmancy-float> continue to work.\n * New code should use <schmancy-window> directly.\n */\n\nimport { customElement } from 'lit/decorators.js'\nimport SchmancyWindow from '../window/window.js'\n\n@customElement('schmancy-float')\nexport default class SchmancyFloat extends SchmancyWindow {}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-float': SchmancyFloat\n\t}\n}\n"],"mappings":";;;AAWe,IAAA,IAAA,cAA4B,EAAA,IAAA,IAAA,IAAA,EAAA,CAD1C,EAAc,iBAAA,CAAA,EAAiB,EAAA;AAAA,SAAA,KAAA"}
1
+ {"version":3,"file":"float-CTc1xxqH.js","names":[],"sources":["../src/float/float.ts"],"sourcesContent":["/**\n * Backward compatibility alias — schmancy-float is now schmancy-window.\n *\n * Existing consumers using <schmancy-float> continue to work.\n * New code should use <schmancy-window> directly.\n */\n\nimport { customElement } from 'lit/decorators.js'\nimport SchmancyWindow from '../window/window.js'\n\n@customElement('schmancy-float')\nexport default class SchmancyFloat extends SchmancyWindow {}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-float': SchmancyFloat\n\t}\n}\n"],"mappings":";;;AAWe,IAAA,IAAA,cAA4B,EAAA,IAAA,IAAA,IAAA,EAAA,CAD1C,EAAc,iBAAA,CAAA,EAAiB,EAAA;AAAA,SAAA,KAAA"}
@@ -1 +1 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-DpFmy0nm.cjs`),t=require(`./window-DTgKAQgz.cjs`);let n=require(`lit/decorators.js`);var r=class extends t.t{},i=r=e.t([(0,n.customElement)(`schmancy-float`)],r);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-DpFmy0nm.cjs`),t=require(`./window-DtUOWiAj.cjs`);let n=require(`lit/decorators.js`);var r=class extends t.t{},i=r=e.t([(0,n.customElement)(`schmancy-float`)],r);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -1 +1 @@
1
- {"version":3,"file":"float-DRET9mVZ.cjs","names":[],"sources":["../src/float/float.ts"],"sourcesContent":["/**\n * Backward compatibility alias — schmancy-float is now schmancy-window.\n *\n * Existing consumers using <schmancy-float> continue to work.\n * New code should use <schmancy-window> directly.\n */\n\nimport { customElement } from 'lit/decorators.js'\nimport SchmancyWindow from '../window/window.js'\n\n@customElement('schmancy-float')\nexport default class SchmancyFloat extends SchmancyWindow {}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-float': SchmancyFloat\n\t}\n}\n"],"mappings":"iJAWe,IAAA,EAAA,cAA4B,EAAA,CAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAD5B,iBAAA,CAAA,CAAiB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"float-CwVBs11k.cjs","names":[],"sources":["../src/float/float.ts"],"sourcesContent":["/**\n * Backward compatibility alias — schmancy-float is now schmancy-window.\n *\n * Existing consumers using <schmancy-float> continue to work.\n * New code should use <schmancy-window> directly.\n */\n\nimport { customElement } from 'lit/decorators.js'\nimport SchmancyWindow from '../window/window.js'\n\n@customElement('schmancy-float')\nexport default class SchmancyFloat extends SchmancyWindow {}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-float': SchmancyFloat\n\t}\n}\n"],"mappings":"iJAWe,IAAA,EAAA,cAA4B,EAAA,CAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAD5B,iBAAA,CAAA,CAAiB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
package/dist/float.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./float-DRET9mVZ.cjs`);exports.SchmancyFloat=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./float-CwVBs11k.cjs`);exports.SchmancyFloat=e.t;
package/dist/float.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./float-N3qhNET_.js";
1
+ import { t as e } from "./float-CTc1xxqH.js";
2
2
  export { e as SchmancyFloat };
@@ -203,7 +203,7 @@ The manifest already has everything needed; the package is just the JSON-RPC wra
203
203
 
204
204
  **Problem.** `handover/agent-runtime-v1.md` had `<PENDING>` placeholders that we manually replaced with `0.9.13` after the first publish. Future handover docs will have the same issue.
205
205
 
206
- **Fix.** A build step that substitutes `0.10.1` in `handover/**/*.md` against `package.json`'s `version` field on every build. `dist/handover/**/*.md` gets the rendered version; the source stays templated.
206
+ **Fix.** A build step that substitutes `0.10.2` in `handover/**/*.md` against `package.json`'s `version` field on every build. `dist/handover/**/*.md` gets the rendered version; the source stays templated.
207
207
 
208
208
  **Effort:** ~30 min (one sed step or a tiny script).
209
209
 
@@ -7,8 +7,8 @@
7
7
  ## The URLs you asked for
8
8
 
9
9
  ```
10
- https://esm.sh/@mhmo91/schmancy/agent@0.10.1
11
- https://esm.sh/@mhmo91/schmancy/agent/manifest@0.10.1
10
+ https://esm.sh/@mhmo91/schmancy/agent@0.10.2
11
+ https://esm.sh/@mhmo91/schmancy/agent/manifest@0.10.2
12
12
  ```
13
13
 
14
14
  `0.9.13` is the first release containing `/agent`; every subsequent publish serves the same subpath. `npm view @mhmo91/schmancy version` always returns the current pin if you want to float forward.
@@ -20,7 +20,7 @@ One script tag. No bundler, no bare specifiers, no npm install.
20
20
  ```html
21
21
  <!doctype html>
22
22
  <script type="module">
23
- import { $dialog, theme } from 'https://esm.sh/@mhmo91/schmancy/agent@0.10.1';
23
+ import { $dialog, theme } from 'https://esm.sh/@mhmo91/schmancy/agent@0.10.2';
24
24
  </script>
25
25
  <schmancy-theme root scheme="dark">
26
26
  <schmancy-surface type="solid" fill="all">
@@ -1,4 +1,4 @@
1
- import { s as e } from "./mixins-CL1krSOE.js";
1
+ import { s as e } from "./mixins-CcIWET41.js";
2
2
  import { t } from "./decorate-23nYs4Le.js";
3
3
  import { t as n } from "./context-Bdu1xt0W.js";
4
4
  import { BehaviorSubject as r, combineLatest as i, takeUntil as a } from "rxjs";
@@ -1 +1 @@
1
- {"version":3,"file":"icons-BBJqwT_B.js","names":[],"sources":["../src/icons/icon.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { consume } from '@lit/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { BehaviorSubject, combineLatest, takeUntil } from 'rxjs'\nimport { tap } from 'rxjs/operators'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from '../button/context'\n\n/**\n * Icon size tokens - M3 aligned with optical size optimization\n * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)\n * - xs: 16px (opsz: 20) - fits in 32px buttons\n * - sm: 20px (opsz: 20) - fits in 40px buttons\n * - md: 24px (opsz: 24) - fits in 48px buttons (default)\n * - lg: 32px (opsz: 40) - fits in 56px buttons\n * - Or custom string like '48px'\n */\nexport type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string\n\n/**\n * @element schmancy-icon\n * Material Symbols icon component with flexible font variation properties\n *\n * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)\n * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)\n * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)\n * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)\n * @cssprop --schmancy-icon-opsz - Optical size (default: 24)\n * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\t--schmancy-icon-size: 24px;\n\t\t--schmancy-icon-fill: 0;\n\t\t--schmancy-icon-weight: 400;\n\t\t--schmancy-icon-grade: 0;\n\t\t--schmancy-icon-opsz: 24;\n\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--schmancy-icon-size);\n\t\theight: var(--schmancy-icon-size);\n\t\tfont-size: var(--schmancy-icon-size);\n\t\tcolor: inherit;\n\t\ttransition: font-variation-settings 0.2s ease;\n\t}\n\n\t.material-symbols {\n\t\tfont-family: var(--schmancy-icon-font, 'Material Symbols Outlined');\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-webkit-font-feature-settings: 'liga';\n\t\tfont-feature-settings: 'liga';\n\t\tfont-variation-settings:\n\t\t\t'FILL' var(--schmancy-icon-fill),\n\t\t\t'wght' var(--schmancy-icon-weight),\n\t\t\t'GRAD' var(--schmancy-icon-grade),\n\t\t\t'opsz' var(--schmancy-icon-opsz);\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t/* CSS-generated content is NOT translated by Google Translate */\n\t.material-symbols[data-icon]::before {\n\t\tcontent: attr(data-icon);\n\t}\n`];\n\t// Static flag to track if Google Fonts have been loaded\n\tprivate static fontsLoaded = false\n\n\t/**\n\t * Load Material Symbols fonts from Google Fonts CDN\n\t */\n\tprivate static loadFonts(): void {\n\t\tif (SchmancyIcon.fontsLoaded) {\n\t\t\treturn\n\t\t}\n\n\t\tconst link = document.createElement('link')\n\t\tlink.rel = 'stylesheet'\n\t\tlink.href = 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'\n\t\tdocument.head.appendChild(link)\n\n\t\tSchmancyIcon.fontsLoaded = true\n\t}\n\n\t/**\n\t * Fill value for the icon (0-1)\n\t * 0 = outlined, 1 = filled\n\t */\n\t@property({ type: Number, reflect: true })\n\tfill = 0\n\n\t/**\n\t * Weight value for the icon (100-700)\n\t * Controls the thickness of the icon strokes\n\t */\n\t@property({ type: Number, reflect: true })\n\tweight = 400\n\n\t/**\n\t * Grade value for the icon (-50-200)\n\t * Adjusts the visual weight/grade\n\t */\n\t@property({ type: Number, reflect: true })\n\tgrade = 0\n\n\t/**\n\t * Icon variant style\n\t * @values outlined | rounded | sharp\n\t */\n\t@property({ type: String, reflect: true })\n\tvariant: 'outlined' | 'rounded' | 'sharp' = 'outlined'\n\n\t/**\n\t * Size of the icon - M3 aligned tokens or custom string\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Custom: any CSS size string like '48px', '2rem'\n\t *\n\t * When this icon is a descendant of `<schmancy-button>`, the button's\n\t * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only\n\t * applies when there is no ancestor button.\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: IconSize = 'md'\n\n\t/**\n\t * Size inherited from an ancestor `<schmancy-button>` via context.\n\t * Undefined when the icon is not nested in a button.\n\t */\n\t@consume({ context: SchmancyButtonSizeContext, subscribe: true })\n\t@state()\n\tprivate _buttonSize?: SchmancyButtonSize\n\n\t/**\n\t * Icon name - use this instead of slot content to prevent translation breaking icons.\n\t * When set, this takes precedence over slot content.\n\t * Example: <schmancy-icon icon=\"delete\"></schmancy-icon>\n\t */\n\t@property({ type: String })\n\ticon?: string\n\n\t// M3 aligned token sizes with optimal optical sizes\n\tprivate static readonly tokenSizes: Record<string, { size: string; opsz: number }> = {\n\t\txxs: { size: '12px', opsz: 20 }, // fits in 24px buttons (ultra-compact)\n\t\txs: { size: '16px', opsz: 20 }, // fits in 32px buttons\n\t\tsm: { size: '20px', opsz: 20 }, // fits in 40px buttons\n\t\tmd: { size: '24px', opsz: 24 }, // fits in 48px buttons (default)\n\t\tlg: { size: '32px', opsz: 40 }, // fits in 56px buttons\n\t}\n\n\t/** Extract pixel value from a custom size string for optical size */\n\tprivate static computeOpticalSize(size: string): number {\n\t\tconst px = parseFloat(size)\n\t\treturn isNaN(px) ? 24 : Math.max(20, Math.min(48, Math.round(px)))\n\t}\n\n\t// RxJS subjects for reactive property updates\n\tprivate fill$ = new BehaviorSubject(this.fill)\n\tprivate weight$ = new BehaviorSubject(this.weight)\n\tprivate grade$ = new BehaviorSubject(this.grade)\n\tprivate variant$ = new BehaviorSubject(this.variant)\n\n\t// Captured icon name from slot content (translation-proof)\n\t@state()\n\tprivate _capturedIcon?: string\n\n\t// Observer for text content changes (ternaries update text nodes, not DOM structure)\n\tprivate _observer?: MutationObserver\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\n\t\t// Capture initial icon name\n\t\tthis._updateCapturedIcon()\n\n\t\t// Watch for text content changes (characterData) for dynamic icon updates\n\t\tthis._observer = new MutationObserver(() => this._updateCapturedIcon())\n\t\tthis._observer.observe(this, { childList: true, characterData: true, subtree: true })\n\n\t\t// Load Google Fonts if not already loaded\n\t\tSchmancyIcon.loadFonts()\n\n\t\t// Prevent browser translation from breaking icon ligatures\n\t\t// Using multiple methods for maximum compatibility:\n\t\t// - translate=\"no\" (HTML5 standard)\n\t\t// - class=\"notranslate\" (Google Translate specific)\n\t\tthis.setAttribute('translate', 'no')\n\t\tthis.classList.add('notranslate')\n\n\t\t// Set accessibility attributes for decorative icons\n\t\tif (!this.hasAttribute('aria-label') &&\n\t\t !this.hasAttribute('aria-labelledby') &&\n\t\t !this.hasAttribute('aria-hidden') &&\n\t\t !this.hasAttribute('role')) {\n\t\t\tthis.setAttribute('aria-hidden', 'true')\n\t\t}\n\n\t\t// Setup reactive CSS variable updates\n\t\tcombineLatest([\n\t\t\tthis.fill$,\n\t\t\tthis.weight$,\n\t\t\tthis.grade$,\n\t\t\tthis.variant$\n\t\t]).pipe(\n\t\t\ttap(([fill, weight, grade, variant]) => {\n\t\t\t\t// Update CSS custom properties for smooth transitions\n\t\t\t\tthis.style.setProperty('--schmancy-icon-fill', String(fill))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-weight', String(weight))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-grade', String(grade))\n\n\t\t\t\t// Update font family based on variant\n\t\t\t\tconst fontFamily = {\n\t\t\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t\t\t}[variant] || 'Material Symbols Outlined'\n\n\t\t\t\tthis.style.setProperty('--schmancy-icon-font', fontFamily)\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t}\n\n\t/**\n\t * Update captured icon from current text content\n\t */\n\tprivate _updateCapturedIcon(): void {\n\t\tif (!this.icon) {\n\t\t\tconst textContent = this.textContent?.trim()\n\t\t\tif (textContent && textContent !== this._capturedIcon) {\n\t\t\t\tthis._capturedIcon = textContent\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update BehaviorSubjects when properties change\n\t\tif (changedProperties.has('fill')) {\n\t\t\tthis.fill$.next(this.fill)\n\t\t}\n\t\tif (changedProperties.has('weight')) {\n\t\t\tthis.weight$.next(this.weight)\n\t\t}\n\t\tif (changedProperties.has('grade')) {\n\t\t\tthis.grade$.next(this.grade)\n\t\t}\n\t\tif (changedProperties.has('variant')) {\n\t\t\tthis.variant$.next(this.variant)\n\t\t}\n\t}\n\n\tprotected render(): unknown {\n\t\tconst fontFamily = {\n\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t}[this.variant] || 'Material Symbols Outlined'\n\n\t\t// Effective size: ancestor `<schmancy-button>` wins via context, else local `size`.\n\t\tconst effectiveSize: IconSize = this._buttonSize ?? this.size\n\t\t// Resolve size: token → px, bare number → px, or pass through as-is\n\t\tconst sizeConfig = SchmancyIcon.tokenSizes[effectiveSize]\n\t\tconst isNumeric = !sizeConfig && /^\\d+(\\.\\d+)?$/.test(effectiveSize)\n\t\tconst iconSize = sizeConfig?.size || (isNumeric ? `${effectiveSize}px` : effectiveSize)\n\t\tconst opticalSize = sizeConfig?.opsz || SchmancyIcon.computeOpticalSize(iconSize)\n\n\t\t// Set size on HOST so :host CSS picks it up\n\t\tthis.style.setProperty('--schmancy-icon-size', iconSize)\n\t\tthis.style.setProperty('--schmancy-icon-opsz', String(opticalSize))\n\n\t\tconst style = {\n\t\t\t'--schmancy-icon-fill': this.fill,\n\t\t\t'--schmancy-icon-weight': this.weight,\n\t\t\t'--schmancy-icon-grade': this.grade,\n\t\t\t'--schmancy-icon-font': fontFamily,\n\t\t}\n\n\t\t// Priority: icon property > captured icon (for dynamic content)\n\t\tconst iconName = this.icon || this._capturedIcon\n\n\t\t// Always render slot (hidden) to observe content changes, display via data-icon\n\t\treturn html`\n\t\t\t<span class=\"material-symbols notranslate\" part=\"icon\" translate=\"no\" data-icon=${iconName || ''} style=${this.styleMap(style)}></span>\n\t\t\t<slot style=\"display:none\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}"],"mappings":"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"}
1
+ {"version":3,"file":"icons-BbCVrcas.js","names":[],"sources":["../src/icons/icon.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { consume } from '@lit/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { BehaviorSubject, combineLatest, takeUntil } from 'rxjs'\nimport { tap } from 'rxjs/operators'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from '../button/context'\n\n/**\n * Icon size tokens - M3 aligned with optical size optimization\n * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)\n * - xs: 16px (opsz: 20) - fits in 32px buttons\n * - sm: 20px (opsz: 20) - fits in 40px buttons\n * - md: 24px (opsz: 24) - fits in 48px buttons (default)\n * - lg: 32px (opsz: 40) - fits in 56px buttons\n * - Or custom string like '48px'\n */\nexport type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string\n\n/**\n * @element schmancy-icon\n * Material Symbols icon component with flexible font variation properties\n *\n * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)\n * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)\n * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)\n * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)\n * @cssprop --schmancy-icon-opsz - Optical size (default: 24)\n * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\t--schmancy-icon-size: 24px;\n\t\t--schmancy-icon-fill: 0;\n\t\t--schmancy-icon-weight: 400;\n\t\t--schmancy-icon-grade: 0;\n\t\t--schmancy-icon-opsz: 24;\n\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--schmancy-icon-size);\n\t\theight: var(--schmancy-icon-size);\n\t\tfont-size: var(--schmancy-icon-size);\n\t\tcolor: inherit;\n\t\ttransition: font-variation-settings 0.2s ease;\n\t}\n\n\t.material-symbols {\n\t\tfont-family: var(--schmancy-icon-font, 'Material Symbols Outlined');\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-webkit-font-feature-settings: 'liga';\n\t\tfont-feature-settings: 'liga';\n\t\tfont-variation-settings:\n\t\t\t'FILL' var(--schmancy-icon-fill),\n\t\t\t'wght' var(--schmancy-icon-weight),\n\t\t\t'GRAD' var(--schmancy-icon-grade),\n\t\t\t'opsz' var(--schmancy-icon-opsz);\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t/* CSS-generated content is NOT translated by Google Translate */\n\t.material-symbols[data-icon]::before {\n\t\tcontent: attr(data-icon);\n\t}\n`];\n\t// Static flag to track if Google Fonts have been loaded\n\tprivate static fontsLoaded = false\n\n\t/**\n\t * Load Material Symbols fonts from Google Fonts CDN\n\t */\n\tprivate static loadFonts(): void {\n\t\tif (SchmancyIcon.fontsLoaded) {\n\t\t\treturn\n\t\t}\n\n\t\tconst link = document.createElement('link')\n\t\tlink.rel = 'stylesheet'\n\t\tlink.href = 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'\n\t\tdocument.head.appendChild(link)\n\n\t\tSchmancyIcon.fontsLoaded = true\n\t}\n\n\t/**\n\t * Fill value for the icon (0-1)\n\t * 0 = outlined, 1 = filled\n\t */\n\t@property({ type: Number, reflect: true })\n\tfill = 0\n\n\t/**\n\t * Weight value for the icon (100-700)\n\t * Controls the thickness of the icon strokes\n\t */\n\t@property({ type: Number, reflect: true })\n\tweight = 400\n\n\t/**\n\t * Grade value for the icon (-50-200)\n\t * Adjusts the visual weight/grade\n\t */\n\t@property({ type: Number, reflect: true })\n\tgrade = 0\n\n\t/**\n\t * Icon variant style\n\t * @values outlined | rounded | sharp\n\t */\n\t@property({ type: String, reflect: true })\n\tvariant: 'outlined' | 'rounded' | 'sharp' = 'outlined'\n\n\t/**\n\t * Size of the icon - M3 aligned tokens or custom string\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Custom: any CSS size string like '48px', '2rem'\n\t *\n\t * When this icon is a descendant of `<schmancy-button>`, the button's\n\t * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only\n\t * applies when there is no ancestor button.\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: IconSize = 'md'\n\n\t/**\n\t * Size inherited from an ancestor `<schmancy-button>` via context.\n\t * Undefined when the icon is not nested in a button.\n\t */\n\t@consume({ context: SchmancyButtonSizeContext, subscribe: true })\n\t@state()\n\tprivate _buttonSize?: SchmancyButtonSize\n\n\t/**\n\t * Icon name - use this instead of slot content to prevent translation breaking icons.\n\t * When set, this takes precedence over slot content.\n\t * Example: <schmancy-icon icon=\"delete\"></schmancy-icon>\n\t */\n\t@property({ type: String })\n\ticon?: string\n\n\t// M3 aligned token sizes with optimal optical sizes\n\tprivate static readonly tokenSizes: Record<string, { size: string; opsz: number }> = {\n\t\txxs: { size: '12px', opsz: 20 }, // fits in 24px buttons (ultra-compact)\n\t\txs: { size: '16px', opsz: 20 }, // fits in 32px buttons\n\t\tsm: { size: '20px', opsz: 20 }, // fits in 40px buttons\n\t\tmd: { size: '24px', opsz: 24 }, // fits in 48px buttons (default)\n\t\tlg: { size: '32px', opsz: 40 }, // fits in 56px buttons\n\t}\n\n\t/** Extract pixel value from a custom size string for optical size */\n\tprivate static computeOpticalSize(size: string): number {\n\t\tconst px = parseFloat(size)\n\t\treturn isNaN(px) ? 24 : Math.max(20, Math.min(48, Math.round(px)))\n\t}\n\n\t// RxJS subjects for reactive property updates\n\tprivate fill$ = new BehaviorSubject(this.fill)\n\tprivate weight$ = new BehaviorSubject(this.weight)\n\tprivate grade$ = new BehaviorSubject(this.grade)\n\tprivate variant$ = new BehaviorSubject(this.variant)\n\n\t// Captured icon name from slot content (translation-proof)\n\t@state()\n\tprivate _capturedIcon?: string\n\n\t// Observer for text content changes (ternaries update text nodes, not DOM structure)\n\tprivate _observer?: MutationObserver\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\n\t\t// Capture initial icon name\n\t\tthis._updateCapturedIcon()\n\n\t\t// Watch for text content changes (characterData) for dynamic icon updates\n\t\tthis._observer = new MutationObserver(() => this._updateCapturedIcon())\n\t\tthis._observer.observe(this, { childList: true, characterData: true, subtree: true })\n\n\t\t// Load Google Fonts if not already loaded\n\t\tSchmancyIcon.loadFonts()\n\n\t\t// Prevent browser translation from breaking icon ligatures\n\t\t// Using multiple methods for maximum compatibility:\n\t\t// - translate=\"no\" (HTML5 standard)\n\t\t// - class=\"notranslate\" (Google Translate specific)\n\t\tthis.setAttribute('translate', 'no')\n\t\tthis.classList.add('notranslate')\n\n\t\t// Set accessibility attributes for decorative icons\n\t\tif (!this.hasAttribute('aria-label') &&\n\t\t !this.hasAttribute('aria-labelledby') &&\n\t\t !this.hasAttribute('aria-hidden') &&\n\t\t !this.hasAttribute('role')) {\n\t\t\tthis.setAttribute('aria-hidden', 'true')\n\t\t}\n\n\t\t// Setup reactive CSS variable updates\n\t\tcombineLatest([\n\t\t\tthis.fill$,\n\t\t\tthis.weight$,\n\t\t\tthis.grade$,\n\t\t\tthis.variant$\n\t\t]).pipe(\n\t\t\ttap(([fill, weight, grade, variant]) => {\n\t\t\t\t// Update CSS custom properties for smooth transitions\n\t\t\t\tthis.style.setProperty('--schmancy-icon-fill', String(fill))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-weight', String(weight))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-grade', String(grade))\n\n\t\t\t\t// Update font family based on variant\n\t\t\t\tconst fontFamily = {\n\t\t\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t\t\t}[variant] || 'Material Symbols Outlined'\n\n\t\t\t\tthis.style.setProperty('--schmancy-icon-font', fontFamily)\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t}\n\n\t/**\n\t * Update captured icon from current text content\n\t */\n\tprivate _updateCapturedIcon(): void {\n\t\tif (!this.icon) {\n\t\t\tconst textContent = this.textContent?.trim()\n\t\t\tif (textContent && textContent !== this._capturedIcon) {\n\t\t\t\tthis._capturedIcon = textContent\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update BehaviorSubjects when properties change\n\t\tif (changedProperties.has('fill')) {\n\t\t\tthis.fill$.next(this.fill)\n\t\t}\n\t\tif (changedProperties.has('weight')) {\n\t\t\tthis.weight$.next(this.weight)\n\t\t}\n\t\tif (changedProperties.has('grade')) {\n\t\t\tthis.grade$.next(this.grade)\n\t\t}\n\t\tif (changedProperties.has('variant')) {\n\t\t\tthis.variant$.next(this.variant)\n\t\t}\n\t}\n\n\tprotected render(): unknown {\n\t\tconst fontFamily = {\n\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t}[this.variant] || 'Material Symbols Outlined'\n\n\t\t// Effective size: ancestor `<schmancy-button>` wins via context, else local `size`.\n\t\tconst effectiveSize: IconSize = this._buttonSize ?? this.size\n\t\t// Resolve size: token → px, bare number → px, or pass through as-is\n\t\tconst sizeConfig = SchmancyIcon.tokenSizes[effectiveSize]\n\t\tconst isNumeric = !sizeConfig && /^\\d+(\\.\\d+)?$/.test(effectiveSize)\n\t\tconst iconSize = sizeConfig?.size || (isNumeric ? `${effectiveSize}px` : effectiveSize)\n\t\tconst opticalSize = sizeConfig?.opsz || SchmancyIcon.computeOpticalSize(iconSize)\n\n\t\t// Set size on HOST so :host CSS picks it up\n\t\tthis.style.setProperty('--schmancy-icon-size', iconSize)\n\t\tthis.style.setProperty('--schmancy-icon-opsz', String(opticalSize))\n\n\t\tconst style = {\n\t\t\t'--schmancy-icon-fill': this.fill,\n\t\t\t'--schmancy-icon-weight': this.weight,\n\t\t\t'--schmancy-icon-grade': this.grade,\n\t\t\t'--schmancy-icon-font': fontFamily,\n\t\t}\n\n\t\t// Priority: icon property > captured icon (for dynamic content)\n\t\tconst iconName = this.icon || this._capturedIcon\n\n\t\t// Always render slot (hidden) to observe content changes, display via data-icon\n\t\treturn html`\n\t\t\t<span class=\"material-symbols notranslate\" part=\"icon\" translate=\"no\" data-icon=${iconName || ''} style=${this.styleMap(style)}></span>\n\t\t\t<slot style=\"display:none\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-BIXF7xkF.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./context-daN5G6HS.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`@lit/context`),o=require(`lit/decorators.js`),s=require(`lit`);var c,l=class extends e.s{static{c=this}constructor(...e){super(...e),this.fill=0,this.weight=400,this.grade=0,this.variant=`outlined`,this.size=`md`,this.fill$=new r.BehaviorSubject(this.fill),this.weight$=new r.BehaviorSubject(this.weight),this.grade$=new r.BehaviorSubject(this.grade),this.variant$=new r.BehaviorSubject(this.variant)}static{this.styles=[s.css`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./context-daN5G6HS.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`@lit/context`),o=require(`lit/decorators.js`),s=require(`lit`);var c,l=class extends e.s{static{c=this}constructor(...e){super(...e),this.fill=0,this.weight=400,this.grade=0,this.variant=`outlined`,this.size=`md`,this.fill$=new r.BehaviorSubject(this.fill),this.weight$=new r.BehaviorSubject(this.weight),this.grade$=new r.BehaviorSubject(this.grade),this.variant$=new r.BehaviorSubject(this.variant)}static{this.styles=[s.css`
2
2
  :host {
3
3
  --schmancy-icon-size: 24px;
4
4
  --schmancy-icon-fill: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"icons-CNixJ6kL.cjs","names":[],"sources":["../src/icons/icon.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { consume } from '@lit/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { BehaviorSubject, combineLatest, takeUntil } from 'rxjs'\nimport { tap } from 'rxjs/operators'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from '../button/context'\n\n/**\n * Icon size tokens - M3 aligned with optical size optimization\n * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)\n * - xs: 16px (opsz: 20) - fits in 32px buttons\n * - sm: 20px (opsz: 20) - fits in 40px buttons\n * - md: 24px (opsz: 24) - fits in 48px buttons (default)\n * - lg: 32px (opsz: 40) - fits in 56px buttons\n * - Or custom string like '48px'\n */\nexport type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string\n\n/**\n * @element schmancy-icon\n * Material Symbols icon component with flexible font variation properties\n *\n * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)\n * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)\n * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)\n * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)\n * @cssprop --schmancy-icon-opsz - Optical size (default: 24)\n * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\t--schmancy-icon-size: 24px;\n\t\t--schmancy-icon-fill: 0;\n\t\t--schmancy-icon-weight: 400;\n\t\t--schmancy-icon-grade: 0;\n\t\t--schmancy-icon-opsz: 24;\n\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--schmancy-icon-size);\n\t\theight: var(--schmancy-icon-size);\n\t\tfont-size: var(--schmancy-icon-size);\n\t\tcolor: inherit;\n\t\ttransition: font-variation-settings 0.2s ease;\n\t}\n\n\t.material-symbols {\n\t\tfont-family: var(--schmancy-icon-font, 'Material Symbols Outlined');\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-webkit-font-feature-settings: 'liga';\n\t\tfont-feature-settings: 'liga';\n\t\tfont-variation-settings:\n\t\t\t'FILL' var(--schmancy-icon-fill),\n\t\t\t'wght' var(--schmancy-icon-weight),\n\t\t\t'GRAD' var(--schmancy-icon-grade),\n\t\t\t'opsz' var(--schmancy-icon-opsz);\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t/* CSS-generated content is NOT translated by Google Translate */\n\t.material-symbols[data-icon]::before {\n\t\tcontent: attr(data-icon);\n\t}\n`];\n\t// Static flag to track if Google Fonts have been loaded\n\tprivate static fontsLoaded = false\n\n\t/**\n\t * Load Material Symbols fonts from Google Fonts CDN\n\t */\n\tprivate static loadFonts(): void {\n\t\tif (SchmancyIcon.fontsLoaded) {\n\t\t\treturn\n\t\t}\n\n\t\tconst link = document.createElement('link')\n\t\tlink.rel = 'stylesheet'\n\t\tlink.href = 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'\n\t\tdocument.head.appendChild(link)\n\n\t\tSchmancyIcon.fontsLoaded = true\n\t}\n\n\t/**\n\t * Fill value for the icon (0-1)\n\t * 0 = outlined, 1 = filled\n\t */\n\t@property({ type: Number, reflect: true })\n\tfill = 0\n\n\t/**\n\t * Weight value for the icon (100-700)\n\t * Controls the thickness of the icon strokes\n\t */\n\t@property({ type: Number, reflect: true })\n\tweight = 400\n\n\t/**\n\t * Grade value for the icon (-50-200)\n\t * Adjusts the visual weight/grade\n\t */\n\t@property({ type: Number, reflect: true })\n\tgrade = 0\n\n\t/**\n\t * Icon variant style\n\t * @values outlined | rounded | sharp\n\t */\n\t@property({ type: String, reflect: true })\n\tvariant: 'outlined' | 'rounded' | 'sharp' = 'outlined'\n\n\t/**\n\t * Size of the icon - M3 aligned tokens or custom string\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Custom: any CSS size string like '48px', '2rem'\n\t *\n\t * When this icon is a descendant of `<schmancy-button>`, the button's\n\t * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only\n\t * applies when there is no ancestor button.\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: IconSize = 'md'\n\n\t/**\n\t * Size inherited from an ancestor `<schmancy-button>` via context.\n\t * Undefined when the icon is not nested in a button.\n\t */\n\t@consume({ context: SchmancyButtonSizeContext, subscribe: true })\n\t@state()\n\tprivate _buttonSize?: SchmancyButtonSize\n\n\t/**\n\t * Icon name - use this instead of slot content to prevent translation breaking icons.\n\t * When set, this takes precedence over slot content.\n\t * Example: <schmancy-icon icon=\"delete\"></schmancy-icon>\n\t */\n\t@property({ type: String })\n\ticon?: string\n\n\t// M3 aligned token sizes with optimal optical sizes\n\tprivate static readonly tokenSizes: Record<string, { size: string; opsz: number }> = {\n\t\txxs: { size: '12px', opsz: 20 }, // fits in 24px buttons (ultra-compact)\n\t\txs: { size: '16px', opsz: 20 }, // fits in 32px buttons\n\t\tsm: { size: '20px', opsz: 20 }, // fits in 40px buttons\n\t\tmd: { size: '24px', opsz: 24 }, // fits in 48px buttons (default)\n\t\tlg: { size: '32px', opsz: 40 }, // fits in 56px buttons\n\t}\n\n\t/** Extract pixel value from a custom size string for optical size */\n\tprivate static computeOpticalSize(size: string): number {\n\t\tconst px = parseFloat(size)\n\t\treturn isNaN(px) ? 24 : Math.max(20, Math.min(48, Math.round(px)))\n\t}\n\n\t// RxJS subjects for reactive property updates\n\tprivate fill$ = new BehaviorSubject(this.fill)\n\tprivate weight$ = new BehaviorSubject(this.weight)\n\tprivate grade$ = new BehaviorSubject(this.grade)\n\tprivate variant$ = new BehaviorSubject(this.variant)\n\n\t// Captured icon name from slot content (translation-proof)\n\t@state()\n\tprivate _capturedIcon?: string\n\n\t// Observer for text content changes (ternaries update text nodes, not DOM structure)\n\tprivate _observer?: MutationObserver\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\n\t\t// Capture initial icon name\n\t\tthis._updateCapturedIcon()\n\n\t\t// Watch for text content changes (characterData) for dynamic icon updates\n\t\tthis._observer = new MutationObserver(() => this._updateCapturedIcon())\n\t\tthis._observer.observe(this, { childList: true, characterData: true, subtree: true })\n\n\t\t// Load Google Fonts if not already loaded\n\t\tSchmancyIcon.loadFonts()\n\n\t\t// Prevent browser translation from breaking icon ligatures\n\t\t// Using multiple methods for maximum compatibility:\n\t\t// - translate=\"no\" (HTML5 standard)\n\t\t// - class=\"notranslate\" (Google Translate specific)\n\t\tthis.setAttribute('translate', 'no')\n\t\tthis.classList.add('notranslate')\n\n\t\t// Set accessibility attributes for decorative icons\n\t\tif (!this.hasAttribute('aria-label') &&\n\t\t !this.hasAttribute('aria-labelledby') &&\n\t\t !this.hasAttribute('aria-hidden') &&\n\t\t !this.hasAttribute('role')) {\n\t\t\tthis.setAttribute('aria-hidden', 'true')\n\t\t}\n\n\t\t// Setup reactive CSS variable updates\n\t\tcombineLatest([\n\t\t\tthis.fill$,\n\t\t\tthis.weight$,\n\t\t\tthis.grade$,\n\t\t\tthis.variant$\n\t\t]).pipe(\n\t\t\ttap(([fill, weight, grade, variant]) => {\n\t\t\t\t// Update CSS custom properties for smooth transitions\n\t\t\t\tthis.style.setProperty('--schmancy-icon-fill', String(fill))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-weight', String(weight))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-grade', String(grade))\n\n\t\t\t\t// Update font family based on variant\n\t\t\t\tconst fontFamily = {\n\t\t\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t\t\t}[variant] || 'Material Symbols Outlined'\n\n\t\t\t\tthis.style.setProperty('--schmancy-icon-font', fontFamily)\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t}\n\n\t/**\n\t * Update captured icon from current text content\n\t */\n\tprivate _updateCapturedIcon(): void {\n\t\tif (!this.icon) {\n\t\t\tconst textContent = this.textContent?.trim()\n\t\t\tif (textContent && textContent !== this._capturedIcon) {\n\t\t\t\tthis._capturedIcon = textContent\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update BehaviorSubjects when properties change\n\t\tif (changedProperties.has('fill')) {\n\t\t\tthis.fill$.next(this.fill)\n\t\t}\n\t\tif (changedProperties.has('weight')) {\n\t\t\tthis.weight$.next(this.weight)\n\t\t}\n\t\tif (changedProperties.has('grade')) {\n\t\t\tthis.grade$.next(this.grade)\n\t\t}\n\t\tif (changedProperties.has('variant')) {\n\t\t\tthis.variant$.next(this.variant)\n\t\t}\n\t}\n\n\tprotected render(): unknown {\n\t\tconst fontFamily = {\n\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t}[this.variant] || 'Material Symbols Outlined'\n\n\t\t// Effective size: ancestor `<schmancy-button>` wins via context, else local `size`.\n\t\tconst effectiveSize: IconSize = this._buttonSize ?? this.size\n\t\t// Resolve size: token → px, bare number → px, or pass through as-is\n\t\tconst sizeConfig = SchmancyIcon.tokenSizes[effectiveSize]\n\t\tconst isNumeric = !sizeConfig && /^\\d+(\\.\\d+)?$/.test(effectiveSize)\n\t\tconst iconSize = sizeConfig?.size || (isNumeric ? `${effectiveSize}px` : effectiveSize)\n\t\tconst opticalSize = sizeConfig?.opsz || SchmancyIcon.computeOpticalSize(iconSize)\n\n\t\t// Set size on HOST so :host CSS picks it up\n\t\tthis.style.setProperty('--schmancy-icon-size', iconSize)\n\t\tthis.style.setProperty('--schmancy-icon-opsz', String(opticalSize))\n\n\t\tconst style = {\n\t\t\t'--schmancy-icon-fill': this.fill,\n\t\t\t'--schmancy-icon-weight': this.weight,\n\t\t\t'--schmancy-icon-grade': this.grade,\n\t\t\t'--schmancy-icon-font': fontFamily,\n\t\t}\n\n\t\t// Priority: icon property > captured icon (for dynamic content)\n\t\tconst iconName = this.icon || this._capturedIcon\n\n\t\t// Always render slot (hidden) to observe content changes, display via data-icon\n\t\treturn html`\n\t\t\t<span class=\"material-symbols notranslate\" part=\"icon\" translate=\"no\" data-icon=${iconName || ''} style=${this.styleMap(style)}></span>\n\t\t\t<slot style=\"display:none\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}"],"mappings":"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"}
1
+ {"version":3,"file":"icons-qEQW4pjM.cjs","names":[],"sources":["../src/icons/icon.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { consume } from '@lit/context'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { BehaviorSubject, combineLatest, takeUntil } from 'rxjs'\nimport { tap } from 'rxjs/operators'\nimport { SchmancyButtonSizeContext, type SchmancyButtonSize } from '../button/context'\n\n/**\n * Icon size tokens - M3 aligned with optical size optimization\n * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)\n * - xs: 16px (opsz: 20) - fits in 32px buttons\n * - sm: 20px (opsz: 20) - fits in 40px buttons\n * - md: 24px (opsz: 24) - fits in 48px buttons (default)\n * - lg: 32px (opsz: 40) - fits in 56px buttons\n * - Or custom string like '48px'\n */\nexport type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string\n\n/**\n * @element schmancy-icon\n * Material Symbols icon component with flexible font variation properties\n *\n * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)\n * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)\n * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)\n * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)\n * @cssprop --schmancy-icon-opsz - Optical size (default: 24)\n * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.\n */\n@customElement('schmancy-icon')\nexport default class SchmancyIcon extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\t--schmancy-icon-size: 24px;\n\t\t--schmancy-icon-fill: 0;\n\t\t--schmancy-icon-weight: 400;\n\t\t--schmancy-icon-grade: 0;\n\t\t--schmancy-icon-opsz: 24;\n\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--schmancy-icon-size);\n\t\theight: var(--schmancy-icon-size);\n\t\tfont-size: var(--schmancy-icon-size);\n\t\tcolor: inherit;\n\t\ttransition: font-variation-settings 0.2s ease;\n\t}\n\n\t.material-symbols {\n\t\tfont-family: var(--schmancy-icon-font, 'Material Symbols Outlined');\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-webkit-font-feature-settings: 'liga';\n\t\tfont-feature-settings: 'liga';\n\t\tfont-variation-settings:\n\t\t\t'FILL' var(--schmancy-icon-fill),\n\t\t\t'wght' var(--schmancy-icon-weight),\n\t\t\t'GRAD' var(--schmancy-icon-grade),\n\t\t\t'opsz' var(--schmancy-icon-opsz);\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t/* CSS-generated content is NOT translated by Google Translate */\n\t.material-symbols[data-icon]::before {\n\t\tcontent: attr(data-icon);\n\t}\n`];\n\t// Static flag to track if Google Fonts have been loaded\n\tprivate static fontsLoaded = false\n\n\t/**\n\t * Load Material Symbols fonts from Google Fonts CDN\n\t */\n\tprivate static loadFonts(): void {\n\t\tif (SchmancyIcon.fontsLoaded) {\n\t\t\treturn\n\t\t}\n\n\t\tconst link = document.createElement('link')\n\t\tlink.rel = 'stylesheet'\n\t\tlink.href = 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'\n\t\tdocument.head.appendChild(link)\n\n\t\tSchmancyIcon.fontsLoaded = true\n\t}\n\n\t/**\n\t * Fill value for the icon (0-1)\n\t * 0 = outlined, 1 = filled\n\t */\n\t@property({ type: Number, reflect: true })\n\tfill = 0\n\n\t/**\n\t * Weight value for the icon (100-700)\n\t * Controls the thickness of the icon strokes\n\t */\n\t@property({ type: Number, reflect: true })\n\tweight = 400\n\n\t/**\n\t * Grade value for the icon (-50-200)\n\t * Adjusts the visual weight/grade\n\t */\n\t@property({ type: Number, reflect: true })\n\tgrade = 0\n\n\t/**\n\t * Icon variant style\n\t * @values outlined | rounded | sharp\n\t */\n\t@property({ type: String, reflect: true })\n\tvariant: 'outlined' | 'rounded' | 'sharp' = 'outlined'\n\n\t/**\n\t * Size of the icon - M3 aligned tokens or custom string\n\t * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)\n\t * Custom: any CSS size string like '48px', '2rem'\n\t *\n\t * When this icon is a descendant of `<schmancy-button>`, the button's\n\t * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only\n\t * applies when there is no ancestor button.\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: IconSize = 'md'\n\n\t/**\n\t * Size inherited from an ancestor `<schmancy-button>` via context.\n\t * Undefined when the icon is not nested in a button.\n\t */\n\t@consume({ context: SchmancyButtonSizeContext, subscribe: true })\n\t@state()\n\tprivate _buttonSize?: SchmancyButtonSize\n\n\t/**\n\t * Icon name - use this instead of slot content to prevent translation breaking icons.\n\t * When set, this takes precedence over slot content.\n\t * Example: <schmancy-icon icon=\"delete\"></schmancy-icon>\n\t */\n\t@property({ type: String })\n\ticon?: string\n\n\t// M3 aligned token sizes with optimal optical sizes\n\tprivate static readonly tokenSizes: Record<string, { size: string; opsz: number }> = {\n\t\txxs: { size: '12px', opsz: 20 }, // fits in 24px buttons (ultra-compact)\n\t\txs: { size: '16px', opsz: 20 }, // fits in 32px buttons\n\t\tsm: { size: '20px', opsz: 20 }, // fits in 40px buttons\n\t\tmd: { size: '24px', opsz: 24 }, // fits in 48px buttons (default)\n\t\tlg: { size: '32px', opsz: 40 }, // fits in 56px buttons\n\t}\n\n\t/** Extract pixel value from a custom size string for optical size */\n\tprivate static computeOpticalSize(size: string): number {\n\t\tconst px = parseFloat(size)\n\t\treturn isNaN(px) ? 24 : Math.max(20, Math.min(48, Math.round(px)))\n\t}\n\n\t// RxJS subjects for reactive property updates\n\tprivate fill$ = new BehaviorSubject(this.fill)\n\tprivate weight$ = new BehaviorSubject(this.weight)\n\tprivate grade$ = new BehaviorSubject(this.grade)\n\tprivate variant$ = new BehaviorSubject(this.variant)\n\n\t// Captured icon name from slot content (translation-proof)\n\t@state()\n\tprivate _capturedIcon?: string\n\n\t// Observer for text content changes (ternaries update text nodes, not DOM structure)\n\tprivate _observer?: MutationObserver\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\n\t\t// Capture initial icon name\n\t\tthis._updateCapturedIcon()\n\n\t\t// Watch for text content changes (characterData) for dynamic icon updates\n\t\tthis._observer = new MutationObserver(() => this._updateCapturedIcon())\n\t\tthis._observer.observe(this, { childList: true, characterData: true, subtree: true })\n\n\t\t// Load Google Fonts if not already loaded\n\t\tSchmancyIcon.loadFonts()\n\n\t\t// Prevent browser translation from breaking icon ligatures\n\t\t// Using multiple methods for maximum compatibility:\n\t\t// - translate=\"no\" (HTML5 standard)\n\t\t// - class=\"notranslate\" (Google Translate specific)\n\t\tthis.setAttribute('translate', 'no')\n\t\tthis.classList.add('notranslate')\n\n\t\t// Set accessibility attributes for decorative icons\n\t\tif (!this.hasAttribute('aria-label') &&\n\t\t !this.hasAttribute('aria-labelledby') &&\n\t\t !this.hasAttribute('aria-hidden') &&\n\t\t !this.hasAttribute('role')) {\n\t\t\tthis.setAttribute('aria-hidden', 'true')\n\t\t}\n\n\t\t// Setup reactive CSS variable updates\n\t\tcombineLatest([\n\t\t\tthis.fill$,\n\t\t\tthis.weight$,\n\t\t\tthis.grade$,\n\t\t\tthis.variant$\n\t\t]).pipe(\n\t\t\ttap(([fill, weight, grade, variant]) => {\n\t\t\t\t// Update CSS custom properties for smooth transitions\n\t\t\t\tthis.style.setProperty('--schmancy-icon-fill', String(fill))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-weight', String(weight))\n\t\t\t\tthis.style.setProperty('--schmancy-icon-grade', String(grade))\n\n\t\t\t\t// Update font family based on variant\n\t\t\t\tconst fontFamily = {\n\t\t\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t\t\t}[variant] || 'Material Symbols Outlined'\n\n\t\t\t\tthis.style.setProperty('--schmancy-icon-font', fontFamily)\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t}\n\n\t/**\n\t * Update captured icon from current text content\n\t */\n\tprivate _updateCapturedIcon(): void {\n\t\tif (!this.icon) {\n\t\t\tconst textContent = this.textContent?.trim()\n\t\t\tif (textContent && textContent !== this._capturedIcon) {\n\t\t\t\tthis._capturedIcon = textContent\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update BehaviorSubjects when properties change\n\t\tif (changedProperties.has('fill')) {\n\t\t\tthis.fill$.next(this.fill)\n\t\t}\n\t\tif (changedProperties.has('weight')) {\n\t\t\tthis.weight$.next(this.weight)\n\t\t}\n\t\tif (changedProperties.has('grade')) {\n\t\t\tthis.grade$.next(this.grade)\n\t\t}\n\t\tif (changedProperties.has('variant')) {\n\t\t\tthis.variant$.next(this.variant)\n\t\t}\n\t}\n\n\tprotected render(): unknown {\n\t\tconst fontFamily = {\n\t\t\t'outlined': 'Material Symbols Outlined',\n\t\t\t'rounded': 'Material Symbols Rounded',\n\t\t\t'sharp': 'Material Symbols Sharp'\n\t\t}[this.variant] || 'Material Symbols Outlined'\n\n\t\t// Effective size: ancestor `<schmancy-button>` wins via context, else local `size`.\n\t\tconst effectiveSize: IconSize = this._buttonSize ?? this.size\n\t\t// Resolve size: token → px, bare number → px, or pass through as-is\n\t\tconst sizeConfig = SchmancyIcon.tokenSizes[effectiveSize]\n\t\tconst isNumeric = !sizeConfig && /^\\d+(\\.\\d+)?$/.test(effectiveSize)\n\t\tconst iconSize = sizeConfig?.size || (isNumeric ? `${effectiveSize}px` : effectiveSize)\n\t\tconst opticalSize = sizeConfig?.opsz || SchmancyIcon.computeOpticalSize(iconSize)\n\n\t\t// Set size on HOST so :host CSS picks it up\n\t\tthis.style.setProperty('--schmancy-icon-size', iconSize)\n\t\tthis.style.setProperty('--schmancy-icon-opsz', String(opticalSize))\n\n\t\tconst style = {\n\t\t\t'--schmancy-icon-fill': this.fill,\n\t\t\t'--schmancy-icon-weight': this.weight,\n\t\t\t'--schmancy-icon-grade': this.grade,\n\t\t\t'--schmancy-icon-font': fontFamily,\n\t\t}\n\n\t\t// Priority: icon property > captured icon (for dynamic content)\n\t\tconst iconName = this.icon || this._capturedIcon\n\n\t\t// Always render slot (hidden) to observe content changes, display via data-icon\n\t\treturn html`\n\t\t\t<span class=\"material-symbols notranslate\" part=\"icon\" translate=\"no\" data-icon=${iconName || ''} style=${this.styleMap(style)}></span>\n\t\t\t<slot style=\"display:none\"></slot>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-icon': SchmancyIcon\n\t}\n}"],"mappings":"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"}
package/dist/icons.cjs CHANGED
@@ -1 +1 @@
1
- require(`./icons-CNixJ6kL.cjs`);
1
+ require(`./icons-qEQW4pjM.cjs`);
package/dist/icons.js CHANGED
@@ -1 +1 @@
1
- import "./icons-BBJqwT_B.js";
1
+ import "./icons-BbCVrcas.js";
@@ -1,4 +1,4 @@
1
- import { s as e } from "./mixins-CL1krSOE.js";
1
+ import { s as e } from "./mixins-CcIWET41.js";
2
2
  import { t } from "./decorate-23nYs4Le.js";
3
3
  import { customElement as n, property as r, state as i } from "lit/decorators.js";
4
4
  import { css as a, html as o } from "lit";
@@ -1 +1 @@
1
- {"version":3,"file":"iframe-DoN_toqE.js","names":[],"sources":["../src/iframe/iframe.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\n\n/** Sensible document reset for iframe content — font, spacing, word-wrap */\nconst DEFAULT_BASE_CSS = `html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}\nbody{padding:16px}\np{margin:0 0 1em}p:last-child{margin-bottom:0}\nul,ol{margin:0 0 1em;padding-left:1.5em}li{margin-bottom:.25em}\nh1,h2,h3,h4{margin:0 0 .5em;line-height:1.3}h1{font-size:1.5em}h2{font-size:1.25em}h3{font-size:1.1em}h4{font-size:1em}\nhr{border:none;border-top:1px solid #dadce0;margin:1em 0}\nimg{max-width:100%;height:auto}\ntable{border-collapse:collapse;max-width:100%}td,th{padding:4px 8px;border:1px solid #dadce0}\nblockquote{margin:0 0 1em;padding:.5em 0 .5em 1em;border-left:3px solid #dadce0;color:#5f6368}\npre{background:#f5f5f5;padding:.75em;border-radius:4px;overflow-x:auto;font-size:.9em}\ncode{background:#f5f5f5;padding:.1em .3em;border-radius:3px;font-size:.9em}`\n\n/**\n * Renders an HTML fragment inside a sandboxed, auto-sizing iframe.\n *\n * @slot - (none)\n * @fires load — native iframe load event\n *\n * @example\n * ```html\n * <schmancy-iframe .html=${bodyHtml} .css=${extraStyles}></schmancy-iframe>\n * ```\n */\n@customElement('schmancy-iframe')\nexport default class SchmancyIframe extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\tiframe {\n\t\tborder: 0;\n\t\twidth: 100%;\n\t}\n`];\n\t/** HTML body fragment to render inside the iframe */\n\t@property({ type: String }) html = ''\n\n\t/** Additional CSS injected after the base styles (consumer-specific) */\n\t@property({ type: String }) css = ''\n\n\t/** Base document CSS (font, spacing, resets). Override for fully custom styling */\n\t@property({ type: String }) baseCss = DEFAULT_BASE_CSS\n\n\t/** iframe sandbox attribute */\n\t@property({ type: String }) sandbox = 'allow-same-origin allow-popups'\n\n\t/** Minimum height in pixels */\n\t@property({ type: Number }) minHeight = 60\n\n\t@state() private _height = 60\n\tprivate _srcdoc = ''\n\tprivate _iframeRef = createRef<HTMLIFrameElement>()\n\n\tprotected willUpdate(changed: PropertyValues) {\n\t\tif (changed.has('html') || changed.has('css') || changed.has('baseCss')) {\n\t\t\tthis._srcdoc = this.html ? this.buildSrcdoc() : ''\n\t\t\tthis._height = this.minHeight\n\t\t}\n\t}\n\n\tprotected updated(changed: PropertyValues) {\n\t\tif (changed.has('sandbox')) {\n\t\t\tthis._iframeRef.value?.setAttribute('sandbox', this.sandbox)\n\t\t}\n\t}\n\n\tprivate buildSrcdoc(): string {\n\t\tconst styles = this.css ? `${this.baseCss}\\n${this.css}` : this.baseCss\n\t\treturn `<!DOCTYPE html><html><head>\n<meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<base target=\"_blank\">\n<style>${styles}</style></head><body>${this.html}</body></html>`\n\t}\n\n\tprivate onLoad(e: Event) {\n\t\tconst iframe = e.target as HTMLIFrameElement\n\t\ttry {\n\t\t\tconst doc = iframe.contentDocument\n\t\t\tif (!doc) return\n\t\t\tthis._height = Math.max(doc.documentElement.scrollHeight, this.minHeight)\n\t\t} catch {\n\t\t\tthis._height = Math.max(200, this.minHeight)\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tif (!this.html) return html``\n\t\treturn html`<iframe\n\t\t\t${ref(this._iframeRef)}\n\t\t\t.srcdoc=${this._srcdoc}\n\t\t\tstyle=\"height:${this._height}px;min-height:${this.minHeight}px;overflow:hidden\"\n\t\t\t@load=${this.onLoad}\n\t\t></iframe>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-iframe': SchmancyIframe\n\t}\n}\n"],"mappings":";;;;;AAMA,IAwBe,IAAA,cAA6B,EAAA;CAAA,YAAA,GAAA,GAAA;AAAA,QAAA,GAAA,EAAA,EAAA,KAAA,OAWR,IAAA,KAAA,MAGD,IAAA,KAAA,UAtCV,27BAAA,KAAA,UA4Cc,kCAAA,KAAA,YAGE,IAAA,KAAA,UAEb,IAAA,KAAA,UACT,IAAA,KAAA,aACG,GAAA;;CAAA;AAAA,OAAA,SA1BL,CAAC,CAAG;;;;;;;;;;CA4BpB,WAAqB,GAAA;AAAA,GAChB,EAAQ,IAAI,OAAA,IAAW,EAAQ,IAAI,MAAA,IAAU,EAAQ,IAAI,UAAA,MAC5D,KAAK,UAAU,KAAK,OAAO,KAAK,aAAA,GAAgB,IAChD,KAAK,UAAU,KAAK;;CAItB,QAAkB,GAAA;AACb,IAAQ,IAAI,UAAA,IACf,KAAK,WAAW,OAAO,aAAa,WAAW,KAAK,QAAA;;CAItD,cAAA;AAEC,SAAO,0JADQ,KAAK,MAAM,GAAG,KAAK,QAAA,IAAY,KAAK,QAAQ,KAAK,QAAA,uBAI3B,KAAK,KAAA;;CAG3C,OAAe,GAAA;EACd,IAAM,IAAS,EAAE;AACjB,MAAA;GACC,IAAM,IAAM,EAAO;AACnB,OAAA,CAAK,EAAK;AACV,QAAK,UAAU,KAAK,IAAI,EAAI,gBAAgB,cAAc,KAAK,UAAA;UAAA;AAE/D,QAAK,UAAU,KAAK,IAAI,KAAK,KAAK,UAAA;;;CAIpC,SAAA;AACC,SAAK,KAAK,OACH,CAAI;KACR,EAAI,KAAK,WAAA,CAAA;aACD,KAAK,QAAA;mBACC,KAAK,QAAA,gBAAwB,KAAK,UAAA;WAC1C,KAAK,OAAA;gBALS,CAAI;;;AAAA,EAAA,CAnD3B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,aAAA,KAAA,EAAA,EAAA,EAAA,CAE1B,GAAA,CAAA,EAAO,EAAA,WAAA,WAAA,KAAA,EAAA;AAAA,IAAA,IAAA,IAAA,EAAA,CA1BR,EAAc,kBAAA,CAAA,EAAkB,EAAA;AAAA,SAAA,KAAA"}
1
+ {"version":3,"file":"iframe-BJfDIEJf.js","names":[],"sources":["../src/iframe/iframe.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\n\n/** Sensible document reset for iframe content — font, spacing, word-wrap */\nconst DEFAULT_BASE_CSS = `html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}\nbody{padding:16px}\np{margin:0 0 1em}p:last-child{margin-bottom:0}\nul,ol{margin:0 0 1em;padding-left:1.5em}li{margin-bottom:.25em}\nh1,h2,h3,h4{margin:0 0 .5em;line-height:1.3}h1{font-size:1.5em}h2{font-size:1.25em}h3{font-size:1.1em}h4{font-size:1em}\nhr{border:none;border-top:1px solid #dadce0;margin:1em 0}\nimg{max-width:100%;height:auto}\ntable{border-collapse:collapse;max-width:100%}td,th{padding:4px 8px;border:1px solid #dadce0}\nblockquote{margin:0 0 1em;padding:.5em 0 .5em 1em;border-left:3px solid #dadce0;color:#5f6368}\npre{background:#f5f5f5;padding:.75em;border-radius:4px;overflow-x:auto;font-size:.9em}\ncode{background:#f5f5f5;padding:.1em .3em;border-radius:3px;font-size:.9em}`\n\n/**\n * Renders an HTML fragment inside a sandboxed, auto-sizing iframe.\n *\n * @slot - (none)\n * @fires load — native iframe load event\n *\n * @example\n * ```html\n * <schmancy-iframe .html=${bodyHtml} .css=${extraStyles}></schmancy-iframe>\n * ```\n */\n@customElement('schmancy-iframe')\nexport default class SchmancyIframe extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\tiframe {\n\t\tborder: 0;\n\t\twidth: 100%;\n\t}\n`];\n\t/** HTML body fragment to render inside the iframe */\n\t@property({ type: String }) html = ''\n\n\t/** Additional CSS injected after the base styles (consumer-specific) */\n\t@property({ type: String }) css = ''\n\n\t/** Base document CSS (font, spacing, resets). Override for fully custom styling */\n\t@property({ type: String }) baseCss = DEFAULT_BASE_CSS\n\n\t/** iframe sandbox attribute */\n\t@property({ type: String }) sandbox = 'allow-same-origin allow-popups'\n\n\t/** Minimum height in pixels */\n\t@property({ type: Number }) minHeight = 60\n\n\t@state() private _height = 60\n\tprivate _srcdoc = ''\n\tprivate _iframeRef = createRef<HTMLIFrameElement>()\n\n\tprotected willUpdate(changed: PropertyValues) {\n\t\tif (changed.has('html') || changed.has('css') || changed.has('baseCss')) {\n\t\t\tthis._srcdoc = this.html ? this.buildSrcdoc() : ''\n\t\t\tthis._height = this.minHeight\n\t\t}\n\t}\n\n\tprotected updated(changed: PropertyValues) {\n\t\tif (changed.has('sandbox')) {\n\t\t\tthis._iframeRef.value?.setAttribute('sandbox', this.sandbox)\n\t\t}\n\t}\n\n\tprivate buildSrcdoc(): string {\n\t\tconst styles = this.css ? `${this.baseCss}\\n${this.css}` : this.baseCss\n\t\treturn `<!DOCTYPE html><html><head>\n<meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<base target=\"_blank\">\n<style>${styles}</style></head><body>${this.html}</body></html>`\n\t}\n\n\tprivate onLoad(e: Event) {\n\t\tconst iframe = e.target as HTMLIFrameElement\n\t\ttry {\n\t\t\tconst doc = iframe.contentDocument\n\t\t\tif (!doc) return\n\t\t\tthis._height = Math.max(doc.documentElement.scrollHeight, this.minHeight)\n\t\t} catch {\n\t\t\tthis._height = Math.max(200, this.minHeight)\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tif (!this.html) return html``\n\t\treturn html`<iframe\n\t\t\t${ref(this._iframeRef)}\n\t\t\t.srcdoc=${this._srcdoc}\n\t\t\tstyle=\"height:${this._height}px;min-height:${this.minHeight}px;overflow:hidden\"\n\t\t\t@load=${this.onLoad}\n\t\t></iframe>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-iframe': SchmancyIframe\n\t}\n}\n"],"mappings":";;;;;AAMA,IAwBe,IAAA,cAA6B,EAAA;CAAA,YAAA,GAAA,GAAA;AAAA,QAAA,GAAA,EAAA,EAAA,KAAA,OAWR,IAAA,KAAA,MAGD,IAAA,KAAA,UAtCV,27BAAA,KAAA,UA4Cc,kCAAA,KAAA,YAGE,IAAA,KAAA,UAEb,IAAA,KAAA,UACT,IAAA,KAAA,aACG,GAAA;;CAAA;AAAA,OAAA,SA1BL,CAAC,CAAG;;;;;;;;;;CA4BpB,WAAqB,GAAA;AAAA,GAChB,EAAQ,IAAI,OAAA,IAAW,EAAQ,IAAI,MAAA,IAAU,EAAQ,IAAI,UAAA,MAC5D,KAAK,UAAU,KAAK,OAAO,KAAK,aAAA,GAAgB,IAChD,KAAK,UAAU,KAAK;;CAItB,QAAkB,GAAA;AACb,IAAQ,IAAI,UAAA,IACf,KAAK,WAAW,OAAO,aAAa,WAAW,KAAK,QAAA;;CAItD,cAAA;AAEC,SAAO,0JADQ,KAAK,MAAM,GAAG,KAAK,QAAA,IAAY,KAAK,QAAQ,KAAK,QAAA,uBAI3B,KAAK,KAAA;;CAG3C,OAAe,GAAA;EACd,IAAM,IAAS,EAAE;AACjB,MAAA;GACC,IAAM,IAAM,EAAO;AACnB,OAAA,CAAK,EAAK;AACV,QAAK,UAAU,KAAK,IAAI,EAAI,gBAAgB,cAAc,KAAK,UAAA;UAAA;AAE/D,QAAK,UAAU,KAAK,IAAI,KAAK,KAAK,UAAA;;;CAIpC,SAAA;AACC,SAAK,KAAK,OACH,CAAI;KACR,EAAI,KAAK,WAAA,CAAA;aACD,KAAK,QAAA;mBACC,KAAK,QAAA,gBAAwB,KAAK,UAAA;WAC1C,KAAK,OAAA;gBALS,CAAI;;;AAAA,EAAA,CAnD3B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,WAAA,KAAA,EAAA,EAAA,EAAA,CAG1B,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,EAAS,EAAA,WAAA,aAAA,KAAA,EAAA,EAAA,EAAA,CAE1B,GAAA,CAAA,EAAO,EAAA,WAAA,WAAA,KAAA,EAAA;AAAA,IAAA,IAAA,IAAA,EAAA,CA1BR,EAAc,kBAAA,CAAA,EAAkB,EAAA;AAAA,SAAA,KAAA"}
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-BIXF7xkF.cjs`),t=require(`./decorate-DpFmy0nm.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/ref.js`);var a=class extends e.s{constructor(...e){super(...e),this.html=``,this.css=``,this.baseCss=`html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=require(`./decorate-DpFmy0nm.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/ref.js`);var a=class extends e.s{constructor(...e){super(...e),this.html=``,this.css=``,this.baseCss=`html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}
2
2
  body{padding:16px}
3
3
  p{margin:0 0 1em}p:last-child{margin-bottom:0}
4
4
  ul,ol{margin:0 0 1em;padding-left:1.5em}li{margin-bottom:.25em}
@@ -1 +1 @@
1
- {"version":3,"file":"iframe-g-4DjAD7.cjs","names":[],"sources":["../src/iframe/iframe.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\n\n/** Sensible document reset for iframe content — font, spacing, word-wrap */\nconst DEFAULT_BASE_CSS = `html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}\nbody{padding:16px}\np{margin:0 0 1em}p:last-child{margin-bottom:0}\nul,ol{margin:0 0 1em;padding-left:1.5em}li{margin-bottom:.25em}\nh1,h2,h3,h4{margin:0 0 .5em;line-height:1.3}h1{font-size:1.5em}h2{font-size:1.25em}h3{font-size:1.1em}h4{font-size:1em}\nhr{border:none;border-top:1px solid #dadce0;margin:1em 0}\nimg{max-width:100%;height:auto}\ntable{border-collapse:collapse;max-width:100%}td,th{padding:4px 8px;border:1px solid #dadce0}\nblockquote{margin:0 0 1em;padding:.5em 0 .5em 1em;border-left:3px solid #dadce0;color:#5f6368}\npre{background:#f5f5f5;padding:.75em;border-radius:4px;overflow-x:auto;font-size:.9em}\ncode{background:#f5f5f5;padding:.1em .3em;border-radius:3px;font-size:.9em}`\n\n/**\n * Renders an HTML fragment inside a sandboxed, auto-sizing iframe.\n *\n * @slot - (none)\n * @fires load — native iframe load event\n *\n * @example\n * ```html\n * <schmancy-iframe .html=${bodyHtml} .css=${extraStyles}></schmancy-iframe>\n * ```\n */\n@customElement('schmancy-iframe')\nexport default class SchmancyIframe extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\tiframe {\n\t\tborder: 0;\n\t\twidth: 100%;\n\t}\n`];\n\t/** HTML body fragment to render inside the iframe */\n\t@property({ type: String }) html = ''\n\n\t/** Additional CSS injected after the base styles (consumer-specific) */\n\t@property({ type: String }) css = ''\n\n\t/** Base document CSS (font, spacing, resets). Override for fully custom styling */\n\t@property({ type: String }) baseCss = DEFAULT_BASE_CSS\n\n\t/** iframe sandbox attribute */\n\t@property({ type: String }) sandbox = 'allow-same-origin allow-popups'\n\n\t/** Minimum height in pixels */\n\t@property({ type: Number }) minHeight = 60\n\n\t@state() private _height = 60\n\tprivate _srcdoc = ''\n\tprivate _iframeRef = createRef<HTMLIFrameElement>()\n\n\tprotected willUpdate(changed: PropertyValues) {\n\t\tif (changed.has('html') || changed.has('css') || changed.has('baseCss')) {\n\t\t\tthis._srcdoc = this.html ? this.buildSrcdoc() : ''\n\t\t\tthis._height = this.minHeight\n\t\t}\n\t}\n\n\tprotected updated(changed: PropertyValues) {\n\t\tif (changed.has('sandbox')) {\n\t\t\tthis._iframeRef.value?.setAttribute('sandbox', this.sandbox)\n\t\t}\n\t}\n\n\tprivate buildSrcdoc(): string {\n\t\tconst styles = this.css ? `${this.baseCss}\\n${this.css}` : this.baseCss\n\t\treturn `<!DOCTYPE html><html><head>\n<meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<base target=\"_blank\">\n<style>${styles}</style></head><body>${this.html}</body></html>`\n\t}\n\n\tprivate onLoad(e: Event) {\n\t\tconst iframe = e.target as HTMLIFrameElement\n\t\ttry {\n\t\t\tconst doc = iframe.contentDocument\n\t\t\tif (!doc) return\n\t\t\tthis._height = Math.max(doc.documentElement.scrollHeight, this.minHeight)\n\t\t} catch {\n\t\t\tthis._height = Math.max(200, this.minHeight)\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tif (!this.html) return html``\n\t\treturn html`<iframe\n\t\t\t${ref(this._iframeRef)}\n\t\t\t.srcdoc=${this._srcdoc}\n\t\t\tstyle=\"height:${this._height}px;min-height:${this.minHeight}px;overflow:hidden\"\n\t\t\t@load=${this.onLoad}\n\t\t></iframe>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-iframe': SchmancyIframe\n\t}\n}\n"],"mappings":"qMAMA,IAwBe,EAAA,cAA6B,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,KAWR,GAAA,KAAA,IAGD,GAAA,KAAA,QAtCV;;;;;;;;;;6EAAA,KAAA,QA4Cc,iCAAA,KAAA,UAGE,GAAA,KAAA,QAEb,GAAA,KAAA,QACT,GAAA,KAAA,YAAA,EAAA,EAAA,YAAA,CAAA,OAAA,KAAA,OAzBF,CAAC,EAAA,GAAG;;;;;;;;GA4BpB,WAAqB,EAAA,EAChB,EAAQ,IAAI,OAAA,EAAW,EAAQ,IAAI,MAAA,EAAU,EAAQ,IAAI,UAAA,IAC5D,KAAK,QAAU,KAAK,KAAO,KAAK,aAAA,CAAgB,GAChD,KAAK,QAAU,KAAK,WAItB,QAAkB,EAAA,CACb,EAAQ,IAAI,UAAA,EACf,KAAK,WAAW,OAAO,aAAa,UAAW,KAAK,QAAA,CAItD,aAAA,CAEC,MAAO,0JADQ,KAAK,IAAM,GAAG,KAAK,QAAA,IAAY,KAAK,MAAQ,KAAK,QAAA,uBAI3B,KAAK,KAAA,gBAG3C,OAAe,EAAA,CACd,IAAM,EAAS,EAAE,OACjB,GAAA,CACC,IAAM,EAAM,EAAO,gBACnB,GAAA,CAAK,EAAK,OACV,KAAK,QAAU,KAAK,IAAI,EAAI,gBAAgB,aAAc,KAAK,UAAA,MAAA,CAE/D,KAAK,QAAU,KAAK,IAAI,IAAK,KAAK,UAAA,EAIpC,QAAA,CACC,OAAK,KAAK,KACH,EAAA,IAAI;eACJ,KAAK,WAAA,CAAA;aACD,KAAK,QAAA;mBACC,KAAK,QAAA,gBAAwB,KAAK,UAAA;WAC1C,KAAK,OAAA;cALS,EAAA,IAAI,KAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAnDlB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,YAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnB,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eA1BM,kBAAA,CAAA,CAAkB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"iframe-D6HTruav.cjs","names":[],"sources":["../src/iframe/iframe.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\n\n/** Sensible document reset for iframe content — font, spacing, word-wrap */\nconst DEFAULT_BASE_CSS = `html,body{margin:0;padding:0;overflow:hidden;background:#fff;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}\nbody{padding:16px}\np{margin:0 0 1em}p:last-child{margin-bottom:0}\nul,ol{margin:0 0 1em;padding-left:1.5em}li{margin-bottom:.25em}\nh1,h2,h3,h4{margin:0 0 .5em;line-height:1.3}h1{font-size:1.5em}h2{font-size:1.25em}h3{font-size:1.1em}h4{font-size:1em}\nhr{border:none;border-top:1px solid #dadce0;margin:1em 0}\nimg{max-width:100%;height:auto}\ntable{border-collapse:collapse;max-width:100%}td,th{padding:4px 8px;border:1px solid #dadce0}\nblockquote{margin:0 0 1em;padding:.5em 0 .5em 1em;border-left:3px solid #dadce0;color:#5f6368}\npre{background:#f5f5f5;padding:.75em;border-radius:4px;overflow-x:auto;font-size:.9em}\ncode{background:#f5f5f5;padding:.1em .3em;border-radius:3px;font-size:.9em}`\n\n/**\n * Renders an HTML fragment inside a sandboxed, auto-sizing iframe.\n *\n * @slot - (none)\n * @fires load — native iframe load event\n *\n * @example\n * ```html\n * <schmancy-iframe .html=${bodyHtml} .css=${extraStyles}></schmancy-iframe>\n * ```\n */\n@customElement('schmancy-iframe')\nexport default class SchmancyIframe extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\tiframe {\n\t\tborder: 0;\n\t\twidth: 100%;\n\t}\n`];\n\t/** HTML body fragment to render inside the iframe */\n\t@property({ type: String }) html = ''\n\n\t/** Additional CSS injected after the base styles (consumer-specific) */\n\t@property({ type: String }) css = ''\n\n\t/** Base document CSS (font, spacing, resets). Override for fully custom styling */\n\t@property({ type: String }) baseCss = DEFAULT_BASE_CSS\n\n\t/** iframe sandbox attribute */\n\t@property({ type: String }) sandbox = 'allow-same-origin allow-popups'\n\n\t/** Minimum height in pixels */\n\t@property({ type: Number }) minHeight = 60\n\n\t@state() private _height = 60\n\tprivate _srcdoc = ''\n\tprivate _iframeRef = createRef<HTMLIFrameElement>()\n\n\tprotected willUpdate(changed: PropertyValues) {\n\t\tif (changed.has('html') || changed.has('css') || changed.has('baseCss')) {\n\t\t\tthis._srcdoc = this.html ? this.buildSrcdoc() : ''\n\t\t\tthis._height = this.minHeight\n\t\t}\n\t}\n\n\tprotected updated(changed: PropertyValues) {\n\t\tif (changed.has('sandbox')) {\n\t\t\tthis._iframeRef.value?.setAttribute('sandbox', this.sandbox)\n\t\t}\n\t}\n\n\tprivate buildSrcdoc(): string {\n\t\tconst styles = this.css ? `${this.baseCss}\\n${this.css}` : this.baseCss\n\t\treturn `<!DOCTYPE html><html><head>\n<meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<base target=\"_blank\">\n<style>${styles}</style></head><body>${this.html}</body></html>`\n\t}\n\n\tprivate onLoad(e: Event) {\n\t\tconst iframe = e.target as HTMLIFrameElement\n\t\ttry {\n\t\t\tconst doc = iframe.contentDocument\n\t\t\tif (!doc) return\n\t\t\tthis._height = Math.max(doc.documentElement.scrollHeight, this.minHeight)\n\t\t} catch {\n\t\t\tthis._height = Math.max(200, this.minHeight)\n\t\t}\n\t}\n\n\tprotected render() {\n\t\tif (!this.html) return html``\n\t\treturn html`<iframe\n\t\t\t${ref(this._iframeRef)}\n\t\t\t.srcdoc=${this._srcdoc}\n\t\t\tstyle=\"height:${this._height}px;min-height:${this.minHeight}px;overflow:hidden\"\n\t\t\t@load=${this.onLoad}\n\t\t></iframe>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-iframe': SchmancyIframe\n\t}\n}\n"],"mappings":"qMAMA,IAwBe,EAAA,cAA6B,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,KAWR,GAAA,KAAA,IAGD,GAAA,KAAA,QAtCV;;;;;;;;;;6EAAA,KAAA,QA4Cc,iCAAA,KAAA,UAGE,GAAA,KAAA,QAEb,GAAA,KAAA,QACT,GAAA,KAAA,YAAA,EAAA,EAAA,YAAA,CAAA,OAAA,KAAA,OAzBF,CAAC,EAAA,GAAG;;;;;;;;GA4BpB,WAAqB,EAAA,EAChB,EAAQ,IAAI,OAAA,EAAW,EAAQ,IAAI,MAAA,EAAU,EAAQ,IAAI,UAAA,IAC5D,KAAK,QAAU,KAAK,KAAO,KAAK,aAAA,CAAgB,GAChD,KAAK,QAAU,KAAK,WAItB,QAAkB,EAAA,CACb,EAAQ,IAAI,UAAA,EACf,KAAK,WAAW,OAAO,aAAa,UAAW,KAAK,QAAA,CAItD,aAAA,CAEC,MAAO,0JADQ,KAAK,IAAM,GAAG,KAAK,QAAA,IAAY,KAAK,MAAQ,KAAK,QAAA,uBAI3B,KAAK,KAAA,gBAG3C,OAAe,EAAA,CACd,IAAM,EAAS,EAAE,OACjB,GAAA,CACC,IAAM,EAAM,EAAO,gBACnB,GAAA,CAAK,EAAK,OACV,KAAK,QAAU,KAAK,IAAI,EAAI,gBAAgB,aAAc,KAAK,UAAA,MAAA,CAE/D,KAAK,QAAU,KAAK,IAAI,IAAK,KAAK,UAAA,EAIpC,QAAA,CACC,OAAK,KAAK,KACH,EAAA,IAAI;eACJ,KAAK,WAAA,CAAA;aACD,KAAK,QAAA;mBACC,KAAK,QAAA,gBAAwB,KAAK,UAAA;WAC1C,KAAK,OAAA;cALS,EAAA,IAAI,KAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAnDlB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,MAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAGjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,YAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnB,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eA1BM,kBAAA,CAAA,CAAkB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
package/dist/iframe.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./iframe-g-4DjAD7.cjs`);exports.SchmancyIframe=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./iframe-D6HTruav.cjs`);exports.SchmancyIframe=e.t;
package/dist/iframe.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./iframe-DoN_toqE.js";
1
+ import { t as e } from "./iframe-BJfDIEJf.js";
2
2
  export { e as SchmancyIframe };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const ee=require(`./mixins-BIXF7xkF.cjs`),te=require(`./active-host-0of-L858.cjs`),e=require(`./area-ISC8Mdkh.cjs`),ne=require(`./lazy-Dq9mRRjT.cjs`),t=require(`./state-BAW3C11I.cjs`),n=require(`./sound.service-CvdB2yUJ.cjs`),r=require(`./audio-DZN8HsSS.cjs`),i=require(`./search-BLCRsxIC.cjs`),a=require(`./input-chip-DMXRT7bK.cjs`),o=require(`./animation-CO_Csq84.cjs`),re=require(`./reduced-motion-Ds-HjMzn.cjs`),s=require(`./cursor-glow-Bulq-38P.cjs`),c=require(`./theme.events-DM4H5F2d.cjs`),l=require(`./theme.service-CP71ojp6.cjs`),u=require(`./layout-VmxXuGGp.cjs`),ie=require(`./magnetic-BH0TsofV.cjs`),d=require(`./directives.cjs`),f=require(`./src-DzFcGdcn.cjs`),p=require(`./boat-CpXe-Qto.cjs`),m=require(`./button.cjs`),h=require(`./charts.cjs`),g=require(`./checkbox-DvTZXN1Y.cjs`),_=require(`./chips-Bw7FNDpX.cjs`),v=require(`./code-highlight-CJzuds4c.cjs`),ae=require(`./connectivity.cjs`),y=require(`./date-range-BsPW60vp.cjs`),oe=require(`./overlay-stack-BprhAE9a.cjs`),b=require(`./dialog-service-DJd5L0f5.cjs`),x=require(`./sheet.service-C1J0-i4d.cjs`),S=require(`./date-range-inline-BsjNNGFR.cjs`),C=require(`./delay.cjs`),w=require(`./details-BtUNqzn8.cjs`),T=require(`./dialog.cjs`),E=require(`./discovery.cjs`),D=require(`./dropdown.cjs`),O=require(`./surface-DW78bc8W.cjs`),k=require(`./expand-05azMpho.cjs`),A=require(`./window-DTgKAQgz.cjs`),se=require(`./float-DRET9mVZ.cjs`),j=require(`./extra-CyERULfm.cjs`),ce=require(`./form-CSJp687X.cjs`),M=require(`./iframe-g-4DjAD7.cjs`),N=require(`./input-CwFslLcF.cjs`),P=require(`./notification-CigTy3ia.cjs`),F=require(`./json.cjs`),I=require(`./scroll-yfNU0zNO.cjs`),L=require(`./lightbox-m5FLmYlv.cjs`),R=require(`./list-C-b9p1yi.cjs`),z=require(`./mailbox-B0hZLpF1.cjs`),B=require(`./map-CZ0816EI.cjs`),V=require(`./navigation-rail.cjs`),H=require(`./page.cjs`),U=require(`./payment-card-form-CQ6sLlrh.cjs`),W=require(`./qr-scanner.cjs`),G=require(`./radio-group-DK-T6jGy.cjs`),le=require(`./range.cjs`),ue=require(`./rxjs-utils-Csnks202.cjs`),de=require(`./theme.interface-D9l33b-M.cjs`),fe=require(`./select-BR3r3SZe.cjs`),K=require(`./slider.cjs`),q=require(`./steps.cjs`),J=require(`./table.cjs`),Y=require(`./theme-Z43TLE61.cjs`),pe=require(`./timeline.cjs`),me=require(`./tooltip.cjs`),he=require(`./tree.cjs`),ge=require(`./types.cjs`),X=require(`./typewriter.cjs`),_e=require(`./typography.cjs`),Z=require(`./utils-Cr-YO4Np.cjs`),ve=require(`./avatar.cjs`),Q=require(`./breadcrumb.cjs`),ye=require(`./kbd.cjs`),be=require(`./skeleton.cjs`),xe=require(`./switch.cjs`),Se=require(`./visually-hidden.cjs`);let $=require(`@lit-labs/signals`);exports.$dialog=b.t,exports.$drawer=f.p,exports.$notify=P.r,exports.$sounds=r.t,exports.ANIMATION_CSS_VARS=o.t,exports.BLACKBIRD_EASING=o.n,Object.defineProperty(exports,`ConfirmDialog`,{enumerable:!0,get:function(){return T.ConfirmDialog}}),Object.defineProperty(exports,`SchmancyDialog`,{enumerable:!0,get:function(){return T.ConfirmDialog}}),exports.DISCOVER_EVENT=E.DISCOVER_EVENT,exports.DISCOVER_RESPONSE_EVENT=E.DISCOVER_RESPONSE_EVENT,exports.DURATION_BACKDROP=o.r,exports.DURATION_ENTER=o.i,exports.DURATION_EXIT=o.a,exports.DialogBase=T.DialogBase,exports.DialogService=b.n,exports.DragDirective=d.DragDirective,exports.DropDirective=d.DropDirective,exports.EASE_IN=o.o,exports.EASE_OUT=o.s,exports.EmotionalSoundGenerator=r.n,exports.FINDING_MORTIES=e.b,exports.GRID_ANIMATION_CSS=o.c,exports.HERE_RICKY=e.x,exports.HISTORY_STRATEGY=e.v,exports.HereMorty=f.n,Object.defineProperty(exports,`List`,{enumerable:!0,get:function(){return R.t}}),exports.Numbers=Z.t,Object.defineProperty(exports,`RadioButton`,{enumerable:!0,get:function(){return G.t}}),Object.defineProperty(exports,`RadioGroup`,{enumerable:!0,get:function(){return G.n}}),exports.SCHMANCY_EXPAND_REQUEST_CLOSE=k.t,exports.SPRING_BOUNCY=o.l,exports.SPRING_GENTLE=o.u,exports.SPRING_SMOOTH=o.d,exports.SPRING_SNAPPY=o.f,Object.defineProperty(exports,`ScBadgeV2`,{enumerable:!0,get:function(){return f.w}}),Object.defineProperty(exports,`SchmancyArea`,{enumerable:!0,get:function(){return e._}}),Object.defineProperty(exports,`SchmancyAreaChart`,{enumerable:!0,get:function(){return h.SchmancyAreaChart}}),Object.defineProperty(exports,`SchmancyAssistChip`,{enumerable:!0,get:function(){return _.r}}),Object.defineProperty(exports,`SchmancyAvatar`,{enumerable:!0,get:function(){return ve.SchmancyAvatar}}),Object.defineProperty(exports,`SchmancyBadgeV2`,{enumerable:!0,get:function(){return f.T}}),exports.SchmancyBoat=p.t,Object.defineProperty(exports,`SchmancyBreadcrumb`,{enumerable:!0,get:function(){return Q.SchmancyBreadcrumb}}),Object.defineProperty(exports,`SchmancyBreadcrumbItem`,{enumerable:!0,get:function(){return Q.SchmancyBreadcrumbItem}}),Object.defineProperty(exports,`SchmancyButton`,{enumerable:!0,get:function(){return m.SchmancyButton}}),Object.defineProperty(exports,`SchmancyCheckbox`,{enumerable:!0,get:function(){return g.t}}),exports.SchmancyChip=_.n,exports.SchmancyFilterChip=_.n,Object.defineProperty(exports,`SchmancyCode`,{enumerable:!0,get:function(){return v.n}}),Object.defineProperty(exports,`SchmancyCodeHighlight`,{enumerable:!0,get:function(){return v.n}}),Object.defineProperty(exports,`SchmancyCodePreview`,{enumerable:!0,get:function(){return v.t}}),Object.defineProperty(exports,`SchmancyConnectivityStatus`,{enumerable:!0,get:function(){return ae.SchmancyConnectivityStatus}}),Object.defineProperty(exports,`SchmancyContentDrawer`,{enumerable:!0,get:function(){return f._}}),exports.SchmancyContentDrawerID=f.v,Object.defineProperty(exports,`SchmancyContentDrawerMain`,{enumerable:!0,get:function(){return f.g}}),exports.SchmancyContentDrawerMaxHeight=f.y,exports.SchmancyContentDrawerMinWidth=f.b,Object.defineProperty(exports,`SchmancyContentDrawerSheet`,{enumerable:!0,get:function(){return f.h}}),exports.SchmancyContentDrawerSheetMode=f.x,exports.SchmancyContentDrawerSheetState=f.S,exports.SchmancyContext=t.o,Object.defineProperty(exports,`SchmancyCountriesSelect`,{enumerable:!0,get:function(){return j.n}}),Object.defineProperty(exports,`SchmancyDataTable`,{enumerable:!0,get:function(){return J.SchmancyDataTable}}),Object.defineProperty(exports,`SchmancyDateRange`,{enumerable:!0,get:function(){return y.t}}),exports.SchmancyDateRangeInline=S.t,Object.defineProperty(exports,`SchmancyDelay`,{enumerable:!0,get:function(){return C.SchmancyDelay}}),exports.SchmancyDetails=w.t,Object.defineProperty(exports,`SchmancyDrawerAppbar`,{enumerable:!0,get:function(){return f.f}}),exports.SchmancyDrawerNavbarMode=f.l,exports.SchmancyDrawerNavbarState=f.u,Object.defineProperty(exports,`SchmancyDropdown`,{enumerable:!0,get:function(){return D.SchmancyDropdown}}),Object.defineProperty(exports,`SchmancyDropdownContent`,{enumerable:!0,get:function(){return D.SchmancyDropdownContent}}),Object.defineProperty(exports,`SchmancyEmailEditor`,{enumerable:!0,get:function(){return z.r}}),Object.defineProperty(exports,`SchmancyEmailLayoutSelector`,{enumerable:!0,get:function(){return z.i}}),Object.defineProperty(exports,`SchmancyEmailRecipients`,{enumerable:!0,get:function(){return z.t}}),Object.defineProperty(exports,`SchmancyEmailViewer`,{enumerable:!0,get:function(){return z.n}}),exports.SchmancyEvents=ge.SchmancyEvents,Object.defineProperty(exports,`SchmancyExpandRoot`,{enumerable:!0,get:function(){return k.n}}),exports.SchmancyFloat=se.t,exports.SchmancyForm=ce.t,exports.SchmancyGenerateMoodAudioEvent=Y.n,exports.SchmancyIframe=M.t,exports.SchmancyInput=N.n,Object.defineProperty(exports,`SchmancyInputChip`,{enumerable:!0,get:function(){return a.t}}),Object.defineProperty(exports,`SchmancyInputCompat`,{enumerable:!0,get:function(){return N.t}}),Object.defineProperty(exports,`SchmancyJson`,{enumerable:!0,get:function(){return F.SchmancyJson}}),Object.defineProperty(exports,`SchmancyKbd`,{enumerable:!0,get:function(){return ye.SchmancyKbd}}),Object.defineProperty(exports,`SchmancyLightbox`,{enumerable:!0,get:function(){return L.i}}),Object.defineProperty(exports,`SchmancyListItem`,{enumerable:!0,get:function(){return R.n}}),exports.SchmancyListTypeContext=R.r,Object.defineProperty(exports,`SchmancyMailbox`,{enumerable:!0,get:function(){return z.a}}),exports.SchmancyMap=B.t,Object.defineProperty(exports,`SchmancyNavigationBar`,{enumerable:!0,get:function(){return f.a}}),Object.defineProperty(exports,`SchmancyNavigationBarItem`,{enumerable:!0,get:function(){return f.o}}),Object.defineProperty(exports,`SchmancyNavigationDrawer`,{enumerable:!0,get:function(){return f.c}}),Object.defineProperty(exports,`SchmancyNavigationDrawerContent`,{enumerable:!0,get:function(){return f.d}}),Object.defineProperty(exports,`SchmancyNavigationDrawerSidebar`,{enumerable:!0,get:function(){return f.s}}),Object.defineProperty(exports,`SchmancyNavigationRail`,{enumerable:!0,get:function(){return V.SchmancyNavigationRail}}),Object.defineProperty(exports,`SchmancyNavigationRailItem`,{enumerable:!0,get:function(){return V.SchmancyNavigationRailItem}}),exports.SchmancyNotification=P.i,Object.defineProperty(exports,`SchmancyPage`,{enumerable:!0,get:function(){return H.SchmancyPage}}),Object.defineProperty(exports,`SchmancyPaymentCardForm`,{enumerable:!0,get:function(){return U.t}}),Object.defineProperty(exports,`SchmancyPills`,{enumerable:!0,get:function(){return h.SchmancyPills}}),Object.defineProperty(exports,`SchmancyQRScanner`,{enumerable:!0,get:function(){return W.SchmancyQRScanner}}),Object.defineProperty(exports,`SchmancyRange`,{enumerable:!0,get:function(){return le.SchmancyRange}}),Object.defineProperty(exports,`SchmancyRoute`,{enumerable:!0,get:function(){return e.y}}),Object.defineProperty(exports,`SchmancyScroll`,{enumerable:!0,get:function(){return I.t}}),Object.defineProperty(exports,`SchmancySelect`,{enumerable:!0,get:function(){return fe.t}}),exports.SchmancySheetPosition=x.t,Object.defineProperty(exports,`SchmancySkeleton`,{enumerable:!0,get:function(){return be.SchmancySkeleton}}),Object.defineProperty(exports,`SchmancySlide`,{enumerable:!0,get:function(){return K.SchmancySlide}}),Object.defineProperty(exports,`SchmancySlider`,{enumerable:!0,get:function(){return K.SchmancySlider}}),Object.defineProperty(exports,`SchmancyStep`,{enumerable:!0,get:function(){return q.SchmancyStep}}),Object.defineProperty(exports,`SchmancyStepsContainer`,{enumerable:!0,get:function(){return q.SchmancyStepsContainer}}),Object.defineProperty(exports,`SchmancySuggestionChip`,{enumerable:!0,get:function(){return _.t}}),Object.defineProperty(exports,`SchmancySurface`,{enumerable:!0,get:function(){return O.t}}),exports.SchmancySurfaceTypeContext=O.n,Object.defineProperty(exports,`SchmancySwitch`,{enumerable:!0,get:function(){return xe.SchmancySwitch}}),Object.defineProperty(exports,`SchmancyTableRow`,{enumerable:!0,get:function(){return J.SchmancyTableRow}}),Object.defineProperty(exports,`SchmancyTeleportation`,{enumerable:!0,get:function(){return f.t}}),exports.SchmancyTheme=de.t,Object.defineProperty(exports,`SchmancyThemeAudioPlayer`,{enumerable:!0,get:function(){return Y.r}}),Object.defineProperty(exports,`SchmancyThemeComponent`,{enumerable:!0,get:function(){return Y.a}}),Object.defineProperty(exports,`SchmancyThemeController`,{enumerable:!0,get:function(){return Y.i}}),Object.defineProperty(exports,`SchmancyThemeControllerBoat`,{enumerable:!0,get:function(){return Y.t}}),Object.defineProperty(exports,`SchmancyTimelineTile`,{enumerable:!0,get:function(){return pe.SchmancyTimelineTile}}),Object.defineProperty(exports,`SchmancyTimezonesSelect`,{enumerable:!0,get:function(){return j.t}}),Object.defineProperty(exports,`SchmancyTree`,{enumerable:!0,get:function(){return he.SchmancyTree}}),Object.defineProperty(exports,`SchmancyTypography`,{enumerable:!0,get:function(){return _e.SchmancyTypography}}),Object.defineProperty(exports,`SchmancyVisuallyHidden`,{enumerable:!0,get:function(){return Se.SchmancyVisuallyHidden}}),exports.SchmancyWindow=A.t,Object.defineProperty(exports,`SchmnacyIconButton`,{enumerable:!0,get:function(){return m.SchmnacyIconButton}}),Object.defineProperty(exports,`Signal`,{enumerable:!0,get:function(){return $.Signal}}),exports.StepsController=q.StepsController,exports.ThemeHereIAm=c.t,exports.ThemeWhereAreYou=c.n,exports.WhereAreYouRicky=f.r,exports._activeHost=te.t,exports.animateText=d.animateText,exports.area=e.S,exports.bindState=t.t,exports.buildQueryString=e.t,exports.catmullRomSpline=h.catmullRomSpline,exports.color=d.color,exports.compareActiveRoutes=e.n,exports.compareCustomElementConstructors=e.r,exports.compareRouteActions=e.i,Object.defineProperty(exports,`computed`,{enumerable:!0,get:function(){return $.computed}}),exports.confirmClick=d.confirmClick,exports.createAnimation=o.p,exports.createDarkTonalPaletteFromBaseColor=Y.s,exports.createDismissAnimation=o.m,exports.createLightTonalPaletteFromBaseColor=Y.c,exports.createRevealAnimation=o.h,exports.createRouteCacheKey=e.a,exports.createScaleAnimation=o.g,exports.cursorGlow=s.t,exports.cycleText=d.cycleText,exports.debounce=e.o,exports.decodeData=e.h,exports.decodeRouteState=e.s,exports.deepMerge=e.c,exports.delayContext=C.delayContext,exports.depthOfField=d.depthOfField,exports.discover=E.discover,exports.discoverAllElements=E.discoverAllElements,exports.discoverAnyComponent=E.discoverAnyComponent,exports.discoverComponent=E.discoverComponent,exports.discoverElement=E.discoverElement,exports.drag=d.drag,exports.drop=d.drop,exports.easeOutCubic=h.easeOutCubic,exports.effect=t.n,exports.encodeData=e.g,exports.encodeRouteState=e.l,exports.extractQueryParams=e.u,exports.flip=L.r,exports.formatTheme=Y.l,exports.fromResizeObserver=u.t,exports.fullHeight=u.n,exports.fullWidth=u.r,exports.getEasing=o._,exports.getTagName=e.d,exports.gravity=d.gravity,exports.hexToRgba=h.hexToRgba,exports.intersect=d.intersect,exports.intersection$=Z.n,exports.isObject=e.f,exports.lazy=ne.t,exports.lightbox=L.t,exports.lightboxDirective=L.n,exports.liquid=d.liquid,exports.livingBorder=d.livingBorder,exports.longPress=d.longPress,exports.magnetic=ie.t,exports.mutationObserver=ue.t,exports.nebula=d.nebula,exports.normalizeTagName=e.p,exports.notify=P.t,exports.notifyProgress=P.n,exports.observe=t.r,exports.overlayStack=oe.t,exports.prefersReducedMotion=o.v,exports.reducedMotion$=re.t,exports.reveal=d.reveal,exports.ripple=d.ripple,exports.routerHistory=e.C,exports.sanitizeRouteState=e.m,exports.schmancyContentDrawer=f.C,exports.schmancyNavDrawer=f.m,exports.schmancySound=n.t,exports.schmancyTheme=l.t,exports.sheet=x.n,exports.similarity=i.t,exports.sound=n.n,exports.state=t.i,exports.stateFromObservable=t.a,exports.stepsContext=q.stepsContext,exports.tailwindAnimations=o.y,exports.tailwindStyles=Y.o,exports.teleport=f.i,exports.theme=l.n,exports.themeContext=ee.d,exports.tooltip=me.tooltip,exports.typewriter=X.typewriter,exports.validateInitialDateRange=y.n,exports.windowManager=A.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const ee=require(`./mixins-De3xfjrm.cjs`),te=require(`./active-host-CcIa2tmW.cjs`),e=require(`./area-ZupIezvU.cjs`),ne=require(`./lazy-Dq9mRRjT.cjs`),t=require(`./state-DNdCPITt.cjs`),n=require(`./sound.service-BGs6m0Cm.cjs`),r=require(`./audio-CluX8Qpq.cjs`),i=require(`./search-BLCRsxIC.cjs`),a=require(`./input-chip-CADXt0X5.cjs`),o=require(`./animation-CO_Csq84.cjs`),re=require(`./reduced-motion-Ds-HjMzn.cjs`),s=require(`./cursor-glow-Bulq-38P.cjs`),c=require(`./theme.events-DM4H5F2d.cjs`),l=require(`./theme.service-BrUbGoeQ.cjs`),u=require(`./layout-Dmh6fxh0.cjs`),ie=require(`./magnetic-BH0TsofV.cjs`),d=require(`./directives.cjs`),f=require(`./src-CpRNClhg.cjs`),p=require(`./boat-IyEtsNI4.cjs`),m=require(`./button.cjs`),h=require(`./charts.cjs`),g=require(`./checkbox-CGdFXuWQ.cjs`),_=require(`./chips-UoFbwmlG.cjs`),v=require(`./code-highlight-CMilN0B8.cjs`),ae=require(`./connectivity.cjs`),y=require(`./date-range-BIyrzTRZ.cjs`),oe=require(`./overlay-stack-BprhAE9a.cjs`),b=require(`./dialog-service-DJd5L0f5.cjs`),x=require(`./sheet.service-B25bsrYG.cjs`),S=require(`./date-range-inline-4P7zqeVe.cjs`),C=require(`./delay.cjs`),w=require(`./details-BJBbZOO6.cjs`),T=require(`./dialog.cjs`),E=require(`./discovery.cjs`),D=require(`./dropdown.cjs`),O=require(`./surface-Du2Y4vXd.cjs`),k=require(`./expand-CTqBWVXo.cjs`),A=require(`./window-DtUOWiAj.cjs`),se=require(`./float-CwVBs11k.cjs`),j=require(`./extra-h_cuxRII.cjs`),ce=require(`./form-CSJp687X.cjs`),M=require(`./iframe-D6HTruav.cjs`),N=require(`./input-U26axtcs.cjs`),P=require(`./notification-D_PQjBSf.cjs`),F=require(`./json.cjs`),I=require(`./scroll-DJTjNIT_.cjs`),L=require(`./lightbox-DbYUSfVl.cjs`),R=require(`./list-CLX4sSAw.cjs`),z=require(`./mailbox-Ct6iYe-4.cjs`),B=require(`./map-WXeVkx2K.cjs`),V=require(`./navigation-rail.cjs`),H=require(`./page.cjs`),U=require(`./payment-card-form-DNvmZxs4.cjs`),W=require(`./qr-scanner.cjs`),G=require(`./radio-group-D7mm-yvJ.cjs`),le=require(`./range.cjs`),ue=require(`./rxjs-utils-Csnks202.cjs`),de=require(`./theme.interface-D9l33b-M.cjs`),fe=require(`./select-BvA7v-gL.cjs`),K=require(`./slider.cjs`),q=require(`./steps.cjs`),J=require(`./table.cjs`),Y=require(`./theme-Hjz9sCN-.cjs`),pe=require(`./timeline.cjs`),me=require(`./tooltip.cjs`),he=require(`./tree.cjs`),ge=require(`./types.cjs`),X=require(`./typewriter.cjs`),_e=require(`./typography.cjs`),Z=require(`./utils-Cr-YO4Np.cjs`),ve=require(`./avatar.cjs`),Q=require(`./breadcrumb.cjs`),ye=require(`./kbd.cjs`),be=require(`./skeleton.cjs`),xe=require(`./switch.cjs`),Se=require(`./visually-hidden.cjs`);let $=require(`@lit-labs/signals`);exports.$dialog=b.t,exports.$drawer=f.p,exports.$notify=P.r,exports.$sounds=r.t,exports.ANIMATION_CSS_VARS=o.t,exports.BLACKBIRD_EASING=o.n,Object.defineProperty(exports,`ConfirmDialog`,{enumerable:!0,get:function(){return T.ConfirmDialog}}),Object.defineProperty(exports,`SchmancyDialog`,{enumerable:!0,get:function(){return T.ConfirmDialog}}),exports.DISCOVER_EVENT=E.DISCOVER_EVENT,exports.DISCOVER_RESPONSE_EVENT=E.DISCOVER_RESPONSE_EVENT,exports.DURATION_BACKDROP=o.r,exports.DURATION_ENTER=o.i,exports.DURATION_EXIT=o.a,exports.DialogBase=T.DialogBase,exports.DialogService=b.n,exports.DragDirective=d.DragDirective,exports.DropDirective=d.DropDirective,exports.EASE_IN=o.o,exports.EASE_OUT=o.s,exports.EmotionalSoundGenerator=r.n,exports.FINDING_MORTIES=e.b,exports.GRID_ANIMATION_CSS=o.c,exports.HERE_RICKY=e.x,exports.HISTORY_STRATEGY=e.v,exports.HereMorty=f.n,Object.defineProperty(exports,`List`,{enumerable:!0,get:function(){return R.t}}),exports.Numbers=Z.t,Object.defineProperty(exports,`RadioButton`,{enumerable:!0,get:function(){return G.t}}),Object.defineProperty(exports,`RadioGroup`,{enumerable:!0,get:function(){return G.n}}),exports.SCHMANCY_EXPAND_REQUEST_CLOSE=k.t,exports.SPRING_BOUNCY=o.l,exports.SPRING_GENTLE=o.u,exports.SPRING_SMOOTH=o.d,exports.SPRING_SNAPPY=o.f,Object.defineProperty(exports,`ScBadgeV2`,{enumerable:!0,get:function(){return f.w}}),Object.defineProperty(exports,`SchmancyArea`,{enumerable:!0,get:function(){return e._}}),Object.defineProperty(exports,`SchmancyAreaChart`,{enumerable:!0,get:function(){return h.SchmancyAreaChart}}),Object.defineProperty(exports,`SchmancyAssistChip`,{enumerable:!0,get:function(){return _.r}}),Object.defineProperty(exports,`SchmancyAvatar`,{enumerable:!0,get:function(){return ve.SchmancyAvatar}}),Object.defineProperty(exports,`SchmancyBadgeV2`,{enumerable:!0,get:function(){return f.T}}),exports.SchmancyBoat=p.t,Object.defineProperty(exports,`SchmancyBreadcrumb`,{enumerable:!0,get:function(){return Q.SchmancyBreadcrumb}}),Object.defineProperty(exports,`SchmancyBreadcrumbItem`,{enumerable:!0,get:function(){return Q.SchmancyBreadcrumbItem}}),Object.defineProperty(exports,`SchmancyButton`,{enumerable:!0,get:function(){return m.SchmancyButton}}),Object.defineProperty(exports,`SchmancyCheckbox`,{enumerable:!0,get:function(){return g.t}}),exports.SchmancyChip=_.n,exports.SchmancyFilterChip=_.n,Object.defineProperty(exports,`SchmancyCode`,{enumerable:!0,get:function(){return v.n}}),Object.defineProperty(exports,`SchmancyCodeHighlight`,{enumerable:!0,get:function(){return v.n}}),Object.defineProperty(exports,`SchmancyCodePreview`,{enumerable:!0,get:function(){return v.t}}),Object.defineProperty(exports,`SchmancyConnectivityStatus`,{enumerable:!0,get:function(){return ae.SchmancyConnectivityStatus}}),Object.defineProperty(exports,`SchmancyContentDrawer`,{enumerable:!0,get:function(){return f._}}),exports.SchmancyContentDrawerID=f.v,Object.defineProperty(exports,`SchmancyContentDrawerMain`,{enumerable:!0,get:function(){return f.g}}),exports.SchmancyContentDrawerMaxHeight=f.y,exports.SchmancyContentDrawerMinWidth=f.b,Object.defineProperty(exports,`SchmancyContentDrawerSheet`,{enumerable:!0,get:function(){return f.h}}),exports.SchmancyContentDrawerSheetMode=f.x,exports.SchmancyContentDrawerSheetState=f.S,exports.SchmancyContext=t.o,Object.defineProperty(exports,`SchmancyCountriesSelect`,{enumerable:!0,get:function(){return j.n}}),Object.defineProperty(exports,`SchmancyDataTable`,{enumerable:!0,get:function(){return J.SchmancyDataTable}}),Object.defineProperty(exports,`SchmancyDateRange`,{enumerable:!0,get:function(){return y.t}}),exports.SchmancyDateRangeInline=S.t,Object.defineProperty(exports,`SchmancyDelay`,{enumerable:!0,get:function(){return C.SchmancyDelay}}),exports.SchmancyDetails=w.t,Object.defineProperty(exports,`SchmancyDrawerAppbar`,{enumerable:!0,get:function(){return f.f}}),exports.SchmancyDrawerNavbarMode=f.l,exports.SchmancyDrawerNavbarState=f.u,Object.defineProperty(exports,`SchmancyDropdown`,{enumerable:!0,get:function(){return D.SchmancyDropdown}}),Object.defineProperty(exports,`SchmancyDropdownContent`,{enumerable:!0,get:function(){return D.SchmancyDropdownContent}}),Object.defineProperty(exports,`SchmancyEmailEditor`,{enumerable:!0,get:function(){return z.r}}),Object.defineProperty(exports,`SchmancyEmailLayoutSelector`,{enumerable:!0,get:function(){return z.i}}),Object.defineProperty(exports,`SchmancyEmailRecipients`,{enumerable:!0,get:function(){return z.t}}),Object.defineProperty(exports,`SchmancyEmailViewer`,{enumerable:!0,get:function(){return z.n}}),exports.SchmancyEvents=ge.SchmancyEvents,Object.defineProperty(exports,`SchmancyExpandRoot`,{enumerable:!0,get:function(){return k.n}}),exports.SchmancyFloat=se.t,exports.SchmancyForm=ce.t,exports.SchmancyGenerateMoodAudioEvent=Y.n,exports.SchmancyIframe=M.t,exports.SchmancyInput=N.n,Object.defineProperty(exports,`SchmancyInputChip`,{enumerable:!0,get:function(){return a.t}}),Object.defineProperty(exports,`SchmancyInputCompat`,{enumerable:!0,get:function(){return N.t}}),Object.defineProperty(exports,`SchmancyJson`,{enumerable:!0,get:function(){return F.SchmancyJson}}),Object.defineProperty(exports,`SchmancyKbd`,{enumerable:!0,get:function(){return ye.SchmancyKbd}}),Object.defineProperty(exports,`SchmancyLightbox`,{enumerable:!0,get:function(){return L.i}}),Object.defineProperty(exports,`SchmancyListItem`,{enumerable:!0,get:function(){return R.n}}),exports.SchmancyListTypeContext=R.r,Object.defineProperty(exports,`SchmancyMailbox`,{enumerable:!0,get:function(){return z.a}}),exports.SchmancyMap=B.t,Object.defineProperty(exports,`SchmancyNavigationBar`,{enumerable:!0,get:function(){return f.a}}),Object.defineProperty(exports,`SchmancyNavigationBarItem`,{enumerable:!0,get:function(){return f.o}}),Object.defineProperty(exports,`SchmancyNavigationDrawer`,{enumerable:!0,get:function(){return f.c}}),Object.defineProperty(exports,`SchmancyNavigationDrawerContent`,{enumerable:!0,get:function(){return f.d}}),Object.defineProperty(exports,`SchmancyNavigationDrawerSidebar`,{enumerable:!0,get:function(){return f.s}}),Object.defineProperty(exports,`SchmancyNavigationRail`,{enumerable:!0,get:function(){return V.SchmancyNavigationRail}}),Object.defineProperty(exports,`SchmancyNavigationRailItem`,{enumerable:!0,get:function(){return V.SchmancyNavigationRailItem}}),exports.SchmancyNotification=P.i,Object.defineProperty(exports,`SchmancyPage`,{enumerable:!0,get:function(){return H.SchmancyPage}}),Object.defineProperty(exports,`SchmancyPaymentCardForm`,{enumerable:!0,get:function(){return U.t}}),Object.defineProperty(exports,`SchmancyPills`,{enumerable:!0,get:function(){return h.SchmancyPills}}),Object.defineProperty(exports,`SchmancyQRScanner`,{enumerable:!0,get:function(){return W.SchmancyQRScanner}}),Object.defineProperty(exports,`SchmancyRange`,{enumerable:!0,get:function(){return le.SchmancyRange}}),Object.defineProperty(exports,`SchmancyRoute`,{enumerable:!0,get:function(){return e.y}}),Object.defineProperty(exports,`SchmancyScroll`,{enumerable:!0,get:function(){return I.t}}),Object.defineProperty(exports,`SchmancySelect`,{enumerable:!0,get:function(){return fe.t}}),exports.SchmancySheetPosition=x.t,Object.defineProperty(exports,`SchmancySkeleton`,{enumerable:!0,get:function(){return be.SchmancySkeleton}}),Object.defineProperty(exports,`SchmancySlide`,{enumerable:!0,get:function(){return K.SchmancySlide}}),Object.defineProperty(exports,`SchmancySlider`,{enumerable:!0,get:function(){return K.SchmancySlider}}),Object.defineProperty(exports,`SchmancyStep`,{enumerable:!0,get:function(){return q.SchmancyStep}}),Object.defineProperty(exports,`SchmancyStepsContainer`,{enumerable:!0,get:function(){return q.SchmancyStepsContainer}}),Object.defineProperty(exports,`SchmancySuggestionChip`,{enumerable:!0,get:function(){return _.t}}),Object.defineProperty(exports,`SchmancySurface`,{enumerable:!0,get:function(){return O.t}}),exports.SchmancySurfaceTypeContext=O.n,Object.defineProperty(exports,`SchmancySwitch`,{enumerable:!0,get:function(){return xe.SchmancySwitch}}),Object.defineProperty(exports,`SchmancyTableRow`,{enumerable:!0,get:function(){return J.SchmancyTableRow}}),Object.defineProperty(exports,`SchmancyTeleportation`,{enumerable:!0,get:function(){return f.t}}),exports.SchmancyTheme=de.t,Object.defineProperty(exports,`SchmancyThemeAudioPlayer`,{enumerable:!0,get:function(){return Y.r}}),Object.defineProperty(exports,`SchmancyThemeComponent`,{enumerable:!0,get:function(){return Y.a}}),Object.defineProperty(exports,`SchmancyThemeController`,{enumerable:!0,get:function(){return Y.i}}),Object.defineProperty(exports,`SchmancyThemeControllerBoat`,{enumerable:!0,get:function(){return Y.t}}),Object.defineProperty(exports,`SchmancyTimelineTile`,{enumerable:!0,get:function(){return pe.SchmancyTimelineTile}}),Object.defineProperty(exports,`SchmancyTimezonesSelect`,{enumerable:!0,get:function(){return j.t}}),Object.defineProperty(exports,`SchmancyTree`,{enumerable:!0,get:function(){return he.SchmancyTree}}),Object.defineProperty(exports,`SchmancyTypography`,{enumerable:!0,get:function(){return _e.SchmancyTypography}}),Object.defineProperty(exports,`SchmancyVisuallyHidden`,{enumerable:!0,get:function(){return Se.SchmancyVisuallyHidden}}),exports.SchmancyWindow=A.t,Object.defineProperty(exports,`SchmnacyIconButton`,{enumerable:!0,get:function(){return m.SchmnacyIconButton}}),Object.defineProperty(exports,`Signal`,{enumerable:!0,get:function(){return $.Signal}}),exports.StepsController=q.StepsController,exports.ThemeHereIAm=c.t,exports.ThemeWhereAreYou=c.n,exports.WhereAreYouRicky=f.r,exports._activeHost=te.t,exports.animateText=d.animateText,exports.area=e.S,exports.bindState=t.t,exports.buildQueryString=e.t,exports.catmullRomSpline=h.catmullRomSpline,exports.color=d.color,exports.compareActiveRoutes=e.n,exports.compareCustomElementConstructors=e.r,exports.compareRouteActions=e.i,Object.defineProperty(exports,`computed`,{enumerable:!0,get:function(){return $.computed}}),exports.confirmClick=d.confirmClick,exports.createAnimation=o.p,exports.createDarkTonalPaletteFromBaseColor=Y.s,exports.createDismissAnimation=o.m,exports.createLightTonalPaletteFromBaseColor=Y.c,exports.createRevealAnimation=o.h,exports.createRouteCacheKey=e.a,exports.createScaleAnimation=o.g,exports.cursorGlow=s.t,exports.cycleText=d.cycleText,exports.debounce=e.o,exports.decodeData=e.h,exports.decodeRouteState=e.s,exports.deepMerge=e.c,exports.delayContext=C.delayContext,exports.depthOfField=d.depthOfField,exports.discover=E.discover,exports.discoverAllElements=E.discoverAllElements,exports.discoverAnyComponent=E.discoverAnyComponent,exports.discoverComponent=E.discoverComponent,exports.discoverElement=E.discoverElement,exports.drag=d.drag,exports.drop=d.drop,exports.easeOutCubic=h.easeOutCubic,exports.effect=t.n,exports.encodeData=e.g,exports.encodeRouteState=e.l,exports.extractQueryParams=e.u,exports.flip=L.r,exports.formatTheme=Y.l,exports.fromResizeObserver=u.t,exports.fullHeight=u.n,exports.fullWidth=u.r,exports.getEasing=o._,exports.getTagName=e.d,exports.gravity=d.gravity,exports.hexToRgba=h.hexToRgba,exports.intersect=d.intersect,exports.intersection$=Z.n,exports.isObject=e.f,exports.lazy=ne.t,exports.lightbox=L.t,exports.lightboxDirective=L.n,exports.liquid=d.liquid,exports.livingBorder=d.livingBorder,exports.longPress=d.longPress,exports.magnetic=ie.t,exports.mutationObserver=ue.t,exports.nebula=d.nebula,exports.normalizeTagName=e.p,exports.notify=P.t,exports.notifyProgress=P.n,exports.observe=t.r,exports.overlayStack=oe.t,exports.prefersReducedMotion=o.v,exports.reducedMotion$=re.t,exports.reveal=d.reveal,exports.ripple=d.ripple,exports.routerHistory=e.C,exports.sanitizeRouteState=e.m,exports.schmancyContentDrawer=f.C,exports.schmancyNavDrawer=f.m,exports.schmancySound=n.t,exports.schmancyTheme=l.t,exports.sheet=x.n,exports.similarity=i.t,exports.sound=n.n,exports.state=t.i,exports.stateFromObservable=t.a,exports.stepsContext=q.stepsContext,exports.tailwindAnimations=o.y,exports.tailwindStyles=Y.o,exports.teleport=f.i,exports.theme=l.n,exports.themeContext=ee.d,exports.tooltip=me.tooltip,exports.typewriter=X.typewriter,exports.validateInitialDateRange=y.n,exports.windowManager=A.n;
package/dist/index.js CHANGED
@@ -1,66 +1,66 @@
1
- import { d as ee } from "./mixins-CL1krSOE.js";
2
- import { t as te } from "./active-host-D-a1X-nq.js";
3
- import { C as ne, S as re, _ as ie, a as e, b as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g, v as _, x as v, y } from "./area-C_J4qxKO.js";
1
+ import { d as ee } from "./mixins-CcIWET41.js";
2
+ import { t as te } from "./active-host-CvNYoprt.js";
3
+ import { C as ne, S as re, _ as ie, a as e, b as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g, v as _, x as v, y } from "./area-DHVANBbr.js";
4
4
  import { t as b } from "./lazy-B0ia54tT.js";
5
- import { a as x, c as S, i as C, n as w, o as T, r as E, s as D, t as O } from "./state-ClRXrqDA.js";
6
- import { n as k, t as A } from "./sound.service-Ba_HNBLD.js";
7
- import { n as j, t as M } from "./audio-Tmre4WyL.js";
5
+ import { a as x, c as S, i as C, n as w, o as T, r as E, s as D, t as O } from "./state-BusMG6sM.js";
6
+ import { n as k, t as A } from "./sound.service-kKfsN0m-.js";
7
+ import { n as j, t as M } from "./audio-DcXphulJ.js";
8
8
  import { t as N } from "./search-BTz7-Rev.js";
9
- import { t as P } from "./input-chip-DwSyFv1x.js";
9
+ import { t as P } from "./input-chip-Ch-aCs3c.js";
10
10
  import { _ as F, a as I, c as L, d as R, f as z, g as B, h as V, i as H, l as U, m as W, n as G, o as K, p as q, r as J, s as Y, t as ae, u as oe, v as se, y as ce } from "./animation-BK-8BwY8.js";
11
11
  import { t as le } from "./reduced-motion-D-L12p7G.js";
12
12
  import { t as ue } from "./cursor-glow-Ah7VXSj7.js";
13
13
  import { n as de, t as fe } from "./theme.events-Cv7N4Toe.js";
14
- import { n as pe, t as me } from "./theme.service-9clsqyee.js";
15
- import { n as he, r as ge, t as _e } from "./layout-BghHmee6.js";
14
+ import { n as pe, t as me } from "./theme.service-CmbOGMA8.js";
15
+ import { n as he, r as ge, t as _e } from "./layout-C4xmnU4n.js";
16
16
  import { t as ve } from "./magnetic-BZGFxAWG.js";
17
17
  import { DragDirective as ye, DropDirective as be, animateText as xe, color as Se, confirmClick as Ce, cycleText as we, depthOfField as Te, drag as Ee, drop as De, gravity as Oe, intersect as ke, liquid as Ae, livingBorder as je, longPress as Me, nebula as Ne, reveal as Pe, ripple as Fe } from "./directives.js";
18
- import { C as Ie, S as Le, T as Re, _ as ze, a as Be, b as Ve, c as He, d as Ue, f as We, g as Ge, h as Ke, i as qe, l as Je, m as Ye, n as Xe, o as Ze, p as Qe, r as $e, s as et, t as tt, u as nt, v as rt, w as it, x as at, y as ot } from "./src-CHM4hrEr.js";
19
- import { t as st } from "./boat-DxYNK4xT.js";
18
+ import { C as Ie, S as Le, T as Re, _ as ze, a as Be, b as Ve, c as He, d as Ue, f as We, g as Ge, h as Ke, i as qe, l as Je, m as Ye, n as Xe, o as Ze, p as Qe, r as $e, s as et, t as tt, u as nt, v as rt, w as it, x as at, y as ot } from "./src-CqdnWGgr.js";
19
+ import { t as st } from "./boat-_Yv3M6YM.js";
20
20
  import { SchmancyButton as ct, SchmnacyIconButton as lt } from "./button.js";
21
21
  import { SchmancyAreaChart as ut, SchmancyPills as dt, catmullRomSpline as ft, easeOutCubic as pt, hexToRgba as mt } from "./charts.js";
22
- import { t as ht } from "./checkbox-1gQOOcja.js";
23
- import { n as X, r as gt, t as _t } from "./chips-wkfKzf_e.js";
24
- import { n as Z, t as vt } from "./code-highlight-CcdCFMrn.js";
22
+ import { t as ht } from "./checkbox-DPS1mWG-.js";
23
+ import { n as X, r as gt, t as _t } from "./chips-BnnXQSA-.js";
24
+ import { n as Z, t as vt } from "./code-highlight-kFUJ1Eet.js";
25
25
  import { SchmancyConnectivityStatus as yt } from "./connectivity.js";
26
- import { n as bt, t as xt } from "./date-range-BDHz_Olm.js";
26
+ import { n as bt, t as xt } from "./date-range-DOstCIg8.js";
27
27
  import { t as St } from "./overlay-stack-CAQno0CK.js";
28
28
  import { n as Q, t as Ct } from "./dialog-service-DI9PPy4H.js";
29
- import { n as wt, t as Tt } from "./sheet.service-B7h_-e-q.js";
30
- import { t as Et } from "./date-range-inline-1NmZE_Xr.js";
29
+ import { n as wt, t as Tt } from "./sheet.service-SPQ8oLCi.js";
30
+ import { t as Et } from "./date-range-inline-BVycTWLb.js";
31
31
  import { SchmancyDelay as Dt, delayContext as Ot } from "./delay.js";
32
- import { t as kt } from "./details-BEp2s2ca.js";
32
+ import { t as kt } from "./details-DPc5GxPa.js";
33
33
  import { ConfirmDialog as $, DialogBase as At } from "./dialog.js";
34
34
  import { DISCOVER_EVENT as jt, DISCOVER_RESPONSE_EVENT as Mt, discover as Nt, discoverAllElements as Pt, discoverAnyComponent as Ft, discoverComponent as It, discoverElement as Lt } from "./discovery.js";
35
35
  import { SchmancyDropdown as Rt, SchmancyDropdownContent as zt } from "./dropdown.js";
36
- import { n as Bt, t as Vt } from "./surface-BHJgIDz9.js";
37
- import { n as Ht, t as Ut } from "./expand-CRUl3-mN.js";
38
- import { n as Wt, t as Gt } from "./window-moDKyGLZ.js";
39
- import { t as Kt } from "./float-N3qhNET_.js";
40
- import { n as qt, t as Jt } from "./extra-aNV1fO6W.js";
36
+ import { n as Bt, t as Vt } from "./surface-C8jQy8Ym.js";
37
+ import { n as Ht, t as Ut } from "./expand-BMzocdtj.js";
38
+ import { n as Wt, t as Gt } from "./window-C7yY9yp5.js";
39
+ import { t as Kt } from "./float-CTc1xxqH.js";
40
+ import { n as qt, t as Jt } from "./extra-BeHlUhzv.js";
41
41
  import { t as Yt } from "./form-BtwOBMZ9.js";
42
- import { t as Xt } from "./iframe-DoN_toqE.js";
43
- import { n as Zt, t as Qt } from "./input-ClnkMJgh.js";
44
- import { i as $t, n as en, r as tn, t as nn } from "./notification-Dzm6zWxX.js";
42
+ import { t as Xt } from "./iframe-BJfDIEJf.js";
43
+ import { n as Zt, t as Qt } from "./input-LTK3cctF.js";
44
+ import { i as $t, n as en, r as tn, t as nn } from "./notification-CVLqQ8c_.js";
45
45
  import { SchmancyJson as rn } from "./json.js";
46
- import { t as an } from "./scroll-BD82ANjm.js";
47
- import { i as on, n as sn, r as cn, t as ln } from "./lightbox-IleIcq19.js";
48
- import { n as un, r as dn, t as fn } from "./list-BlXJlm16.js";
49
- import { a as pn, i as mn, n as hn, r as gn, t as _n } from "./mailbox-DAmejcKa.js";
50
- import { t as vn } from "./map-BoIu47qU.js";
46
+ import { t as an } from "./scroll-qL-HkMdP.js";
47
+ import { i as on, n as sn, r as cn, t as ln } from "./lightbox-DqG2z3Cn.js";
48
+ import { n as un, r as dn, t as fn } from "./list-D6-_E5ZD.js";
49
+ import { a as pn, i as mn, n as hn, r as gn, t as _n } from "./mailbox-DsPII8HR.js";
50
+ import { t as vn } from "./map-Dhy3ta9v.js";
51
51
  import { SchmancyNavigationRail as yn, SchmancyNavigationRailItem as bn } from "./navigation-rail.js";
52
52
  import { SchmancyPage as xn } from "./page.js";
53
- import { t as Sn } from "./payment-card-form-D9N2Q0wM.js";
53
+ import { t as Sn } from "./payment-card-form-C0dHYZIv.js";
54
54
  import { SchmancyQRScanner as Cn } from "./qr-scanner.js";
55
- import { n as wn, t as Tn } from "./radio-group-DqP886F-.js";
55
+ import { n as wn, t as Tn } from "./radio-group-BZ2WoOXJ.js";
56
56
  import { SchmancyRange as En } from "./range.js";
57
57
  import { t as Dn } from "./rxjs-utils-d-ivVN84.js";
58
58
  import { t as On } from "./theme.interface-DnVNre4O.js";
59
- import { t as kn } from "./select-GONAphZI.js";
59
+ import { t as kn } from "./select-CnPXUeSf.js";
60
60
  import { SchmancySlide as An, SchmancySlider as jn } from "./slider.js";
61
61
  import { SchmancyStep as Mn, SchmancyStepsContainer as Nn, StepsController as Pn, stepsContext as Fn } from "./steps.js";
62
62
  import { SchmancyDataTable as In, SchmancyTableRow as Ln } from "./table.js";
63
- import { a as Rn, c as zn, i as Bn, l as Vn, n as Hn, o as Un, r as Wn, s as Gn, t as Kn } from "./theme-BCUjQH6-.js";
63
+ import { a as Rn, c as zn, i as Bn, l as Vn, n as Hn, o as Un, r as Wn, s as Gn, t as Kn } from "./theme-2KZW2Rfs.js";
64
64
  import { SchmancyTimelineTile as qn } from "./timeline.js";
65
65
  import { tooltip as Jn } from "./tooltip.js";
66
66
  import { SchmancyTree as Yn } from "./tree.js";