@mhmo91/schmancy 0.10.22 → 0.10.24

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 (310) hide show
  1. package/custom-elements.json +0 -106
  2. package/dist/agent/{overlay.confirm-body-xfOh5Q28.js → overlay.confirm-body-CvdVfCnN.js} +1 -1
  3. package/dist/agent/{overlay.confirm-body-xfOh5Q28.js.map → overlay.confirm-body-CvdVfCnN.js.map} +1 -1
  4. package/dist/agent/schmancy.agent.js +1844 -1961
  5. package/dist/agent/schmancy.agent.js.map +1 -1
  6. package/dist/agent/schmancy.manifest.json +1 -89
  7. package/dist/{area-Ddk7P5wD.js → area-A_oUP4P1.js} +1 -1
  8. package/dist/{area-Ddk7P5wD.js.map → area-A_oUP4P1.js.map} +1 -1
  9. package/dist/{area-Cbkt0NX4.cjs → area-BuqdaUpQ.cjs} +1 -1
  10. package/dist/{area-Cbkt0NX4.cjs.map → area-BuqdaUpQ.cjs.map} +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-Ds3Q2cwR.js → autocomplete-BoCWO26L.js} +2 -2
  14. package/dist/{autocomplete-Ds3Q2cwR.js.map → autocomplete-BoCWO26L.js.map} +1 -1
  15. package/dist/{autocomplete-CfBFDSc3.cjs → autocomplete-Cy46gJxK.cjs} +1 -1
  16. package/dist/{autocomplete-CfBFDSc3.cjs.map → autocomplete-Cy46gJxK.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/avatar.cjs +1 -1
  20. package/dist/avatar.js +1 -1
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{boat-BF5P6p_f.js → boat-B0h5fuAA.js} +1 -1
  24. package/dist/{boat-BF5P6p_f.js.map → boat-B0h5fuAA.js.map} +1 -1
  25. package/dist/{boat-BPN8HLzZ.cjs → boat-RRtBhD3x.cjs} +1 -1
  26. package/dist/{boat-BPN8HLzZ.cjs.map → boat-RRtBhD3x.cjs.map} +1 -1
  27. package/dist/boat.cjs +1 -1
  28. package/dist/boat.js +1 -1
  29. package/dist/breadcrumb.cjs +1 -1
  30. package/dist/breadcrumb.js +1 -1
  31. package/dist/{busy-C7ejPa-Q.cjs → busy-Bn6Pioo8.cjs} +1 -1
  32. package/dist/{busy-C7ejPa-Q.cjs.map → busy-Bn6Pioo8.cjs.map} +1 -1
  33. package/dist/{busy-BuACDJy6.js → busy-DObY7lfu.js} +1 -1
  34. package/dist/{busy-BuACDJy6.js.map → busy-DObY7lfu.js.map} +1 -1
  35. package/dist/busy.cjs +1 -1
  36. package/dist/busy.js +1 -1
  37. package/dist/button-DEi3M2nV.js +446 -0
  38. package/dist/button-DEi3M2nV.js.map +1 -0
  39. package/dist/button-XfdPzfZQ.cjs +120 -0
  40. package/dist/button-XfdPzfZQ.cjs.map +1 -0
  41. package/dist/button.cjs +1 -120
  42. package/dist/button.js +2 -447
  43. package/dist/{card-BIzaLuEg.cjs → card-BjUgRzFh.cjs} +1 -1
  44. package/dist/{card-BIzaLuEg.cjs.map → card-BjUgRzFh.cjs.map} +1 -1
  45. package/dist/{card-CgQwXO8L.js → card-jzUQK0EQ.js} +1 -1
  46. package/dist/{card-CgQwXO8L.js.map → card-jzUQK0EQ.js.map} +1 -1
  47. package/dist/card.cjs +1 -1
  48. package/dist/card.js +1 -1
  49. package/dist/{checkbox-BNdg57Om.js → checkbox-CfCm1vGN.js} +1 -1
  50. package/dist/{checkbox-BNdg57Om.js.map → checkbox-CfCm1vGN.js.map} +1 -1
  51. package/dist/{checkbox-BAqE3sTx.cjs → checkbox-rskgUBxQ.cjs} +1 -1
  52. package/dist/{checkbox-BAqE3sTx.cjs.map → checkbox-rskgUBxQ.cjs.map} +1 -1
  53. package/dist/checkbox.cjs +1 -1
  54. package/dist/checkbox.js +1 -1
  55. package/dist/{chips-DS3y4Lbn.cjs → chips-BiNZKu0J.cjs} +1 -1
  56. package/dist/{chips-DS3y4Lbn.cjs.map → chips-BiNZKu0J.cjs.map} +1 -1
  57. package/dist/{chips-DnqLaOb1.js → chips-Dfim_tQv.js} +2 -2
  58. package/dist/{chips-DnqLaOb1.js.map → chips-Dfim_tQv.js.map} +1 -1
  59. package/dist/chips.cjs +1 -1
  60. package/dist/chips.js +2 -2
  61. package/dist/connectivity.cjs +1 -1
  62. package/dist/connectivity.js +1 -1
  63. package/dist/content-drawer.cjs +1 -1
  64. package/dist/content-drawer.js +1 -1
  65. package/dist/{date-range-CAqB-B0M.js → date-range-B8zoj6Cj.js} +2 -2
  66. package/dist/{date-range-CAqB-B0M.js.map → date-range-B8zoj6Cj.js.map} +1 -1
  67. package/dist/{date-range-VA1mi1N7.cjs → date-range-em7OwhlK.cjs} +1 -1
  68. package/dist/{date-range-VA1mi1N7.cjs.map → date-range-em7OwhlK.cjs.map} +1 -1
  69. package/dist/{date-range-inline-PeRt1iIF.js → date-range-inline-BfUL8_vX.js} +1 -1
  70. package/dist/{date-range-inline-PeRt1iIF.js.map → date-range-inline-BfUL8_vX.js.map} +1 -1
  71. package/dist/{date-range-inline-CAa0_4EI.cjs → date-range-inline-DYeqoBIO.cjs} +1 -1
  72. package/dist/{date-range-inline-CAa0_4EI.cjs.map → date-range-inline-DYeqoBIO.cjs.map} +1 -1
  73. package/dist/date-range-inline.cjs +1 -1
  74. package/dist/date-range-inline.js +1 -1
  75. package/dist/date-range.cjs +1 -1
  76. package/dist/date-range.js +1 -1
  77. package/dist/delay.cjs +1 -1
  78. package/dist/delay.js +1 -1
  79. package/dist/{details-BnXbDpt7.cjs → details-CNM1tuma.cjs} +1 -1
  80. package/dist/{details-BnXbDpt7.cjs.map → details-CNM1tuma.cjs.map} +1 -1
  81. package/dist/{details-BpFjVclg.js → details-D246xN83.js} +1 -1
  82. package/dist/{details-BpFjVclg.js.map → details-D246xN83.js.map} +1 -1
  83. package/dist/details.cjs +1 -1
  84. package/dist/details.js +1 -1
  85. package/dist/{divider-D8cBBkdG.js → divider-CbIp1je9.js} +1 -1
  86. package/dist/{divider-D8cBBkdG.js.map → divider-CbIp1je9.js.map} +1 -1
  87. package/dist/{divider-B84lt1A3.cjs → divider-DaKsGNW-.cjs} +1 -1
  88. package/dist/{divider-B84lt1A3.cjs.map → divider-DaKsGNW-.cjs.map} +1 -1
  89. package/dist/divider.cjs +1 -1
  90. package/dist/divider.js +1 -1
  91. package/dist/dropdown.cjs +1 -1
  92. package/dist/dropdown.js +1 -1
  93. package/dist/{expand-DK-O37-j.cjs → expand-CQDm3BF3.cjs} +1 -1
  94. package/dist/{expand-DK-O37-j.cjs.map → expand-CQDm3BF3.cjs.map} +1 -1
  95. package/dist/{expand-BJiKggfg.js → expand-DRkiO4vw.js} +2 -2
  96. package/dist/{expand-BJiKggfg.js.map → expand-DRkiO4vw.js.map} +1 -1
  97. package/dist/expand.cjs +1 -1
  98. package/dist/expand.js +1 -1
  99. package/dist/{float-RWR6Q1Hh.cjs → float-5O26zNRh.cjs} +1 -1
  100. package/dist/{float-RWR6Q1Hh.cjs.map → float-5O26zNRh.cjs.map} +1 -1
  101. package/dist/{float-B4FDN40h.js → float-CZtu8FnO.js} +1 -1
  102. package/dist/{float-B4FDN40h.js.map → float-CZtu8FnO.js.map} +1 -1
  103. package/dist/float.cjs +1 -1
  104. package/dist/float.js +1 -1
  105. package/dist/{form-ha3df3K7.cjs → form-B90CMeqs.cjs} +1 -1
  106. package/dist/{form-ha3df3K7.cjs.map → form-B90CMeqs.cjs.map} +1 -1
  107. package/dist/{form-B-Sm6u25.js → form-CE6Gwz4r.js} +8 -8
  108. package/dist/{form-B-Sm6u25.js.map → form-CE6Gwz4r.js.map} +1 -1
  109. package/dist/form.cjs +1 -1
  110. package/dist/form.js +6 -6
  111. package/dist/handover/agent-runtime-followups.md +1 -1
  112. package/dist/handover/agent-runtime-v1.md +3 -3
  113. package/dist/icons-B7ppo07M.cjs +33 -0
  114. package/dist/icons-B7ppo07M.cjs.map +1 -0
  115. package/dist/icons-CGhozJ5v.js +48 -0
  116. package/dist/icons-CGhozJ5v.js.map +1 -0
  117. package/dist/icons.cjs +1 -1
  118. package/dist/icons.js +1 -1
  119. package/dist/{iframe-CByrVlZy.js → iframe-C3PMj1MD.js} +1 -1
  120. package/dist/{iframe-CByrVlZy.js.map → iframe-C3PMj1MD.js.map} +1 -1
  121. package/dist/{iframe-BXe1TPx1.cjs → iframe-D98csbEo.cjs} +1 -1
  122. package/dist/{iframe-BXe1TPx1.cjs.map → iframe-D98csbEo.cjs.map} +1 -1
  123. package/dist/iframe.cjs +1 -1
  124. package/dist/iframe.js +1 -1
  125. package/dist/index.cjs +1 -1
  126. package/dist/index.js +27 -27
  127. package/dist/{input-Q0fm34Co.js → input-CCOkeeVM.js} +1 -1
  128. package/dist/{input-Q0fm34Co.js.map → input-CCOkeeVM.js.map} +1 -1
  129. package/dist/{input-BY9OCQWr.cjs → input-_y92Pzon.cjs} +1 -1
  130. package/dist/{input-BY9OCQWr.cjs.map → input-_y92Pzon.cjs.map} +1 -1
  131. package/dist/{input-chip-CytUirVS.js → input-chip-Bzwr5-XL.js} +1 -1
  132. package/dist/{input-chip-CytUirVS.js.map → input-chip-Bzwr5-XL.js.map} +1 -1
  133. package/dist/{input-chip-BwNf3GD0.cjs → input-chip-CR66MWml.cjs} +1 -1
  134. package/dist/{input-chip-BwNf3GD0.cjs.map → input-chip-CR66MWml.cjs.map} +1 -1
  135. package/dist/input.cjs +1 -1
  136. package/dist/input.js +1 -1
  137. package/dist/json.cjs +2 -2
  138. package/dist/json.cjs.map +1 -1
  139. package/dist/json.js +3 -3
  140. package/dist/json.js.map +1 -1
  141. package/dist/kbd.cjs +1 -1
  142. package/dist/kbd.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/{lightbox-p2E0oVR0.cjs → lightbox-Bk3ovcVu.cjs} +1 -1
  146. package/dist/{lightbox-p2E0oVR0.cjs.map → lightbox-Bk3ovcVu.cjs.map} +1 -1
  147. package/dist/{lightbox-Ckvn5YNF.js → lightbox-Dl--fEbP.js} +1 -1
  148. package/dist/{lightbox-Ckvn5YNF.js.map → lightbox-Dl--fEbP.js.map} +1 -1
  149. package/dist/lightbox.cjs +1 -1
  150. package/dist/lightbox.js +1 -1
  151. package/dist/{list-CsrPVvmm.js → list-B3WI_Nfs.js} +1 -1
  152. package/dist/{list-CsrPVvmm.js.map → list-B3WI_Nfs.js.map} +1 -1
  153. package/dist/{list-r57UFHu3.cjs → list-DWngbP2X.cjs} +1 -1
  154. package/dist/{list-r57UFHu3.cjs.map → list-DWngbP2X.cjs.map} +1 -1
  155. package/dist/list.cjs +1 -1
  156. package/dist/list.js +1 -1
  157. package/dist/{menu-DBuZiPyW.cjs → menu-CdYjxJqm.cjs} +1 -1
  158. package/dist/{menu-DBuZiPyW.cjs.map → menu-CdYjxJqm.cjs.map} +1 -1
  159. package/dist/{menu-Csm6Fg88.js → menu-IDhVp6zm.js} +2 -2
  160. package/dist/{menu-Csm6Fg88.js.map → menu-IDhVp6zm.js.map} +1 -1
  161. package/dist/menu.cjs +1 -1
  162. package/dist/menu.js +1 -1
  163. package/dist/{mixins-DTCHPEd4.cjs → mixins-BPUR4Kc4.cjs} +1 -1
  164. package/dist/{mixins-DTCHPEd4.cjs.map → mixins-BPUR4Kc4.cjs.map} +1 -1
  165. package/dist/{mixins-pU53qf6R.js → mixins-C42OILRS.js} +1 -1
  166. package/dist/{mixins-pU53qf6R.js.map → mixins-C42OILRS.js.map} +1 -1
  167. package/dist/mixins.cjs +1 -1
  168. package/dist/mixins.js +1 -1
  169. package/dist/nav-drawer.cjs +1 -1
  170. package/dist/nav-drawer.js +1 -1
  171. package/dist/navigation-bar.cjs +1 -1
  172. package/dist/navigation-bar.js +1 -1
  173. package/dist/navigation-rail.cjs +1 -1
  174. package/dist/navigation-rail.js +1 -1
  175. package/dist/{notification-58tkVys8.cjs → notification-B3wVUC8l.cjs} +1 -1
  176. package/dist/{notification-58tkVys8.cjs.map → notification-B3wVUC8l.cjs.map} +1 -1
  177. package/dist/{notification-CgTBiAdf.js → notification-CllYkvlR.js} +2 -2
  178. package/dist/{notification-CgTBiAdf.js.map → notification-CllYkvlR.js.map} +1 -1
  179. package/dist/notification.cjs +1 -1
  180. package/dist/notification.js +1 -1
  181. package/dist/{option-Bicf6xpI.js → option-CPOL0nHL.js} +1 -1
  182. package/dist/{option-Bicf6xpI.js.map → option-CPOL0nHL.js.map} +1 -1
  183. package/dist/{option-61YE3gub.cjs → option-cRsdshy8.cjs} +1 -1
  184. package/dist/{option-61YE3gub.cjs.map → option-cRsdshy8.cjs.map} +1 -1
  185. package/dist/option.cjs +1 -1
  186. package/dist/option.js +1 -1
  187. package/dist/{overlay-CpvmytrQ.cjs → overlay-BnTvnNDc.cjs} +1 -1
  188. package/dist/{overlay-CpvmytrQ.cjs.map → overlay-BnTvnNDc.cjs.map} +1 -1
  189. package/dist/{overlay-CAI2FAp7.js → overlay-DJ-vlwtR.js} +3 -3
  190. package/dist/{overlay-CAI2FAp7.js.map → overlay-DJ-vlwtR.js.map} +1 -1
  191. package/dist/overlay.cjs +1 -1
  192. package/dist/{overlay.confirm-body-QD-5cj3_.cjs → overlay.confirm-body-CQ-FwySO.cjs} +1 -1
  193. package/dist/{overlay.confirm-body-QD-5cj3_.cjs.map → overlay.confirm-body-CQ-FwySO.cjs.map} +1 -1
  194. package/dist/{overlay.confirm-body-Cq25CkTw.js → overlay.confirm-body-DEb9xw5N.js} +1 -1
  195. package/dist/{overlay.confirm-body-Cq25CkTw.js.map → overlay.confirm-body-DEb9xw5N.js.map} +1 -1
  196. package/dist/overlay.js +3 -3
  197. package/dist/{overlay.service-BG0bqPwJ.cjs → overlay.service-CKBCIP2f.cjs} +1 -1
  198. package/dist/{overlay.service-BG0bqPwJ.cjs.map → overlay.service-CKBCIP2f.cjs.map} +1 -1
  199. package/dist/{overlay.service-Bpjrhaxh.js → overlay.service-XM1YHkTk.js} +2 -2
  200. package/dist/{overlay.service-Bpjrhaxh.js.map → overlay.service-XM1YHkTk.js.map} +1 -1
  201. package/dist/{progress-D8XZJVl5.cjs → progress-CcfLfHOE.cjs} +1 -1
  202. package/dist/{progress-D8XZJVl5.cjs.map → progress-CcfLfHOE.cjs.map} +1 -1
  203. package/dist/{progress-Zqx-S9NZ.js → progress-CnMPp-9a.js} +1 -1
  204. package/dist/{progress-Zqx-S9NZ.js.map → progress-CnMPp-9a.js.map} +1 -1
  205. package/dist/progress.cjs +1 -1
  206. package/dist/progress.js +1 -1
  207. package/dist/{radio-group-D9MU1Mxz.js → radio-group-BUJgfQFi.js} +1 -1
  208. package/dist/{radio-group-D9MU1Mxz.js.map → radio-group-BUJgfQFi.js.map} +1 -1
  209. package/dist/{radio-group-bl8K4Gls.cjs → radio-group-D97hflrE.cjs} +1 -1
  210. package/dist/{radio-group-bl8K4Gls.cjs.map → radio-group-D97hflrE.cjs.map} +1 -1
  211. package/dist/radio-group.cjs +1 -1
  212. package/dist/radio-group.js +1 -1
  213. package/dist/range.cjs +1 -1
  214. package/dist/range.js +1 -1
  215. package/dist/{select-CMwkl-D6.js → select-BWEh5nRM.js} +1 -1
  216. package/dist/{select-CMwkl-D6.js.map → select-BWEh5nRM.js.map} +1 -1
  217. package/dist/{select-COIfVtZl.cjs → select-Cv5Oev6d.cjs} +1 -1
  218. package/dist/{select-COIfVtZl.cjs.map → select-Cv5Oev6d.cjs.map} +1 -1
  219. package/dist/select.cjs +1 -1
  220. package/dist/select.js +1 -1
  221. package/dist/skeleton.cjs +1 -1
  222. package/dist/skeleton.js +1 -1
  223. package/dist/skills/overlay.md +4 -0
  224. package/dist/skills/schmancy/overlay.md +4 -0
  225. package/dist/slider.cjs +1 -1
  226. package/dist/slider.js +1 -1
  227. package/dist/{splash-screen-xrMNpzkm.js → splash-screen-B6w7X2z9.js} +1 -1
  228. package/dist/{splash-screen-xrMNpzkm.js.map → splash-screen-B6w7X2z9.js.map} +1 -1
  229. package/dist/{splash-screen-2hxq8Sft.cjs → splash-screen-DFtxtO2D.cjs} +1 -1
  230. package/dist/{splash-screen-2hxq8Sft.cjs.map → splash-screen-DFtxtO2D.cjs.map} +1 -1
  231. package/dist/splash-screen.cjs +1 -1
  232. package/dist/splash-screen.js +1 -1
  233. package/dist/{src-BoHs3kDi.cjs → src-Asw6A018.cjs} +3 -3
  234. package/dist/src-Asw6A018.cjs.map +1 -0
  235. package/dist/{src-DhbXaOrS.js → src-D_NK-vMA.js} +40 -40
  236. package/dist/src-D_NK-vMA.js.map +1 -0
  237. package/dist/steps.cjs +1 -1
  238. package/dist/steps.js +1 -1
  239. package/dist/{surface-BkQ44Wuo.cjs → surface-B94ka2LY.cjs} +1 -1
  240. package/dist/{surface-BkQ44Wuo.cjs.map → surface-B94ka2LY.cjs.map} +1 -1
  241. package/dist/{surface-3nnvlxeE.js → surface-ctBcRGSZ.js} +1 -1
  242. package/dist/{surface-3nnvlxeE.js.map → surface-ctBcRGSZ.js.map} +1 -1
  243. package/dist/surface.cjs +1 -1
  244. package/dist/surface.js +1 -1
  245. package/dist/switch.cjs +1 -1
  246. package/dist/switch.js +1 -1
  247. package/dist/table.cjs +2 -2
  248. package/dist/table.cjs.map +1 -1
  249. package/dist/table.js +2 -2
  250. package/dist/table.js.map +1 -1
  251. package/dist/{tabs-Dql0rcqZ.cjs → tabs-B7kaZIom.cjs} +1 -1
  252. package/dist/{tabs-Dql0rcqZ.cjs.map → tabs-B7kaZIom.cjs.map} +1 -1
  253. package/dist/{tabs-CnLIe8nE.js → tabs-CrMx5z_y.js} +1 -1
  254. package/dist/{tabs-CnLIe8nE.js.map → tabs-CrMx5z_y.js.map} +1 -1
  255. package/dist/tabs.cjs +1 -1
  256. package/dist/tabs.js +1 -1
  257. package/dist/teleport.cjs +1 -1
  258. package/dist/teleport.js +1 -1
  259. package/dist/{textarea-CGD6lAEe.cjs → textarea-D1crj8JD.cjs} +1 -1
  260. package/dist/{textarea-CGD6lAEe.cjs.map → textarea-D1crj8JD.cjs.map} +1 -1
  261. package/dist/{textarea-BAogS_Ff.js → textarea-DeHFl80i.js} +1 -1
  262. package/dist/{textarea-BAogS_Ff.js.map → textarea-DeHFl80i.js.map} +1 -1
  263. package/dist/textarea.cjs +1 -1
  264. package/dist/textarea.js +1 -1
  265. package/dist/{theme-CUK0HrS3.js → theme-C7Yo33nh.js} +2 -2
  266. package/dist/{theme-CUK0HrS3.js.map → theme-C7Yo33nh.js.map} +1 -1
  267. package/dist/{theme-button-CmTwFm3l.cjs → theme-button-CXSM5We4.cjs} +1 -1
  268. package/dist/{theme-button-CmTwFm3l.cjs.map → theme-button-CXSM5We4.cjs.map} +1 -1
  269. package/dist/{theme-button-Bb8qW2IH.js → theme-button-Cpc_hs2O.js} +1 -1
  270. package/dist/{theme-button-Bb8qW2IH.js.map → theme-button-Cpc_hs2O.js.map} +1 -1
  271. package/dist/theme-button.cjs +1 -1
  272. package/dist/theme-button.js +1 -1
  273. package/dist/{theme-DKrrQ-ic.cjs → theme-wE2N7Yu9.cjs} +2 -2
  274. package/dist/{theme-DKrrQ-ic.cjs.map → theme-wE2N7Yu9.cjs.map} +1 -1
  275. package/dist/theme.cjs +1 -1
  276. package/dist/theme.js +2 -2
  277. package/dist/tree.cjs +1 -1
  278. package/dist/tree.js +1 -1
  279. package/dist/typography.cjs +1 -1
  280. package/dist/typography.js +1 -1
  281. package/dist/visually-hidden.cjs +1 -1
  282. package/dist/visually-hidden.js +1 -1
  283. package/dist/{window-BbWlaPZv.cjs → window-Ck_zS4bb.cjs} +1 -1
  284. package/dist/{window-BbWlaPZv.cjs.map → window-Ck_zS4bb.cjs.map} +1 -1
  285. package/dist/{window-DuDAQa6y.js → window-JtkeHoxS.js} +1 -1
  286. package/dist/{window-DuDAQa6y.js.map → window-JtkeHoxS.js.map} +1 -1
  287. package/dist/window.cjs +1 -1
  288. package/dist/window.js +1 -1
  289. package/package.json +1 -1
  290. package/skills/schmancy/overlay.md +4 -0
  291. package/src/badge/badge.ts +7 -11
  292. package/src/button/icon-button.ts +3 -4
  293. package/src/icons/icon.ts +43 -293
  294. package/src/json/json.ts +1 -1
  295. package/src/table/table.ts +2 -2
  296. package/src/theme/theme-audio-player.ts +1 -1
  297. package/types/src/badge/badge.d.ts +1 -1
  298. package/types/src/icons/icon.d.ts +0 -81
  299. package/dist/button.cjs.map +0 -1
  300. package/dist/button.js.map +0 -1
  301. package/dist/context-6oXCZmZN.js +0 -3
  302. package/dist/context-6oXCZmZN.js.map +0 -1
  303. package/dist/context-CRZeiCqq.cjs +0 -1
  304. package/dist/context-CRZeiCqq.cjs.map +0 -1
  305. package/dist/icons-BgUbHwy8.js +0 -169
  306. package/dist/icons-BgUbHwy8.js.map +0 -1
  307. package/dist/icons-morK4hHz.cjs +0 -52
  308. package/dist/icons-morK4hHz.cjs.map +0 -1
  309. package/dist/src-BoHs3kDi.cjs.map +0 -1
  310. package/dist/src-DhbXaOrS.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhmo91/schmancy",
3
- "version": "0.10.22",
3
+ "version": "0.10.24",
4
4
  "description": "UI library build with web components",
5
5
  "main": "./dist/index.js",
6
6
  "customElements": "custom-elements.json",
@@ -39,6 +39,10 @@ Centered is the fallback (no anchor given). Sheet is the responsive adaptation (
39
39
 
40
40
  Always prefer `() => html\`...\`` over `html\`...\`` when the template closes over any variable — the factory form evaluates those variables at mount time rather than baking them in at the call site.
41
41
 
42
+ ## Default padding
43
+
44
+ The overlay surface applies `padding: var(--schmancy-overlay-padding, 1.5rem)` to all content — `show()`, `confirm()`, and `prompt()` alike. Content components do **not** need their own padding against the surface edge. Override the token via `style="--schmancy-overlay-padding: 0"` on the host if a component supplies its own full-bleed layout.
45
+
42
46
  ## API
43
47
 
44
48
  | Export | Signature | Purpose |
@@ -132,17 +132,13 @@ export class SchmancyBadgeV2 extends SchmancyElement {
132
132
  * Get icon size based on badge size with harmonious proportions
133
133
  * Using golden ratio-inspired proportions relative to text size
134
134
  */
135
- private getIconSize(): string {
135
+ private getIconSizeClass(): string {
136
136
  switch (this.size) {
137
- case 'xs':
138
- return '11px' // Approximately 0.9 × text size (12px × 0.9)
139
- case 'sm':
140
- return '13px' // Approximately 1.1 × text size (12px × 1.1)
141
- case 'lg':
142
- return '18px' // Approximately 1.1 × text size (16px × 1.1)
137
+ case 'xs': return 'text-xs'
138
+ case 'sm': return 'text-sm'
139
+ case 'lg': return 'text-lg'
143
140
  case 'md':
144
- default:
145
- return '15px' // Approximately 1.1 × text size (14px × 1.1)
141
+ default: return 'text-sm'
146
142
  }
147
143
  }
148
144
 
@@ -219,7 +215,7 @@ export class SchmancyBadgeV2 extends SchmancyElement {
219
215
  const sizeClasses = this.getSizeClasses()
220
216
  const shapeClasses = this.getShapeClasses()
221
217
  const colorStyles = this.getColorStyles()
222
- const iconSize = this.getIconSize()
218
+ const iconSizeClass = this.getIconSizeClass()
223
219
  const exoticStyles = this.getExoticStyles()
224
220
 
225
221
  const badgeClasses = {
@@ -259,7 +255,7 @@ export class SchmancyBadgeV2 extends SchmancyElement {
259
255
  ${this.icon
260
256
  ? html`
261
257
  <div part="icon" class="shrink-0 flex items-center justify-center leading-none">
262
- <schmancy-icon .size=${iconSize} class="flex items-center justify-center">${this.icon}</schmancy-icon>
258
+ <schmancy-icon class="${iconSizeClass} flex items-center justify-center">${this.icon}</schmancy-icon>
263
259
  </div>
264
260
  `
265
261
  : ''}
@@ -235,8 +235,7 @@ export class SchmnacyIconButton extends SchmancyElement {
235
235
  'hover:bg-secondary-container': effectiveVariant === 'filled tonal',
236
236
  }
237
237
 
238
- // Icon size mapping - M3 spec: 24dp standard, scaled for density
239
- const iconSize = this.size === 'xxs' ? '12px' : this.size === 'xs' ? '16px' : this.size === 'sm' ? '20px' : this.size === 'md' ? '24px' : this.size === 'lg' ? '24px' : '40px';
238
+ const iconSizeClass = this.size === 'xxs' ? 'text-xs' : this.size === 'xs' ? 'text-base' : this.size === 'sm' ? 'text-xl' : this.size === 'md' ? 'text-2xl' : this.size === 'lg' ? 'text-2xl' : 'text-4xl';
240
239
 
241
240
  // If href is provided, render an anchor element.
242
241
  if (this.href) {
@@ -256,7 +255,7 @@ export class SchmnacyIconButton extends SchmancyElement {
256
255
  ? html`<slot></slot>`
257
256
  : html`
258
257
  <slot style="display:none" @slotchange=${this._handleSlotChange}></slot>
259
- <schmancy-icon size=${iconSize} icon=${ifDefined(this.icon || this._capturedIcon)}></schmancy-icon>
258
+ <schmancy-icon class=${iconSizeClass}>${this.icon || this._capturedIcon}</schmancy-icon>
260
259
  `
261
260
  }
262
261
  </a>
@@ -279,7 +278,7 @@ export class SchmnacyIconButton extends SchmancyElement {
279
278
  ? html`<slot></slot>`
280
279
  : html`
281
280
  <slot style="display:none" @slotchange=${this._handleSlotChange}></slot>
282
- <schmancy-icon size=${iconSize} icon=${ifDefined(this.icon || this._capturedIcon)}></schmancy-icon>
281
+ <schmancy-icon class=${iconSizeClass}>${this.icon || this._capturedIcon}</schmancy-icon>
283
282
  `
284
283
  }
285
284
  </button>
package/src/icons/icon.ts CHANGED
@@ -1,306 +1,56 @@
1
1
  import { SchmancyElement } from '@mixins/index'
2
- import { consume } from '@lit/context'
3
2
  import { css, html } from 'lit'
4
- import { customElement, property, state } from 'lit/decorators.js'
5
- import { BehaviorSubject, combineLatest, takeUntil } from 'rxjs'
6
- import { tap } from 'rxjs/operators'
7
- import { SchmancyButtonSizeContext, type SchmancyButtonSize } from '../button/context'
3
+ import { customElement } from 'lit/decorators.js'
8
4
 
9
- /**
10
- * Icon size tokens - M3 aligned with optical size optimization
11
- * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)
12
- * - xs: 16px (opsz: 20) - fits in 32px buttons
13
- * - sm: 20px (opsz: 20) - fits in 40px buttons
14
- * - md: 24px (opsz: 24) - fits in 48px buttons (default)
15
- * - lg: 32px (opsz: 40) - fits in 56px buttons
16
- * - Or custom string like '48px'
17
- */
18
- export type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string
19
-
20
- /**
21
- * @element schmancy-icon
22
- * Material Symbols icon component with flexible font variation properties
23
- *
24
- * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)
25
- * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)
26
- * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)
27
- * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)
28
- * @cssprop --schmancy-icon-opsz - Optical size (default: 24)
29
- * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.
30
- */
31
5
  @customElement('schmancy-icon')
32
6
  export default class SchmancyIcon extends SchmancyElement {
33
7
  static styles = [css`
34
- :host {
35
- --schmancy-icon-size: 24px;
36
- --schmancy-icon-fill: 0;
37
- --schmancy-icon-weight: 400;
38
- --schmancy-icon-grade: 0;
39
- --schmancy-icon-opsz: 24;
40
-
41
- display: inline-flex;
42
- align-items: center;
43
- justify-content: center;
44
- width: var(--schmancy-icon-size);
45
- height: var(--schmancy-icon-size);
46
- font-size: var(--schmancy-icon-size);
47
- color: inherit;
48
- transition: font-variation-settings 0.2s ease;
49
- }
50
-
51
- .material-symbols {
52
- font-family: var(--schmancy-icon-font, 'Material Symbols Outlined');
53
- font-weight: normal;
54
- font-style: normal;
55
- line-height: 1;
56
- letter-spacing: normal;
57
- text-transform: none;
58
- display: inline-block;
59
- white-space: nowrap;
60
- word-wrap: normal;
61
- direction: ltr;
62
- -webkit-font-smoothing: antialiased;
63
- -webkit-font-feature-settings: 'liga';
64
- font-feature-settings: 'liga';
65
- font-variation-settings:
66
- 'FILL' var(--schmancy-icon-fill),
67
- 'wght' var(--schmancy-icon-weight),
68
- 'GRAD' var(--schmancy-icon-grade),
69
- 'opsz' var(--schmancy-icon-opsz);
70
- width: 100%;
71
- height: 100%;
72
- display: flex;
73
- align-items: center;
74
- justify-content: center;
75
- }
76
-
77
- /* CSS-generated content is NOT translated by Google Translate */
78
- .material-symbols[data-icon]::before {
79
- content: attr(data-icon);
80
- }
81
- `];
82
- // Static flag to track if Google Fonts have been loaded
83
- private static fontsLoaded = false
84
-
85
- /**
86
- * Load Material Symbols fonts from Google Fonts CDN
87
- */
88
- private static loadFonts(): void {
89
- if (SchmancyIcon.fontsLoaded) {
8
+ :host {
9
+ font-family: 'Material Symbols Outlined';
10
+ font-size: 24px;
11
+ width: 1em;
12
+ height: 1em;
13
+ color: inherit;
14
+ font-variation-settings: inherit;
15
+ font-weight: 400;
16
+ display: inline-flex;
17
+ font-style: normal;
18
+ place-items: center;
19
+ place-content: center;
20
+ line-height: 1;
21
+ overflow: hidden;
22
+ letter-spacing: normal;
23
+ text-transform: none;
24
+ user-select: none;
25
+ white-space: nowrap;
26
+ flex-shrink: 0;
27
+ -webkit-font-smoothing: antialiased;
28
+ text-rendering: optimizeLegibility;
29
+ }
30
+
31
+ ::slotted(svg) {
32
+ fill: currentColor;
33
+ }
34
+
35
+ ::slotted(*) {
36
+ height: 100%;
37
+ width: 100%;
38
+ }
39
+ `]
40
+
41
+ override connectedCallback(): void {
42
+ super.connectedCallback()
43
+ const ariaHidden = this.getAttribute('aria-hidden')
44
+ if (ariaHidden === 'false') {
45
+ this.removeAttribute('aria-hidden')
90
46
  return
91
47
  }
92
-
93
- const link = document.createElement('link')
94
- link.rel = 'stylesheet'
95
- link.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'
96
- document.head.appendChild(link)
97
-
98
- SchmancyIcon.fontsLoaded = true
99
- }
100
-
101
- /**
102
- * Fill value for the icon (0-1)
103
- * 0 = outlined, 1 = filled
104
- */
105
- @property({ type: Number, reflect: true })
106
- fill = 0
107
-
108
- /**
109
- * Weight value for the icon (100-700)
110
- * Controls the thickness of the icon strokes
111
- */
112
- @property({ type: Number, reflect: true })
113
- weight = 400
114
-
115
- /**
116
- * Grade value for the icon (-50-200)
117
- * Adjusts the visual weight/grade
118
- */
119
- @property({ type: Number, reflect: true })
120
- grade = 0
121
-
122
- /**
123
- * Icon variant style
124
- * @values outlined | rounded | sharp
125
- */
126
- @property({ type: String, reflect: true })
127
- variant: 'outlined' | 'rounded' | 'sharp' = 'outlined'
128
-
129
- /**
130
- * Size of the icon - M3 aligned tokens or custom string
131
- * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)
132
- * Custom: any CSS size string like '48px', '2rem'
133
- *
134
- * When this icon is a descendant of `<schmancy-button>`, the button's
135
- * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only
136
- * applies when there is no ancestor button.
137
- */
138
- @property({ type: String, reflect: true })
139
- size: IconSize = 'md'
140
-
141
- /**
142
- * Size inherited from an ancestor `<schmancy-button>` via context.
143
- * Undefined when the icon is not nested in a button.
144
- */
145
- @consume({ context: SchmancyButtonSizeContext, subscribe: true })
146
- @state()
147
- private _buttonSize?: SchmancyButtonSize
148
-
149
- /**
150
- * Icon name - use this instead of slot content to prevent translation breaking icons.
151
- * When set, this takes precedence over slot content.
152
- * Example: <schmancy-icon icon="delete"></schmancy-icon>
153
- */
154
- @property({ type: String })
155
- icon?: string
156
-
157
- // M3 aligned token sizes with optimal optical sizes
158
- private static readonly tokenSizes: Record<string, { size: string; opsz: number }> = {
159
- xxs: { size: '12px', opsz: 20 }, // fits in 24px buttons (ultra-compact)
160
- xs: { size: '16px', opsz: 20 }, // fits in 32px buttons
161
- sm: { size: '20px', opsz: 20 }, // fits in 40px buttons
162
- md: { size: '24px', opsz: 24 }, // fits in 48px buttons (default)
163
- lg: { size: '32px', opsz: 40 }, // fits in 56px buttons
164
- }
165
-
166
- /** Extract pixel value from a custom size string for optical size */
167
- private static computeOpticalSize(size: string): number {
168
- const px = parseFloat(size)
169
- return isNaN(px) ? 24 : Math.max(20, Math.min(48, Math.round(px)))
170
- }
171
-
172
- // RxJS subjects for reactive property updates
173
- private fill$ = new BehaviorSubject(this.fill)
174
- private weight$ = new BehaviorSubject(this.weight)
175
- private grade$ = new BehaviorSubject(this.grade)
176
- private variant$ = new BehaviorSubject(this.variant)
177
-
178
- // Captured icon name from slot content (translation-proof)
179
- @state()
180
- private _capturedIcon?: string
181
-
182
- // Observer for text content changes (ternaries update text nodes, not DOM structure)
183
- private _observer?: MutationObserver
184
-
185
- connectedCallback(): void {
186
- super.connectedCallback()
187
-
188
- // Capture initial icon name
189
- this._updateCapturedIcon()
190
-
191
- // Watch for text content changes (characterData) for dynamic icon updates
192
- this._observer = new MutationObserver(() => this._updateCapturedIcon())
193
- this._observer.observe(this, { childList: true, characterData: true, subtree: true })
194
-
195
- // Load Google Fonts if not already loaded
196
- SchmancyIcon.loadFonts()
197
-
198
- // Prevent browser translation from breaking icon ligatures
199
- // Using multiple methods for maximum compatibility:
200
- // - translate="no" (HTML5 standard)
201
- // - class="notranslate" (Google Translate specific)
48
+ this.setAttribute('aria-hidden', 'true')
202
49
  this.setAttribute('translate', 'no')
203
- this.classList.add('notranslate')
204
-
205
- // Set accessibility attributes for decorative icons
206
- if (!this.hasAttribute('aria-label') &&
207
- !this.hasAttribute('aria-labelledby') &&
208
- !this.hasAttribute('aria-hidden') &&
209
- !this.hasAttribute('role')) {
210
- this.setAttribute('aria-hidden', 'true')
211
- }
212
-
213
- // Setup reactive CSS variable updates
214
- combineLatest([
215
- this.fill$,
216
- this.weight$,
217
- this.grade$,
218
- this.variant$
219
- ]).pipe(
220
- tap(([fill, weight, grade, variant]) => {
221
- // Update CSS custom properties for smooth transitions
222
- this.style.setProperty('--schmancy-icon-fill', String(fill))
223
- this.style.setProperty('--schmancy-icon-weight', String(weight))
224
- this.style.setProperty('--schmancy-icon-grade', String(grade))
225
-
226
- // Update font family based on variant
227
- const fontFamily = {
228
- 'outlined': 'Material Symbols Outlined',
229
- 'rounded': 'Material Symbols Rounded',
230
- 'sharp': 'Material Symbols Sharp'
231
- }[variant] || 'Material Symbols Outlined'
232
-
233
- this.style.setProperty('--schmancy-icon-font', fontFamily)
234
- }),
235
- takeUntil(this.disconnecting)
236
- ).subscribe()
237
-
238
50
  }
239
51
 
240
- /**
241
- * Update captured icon from current text content
242
- */
243
- private _updateCapturedIcon(): void {
244
- if (!this.icon) {
245
- const textContent = this.textContent?.trim()
246
- if (textContent && textContent !== this._capturedIcon) {
247
- this._capturedIcon = textContent
248
- }
249
- }
250
- }
251
-
252
- protected updated(changedProperties: Map<string | number | symbol, unknown>): void {
253
- super.updated(changedProperties)
254
-
255
- // Update BehaviorSubjects when properties change
256
- if (changedProperties.has('fill')) {
257
- this.fill$.next(this.fill)
258
- }
259
- if (changedProperties.has('weight')) {
260
- this.weight$.next(this.weight)
261
- }
262
- if (changedProperties.has('grade')) {
263
- this.grade$.next(this.grade)
264
- }
265
- if (changedProperties.has('variant')) {
266
- this.variant$.next(this.variant)
267
- }
268
- }
269
-
270
- protected render(): unknown {
271
- const fontFamily = {
272
- 'outlined': 'Material Symbols Outlined',
273
- 'rounded': 'Material Symbols Rounded',
274
- 'sharp': 'Material Symbols Sharp'
275
- }[this.variant] || 'Material Symbols Outlined'
276
-
277
- // Effective size: ancestor `<schmancy-button>` wins via context, else local `size`.
278
- const effectiveSize: IconSize = this._buttonSize ?? this.size
279
- // Resolve size: token → px, bare number → px, or pass through as-is
280
- const sizeConfig = SchmancyIcon.tokenSizes[effectiveSize]
281
- const isNumeric = !sizeConfig && /^\d+(\.\d+)?$/.test(effectiveSize)
282
- const iconSize = sizeConfig?.size || (isNumeric ? `${effectiveSize}px` : effectiveSize)
283
- const opticalSize = sizeConfig?.opsz || SchmancyIcon.computeOpticalSize(iconSize)
284
-
285
- // Set size on HOST so :host CSS picks it up
286
- this.style.setProperty('--schmancy-icon-size', iconSize)
287
- this.style.setProperty('--schmancy-icon-opsz', String(opticalSize))
288
-
289
- const style = {
290
- '--schmancy-icon-fill': this.fill,
291
- '--schmancy-icon-weight': this.weight,
292
- '--schmancy-icon-grade': this.grade,
293
- '--schmancy-icon-font': fontFamily,
294
- }
295
-
296
- // Priority: icon property > captured icon (for dynamic content)
297
- const iconName = this.icon || this._capturedIcon
298
-
299
- // Always render slot (hidden) to observe content changes, display via data-icon
300
- return html`
301
- <span class="material-symbols notranslate" part="icon" translate="no" data-icon=${iconName || ''} style=${this.styleMap(style)}></span>
302
- <slot style="display:none"></slot>
303
- `
52
+ protected override render(): unknown {
53
+ return html`<slot></slot>`
304
54
  }
305
55
  }
306
56
 
@@ -308,4 +58,4 @@ declare global {
308
58
  interface HTMLElementTagNameMap {
309
59
  'schmancy-icon': SchmancyIcon
310
60
  }
311
- }
61
+ }
package/src/json/json.ts CHANGED
@@ -41,7 +41,7 @@ export class SchmancyJson extends SchmancyElement {
41
41
  @click=${this.copyJSON}
42
42
  >
43
43
  <div class="flex items-center justify-between mb-1">
44
- <schmancy-icon size="12px" class="text-on-surface-variant">content_copy</schmancy-icon>
44
+ <schmancy-icon class="text-xs text-on-surface-variant">content_copy</schmancy-icon>
45
45
  </div>
46
46
  <pre class="text-[10px] leading-tight">${unsafeHTML(highlighted)}</pre>
47
47
  </div>
@@ -182,9 +182,9 @@ export class SchmancyDataTable<T extends Record<string, any> = any> extends Schm
182
182
  return html`
183
183
  <span class="ml-1">
184
184
  ${this.sortDirection === 'asc'
185
- ? html`<schmancy-icon size="16px">arrow_upward</schmancy-icon>`
185
+ ? html`<schmancy-icon class="text-base">arrow_upward</schmancy-icon>`
186
186
  : this.sortDirection === 'desc'
187
- ? html`<schmancy-icon size="16px">arrow_downward</schmancy-icon>`
187
+ ? html`<schmancy-icon class="text-base">arrow_downward</schmancy-icon>`
188
188
  : null}
189
189
  </span>
190
190
  `
@@ -349,7 +349,7 @@ export class SchmancyThemeAudioPlayer extends SchmancyElement {
349
349
  this.currentThemeName !== 'default',
350
350
  () => html`
351
351
  <schmancy-button variant="text" size="sm" @click=${() => this.resetToDefaults()}>
352
- <schmancy-icon size="16px">refresh</schmancy-icon>
352
+ <schmancy-icon class="text-base">refresh</schmancy-icon>
353
353
  Reset
354
354
  </schmancy-button>
355
355
  `
@@ -68,7 +68,7 @@ export declare class SchmancyBadgeV2 extends SchmancyElement {
68
68
  * Get icon size based on badge size with harmonious proportions
69
69
  * Using golden ratio-inspired proportions relative to text size
70
70
  */
71
- private getIconSize;
71
+ private getIconSizeClass;
72
72
  /**
73
73
  * Get additional styling for specific sizes
74
74
  */
@@ -1,88 +1,7 @@
1
1
  import { SchmancyElement } from '@mixins/index';
2
- /**
3
- * Icon size tokens - M3 aligned with optical size optimization
4
- * - xxs: 12px (opsz: 20) - fits in 24px buttons (ultra-compact)
5
- * - xs: 16px (opsz: 20) - fits in 32px buttons
6
- * - sm: 20px (opsz: 20) - fits in 40px buttons
7
- * - md: 24px (opsz: 24) - fits in 48px buttons (default)
8
- * - lg: 32px (opsz: 40) - fits in 56px buttons
9
- * - Or custom string like '48px'
10
- */
11
- export type IconSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | string;
12
- /**
13
- * @element schmancy-icon
14
- * Material Symbols icon component with flexible font variation properties
15
- *
16
- * @cssprop --schmancy-icon-size - The size of the icon (default: 24px)
17
- * @cssprop --schmancy-icon-fill - Fill value for icon (0-1)
18
- * @cssprop --schmancy-icon-weight - Weight value for icon (100-700)
19
- * @cssprop --schmancy-icon-grade - Grade value for icon (-50-200)
20
- * @cssprop --schmancy-icon-opsz - Optical size (default: 24)
21
- * @csspart icon - The inner `<span>` carrying the Material Symbols glyph.
22
- */
23
2
  export default class SchmancyIcon extends SchmancyElement {
24
3
  static styles: import("lit").CSSResult[];
25
- private static fontsLoaded;
26
- /**
27
- * Load Material Symbols fonts from Google Fonts CDN
28
- */
29
- private static loadFonts;
30
- /**
31
- * Fill value for the icon (0-1)
32
- * 0 = outlined, 1 = filled
33
- */
34
- fill: number;
35
- /**
36
- * Weight value for the icon (100-700)
37
- * Controls the thickness of the icon strokes
38
- */
39
- weight: number;
40
- /**
41
- * Grade value for the icon (-50-200)
42
- * Adjusts the visual weight/grade
43
- */
44
- grade: number;
45
- /**
46
- * Icon variant style
47
- * @values outlined | rounded | sharp
48
- */
49
- variant: 'outlined' | 'rounded' | 'sharp';
50
- /**
51
- * Size of the icon - M3 aligned tokens or custom string
52
- * Tokens: 'xxs' (12px), 'xs' (16px), 'sm' (20px), 'md' (24px), 'lg' (32px)
53
- * Custom: any CSS size string like '48px', '2rem'
54
- *
55
- * When this icon is a descendant of `<schmancy-button>`, the button's
56
- * `size` wins (via `SchmancyButtonSizeContext`). The local `size` only
57
- * applies when there is no ancestor button.
58
- */
59
- size: IconSize;
60
- /**
61
- * Size inherited from an ancestor `<schmancy-button>` via context.
62
- * Undefined when the icon is not nested in a button.
63
- */
64
- private _buttonSize?;
65
- /**
66
- * Icon name - use this instead of slot content to prevent translation breaking icons.
67
- * When set, this takes precedence over slot content.
68
- * Example: <schmancy-icon icon="delete"></schmancy-icon>
69
- */
70
- icon?: string;
71
- private static readonly tokenSizes;
72
- /** Extract pixel value from a custom size string for optical size */
73
- private static computeOpticalSize;
74
- private fill$;
75
- private weight$;
76
- private grade$;
77
- private variant$;
78
- private _capturedIcon?;
79
- private _observer?;
80
4
  connectedCallback(): void;
81
- /**
82
- * Update captured icon from current text content
83
- */
84
- private _updateCapturedIcon;
85
- protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
86
5
  protected render(): unknown;
87
6
  }
88
7
  declare global {