@mcp-b/web-components 0.2.0

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 (366) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -0
  3. package/dist/accordion-B1Q3kuP_.d.ts +373 -0
  4. package/dist/accordion-item-DvPfhpm8.js +307 -0
  5. package/dist/accordion-item-bPRIahNn.d.ts +63 -0
  6. package/dist/accordion-zDr-Br4V.js +483 -0
  7. package/dist/action-bar-CYsjmhwP.d.ts +29 -0
  8. package/dist/action-bar-CjN_UcnP.js +56 -0
  9. package/dist/alert-dialog-4CnO3Nb5.d.ts +60 -0
  10. package/dist/alert-dialog-D25Oi_TS.js +126 -0
  11. package/dist/avatar-Bje_KpZo.d.ts +141 -0
  12. package/dist/avatar-CRP0kW3x.js +224 -0
  13. package/dist/badge-Ct95U4UO.js +301 -0
  14. package/dist/badge-D1DNQrWn.d.ts +106 -0
  15. package/dist/breadcrumb-BxZ-nQE5.d.ts +365 -0
  16. package/dist/breadcrumb-item-BC454oQe.d.ts +59 -0
  17. package/dist/breadcrumb-item-P5pdq_gE.js +151 -0
  18. package/dist/breadcrumb-uURhiqWJ.js +384 -0
  19. package/dist/button-5k_aL_gD.js +802 -0
  20. package/dist/button-BQofnUt4.d.ts +354 -0
  21. package/dist/button-group-BydvJTQy.js +197 -0
  22. package/dist/button-group-COodHeuB.d.ts +155 -0
  23. package/dist/callout-B8zTf8Go.js +188 -0
  24. package/dist/callout-DFwPao36.d.ts +103 -0
  25. package/dist/card-BYDzdMAU.d.ts +177 -0
  26. package/dist/card-DIg1-X2G.js +332 -0
  27. package/dist/carousel-Bktu7wrD.js +843 -0
  28. package/dist/carousel-DQITCtEY.d.ts +423 -0
  29. package/dist/carousel-item-B5-X31Ha.js +79 -0
  30. package/dist/carousel-item-BB3jL2tk.d.ts +34 -0
  31. package/dist/cdn/loader.js +530 -0
  32. package/dist/checkbox-D6r7PVPj.js +641 -0
  33. package/dist/checkbox-DoFcDEKB.d.ts +354 -0
  34. package/dist/checkbox-group-CLvNAO_F.js +201 -0
  35. package/dist/checkbox-group-Cnh8rAn4.d.ts +152 -0
  36. package/dist/color-input-Bky89xg_.d.ts +470 -0
  37. package/dist/color-input-DPIxi9wR.js +894 -0
  38. package/dist/color-picker-adwOmtRl.js +1240 -0
  39. package/dist/color-picker-wQw8bPsq.d.ts +360 -0
  40. package/dist/combobox-B6al50UG.js +1693 -0
  41. package/dist/combobox-item-D2H1CMxC.d.ts +714 -0
  42. package/dist/combobox-item-yM6tDrGG.js +225 -0
  43. package/dist/comparison-B1-nMwmp.d.ts +134 -0
  44. package/dist/comparison-CyqKrCN-.js +435 -0
  45. package/dist/components/accordion/accordion.d.ts +2 -0
  46. package/dist/components/accordion/accordion.js +2 -0
  47. package/dist/components/accordion-item/accordion-item.d.ts +2 -0
  48. package/dist/components/accordion-item/accordion-item.js +2 -0
  49. package/dist/components/action-bar/action-bar.d.ts +2 -0
  50. package/dist/components/action-bar/action-bar.js +2 -0
  51. package/dist/components/alert-dialog/alert-dialog.d.ts +2 -0
  52. package/dist/components/alert-dialog/alert-dialog.js +2 -0
  53. package/dist/components/avatar/avatar.d.ts +2 -0
  54. package/dist/components/avatar/avatar.js +2 -0
  55. package/dist/components/badge/badge.d.ts +2 -0
  56. package/dist/components/badge/badge.js +2 -0
  57. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -0
  58. package/dist/components/breadcrumb/breadcrumb.js +2 -0
  59. package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +2 -0
  60. package/dist/components/breadcrumb-item/breadcrumb-item.js +2 -0
  61. package/dist/components/button/button.d.ts +2 -0
  62. package/dist/components/button/button.js +2 -0
  63. package/dist/components/button-group/button-group.d.ts +2 -0
  64. package/dist/components/button-group/button-group.js +2 -0
  65. package/dist/components/callout/callout.d.ts +2 -0
  66. package/dist/components/callout/callout.js +2 -0
  67. package/dist/components/card/card.d.ts +2 -0
  68. package/dist/components/card/card.js +2 -0
  69. package/dist/components/carousel/carousel.d.ts +2 -0
  70. package/dist/components/carousel/carousel.js +2 -0
  71. package/dist/components/carousel-item/carousel-item.d.ts +2 -0
  72. package/dist/components/carousel-item/carousel-item.js +2 -0
  73. package/dist/components/checkbox/checkbox.d.ts +2 -0
  74. package/dist/components/checkbox/checkbox.js +2 -0
  75. package/dist/components/checkbox-group/checkbox-group.d.ts +2 -0
  76. package/dist/components/checkbox-group/checkbox-group.js +2 -0
  77. package/dist/components/color-input/color-input.d.ts +2 -0
  78. package/dist/components/color-input/color-input.js +2 -0
  79. package/dist/components/color-picker/color-picker.d.ts +2 -0
  80. package/dist/components/color-picker/color-picker.js +2 -0
  81. package/dist/components/combobox/combobox.d.ts +2 -0
  82. package/dist/components/combobox/combobox.js +2 -0
  83. package/dist/components/combobox-item/combobox-item.d.ts +2 -0
  84. package/dist/components/combobox-item/combobox-item.js +2 -0
  85. package/dist/components/comparison/comparison.d.ts +2 -0
  86. package/dist/components/comparison/comparison.js +2 -0
  87. package/dist/components/copy/copy.d.ts +2 -0
  88. package/dist/components/copy/copy.js +291 -0
  89. package/dist/components/data-table/data-table.d.ts +2 -0
  90. package/dist/components/data-table/data-table.js +2 -0
  91. package/dist/components/date/date.d.ts +2 -0
  92. package/dist/components/date/date.js +2 -0
  93. package/dist/components/dialog/dialog.d.ts +2 -0
  94. package/dist/components/dialog/dialog.js +2 -0
  95. package/dist/components/divider/divider.d.ts +2 -0
  96. package/dist/components/divider/divider.js +2 -0
  97. package/dist/components/dropdown/dropdown.d.ts +2 -0
  98. package/dist/components/dropdown/dropdown.js +2 -0
  99. package/dist/components/dropdown-item/dropdown-item.d.ts +2 -0
  100. package/dist/components/dropdown-item/dropdown-item.js +2 -0
  101. package/dist/components/empty-result/empty-result.d.ts +2 -0
  102. package/dist/components/empty-result/empty-result.js +2 -0
  103. package/dist/components/empty-state/empty-state.d.ts +2 -0
  104. package/dist/components/empty-state/empty-state.js +2 -0
  105. package/dist/components/expander/expander.d.ts +2 -0
  106. package/dist/components/expander/expander.js +2 -0
  107. package/dist/components/field/field.d.ts +2 -0
  108. package/dist/components/field/field.js +2 -0
  109. package/dist/components/file-input/file-input.d.ts +2 -0
  110. package/dist/components/file-input/file-input.js +2 -0
  111. package/dist/components/filter-bar/filter-bar.d.ts +2 -0
  112. package/dist/components/filter-bar/filter-bar.js +2 -0
  113. package/dist/components/form-section/form-section.d.ts +2 -0
  114. package/dist/components/form-section/form-section.js +2 -0
  115. package/dist/components/icon/icon.d.ts +2 -0
  116. package/dist/components/icon/icon.js +2 -0
  117. package/dist/components/include/include.d.ts +2 -0
  118. package/dist/components/include/include.js +2 -0
  119. package/dist/components/index.d.ts +85 -0
  120. package/dist/components/index.js +86 -0
  121. package/dist/components/infinite-scroller/infinite-scroller.d.ts +2 -0
  122. package/dist/components/infinite-scroller/infinite-scroller.js +2 -0
  123. package/dist/components/intersection-observer/intersection-observer.d.ts +2 -0
  124. package/dist/components/intersection-observer/intersection-observer.js +2 -0
  125. package/dist/components/listbox/listbox.d.ts +2 -0
  126. package/dist/components/listbox/listbox.js +2 -0
  127. package/dist/components/listbox-item/listbox-item.d.ts +2 -0
  128. package/dist/components/listbox-item/listbox-item.js +2 -0
  129. package/dist/components/lorem-ipsum/lorem-ipsum.d.ts +2 -0
  130. package/dist/components/lorem-ipsum/lorem-ipsum.js +2 -0
  131. package/dist/components/meter/meter.d.ts +2 -0
  132. package/dist/components/meter/meter.js +2 -0
  133. package/dist/components/metric/metric.d.ts +2 -0
  134. package/dist/components/metric/metric.js +2 -0
  135. package/dist/components/metric-grid/metric-grid.d.ts +2 -0
  136. package/dist/components/metric-grid/metric-grid.js +2 -0
  137. package/dist/components/mutation-observer/mutation-observer.d.ts +2 -0
  138. package/dist/components/mutation-observer/mutation-observer.js +2 -0
  139. package/dist/components/navicon/navicon.d.ts +2 -0
  140. package/dist/components/navicon/navicon.js +2 -0
  141. package/dist/components/number/number.d.ts +2 -0
  142. package/dist/components/number/number.js +2 -0
  143. package/dist/components/number-field/number-field.d.ts +2 -0
  144. package/dist/components/number-field/number-field.js +2 -0
  145. package/dist/components/pagination/pagination.d.ts +2 -0
  146. package/dist/components/pagination/pagination.js +2 -0
  147. package/dist/components/popover/popover.d.ts +2 -0
  148. package/dist/components/popover/popover.js +2 -0
  149. package/dist/components/preview-card/preview-card.d.ts +2 -0
  150. package/dist/components/preview-card/preview-card.js +2 -0
  151. package/dist/components/progress/progress.d.ts +2 -0
  152. package/dist/components/progress/progress.js +2 -0
  153. package/dist/components/radio/radio.d.ts +2 -0
  154. package/dist/components/radio/radio.js +2 -0
  155. package/dist/components/radio-item/radio-item.d.ts +2 -0
  156. package/dist/components/radio-item/radio-item.js +2 -0
  157. package/dist/components/random-content/random-content.d.ts +2 -0
  158. package/dist/components/random-content/random-content.js +2 -0
  159. package/dist/components/rating/rating.d.ts +2 -0
  160. package/dist/components/rating/rating.js +2 -0
  161. package/dist/components/resize-observer/resize-observer.d.ts +2 -0
  162. package/dist/components/resize-observer/resize-observer.js +2 -0
  163. package/dist/components/scroll-area/scroll-area.d.ts +2 -0
  164. package/dist/components/scroll-area/scroll-area.js +2 -0
  165. package/dist/components/scroller/scroller.d.ts +2 -0
  166. package/dist/components/scroller/scroller.js +2 -0
  167. package/dist/components/search-list/search-list.d.ts +2 -0
  168. package/dist/components/search-list/search-list.js +2 -0
  169. package/dist/components/select/select.d.ts +2 -0
  170. package/dist/components/select/select.js +2 -0
  171. package/dist/components/selection-summary/selection-summary.d.ts +2 -0
  172. package/dist/components/selection-summary/selection-summary.js +2 -0
  173. package/dist/components/share/share.d.ts +2 -0
  174. package/dist/components/share/share.js +2 -0
  175. package/dist/components/slide-activator/slide-activator.d.ts +2 -0
  176. package/dist/components/slide-activator/slide-activator.js +2 -0
  177. package/dist/components/slider/slider.d.ts +2 -0
  178. package/dist/components/slider/slider.js +2 -0
  179. package/dist/components/sparkline/sparkline.d.ts +2 -0
  180. package/dist/components/sparkline/sparkline.js +2 -0
  181. package/dist/components/spinner/spinner.d.ts +2 -0
  182. package/dist/components/spinner/spinner.js +2 -0
  183. package/dist/components/splitter/splitter.d.ts +2 -0
  184. package/dist/components/splitter/splitter.js +2 -0
  185. package/dist/components/switch/switch.d.ts +2 -0
  186. package/dist/components/switch/switch.js +2 -0
  187. package/dist/components/tab/tab.d.ts +2 -0
  188. package/dist/components/tab/tab.js +2 -0
  189. package/dist/components/tab-list/tab-list.d.ts +2 -0
  190. package/dist/components/tab-list/tab-list.js +2 -0
  191. package/dist/components/tab-panel/tab-panel.d.ts +2 -0
  192. package/dist/components/tab-panel/tab-panel.js +2 -0
  193. package/dist/components/text-area/text-area.d.ts +2 -0
  194. package/dist/components/text-area/text-area.js +2 -0
  195. package/dist/components/text-field/text-field.d.ts +2 -0
  196. package/dist/components/text-field/text-field.js +2 -0
  197. package/dist/components/text-mask/text-mask.d.ts +2 -0
  198. package/dist/components/text-mask/text-mask.js +2 -0
  199. package/dist/components/timed-content/timed-content.d.ts +2 -0
  200. package/dist/components/timed-content/timed-content.js +2 -0
  201. package/dist/components/toast/toast.d.ts +2 -0
  202. package/dist/components/toast/toast.js +2 -0
  203. package/dist/components/toast-item/toast-item.d.ts +2 -0
  204. package/dist/components/toast-item/toast-item.js +2 -0
  205. package/dist/components/toggle-icon/toggle-icon.d.ts +2 -0
  206. package/dist/components/toggle-icon/toggle-icon.js +2 -0
  207. package/dist/components/toggle-tag/toggle-tag.d.ts +2 -0
  208. package/dist/components/toggle-tag/toggle-tag.js +2 -0
  209. package/dist/components/toolbar/toolbar.d.ts +2 -0
  210. package/dist/components/toolbar/toolbar.js +2 -0
  211. package/dist/components/tooltip/tooltip.d.ts +2 -0
  212. package/dist/components/tooltip/tooltip.js +2 -0
  213. package/dist/components/transition-group/transition-group.d.ts +2 -0
  214. package/dist/components/transition-group/transition-group.js +2 -0
  215. package/dist/components/zoomable-frame/zoomable-frame.d.ts +2 -0
  216. package/dist/components/zoomable-frame/zoomable-frame.js +2 -0
  217. package/dist/copy-CvC9vaGw.d.ts +206 -0
  218. package/dist/copy.styles-DWGvGNTP.js +100 -0
  219. package/dist/data-table-CITa8DSn.js +247 -0
  220. package/dist/data-table-DL5RhE0d.d.ts +89 -0
  221. package/dist/date-CJPmOdi9.js +146 -0
  222. package/dist/date-DtaTBM71.d.ts +142 -0
  223. package/dist/decorate-DcF3lt7P.js +9 -0
  224. package/dist/dialog-Cx46HMaZ.js +983 -0
  225. package/dist/dialog-N-v0woIy.d.ts +414 -0
  226. package/dist/divider-9vNsfHW8.js +169 -0
  227. package/dist/divider-DWuAxcXv.d.ts +79 -0
  228. package/dist/docs/custom-elements.json +29301 -0
  229. package/dist/dropdown-BXSKpVX9.js +1123 -0
  230. package/dist/dropdown-Bo00Vlr5.d.ts +537 -0
  231. package/dist/dropdown-item-_lIs-Tfd.d.ts +111 -0
  232. package/dist/dropdown-item-i77cRuN6.js +504 -0
  233. package/dist/empty-result-B2ln1yFL.js +65 -0
  234. package/dist/empty-result-B54x_Ab2.d.ts +31 -0
  235. package/dist/empty-state-BLWjtKUo.js +186 -0
  236. package/dist/empty-state-SGKjpwp3.d.ts +117 -0
  237. package/dist/expander-BUev0BmM.d.ts +174 -0
  238. package/dist/expander-Bwvxj6Oa.js +342 -0
  239. package/dist/field-BEyS909F.js +163 -0
  240. package/dist/field-ITx0jVw-.d.ts +69 -0
  241. package/dist/file-input-BEumLJjg.js +841 -0
  242. package/dist/file-input-D2D6YC0B.d.ts +378 -0
  243. package/dist/filter-bar-Bj2QzEn9.d.ts +35 -0
  244. package/dist/filter-bar-Dcs67aXo.js +66 -0
  245. package/dist/form-section-BchPetkj.js +83 -0
  246. package/dist/form-section-xFBTBULQ.d.ts +34 -0
  247. package/dist/icon-BPVkNsY4.js +165 -0
  248. package/dist/icon-Ci9CPZJV.d.ts +72 -0
  249. package/dist/icon-library-D_if7p2h.d.ts +2 -0
  250. package/dist/include-CQHVVtNs.d.ts +103 -0
  251. package/dist/include-qNUh_6kT.js +155 -0
  252. package/dist/index.d.ts +89 -0
  253. package/dist/index.js +92 -0
  254. package/dist/infinite-scroller-BmmtnWNt.js +285 -0
  255. package/dist/infinite-scroller-CuUEAlB9.d.ts +174 -0
  256. package/dist/intersection-observer-B6TciOAQ.js +503 -0
  257. package/dist/intersection-observer-B7nmP7Zz.d.ts +418 -0
  258. package/dist/listbox-C3XXRWGX.js +1257 -0
  259. package/dist/listbox-DD4ujIJe.d.ts +682 -0
  260. package/dist/listbox-item-CwD9s3VY.js +135 -0
  261. package/dist/listbox-item-DQEJWp4Z.d.ts +53 -0
  262. package/dist/localize-322EtXNX.d.ts +66 -0
  263. package/dist/lorem-ipsum-B2x3V-v8.js +198 -0
  264. package/dist/lorem-ipsum-CR82CSuJ.d.ts +130 -0
  265. package/dist/meter-BC7uaJWf.d.ts +73 -0
  266. package/dist/meter-BIDyjwFp.js +155 -0
  267. package/dist/metric-CjlLq_VA.d.ts +36 -0
  268. package/dist/metric-DbuOcDp_.js +86 -0
  269. package/dist/metric-grid-C2Pb0Zl3.js +37 -0
  270. package/dist/metric-grid-C5Xbb1_0.d.ts +27 -0
  271. package/dist/mutation-observer-BmrZ-GER.d.ts +326 -0
  272. package/dist/mutation-observer-DS8EBuOp.js +388 -0
  273. package/dist/navicon-Dic5Qjzb.d.ts +159 -0
  274. package/dist/navicon-_yMHY27-.js +486 -0
  275. package/dist/number-BNtNXNF3.js +162 -0
  276. package/dist/number-BwbnErlB.d.ts +143 -0
  277. package/dist/number-field-BQHB7UYo.js +726 -0
  278. package/dist/number-field-odk4lKXM.d.ts +422 -0
  279. package/dist/pagination-6z2qcf3U.d.ts +322 -0
  280. package/dist/pagination-DuKPuzdb.js +679 -0
  281. package/dist/popover-D0sxTU6o.d.ts +259 -0
  282. package/dist/popover-DJBrJ0za.js +556 -0
  283. package/dist/preview-card-C7H1FPfd.js +287 -0
  284. package/dist/preview-card-DitOCZTD.d.ts +86 -0
  285. package/dist/progress-Db0_axHQ.d.ts +181 -0
  286. package/dist/progress-DzVk260j.js +494 -0
  287. package/dist/radio-BtDG9xJM.js +658 -0
  288. package/dist/radio-CieMa4zU.d.ts +460 -0
  289. package/dist/radio-item-DIrUStAX.js +264 -0
  290. package/dist/radio-item-Xq2U3cMu.d.ts +69 -0
  291. package/dist/random-content-BhSeJFKz.d.ts +380 -0
  292. package/dist/random-content-BwiirXdG.js +450 -0
  293. package/dist/rating-4xNsWumY.d.ts +369 -0
  294. package/dist/rating-C1BcJDIO.js +722 -0
  295. package/dist/resize-observer-BseSbVWP.d.ts +187 -0
  296. package/dist/resize-observer-DcrLhddo.js +236 -0
  297. package/dist/scroll-area-COc1857S.js +127 -0
  298. package/dist/scroll-area-CVYDf5qY.d.ts +61 -0
  299. package/dist/scroller-LYgBVyfY.js +590 -0
  300. package/dist/scroller-bB2rGs7b.d.ts +374 -0
  301. package/dist/search-list-Clmrg8EV.js +884 -0
  302. package/dist/search-list-n0GYO7rh.d.ts +777 -0
  303. package/dist/select-CkZK2jJn.d.ts +506 -0
  304. package/dist/select-DLIaRnA4.js +690 -0
  305. package/dist/selection-summary-BVnNJ8Lw.js +48 -0
  306. package/dist/selection-summary-DmFkGyZI.d.ts +34 -0
  307. package/dist/share-DPlqP2dc.d.ts +162 -0
  308. package/dist/share-bsgXZCl7.js +250 -0
  309. package/dist/sigvelo.d.ts +5 -0
  310. package/dist/sigvelo.js +5 -0
  311. package/dist/sigvelo.loader.d.ts +3 -0
  312. package/dist/sigvelo.loader.js +102 -0
  313. package/dist/slide-activator-D7bBz69E.d.ts +429 -0
  314. package/dist/slide-activator-DlxQt9R9.js +798 -0
  315. package/dist/slider-B0FVsV1o.d.ts +921 -0
  316. package/dist/slider-B90Il7x3.js +1744 -0
  317. package/dist/sparkline-CcpTaJ_Z.js +358 -0
  318. package/dist/sparkline-DlCIt81-.d.ts +235 -0
  319. package/dist/spinner-C04Dmc0H.js +188 -0
  320. package/dist/spinner-CZ19x_dC.d.ts +99 -0
  321. package/dist/splitter-DBDJAzsp.d.ts +325 -0
  322. package/dist/splitter-MnD4In9H.js +638 -0
  323. package/dist/switch-CPaEKbog.js +581 -0
  324. package/dist/switch-Cief9M59.d.ts +248 -0
  325. package/dist/tab-BcqYGsuW.d.ts +44 -0
  326. package/dist/tab-C-FtuNmh.js +102 -0
  327. package/dist/tab-list-B_Ye_Oj9.js +691 -0
  328. package/dist/tab-list-DDvS8qHr.d.ts +450 -0
  329. package/dist/tab-panel-BaBl6eep.js +60 -0
  330. package/dist/tab-panel-BzSJlSfd.d.ts +38 -0
  331. package/dist/text-area-B_mjCE9W.d.ts +327 -0
  332. package/dist/text-area-Czixaz-_.js +556 -0
  333. package/dist/text-field-BClWMp6q.d.ts +424 -0
  334. package/dist/text-field-inpJfp0A.js +687 -0
  335. package/dist/text-mask-CNKVKSFp.d.ts +336 -0
  336. package/dist/text-mask-DDEurj90.js +370 -0
  337. package/dist/themes/sigvelo.css +10 -0
  338. package/dist/themes/utilities.css +9 -0
  339. package/dist/timed-content-D2mGFamc.d.ts +181 -0
  340. package/dist/timed-content-pvEP4l5V.js +226 -0
  341. package/dist/toast-BnZaIg6Z.js +636 -0
  342. package/dist/toast-cEBVK9NQ.d.ts +487 -0
  343. package/dist/toast-item-BPpJT6vD.d.ts +159 -0
  344. package/dist/toast-item-IS8IFUEg.js +372 -0
  345. package/dist/toggle-icon-4oLDeEt4.js +752 -0
  346. package/dist/toggle-icon-DlwMMWZL.d.ts +359 -0
  347. package/dist/toggle-tag-1sfTFJtg.js +434 -0
  348. package/dist/toggle-tag-IVvMGT4R.d.ts +245 -0
  349. package/dist/toolbar-CABq0ZL1.d.ts +122 -0
  350. package/dist/toolbar-CEZ0-F-X.js +196 -0
  351. package/dist/tooltip-DbyoPFNe.js +521 -0
  352. package/dist/tooltip-ahFthek8.d.ts +192 -0
  353. package/dist/transition-group-3hnAnwSd.js +801 -0
  354. package/dist/transition-group-DD_CjSNC.d.ts +608 -0
  355. package/dist/translations/en.d.ts +6 -0
  356. package/dist/translations/en.js +75 -0
  357. package/dist/translations/es.d.ts +6 -0
  358. package/dist/translations/es.js +75 -0
  359. package/dist/types/custom-element-jsx.d.ts +13723 -0
  360. package/dist/utilities/icon-library.d.ts +3 -0
  361. package/dist/utilities/icon-library.js +93 -0
  362. package/dist/utilities/localize.d.ts +2 -0
  363. package/dist/utilities/localize.js +6 -0
  364. package/dist/zoomable-frame-Cldvj5sE.js +398 -0
  365. package/dist/zoomable-frame-r6S6587z.d.ts +162 -0
  366. package/package.json +83 -0
@@ -0,0 +1,752 @@
1
+ import { t as __decorate } from "./decorate-DcF3lt7P.js";
2
+ import { css, html } from "lit";
3
+ import { property, query, state } from "lit/decorators.js";
4
+ import hostStyles from "@mcp-b/wc-support/styles/host.styles";
5
+ import { SigveloFormControlElement } from "@mcp-b/wc-support/base/sigvelo-element";
6
+ import { classMap } from "lit/directives/class-map.js";
7
+ import { SigveloBlurEvent, SigveloChangeEvent, SigveloFocusEvent, SigveloInputEvent } from "@mcp-b/wc-support/events/form";
8
+ //#region src/components/toggle-icon/toggle-icon.styles.ts
9
+ var toggle_icon_styles_default = css`
10
+ :host {
11
+ --animation-speed: var(--sigvelo-motion-duration-layout);
12
+ --checked-color: #f59e0b;
13
+ --unchecked-color: var(--sigvelo-color-neutral-bg);
14
+
15
+ display: inline-flex;
16
+ }
17
+
18
+ button {
19
+ /* Make button a grid container */
20
+ display: grid;
21
+ appearance: none;
22
+ position: relative;
23
+ grid-template-areas: "icon";
24
+ align-items: center;
25
+ justify-items: center;
26
+ width: 100%;
27
+ padding: 0.25em;
28
+ overflow: hidden;
29
+ border: none;
30
+ border-radius: var(--sigvelo-radius-md);
31
+ background: none;
32
+ font: inherit;
33
+ text-decoration: none;
34
+ vertical-align: middle;
35
+ white-space: nowrap;
36
+ cursor: pointer;
37
+ touch-action: manipulation;
38
+ transition:
39
+ var(--sigvelo-motion-duration-interaction) color ease,
40
+ var(--sigvelo-motion-duration-interaction) border-color ease,
41
+ var(--sigvelo-motion-duration-interaction) background-color ease,
42
+ var(--sigvelo-motion-duration-interaction) translate ease,
43
+ var(--animation-speed) opacity ease,
44
+ var(--animation-speed) transform ease;
45
+ user-select: none;
46
+ -webkit-user-select: none;
47
+
48
+ @media (prefers-reduced-motion) {
49
+ --animation-speed: 0;
50
+ }
51
+
52
+ &:focus {
53
+ outline: none;
54
+ }
55
+
56
+ &:focus-visible {
57
+ outline: var(--sigvelo-focus-ring);
58
+ outline-offset: var(--sigvelo-focus-offset);
59
+ }
60
+
61
+ /* Sizes */
62
+ &.xs {
63
+ font-size: calc(var(--sigvelo-control-text-xs) * 1.25);
64
+ }
65
+
66
+ &.sm {
67
+ font-size: calc(var(--sigvelo-control-text-sm) * 1.25);
68
+ }
69
+
70
+ &.md {
71
+ font-size: calc(var(--sigvelo-control-text-md) * 1.25);
72
+ }
73
+
74
+ &.lg {
75
+ font-size: calc(var(--sigvelo-control-text-lg) * 1.25);
76
+ }
77
+
78
+ &.xl {
79
+ font-size: calc(var(--sigvelo-control-text-xl) * 1.25);
80
+ }
81
+ }
82
+
83
+ /* Both slots are positioned in the same grid area to ensure overlap */
84
+ .checked-icon,
85
+ .unchecked-icon {
86
+ display: grid;
87
+ grid-area: icon;
88
+ place-items: center;
89
+ width: 100%;
90
+ height: 100%;
91
+ transition:
92
+ opacity var(--sigvelo-motion-duration-interaction) ease,
93
+ transform var(--sigvelo-motion-duration-interaction) ease;
94
+ }
95
+
96
+ /* Untoggled state */
97
+ .unchecked-icon {
98
+ transform: scale(1);
99
+ color: var(--unchecked-color);
100
+ opacity: 1;
101
+ }
102
+
103
+ .checked-icon {
104
+ transform: scale(0.8);
105
+ color: var(--checked-color);
106
+ opacity: 0;
107
+ }
108
+
109
+ /* Toggled state */
110
+ .checked .checked-icon {
111
+ transform: scale(1);
112
+ opacity: 1;
113
+ }
114
+
115
+ .checked .unchecked-icon {
116
+ transform: scale(0.8);
117
+ opacity: 0;
118
+ }
119
+
120
+ /* Disabled */
121
+ .disabled {
122
+ cursor: not-allowed;
123
+ opacity: 0.5;
124
+ }
125
+
126
+ /* Fade animation */
127
+ button[data-effect="fade"] {
128
+ .checked-icon,
129
+ .unchecked-icon {
130
+ transform: scale(1);
131
+ transition: opacity var(--animation-speed) ease;
132
+ }
133
+ }
134
+
135
+ /* Flip X animation */
136
+ button[data-effect="flip-x"] {
137
+ .checked-icon,
138
+ .unchecked-icon {
139
+ backface-visibility: hidden; /* Hide the back face during animation */
140
+ transition:
141
+ opacity var(--animation-speed) ease,
142
+ transform var(--animation-speed) ease;
143
+ }
144
+
145
+ .unchecked-icon {
146
+ transform: rotateY(0deg);
147
+ }
148
+
149
+ &:dir(ltr) .checked-icon {
150
+ transform: rotateY(180deg);
151
+ opacity: 0;
152
+ }
153
+
154
+ &:dir(rtl) .checked-icon {
155
+ transform: rotateY(-180deg);
156
+ opacity: 0;
157
+ }
158
+
159
+ &:dir(ltr).checked .unchecked-icon {
160
+ transform: rotateY(-180deg);
161
+ opacity: 0;
162
+ transition:
163
+ opacity calc(var(--animation-speed) * 0.6) ease,
164
+ transform var(--animation-speed) ease;
165
+ }
166
+
167
+ &:dir(rtl).checked .unchecked-icon {
168
+ transform: rotateY(180deg);
169
+ opacity: 0;
170
+ transition:
171
+ opacity calc(var(--animation-speed) * 0.6) ease,
172
+ transform var(--animation-speed) ease;
173
+ }
174
+
175
+ &.checked .checked-icon {
176
+ transform: rotateY(0deg);
177
+ opacity: 1;
178
+ }
179
+ }
180
+
181
+ /* Flip Y animation */
182
+ button[data-effect="flip-y"] {
183
+ .checked-icon,
184
+ .unchecked-icon {
185
+ backface-visibility: hidden; /* Hide the back face during animation */
186
+ transition:
187
+ opacity var(--animation-speed) ease,
188
+ transform var(--animation-speed) ease;
189
+ }
190
+
191
+ .unchecked-icon {
192
+ transform: rotateX(0deg);
193
+ }
194
+
195
+ .checked-icon {
196
+ transform: rotateX(180deg);
197
+ opacity: 0;
198
+ }
199
+
200
+ &.checked .unchecked-icon {
201
+ transform: rotateX(-180deg);
202
+ opacity: 0;
203
+ /* Add a slightly faster opacity transition to hide it more quickly */
204
+ transition:
205
+ opacity calc(var(--animation-speed) * 0.6) ease,
206
+ transform var(--animation-speed) ease;
207
+ }
208
+
209
+ &.checked .checked-icon {
210
+ transform: rotateX(0deg);
211
+ opacity: 1;
212
+ }
213
+ }
214
+
215
+ /* Translate X animation */
216
+ button[data-effect="translate-x"] {
217
+ .checked-icon,
218
+ .unchecked-icon {
219
+ transition:
220
+ opacity var(--animation-speed) ease,
221
+ transform var(--animation-speed) ease;
222
+ }
223
+
224
+ .unchecked-icon {
225
+ transform: translateX(0);
226
+ }
227
+
228
+ &:dir(ltr) .checked-icon {
229
+ transform: translateX(-20px);
230
+ }
231
+
232
+ &:dir(rtl) .checked-icon {
233
+ transform: translateX(20px);
234
+ }
235
+
236
+ &:dir(ltr).checked .unchecked-icon {
237
+ transform: translateX(20px);
238
+ }
239
+
240
+ &:dir(rtl).checked .unchecked-icon {
241
+ transform: translateX(-20px);
242
+ }
243
+
244
+ &.checked .checked-icon {
245
+ transform: translateX(0);
246
+ }
247
+ }
248
+
249
+ /* Translate Y animation */
250
+ button[data-effect="translate-y"] {
251
+ .checked-icon,
252
+ .unchecked-icon {
253
+ transition:
254
+ opacity var(--animation-speed) ease,
255
+ transform var(--animation-speed) ease;
256
+ }
257
+
258
+ .unchecked-icon {
259
+ transform: translateY(0);
260
+ }
261
+
262
+ .checked-icon {
263
+ transform: translateY(-20px);
264
+ }
265
+
266
+ &.checked .unchecked-icon {
267
+ transform: translateY(20px);
268
+ }
269
+
270
+ &.checked .checked-icon {
271
+ transform: translateY(0);
272
+ }
273
+ }
274
+
275
+ /* Scale animation */
276
+ button[data-effect="scale"] {
277
+ .checked-icon,
278
+ .unchecked-icon {
279
+ transition:
280
+ opacity var(--animation-speed) ease,
281
+ transform var(--animation-speed) var(--sigvelo-ease-snappy);
282
+ }
283
+
284
+ .unchecked-icon {
285
+ transform: scale(1);
286
+ }
287
+
288
+ .checked-icon {
289
+ transform: scale(0);
290
+ }
291
+
292
+ &.checked .unchecked-icon {
293
+ transform: scale(0);
294
+ }
295
+
296
+ &.checked .checked-icon {
297
+ transform: scale(1);
298
+ }
299
+ }
300
+ `;
301
+ //#endregion
302
+ //#region src/components/toggle-icon/toggle-icon.ts
303
+ const nativeFileInput = document.createElement("input");
304
+ nativeFileInput.name = "sigvelo-faux-input";
305
+ nativeFileInput.type = "checkbox";
306
+ nativeFileInput.required = true;
307
+ const VALIDATION_MESSAGE = nativeFileInput.validationMessage;
308
+ /**
309
+ * <sigvelo-toggle-icon>
310
+ *
311
+ * @summary Similar to checkboxes, except with icons to represent the checked and unchecked states.
312
+ * @tag sigvelo-toggle-icon
313
+ * @documentation https://design-system.sigvelo.com/docs/components/toggle-icon
314
+ * @status stable
315
+ * @since 1.0
316
+ *
317
+ * @slot checked - The icon to show when checked. Works best with a `<sigvelo-icon>` element.
318
+ * @slot unchecked - The default icon to show when unchecked. Works best with a `<sigvelo-icon>` element.
319
+ *
320
+ * @event sigvelo-blur - Emitted when the toggle icon loses focus. This event does not bubble.
321
+ * @event sigvelo-change - Emitted when the user commits changes to the toggle's value.
322
+ * @event sigvelo-focus - Emitted when the checkbox receives focus. This event does not bubble.
323
+ * @event sigvelo-input - Emitted when the checkbox receives input.
324
+ *
325
+ * @csspart button - The internal button that contains the toggle icons, a `<button>` element.
326
+ *
327
+ * @cssproperty [--animation-speed=300ms] - The animation speed to use when effects are selected.
328
+ * @cssproperty [--checked-color=#f59e0b] - The color to use for checked toggle icons.
329
+ * @cssproperty [--unchecked-color=var(--sigvelo-color-neutral-bg)] - The color to use for unchecked toggle icons.
330
+ *
331
+ * @cssstate checked - Applied when the toggle icon is active.
332
+ * @cssstate disabled - Applied when the toggle icon is disabled.
333
+ * @cssstate focused - Applied when the toggle icon has focus.
334
+ * @cssstate user-valid - Applied when the toggle icon is valid and the user has sufficiently interacted with it.
335
+ * @cssstate user-invalid - Applied when the toggle icon is invalid and the user has sufficiently interacted with it.
336
+ *
337
+ * @example Default
338
+ * Toggle icons can be used just like checkboxes and switches to turn features on and off. You can listen for state changes with the `sigvelo-input` event and submit them with forms by adding `name` and `value` attributes.
339
+ *
340
+ * Assistive devices will recognize toggle icons as toggle buttons. The default icon is a star, but you can customize it with any icon you want.
341
+ *
342
+ * ```html
343
+ * <sigvelo-toggle-icon
344
+ * label="Star this"
345
+ * effect="fade"
346
+ * ></sigvelo-toggle-icon>
347
+ *
348
+ * <sigvelo-toggle-icon
349
+ * label="Save to favorites"
350
+ * effect="scale"
351
+ * style="--checked-color: crimson;"
352
+ * >
353
+ * <sigvelo-icon slot="unchecked" name="heart" family="outline"></sigvelo-icon>
354
+ * <sigvelo-icon slot="checked" name="heart" family="filled"></sigvelo-icon>
355
+ * </sigvelo-toggle-icon>
356
+ *
357
+ * <sigvelo-toggle-icon
358
+ * label="Like this post"
359
+ * effect="flip-x"
360
+ * style="--checked-color: dodgerblue;"
361
+ * >
362
+ * <sigvelo-icon slot="unchecked" name="thumb-up" family="outline"></sigvelo-icon>
363
+ * <sigvelo-icon slot="checked" name="thumb-up" family="filled"></sigvelo-icon>
364
+ * </sigvelo-toggle-icon>
365
+ *
366
+ * <sigvelo-toggle-icon
367
+ * label="Play / pause"
368
+ * effect="scale"
369
+ * style="
370
+ * --checked-color: var(--sigvelo-color-neutral-bg);
371
+ * --unchecked-color: var(--sigvelo-color-neutral-bg);
372
+ * "
373
+ * >
374
+ * <sigvelo-icon slot="unchecked" name="player-pause" family="filled"></sigvelo-icon>
375
+ * <sigvelo-icon slot="checked" name="player-play" family="filled"></sigvelo-icon>
376
+ * </sigvelo-toggle-icon>
377
+ * ```
378
+ *
379
+ * @example Checked initially
380
+ * Add the `checked` attribute to check the toggle icon initially.
381
+ *
382
+ * ```html
383
+ * <sigvelo-toggle-icon
384
+ * label="Star this"
385
+ * name="favorite"
386
+ * value="1"
387
+ * checked
388
+ * ></sigvelo-toggle-icon>
389
+ * ```
390
+ *
391
+ * @example Custom icons
392
+ * Place a `<sigvelo-icon>` into the default slot to show a custom unchecked state. Place one into the `checked` slot to show a custom checked state.
393
+ *
394
+ * You can use any icon you want for each state, but `outline` for unchecked icons and `filled` for checked icons usually work best. Use the `--unchecked-color` and `--checked-color` custom properties to change colors.
395
+ *
396
+ * ```html
397
+ * <sigvelo-toggle-icon
398
+ * label="Save to favorites"
399
+ * style="--checked-color: crimson;"
400
+ * >
401
+ * <sigvelo-icon slot="unchecked" name="heart" family="outline"></sigvelo-icon>
402
+ * <sigvelo-icon slot="checked" name="heart" family="filled"></sigvelo-icon>
403
+ * </sigvelo-toggle-icon>
404
+ *
405
+ * <sigvelo-toggle-icon
406
+ * label="Like this post"
407
+ * style="--checked-color: dodgerblue;"
408
+ * >
409
+ * <sigvelo-icon slot="unchecked" name="thumb-up" family="outline"></sigvelo-icon>
410
+ * <sigvelo-icon slot="checked" name="thumb-up" family="filled"></sigvelo-icon>
411
+ * </sigvelo-toggle-icon>
412
+ *
413
+ * <sigvelo-toggle-icon
414
+ * label="Enable filter"
415
+ * style="--checked-color: blueviolet;"
416
+ * >
417
+ * <sigvelo-icon slot="unchecked" name="filter" family="outline"></sigvelo-icon>
418
+ * <sigvelo-icon slot="checked" name="filter" family="filled"></sigvelo-icon>
419
+ * </sigvelo-toggle-icon>
420
+ * ```
421
+ *
422
+ * @example Changing the effect
423
+ * Set the `effect` attribute to change the toggle icon's animation. This works great with custom icons.
424
+ *
425
+ * ```html
426
+ * <sigvelo-toggle-icon
427
+ * label="Star this"
428
+ * effect="fade"
429
+ * ></sigvelo-toggle-icon>
430
+ *
431
+ * <sigvelo-toggle-icon
432
+ * label="Love this"
433
+ * effect="scale"
434
+ * style="--checked-color: crimson;"
435
+ * >
436
+ * <sigvelo-icon slot="unchecked" name="heart" family="outline"></sigvelo-icon>
437
+ * <sigvelo-icon slot="checked" name="heart" family="filled"></sigvelo-icon>
438
+ * </sigvelo-toggle-icon>
439
+ *
440
+ * <sigvelo-toggle-icon
441
+ * label="Mark as complete"
442
+ * effect="flip-x"
443
+ * style="--checked-color: cadetblue;"
444
+ * >
445
+ * <sigvelo-icon slot="unchecked" name="clipboard" family="outline"></sigvelo-icon>
446
+ * <sigvelo-icon slot="checked" name="clipboard-check" family="filled"></sigvelo-icon>
447
+ * </sigvelo-toggle-icon>
448
+ *
449
+ * <sigvelo-toggle-icon
450
+ * label="Secure this"
451
+ * effect="flip-y"
452
+ * style="--checked-color: forestgreen;"
453
+ * >
454
+ * <sigvelo-icon slot="unchecked" name="shield" family="outline"></sigvelo-icon>
455
+ * <sigvelo-icon slot="checked" name="shield-check" family="filled"></sigvelo-icon>
456
+ * </sigvelo-toggle-icon>
457
+ *
458
+ * <sigvelo-toggle-icon
459
+ * label="Ship this"
460
+ * effect="translate-x"
461
+ * style="--checked-color: blueviolet;"
462
+ * >
463
+ * <sigvelo-icon slot="unchecked" name="truck" family="outline"></sigvelo-icon>
464
+ * <sigvelo-icon slot="checked" name="truck" family="filled"></sigvelo-icon>
465
+ * </sigvelo-toggle-icon>
466
+ *
467
+ * <sigvelo-toggle-icon
468
+ * label="Enable reader mode"
469
+ * effect="translate-y"
470
+ * style="--checked-color: dodgerblue;"
471
+ * >
472
+ * <sigvelo-icon slot="unchecked" name="eyeglass" family="outline"></sigvelo-icon>
473
+ * <sigvelo-icon slot="checked" name="eyeglass" family="filled"></sigvelo-icon>
474
+ * </sigvelo-toggle-icon>
475
+ * ```
476
+ *
477
+ * @example Sizes
478
+ * Use the `size` attribute to change the size of the toggle icon.
479
+ *
480
+ * ```html
481
+ * <sigvelo-toggle-icon size="xs"></sigvelo-toggle-icon>
482
+ * <sigvelo-toggle-icon size="sm"></sigvelo-toggle-icon>
483
+ * <sigvelo-toggle-icon size="md"></sigvelo-toggle-icon>
484
+ * <sigvelo-toggle-icon size="lg"></sigvelo-toggle-icon>
485
+ * <sigvelo-toggle-icon size="xl"></sigvelo-toggle-icon>
486
+ * ```
487
+ *
488
+ * @example Disabling
489
+ * Use the `disabled` attribute to disable the toggle icon.
490
+ *
491
+ * ```html
492
+ * <sigvelo-toggle-icon disabled></sigvelo-toggle-icon>
493
+ * <sigvelo-toggle-icon checked disabled></sigvelo-toggle-icon>
494
+ * ```
495
+ *
496
+ * @example Validation
497
+ * The `required` attribute can be applied to enable validation using the Constraint Validation API. This will prevent form submission until the toggle icon is checked.
498
+ *
499
+ * ```html
500
+ * <form action="about:blank" method="get" target="_blank">
501
+ * <sigvelo-toggle-icon
502
+ * label="Star this"
503
+ * name="star"
504
+ * value="1"
505
+ * required
506
+ * ></sigvelo-toggle-icon>
507
+ * <br><br>
508
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
509
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
510
+ * </form>
511
+ * ```
512
+ *
513
+ * @example Using custom validation
514
+ * Use the `setCustomValidity()` method to make the toggle icon invalid and show a custom error message on submit. This will override all other validation parameters. To clear the error, remove the attribute or set it to an empty string.
515
+ *
516
+ * ```html
517
+ * <form action="about:blank" method="get" target="_blank" id="toggle__custom-validation">
518
+ * <sigvelo-toggle-icon
519
+ * label="Star this"
520
+ * name="star"
521
+ * value="1"
522
+ * required
523
+ * ></sigvelo-toggle-icon>
524
+ * <br><br>
525
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
526
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
527
+ * </form>
528
+ *
529
+ * <script type="module">
530
+ * import { allDefined } from '/dist/sigvelo.js';
531
+ *
532
+ * await allDefined();
533
+ *
534
+ * const form = document.getElementById('toggle__custom-validation');
535
+ * const toggleIcon = form.querySelector('sigvelo-toggle-icon');
536
+ *
537
+ * toggleIcon.setCustomValidity('Not so fast, bubba!');
538
+ * <\/script>
539
+ * ```
540
+ *
541
+ * @example Styling validation
542
+ * You can style valid and invalid toggle icons using the `:valid` and `:invalid` pseudo classes.
543
+ *
544
+ * ```html
545
+ * <form action="about:blank" method="get" target="_blank" class="toggle__validation-pseudo">
546
+ * <sigvelo-toggle-icon
547
+ * label="Star this"
548
+ * name="star"
549
+ * value="1"
550
+ * required
551
+ * ></sigvelo-toggle-icon>
552
+ * <br><br>
553
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
554
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
555
+ * </form>
556
+ *
557
+ * <style>
558
+ * .toggle__validation-pseudo {
559
+ * sigvelo-toggle-icon:valid {
560
+ * outline: solid 2px var(--sigvelo-color-success-border);
561
+ * outline-offset: .5rem;
562
+ * }
563
+ *
564
+ * sigvelo-toggle-icon:invalid {
565
+ * outline: solid 2px var(--sigvelo-color-danger-border);
566
+ * outline-offset: .5rem;
567
+ * }
568
+ * }
569
+ * </style>
570
+ * ```
571
+ *
572
+ * However, these selectors will match even before the user has had a chance to fill out the form. More often than not, you'll want to use the `user-valid` and `user-invalid` custom states instead. This way, validation styles are only shown _after_ the user interacts with the form control or when the form is submitted.
573
+ *
574
+ * ```html
575
+ * <form action="about:blank" method="get" target="_blank" class="toggle__validation-custom">
576
+ * <sigvelo-toggle-icon
577
+ * label="Star this"
578
+ * name="star"
579
+ * value="1"
580
+ * required
581
+ * ></sigvelo-toggle-icon>
582
+ * <br><br>
583
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
584
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
585
+ * </form>
586
+ *
587
+ * <style>
588
+ * .toggle__validation-custom {
589
+ * sigvelo-toggle-icon:state(user-valid) {
590
+ * outline: solid 2px var(--sigvelo-color-success-border);
591
+ * outline-offset: .5rem;
592
+ * }
593
+ *
594
+ * sigvelo-toggle-icon:state(user-invalid) {
595
+ * outline: solid 2px var(--sigvelo-color-danger-border);
596
+ * outline-offset: .5rem;
597
+ * }
598
+ * }
599
+ * </style>
600
+ * ```
601
+ */
602
+ var SigveloToggleIcon = class extends SigveloFormControlElement {
603
+ constructor(..._args) {
604
+ super(..._args);
605
+ this.isInvalid = false;
606
+ this.hadUserInteraction = false;
607
+ this.wasSubmitted = false;
608
+ this.value = "";
609
+ this.checked = false;
610
+ this.disabled = false;
611
+ this.size = "md";
612
+ this.effect = "none";
613
+ this.required = false;
614
+ }
615
+ static {
616
+ this.shadowRootOptions = {
617
+ ...SigveloFormControlElement.shadowRootOptions,
618
+ delegatesFocus: true
619
+ };
620
+ }
621
+ static {
622
+ this.formAssociated = true;
623
+ }
624
+ static {
625
+ this.styles = [hostStyles, toggle_icon_styles_default];
626
+ }
627
+ get focusableAnchor() {
628
+ return this.button;
629
+ }
630
+ connectedCallback() {
631
+ super.connectedCallback();
632
+ this.addEventListener("invalid", this.handleHostInvalid);
633
+ }
634
+ disconnectedCallback() {
635
+ super.disconnectedCallback();
636
+ this.removeEventListener("invalid", this.handleHostInvalid);
637
+ }
638
+ updated(changedProperties) {
639
+ this.updateValidity();
640
+ if (changedProperties.has("checked") || changedProperties.has("value")) this.internals.setFormValue(this.checked ? this.value : null);
641
+ if (changedProperties.has("checked")) this.customStates.set("checked", this.checked);
642
+ if (changedProperties.has("disabled")) this.customStates.set("disabled", this.disabled);
643
+ if (this.hadUserInteraction || this.wasSubmitted) {
644
+ this.customStates.set("user-invalid", this.isInvalid);
645
+ this.customStates.set("user-valid", !this.isInvalid);
646
+ } else {
647
+ this.customStates.set("user-invalid", false);
648
+ this.customStates.set("user-valid", false);
649
+ }
650
+ }
651
+ /** @internal Called when a containing fieldset is disabled. */
652
+ formDisabledCallback(isDisabled) {
653
+ this.disabled = isDisabled;
654
+ }
655
+ /** @internal Called when the form is reset. */
656
+ formResetCallback() {
657
+ this.isInvalid = false;
658
+ this.hadUserInteraction = false;
659
+ this.wasSubmitted = false;
660
+ this.checked = this.hasAttribute("checked");
661
+ }
662
+ handleBlur() {
663
+ this.customStates.set("focused", false);
664
+ this.dispatchEvent(new SigveloBlurEvent());
665
+ }
666
+ handleClick() {
667
+ if (this.disabled) return;
668
+ this.checked = !this.checked;
669
+ this.dispatchEvent(new SigveloChangeEvent());
670
+ this.dispatchEvent(new Event("change", {
671
+ bubbles: true,
672
+ composed: true
673
+ }));
674
+ this.dispatchEvent(new SigveloInputEvent());
675
+ this.dispatchEvent(new InputEvent("input"));
676
+ }
677
+ handleFocus() {
678
+ this.customStates.set("focused", true);
679
+ this.dispatchEvent(new SigveloFocusEvent());
680
+ }
681
+ handleHostInvalid() {
682
+ this.wasSubmitted = true;
683
+ }
684
+ /** Sets the form control's validity */
685
+ async updateValidity() {
686
+ await this.updateComplete;
687
+ const hasCustomValidity = this.getCustomValidity().length > 0;
688
+ const validationMessage = hasCustomValidity ? this.getCustomValidity() : VALIDATION_MESSAGE;
689
+ const flags = {
690
+ customError: hasCustomValidity,
691
+ valueMissing: this.required && !this.checked
692
+ };
693
+ this.isInvalid = hasCustomValidity ? true : !this.checked;
694
+ this.internals.setValidity(flags, validationMessage, this.focusableAnchor);
695
+ }
696
+ render() {
697
+ return html`
698
+ <button
699
+ part="button"
700
+ class=${classMap({
701
+ xs: this.size === "xs",
702
+ sm: this.size === "sm",
703
+ md: this.size === "md",
704
+ lg: this.size === "lg",
705
+ xl: this.size === "xl",
706
+ checked: this.checked,
707
+ disabled: this.disabled
708
+ })}
709
+ data-effect=${this.effect}
710
+ name=${this.name}
711
+ value=${this.value}
712
+ type="button"
713
+ aria-label=${this.label}
714
+ aria-pressed=${this.checked ? "true" : "false"}
715
+ .disabled=${this.disabled}
716
+ .required=${this.required}
717
+ @click=${this.handleClick}
718
+ @focus=${this.handleFocus}
719
+ @blur=${this.handleBlur}
720
+ >
721
+ <slot name="unchecked" class="unchecked-icon">
722
+ <sigvelo-icon name="star" family="outline" library="system"></sigvelo-icon>
723
+ </slot>
724
+ <slot name="checked" class="checked-icon">
725
+ <sigvelo-icon name="star" family="filled" library="system"></sigvelo-icon>
726
+ </slot>
727
+ </button>
728
+ `;
729
+ }
730
+ };
731
+ __decorate([query("button")], SigveloToggleIcon.prototype, "button", void 0);
732
+ __decorate([state()], SigveloToggleIcon.prototype, "isInvalid", void 0);
733
+ __decorate([state()], SigveloToggleIcon.prototype, "hadUserInteraction", void 0);
734
+ __decorate([state()], SigveloToggleIcon.prototype, "wasSubmitted", void 0);
735
+ __decorate([property()], SigveloToggleIcon.prototype, "label", void 0);
736
+ __decorate([property({ reflect: true })], SigveloToggleIcon.prototype, "name", void 0);
737
+ __decorate([property()], SigveloToggleIcon.prototype, "value", void 0);
738
+ __decorate([property({ type: Boolean })], SigveloToggleIcon.prototype, "checked", void 0);
739
+ __decorate([property({
740
+ type: Boolean,
741
+ reflect: true
742
+ })], SigveloToggleIcon.prototype, "disabled", void 0);
743
+ __decorate([property({ reflect: true })], SigveloToggleIcon.prototype, "size", void 0);
744
+ __decorate([property({ reflect: true })], SigveloToggleIcon.prototype, "effect", void 0);
745
+ __decorate([property()], SigveloToggleIcon.prototype, "form", void 0);
746
+ __decorate([property({
747
+ type: Boolean,
748
+ reflect: true
749
+ })], SigveloToggleIcon.prototype, "required", void 0);
750
+ customElements.define("sigvelo-toggle-icon", SigveloToggleIcon);
751
+ //#endregion
752
+ export { SigveloToggleIcon as t };