@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,687 @@
1
+ import { Localize } from "./utilities/localize.js";
2
+ import "./icon-BPVkNsY4.js";
3
+ import { t as __decorate } from "./decorate-DcF3lt7P.js";
4
+ import { css, html } from "lit";
5
+ import { property, query, state } from "lit/decorators.js";
6
+ import hostStyles from "@mcp-b/wc-support/styles/host.styles";
7
+ import { SigveloFormControlElement } from "@mcp-b/wc-support/base/sigvelo-element";
8
+ import { classMap } from "lit/directives/class-map.js";
9
+ import { ifDefined } from "lit/directives/if-defined.js";
10
+ import { SigveloBlurEvent, SigveloChangeEvent, SigveloFocusEvent, SigveloInputEvent } from "@mcp-b/wc-support/events/form";
11
+ import { live } from "lit/directives/live.js";
12
+ import formControlStyles from "@mcp-b/wc-support/styles/form-control.styles";
13
+ //#region src/components/text-field/text-field.styles.ts
14
+ var text_field_styles_default = css`
15
+ /* Pills */
16
+ #visual-box.pill {
17
+ border-radius: var(--sigvelo-radius-full);
18
+ }
19
+
20
+ #text-box::-webkit-color-swatch {
21
+ border-radius: var(--sigvelo-radius-full);
22
+ }
23
+
24
+ #text-box::-moz-color-swatch,
25
+ #text-box::-moz-focus-inner {
26
+ border-radius: var(--sigvelo-radius-full);
27
+ }
28
+ `;
29
+ //#endregion
30
+ //#region src/components/text-field/text-field.ts
31
+ /**
32
+ * <sigvelo-text-field>
33
+ *
34
+ * @summary Allows users to input and edit text.
35
+ * @tag sigvelo-text-field
36
+ * @documentation https://design-system.sigvelo.com/docs/components/text-field
37
+ * @status stable
38
+ * @since 1.0
39
+ *
40
+ * @dependency sigvelo-icon
41
+ *
42
+ * @slot label - The text field's label. For plain-text labels, you can use the `label` attribute instead.
43
+ * @slot description - The text field's description. For plain-text descriptions, you can use the `description`
44
+ * attribute instead.
45
+ * @slot start - An icon or similar element to place before the label. Works great with `<sigvelo-icon>`.
46
+ * @slot end - An icon or similar element to place after the label. Works great with `<sigvelo-icon>`.
47
+ *
48
+ * @event sigvelo-blur - Emitted when the text field loses focus. This event does not bubble.
49
+ * @event sigvelo-change - Emitted when the user commits changes to the text field's value.
50
+ * @event sigvelo-focus - Emitted when the text field receives focus. This event does not bubble.
51
+ * @event sigvelo-input - Emitted when the text field receives input.
52
+ *
53
+ * @csspart label - The element that contains the text field's label.
54
+ * @csspart description - The element that contains the text field's description.
55
+ * @csspart visual-box - The element that wraps the internal text box.
56
+ * @csspart text-box - The internal text box, an `<input>` element.
57
+ * @csspart clear-button - The clear button, a `<button>` element.
58
+ * @csspart password-toggle-button - The password toggle button, a `<button>` element.
59
+ *
60
+ * @cssstate disabled - Applied when the text field is disabled.
61
+ * @cssstate blank - Applied when the text field has a blank value.
62
+ * @cssstate focused - Applied when the text field has focus.
63
+ * @cssstate user-valid - Applied when the text field is valid and the user has sufficiently interacted with it.
64
+ * @cssstate user-invalid - Applied when the text field is invalid and the user has sufficiently interacted with it.
65
+ *
66
+ * @example Default
67
+ * ```html
68
+ * <sigvelo-text-field name="name" label="Name"></sigvelo-text-field>
69
+ * ```
70
+ *
71
+ * @example Labels and descriptions
72
+ * You can use the `label` and `description` attributes to provide plain text labels and descriptions for the text field. If you want to provide HTML, use the `label` and `description` slots instead.
73
+ *
74
+ * ```html
75
+ * <sigvelo-text-field name="name" label="Name">
76
+ * <span slot="description">
77
+ * For more information, <a href="https://example.com/" target="_blank">visit our website</a>.
78
+ * </span>
79
+ * </sigvelo-text-field>
80
+ * ```
81
+ *
82
+ * @example Providing an initial value
83
+ * Use the `value` attribute to provide an initial value for the text field.
84
+ *
85
+ * ```html
86
+ * <sigvelo-text-field name="name" label="Name" value="Meowy McGee"></sigvelo-text-field>
87
+ * ```
88
+ *
89
+ * @example Changing the type
90
+ * Text fields support more than just text. Use the `type` attribute to change the type of input they accept.
91
+ *
92
+ * ```html
93
+ * <sigvelo-text-field type="color" label="Color" value="#7a7bbe"></sigvelo-text-field><br>
94
+ * <sigvelo-text-field type="date" label="Date" value="1989-03-12"></sigvelo-text-field><br>
95
+ * <sigvelo-text-field type="time" label="Time" value="12:00:00"></sigvelo-text-field><br>
96
+ * <sigvelo-text-field type="number" label="Number" value="42" inputmode="numeric"></sigvelo-text-field><br>
97
+ * <sigvelo-text-field type="password" label="Password" value="hunter2"></sigvelo-text-field>
98
+ * ```
99
+ *
100
+ * @example Adding a placeholder
101
+ * Use the `placeholder` attribute to show a placeholder in the text field when it's empty.
102
+ *
103
+ * ```html
104
+ * <sigvelo-text-field
105
+ * type="email"
106
+ * label="Email"
107
+ * placeholder="you@example.com"
108
+ * ></sigvelo-text-field>
109
+ * ```
110
+ *
111
+ * @example Adding a clear button
112
+ * To add a clear button to the text field, use the `with-clear` attribute. The `sigvelo-input` event will be emitted when the clear button is activated.
113
+ *
114
+ * ```html
115
+ * <sigvelo-text-field
116
+ * name="name"
117
+ * label="Name"
118
+ * value="Meowy McGee"
119
+ * with-clear
120
+ * ></sigvelo-text-field>
121
+ * ```
122
+ *
123
+ * @example Start and end content
124
+ * 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.
125
+ *
126
+ * ```html
127
+ * <sigvelo-text-field name="search" label="Search">
128
+ * <sigvelo-icon slot="start" name="search"></sigvelo-icon>
129
+ * </sigvelo-text-field>
130
+ *
131
+ * <br>
132
+ *
133
+ * <sigvelo-text-field type="email" name="email" label="Email">
134
+ * <sigvelo-icon slot="end" name="mail"></sigvelo-icon>
135
+ * </sigvelo-text-field>
136
+ *
137
+ * <br>
138
+ *
139
+ * <sigvelo-text-field type="url" name="url" label="URL">
140
+ * <span slot="start">https://</span>
141
+ * </sigvelo-text-field>
142
+ * ```
143
+ *
144
+ * @example Autocomplete
145
+ * Slot a `<datalist>` into the text field's default slot to show a list of autocomplete options. Unlike native `<input>` elements, there's no need to provide a `list` attribute.
146
+ *
147
+ * ```html
148
+ * <sigvelo-text-field label="Browser" name="browser">
149
+ * <datalist>
150
+ * <option value="Chrome"></option>
151
+ * <option value="Firefox"></option>
152
+ * <option value="Safari"></option>
153
+ * <option value="Edge"></option>
154
+ * <option value="Opera"></option>
155
+ * <option value="Other"></option>
156
+ * </datalist>
157
+ * </sigvelo-text-field>
158
+ * ```
159
+ *
160
+ * @example Filled and unstyled text fields
161
+ * Set the `variant` attribute to `normal`, `filled`, or `unstyled` to change the text field's variant.
162
+ *
163
+ * ```html
164
+ * <sigvelo-text-field variant="normal" label="Normal text field" placeholder="Enter some text"></sigvelo-text-field><br>
165
+ * <sigvelo-text-field variant="filled" label="Filled text field" placeholder="Enter some text"></sigvelo-text-field><br>
166
+ * <sigvelo-text-field variant="unstyled" label="Unstyled text field" placeholder="Enter some text"></sigvelo-text-field>
167
+ * ```
168
+ *
169
+ * @example Pill-shaped text fields
170
+ * Text fields can be rendered with pill-shaped edges by adding the `pill` attribute.
171
+ *
172
+ * ```html
173
+ * <sigvelo-text-field pill label="Pill-shaped"></sigvelo-text-field>
174
+ * ```
175
+ *
176
+ * @example Changing the size
177
+ * Use the `size` attribute to change the text field's size.
178
+ *
179
+ * ```html
180
+ * <sigvelo-text-field size="xs" label="Extra small"></sigvelo-text-field><br>
181
+ * <sigvelo-text-field size="sm" label="Small"></sigvelo-text-field><br>
182
+ * <sigvelo-text-field size="md" label="Medium"></sigvelo-text-field><br>
183
+ * <sigvelo-text-field size="lg" label="Large"></sigvelo-text-field><br>
184
+ * <sigvelo-text-field size="xl" label="Extra large"></sigvelo-text-field>
185
+ * ```
186
+ *
187
+ * @example Disabling
188
+ * Use the `disabled` attribute to disable the text field.
189
+ *
190
+ * ```html
191
+ * <sigvelo-text-field label="Disabled" disabled></sigvelo-text-field>
192
+ * ```
193
+ *
194
+ * @example Showing labels on the side
195
+ * With the `sigvelo-side-label` utility, you can show labels on the side instead of on top of the text field. You can control the width of the label by setting the `--label-width` custom property.
196
+ *
197
+ * ```html
198
+ * <sigvelo-text-field
199
+ * class="sigvelo-side-label"
200
+ * style="--label-width: 8ch;"
201
+ * name="name"
202
+ * label="Name"
203
+ * description="What do people call you?"
204
+ * ></sigvelo-text-field>
205
+ * <br>
206
+ * <sigvelo-text-field
207
+ * class="sigvelo-side-label"
208
+ * style="--label-width: 8ch;"
209
+ * type="email"
210
+ * name="email"
211
+ * label="Email"
212
+ * description="How can we get in touch?"
213
+ * ></sigvelo-text-field>
214
+ * ```
215
+ *
216
+ * @example Validation
217
+ * A number of attributes can be used to enable validation using the Constraint Validation API. These include `required`, `pattern`, `minlength`, `maxlength`, `min`, `max`, and `step`. They work exactly like their native counterparts.
218
+ *
219
+ * ```html
220
+ * <form action="about:blank" method="get" target="_blank">
221
+ * <sigvelo-text-field name="required" label="Required" required></sigvelo-text-field><br>
222
+ * <sigvelo-text-field name="minlength" label="Minimum length (enter at least five characters)" required minlength="5"></sigvelo-text-field><br>
223
+ * <sigvelo-text-field name="maxlength" label="Maximum length (enter no more than five characters)" required maxlength="5"></sigvelo-text-field><br>
224
+ * <sigvelo-text-field name="pattern" label="Pattern (enter three to five letters)" required pattern="[A-Za-z]{3,5}"></sigvelo-text-field><br>
225
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
226
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
227
+ * </form>
228
+ * ```
229
+ *
230
+ * @example Using custom validation
231
+ * Use the `setCustomValidity()` method to make the text field 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.
232
+ *
233
+ * ```html
234
+ * <form action="about:blank" method="get" target="_blank" id="text-field__custom-validation">
235
+ * <sigvelo-text-field
236
+ * name="name"
237
+ * label="Name"
238
+ * description="This field will be invalid until custom validation is removed"
239
+ * ></sigvelo-text-field>
240
+ * <br>
241
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
242
+ * </form>
243
+ *
244
+ * <script type="module">
245
+ * import { allDefined } from '/dist/sigvelo.js';
246
+ *
247
+ * await allDefined();
248
+ *
249
+ * const form = document.getElementById('text-field__custom-validation');
250
+ * const textField = form.querySelector('sigvelo-text-field');
251
+ *
252
+ * textField.setCustomValidity('Not so fast, bubba!');
253
+ * <\/script>
254
+ * ```
255
+ *
256
+ * @example Styling validation
257
+ * You can style valid and invalid text fields using the `:valid` and `:invalid` pseudo classes.
258
+ *
259
+ * ```html
260
+ * <form action="about:blank" method="get" target="_blank" class="text-field__validation-pseudo">
261
+ * <sigvelo-text-field
262
+ * name="name"
263
+ * label="Name"
264
+ * description="This field is required"
265
+ * required
266
+ * ></sigvelo-text-field>
267
+ * <br>
268
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
269
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
270
+ * </form>
271
+ *
272
+ * <style>
273
+ * .text-field__validation-pseudo {
274
+ * sigvelo-text-field:valid {
275
+ * outline: solid 2px var(--sigvelo-color-success-border);
276
+ * outline-offset: .5rem;
277
+ * }
278
+ *
279
+ * sigvelo-text-field:invalid {
280
+ * outline: solid 2px var(--sigvelo-color-danger-border);
281
+ * outline-offset: .5rem;
282
+ * }
283
+ * }
284
+ * </style>
285
+ * ```
286
+ *
287
+ * 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.
288
+ *
289
+ * ```html
290
+ * <form action="about:blank" method="get" target="_blank" class="text-field__validation-custom">
291
+ * <sigvelo-text-field
292
+ * name="name"
293
+ * label="Name"
294
+ * description="This field is required"
295
+ * required
296
+ * ></sigvelo-text-field>
297
+ * <br>
298
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
299
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
300
+ * </form>
301
+ *
302
+ * <style>
303
+ * .text-field__validation-custom {
304
+ * sigvelo-text-field:state(user-valid) {
305
+ * outline: solid 2px var(--sigvelo-color-success-border);
306
+ * outline-offset: .5rem;
307
+ * }
308
+ *
309
+ * sigvelo-text-field:state(user-invalid) {
310
+ * outline: solid 2px var(--sigvelo-color-danger-border);
311
+ * outline-offset: .5rem;
312
+ * }
313
+ * }
314
+ * </style>
315
+ * ```
316
+ */
317
+ var SigveloTextField = class extends SigveloFormControlElement {
318
+ constructor(..._args) {
319
+ super(..._args);
320
+ this.localize = new Localize(this);
321
+ this.isInvalid = false;
322
+ this.hadUserInteraction = false;
323
+ this.wasSubmitted = false;
324
+ this.isPasswordVisible = false;
325
+ this.value = "";
326
+ this.disabled = false;
327
+ this.readonly = false;
328
+ this.withClear = false;
329
+ this.variant = "normal";
330
+ this.size = "md";
331
+ this.pill = false;
332
+ this.type = "text";
333
+ this.required = false;
334
+ }
335
+ static {
336
+ this.formAssociated = true;
337
+ }
338
+ static {
339
+ this.observeSlots = true;
340
+ }
341
+ static {
342
+ this.styles = [
343
+ hostStyles,
344
+ formControlStyles,
345
+ text_field_styles_default
346
+ ];
347
+ }
348
+ get focusableAnchor() {
349
+ return this.textBox;
350
+ }
351
+ connectedCallback() {
352
+ super.connectedCallback();
353
+ this.addEventListener("invalid", this.handleHostInvalid);
354
+ }
355
+ disconnectedCallback() {
356
+ super.disconnectedCallback();
357
+ this.removeEventListener("invalid", this.handleHostInvalid);
358
+ }
359
+ firstUpdated() {
360
+ new MutationObserver(() => this.syncDatalist()).observe(this, {
361
+ subtree: true,
362
+ childList: true,
363
+ attributes: true
364
+ });
365
+ this.syncDatalist();
366
+ }
367
+ updated(changedProperties) {
368
+ this.updateValidity();
369
+ if (changedProperties.has("value")) {
370
+ this.customStates.set("blank", this.value === "");
371
+ this.internals.setFormValue(this.value);
372
+ }
373
+ if (changedProperties.has("disabled")) this.customStates.set("disabled", this.disabled);
374
+ if (this.hadUserInteraction || this.wasSubmitted) {
375
+ this.customStates.set("user-invalid", this.isInvalid);
376
+ this.customStates.set("user-valid", !this.isInvalid);
377
+ } else {
378
+ this.customStates.set("user-invalid", false);
379
+ this.customStates.set("user-valid", false);
380
+ }
381
+ }
382
+ /** @internal Called when a containing fieldset is disabled. */
383
+ formDisabledCallback(isDisabled) {
384
+ this.disabled = isDisabled;
385
+ }
386
+ /** @internal Called when the form is reset. */
387
+ formResetCallback() {
388
+ this.isInvalid = false;
389
+ this.hadUserInteraction = false;
390
+ this.wasSubmitted = false;
391
+ this.value = this.getAttribute("value") ?? "";
392
+ }
393
+ handleBlur() {
394
+ this.customStates.set("focused", false);
395
+ this.dispatchEvent(new SigveloBlurEvent());
396
+ }
397
+ handleChange() {
398
+ this.hadUserInteraction = true;
399
+ this.dispatchEvent(new SigveloChangeEvent());
400
+ this.dispatchEvent(new Event("change", {
401
+ bubbles: true,
402
+ composed: true
403
+ }));
404
+ }
405
+ handleClearClick() {
406
+ this.hadUserInteraction = true;
407
+ this.value = "";
408
+ this.textBox.focus();
409
+ this.dispatchEvent(new SigveloInputEvent());
410
+ this.dispatchEvent(new InputEvent("input", {
411
+ bubbles: true,
412
+ composed: true,
413
+ cancelable: false
414
+ }));
415
+ }
416
+ handleFocus() {
417
+ this.customStates.set("focused", true);
418
+ this.dispatchEvent(new SigveloFocusEvent());
419
+ }
420
+ handleHostInvalid() {
421
+ this.wasSubmitted = true;
422
+ }
423
+ async handleInput() {
424
+ this.value = this.textBox.value;
425
+ await this.updateComplete;
426
+ this.dispatchEvent(new SigveloInputEvent());
427
+ }
428
+ handleKeyDown(event) {
429
+ if (event.key === "Enter" && this.internals.form) {
430
+ const submitter = [...this.internals.form.elements].find((el) => {
431
+ return ["button", "input"].includes(el.localName) && el.type === "submit";
432
+ });
433
+ this.internals.form.requestSubmit(submitter);
434
+ }
435
+ }
436
+ handlePasswordToggleClick() {
437
+ this.isPasswordVisible = !this.isPasswordVisible;
438
+ this.textBox.focus();
439
+ }
440
+ handleTextBoxButtonPointerDown(event) {
441
+ event.preventDefault();
442
+ }
443
+ handleVisualBoxPointerDown(event) {
444
+ const target = event.target;
445
+ const isBox = target?.id === "visual-box";
446
+ const isSlot = target.hasAttribute("slot");
447
+ if (isBox || isSlot) {
448
+ event.preventDefault();
449
+ this.textBox.focus();
450
+ }
451
+ }
452
+ /** Sets the form control's validity */
453
+ async updateValidity() {
454
+ await this.updateComplete;
455
+ const hasCustomValidity = this.getCustomValidity().length > 0;
456
+ const validationMessage = hasCustomValidity ? this.getCustomValidity() : this.textBox.validationMessage;
457
+ const flags = {
458
+ badInput: this.textBox.validity.badInput,
459
+ customError: hasCustomValidity,
460
+ patternMismatch: this.textBox.validity.patternMismatch,
461
+ rangeOverflow: this.textBox.validity.rangeOverflow,
462
+ rangeUnderflow: this.textBox.validity.rangeUnderflow,
463
+ stepMismatch: this.textBox.validity.stepMismatch,
464
+ tooLong: this.textBox.validity.tooLong,
465
+ tooShort: this.textBox.validity.tooShort,
466
+ typeMismatch: this.textBox.validity.typeMismatch,
467
+ valueMissing: this.textBox.validity.valueMissing
468
+ };
469
+ this.isInvalid = hasCustomValidity ? true : !this.textBox.validity.valid;
470
+ this.internals.setValidity(flags, validationMessage, this.focusableAnchor);
471
+ }
472
+ /** Looks for a slotted datalist, clones, and links it to the text field. */
473
+ syncDatalist() {
474
+ const datalist = this.defaultSlot.assignedElements({ flatten: true }).find((el) => el.localName === "datalist");
475
+ this.textBox.removeAttribute("list");
476
+ this.shadowRoot.querySelector("cloned-list")?.remove();
477
+ if (datalist) {
478
+ const clonedList = datalist.cloneNode(true);
479
+ clonedList.id = "cloned-list";
480
+ this.shadowRoot.append(clonedList);
481
+ this.textBox.setAttribute("list", "cloned-list");
482
+ }
483
+ }
484
+ /** Sets focus to the text field. */
485
+ focus() {
486
+ this.textBox.focus();
487
+ }
488
+ /** Removes focus from the text field. */
489
+ blur() {
490
+ this.textBox.blur();
491
+ }
492
+ /** Selects all text in the text field. */
493
+ select() {
494
+ this.textBox.select();
495
+ }
496
+ /** Sets the start and end positions of the current text selection in the text field. */
497
+ setSelectionRange(start, end, direction = "none") {
498
+ this.textBox.setSelectionRange(start, end, direction);
499
+ }
500
+ /** Replaces a range of text in the text field with a new string. */
501
+ setRangeText(replacement, start, end, selectMode) {
502
+ this.textBox.setRangeText(replacement, start ?? this.textBox.selectionStart, end ?? this.textBox.selectionEnd, selectMode);
503
+ this.value = this.textBox.value;
504
+ }
505
+ /** For types that support a picker, such as color and date selectors, this will cause the picker to show. */
506
+ showPicker() {
507
+ this.textBox.showPicker();
508
+ }
509
+ /**
510
+ * When a supported `type` is used, this method will decrease the text field's value by `step`. This is a programmatic
511
+ * change, so `input` and `change` events will not be emitted when this is called.
512
+ */
513
+ stepDown() {
514
+ this.textBox.stepDown();
515
+ }
516
+ /**
517
+ * When a supported `type` is used, this method will increase the text field's value by `step`. This is a programmatic
518
+ * change, so `input` and `change` events will not be emitted when this is called.
519
+ */
520
+ stepUp() {
521
+ this.textBox.stepUp();
522
+ }
523
+ render() {
524
+ const hasLabel = this.label || this.slotsWithContent.has("label");
525
+ const hasDescription = this.description || this.slotsWithContent.has("description");
526
+ return html`
527
+ <label id="label" part="label" for="text-box" class=${classMap({ vh: !hasLabel })}>
528
+ <slot name="label">${this.label}</slot>
529
+ </label>
530
+
531
+ <div id="description" part="description" class=${classMap({ vh: !hasDescription })}>
532
+ <slot name="description">${this.description}</slot>
533
+ </div>
534
+
535
+ <div
536
+ id="visual-box"
537
+ part="visual-box"
538
+ class=${classMap({
539
+ normal: this.variant === "normal",
540
+ filled: this.variant === "filled",
541
+ unstyled: this.variant === "unstyled",
542
+ xs: this.size === "xs",
543
+ sm: this.size === "sm",
544
+ md: this.size === "md",
545
+ lg: this.size === "lg",
546
+ xl: this.size === "xl",
547
+ pill: this.pill,
548
+ disabled: this.disabled
549
+ })}
550
+ @pointerdown=${this.handleVisualBoxPointerDown}
551
+ >
552
+ <slot name="start"></slot>
553
+
554
+ <input
555
+ id="text-box"
556
+ part="text-box"
557
+ type=${this.type === "password" && this.isPasswordVisible ? "text" : this.type}
558
+ ?autofocus=${this.autofocus}
559
+ ?disabled=${this.disabled}
560
+ ?readonly=${this.readonly}
561
+ ?required=${this.required}
562
+ placeholder=${ifDefined(this.placeholder)}
563
+ pattern=${ifDefined(this.pattern)}
564
+ minlength=${ifDefined(this.minLength)}
565
+ maxlength=${ifDefined(this.maxLength)}
566
+ min=${ifDefined(this.min)}
567
+ max=${ifDefined(this.max)}
568
+ step=${ifDefined(this.step)}
569
+ .value=${live(this.value)}
570
+ autocapitalize=${ifDefined(this.autocapitalize)}
571
+ autocomplete=${ifDefined(this.autocomplete)}
572
+ autocorrect=${ifDefined(this.autocorrect)}
573
+ spellcheck=${ifDefined(this.spellcheck)}
574
+ enterkeyhint=${ifDefined(this.enterkeyhint)}
575
+ inputmode=${ifDefined(this.inputmode)}
576
+ aria-describedby="description"
577
+ aria-invalid=${this.isInvalid ? "true" : "false"}
578
+ @change=${this.handleChange}
579
+ @input=${this.handleInput}
580
+ @focus=${this.handleFocus}
581
+ @blur=${this.handleBlur}
582
+ @keydown=${this.handleKeyDown}
583
+ />
584
+
585
+ ${this.type === "password" && this.value?.length > 0 && !this.disabled && !this.readonly ? html`
586
+ <button
587
+ id="password-toggle-button"
588
+ part="toggle-password-button"
589
+ class="text-box-button"
590
+ type="button"
591
+ aria-label=${this.localize.term(this.isPasswordVisible ? "hidePassword" : "showPassword")}
592
+ tabindex="-1"
593
+ @pointerdown=${this.handleTextBoxButtonPointerDown}
594
+ @click=${this.handlePasswordToggleClick}
595
+ >
596
+ <sigvelo-icon
597
+ library="system"
598
+ name=${this.isPasswordVisible ? "eye-off" : "eye"}
599
+ ></sigvelo-icon>
600
+ </button>
601
+ ` : ""}
602
+ ${this.withClear && this.value?.length > 0 && !this.disabled && !this.readonly ? html`
603
+ <button
604
+ id="clear-button"
605
+ part="clear-button"
606
+ class="text-box-button"
607
+ type="button"
608
+ aria-label=${this.localize.term("clearEntry")}
609
+ tabindex="-1"
610
+ @pointerdown=${this.handleTextBoxButtonPointerDown}
611
+ @click=${this.handleClearClick}
612
+ >
613
+ <sigvelo-icon library="system" name="circle-x"></sigvelo-icon>
614
+ </button>
615
+ ` : ""}
616
+
617
+ <slot name="end"></slot>
618
+
619
+ <slot hidden></slot>
620
+ </div>
621
+ `;
622
+ }
623
+ };
624
+ __decorate([query("slot:not([name])")], SigveloTextField.prototype, "defaultSlot", void 0);
625
+ __decorate([query("input")], SigveloTextField.prototype, "textBox", void 0);
626
+ __decorate([state()], SigveloTextField.prototype, "isInvalid", void 0);
627
+ __decorate([state()], SigveloTextField.prototype, "hadUserInteraction", void 0);
628
+ __decorate([state()], SigveloTextField.prototype, "wasSubmitted", void 0);
629
+ __decorate([state()], SigveloTextField.prototype, "isPasswordVisible", void 0);
630
+ __decorate([property()], SigveloTextField.prototype, "label", void 0);
631
+ __decorate([property()], SigveloTextField.prototype, "description", void 0);
632
+ __decorate([property({ reflect: true })], SigveloTextField.prototype, "name", void 0);
633
+ __decorate([property()], SigveloTextField.prototype, "value", void 0);
634
+ __decorate([property()], SigveloTextField.prototype, "placeholder", void 0);
635
+ __decorate([property({
636
+ type: Boolean,
637
+ reflect: true
638
+ })], SigveloTextField.prototype, "disabled", void 0);
639
+ __decorate([property({
640
+ type: Boolean,
641
+ reflect: true
642
+ })], SigveloTextField.prototype, "readonly", void 0);
643
+ __decorate([property({
644
+ attribute: "with-clear",
645
+ type: Boolean,
646
+ reflect: true
647
+ })], SigveloTextField.prototype, "withClear", void 0);
648
+ __decorate([property({ reflect: true })], SigveloTextField.prototype, "variant", void 0);
649
+ __decorate([property({ reflect: true })], SigveloTextField.prototype, "size", void 0);
650
+ __decorate([property({
651
+ type: Boolean,
652
+ reflect: true
653
+ })], SigveloTextField.prototype, "pill", void 0);
654
+ __decorate([property()], SigveloTextField.prototype, "type", void 0);
655
+ __decorate([property()], SigveloTextField.prototype, "form", void 0);
656
+ __decorate([property({
657
+ type: Boolean,
658
+ reflect: true
659
+ })], SigveloTextField.prototype, "required", void 0);
660
+ __decorate([property()], SigveloTextField.prototype, "pattern", void 0);
661
+ __decorate([property({
662
+ attribute: "minlength",
663
+ type: Number
664
+ })], SigveloTextField.prototype, "minLength", void 0);
665
+ __decorate([property({
666
+ attribute: "maxlength",
667
+ type: Number
668
+ })], SigveloTextField.prototype, "maxLength", void 0);
669
+ __decorate([property({ type: Number })], SigveloTextField.prototype, "min", void 0);
670
+ __decorate([property({ type: Number })], SigveloTextField.prototype, "max", void 0);
671
+ __decorate([property()], SigveloTextField.prototype, "step", void 0);
672
+ __decorate([property()], SigveloTextField.prototype, "autocapitalize", void 0);
673
+ __decorate([property()], SigveloTextField.prototype, "autocomplete", void 0);
674
+ __decorate([property({ type: Boolean })], SigveloTextField.prototype, "autocorrect", void 0);
675
+ __decorate([property({ type: Boolean })], SigveloTextField.prototype, "autofocus", void 0);
676
+ __decorate([property()], SigveloTextField.prototype, "enterkeyhint", void 0);
677
+ __decorate([property()], SigveloTextField.prototype, "inputmode", void 0);
678
+ __decorate([property({
679
+ type: Boolean,
680
+ converter: {
681
+ fromAttribute: (value) => !(!value || value === "false"),
682
+ toAttribute: (value) => value ? "true" : "false"
683
+ }
684
+ })], SigveloTextField.prototype, "spellcheck", void 0);
685
+ customElements.define("sigvelo-text-field", SigveloTextField);
686
+ //#endregion
687
+ export { SigveloTextField as t };