@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,690 @@
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 { ifDefined } from "lit/directives/if-defined.js";
8
+ import { SigveloBlurEvent, SigveloChangeEvent, SigveloFocusEvent, SigveloInputEvent } from "@mcp-b/wc-support/events/form";
9
+ import { live } from "lit/directives/live.js";
10
+ import formControlStyles from "@mcp-b/wc-support/styles/form-control.styles";
11
+ import { getSlotHtml } from "@mcp-b/wc-support/utilities/html";
12
+ //#region src/components/select/select.styles.ts
13
+ var select_styles_default = css`
14
+ #visual-box {
15
+ cursor: default;
16
+ }
17
+
18
+ #chevron {
19
+ font-size: 1.25em;
20
+ pointer-events: none;
21
+ }
22
+ `;
23
+ //#endregion
24
+ //#region src/components/select/select.ts
25
+ /**
26
+ * <sigvelo-select>
27
+ *
28
+ * @summary Allows users to choose an option from a predefined list of options.
29
+ * @tag sigvelo-select
30
+ * @documentation https://design-system.sigvelo.com/docs/components/select
31
+ * @status stable
32
+ * @since 1.0
33
+ *
34
+ * @dependency sigvelo-icon
35
+ *
36
+ * @slot label - The select's label. For plain-text labels, you can use the `label` attribute instead.
37
+ * @slot description - The select's description. For plain-text descriptions, you can use the `description` attribute
38
+ * instead.
39
+ * @slot start - An icon or similar element to place before the label. Works great with `<sigvelo-icon>`.
40
+ * @slot end - An icon or similar element to place after the label. Works great with `<sigvelo-icon>`.
41
+ *
42
+ * @event sigvelo-blur - Emitted when the select loses focus. This event does not bubble.
43
+ * @event sigvelo-change - Emitted when the user commits changes to the select's value.
44
+ * @event sigvelo-focus - Emitted when the select receives focus. This event does not bubble.
45
+ * @event sigvelo-input - Emitted when the select receives input.
46
+ *
47
+ * @csspart label - The element that contains the select's label.
48
+ * @csspart description - The element that contains the select's description.
49
+ * @csspart visual-box - The element that wraps the internal text box.
50
+ * @csspart text-box - The internal text box, a `<select>` element.
51
+ * @csspart chevron - The chevron icon, a `<sigvelo-icon>` element.
52
+ * @csspart chevron__svg - The chevron icon's `<svg>` part.
53
+ *
54
+ * @cssstate disabled - Applied when the select is disabled.
55
+ * @cssstate blank - Applied when the select has no selected option.
56
+ * @cssstate focused - Applied when the select has focus.
57
+ * @cssstate user-valid - Applied when the select is valid and the user has sufficiently interacted with it.
58
+ * @cssstate user-invalid - Applied when the select is invalid and the user has sufficiently interacted with it.
59
+ *
60
+ * @example Default
61
+ * This component works very similar to the `<select>` element. You can add `<option>`, `<optgroup>`, and `<hr>` elements to it to group and provide options, which are then copied into the component's shadow root.
62
+ *
63
+ * ```html
64
+ * <sigvelo-select
65
+ * name="cat"
66
+ * label="Wild cats"
67
+ * description="Select your favorite type of cat from the wild"
68
+ * >
69
+ * <optgroup label="Small cats">
70
+ * <option value="bobcat">Bobcat</option>
71
+ * <option value="sand-cat">Sand cat</option>
72
+ * <option value="serval">Serval</option>
73
+ * </optgroup>
74
+ * <optgroup label="Big cats">
75
+ * <option value="cheetah">Cheetah</option>
76
+ * <option value="lion">Lion</option>
77
+ * <option value="tiger">Tiger</option>
78
+ * </optgroup>
79
+ * </sigvelo-select>
80
+ * ```
81
+ *
82
+ * @example Labels and descriptions
83
+ * You can use the `label` and `description` attributes to provide plain text labels and descriptions for the select. If you want to provide HTML, use the `label` and `description` slots instead.
84
+ *
85
+ * ```html
86
+ * <sigvelo-select name="zzz" label="Where to sleep">
87
+ * <span slot="description">
88
+ * For more information, <a href="https://example.com/" target="_blank">visit our website</a>.
89
+ * </span>
90
+ * <option value="box">Cardboard box</option>
91
+ * <option value="floor">Floor</option>
92
+ * <option value="laundry">Laundry</option>
93
+ * <option value="pillow">Pillow</option>
94
+ * <option value="sunbeam">Sunbeam</option>
95
+ * </sigvelo-select>
96
+ * ```
97
+ *
98
+ * @example Providing an initial value
99
+ * Use the `value` attribute to provide an initial value for the select.
100
+ *
101
+ * ```html
102
+ * <sigvelo-select name="size" label="Select a size" value="md">
103
+ * <option value="xs">Extra small</option>
104
+ * <option value="sm">Small</option>
105
+ * <option value="md">Medium</option>
106
+ * <option value="lg">Large</option>
107
+ * <option value="xl">Extra large</option>
108
+ * </sigvelo-select>
109
+ * ```
110
+ *
111
+ * **Note:** This behavior is different from native selects that use the option's `selected` attribute to set the value. With `<sigvelo-select>`, always use the `value` attribute to set the value.
112
+ *
113
+ * @example Start and end content
114
+ * Use the `start` and `end` slots to add presentational icons or text. Avoid interactive elements such as buttons, links, etc. Works well with `<sigvelo-icon>` and `<svg>` elements.
115
+ *
116
+ * ```html
117
+ * <sigvelo-select name="account" label="Account type">
118
+ * <sigvelo-icon slot="start" name="user"></sigvelo-icon>
119
+ * <option value="owner">Owner</option>
120
+ * <option value="admin">Administrator</option>
121
+ * <option value="user">User</option>
122
+ * <option value="guest">Guest</option>
123
+ * </sigvelo-select>
124
+ *
125
+ * <br>
126
+ *
127
+ * <sigvelo-select name="contact" label="Preferred method of contact">
128
+ * <sigvelo-icon slot="end" name="mail"></sigvelo-icon>
129
+ * <option value="email">Email</option>
130
+ * <option value="phone">Phone</option>
131
+ * <option value="mail">Regular Mail</option>
132
+ * <option value="text">Text Message</option>
133
+ * <option value="none">None</option>
134
+ * </sigvelo-select>
135
+ * ```
136
+ *
137
+ * @example Filled and unstyled selects
138
+ * Set the `variant` attribute to `normal`, `filled`, or `unstyled` to change the select's variant.
139
+ *
140
+ * ```html
141
+ * <sigvelo-select variant="normal" label="Normal select" value="normal">
142
+ * <option value="normal">Normal</option>
143
+ * <option value="filled">Filled</option>
144
+ * <option value="unstyled">Unstyled</option>
145
+ * </sigvelo-select><br>
146
+ *
147
+ * <sigvelo-select variant="filled" label="Filled select" value="filled">
148
+ * <option value="normal">Normal</option>
149
+ * <option value="filled">Filled</option>
150
+ * <option value="unstyled">Unstyled</option>
151
+ * </sigvelo-select><br>
152
+ *
153
+ * <sigvelo-select variant="unstyled" label="Unstyled select" value="unstyled">
154
+ * <option value="normal">Normal</option>
155
+ * <option value="filled">Filled</option>
156
+ * <option value="unstyled">Unstyled</option>
157
+ * </sigvelo-select>
158
+ * ```
159
+ *
160
+ * @example Pill-shaped selects
161
+ * Selects can be rendered with pill-shaped edges by adding the `pill` attribute.
162
+ *
163
+ * ```html
164
+ * <sigvelo-select pill label="Pill-shaped">
165
+ * <option value="1">One</option>
166
+ * <option value="2">Two</option>
167
+ * <option value="3">Three</option>
168
+ * </sigvelo-select>
169
+ * ```
170
+ *
171
+ * @example Changing the size
172
+ * Use the `size` attribute to change the select's size.
173
+ *
174
+ * ```html
175
+ * <sigvelo-select size="xs" label="Extra small" value="xs">
176
+ * <option value="xs">Extra small</option>
177
+ * <option value="sm">Small</option>
178
+ * <option value="md">Medium</option>
179
+ * <option value="lg">Large</option>
180
+ * <option value="xl">Extra large</option>
181
+ * </sigvelo-select><br>
182
+ *
183
+ * <sigvelo-select size="sm" label="Small" value="sm">
184
+ * <option value="xs">Extra small</option>
185
+ * <option value="sm">Small</option>
186
+ * <option value="md">Medium</option>
187
+ * <option value="lg">Large</option>
188
+ * <option value="xl">Extra large</option>
189
+ * </sigvelo-select><br>
190
+ *
191
+ * <sigvelo-select size="md" label="Medium" value="md">
192
+ * <option value="xs">Extra small</option>
193
+ * <option value="sm">Small</option>
194
+ * <option value="md">Medium</option>
195
+ * <option value="lg">Large</option>
196
+ * <option value="xl">Extra large</option>
197
+ * </sigvelo-select><br>
198
+ *
199
+ * <sigvelo-select size="lg" label="Large" value="lg">
200
+ * <option value="xs">Extra small</option>
201
+ * <option value="sm">Small</option>
202
+ * <option value="md">Medium</option>
203
+ * <option value="lg">Large</option>
204
+ * <option value="xl">Extra large</option>
205
+ * </sigvelo-select><br>
206
+ *
207
+ * <sigvelo-select size="xl" label="Extra large" value="xl">
208
+ * <option value="xs">Extra small</option>
209
+ * <option value="sm">Small</option>
210
+ * <option value="md">Medium</option>
211
+ * <option value="lg">Large</option>
212
+ * <option value="xl">Extra large</option>
213
+ * </sigvelo-select>
214
+ * ```
215
+ *
216
+ * @example Adding option groups
217
+ * Use `<optgroup>` elements to add option groups. Set the `label` attribute to an appropriate label.
218
+ *
219
+ * ```html
220
+ * <sigvelo-select name="cat" label="Wild cats">
221
+ * <optgroup label="Small cats">
222
+ * <option value="bobcat">Bobcat</option>
223
+ * <option value="sand-cat">Sand cat</option>
224
+ * <option value="serval">Serval</option>
225
+ * </optgroup>
226
+ * <optgroup label="Big cats">
227
+ * <option value="cheetah">Cheetah</option>
228
+ * <option value="lion">Lion</option>
229
+ * <option value="tiger">Tiger</option>
230
+ * </optgroup>
231
+ * </sigvelo-select>
232
+ * ```
233
+ *
234
+ * @example Adding dividers
235
+ * Use `<hr>` to add dividers between options.
236
+ *
237
+ * ```html
238
+ * <sigvelo-select name="animal" label="Animal">
239
+ * <option value="bird">Bird</option>
240
+ * <option value="cat">Cat</option>
241
+ * <option value="dog">Dog</option>
242
+ * <option value="lizard">Lizard</option>
243
+ * <hr>
244
+ * <option value="other">Other</option>
245
+ * </sigvelo-select>
246
+ * ```
247
+ *
248
+ * @example Disabling options
249
+ * Use the `disabled` attribute to disable individual options.
250
+ *
251
+ * ```html
252
+ * <sigvelo-select label="Disabled options">
253
+ * <option value="bird">Bird</option>
254
+ * <option value="cat">Cat</option>
255
+ * <option value="dog" disabled>Dog</option>
256
+ * <option value="lizard">Lizard</option>
257
+ * </sigvelo-select>
258
+ * ```
259
+ *
260
+ * @example Disabling option groups
261
+ * Use the `disabled` attribute to disable an option group.
262
+ *
263
+ * ```html
264
+ * <sigvelo-select label="Disabled option groups">
265
+ * <optgroup label="Group one">
266
+ * <option value="morning-1">Morning</option>
267
+ * <option value="afternoon-1">Afternoon</option>
268
+ * <option value="evening-1">Evening</option>
269
+ * </optgroup>
270
+ * <optgroup label="Group two" disabled>
271
+ * <option value="morning-2">Morning</option>
272
+ * <option value="afternoon-2">Afternoon</option>
273
+ * <option value="evening-2">Evening</option>
274
+ * </optgroup>
275
+ * </sigvelo-select>
276
+ * ```
277
+ *
278
+ * **Warning:** Disabled option groups [don't currently work](https://bugs.webkit.org/show_bug.cgi?id=227042) in iOS Safari.
279
+ *
280
+ * @example Disabling selects
281
+ * Use the `disabled` attribute to disable the select.
282
+ *
283
+ * ```html
284
+ * <sigvelo-select label="Disabled" disabled>
285
+ * <option value="bird">Bird</option>
286
+ * <option value="cat">Cat</option>
287
+ * <option value="dog">Dog</option>
288
+ * <option value="lizard">Lizard</option>
289
+ * </sigvelo-select>
290
+ * ```
291
+ *
292
+ * @example Showing labels on the side
293
+ * With the `sigvelo-side-label` utility, you can show labels on the side instead of on top of the select. You can control the width of the label by setting the `--label-width` custom property.
294
+ *
295
+ * ```html
296
+ * <sigvelo-select
297
+ * class="sigvelo-side-label"
298
+ * style="--label-width: 8ch;"
299
+ * name="quantity"
300
+ * label="Quantity"
301
+ * description="How many do you need?"
302
+ * >
303
+ * <option value="1">1</option>
304
+ * <option value="2">2</option>
305
+ * <option value="3">3</option>
306
+ * <option value="4">4</option>
307
+ * <option value="5">5</option>
308
+ * </sigvelo-select>
309
+ * <br>
310
+ * <sigvelo-select
311
+ * class="sigvelo-side-label"
312
+ * style="--label-width: 8ch;"
313
+ * name="delivery"
314
+ * label="Delivery"
315
+ * description="How soon do you need it?"
316
+ * >
317
+ * <option value="next">Next-day</option>
318
+ * <option value="priority">Priority</option>
319
+ * <option value="ground">Ground</option>
320
+ * </sigvelo-select>
321
+ * ```
322
+ *
323
+ * @example Validation
324
+ * The `required` attribute can be applied to enable validation using the Constraint Validation API. This will prevent form submission until an option with a non-empty value is selected.
325
+ *
326
+ *
327
+ * ```html
328
+ * <form action="about:blank" method="get" target="_blank">
329
+ * <sigvelo-select name="required" label="Required" required>
330
+ * <option value=""></option>
331
+ * <option value="bird">Bird</option>
332
+ * <option value="cat">Cat</option>
333
+ * <option value="dog">Dog</option>
334
+ * <option value="lizard">Lizard</option>
335
+ * </sigvelo-select>
336
+ * <br>
337
+ * <sigvelo-button type="submit">Submit</sigvelo-button>
338
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
339
+ * </form>
340
+ * ```
341
+ *
342
+ * @example Using custom validation
343
+ * Use the `setCustomValidity()` method to make the select 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.
344
+ *
345
+ * ```html
346
+ * <form action="about:blank" method="get" target="_blank" id="select__custom-validation">
347
+ * <sigvelo-select
348
+ * name="animal"
349
+ * label="Animal"
350
+ * description="This field will be invalid until custom validation is removed"
351
+ * >
352
+ * <option value="bird">Bird</option>
353
+ * <option value="cat">Cat</option>
354
+ * <option value="dog">Dog</option>
355
+ * <option value="lizard">Lizard</option>
356
+ * </sigvelo-select>
357
+ * <br>
358
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
359
+ * </form>
360
+ *
361
+ * <script type="module">
362
+ * import { allDefined } from '/dist/sigvelo.js';
363
+ *
364
+ * await allDefined();
365
+ *
366
+ * const form = document.getElementById('select__custom-validation');
367
+ * const select = form.querySelector('sigvelo-select');
368
+ *
369
+ * select.setCustomValidity('Not so fast, bubba!');
370
+ * <\/script>
371
+ * ```
372
+ *
373
+ * @example Styling validation
374
+ * You can style valid and invalid selects using the `:valid` and `:invalid` pseudo classes.
375
+ *
376
+ * ```html
377
+ * <form action="about:blank" method="get" target="_blank" class="select__validation-pseudo">
378
+ * <sigvelo-select
379
+ * name="animal"
380
+ * label="Animal"
381
+ * description="This field is required"
382
+ * required
383
+ * >
384
+ * <option value=""></option>
385
+ * <option value="bird">Bird</option>
386
+ * <option value="cat">Cat</option>
387
+ * <option value="dog">Dog</option>
388
+ * <option value="lizard">Lizard</option>
389
+ * </sigvelo-select>
390
+ * <br>
391
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
392
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
393
+ * </form>
394
+ *
395
+ * <style>
396
+ * .select__validation-pseudo {
397
+ * sigvelo-select:valid {
398
+ * outline: solid 2px var(--sigvelo-color-success-border);
399
+ * outline-offset: .5rem;
400
+ * }
401
+ *
402
+ * sigvelo-select:invalid {
403
+ * outline: solid 2px var(--sigvelo-color-danger-border);
404
+ * outline-offset: .5rem;
405
+ * }
406
+ * }
407
+ * </style>
408
+ * ```
409
+ *
410
+ * 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.
411
+ *
412
+ * ```html
413
+ * <form action="about:blank" method="get" target="_blank" class="select__validation-custom">
414
+ * <sigvelo-select
415
+ * name="animal"
416
+ * label="Animal"
417
+ * description="This field is required"
418
+ * required
419
+ * >
420
+ * <option value=""></option>
421
+ * <option value="bird">Bird</option>
422
+ * <option value="cat">Cat</option>
423
+ * <option value="dog">Dog</option>
424
+ * <option value="lizard">Lizard</option>
425
+ * </sigvelo-select>
426
+ * <br>
427
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
428
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
429
+ * </form>
430
+ *
431
+ * <style>
432
+ * .select__validation-custom {
433
+ * sigvelo-select:state(user-valid) {
434
+ * outline: solid 2px var(--sigvelo-color-success-border);
435
+ * outline-offset: .5rem;
436
+ * }
437
+ *
438
+ * sigvelo-select:state(user-invalid) {
439
+ * outline: solid 2px var(--sigvelo-color-danger-border);
440
+ * outline-offset: .5rem;
441
+ * }
442
+ * }
443
+ * </style>
444
+ * ```
445
+ */
446
+ var SigveloSelect = class extends SigveloFormControlElement {
447
+ constructor(..._args) {
448
+ super(..._args);
449
+ this.isInvalid = false;
450
+ this.hadUserInteraction = false;
451
+ this.wasSubmitted = false;
452
+ this.value = "";
453
+ this.disabled = false;
454
+ this.readonly = false;
455
+ this.variant = "normal";
456
+ this.size = "md";
457
+ this.pill = false;
458
+ this.required = false;
459
+ }
460
+ static {
461
+ this.formAssociated = true;
462
+ }
463
+ static {
464
+ this.observeSlots = true;
465
+ }
466
+ static {
467
+ this.styles = [
468
+ hostStyles,
469
+ formControlStyles,
470
+ select_styles_default
471
+ ];
472
+ }
473
+ get focusableAnchor() {
474
+ return this.textBox;
475
+ }
476
+ connectedCallback() {
477
+ super.connectedCallback();
478
+ this.addEventListener("invalid", this.handleHostInvalid);
479
+ }
480
+ disconnectedCallback() {
481
+ super.disconnectedCallback();
482
+ this.removeEventListener("invalid", this.handleHostInvalid);
483
+ }
484
+ firstUpdated() {
485
+ new MutationObserver(() => this.syncOptions()).observe(this, {
486
+ subtree: true,
487
+ childList: true,
488
+ attributes: true
489
+ });
490
+ this.syncOptions();
491
+ }
492
+ updated(changedProperties) {
493
+ this.updateValidity();
494
+ if (changedProperties.has("value")) {
495
+ this.customStates.set("blank", this.value === "");
496
+ this.internals.setFormValue(this.value);
497
+ }
498
+ if (changedProperties.has("disabled")) this.customStates.set("disabled", this.disabled);
499
+ if (this.hadUserInteraction || this.wasSubmitted) {
500
+ this.customStates.set("user-invalid", this.isInvalid);
501
+ this.customStates.set("user-valid", !this.isInvalid);
502
+ } else {
503
+ this.customStates.set("user-invalid", false);
504
+ this.customStates.set("user-valid", false);
505
+ }
506
+ }
507
+ /** @internal Called when a containing fieldset is disabled. */
508
+ formDisabledCallback(isDisabled) {
509
+ this.disabled = isDisabled;
510
+ }
511
+ /** @internal Called when the form is reset. */
512
+ formResetCallback() {
513
+ this.isInvalid = false;
514
+ this.hadUserInteraction = false;
515
+ this.wasSubmitted = false;
516
+ this.value = this.getAttribute("value") ?? "";
517
+ }
518
+ handleBlur() {
519
+ this.customStates.set("focused", false);
520
+ this.dispatchEvent(new SigveloBlurEvent());
521
+ }
522
+ handleVisualBoxPointerDown(event) {
523
+ const target = event.target;
524
+ const isBox = target?.id === "visual-box";
525
+ const isSlot = target.hasAttribute("slot");
526
+ if (isBox || isSlot) {
527
+ event.preventDefault();
528
+ this.textBox.focus();
529
+ this.showPicker();
530
+ }
531
+ }
532
+ handleChange() {
533
+ this.hadUserInteraction = true;
534
+ this.dispatchEvent(new SigveloChangeEvent());
535
+ this.dispatchEvent(new Event("change", {
536
+ bubbles: true,
537
+ composed: true
538
+ }));
539
+ }
540
+ handleFocus() {
541
+ this.customStates.set("focused", true);
542
+ this.dispatchEvent(new SigveloFocusEvent());
543
+ }
544
+ handleHostInvalid() {
545
+ this.wasSubmitted = true;
546
+ }
547
+ async handleInput() {
548
+ this.value = this.textBox.value;
549
+ await this.updateComplete;
550
+ this.dispatchEvent(new SigveloInputEvent());
551
+ }
552
+ syncOptions() {
553
+ this.textBox.innerHTML = getSlotHtml(this.defaultSlot);
554
+ if (this.value) this.textBox.value = this.value;
555
+ else {
556
+ const firstOption = this.textBox.querySelector("option");
557
+ if (firstOption) this.value = firstOption.value;
558
+ }
559
+ }
560
+ /** Sets the form control's validity */
561
+ async updateValidity() {
562
+ await this.updateComplete;
563
+ const hasCustomValidity = this.getCustomValidity().length > 0;
564
+ const validationMessage = hasCustomValidity ? this.getCustomValidity() : this.textBox.validationMessage;
565
+ const flags = {
566
+ badInput: this.textBox.validity.badInput,
567
+ customError: hasCustomValidity,
568
+ patternMismatch: this.textBox.validity.patternMismatch,
569
+ rangeOverflow: this.textBox.validity.rangeOverflow,
570
+ rangeUnderflow: this.textBox.validity.rangeUnderflow,
571
+ stepMismatch: this.textBox.validity.stepMismatch,
572
+ tooLong: this.textBox.validity.tooLong,
573
+ tooShort: this.textBox.validity.tooShort,
574
+ typeMismatch: this.textBox.validity.typeMismatch,
575
+ valueMissing: this.textBox.validity.valueMissing
576
+ };
577
+ this.isInvalid = hasCustomValidity ? true : !this.textBox.validity.valid;
578
+ this.internals.setValidity(flags, validationMessage, this.focusableAnchor);
579
+ }
580
+ /** Sets focus to the select. */
581
+ focus() {
582
+ this.textBox.focus();
583
+ }
584
+ /** Removes focus from the select. */
585
+ blur() {
586
+ this.textBox.blur();
587
+ }
588
+ /** Shows the picker in supportive browsers. */
589
+ showPicker() {
590
+ if ("showPicker" in this.textBox) this.textBox.showPicker();
591
+ }
592
+ render() {
593
+ const hasLabel = this.label || this.slotsWithContent.has("label");
594
+ const hasDescription = this.description || this.slotsWithContent.has("description");
595
+ return html`
596
+ <label id="label" part="label" for="text-box" class=${classMap({ vh: !hasLabel })}>
597
+ <slot name="label">${this.label}</slot>
598
+ </label>
599
+
600
+ <div id="description" part="description" class=${classMap({ vh: !hasDescription })}>
601
+ <slot name="description">${this.description}</slot>
602
+ </div>
603
+
604
+ <div
605
+ id="visual-box"
606
+ part="visual-box"
607
+ class=${classMap({
608
+ normal: this.variant === "normal",
609
+ filled: this.variant === "filled",
610
+ unstyled: this.variant === "unstyled",
611
+ xs: this.size === "xs",
612
+ sm: this.size === "sm",
613
+ md: this.size === "md",
614
+ lg: this.size === "lg",
615
+ xl: this.size === "xl",
616
+ pill: this.pill,
617
+ disabled: this.disabled
618
+ })}
619
+ @pointerdown=${this.handleVisualBoxPointerDown}
620
+ >
621
+ <slot name="start"></slot>
622
+
623
+ <select
624
+ id="text-box"
625
+ part="text-box"
626
+ ?autofocus=${this.autofocus}
627
+ ?disabled=${this.disabled}
628
+ ?readonly=${this.readonly}
629
+ ?required=${this.required}
630
+ .value=${live(this.value)}
631
+ autocomplete=${ifDefined(this.autocomplete)}
632
+ enterkeyhint=${ifDefined(this.enterkeyhint)}
633
+ aria-describedby="description"
634
+ aria-invalid=${this.isInvalid ? "true" : "false"}
635
+ @change=${this.handleChange}
636
+ @input=${this.handleInput}
637
+ @focus=${this.handleFocus}
638
+ @blur=${this.handleBlur}
639
+ ></select>
640
+
641
+ <slot hidden></slot>
642
+
643
+ <slot name="end"></slot>
644
+
645
+ <sigvelo-icon
646
+ id="chevron"
647
+ part="chevron"
648
+ exportparts="svg:chevron__svg"
649
+ library="system"
650
+ name="selector"
651
+ ></sigvelo-icon>
652
+ </div>
653
+ `;
654
+ }
655
+ };
656
+ __decorate([query("slot:not([name])")], SigveloSelect.prototype, "defaultSlot", void 0);
657
+ __decorate([query("#text-box")], SigveloSelect.prototype, "textBox", void 0);
658
+ __decorate([state()], SigveloSelect.prototype, "isInvalid", void 0);
659
+ __decorate([state()], SigveloSelect.prototype, "hadUserInteraction", void 0);
660
+ __decorate([state()], SigveloSelect.prototype, "wasSubmitted", void 0);
661
+ __decorate([state()], SigveloSelect.prototype, "options", void 0);
662
+ __decorate([property()], SigveloSelect.prototype, "label", void 0);
663
+ __decorate([property()], SigveloSelect.prototype, "description", void 0);
664
+ __decorate([property({ reflect: true })], SigveloSelect.prototype, "name", void 0);
665
+ __decorate([property()], SigveloSelect.prototype, "value", void 0);
666
+ __decorate([property({
667
+ type: Boolean,
668
+ reflect: true
669
+ })], SigveloSelect.prototype, "disabled", void 0);
670
+ __decorate([property({
671
+ type: Boolean,
672
+ reflect: true
673
+ })], SigveloSelect.prototype, "readonly", void 0);
674
+ __decorate([property({ reflect: true })], SigveloSelect.prototype, "variant", void 0);
675
+ __decorate([property({ reflect: true })], SigveloSelect.prototype, "size", void 0);
676
+ __decorate([property({
677
+ type: Boolean,
678
+ reflect: true
679
+ })], SigveloSelect.prototype, "pill", void 0);
680
+ __decorate([property()], SigveloSelect.prototype, "form", void 0);
681
+ __decorate([property({
682
+ type: Boolean,
683
+ reflect: true
684
+ })], SigveloSelect.prototype, "required", void 0);
685
+ __decorate([property()], SigveloSelect.prototype, "autocomplete", void 0);
686
+ __decorate([property()], SigveloSelect.prototype, "enterkeyhint", void 0);
687
+ SigveloSelect.disableWarning?.("change-in-update");
688
+ customElements.define("sigvelo-select", SigveloSelect);
689
+ //#endregion
690
+ export { SigveloSelect as t };