@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,798 @@
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 { SigveloElement } 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 { DraggableElement } from "@mcp-b/wc-support/utilities/drag";
11
+ import { clamp } from "@mcp-b/wc-support/utilities/math";
12
+ import { SigveloActivateEvent, SigveloBeforeActivateEvent, SigveloBeforeDeactivateEvent, SigveloDeactivateEvent } from "@mcp-b/wc-support/events/activate";
13
+ import { SigveloProgressEvent } from "@mcp-b/wc-support/events/progress";
14
+ //#region src/components/slide-activator/slide-activator.styles.ts
15
+ var slide_activator_styles_default = css`
16
+ :host {
17
+ --border-radius: var(--sigvelo-radius-lg);
18
+ --thumb-width: 4em;
19
+ --thumb-inset: 0.125em;
20
+ --shimmer-color: color-mix(in oklab, light-dark(black, white) 12.5%, transparent) 50%;
21
+
22
+ display: flex;
23
+ position: relative;
24
+ width: 100%;
25
+ min-width: calc(
26
+ var(--thumb-width) * 3
27
+ ); /* three thumb widths to ensure space for a small label */
28
+ height: 3em;
29
+ border-radius: var(--border-radius);
30
+ background: var(--sigvelo-color-neutral-bg-muted);
31
+ color: var(--sigvelo-color-neutral-text-on-subtle);
32
+ transition:
33
+ var(--sigvelo-motion-duration-presence) background-color,
34
+ var(--sigvelo-motion-duration-presence) color;
35
+ user-select: none;
36
+ }
37
+
38
+ /* Disabled */
39
+ :host(:state(disabled)) {
40
+ cursor: not-allowed;
41
+ opacity: 0.5;
42
+
43
+ #thumb {
44
+ cursor: inherit;
45
+ }
46
+ }
47
+
48
+ /* Activated */
49
+ :host(:state(activated)) {
50
+ background-color: var(--sigvelo-color-primary-bg);
51
+ color: var(--sigvelo-color-primary-text-on-bg);
52
+ animation: activated 0.3s ease-out;
53
+ }
54
+
55
+ /* Label */
56
+ #label {
57
+ display: flex;
58
+ position: relative;
59
+ position: relative;
60
+ flex: 1 1 auto;
61
+ align-items: center;
62
+ justify-content: center;
63
+ padding: 0;
64
+ overflow: hidden;
65
+ border-radius: inherit;
66
+
67
+ sigvelo-icon,
68
+ ::slotted(sigvelo-icon) {
69
+ font-size: 1.25em;
70
+ }
71
+ }
72
+
73
+ /* Shimmer */
74
+ :host(:not(:state(disabled), :state(activated))) #label.shimmer::before {
75
+ position: absolute;
76
+ top: 0;
77
+ left: 0;
78
+ flex: 1 1 auto;
79
+ width: 100%;
80
+ height: 100%;
81
+ transform: translateX(-100%);
82
+ background: linear-gradient(90deg, transparent 0%, var(--shimmer-color), transparent 100%);
83
+ content: "";
84
+ animation: shimmer 3s var(--sigvelo-ease-standard) infinite;
85
+ }
86
+
87
+ :host(:not(:state(disabled))) #label.shimmer.rtl::before {
88
+ animation-direction: reverse;
89
+ }
90
+
91
+ /* Thumb */
92
+ #thumb {
93
+ display: flex;
94
+ position: absolute;
95
+ align-items: center;
96
+ justify-content: center;
97
+ width: var(--thumb-width);
98
+ height: calc(100% - var(--thumb-inset) * 2);
99
+ inset: var(--thumb-inset);
100
+ left: calc(
101
+ clamp(
102
+ var(--thumb-inset),
103
+ calc((100% - var(--thumb-width)) * var(--thumb-position) + var(--thumb-inset)),
104
+ calc(100% - var(--thumb-width) - var(--thumb-inset))
105
+ )
106
+ );
107
+ border-radius: calc(var(--border-radius) - var(--thumb-inset));
108
+ background-color: var(
109
+ --sigvelo-color-primary-text-on-bg
110
+ ); /* always white, same as checkbox icons */
111
+ color: black;
112
+ cursor: grab;
113
+ touch-action: none;
114
+ transition: left 0.3s ease-out;
115
+
116
+ &.rtl {
117
+ right: calc(
118
+ clamp(
119
+ var(--thumb-inset),
120
+ calc((100% - var(--thumb-width)) * var(--thumb-position) + var(--thumb-inset)),
121
+ calc(100% - var(--thumb-width) - var(--thumb-inset))
122
+ )
123
+ );
124
+ left: auto;
125
+ transition: right 0.3s ease-out;
126
+ }
127
+
128
+ &:active {
129
+ cursor: grabbing;
130
+ }
131
+
132
+ &:focus {
133
+ outline: none;
134
+ }
135
+
136
+ &:focus-visible {
137
+ outline: var(--sigvelo-border-style) calc(var(--sigvelo-border-width) + 1px)
138
+ var(--sigvelo-color-focus);
139
+ outline-offset: var(--sigvelo-border-width);
140
+ }
141
+
142
+ &.activated {
143
+ cursor: not-allowed;
144
+ }
145
+
146
+ &.dragging {
147
+ transition: none;
148
+ }
149
+
150
+ &.pressing:not(.is-press-stale) {
151
+ left: calc(
152
+ clamp(
153
+ var(--thumb-inset),
154
+ calc((100% - var(--thumb-width)) * 1 + var(--thumb-inset)),
155
+ calc(100% - var(--thumb-width) - var(--thumb-inset))
156
+ )
157
+ );
158
+ transition-duration: 1s;
159
+ transition-timing-function: linear;
160
+
161
+ &.rtl {
162
+ right: calc(
163
+ clamp(
164
+ var(--thumb-inset),
165
+ calc((100% - var(--thumb-width)) * 1 + var(--thumb-inset)),
166
+ calc(100% - var(--thumb-width) - var(--thumb-inset))
167
+ )
168
+ );
169
+ }
170
+ }
171
+
172
+ sigvelo-icon,
173
+ ::slotted(sigvelo-icon) {
174
+ font-size: 1.25em;
175
+ }
176
+
177
+ &.activated sigvelo-icon[name="chevrons-right"] {
178
+ display: none;
179
+ }
180
+
181
+ &:not(.activated) sigvelo-icon[name="check"] {
182
+ display: none;
183
+ }
184
+
185
+ &.rtl sigvelo-icon[name="chevrons-right"] {
186
+ scale: -1;
187
+ }
188
+ }
189
+
190
+ @keyframes shimmer {
191
+ 100% {
192
+ transform: translateX(100%);
193
+ }
194
+ }
195
+
196
+ @keyframes activated {
197
+ 0% {
198
+ scale: 1;
199
+ opacity: 1;
200
+ }
201
+ 25% {
202
+ scale: 1.015;
203
+ opacity: 0.9;
204
+ }
205
+ 50% {
206
+ scale: 1.02;
207
+ opacity: 0.8;
208
+ }
209
+ 75% {
210
+ scale: 1.015;
211
+ opacity: 0.9;
212
+ }
213
+ 100% {
214
+ scale: 1;
215
+ opacity: 1;
216
+ }
217
+ }
218
+ `;
219
+ //#endregion
220
+ //#region src/components/slide-activator/slide-activator.ts
221
+ /**
222
+ * <sigvelo-slide-activator>
223
+ *
224
+ * @summary Gives users a draggable thumb that must be moved to the end of its track to trigger an action.
225
+ * @tag sigvelo-slide-activator
226
+ * @documentation https://design-system.sigvelo.com/docs/components/slide-activator
227
+ * @status stable
228
+ * @since 1.0
229
+ *
230
+ * @dependency sigvelo-icon
231
+ *
232
+ * @slot label - The slide activator's label. For plain-text labels, you can use the `label` attribute instead.
233
+ * @slot activated-label - The label to show when activated. For plain-text labels, you can use the `activated-label`
234
+ * attribute instead.
235
+ * @slot thumb - The thumb element that users drag. Defaults to a double chevron icon if not provided.
236
+ *
237
+ * @event sigvelo-before-activate - Emitted when the control will activate. Calling `event.preventDefault()` will prevent
238
+ * the activation from occurring.
239
+ * @event sigvelo-activate - Emitted immediately after the control is activated.
240
+ * @event sigvelo-before-deactivate - Emitted when the control will deactivate. Calling `event.preventDefault()` will
241
+ * prevent the deactivation from occurring.
242
+ * @event sigvelo-deactivate - Emitted immediately after the control is deactivated.
243
+ * @event sigvelo-progress - Emitted as the slider progresses. Use `event.details.percent` to see how far along it is.
244
+ *
245
+ * @csspart thumb - The slide activator's thumb.
246
+ * @csspart label - The slide activator's label.
247
+ *
248
+ * @cssproperty [--border-radius=var(--sigvelo-radius-lg)] - The control's border radius. We use a CSS custom
249
+ * property so we can properly calculate the inset border radius for the thumb.
250
+ * @cssproperty [--thumb-width=4em] - The thumb's width.
251
+ * @cssproperty [--thumb-inset=0.125em] - The thumb's inset from the host element.
252
+ * @cssproperty [--shimmer-color] - The color to use as a base for the shimmer animation.
253
+ * @cssproperty [--thumb-position=(read-only)] - A read-only property that moves from 0 to 1 as the user slides the
254
+ * thumb to activate the control. Useful as a hook to transition background styles based on the thumb's position.
255
+ *
256
+ * @cssstate activated - Applied briefly when the slide activator has been activated.
257
+ * @cssstate dragging - Applied when the slide activator is dragging.
258
+ * @cssstate pressing - Applied when the user is pressing a key to activate the slide activator.
259
+ * @cssstate disabled - Applied when the slide activator is disabled.
260
+ *
261
+ * @example Default
262
+ * Slide activators are unidirectional. Once activated by the user, they can only be reset programmatically. The deliberate friction in activation, followed by a locked state, helps prevent accidental triggering and ensures intentional actions are committed.
263
+ *
264
+ * ```html
265
+ * <sigvelo-slide-activator
266
+ * label="Slide to activate"
267
+ * activated-label="Activated"
268
+ * attention="shimmer"
269
+ * id="slide-activator__overview"
270
+ * style="max-width: 340px;"
271
+ * >
272
+ * </sigvelo-slide-activator>
273
+ *
274
+ * <script>
275
+ * const slideActivator = document.getElementById('slide-activator__overview');
276
+ *
277
+ * // When the component is activated
278
+ * slideActivator.addEventListener('sigvelo-activate', () => {
279
+ * // Deactivate it for the demo after two seconds
280
+ * setTimeout(() => slideActivator.activated = false, 2000);
281
+ * });
282
+ * <\/script>
283
+ * ```
284
+ *
285
+ * **Note:** For demonstration purposes, most of the examples on this page reset themselves shortly after activation.
286
+ *
287
+ * @example Handling activation
288
+ * You should always provide a label using the `label` attribute to describe the control to users. In most cases, you'll also want to show a separate label when the control is activated. Use the `activated-label` attribute to do this. For labels that require HTML, use the respective slots instead.
289
+ *
290
+ * When the control is activated, a `sigvelo-before-activate` event will be emitted. You can call `event.preventDefault()` to prevent the activation if needed. Once the control is finally activated, a subsequent `sigvelo-activate` event will be emitted. If you deactivate the control programmatically, the corresponding `sigvelo-before-deactivate` and `sigvelo-deactivate` events will be emitted.
291
+ *
292
+ * You can use these events to execute code to run on activation and deactivation.
293
+ *
294
+ * ```html
295
+ * <div id="slide-activator__activation">
296
+ * <sigvelo-slide-activator
297
+ * label="Slide to activate"
298
+ * activated-label="Activated"
299
+ * ></sigvelo-slide-activator>
300
+ *
301
+ * <sigvelo-button disabled>Deactivate</sigvelo-button>
302
+ * </div>
303
+ *
304
+ * <script>
305
+ * const container = document.getElementById('slide-activator__activation');
306
+ * const slideActivator = container.querySelector('sigvelo-slide-activator');
307
+ * const button = container.querySelector('sigvelo-button');
308
+ *
309
+ * // Deactivate it
310
+ * button.addEventListener('click', () => {
311
+ * slideActivator.activated = false;
312
+ * });
313
+ *
314
+ * // Update the button state when activated
315
+ * slideActivator.addEventListener('sigvelo-activate', () => {
316
+ * button.disabled = false;
317
+ * });
318
+ *
319
+ * // Update the button state when deactivated
320
+ * slideActivator.addEventListener('sigvelo-deactivate', () => {
321
+ * button.disabled = true;
322
+ * });
323
+ * <\/script>
324
+ *
325
+ * <style>
326
+ * #slide-activator__activation {
327
+ * sigvelo-slide-activator {
328
+ * max-width: 340px;
329
+ * margin-bottom: 1rem;
330
+ * }
331
+ * }
332
+ * </style>
333
+ * ```
334
+ *
335
+ * @example Tracking slide progress
336
+ * The readonly `--thumb-position` custom property will be set to a value between 0 and 1 on the host element, representing how far the user has slid the thumb toward activation. You can use this to transition styles at different thresholds.
337
+ *
338
+ * Additionally, a `sigvelo-progress` event will be emitted while the user slides the thumb. This event contains an `event.detail.percent` payload with a corresponding number between 0 and 1.
339
+ *
340
+ * ```html
341
+ * <div id="slide-activator__progress">
342
+ * <sigvelo-slide-activator
343
+ * label="Slide to place order"
344
+ * activated-label="Order received"
345
+ * ></sigvelo-slide-activator>
346
+ * Progress: <sigvelo-number number="0" type="percent"></sigvelo-number>
347
+ * </div>
348
+ *
349
+ * <script>
350
+ * const container = document.getElementById('slide-activator__progress');
351
+ * const slideActivator = container.querySelector('sigvelo-slide-activator');
352
+ * const progress = container.querySelector('sigvelo-number');
353
+ *
354
+ * // Update progress as the user drags
355
+ * slideActivator.addEventListener('sigvelo-progress', event => {
356
+ * progress.number = event.detail.percent * 100;
357
+ * });
358
+ *
359
+ * // Update the label and reset the demo when component is activated
360
+ * slideActivator.addEventListener('sigvelo-activate', () => {
361
+ * // Deactivate it for the demo after two seconds
362
+ * setTimeout(() => slideActivator.activated = false, 2000);
363
+ * });
364
+ * <\/script>
365
+ *
366
+ * <style>
367
+ * #slide-activator__progress {
368
+ * sigvelo-slide-activator {
369
+ * max-width: 340px;
370
+ * margin-bottom: 1rem;
371
+ * transition: none;
372
+ *
373
+ * <!-- Change the background color as the user slides the thumb -->
374
+ * background-color:
375
+ * color-mix(
376
+ * in oklab,
377
+ * var(--sigvelo-color-neutral-bg-muted) calc((1 - var(--thumb-position)) * 100%),
378
+ * var(--sigvelo-color-success-bg) calc(var(--thumb-position) * 100%)
379
+ * );
380
+ *
381
+ * <!-- Change the text color when activated -->
382
+ * &:state(activated) {
383
+ * color: var(--sigvelo-color-success-text-on-bg);
384
+ * }
385
+ * }
386
+ * }
387
+ * </style>
388
+ * ```
389
+ *
390
+ * @example Customizing icons
391
+ * Use the `thumb` slot to provide your own icon(s) for the thumb. If you want to change the icon depending on the activation state, use the `:state(activated)` selector to show/hide the respective icons with CSS.
392
+ *
393
+ * ```html
394
+ * <sigvelo-slide-activator
395
+ * label="Slide to unlock"
396
+ * activated-label="Unlocked"
397
+ * id="slide-activator__icons"
398
+ * >
399
+ * <sigvelo-icon slot="thumb" name="lock"></sigvelo-icon>
400
+ * <sigvelo-icon slot="thumb" name="lock-open-2"></sigvelo-icon>
401
+ * </sigvelo-slide-activator>
402
+ *
403
+ * <script>
404
+ * const slideActivator = document.getElementById('slide-activator__icons');
405
+ *
406
+ * // When the component is activated
407
+ * slideActivator.addEventListener('sigvelo-activate', () => {
408
+ * // Deactivate it for the demo after two seconds
409
+ * setTimeout(() => slideActivator.activated = false, 2000);
410
+ * });
411
+ * <\/script>
412
+ *
413
+ * <style>
414
+ * sigvelo-slide-activator#slide-activator__icons {
415
+ * max-width: 340px;
416
+ *
417
+ * <!-- Show locked until activated, then show unlocked -->
418
+ * &:state(activated) sigvelo-icon[name="lock"],
419
+ * &:not(:state(activated)) sigvelo-icon[name="lock-open-2"] {
420
+ * display: none;
421
+ * }
422
+ * }
423
+ * </style>
424
+ * ```
425
+ *
426
+ * @example Drawing attention
427
+ * Set the `attention` attribute to `shimmer` to provide a subtle visual hint via animation. The animation pauses when the slide activator is activated.
428
+ *
429
+ * ```html
430
+ * <sigvelo-slide-activator
431
+ * label="Slide to release cats"
432
+ * activated-label="Releasing cats…"
433
+ * attention="shimmer"
434
+ * id="slide-activator__attention"
435
+ * >
436
+ * <sigvelo-icon slot="thumb" name="cat"></sigvelo-icon>
437
+ * </sigvelo-slide-activator>
438
+ *
439
+ * <script>
440
+ * const slideActivator = document.getElementById('slide-activator__attention');
441
+ *
442
+ * // When the component is activated
443
+ * slideActivator.addEventListener('sigvelo-activate', () => {
444
+ * // Deactivate it for the demo after two seconds
445
+ * setTimeout(() => slideActivator.activated = false, 2000);
446
+ * });
447
+ * <\/script>
448
+ *
449
+ * <style>
450
+ * sigvelo-slide-activator#slide-activator__attention {
451
+ * max-width: 340px;
452
+ *
453
+ * <!-- Head tilt-->
454
+ * sigvelo-icon {
455
+ * transition: 300ms rotate ease-out;
456
+ * }
457
+ *
458
+ * &:state(activated) sigvelo-icon {
459
+ * rotate: 20deg;
460
+ * }
461
+ * }
462
+ * </style>
463
+ * ```
464
+ *
465
+ * @example Disabling
466
+ * Use the `disabled` attribute to disable the slide activator. The control cannot be activated or focused while disabled.
467
+ *
468
+ * ```html
469
+ * <sigvelo-slide-activator
470
+ * label="Slide to activate"
471
+ * disabled
472
+ * style="max-width: 340px;"
473
+ * ></sigvelo-slide-activator>
474
+ * ```
475
+ *
476
+ * @example Styling slide activators
477
+ * Slide activators come with a simple, minimal appearance. Feel free to customize them with your own styles, icons, and animations.
478
+ *
479
+ * ```html
480
+ * <sigvelo-slide-activator
481
+ * label="Empty the box"
482
+ * activated-label="Emptying…"
483
+ * attention="shimmer"
484
+ * id="slide-activator__styling"
485
+ * >
486
+ * <sigvelo-icon slot="thumb" name="arrow-right"></sigvelo-icon>
487
+ * <sigvelo-spinner slot="thumb"></sigvelo-spinner>
488
+ * </sigvelo-slide-activator>
489
+ *
490
+ * <script>
491
+ * const slideActivator = document.getElementById('slide-activator__styling');
492
+ *
493
+ * // When the component is activated
494
+ * slideActivator.addEventListener('sigvelo-activate', () => {
495
+ * // Deactivate it for the demo after two seconds
496
+ * setTimeout(() => slideActivator.activated = false, 2000);
497
+ * });
498
+ * <\/script>
499
+ *
500
+ * <style>
501
+ * sigvelo-slide-activator#slide-activator__styling {
502
+ * --border-radius: var(--sigvelo-radius-full);
503
+ * --thumb-width: 5rem;
504
+ * --thumb-inset: 0.25rem;
505
+ * --shimmer-color: #fff2;
506
+ * --current-color:
507
+ * color-mix(
508
+ * in oklab,
509
+ * firebrick calc(var(--thumb-position) * 100%),
510
+ * #0284c7 calc((1 - var(--thumb-position)) * 100%)
511
+ * );
512
+ * height: 4rem;
513
+ * max-width: 340px;
514
+ * background-color: var(--current-color);
515
+ * font-weight: var(--sigvelo-font-weight-semibold);
516
+ * color: white;
517
+ *
518
+ * &:focus-within {
519
+ * outline-color: var(--current-color) !important;
520
+ * }
521
+ *
522
+ * <!-- Animate when activated -->
523
+ * &:state(activated) {
524
+ * animation: pulse 0.6s ease-out forwards;
525
+ * }
526
+ *
527
+ * <!-- Slightly bigger icons -->
528
+ * sigvelo-icon {
529
+ * font-size: 1.5rem;
530
+ * }
531
+ *
532
+ * sigvelo-spinner {
533
+ * --indicator-color: firebrick;
534
+ * --track-color: color-mix(in oklab, firebrick, transparent 80%);
535
+ * }
536
+ *
537
+ * <!-- Show arrow icon until activated, then show trash -->
538
+ * &:state(activated) sigvelo-icon[name="arrow-right"],
539
+ * &:not(:state(activated)) sigvelo-spinner {
540
+ * display: none;
541
+ * }
542
+ *
543
+ * <!-- Bounce animation for fun -->
544
+ * sigvelo-icon[name="arrow-right"] {
545
+ * animation: bounce-right 1s infinite;
546
+ *
547
+ * <!-- Flip for RTL -->
548
+ * &:dir(rtl) {
549
+ * scale: -1;
550
+ * }
551
+ * }
552
+ * }
553
+ *
554
+ * @keyframes bounce-right {
555
+ * 0%, 100% {
556
+ * transform: translateX(0);
557
+ * }
558
+ * 50% {
559
+ * transform: translateX(6px);
560
+ * }
561
+ * }
562
+ *
563
+ * @keyframes pulse {
564
+ * 0% {
565
+ * transform: scale(1);
566
+ * filter: brightness(1);
567
+ * }
568
+ * 20% {
569
+ * transform: scale(1.05);
570
+ * filter: brightness(1.2);
571
+ * }
572
+ * 40% {
573
+ * transform: scale(0.95);
574
+ * filter: brightness(0.9);
575
+ * }
576
+ * 60% {
577
+ * transform: scale(1.02);
578
+ * filter: brightness(1.1);
579
+ * }
580
+ * 80% {
581
+ * transform: scale(0.98);
582
+ * filter: brightness(0.95);
583
+ * }
584
+ * 100% {
585
+ * transform: scale(1);
586
+ * filter: brightness(1);
587
+ * }
588
+ * }
589
+ * </style>
590
+ * ```
591
+ */
592
+ var SigveloSlideActivator = class extends SigveloElement {
593
+ constructor(..._args) {
594
+ super(..._args);
595
+ this.localize = new Localize(this);
596
+ this.isKeyPressStale = false;
597
+ this.isDragging = false;
598
+ this.isPressing = false;
599
+ this.thumbPosition = 0;
600
+ this.label = "";
601
+ this.activatedLabel = "";
602
+ this.activated = false;
603
+ this.disabled = false;
604
+ }
605
+ static {
606
+ this.observeSlots = true;
607
+ }
608
+ static {
609
+ this.styles = [hostStyles, slide_activator_styles_default];
610
+ }
611
+ disconnectedCallback() {
612
+ super.disconnectedCallback();
613
+ this.cleanupTimers();
614
+ }
615
+ firstUpdated() {
616
+ this.draggableThumb = new DraggableElement(this.thumb, {
617
+ start: (x) => {
618
+ this.isDragging = true;
619
+ this.dragStartX = x;
620
+ this.hostBoundingClientRect = this.getBoundingClientRect();
621
+ this.handleDrag(x);
622
+ },
623
+ move: (x) => {
624
+ this.handleDrag(x);
625
+ },
626
+ stop: (x) => {
627
+ this.handleDrag(x);
628
+ this.isDragging = false;
629
+ if (!this.activated) this.setThumbPosition(0);
630
+ }
631
+ });
632
+ }
633
+ updated(changedProperties) {
634
+ if (changedProperties.has("activated")) {
635
+ if (this.activated) this.activate();
636
+ else if (changedProperties.get("activated") === true) this.deactivate();
637
+ }
638
+ if (changedProperties.has("disabled")) {
639
+ this.customStates.set("disabled", this.disabled);
640
+ if (this.disabled) {
641
+ this.cleanupTimers();
642
+ this.draggableThumb.stop();
643
+ } else this.draggableThumb.start();
644
+ }
645
+ if (changedProperties.has("isDragging")) this.customStates.set("dragging", this.isDragging);
646
+ if (changedProperties.has("isPressing")) this.customStates.set("pressing", this.isPressing);
647
+ if (changedProperties.has("thumbPosition")) {
648
+ this.style.setProperty("--thumb-position", `${this.thumbPosition}`);
649
+ if (this.thumbPosition >= 1) this.activated = true;
650
+ }
651
+ }
652
+ /** Attempts to activate the component. */
653
+ activate() {
654
+ const beforeActivateEvent = new SigveloBeforeActivateEvent();
655
+ this.dispatchEvent(beforeActivateEvent);
656
+ if (beforeActivateEvent.defaultPrevented) {
657
+ this.activated = false;
658
+ return;
659
+ }
660
+ clearInterval(this.keyPressInterval);
661
+ if (this.isPressing) this.isKeyPressStale = true;
662
+ this.setThumbPosition(1);
663
+ this.activated = true;
664
+ this.customStates.set("activated", true);
665
+ requestAnimationFrame(() => {
666
+ this.dispatchEvent(new SigveloActivateEvent());
667
+ });
668
+ }
669
+ /** Restores the control to its original deactivated state. */
670
+ deactivate() {
671
+ const beforeDeactivateEvent = new SigveloBeforeDeactivateEvent();
672
+ this.dispatchEvent(beforeDeactivateEvent);
673
+ if (beforeDeactivateEvent.defaultPrevented) {
674
+ this.activated = true;
675
+ return;
676
+ }
677
+ this.setThumbPosition(0);
678
+ this.activated = false;
679
+ this.customStates.set("activated", false);
680
+ this.isKeyPressStale = false;
681
+ this.isPressing = false;
682
+ requestAnimationFrame(() => {
683
+ this.dispatchEvent(new SigveloDeactivateEvent());
684
+ });
685
+ }
686
+ cleanupTimers() {
687
+ if (this.keyPressInterval) {
688
+ clearInterval(this.keyPressInterval);
689
+ this.keyPressInterval = void 0;
690
+ }
691
+ if (this.keyPressTimeout) {
692
+ clearTimeout(this.keyPressTimeout);
693
+ this.keyPressTimeout = void 0;
694
+ }
695
+ }
696
+ /** Updates the thumb position from a pointer's x coordinate */
697
+ handleDrag(x) {
698
+ if (this.disabled || this.activated) return;
699
+ const isRtl = this.localize.dir() === "rtl";
700
+ const hostWidth = this.hostBoundingClientRect.width - this.thumb.clientWidth;
701
+ const percentage = clamp((isRtl ? this.dragStartX - x : x - this.dragStartX) / hostWidth, 0, 1);
702
+ this.setThumbPosition(percentage);
703
+ }
704
+ handleKeyDown(event) {
705
+ const arrowKey = this.localize.dir() === "rtl" ? "ArrowLeft" : "ArrowRight";
706
+ if (event.key === " " || event.key === arrowKey) {
707
+ event.preventDefault();
708
+ if (this.activated || this.disabled) return;
709
+ if (this.isKeyPressStale) return;
710
+ if (!this.isPressing) {
711
+ this.isPressing = true;
712
+ this.cleanupTimers();
713
+ this.setThumbPosition(0);
714
+ this.keyPressInterval = setInterval(() => {
715
+ this.setThumbPosition(this.thumbPosition + .1);
716
+ }, 100);
717
+ }
718
+ }
719
+ }
720
+ handleKeyUp(event) {
721
+ const arrowKey = this.localize.dir() === "rtl" ? "ArrowLeft" : "ArrowRight";
722
+ if (this.activated || this.disabled) return;
723
+ if (event.key === " " || event.key === arrowKey) {
724
+ event.preventDefault();
725
+ this.isKeyPressStale = false;
726
+ this.isPressing = false;
727
+ this.setThumbPosition(0);
728
+ this.cleanupTimers();
729
+ }
730
+ }
731
+ /** Updates the thumb position and dispatches the `sigvelo-progress` event. */
732
+ setThumbPosition(value) {
733
+ if (this.disabled) return;
734
+ if (value !== this.thumbPosition) {
735
+ this.thumbPosition = value;
736
+ const percentage = value / 100;
737
+ if (percentage !== this.lastDispatchedPercentage) this.dispatchEvent(new SigveloProgressEvent({ percent: percentage }));
738
+ }
739
+ }
740
+ render() {
741
+ const isRtl = this.localize.dir() === "rtl";
742
+ return html`
743
+ <div
744
+ id="label"
745
+ part="label"
746
+ class=${classMap({
747
+ rtl: isRtl,
748
+ shimmer: this.attention === "shimmer"
749
+ })}
750
+ >
751
+ ${this.activated && (this.activatedLabel || this.slotsWithContent.has("activated-label")) ? html`<slot name="activated-label">${this.activatedLabel}</slot>` : html`<slot name="label">${this.label}</slot>`}
752
+ </div>
753
+
754
+ <div
755
+ id="thumb"
756
+ part="thumb"
757
+ tabindex=${this.disabled ? "-1" : "0"}
758
+ role="button"
759
+ aria-pressed=${this.activated}
760
+ aria-labelledby="label"
761
+ aria-description=${ifDefined(this.activated ? void 0 : this.localize.term("pressSpaceForOneSecondToActivate"))}
762
+ aria-disabled=${this.disabled ? "true" : "false"}
763
+ class=${classMap({
764
+ activated: this.activated,
765
+ dragging: this.isDragging,
766
+ "is-press-stale": this.isKeyPressStale,
767
+ pressing: this.isPressing,
768
+ rtl: isRtl
769
+ })}
770
+ @keydown=${this.handleKeyDown}
771
+ @keyup=${this.handleKeyUp}
772
+ >
773
+ <slot name="thumb">
774
+ <sigvelo-icon library="default" name="chevrons-right"></sigvelo-icon>
775
+ <sigvelo-icon library="default" name="check"></sigvelo-icon>
776
+ </slot>
777
+ </div>
778
+ `;
779
+ }
780
+ };
781
+ __decorate([query("#thumb")], SigveloSlideActivator.prototype, "thumb", void 0);
782
+ __decorate([state()], SigveloSlideActivator.prototype, "isDragging", void 0);
783
+ __decorate([state()], SigveloSlideActivator.prototype, "isPressing", void 0);
784
+ __decorate([state()], SigveloSlideActivator.prototype, "thumbPosition", void 0);
785
+ __decorate([property()], SigveloSlideActivator.prototype, "label", void 0);
786
+ __decorate([property({ attribute: "activated-label" })], SigveloSlideActivator.prototype, "activatedLabel", void 0);
787
+ __decorate([property({
788
+ type: Boolean,
789
+ reflect: true
790
+ })], SigveloSlideActivator.prototype, "activated", void 0);
791
+ __decorate([property({
792
+ type: Boolean,
793
+ reflect: true
794
+ })], SigveloSlideActivator.prototype, "disabled", void 0);
795
+ __decorate([property({ reflect: true })], SigveloSlideActivator.prototype, "attention", void 0);
796
+ customElements.define("sigvelo-slide-activator", SigveloSlideActivator);
797
+ //#endregion
798
+ export { SigveloSlideActivator as t };