@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,726 @@
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/number-field/number-field.styles.ts
14
+ var number_field_styles_default = css`
15
+ #visual-box.xs,
16
+ #visual-box.sm,
17
+ #visual-box.md,
18
+ #visual-box.lg,
19
+ #visual-box.xl {
20
+ padding: 0;
21
+ gap: 0;
22
+ }
23
+
24
+ /* Pills */
25
+ #visual-box.pill {
26
+ border-radius: var(--sigvelo-radius-full);
27
+ }
28
+
29
+ #text-box {
30
+ /* Hide the number spinners in Firefox*/
31
+ -moz-appearance: textfield;
32
+ flex: 1 1 auto;
33
+ font-variant-numeric: tabular-nums;
34
+ text-align: center;
35
+ }
36
+
37
+ /* Hide the number spinners in Chrome/Safari */
38
+ #text-box::-webkit-inner-spin-button,
39
+ #text-box::-webkit-outer-spin-button {
40
+ display: none;
41
+ }
42
+
43
+ #stepper-up,
44
+ #stepper-down {
45
+ display: flex;
46
+ top: 0;
47
+ bottom: 0;
48
+ align-items: center;
49
+ align-self: stretch;
50
+ justify-content: center;
51
+ margin: 0;
52
+ padding: 0 0.75em;
53
+ border: none;
54
+ background: none;
55
+ color: inherit;
56
+ font: inherit;
57
+ font-size: 1.25em;
58
+ cursor: pointer;
59
+ transition: var(--sigvelo-motion-duration-interaction) translate ease;
60
+
61
+ &:focus {
62
+ outline: none;
63
+ }
64
+
65
+ &:focus-visible {
66
+ outline: var(--sigvelo-focus-ring);
67
+ outline-offset: var(--sigvelo-border-width);
68
+ }
69
+
70
+ &:active:not(:disabled) {
71
+ translate: 0 var(--sigvelo-motion-distance-xs);
72
+ }
73
+
74
+ &:disabled {
75
+ cursor: not-allowed;
76
+ opacity: 0.5;
77
+ }
78
+ }
79
+ `;
80
+ //#endregion
81
+ //#region src/components/number-field/number-field.ts
82
+ /**
83
+ * <sigvelo-number-field>
84
+ *
85
+ * @summary Allows users to input and edit numbers.
86
+ * @tag sigvelo-number-field
87
+ * @documentation https://design-system.sigvelo.com/docs/components/number-field
88
+ * @status stable
89
+ * @since 1.0
90
+ *
91
+ * @dependency sigvelo-icon
92
+ *
93
+ * @slot label - The number field's label. For plain-text labels, you can use the `label` attribute instead.
94
+ * @slot description - The number field's description. For plain-text descriptions, you can use the `description`
95
+ * attribute instead.
96
+ * @slot start - An icon or similar element to place before the label. Works great with `<sigvelo-icon>`.
97
+ * @slot end - An icon or similar element to place after the label. Works great with `<sigvelo-icon>`.
98
+ *
99
+ * @event sigvelo-blur - Emitted when the number field loses focus. This event does not bubble.
100
+ * @event sigvelo-change - Emitted when the user commits changes to the number field's value.
101
+ * @event sigvelo-focus - Emitted when the number field receives focus. This event does not bubble.
102
+ * @event sigvelo-input - Emitted when the number field receives input.
103
+ *
104
+ * @csspart label - The element that contains the number field's label.
105
+ * @csspart description - The element that contains the number field's description.
106
+ * @csspart visual-box - The element that wraps the internal text box.
107
+ * @csspart text-box - The internal text box, an `<input>` element.
108
+ * @csspart stepper - The up and down stepper buttons.
109
+ * @csspart stepper-up - The up stepper button.
110
+ * @csspart stepper-down - The down stepper button.
111
+ *
112
+ * @cssstate disabled - Applied when the number field is disabled.
113
+ * @cssstate blank - Applied when the number field has a blank value.
114
+ * @cssstate focused - Applied when the number field has focus.
115
+ * @cssstate user-valid - Applied when the number field is valid and the user has sufficiently interacted with it.
116
+ * @cssstate user-invalid - Applied when the number field is invalid and the user has sufficiently interacted with it.
117
+ *
118
+ * @example Default
119
+ * ```html
120
+ * <sigvelo-number-field
121
+ * name="name"
122
+ * label="Lives"
123
+ * value="9"
124
+ * style="max-width: 200px;"
125
+ * ></sigvelo-number-field>
126
+ * ```
127
+ *
128
+ * @example Labels and descriptions
129
+ * 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.
130
+ *
131
+ * ```html
132
+ * <sigvelo-number-field name="name" label="Kitten age (months)" style="max-width: 200px;">
133
+ * <span slot="description">
134
+ * <a href="https://example.com/" target="_blank">How to determine age</a>
135
+ * </span>
136
+ * </sigvelo-number-field>
137
+ * ```
138
+ *
139
+ * @example Providing an initial value
140
+ * Use the `value` attribute to provide an initial value for the text field.
141
+ *
142
+ * ```html
143
+ * <sigvelo-number-field
144
+ * name="name"
145
+ * label="Treats given today"
146
+ * value="2"
147
+ * style="max-width: 200px;"
148
+ * >
149
+ * </sigvelo-number-field>
150
+ * ```
151
+ *
152
+ * @example Setting min, max, and step
153
+ * Use the `min` and `max` attributes to set a minimum and maximum value for the number field. Use the `step` attribute to change the granularity the value must adhere to.
154
+ *
155
+ * ```html
156
+ * <sigvelo-number-field
157
+ * name="donation"
158
+ * label="Monthly shelter donation"
159
+ * description="Amount in dollars (5-100)"
160
+ * min="5"
161
+ * max="100"
162
+ * step="5"
163
+ * value="25"
164
+ * style="max-width: 200px;"
165
+ * ></sigvelo-number-field>
166
+ * ```
167
+ *
168
+ * @example Adding a placeholder
169
+ * Use the `placeholder` attribute to show a placeholder in the text field when it's empty.
170
+ *
171
+ * ```html
172
+ * <sigvelo-number-field
173
+ * type="number"
174
+ * label="Weight"
175
+ * description="Measured in pounds"
176
+ * min="0"
177
+ * step="0.5"
178
+ * placeholder="10.5"
179
+ * style="max-width: 200px;"
180
+ * ></sigvelo-number-field>
181
+ * ```
182
+ *
183
+ * @example Start and end content
184
+ * 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.
185
+ *
186
+ * ```html
187
+ * <div style="max-width: 200px;">
188
+ * <sigvelo-number-field type="number" value="100" name="adoption" label="Adoption fee">
189
+ * <span slot="start">$</span>
190
+ * </sigvelo-number-field>
191
+ *
192
+ * <br>
193
+ *
194
+ * <sigvelo-number-field type="number" value="30" name="playtime" label="Playtime minutes">
195
+ * <sigvelo-icon slot="end" name="clock"></sigvelo-icon>
196
+ * </sigvelo-number-field>
197
+ *
198
+ * <br>
199
+ *
200
+ * <sigvelo-number-field name="treats" value="2" label="Daily treats">
201
+ * <sigvelo-icon slot="start" name="cat"></sigvelo-icon>
202
+ * <sigvelo-icon slot="end" name="cookie"></sigvelo-icon>
203
+ * </sigvelo-number-field>
204
+ * </sigvelo-number-field>
205
+ * ```
206
+ *
207
+ * @example Filled and unstyled number fields
208
+ * Set the `variant` attribute to `normal`, `filled`, or `unstyled` to change the text field's variant.
209
+ *
210
+ * ```html
211
+ * <div style="max-width: 200px;">
212
+ * <sigvelo-number-field variant="normal" label="Normal number field" placeholder="Enter number" style="max-width: 200px;"></sigvelo-number-field><br>
213
+ * <sigvelo-number-field variant="filled" label="Filled number field" placeholder="Enter number" style="max-width: 200px;"></sigvelo-number-field><br>
214
+ * <sigvelo-number-field variant="unstyled" label="Unstyled number field" placeholder="Enter number" style="max-width: 200px;"></sigvelo-number-field>
215
+ * </div>
216
+ * ```
217
+ *
218
+ * @example Pill-shaped number fields
219
+ * Text fields can be rendered with pill-shaped edges by adding the `pill` attribute.
220
+ *
221
+ * ```html
222
+ * <sigvelo-number-field pill label="Whiskers count" style="max-width: 200px;"></sigvelo-number-field>
223
+ * ```
224
+ *
225
+ * @example Without steppers
226
+ * Add the `without-steppers` attribute to remove the stepper buttons.
227
+ *
228
+ * ```html
229
+ * <sigvelo-number-field
230
+ * name="name"
231
+ * label="Purrs per minute"
232
+ * value="25"
233
+ * without-steppers
234
+ * style="max-width: 200px;"
235
+ * ></sigvelo-number-field>
236
+ * ```
237
+ *
238
+ * **Note:** This will remove the stepper buttons, but keyboard users can still modify the value using the arrow keys.
239
+ *
240
+ * @example Changing the size
241
+ * Use the `size` attribute to change the text field's size.
242
+ *
243
+ * ```html
244
+ * <div style="max-width: 200px;">
245
+ * <sigvelo-number-field size="xs" label="Hairball count (xs)"></sigvelo-number-field><br>
246
+ * <sigvelo-number-field size="sm" label="Meows per hour (sm)"></sigvelo-number-field><br>
247
+ * <sigvelo-number-field size="md" label="Zoomies today (md)"></sigvelo-number-field><br>
248
+ * <sigvelo-number-field size="lg" label="Treats budget (lg)"></sigvelo-number-field><br>
249
+ * <sigvelo-number-field size="xl" label="Seconds until empty bowl (xl)"></sigvelo-number-field>
250
+ * </div>
251
+ * ```
252
+ *
253
+ * @example Disabling
254
+ * Use the `disabled` attribute to disable the text field.
255
+ *
256
+ * ```html
257
+ * <sigvelo-number-field label="Limit reached (no more cats!)" disabled style="max-width: 200px;"></sigvelo-number-field>
258
+ * ```
259
+ *
260
+ * @example Showing labels on the side
261
+ * 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.
262
+ *
263
+ * ```html
264
+ * <div style="max-width: 300px;">
265
+ * <sigvelo-number-field
266
+ * class="sigvelo-side-label"
267
+ * style="--label-width: 12ch;"
268
+ * name="name"
269
+ * label="Age"
270
+ * description="How old is your feline friend?"
271
+ * ></sigvelo-number-field>
272
+ * <br>
273
+ * <sigvelo-number-field
274
+ * class="sigvelo-side-label"
275
+ * style="--label-width: 12ch;"
276
+ * type="number"
277
+ * name="email"
278
+ * label="Weight"
279
+ * description="In pounds, please be honest!"
280
+ * ></sigvelo-number-field>
281
+ * </div>
282
+ * ```
283
+ *
284
+ * @example Validation
285
+ * 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.
286
+ *
287
+ * ```html
288
+ * <form action="about:blank" method="get" target="_blank" style="max-width: 200px;">
289
+ * <sigvelo-number-field name="required" label="Number of cats" required></sigvelo-number-field><br>
290
+ * <sigvelo-number-field name="min" label="Minimum cats (min 3)" required min="3"></sigvelo-number-field><br>
291
+ * <sigvelo-number-field name="max" label="Maximum cats (max 10)" required max="10"></sigvelo-number-field><br>
292
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
293
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
294
+ * </form>
295
+ * ```
296
+ *
297
+ * @example Using custom validation
298
+ * 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.
299
+ *
300
+ * ```html
301
+ * <form action="about:blank" method="get" target="_blank" id="number-field__custom-validation">
302
+ * <sigvelo-number-field
303
+ * name="name"
304
+ * label="Happiness level (1-10)"
305
+ * description="This field will be invalid until custom validation is removed"
306
+ * style="max-width: 200px;"
307
+ * ></sigvelo-number-field>
308
+ * <br>
309
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
310
+ * </form>
311
+ *
312
+ * <script type="module">
313
+ * import { allDefined } from '/dist/sigvelo.js';
314
+ *
315
+ * await allDefined();
316
+ *
317
+ * const form = document.getElementById('number-field__custom-validation');
318
+ * const textField = form.querySelector('sigvelo-number-field');
319
+ *
320
+ * textField.setCustomValidity('Not so fast, bubba!');
321
+ * <\/script>
322
+ * ```
323
+ *
324
+ * @example Styling validation
325
+ * You can style valid and invalid text fields using the `:valid` and `:invalid` pseudo classes.
326
+ *
327
+ * ```html
328
+ * <form action="about:blank" method="get" target="_blank" class="number-field__validation-pseudo">
329
+ * <sigvelo-number-field
330
+ * name="name"
331
+ * label="Toy budget"
332
+ * description="Must be at least $50"
333
+ * min="50"
334
+ * required
335
+ * style="max-width: 200px;"
336
+ * ></sigvelo-number-field>
337
+ * <br>
338
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
339
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
340
+ * </form>
341
+ *
342
+ * <style>
343
+ * .number-field__validation-pseudo {
344
+ * sigvelo-number-field:valid {
345
+ * outline: solid 2px var(--sigvelo-color-success-border);
346
+ * outline-offset: .5rem;
347
+ * }
348
+ *
349
+ * sigvelo-number-field:invalid {
350
+ * outline: solid 2px var(--sigvelo-color-danger-border);
351
+ * outline-offset: .5rem;
352
+ * }
353
+ * }
354
+ * </style>
355
+ * ```
356
+ *
357
+ * 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.
358
+ *
359
+ * ```html
360
+ * <form action="about:blank" method="get" target="_blank" class="number-field__validation-custom">
361
+ * <sigvelo-number-field
362
+ * name="name"
363
+ * label="Cat videos watched"
364
+ * description="Be honest…"
365
+ * required
366
+ * style="max-width: 200px;"
367
+ * value="1000"
368
+ * ></sigvelo-number-field>
369
+ * <br>
370
+ * <sigvelo-button type="submit" color="primary">Submit</sigvelo-button>
371
+ * <sigvelo-button type="reset">Reset</sigvelo-button>
372
+ * </form>
373
+ *
374
+ * <style>
375
+ * .number-field__validation-custom {
376
+ * sigvelo-number-field:state(user-valid) {
377
+ * outline: solid 2px var(--sigvelo-color-success-border);
378
+ * outline-offset: .5rem;
379
+ * }
380
+ *
381
+ * sigvelo-number-field:state(user-invalid) {
382
+ * outline: solid 2px var(--sigvelo-color-danger-border);
383
+ * outline-offset: .5rem;
384
+ * }
385
+ * }
386
+ * </style>
387
+ * ```
388
+ */
389
+ var SigveloNumberField = class extends SigveloFormControlElement {
390
+ constructor(..._args) {
391
+ super(..._args);
392
+ this.localize = new Localize(this);
393
+ this.isInvalid = false;
394
+ this.hadUserInteraction = false;
395
+ this.wasSubmitted = false;
396
+ this.isPasswordVisible = false;
397
+ this.value = "";
398
+ this.disabled = false;
399
+ this.readonly = false;
400
+ this.variant = "normal";
401
+ this.size = "md";
402
+ this.pill = false;
403
+ this.required = false;
404
+ this.withoutSteppers = false;
405
+ }
406
+ static {
407
+ this.formAssociated = true;
408
+ }
409
+ static {
410
+ this.observeSlots = true;
411
+ }
412
+ static {
413
+ this.styles = [
414
+ hostStyles,
415
+ formControlStyles,
416
+ number_field_styles_default
417
+ ];
418
+ }
419
+ get focusableAnchor() {
420
+ return this.textBox;
421
+ }
422
+ connectedCallback() {
423
+ super.connectedCallback();
424
+ this.addEventListener("invalid", this.handleHostInvalid);
425
+ }
426
+ disconnectedCallback() {
427
+ super.disconnectedCallback();
428
+ this.removeEventListener("invalid", this.handleHostInvalid);
429
+ }
430
+ updated(changedProperties) {
431
+ this.updateValidity();
432
+ if (changedProperties.has("value")) {
433
+ this.customStates.set("blank", this.value === "");
434
+ this.internals.setFormValue(this.value);
435
+ }
436
+ if (changedProperties.has("disabled")) this.customStates.set("disabled", this.disabled);
437
+ if (this.hadUserInteraction || this.wasSubmitted) {
438
+ this.customStates.set("user-invalid", this.isInvalid);
439
+ this.customStates.set("user-valid", !this.isInvalid);
440
+ } else {
441
+ this.customStates.set("user-invalid", false);
442
+ this.customStates.set("user-valid", false);
443
+ }
444
+ }
445
+ /** @internal Called when a containing fieldset is disabled. */
446
+ formDisabledCallback(isDisabled) {
447
+ this.disabled = isDisabled;
448
+ }
449
+ /** @internal Called when the form is reset. */
450
+ formResetCallback() {
451
+ this.isInvalid = false;
452
+ this.hadUserInteraction = false;
453
+ this.wasSubmitted = false;
454
+ this.value = this.getAttribute("value") ?? "";
455
+ }
456
+ handleBlur() {
457
+ this.customStates.set("focused", false);
458
+ this.dispatchEvent(new SigveloBlurEvent());
459
+ }
460
+ handleChange() {
461
+ this.hadUserInteraction = true;
462
+ this.dispatchEvent(new SigveloChangeEvent());
463
+ this.dispatchEvent(new Event("change", {
464
+ bubbles: true,
465
+ composed: true
466
+ }));
467
+ }
468
+ handleFocus() {
469
+ this.customStates.set("focused", true);
470
+ this.dispatchEvent(new SigveloFocusEvent());
471
+ }
472
+ handleHostInvalid() {
473
+ this.wasSubmitted = true;
474
+ }
475
+ handleDecrease() {
476
+ this.stepDown();
477
+ this.handleInput();
478
+ this.dispatchEvent(new InputEvent("change", {
479
+ bubbles: true,
480
+ composed: true,
481
+ cancelable: false
482
+ }));
483
+ this.dispatchEvent(new InputEvent("input", {
484
+ bubbles: true,
485
+ composed: true,
486
+ cancelable: false
487
+ }));
488
+ this.dispatchEvent(new SigveloChangeEvent());
489
+ }
490
+ handleIncrease() {
491
+ this.stepUp();
492
+ this.handleInput();
493
+ this.dispatchEvent(new InputEvent("change", {
494
+ bubbles: true,
495
+ composed: true,
496
+ cancelable: false
497
+ }));
498
+ this.dispatchEvent(new InputEvent("input", {
499
+ bubbles: true,
500
+ composed: true,
501
+ cancelable: false
502
+ }));
503
+ this.dispatchEvent(new SigveloChangeEvent());
504
+ }
505
+ maintainFocusOnPointerDown(event) {
506
+ event.preventDefault();
507
+ this.focus();
508
+ }
509
+ async handleInput() {
510
+ this.value = this.textBox.value;
511
+ await this.updateComplete;
512
+ this.dispatchEvent(new SigveloInputEvent());
513
+ }
514
+ handleKeyDown(event) {
515
+ if (event.key === "Enter" && this.internals.form) {
516
+ const submitter = [...this.internals.form.elements].find((el) => {
517
+ return ["button", "input"].includes(el.localName) && el.type === "submit";
518
+ });
519
+ this.internals.form.requestSubmit(submitter);
520
+ }
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
+ }
530
+ }
531
+ /** Sets the form control's validity */
532
+ async updateValidity() {
533
+ await this.updateComplete;
534
+ const hasCustomValidity = this.getCustomValidity().length > 0;
535
+ const validationMessage = hasCustomValidity ? this.getCustomValidity() : this.textBox.validationMessage;
536
+ const flags = {
537
+ badInput: this.textBox.validity.badInput,
538
+ customError: hasCustomValidity,
539
+ patternMismatch: this.textBox.validity.patternMismatch,
540
+ rangeOverflow: this.textBox.validity.rangeOverflow,
541
+ rangeUnderflow: this.textBox.validity.rangeUnderflow,
542
+ stepMismatch: this.textBox.validity.stepMismatch,
543
+ tooLong: this.textBox.validity.tooLong,
544
+ tooShort: this.textBox.validity.tooShort,
545
+ typeMismatch: this.textBox.validity.typeMismatch,
546
+ valueMissing: this.textBox.validity.valueMissing
547
+ };
548
+ this.isInvalid = hasCustomValidity ? true : !this.textBox.validity.valid;
549
+ this.internals.setValidity(flags, validationMessage, this.focusableAnchor);
550
+ }
551
+ /** Sets focus to the number field. */
552
+ focus() {
553
+ this.textBox.focus();
554
+ }
555
+ /** Removes focus from the number field. */
556
+ blur() {
557
+ this.textBox.blur();
558
+ }
559
+ /** Selects all text in the number field. */
560
+ select() {
561
+ this.textBox.select();
562
+ }
563
+ /** Sets the start and end positions of the current text selection in the number field. */
564
+ setSelectionRange(start, end, direction = "none") {
565
+ this.textBox.setSelectionRange(start, end, direction);
566
+ }
567
+ /** Replaces a range of text in the number field with a new string. */
568
+ setRangeText(replacement, start, end, selectMode) {
569
+ this.textBox.setRangeText(replacement, start ?? this.textBox.selectionStart, end ?? this.textBox.selectionEnd, selectMode);
570
+ this.value = this.textBox.value;
571
+ }
572
+ /**
573
+ * When a supported `type` is used, this method will decrease the number field's value by `step`. This is a programmatic
574
+ * change, so `input` and `change` events will not be emitted when this is called.
575
+ */
576
+ stepDown() {
577
+ this.textBox.stepDown();
578
+ this.value = this.textBox.value;
579
+ this.focus();
580
+ }
581
+ /**
582
+ * When a supported `type` is used, this method will increase the number field's value by `step`. This is a programmatic
583
+ * change, so `input` and `change` events will not be emitted when this is called.
584
+ */
585
+ stepUp() {
586
+ this.textBox.stepUp();
587
+ this.value = this.textBox.value;
588
+ this.focus();
589
+ }
590
+ render() {
591
+ const hasLabel = this.label || this.slotsWithContent.has("label");
592
+ const hasDescription = this.description || this.slotsWithContent.has("description");
593
+ const valueAsNumber = parseFloat(this.value) || 0;
594
+ const canIncrease = this.max === void 0 || valueAsNumber < this.max;
595
+ const canDecrease = this.min === void 0 || valueAsNumber > this.min;
596
+ return html`
597
+ <label id="label" part="label" for="text-box" class=${classMap({ vh: !hasLabel })}>
598
+ <slot name="label">${this.label}</slot>
599
+ </label>
600
+
601
+ <div id="description" part="description" class=${classMap({ vh: !hasDescription })}>
602
+ <slot name="description">${this.description}</slot>
603
+ </div>
604
+
605
+ <div
606
+ id="visual-box"
607
+ part="visual-box"
608
+ class=${classMap({
609
+ normal: this.variant === "normal",
610
+ filled: this.variant === "filled",
611
+ unstyled: this.variant === "unstyled",
612
+ xs: this.size === "xs",
613
+ sm: this.size === "sm",
614
+ md: this.size === "md",
615
+ lg: this.size === "lg",
616
+ xl: this.size === "xl",
617
+ pill: this.pill,
618
+ disabled: this.disabled
619
+ })}
620
+ @pointerdown=${this.handleVisualBoxPointerDown}
621
+ >
622
+ ${!this.withoutSteppers ? html`
623
+ <button
624
+ id="stepper-down"
625
+ part="stepper stepper-down"
626
+ ?disabled=${!canDecrease || this.disabled}
627
+ tabindex="-1"
628
+ aria-label=${this.localize.term("decrease")}
629
+ @pointerdown=${this.maintainFocusOnPointerDown}
630
+ @click=${this.handleDecrease}
631
+ >
632
+ <sigvelo-icon library="system" name="minus"></sigvelo-icon>
633
+ </button>
634
+ ` : ""}
635
+
636
+ <slot name="start"></slot>
637
+
638
+ <input
639
+ id="text-box"
640
+ part="text-box"
641
+ type="number"
642
+ inputmode="numeric"
643
+ ?autofocus=${this.autofocus}
644
+ ?disabled=${this.disabled}
645
+ ?readonly=${this.readonly}
646
+ ?required=${this.required}
647
+ placeholder=${ifDefined(this.placeholder)}
648
+ pattern=${ifDefined(this.pattern)}
649
+ min=${ifDefined(this.min)}
650
+ max=${ifDefined(this.max)}
651
+ step=${ifDefined(this.step)}
652
+ .value=${live(this.value)}
653
+ autocomplete=${ifDefined(this.autocomplete)}
654
+ spellcheck="false"
655
+ enterkeyhint=${ifDefined(this.enterkeyhint)}
656
+ aria-describedby="description"
657
+ aria-invalid=${this.isInvalid ? "true" : "false"}
658
+ @change=${this.handleChange}
659
+ @input=${this.handleInput}
660
+ @focus=${this.handleFocus}
661
+ @blur=${this.handleBlur}
662
+ @keydown=${this.handleKeyDown}
663
+ />
664
+
665
+ <slot name="end"></slot>
666
+
667
+ ${!this.withoutSteppers ? html`
668
+ <button
669
+ id="stepper-up"
670
+ part="stepper stepper-up"
671
+ ?disabled=${!canIncrease || this.disabled}
672
+ tabindex="-1"
673
+ aria-label=${this.localize.term("increase")}
674
+ @pointerdown=${this.maintainFocusOnPointerDown}
675
+ @click=${this.handleIncrease}
676
+ >
677
+ <sigvelo-icon library="system" name="plus"></sigvelo-icon>
678
+ </button>
679
+ ` : ""}
680
+ </div>
681
+ `;
682
+ }
683
+ };
684
+ __decorate([query("input")], SigveloNumberField.prototype, "textBox", void 0);
685
+ __decorate([state()], SigveloNumberField.prototype, "isInvalid", void 0);
686
+ __decorate([state()], SigveloNumberField.prototype, "hadUserInteraction", void 0);
687
+ __decorate([state()], SigveloNumberField.prototype, "wasSubmitted", void 0);
688
+ __decorate([state()], SigveloNumberField.prototype, "isPasswordVisible", void 0);
689
+ __decorate([property()], SigveloNumberField.prototype, "label", void 0);
690
+ __decorate([property()], SigveloNumberField.prototype, "description", void 0);
691
+ __decorate([property({ reflect: true })], SigveloNumberField.prototype, "name", void 0);
692
+ __decorate([property()], SigveloNumberField.prototype, "value", void 0);
693
+ __decorate([property()], SigveloNumberField.prototype, "placeholder", void 0);
694
+ __decorate([property({
695
+ type: Boolean,
696
+ reflect: true
697
+ })], SigveloNumberField.prototype, "disabled", void 0);
698
+ __decorate([property({
699
+ type: Boolean,
700
+ reflect: true
701
+ })], SigveloNumberField.prototype, "readonly", void 0);
702
+ __decorate([property({ reflect: true })], SigveloNumberField.prototype, "variant", void 0);
703
+ __decorate([property({ reflect: true })], SigveloNumberField.prototype, "size", void 0);
704
+ __decorate([property({
705
+ type: Boolean,
706
+ reflect: true
707
+ })], SigveloNumberField.prototype, "pill", void 0);
708
+ __decorate([property()], SigveloNumberField.prototype, "form", void 0);
709
+ __decorate([property({
710
+ type: Boolean,
711
+ reflect: true
712
+ })], SigveloNumberField.prototype, "required", void 0);
713
+ __decorate([property()], SigveloNumberField.prototype, "pattern", void 0);
714
+ __decorate([property({ type: Number })], SigveloNumberField.prototype, "min", void 0);
715
+ __decorate([property({ type: Number })], SigveloNumberField.prototype, "max", void 0);
716
+ __decorate([property()], SigveloNumberField.prototype, "step", void 0);
717
+ __decorate([property()], SigveloNumberField.prototype, "autocomplete", void 0);
718
+ __decorate([property({ type: Boolean })], SigveloNumberField.prototype, "autofocus", void 0);
719
+ __decorate([property()], SigveloNumberField.prototype, "enterkeyhint", void 0);
720
+ __decorate([property({
721
+ attribute: "without-steppers",
722
+ type: Boolean
723
+ })], SigveloNumberField.prototype, "withoutSteppers", void 0);
724
+ customElements.define("sigvelo-number-field", SigveloNumberField);
725
+ //#endregion
726
+ export { SigveloNumberField as t };