@govbr-ds/webcomponents 2.1.3 → 2.3.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 (977) hide show
  1. package/README.md +146 -54
  2. package/cem/custom-elements.json +6496 -1141
  3. package/cem/webcomponents.html-custom-data.json +400 -287
  4. package/dist/cjs/br-avatar.cjs.entry.js +21 -14
  5. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +2 -2
  6. package/dist/cjs/br-breadcrumb.cjs.entry.js +49 -22
  7. package/dist/cjs/br-button_2.cjs.entry.js +77 -35
  8. package/dist/cjs/br-card.cjs.entry.js +6 -5
  9. package/dist/cjs/br-carousel-page.cjs.entry.js +3 -3
  10. package/dist/cjs/br-carousel.cjs.entry.js +77 -21
  11. package/dist/cjs/br-checkbox-group.cjs.entry.js +157 -27
  12. package/dist/cjs/br-checkbox.cjs.entry.js +86 -16
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +90 -27
  15. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +4 -4
  16. package/dist/cjs/br-cookiebar-group.cjs.entry.js +4 -4
  17. package/dist/cjs/br-cookiebar-header.cjs.entry.js +4 -4
  18. package/dist/cjs/br-cookiebar-link.cjs.entry.js +14 -6
  19. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +3 -5
  20. package/dist/cjs/br-cookiebar-note.cjs.entry.js +4 -4
  21. package/dist/cjs/br-cookiebar.cjs.entry.js +38 -25
  22. package/dist/cjs/br-crumb.cjs.entry.js +2 -2
  23. package/dist/cjs/br-date-picker_3.cjs.entry.js +246 -88
  24. package/dist/cjs/br-datetime-picker.cjs.entry.js +116 -528
  25. package/dist/cjs/br-divider.cjs.entry.js +70 -17
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +334 -163
  27. package/dist/cjs/br-footer-category.cjs.entry.js +10 -6
  28. package/dist/cjs/br-footer-item.cjs.entry.js +9 -4
  29. package/dist/cjs/br-footer-legal.cjs.entry.js +4 -4
  30. package/dist/cjs/br-footer-logo.cjs.entry.js +22 -10
  31. package/dist/cjs/br-footer-social.cjs.entry.js +14 -6
  32. package/dist/cjs/br-footer.cjs.entry.js +16 -7
  33. package/dist/cjs/br-header-function.cjs.entry.js +28 -7
  34. package/dist/cjs/br-header-link.cjs.entry.js +25 -4
  35. package/dist/cjs/br-header-list.cjs.entry.js +6 -17
  36. package/dist/cjs/br-header-logo.cjs.entry.js +18 -7
  37. package/dist/cjs/br-header.cjs.entry.js +96 -37
  38. package/dist/cjs/br-icon.cjs.entry.js +161 -53
  39. package/dist/cjs/br-input.cjs.entry.js +150 -40
  40. package/dist/cjs/br-item.cjs.entry.js +97 -48
  41. package/dist/cjs/br-link.cjs.entry.js +20 -7
  42. package/dist/cjs/br-loading.cjs.entry.js +100 -38
  43. package/dist/cjs/br-magic-button.cjs.entry.js +39 -9
  44. package/dist/cjs/br-menu-group.cjs.entry.js +14 -3
  45. package/dist/cjs/br-menu-header.cjs.entry.js +4 -4
  46. package/dist/cjs/br-menu-info.cjs.entry.js +4 -4
  47. package/dist/cjs/br-menu-item.cjs.entry.js +27 -5
  48. package/dist/cjs/br-menu-link.cjs.entry.js +14 -6
  49. package/dist/cjs/br-menu-list.cjs.entry.js +23 -27
  50. package/dist/cjs/br-menu-logo.cjs.entry.js +4 -4
  51. package/dist/cjs/br-menu-social.cjs.entry.js +16 -6
  52. package/dist/cjs/br-menu.cjs.entry.js +38 -57
  53. package/dist/cjs/br-modal.cjs.entry.js +44 -42
  54. package/dist/cjs/br-notification-body.cjs.entry.js +4 -4
  55. package/dist/cjs/br-notification-header.cjs.entry.js +4 -4
  56. package/dist/cjs/br-notification-item.cjs.entry.js +14 -8
  57. package/dist/cjs/br-notification.cjs.entry.js +23 -8
  58. package/dist/cjs/br-pagination.cjs.entry.js +120 -88
  59. package/dist/cjs/br-radio-group.cjs.entry.js +107 -58
  60. package/dist/cjs/br-radio.cjs.entry.js +62 -12
  61. package/dist/cjs/br-scrim.cjs.entry.js +161 -67
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +286 -91
  63. package/dist/cjs/br-sign-in.cjs.entry.js +38 -15
  64. package/dist/cjs/br-skip-link-item.cjs.entry.js +39 -2
  65. package/dist/cjs/br-skip-link.cjs.entry.js +50 -33
  66. package/dist/cjs/br-skiplink-item.cjs.entry.js +22 -6
  67. package/dist/cjs/br-slider.cjs.entry.js +522 -100
  68. package/dist/cjs/br-step_2.cjs.entry.js +98 -44
  69. package/dist/cjs/br-switch.cjs.entry.js +21 -12
  70. package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
  71. package/dist/cjs/br-tab.cjs.entry.js +89 -51
  72. package/dist/cjs/br-table-body.cjs.entry.js +3 -3
  73. package/dist/cjs/br-table-cell.cjs.entry.js +30 -13
  74. package/dist/cjs/br-table-header-cell.cjs.entry.js +23 -7
  75. package/dist/cjs/br-table-header.cjs.entry.js +3 -3
  76. package/dist/cjs/br-table-row.cjs.entry.js +17 -3
  77. package/dist/cjs/br-table.cjs.entry.js +67 -21
  78. package/dist/cjs/br-tag.cjs.entry.js +49 -31
  79. package/dist/cjs/br-textarea.cjs.entry.js +118 -13
  80. package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
  81. package/dist/cjs/br-upload.cjs.entry.js +84 -25
  82. package/dist/cjs/br-wizard-panel.cjs.entry.js +16 -3
  83. package/dist/cjs/br-wizard.cjs.entry.js +52 -28
  84. package/dist/cjs/{isValid-Fu3kaWNn.js → datetime-picker-props-validation-DmNKSXsy.js} +481 -4
  85. package/dist/cjs/{floating-ui-MBI1osio.js → floating-ui-B6nsdYUU.js} +24 -1
  86. package/dist/cjs/{floating-ui.dom-BUSTaaxR.js → floating-ui.dom-wzdGZjyG.js} +201 -113
  87. package/dist/cjs/{focus-DuywwJPR.js → focus-BhfJnFgJ.js} +21 -0
  88. package/dist/cjs/header-context-CdawuLsH.js +17 -0
  89. package/dist/cjs/icon.utils-DF6kMskA.js +46 -0
  90. package/dist/cjs/id-DE4jSi-L.js +36 -0
  91. package/dist/cjs/{index-CRdcutym.js → index-Bc30P_6z.js} +88 -766
  92. package/dist/cjs/loader.cjs.js +2 -2
  93. package/dist/cjs/motion-CgIooxWS.js +29 -0
  94. package/dist/cjs/ownership-UnpufyCx.js +116 -0
  95. package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
  96. package/dist/cjs/props-D8dybmr0.js +124 -0
  97. package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
  98. package/dist/cjs/{validator-CTCajtT9.js → validator-GkkueMOx.js} +18 -0
  99. package/dist/cjs/webcomponents.cjs.js +3 -3
  100. package/dist/collection/collection-manifest.json +1 -1
  101. package/dist/collection/components/avatar/avatar.css +1 -1
  102. package/dist/collection/components/avatar/avatar.js +48 -16
  103. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
  104. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  105. package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
  106. package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
  107. package/dist/collection/components/button/button.css +1 -1
  108. package/dist/collection/components/button/button.js +93 -24
  109. package/dist/collection/components/card/card.css +1 -1
  110. package/dist/collection/components/card/card.js +33 -5
  111. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
  112. package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
  113. package/dist/collection/components/carousel/carousel.css +1 -1
  114. package/dist/collection/components/carousel/carousel.js +107 -21
  115. package/dist/collection/components/checkbox/checkbox.css +1 -1
  116. package/dist/collection/components/checkbox/checkbox.js +134 -20
  117. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  118. package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
  119. package/dist/collection/components/checkgroup/checkgroup.js +42 -4
  120. package/dist/collection/components/collapse/collapse.css +1 -1
  121. package/dist/collection/components/collapse/collapse.js +55 -9
  122. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
  123. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
  124. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
  125. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
  126. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
  127. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
  128. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
  129. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
  130. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
  131. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
  132. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
  133. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
  134. package/dist/collection/components/cookiebar/cookiebar.css +1 -1
  135. package/dist/collection/components/cookiebar/cookiebar.js +67 -32
  136. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
  137. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
  138. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
  139. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
  140. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
  141. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  142. package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
  143. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
  144. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
  145. package/dist/collection/components/divider/divider.css +1 -1
  146. package/dist/collection/components/divider/divider.js +101 -26
  147. package/dist/collection/components/dropdown/dropdown.css +1 -1
  148. package/dist/collection/components/dropdown/dropdown.js +195 -51
  149. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  150. package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
  151. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  152. package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
  153. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  154. package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
  155. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  156. package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
  157. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  158. package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
  159. package/dist/collection/components/footer/footer.css +1 -1
  160. package/dist/collection/components/footer/footer.js +48 -7
  161. package/dist/collection/components/header/header-context.js +13 -0
  162. package/dist/collection/components/header/header-function/header-function.css +1 -1
  163. package/dist/collection/components/header/header-function/header-function.js +51 -8
  164. package/dist/collection/components/header/header-link/header-link.css +1 -1
  165. package/dist/collection/components/header/header-link/header-link.js +52 -2
  166. package/dist/collection/components/header/header-list/header-list.css +1 -1
  167. package/dist/collection/components/header/header-list/header-list.js +20 -23
  168. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  169. package/dist/collection/components/header/header-logo/header-logo.js +33 -8
  170. package/dist/collection/components/header/header.css +1 -1
  171. package/dist/collection/components/header/header.js +134 -44
  172. package/dist/collection/components/icon/default-icons-cache.js +111 -3
  173. package/dist/collection/components/icon/icon.css +1 -1
  174. package/dist/collection/components/icon/icon.js +80 -33
  175. package/dist/collection/components/icon/icon.utils.js +8 -0
  176. package/dist/collection/components/input/input.css +1 -1
  177. package/dist/collection/components/input/input.js +189 -55
  178. package/dist/collection/components/item/item.css +1 -1
  179. package/dist/collection/components/item/item.js +136 -52
  180. package/dist/collection/components/link/link.css +1 -1
  181. package/dist/collection/components/link/link.js +48 -15
  182. package/dist/collection/components/list/list.css +1 -1
  183. package/dist/collection/components/list/list.js +106 -25
  184. package/dist/collection/components/loading/loading.css +1 -1
  185. package/dist/collection/components/loading/loading.js +131 -43
  186. package/dist/collection/components/magic-button/magic-button.css +1 -1
  187. package/dist/collection/components/magic-button/magic-button.js +65 -9
  188. package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
  189. package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
  190. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  191. package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
  192. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  193. package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
  194. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  195. package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
  196. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  197. package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
  198. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  199. package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
  200. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  201. package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
  202. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  203. package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
  204. package/dist/collection/components/menu/menu.css +1 -1
  205. package/dist/collection/components/menu/menu.js +71 -60
  206. package/dist/collection/components/menu/menu.utils.js +8 -18
  207. package/dist/collection/components/message/message.css +1 -1
  208. package/dist/collection/components/message/message.js +50 -24
  209. package/dist/collection/components/modal/modal.css +1 -1
  210. package/dist/collection/components/modal/modal.js +72 -43
  211. package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
  212. package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
  213. package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
  214. package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
  215. package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
  216. package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
  217. package/dist/collection/components/notification/notification.css +1 -1
  218. package/dist/collection/components/notification/notification.js +54 -10
  219. package/dist/collection/components/pagination/pagination.css +1 -1
  220. package/dist/collection/components/pagination/pagination.js +164 -75
  221. package/dist/collection/components/radio/radio.css +1 -1
  222. package/dist/collection/components/radio/radio.js +109 -14
  223. package/dist/collection/components/radio-group/radio-group.css +1 -1
  224. package/dist/collection/components/radio-group/radio-group.js +153 -63
  225. package/dist/collection/components/scrim/scrim.css +1 -1
  226. package/dist/collection/components/scrim/scrim.js +215 -74
  227. package/dist/collection/components/scrim/scrim.utils.js +5 -51
  228. package/dist/collection/components/select/select-input/select-input.css +1 -1
  229. package/dist/collection/components/select/select-input/select-input.js +61 -6
  230. package/dist/collection/components/select/select-list/select-list.css +1 -1
  231. package/dist/collection/components/select/select-list/select-list.js +247 -52
  232. package/dist/collection/components/select/select-option/select-option.css +1 -1
  233. package/dist/collection/components/select/select-option/select-option.js +108 -46
  234. package/dist/collection/components/select/select.css +1 -1
  235. package/dist/collection/components/select/select.js +320 -124
  236. package/dist/collection/components/select/select.utils.js +3 -1
  237. package/dist/collection/components/sign-in/sign-in.css +1 -1
  238. package/dist/collection/components/sign-in/sign-in.js +60 -17
  239. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
  240. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  241. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
  242. package/dist/collection/components/skip-link/skip-link.css +1 -1
  243. package/dist/collection/components/skip-link/skip-link.js +78 -39
  244. package/dist/collection/components/slider/slider.css +1 -1
  245. package/dist/collection/components/slider/slider.js +530 -132
  246. package/dist/collection/components/slider/slider.utils.js +178 -0
  247. package/dist/collection/components/step/step-item/step-item.css +1 -1
  248. package/dist/collection/components/step/step-item/step-item.js +29 -12
  249. package/dist/collection/components/step/step.css +1 -1
  250. package/dist/collection/components/step/step.js +119 -44
  251. package/dist/collection/components/switch/switch.css +1 -1
  252. package/dist/collection/components/switch/switch.js +48 -15
  253. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  254. package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
  255. package/dist/collection/components/tab/tab.css +1 -1
  256. package/dist/collection/components/tab/tab.js +123 -53
  257. package/dist/collection/components/table/table-body/table-body.css +1 -1
  258. package/dist/collection/components/table/table-body/table-body.js +11 -7
  259. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  260. package/dist/collection/components/table/table-cell/table-cell.js +36 -17
  261. package/dist/collection/components/table/table-header/table-header.css +1 -1
  262. package/dist/collection/components/table/table-header/table-header.js +11 -7
  263. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  264. package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
  265. package/dist/collection/components/table/table-row/table-row.css +1 -1
  266. package/dist/collection/components/table/table-row/table-row.js +24 -7
  267. package/dist/collection/components/table/table.css +1 -1
  268. package/dist/collection/components/table/table.js +107 -31
  269. package/dist/collection/components/tag/tag.css +1 -1
  270. package/dist/collection/components/tag/tag.js +86 -36
  271. package/dist/collection/components/textarea/textarea.css +1 -1
  272. package/dist/collection/components/textarea/textarea.js +222 -19
  273. package/dist/collection/components/tooltip/tooltip.css +1 -1
  274. package/dist/collection/components/tooltip/tooltip.js +134 -45
  275. package/dist/collection/components/upload/upload.css +1 -1
  276. package/dist/collection/components/upload/upload.js +135 -33
  277. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  278. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
  279. package/dist/collection/components/wizard/wizard.css +1 -1
  280. package/dist/collection/components/wizard/wizard.js +82 -28
  281. package/dist/collection/pages/components/select/remote.js +33 -0
  282. package/dist/collection/pages/components/select/virtualized.js +13 -0
  283. package/dist/collection/pages/components/upload/handler.js +25 -0
  284. package/dist/collection/pages/scripts/component-controls-core.js +95 -0
  285. package/dist/collection/pages/scripts/component-controls.js +221 -158
  286. package/dist/collection/pages/scripts/dev-event-console.js +5 -1
  287. package/dist/collection/pages/scripts/menu.js +90 -6
  288. package/dist/collection/pages/scripts/pageLoader.js +1570 -607
  289. package/dist/collection/pages/scripts/pageloader-preview.js +796 -0
  290. package/dist/collection/pages/scripts/playground-core.js +173 -0
  291. package/dist/collection/shared/utils/cssVariables.js +2 -0
  292. package/dist/collection/shared/utils/date.js +8 -4
  293. package/dist/collection/shared/utils/floating-ui.js +24 -1
  294. package/dist/collection/shared/utils/focus.js +31 -0
  295. package/dist/collection/shared/utils/form.js +17 -0
  296. package/dist/collection/shared/utils/getRandom.js +16 -1
  297. package/dist/collection/shared/utils/helpers.js +4 -11
  298. package/dist/collection/shared/utils/id.js +23 -7
  299. package/dist/collection/shared/utils/index.js +6 -1
  300. package/dist/collection/shared/utils/isEmpty.js +5 -3
  301. package/dist/collection/shared/utils/motion.js +25 -0
  302. package/dist/collection/shared/utils/ownership.js +113 -0
  303. package/dist/collection/shared/utils/prop-warning.js +47 -0
  304. package/dist/collection/shared/utils/props.js +79 -0
  305. package/dist/collection/shared/utils/swipe.js +11 -1
  306. package/dist/collection/shared/utils/transition.js +3 -0
  307. package/dist/collection/shared/utils/virtual-scroll.js +24 -0
  308. package/dist/components/br-avatar.d.ts +1 -1
  309. package/dist/components/br-avatar.js +1 -1
  310. package/dist/components/br-breadcrumb-item.d.ts +1 -1
  311. package/dist/components/br-breadcrumb-item.js +1 -1
  312. package/dist/components/br-breadcrumb.d.ts +1 -1
  313. package/dist/components/br-breadcrumb.js +1 -1
  314. package/dist/components/br-button.d.ts +1 -1
  315. package/dist/components/br-button.js +1 -1
  316. package/dist/components/br-card.d.ts +1 -1
  317. package/dist/components/br-card.js +1 -1
  318. package/dist/components/br-carousel-page.d.ts +1 -1
  319. package/dist/components/br-carousel-page.js +1 -1
  320. package/dist/components/br-carousel.d.ts +1 -1
  321. package/dist/components/br-carousel.js +1 -1
  322. package/dist/components/br-checkbox-group.d.ts +1 -1
  323. package/dist/components/br-checkbox-group.js +1 -1
  324. package/dist/components/br-checkbox.d.ts +1 -1
  325. package/dist/components/br-checkbox.js +1 -1
  326. package/dist/components/br-checkgroup.d.ts +1 -1
  327. package/dist/components/br-checkgroup.js +1 -1
  328. package/dist/components/br-collapse.d.ts +1 -1
  329. package/dist/components/br-collapse.js +1 -1
  330. package/dist/components/br-cookiebar-cookie.d.ts +1 -1
  331. package/dist/components/br-cookiebar-cookie.js +1 -1
  332. package/dist/components/br-cookiebar-group.d.ts +1 -1
  333. package/dist/components/br-cookiebar-group.js +1 -1
  334. package/dist/components/br-cookiebar-header.d.ts +1 -1
  335. package/dist/components/br-cookiebar-header.js +1 -1
  336. package/dist/components/br-cookiebar-link.d.ts +1 -1
  337. package/dist/components/br-cookiebar-link.js +1 -1
  338. package/dist/components/br-cookiebar-note-group.d.ts +1 -1
  339. package/dist/components/br-cookiebar-note-group.js +1 -1
  340. package/dist/components/br-cookiebar-note.d.ts +1 -1
  341. package/dist/components/br-cookiebar-note.js +1 -1
  342. package/dist/components/br-cookiebar.d.ts +1 -1
  343. package/dist/components/br-cookiebar.js +1 -1
  344. package/dist/components/br-crumb.d.ts +1 -1
  345. package/dist/components/br-crumb.js +1 -1
  346. package/dist/components/br-date-picker.d.ts +1 -1
  347. package/dist/components/br-date-picker.js +1 -1
  348. package/dist/components/br-datetime-input.d.ts +1 -1
  349. package/dist/components/br-datetime-input.js +1 -1
  350. package/dist/components/br-datetime-picker.d.ts +1 -1
  351. package/dist/components/br-datetime-picker.js +1 -1
  352. package/dist/components/br-divider.d.ts +1 -1
  353. package/dist/components/br-divider.js +1 -1
  354. package/dist/components/br-dropdown.d.ts +1 -1
  355. package/dist/components/br-dropdown.js +1 -1
  356. package/dist/components/br-footer-category.d.ts +1 -1
  357. package/dist/components/br-footer-category.js +1 -1
  358. package/dist/components/br-footer-item.d.ts +1 -1
  359. package/dist/components/br-footer-item.js +1 -1
  360. package/dist/components/br-footer-legal.d.ts +1 -1
  361. package/dist/components/br-footer-legal.js +1 -1
  362. package/dist/components/br-footer-logo.d.ts +1 -1
  363. package/dist/components/br-footer-logo.js +1 -1
  364. package/dist/components/br-footer-social.d.ts +1 -1
  365. package/dist/components/br-footer-social.js +1 -1
  366. package/dist/components/br-footer.d.ts +1 -1
  367. package/dist/components/br-footer.js +1 -1
  368. package/dist/components/br-header-function.d.ts +1 -1
  369. package/dist/components/br-header-function.js +1 -1
  370. package/dist/components/br-header-link.d.ts +1 -1
  371. package/dist/components/br-header-link.js +1 -1
  372. package/dist/components/br-header-list.d.ts +1 -1
  373. package/dist/components/br-header-list.js +1 -1
  374. package/dist/components/br-header-logo.d.ts +1 -1
  375. package/dist/components/br-header-logo.js +1 -1
  376. package/dist/components/br-header.d.ts +1 -1
  377. package/dist/components/br-header.js +1 -1
  378. package/dist/components/br-icon.d.ts +1 -1
  379. package/dist/components/br-icon.js +1 -1
  380. package/dist/components/br-input.d.ts +1 -1
  381. package/dist/components/br-input.js +1 -1
  382. package/dist/components/br-item.d.ts +1 -1
  383. package/dist/components/br-item.js +1 -1
  384. package/dist/components/br-link.d.ts +1 -1
  385. package/dist/components/br-link.js +1 -1
  386. package/dist/components/br-list.d.ts +1 -1
  387. package/dist/components/br-list.js +1 -1
  388. package/dist/components/br-loading.d.ts +1 -1
  389. package/dist/components/br-loading.js +1 -1
  390. package/dist/components/br-magic-button.d.ts +1 -1
  391. package/dist/components/br-magic-button.js +1 -1
  392. package/dist/components/br-menu-group.d.ts +1 -1
  393. package/dist/components/br-menu-group.js +1 -1
  394. package/dist/components/br-menu-header.d.ts +1 -1
  395. package/dist/components/br-menu-header.js +1 -1
  396. package/dist/components/br-menu-info.d.ts +1 -1
  397. package/dist/components/br-menu-info.js +1 -1
  398. package/dist/components/br-menu-item.d.ts +1 -1
  399. package/dist/components/br-menu-item.js +1 -1
  400. package/dist/components/br-menu-link.d.ts +1 -1
  401. package/dist/components/br-menu-link.js +1 -1
  402. package/dist/components/br-menu-list.d.ts +1 -1
  403. package/dist/components/br-menu-list.js +1 -1
  404. package/dist/components/br-menu-logo.d.ts +1 -1
  405. package/dist/components/br-menu-logo.js +1 -1
  406. package/dist/components/br-menu-social.d.ts +1 -1
  407. package/dist/components/br-menu-social.js +1 -1
  408. package/dist/components/br-menu.d.ts +1 -1
  409. package/dist/components/br-menu.js +1 -1
  410. package/dist/components/br-message.d.ts +1 -1
  411. package/dist/components/br-message.js +1 -1
  412. package/dist/components/br-modal.d.ts +1 -1
  413. package/dist/components/br-modal.js +1 -1
  414. package/dist/components/br-notification-body.d.ts +1 -1
  415. package/dist/components/br-notification-body.js +1 -1
  416. package/dist/components/br-notification-header.d.ts +1 -1
  417. package/dist/components/br-notification-header.js +1 -1
  418. package/dist/components/br-notification-item.d.ts +1 -1
  419. package/dist/components/br-notification-item.js +1 -1
  420. package/dist/components/br-notification.d.ts +1 -1
  421. package/dist/components/br-notification.js +1 -1
  422. package/dist/components/br-pagination.d.ts +1 -1
  423. package/dist/components/br-pagination.js +1 -1
  424. package/dist/components/br-radio-group.d.ts +1 -1
  425. package/dist/components/br-radio-group.js +1 -1
  426. package/dist/components/br-radio.d.ts +1 -1
  427. package/dist/components/br-radio.js +1 -1
  428. package/dist/components/br-scrim.d.ts +1 -1
  429. package/dist/components/br-scrim.js +1 -1
  430. package/dist/components/br-select-input.d.ts +1 -1
  431. package/dist/components/br-select-input.js +1 -1
  432. package/dist/components/br-select-list.d.ts +1 -1
  433. package/dist/components/br-select-list.js +1 -1
  434. package/dist/components/br-select-option.d.ts +1 -1
  435. package/dist/components/br-select-option.js +1 -1
  436. package/dist/components/br-select.d.ts +1 -1
  437. package/dist/components/br-select.js +1 -1
  438. package/dist/components/br-sign-in.d.ts +1 -1
  439. package/dist/components/br-sign-in.js +1 -1
  440. package/dist/components/br-skip-link-item.d.ts +1 -1
  441. package/dist/components/br-skip-link-item.js +1 -1
  442. package/dist/components/br-skip-link.d.ts +1 -1
  443. package/dist/components/br-skip-link.js +1 -1
  444. package/dist/components/br-skiplink-item.d.ts +1 -1
  445. package/dist/components/br-skiplink-item.js +1 -1
  446. package/dist/components/br-slider.d.ts +1 -1
  447. package/dist/components/br-slider.js +1 -1
  448. package/dist/components/br-step-item.d.ts +1 -1
  449. package/dist/components/br-step-item.js +1 -1
  450. package/dist/components/br-step.d.ts +1 -1
  451. package/dist/components/br-step.js +1 -1
  452. package/dist/components/br-switch.d.ts +1 -1
  453. package/dist/components/br-switch.js +1 -1
  454. package/dist/components/br-tab-item.d.ts +1 -1
  455. package/dist/components/br-tab-item.js +1 -1
  456. package/dist/components/br-tab.d.ts +1 -1
  457. package/dist/components/br-tab.js +1 -1
  458. package/dist/components/br-table-body.d.ts +1 -1
  459. package/dist/components/br-table-body.js +1 -1
  460. package/dist/components/br-table-cell.d.ts +1 -1
  461. package/dist/components/br-table-cell.js +1 -1
  462. package/dist/components/br-table-header-cell.d.ts +1 -1
  463. package/dist/components/br-table-header-cell.js +1 -1
  464. package/dist/components/br-table-header.d.ts +1 -1
  465. package/dist/components/br-table-header.js +1 -1
  466. package/dist/components/br-table-row.d.ts +1 -1
  467. package/dist/components/br-table-row.js +1 -1
  468. package/dist/components/br-table.d.ts +1 -1
  469. package/dist/components/br-table.js +1 -1
  470. package/dist/components/br-tag.d.ts +1 -1
  471. package/dist/components/br-tag.js +1 -1
  472. package/dist/components/br-textarea.d.ts +1 -1
  473. package/dist/components/br-textarea.js +1 -1
  474. package/dist/components/br-time-picker.d.ts +1 -1
  475. package/dist/components/br-time-picker.js +1 -1
  476. package/dist/components/br-tooltip.d.ts +1 -1
  477. package/dist/components/br-tooltip.js +1 -1
  478. package/dist/components/br-upload.d.ts +1 -1
  479. package/dist/components/br-upload.js +1 -1
  480. package/dist/components/br-wizard-panel.d.ts +1 -1
  481. package/dist/components/br-wizard-panel.js +1 -1
  482. package/dist/components/br-wizard.d.ts +1 -1
  483. package/dist/components/br-wizard.js +1 -1
  484. package/dist/components/index.d.ts +89 -89
  485. package/dist/components/index.js +1 -1
  486. package/dist/components/p-0qmYp77w.js +5 -0
  487. package/dist/components/p-5c3rNBXh.js +5 -0
  488. package/dist/components/p-B8oIvH3q.js +5 -0
  489. package/dist/components/p-BECz8XWJ.js +5 -0
  490. package/dist/components/p-BEJGB0Nd.js +5 -0
  491. package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
  492. package/dist/components/p-BJtdabsr.js +5 -0
  493. package/dist/components/p-BM4Ys6hX.js +5 -0
  494. package/dist/components/p-BXWh9s7p.js +5 -0
  495. package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
  496. package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
  497. package/dist/components/p-BeJxz5TQ.js +5 -0
  498. package/dist/components/p-Bezou5CQ.js +5 -0
  499. package/dist/components/p-BjeUETWJ.js +5 -0
  500. package/dist/components/p-CDTENPaP.js +5 -0
  501. package/dist/components/p-CDtFCbKp.js +5 -0
  502. package/dist/components/p-CNwZRgyL.js +5 -0
  503. package/dist/components/p-CZZVc2gK.js +5 -0
  504. package/dist/components/p-Cd6udSDt.js +5 -0
  505. package/dist/components/p-Ci0_RqAE.js +5 -0
  506. package/dist/components/p-CuBgClZm.js +5 -0
  507. package/dist/components/p-D0QYZSoP.js +5 -0
  508. package/dist/components/p-D4SWpW6-.js +5 -0
  509. package/dist/components/p-D579DS7x.js +5 -0
  510. package/dist/components/p-D8K7rhHd.js +5 -0
  511. package/dist/components/p-D9Zo6FlV.js +5 -0
  512. package/dist/components/p-D9nXlCuS.js +5 -0
  513. package/dist/components/p-DKFO6Q_g.js +5 -0
  514. package/dist/components/p-DNJSSCNi.js +5 -0
  515. package/dist/components/p-DOJ1vYOl.js +5 -0
  516. package/dist/components/p-DWhzxlCx.js +5 -0
  517. package/dist/components/p-DYI30IZL.js +5 -0
  518. package/dist/components/p-DcVldfL0.js +5 -0
  519. package/dist/components/p-DhvmHPp4.js +5 -0
  520. package/dist/components/p-DiLI514I.js +5 -0
  521. package/dist/components/p-DwgiHL0b.js +5 -0
  522. package/dist/components/p-Jk_KQE5V.js +5 -0
  523. package/dist/components/p-Nze3Utvd.js +5 -0
  524. package/dist/components/p-WxDB6Dk4.js +5 -0
  525. package/dist/components/p-ZLoeVagg.js +5 -0
  526. package/dist/components/p-gbYJ9sfc.js +5 -0
  527. package/dist/components/p-uc8ABlC_.js +5 -0
  528. package/dist/components/p-v60ypfxD.js +5 -0
  529. package/dist/esm/br-avatar.entry.js +21 -14
  530. package/dist/esm/br-breadcrumb-item.entry.js +2 -2
  531. package/dist/esm/br-breadcrumb.entry.js +49 -22
  532. package/dist/esm/br-button_2.entry.js +77 -35
  533. package/dist/esm/br-card.entry.js +6 -5
  534. package/dist/esm/br-carousel-page.entry.js +3 -3
  535. package/dist/esm/br-carousel.entry.js +78 -22
  536. package/dist/esm/br-checkbox-group.entry.js +157 -27
  537. package/dist/esm/br-checkbox.entry.js +87 -17
  538. package/dist/esm/br-checkgroup.entry.js +5 -2
  539. package/dist/esm/br-collapse_2.entry.js +91 -28
  540. package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
  541. package/dist/esm/br-cookiebar-group.entry.js +4 -4
  542. package/dist/esm/br-cookiebar-header.entry.js +4 -4
  543. package/dist/esm/br-cookiebar-link.entry.js +14 -6
  544. package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
  545. package/dist/esm/br-cookiebar-note.entry.js +4 -4
  546. package/dist/esm/br-cookiebar.entry.js +39 -26
  547. package/dist/esm/br-crumb.entry.js +2 -2
  548. package/dist/esm/br-date-picker_3.entry.js +207 -49
  549. package/dist/esm/br-datetime-picker.entry.js +83 -495
  550. package/dist/esm/br-divider.entry.js +70 -17
  551. package/dist/esm/br-dropdown_2.entry.js +335 -164
  552. package/dist/esm/br-footer-category.entry.js +10 -6
  553. package/dist/esm/br-footer-item.entry.js +9 -4
  554. package/dist/esm/br-footer-legal.entry.js +4 -4
  555. package/dist/esm/br-footer-logo.entry.js +22 -10
  556. package/dist/esm/br-footer-social.entry.js +14 -6
  557. package/dist/esm/br-footer.entry.js +16 -7
  558. package/dist/esm/br-header-function.entry.js +28 -7
  559. package/dist/esm/br-header-link.entry.js +25 -4
  560. package/dist/esm/br-header-list.entry.js +7 -18
  561. package/dist/esm/br-header-logo.entry.js +18 -7
  562. package/dist/esm/br-header.entry.js +96 -37
  563. package/dist/esm/br-icon.entry.js +160 -52
  564. package/dist/esm/br-input.entry.js +152 -42
  565. package/dist/esm/br-item.entry.js +97 -48
  566. package/dist/esm/br-link.entry.js +20 -7
  567. package/dist/esm/br-loading.entry.js +100 -38
  568. package/dist/esm/br-magic-button.entry.js +39 -9
  569. package/dist/esm/br-menu-group.entry.js +14 -3
  570. package/dist/esm/br-menu-header.entry.js +4 -4
  571. package/dist/esm/br-menu-info.entry.js +4 -4
  572. package/dist/esm/br-menu-item.entry.js +27 -5
  573. package/dist/esm/br-menu-link.entry.js +14 -6
  574. package/dist/esm/br-menu-list.entry.js +23 -27
  575. package/dist/esm/br-menu-logo.entry.js +4 -4
  576. package/dist/esm/br-menu-social.entry.js +16 -6
  577. package/dist/esm/br-menu.entry.js +39 -58
  578. package/dist/esm/br-modal.entry.js +44 -42
  579. package/dist/esm/br-notification-body.entry.js +4 -4
  580. package/dist/esm/br-notification-header.entry.js +4 -4
  581. package/dist/esm/br-notification-item.entry.js +14 -8
  582. package/dist/esm/br-notification.entry.js +24 -9
  583. package/dist/esm/br-pagination.entry.js +120 -88
  584. package/dist/esm/br-radio-group.entry.js +108 -59
  585. package/dist/esm/br-radio.entry.js +63 -13
  586. package/dist/esm/br-scrim.entry.js +161 -67
  587. package/dist/esm/br-select-input_3.entry.js +286 -91
  588. package/dist/esm/br-sign-in.entry.js +38 -15
  589. package/dist/esm/br-skip-link-item.entry.js +39 -2
  590. package/dist/esm/br-skip-link.entry.js +50 -33
  591. package/dist/esm/br-skiplink-item.entry.js +22 -6
  592. package/dist/esm/br-slider.entry.js +520 -98
  593. package/dist/esm/br-step_2.entry.js +98 -44
  594. package/dist/esm/br-switch.entry.js +22 -13
  595. package/dist/esm/br-tab-item.entry.js +38 -14
  596. package/dist/esm/br-tab.entry.js +89 -51
  597. package/dist/esm/br-table-body.entry.js +3 -3
  598. package/dist/esm/br-table-cell.entry.js +30 -13
  599. package/dist/esm/br-table-header-cell.entry.js +23 -7
  600. package/dist/esm/br-table-header.entry.js +3 -3
  601. package/dist/esm/br-table-row.entry.js +17 -3
  602. package/dist/esm/br-table.entry.js +68 -22
  603. package/dist/esm/br-tag.entry.js +50 -32
  604. package/dist/esm/br-textarea.entry.js +119 -14
  605. package/dist/esm/br-tooltip.entry.js +88 -42
  606. package/dist/esm/br-upload.entry.js +85 -26
  607. package/dist/esm/br-wizard-panel.entry.js +16 -3
  608. package/dist/esm/br-wizard.entry.js +52 -28
  609. package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
  610. package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
  611. package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
  612. package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
  613. package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
  614. package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
  615. package/dist/esm/header-context-BEJGB0Nd.js +15 -0
  616. package/dist/esm/icon.utils-zlORkiHQ.js +43 -0
  617. package/dist/esm/id-BeJxz5TQ.js +34 -0
  618. package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
  619. package/dist/esm/{index-C2RBydfd.js → index-ConyRdJe.js} +88 -766
  620. package/dist/esm/index.js +2 -2
  621. package/dist/esm/loader.js +3 -3
  622. package/dist/esm/motion-DWhzxlCx.js +27 -0
  623. package/dist/esm/ownership-CDtFCbKp.js +111 -0
  624. package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
  625. package/dist/esm/props-D07GjR4_.js +116 -0
  626. package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
  627. package/dist/esm/{validator-D3tVP32U.js → validator-BkWWrDEr.js} +18 -1
  628. package/dist/esm/webcomponents.js +4 -4
  629. package/dist/hydrate/index.js +7541 -2577
  630. package/dist/hydrate/index.mjs +7541 -2577
  631. package/dist/loader/index.d.ts +1 -1
  632. package/dist/types/components/avatar/avatar.d.ts +34 -4
  633. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
  634. package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
  635. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
  636. package/dist/types/components/button/button.d.ts +45 -8
  637. package/dist/types/components/card/card.d.ts +31 -3
  638. package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
  639. package/dist/types/components/carousel/carousel.d.ts +46 -3
  640. package/dist/types/components/checkbox/checkbox.d.ts +59 -6
  641. package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
  642. package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
  643. package/dist/types/components/collapse/collapse.d.ts +37 -4
  644. package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
  645. package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
  646. package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
  647. package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
  648. package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
  649. package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
  650. package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
  651. package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
  652. package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
  653. package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
  654. package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
  655. package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
  656. package/dist/types/components/divider/divider.d.ts +45 -8
  657. package/dist/types/components/dropdown/dropdown.d.ts +53 -7
  658. package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
  659. package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
  660. package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
  661. package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
  662. package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
  663. package/dist/types/components/footer/footer.d.ts +39 -3
  664. package/dist/types/components/header/header-context.d.ts +1 -0
  665. package/dist/types/components/header/header-function/header-function.d.ts +24 -2
  666. package/dist/types/components/header/header-link/header-link.d.ts +22 -1
  667. package/dist/types/components/header/header-list/header-list.d.ts +16 -8
  668. package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
  669. package/dist/types/components/header/header.d.ts +47 -7
  670. package/dist/types/components/icon/icon.d.ts +44 -13
  671. package/dist/types/components/icon/icon.utils.d.ts +6 -0
  672. package/dist/types/components/input/input.d.ts +74 -15
  673. package/dist/types/components/item/item.d.ts +44 -6
  674. package/dist/types/components/link/link.d.ts +41 -9
  675. package/dist/types/components/list/list.d.ts +58 -8
  676. package/dist/types/components/loading/loading.d.ts +48 -8
  677. package/dist/types/components/magic-button/magic-button.d.ts +41 -3
  678. package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
  679. package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
  680. package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
  681. package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
  682. package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
  683. package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
  684. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
  685. package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
  686. package/dist/types/components/menu/menu.d.ts +39 -6
  687. package/dist/types/components/menu/menu.utils.d.ts +2 -6
  688. package/dist/types/components/message/message.d.ts +38 -9
  689. package/dist/types/components/modal/modal.d.ts +40 -4
  690. package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
  691. package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
  692. package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
  693. package/dist/types/components/notification/notification.d.ts +36 -5
  694. package/dist/types/components/pagination/pagination.d.ts +58 -20
  695. package/dist/types/components/radio/radio.d.ts +49 -4
  696. package/dist/types/components/radio-group/radio-group.d.ts +52 -10
  697. package/dist/types/components/scrim/scrim.d.ts +72 -11
  698. package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
  699. package/dist/types/components/select/select-input/select-input.d.ts +22 -4
  700. package/dist/types/components/select/select-list/select-list.d.ts +51 -5
  701. package/dist/types/components/select/select-option/select-option.d.ts +31 -8
  702. package/dist/types/components/select/select.d.ts +152 -13
  703. package/dist/types/components/select/select.types.d.ts +5 -0
  704. package/dist/types/components/sign-in/sign-in.d.ts +32 -4
  705. package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
  706. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
  707. package/dist/types/components/skip-link/skip-link.d.ts +37 -3
  708. package/dist/types/components/slider/slider.d.ts +147 -21
  709. package/dist/types/components/slider/slider.types.d.ts +7 -2
  710. package/dist/types/components/slider/slider.utils.d.ts +27 -0
  711. package/dist/types/components/step/step-item/step-item.d.ts +15 -3
  712. package/dist/types/components/step/step.d.ts +47 -12
  713. package/dist/types/components/switch/switch.d.ts +39 -6
  714. package/dist/types/components/tab/tab-item/tab-item.d.ts +24 -4
  715. package/dist/types/components/tab/tab.d.ts +48 -11
  716. package/dist/types/components/table/table-body/table-body.d.ts +10 -6
  717. package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
  718. package/dist/types/components/table/table-header/table-header.d.ts +10 -6
  719. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
  720. package/dist/types/components/table/table-row/table-row.d.ts +11 -6
  721. package/dist/types/components/table/table.d.ts +49 -11
  722. package/dist/types/components/tag/tag.d.ts +55 -7
  723. package/dist/types/components/textarea/textarea.d.ts +75 -5
  724. package/dist/types/components/textarea/textarea.types.d.ts +4 -0
  725. package/dist/types/components/tooltip/tooltip.d.ts +46 -8
  726. package/dist/types/components/upload/upload.d.ts +78 -10
  727. package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
  728. package/dist/types/components/wizard/wizard.d.ts +44 -7
  729. package/dist/types/components.d.ts +5827 -1354
  730. package/dist/types/shared/utils/floating-ui.d.ts +4 -0
  731. package/dist/types/shared/utils/focus.d.ts +14 -0
  732. package/dist/types/shared/utils/form.d.ts +8 -0
  733. package/dist/types/shared/utils/getRandom.d.ts +1 -0
  734. package/dist/types/shared/utils/id.d.ts +1 -1
  735. package/dist/types/shared/utils/index.d.ts +6 -1
  736. package/dist/types/shared/utils/motion.d.ts +14 -0
  737. package/dist/types/shared/utils/ownership.d.ts +33 -0
  738. package/dist/types/shared/utils/prop-warning.d.ts +7 -0
  739. package/dist/types/shared/utils/props.d.ts +38 -0
  740. package/dist/types/shared/utils/swipe.d.ts +5 -0
  741. package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
  742. package/dist/types/stencil-public-runtime.d.ts +73 -55
  743. package/dist/webcomponents/index.esm.js +1 -1
  744. package/dist/webcomponents/p-078bd760.entry.js +5 -0
  745. package/dist/webcomponents/p-07c2cdff.entry.js +5 -0
  746. package/dist/webcomponents/{p-7f7506f0.entry.js → p-09817344.entry.js} +1 -1
  747. package/dist/webcomponents/p-0b0cf355.entry.js +5 -0
  748. package/dist/webcomponents/p-0d2ca2f7.entry.js +5 -0
  749. package/dist/webcomponents/p-0d79ca44.entry.js +5 -0
  750. package/dist/webcomponents/p-0fe3c47b.entry.js +5 -0
  751. package/dist/webcomponents/p-116b53c9.entry.js +5 -0
  752. package/dist/webcomponents/p-1240dae7.entry.js +5 -0
  753. package/dist/webcomponents/p-14ff5865.entry.js +5 -0
  754. package/dist/webcomponents/p-15743a02.entry.js +5 -0
  755. package/dist/webcomponents/p-16cebf49.entry.js +5 -0
  756. package/dist/webcomponents/p-1884b9d3.entry.js +5 -0
  757. package/dist/webcomponents/p-19a38e20.entry.js +5 -0
  758. package/dist/webcomponents/p-1d36c8fa.entry.js +5 -0
  759. package/dist/webcomponents/p-1fa4b5b2.entry.js +5 -0
  760. package/dist/webcomponents/p-212c069b.entry.js +5 -0
  761. package/dist/webcomponents/p-23f37cd6.entry.js +5 -0
  762. package/dist/webcomponents/p-24502b63.entry.js +5 -0
  763. package/dist/webcomponents/p-27fb81f3.entry.js +5 -0
  764. package/dist/webcomponents/p-28844490.entry.js +5 -0
  765. package/dist/webcomponents/p-2b41bdcc.entry.js +5 -0
  766. package/dist/webcomponents/p-2cb1e09b.entry.js +5 -0
  767. package/dist/webcomponents/p-2fcda70b.entry.js +5 -0
  768. package/dist/webcomponents/p-3378300c.entry.js +5 -0
  769. package/dist/webcomponents/p-3ae9cf69.entry.js +5 -0
  770. package/dist/webcomponents/p-3b79cd49.entry.js +5 -0
  771. package/dist/webcomponents/p-3c1513ec.entry.js +5 -0
  772. package/dist/webcomponents/p-4118b878.entry.js +5 -0
  773. package/dist/webcomponents/p-4534a3c3.entry.js +5 -0
  774. package/dist/webcomponents/p-48abf568.entry.js +5 -0
  775. package/dist/webcomponents/p-4e5ea05c.entry.js +5 -0
  776. package/dist/webcomponents/p-513ee754.entry.js +5 -0
  777. package/dist/webcomponents/p-521a1076.entry.js +5 -0
  778. package/dist/webcomponents/p-59fc52c0.entry.js +5 -0
  779. package/dist/webcomponents/p-5a7c2031.entry.js +5 -0
  780. package/dist/webcomponents/p-5a9f4ea2.entry.js +5 -0
  781. package/dist/webcomponents/p-5f422a69.entry.js +5 -0
  782. package/dist/webcomponents/p-61977114.entry.js +5 -0
  783. package/dist/webcomponents/p-6850e98e.entry.js +5 -0
  784. package/dist/webcomponents/p-71853dfc.entry.js +5 -0
  785. package/dist/webcomponents/p-76d51654.entry.js +5 -0
  786. package/dist/webcomponents/p-77e242f3.entry.js +5 -0
  787. package/dist/webcomponents/p-7b849472.entry.js +5 -0
  788. package/dist/webcomponents/p-7dbfb875.entry.js +5 -0
  789. package/dist/webcomponents/p-7fa7f052.entry.js +5 -0
  790. package/dist/webcomponents/p-81c65747.entry.js +5 -0
  791. package/dist/webcomponents/p-82759002.entry.js +5 -0
  792. package/dist/webcomponents/p-91a5329f.entry.js +5 -0
  793. package/dist/webcomponents/p-94848046.entry.js +5 -0
  794. package/dist/webcomponents/p-966773a9.entry.js +5 -0
  795. package/dist/webcomponents/p-9abb5a53.entry.js +5 -0
  796. package/dist/webcomponents/p-9bf2e325.entry.js +5 -0
  797. package/dist/webcomponents/p-9c943b40.entry.js +5 -0
  798. package/dist/webcomponents/p-9ec3ca00.entry.js +5 -0
  799. package/dist/webcomponents/p-B0PbhaxL.js +5 -0
  800. package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
  801. package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
  802. package/dist/webcomponents/p-BJtdabsr.js +5 -0
  803. package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
  804. package/dist/webcomponents/p-BkWWrDEr.js +5 -0
  805. package/dist/webcomponents/p-BlGV-x0w.js +5 -0
  806. package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
  807. package/dist/webcomponents/p-CDtFCbKp.js +5 -0
  808. package/dist/webcomponents/p-CNwZRgyL.js +5 -0
  809. package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
  810. package/dist/webcomponents/p-ConyRdJe.js +7 -0
  811. package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
  812. package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
  813. package/dist/webcomponents/p-DWhzxlCx.js +5 -0
  814. package/dist/webcomponents/p-EbtQZm5s.js +5 -0
  815. package/dist/webcomponents/p-ad91f149.entry.js +5 -0
  816. package/dist/webcomponents/p-aeea1f17.entry.js +5 -0
  817. package/dist/webcomponents/p-b02a7218.entry.js +5 -0
  818. package/dist/webcomponents/p-b16590fc.entry.js +5 -0
  819. package/dist/webcomponents/{p-12286e73.entry.js → p-b55425b7.entry.js} +1 -1
  820. package/dist/webcomponents/p-c1dafd8d.entry.js +5 -0
  821. package/dist/webcomponents/p-c2ca0289.entry.js +5 -0
  822. package/dist/webcomponents/p-c8af334e.entry.js +5 -0
  823. package/dist/webcomponents/p-cac49c6a.entry.js +5 -0
  824. package/dist/webcomponents/p-cb9ebfbe.entry.js +5 -0
  825. package/dist/webcomponents/p-ce3d689c.entry.js +5 -0
  826. package/dist/webcomponents/p-d11f95a0.entry.js +5 -0
  827. package/dist/webcomponents/p-d5d2205c.entry.js +5 -0
  828. package/dist/webcomponents/p-dad03b49.entry.js +5 -0
  829. package/dist/webcomponents/p-db8e6322.entry.js +5 -0
  830. package/dist/webcomponents/p-dea8015f.entry.js +5 -0
  831. package/dist/webcomponents/p-e07e309d.entry.js +5 -0
  832. package/dist/webcomponents/p-e53d874b.entry.js +5 -0
  833. package/dist/webcomponents/p-e5540387.entry.js +5 -0
  834. package/dist/webcomponents/p-e94a52ac.entry.js +5 -0
  835. package/dist/webcomponents/p-e9be4d3f.entry.js +5 -0
  836. package/dist/webcomponents/p-e9db9381.entry.js +5 -0
  837. package/dist/webcomponents/p-edca5de1.entry.js +5 -0
  838. package/dist/webcomponents/p-ee5b9fc9.entry.js +5 -0
  839. package/dist/webcomponents/p-f4ef8c63.entry.js +5 -0
  840. package/dist/webcomponents/p-zlORkiHQ.js +5 -0
  841. package/dist/webcomponents/webcomponents.esm.js +1 -1
  842. package/package.json +18 -3
  843. package/dist/cjs/clamp-Co_hWptd.js +0 -25
  844. package/dist/cjs/id-CjRFMzf6.js +0 -20
  845. package/dist/cjs/props-CScmBvKd.js +0 -24
  846. package/dist/collection/pages/components/cookiebar/index.js +0 -26
  847. package/dist/collection/pages/components/link/index.js +0 -29
  848. package/dist/collection/pages/components/pagination/index.js +0 -12
  849. package/dist/collection/pages/components/slider/index.js +0 -18
  850. package/dist/components/p-6OdfnwnK.js +0 -5
  851. package/dist/components/p-AmOh1cks.js +0 -5
  852. package/dist/components/p-B4ylcipx.js +0 -5
  853. package/dist/components/p-BCv4PCOx.js +0 -5
  854. package/dist/components/p-BLOyd_iF.js +0 -5
  855. package/dist/components/p-BODem6tr.js +0 -5
  856. package/dist/components/p-Bb-nLtTG.js +0 -5
  857. package/dist/components/p-BeFK-82z.js +0 -5
  858. package/dist/components/p-BkS6ujyf.js +0 -5
  859. package/dist/components/p-BloE-KAN.js +0 -5
  860. package/dist/components/p-BoSc_kmY.js +0 -5
  861. package/dist/components/p-BrH3r7eL.js +0 -5
  862. package/dist/components/p-BsZ0Ny88.js +0 -5
  863. package/dist/components/p-ByHVf7zy.js +0 -5
  864. package/dist/components/p-CdDwqbBv.js +0 -5
  865. package/dist/components/p-CdF-gmk1.js +0 -5
  866. package/dist/components/p-CfyjGPGI.js +0 -5
  867. package/dist/components/p-CjF7pBVQ.js +0 -5
  868. package/dist/components/p-ClqtllDH.js +0 -5
  869. package/dist/components/p-CqW2Yh34.js +0 -5
  870. package/dist/components/p-DIK54tTj.js +0 -5
  871. package/dist/components/p-DLE5ioJN.js +0 -5
  872. package/dist/components/p-DQRSHR-D.js +0 -5
  873. package/dist/components/p-DRVMm1Py.js +0 -5
  874. package/dist/components/p-DRnCpVrL.js +0 -5
  875. package/dist/components/p-DVdlaP7z.js +0 -5
  876. package/dist/components/p-DeeF6ok0.js +0 -5
  877. package/dist/components/p-Dim2PnUm.js +0 -5
  878. package/dist/components/p-Dk8rfQjL.js +0 -5
  879. package/dist/components/p-DkmEpoef.js +0 -5
  880. package/dist/components/p-DwfAYaEv.js +0 -5
  881. package/dist/components/p-DxZJrIyL.js +0 -5
  882. package/dist/components/p-P2Z_MmH6.js +0 -5
  883. package/dist/components/p-Xa0Mj4pP.js +0 -5
  884. package/dist/components/p-_vsQvdxD.js +0 -5
  885. package/dist/components/p-aNjo4Alx.js +0 -5
  886. package/dist/components/p-gvnfuTjd.js +0 -5
  887. package/dist/components/p-rB-s1M3Q.js +0 -5
  888. package/dist/esm/clamp-gvnfuTjd.js +0 -23
  889. package/dist/esm/id-BkS6ujyf.js +0 -18
  890. package/dist/esm/props-DRVMm1Py.js +0 -22
  891. package/dist/webcomponents/p-00cc31f9.entry.js +0 -5
  892. package/dist/webcomponents/p-026475bd.entry.js +0 -5
  893. package/dist/webcomponents/p-0291ab28.entry.js +0 -5
  894. package/dist/webcomponents/p-03e5a7dc.entry.js +0 -5
  895. package/dist/webcomponents/p-060df8ee.entry.js +0 -5
  896. package/dist/webcomponents/p-09fce2a5.entry.js +0 -5
  897. package/dist/webcomponents/p-1002bbff.entry.js +0 -5
  898. package/dist/webcomponents/p-1124de33.entry.js +0 -5
  899. package/dist/webcomponents/p-12e97d80.entry.js +0 -5
  900. package/dist/webcomponents/p-1580beee.entry.js +0 -5
  901. package/dist/webcomponents/p-1b19b191.entry.js +0 -5
  902. package/dist/webcomponents/p-2baf353b.entry.js +0 -5
  903. package/dist/webcomponents/p-2eb9a42c.entry.js +0 -5
  904. package/dist/webcomponents/p-30c82805.entry.js +0 -5
  905. package/dist/webcomponents/p-31bd1c74.entry.js +0 -5
  906. package/dist/webcomponents/p-31db2313.entry.js +0 -5
  907. package/dist/webcomponents/p-33a3dc63.entry.js +0 -5
  908. package/dist/webcomponents/p-3889c51f.entry.js +0 -5
  909. package/dist/webcomponents/p-3f2c179a.entry.js +0 -5
  910. package/dist/webcomponents/p-470eb770.entry.js +0 -5
  911. package/dist/webcomponents/p-4ae387ae.entry.js +0 -5
  912. package/dist/webcomponents/p-4e65df84.entry.js +0 -5
  913. package/dist/webcomponents/p-51a62876.entry.js +0 -5
  914. package/dist/webcomponents/p-5860b96b.entry.js +0 -5
  915. package/dist/webcomponents/p-5b9c01e9.entry.js +0 -5
  916. package/dist/webcomponents/p-5df2f1dd.entry.js +0 -5
  917. package/dist/webcomponents/p-5f3f7b3f.entry.js +0 -5
  918. package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
  919. package/dist/webcomponents/p-5f9c28a7.entry.js +0 -5
  920. package/dist/webcomponents/p-62511921.entry.js +0 -5
  921. package/dist/webcomponents/p-63b52947.entry.js +0 -5
  922. package/dist/webcomponents/p-67a8e0b7.entry.js +0 -5
  923. package/dist/webcomponents/p-6OdfnwnK.js +0 -5
  924. package/dist/webcomponents/p-7b2a5fec.entry.js +0 -5
  925. package/dist/webcomponents/p-7f95e2f5.entry.js +0 -5
  926. package/dist/webcomponents/p-8128833c.entry.js +0 -5
  927. package/dist/webcomponents/p-8200ccb1.entry.js +0 -5
  928. package/dist/webcomponents/p-82b100fd.entry.js +0 -5
  929. package/dist/webcomponents/p-8806df15.entry.js +0 -5
  930. package/dist/webcomponents/p-881eb81a.entry.js +0 -5
  931. package/dist/webcomponents/p-8bd3d541.entry.js +0 -5
  932. package/dist/webcomponents/p-90648343.entry.js +0 -5
  933. package/dist/webcomponents/p-9100a5f7.entry.js +0 -5
  934. package/dist/webcomponents/p-91313d77.entry.js +0 -5
  935. package/dist/webcomponents/p-946b2ac0.entry.js +0 -5
  936. package/dist/webcomponents/p-98e7ccb9.entry.js +0 -5
  937. package/dist/webcomponents/p-99f2bddb.entry.js +0 -5
  938. package/dist/webcomponents/p-9adbdb0a.entry.js +0 -5
  939. package/dist/webcomponents/p-9c260049.entry.js +0 -5
  940. package/dist/webcomponents/p-9ed51017.entry.js +0 -5
  941. package/dist/webcomponents/p-BkS6ujyf.js +0 -5
  942. package/dist/webcomponents/p-C2RBydfd.js +0 -6
  943. package/dist/webcomponents/p-CO5cOQQU.js +0 -5
  944. package/dist/webcomponents/p-D3tVP32U.js +0 -5
  945. package/dist/webcomponents/p-DIK54tTj.js +0 -5
  946. package/dist/webcomponents/p-DRVMm1Py.js +0 -5
  947. package/dist/webcomponents/p-DxZJrIyL.js +0 -5
  948. package/dist/webcomponents/p-a0b299dd.entry.js +0 -5
  949. package/dist/webcomponents/p-a2c5fad0.entry.js +0 -5
  950. package/dist/webcomponents/p-a3e044d7.entry.js +0 -5
  951. package/dist/webcomponents/p-a9f23aa7.entry.js +0 -5
  952. package/dist/webcomponents/p-a9f2fcbc.entry.js +0 -5
  953. package/dist/webcomponents/p-b6c68136.entry.js +0 -5
  954. package/dist/webcomponents/p-b6e9b8d1.entry.js +0 -5
  955. package/dist/webcomponents/p-c333eac6.entry.js +0 -5
  956. package/dist/webcomponents/p-c3732fd6.entry.js +0 -5
  957. package/dist/webcomponents/p-c458ed0e.entry.js +0 -5
  958. package/dist/webcomponents/p-c91000ff.entry.js +0 -5
  959. package/dist/webcomponents/p-c9c6ab2d.entry.js +0 -5
  960. package/dist/webcomponents/p-cd2550d6.entry.js +0 -5
  961. package/dist/webcomponents/p-cf42613f.entry.js +0 -5
  962. package/dist/webcomponents/p-d0b0b420.entry.js +0 -5
  963. package/dist/webcomponents/p-d1b32ee8.entry.js +0 -5
  964. package/dist/webcomponents/p-db65b083.entry.js +0 -5
  965. package/dist/webcomponents/p-de7c101d.entry.js +0 -5
  966. package/dist/webcomponents/p-dfb77dd0.entry.js +0 -5
  967. package/dist/webcomponents/p-e258da78.entry.js +0 -5
  968. package/dist/webcomponents/p-e31ddd42.entry.js +0 -5
  969. package/dist/webcomponents/p-e8d82227.entry.js +0 -5
  970. package/dist/webcomponents/p-e988cf1d.entry.js +0 -5
  971. package/dist/webcomponents/p-ed9122a1.entry.js +0 -5
  972. package/dist/webcomponents/p-ee347d2e.entry.js +0 -5
  973. package/dist/webcomponents/p-f1c01d52.entry.js +0 -5
  974. package/dist/webcomponents/p-f5baf8be.entry.js +0 -5
  975. package/dist/webcomponents/p-fb593739.entry.js +0 -5
  976. package/dist/webcomponents/p-fff9acd4.entry.js +0 -5
  977. package/dist/webcomponents/p-gvnfuTjd.js +0 -5
@@ -4,17 +4,194 @@
4
4
  */
5
5
  'use strict';
6
6
 
7
- var index = require('./index-CRdcutym.js');
8
- var floatingUi_dom = require('./floating-ui.dom-BUSTaaxR.js');
9
- var clamp = require('./clamp-Co_hWptd.js');
7
+ var index = require('./index-Bc30P_6z.js');
8
+ var floatingUi_dom = require('./floating-ui.dom-wzdGZjyG.js');
9
+ var props = require('./props-D8dybmr0.js');
10
10
  var event = require('./event-CmVdNHxl.js');
11
- var validator = require('./validator-CTCajtT9.js');
12
- var id = require('./id-CjRFMzf6.js');
11
+ var validator = require('./validator-GkkueMOx.js');
12
+ var id = require('./id-DE4jSi-L.js');
13
+ var propWarning = require('./prop-warning-xvEHQz8H.js');
13
14
  var rafBatcher = require('./raf-batcher-yc87a4dS.js');
14
15
  var slot = require('./slot-DAllytTj.js');
15
16
 
16
- const sliderCss = () => `*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.help{font-size:var(--font-size-scale-base)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host{--slider-thumb-size:var(--spacing-scale-2xh, 20px);--slider-thumb-half:10px;display:block;width:100%}:host .br-slider{padding:var(--slider-thumb-half) 0;-webkit-user-select:none;user-select:none;touch-action:none}:host .br-slider.disabled .slider-track{cursor:not-allowed}:host .br-slider.disabled .slider-filled-track{background-color:var(--gray-30, #aaa)}:host .br-slider.disabled .slider-thumb{background-color:var(--pure-0, #fff);box-shadow:inset 0 0 0 1px var(--gray-40, #888);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10' stroke='%23636363' stroke-width='1.5'/%3E%3Cpath d='M6.34 17.66L17.66 6.34' stroke='%23636363' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-size:80%;background-position:center;background-repeat:no-repeat;cursor:not-allowed}:host .br-slider.disabled .slider-thumb:hover{box-shadow:none}:host .br-slider.disabled .slider-thumb:focus-visible{outline:none;box-shadow:none}:host .br-slider.disabled .slider-refs{opacity:var(--disabled, 0.45)}:host .br-slider.disabled .slider-input{cursor:not-allowed;pointer-events:none;opacity:var(--disabled, 0.45)}:host .slider-layout{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-scale-2x, 16px)}:host .slider-body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-scale-half, 4px)}:host .slider-track{position:relative;width:100%;height:4px;border-radius:2px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.br-slider.dragging :host .slider-track{cursor:grabbing}:host .slider-tick-labels{position:absolute;inset:0;pointer-events:none}:host .slider-tick-label{position:absolute;top:calc(100% + 4px);transform:translateX(-50%);white-space:nowrap;font-size:var(--font-size-scale-down-01, 12px)}:host .slider-track-visual{position:absolute;inset:0;background-color:var(--gray-20, #ccc);border-radius:2px;overflow:hidden}:host .slider-filled-track{position:absolute;top:0;left:0;height:100%;background-color:var(--blue-warm-vivid-50);border-radius:2px}:host .slider-thumb{position:absolute;top:50%;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background-color:var(--blue-warm-vivid-50);border-radius:50%;cursor:pointer;transform:translate(-50%, -50%);outline:none;z-index:1;transition:box-shadow .15s ease}:host .slider-thumb:hover{box-shadow:0 0 0 8px rgba(19,81,180,.16)}:host .slider-thumb:active,:host .slider-thumb.slider-thumb--active{box-shadow:0 0 0 8px rgba(19,81,180,.45);cursor:grabbing}:host .slider-thumb:focus-visible{z-index:2;box-shadow:0 0 0 3px var(--focus-color, var(--gold-vivid-20, #ffbe2e));outline:none}:host .slider-value-label{position:fixed;z-index:var(--z-index-layer-1);top:0;left:0;background:var(--blue-warm-vivid-50);color:#fff;padding:2px 8px;border-radius:4px;font-size:var(--font-size-scale-down-01, 12px);font-weight:var(--font-weight-semi-bold, 600);white-space:nowrap;pointer-events:none;line-height:1.5}:host .slider-value-label-arrow{position:absolute;width:8px;height:8px;background:var(--blue-warm-vivid-50);transform:rotate(45deg);pointer-events:none;z-index:-1}:host .slider-refs{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--gray-80);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular)}:host .slider-refs--hidden{display:none}:host .slider-refs .ref-start,:host .slider-refs .ref-end{display:flex;align-items:center;gap:var(--spacing-scale-half, 4px)}:host .slider-refs .ref-bound{font-weight:var(--font-weight-semi-bold, 600)}:host .slider-refs ::slotted(*){color:var(--gray-80);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular)}:host .slider-input-wrapper{flex-shrink:0}:host .slider-input{width:64px;padding:4px 8px;border:1px solid var(--gray-40, #888);border-radius:4px;font-size:var(--font-size-scale-base, 16px);text-align:center;color:var(--gray-80);background:rgba(0,0,0,0);outline:none;appearance:textfield}:host .slider-input:focus{border-color:var(--blue-warm-vivid-50);box-shadow:0 0 0 2px rgba(0,123,255,.2)}:host .slider-input::-webkit-inner-spin-button,:host .slider-input::-webkit-outer-spin-button{appearance:none;margin:0}:host([density=small]){--slider-thumb-size:var(--spacing-scale-2x, 16px);--slider-thumb-half:8px}:host([density=large]){--slider-thumb-size:var(--spacing-scale-3x, 24px);--slider-thumb-half:12px}:host([vertical]),:host([orientation=vertical]){width:auto;height:200px}:host([vertical]) .br-slider,:host([orientation=vertical]) .br-slider{padding:0 var(--slider-thumb-half);height:100%}:host([vertical]) .slider-layout,:host([orientation=vertical]) .slider-layout{flex-direction:column;align-items:flex-start;height:100%;gap:var(--spacing-scale-2x, 16px)}:host([vertical]) .slider-body,:host([orientation=vertical]) .slider-body{flex:1;flex-direction:row;min-height:0;gap:var(--spacing-scale-half, 4px)}:host([vertical]) .slider-track,:host([orientation=vertical]) .slider-track{width:4px;height:100%;flex-shrink:0}:host([vertical]) .slider-tick-label,:host([orientation=vertical]) .slider-tick-label{top:auto;left:calc(100% + 8px);transform:translateY(50%)}:host([vertical]) .slider-filled-track,:host([orientation=vertical]) .slider-filled-track{top:auto;bottom:0;left:0;width:100%;height:0}:host([vertical]) .slider-thumb,:host([orientation=vertical]) .slider-thumb{top:auto;left:50%;bottom:0;transform:translate(-50%, 50%)}:host([vertical]) .slider-refs,:host([orientation=vertical]) .slider-refs{flex-direction:column-reverse;justify-content:space-between;align-items:flex-start;height:100%}:host([vertical]) .slider-input-wrapper,:host([orientation=vertical]) .slider-input-wrapper{align-self:center}:host([vertical][show-input]),:host([orientation=vertical][show-input]){height:auto;min-height:200px}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}`;
17
+ const NAMED_COLORS = {
18
+ black: [0, 0, 0],
19
+ white: [255, 255, 255],
20
+ red: [229, 34, 7],
21
+ green: [22, 136, 33],
22
+ blue: [19, 81, 180],
23
+ yellow: [255, 205, 7],
24
+ orange: [255, 140, 0],
25
+ gray: [136, 136, 136],
26
+ grey: [136, 136, 136],
27
+ };
28
+ /**
29
+ * Converte string de cor (hex, rgb ou cor nomeada) em tupla [r, g, b].
30
+ */
31
+ function parseColor(raw) {
32
+ const str = raw.trim().toLowerCase();
33
+ if (NAMED_COLORS[str])
34
+ return NAMED_COLORS[str];
35
+ if (str.startsWith('#')) {
36
+ const hex = str.slice(1);
37
+ if (hex.length === 3) {
38
+ const r = Number.parseInt(hex[0] + hex[0], 16);
39
+ const g = Number.parseInt(hex[1] + hex[1], 16);
40
+ const b = Number.parseInt(hex[2] + hex[2], 16);
41
+ if (!Number.isNaN(r) && !Number.isNaN(g) && !Number.isNaN(b))
42
+ return [r, g, b];
43
+ }
44
+ else if (hex.length === 6) {
45
+ const r = Number.parseInt(hex.slice(0, 2), 16);
46
+ const g = Number.parseInt(hex.slice(2, 4), 16);
47
+ const b = Number.parseInt(hex.slice(4, 6), 16);
48
+ if (!Number.isNaN(r) && !Number.isNaN(g) && !Number.isNaN(b))
49
+ return [r, g, b];
50
+ }
51
+ }
52
+ const rgbMatch = str.match(/^rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);
53
+ if (rgbMatch) {
54
+ const r = Number.parseInt(rgbMatch[1], 10);
55
+ const g = Number.parseInt(rgbMatch[2], 10);
56
+ const b = Number.parseInt(rgbMatch[3], 10);
57
+ return [r, g, b];
58
+ }
59
+ return null;
60
+ }
61
+ /**
62
+ * Normaliza paradas de cor para interpolação dinâmica.
63
+ */
64
+ function parseGradientStops(gradient) {
65
+ // Gradiente padrão semântico: verde -> amarelo -> vermelho
66
+ const defaultStops = [
67
+ { r: 22, g: 136, b: 33, pos: 0 },
68
+ { r: 255, g: 205, b: 7, pos: 50 },
69
+ { r: 229, g: 34, b: 7, pos: 100 },
70
+ ];
71
+ if (gradient === true || gradient === '' || gradient === 'true') {
72
+ return defaultStops;
73
+ }
74
+ if (typeof gradient !== 'string') {
75
+ return defaultStops;
76
+ }
77
+ let cleaned = gradient.trim();
78
+ const linearMatch = cleaned.match(/linear-gradient\s*\((.*)\)/i);
79
+ if (linearMatch) {
80
+ cleaned = linearMatch[1];
81
+ // Remove direção inicial se houver (ex: "to right,")
82
+ cleaned = cleaned.replace(/^(to\s+[a-z\s]+|\d+deg)\s*,\s*/i, '');
83
+ }
84
+ // Divide por vírgulas preservando rgb(...)
85
+ const rawParts = cleaned.split(/,(?![^(]*\))/);
86
+ const stops = [];
87
+ for (const part of rawParts) {
88
+ const trimmed = part.trim();
89
+ if (!trimmed)
90
+ continue;
91
+ const posMatch = trimmed.match(/\s+(\d+(?:\.\d+)?)\s*%\s*$/);
92
+ const pos = posMatch ? Number.parseFloat(posMatch[1]) : undefined;
93
+ const colorStr = posMatch ? trimmed.slice(0, posMatch.index).trim() : trimmed;
94
+ const rgb = parseColor(colorStr);
95
+ if (rgb) {
96
+ stops.push({ rgb, pos });
97
+ }
98
+ }
99
+ if (stops.length < 2)
100
+ return defaultStops;
101
+ return stops.map((item, index) => ({
102
+ r: item.rgb[0],
103
+ g: item.rgb[1],
104
+ b: item.rgb[2],
105
+ pos: item.pos !== undefined ? item.pos : (index / (stops.length - 1)) * 100,
106
+ }));
107
+ }
108
+ /**
109
+ * Calcula a cor interpolada em uma determinada porcentagem (0 a 100).
110
+ */
111
+ function interpolateGradientColor(stops, percent) {
112
+ if (!stops.length)
113
+ return 'rgb(19, 81, 180)';
114
+ const clamped = Math.max(0, Math.min(100, percent));
115
+ if (clamped <= stops[0].pos) {
116
+ return `rgb(${stops[0].r}, ${stops[0].g}, ${stops[0].b})`;
117
+ }
118
+ if (clamped >= stops[stops.length - 1].pos) {
119
+ const last = stops[stops.length - 1];
120
+ return `rgb(${last.r}, ${last.g}, ${last.b})`;
121
+ }
122
+ for (let i = 0; i < stops.length - 1; i++) {
123
+ const s1 = stops[i];
124
+ const s2 = stops[i + 1];
125
+ if (clamped >= s1.pos && clamped <= s2.pos) {
126
+ const range = s2.pos - s1.pos;
127
+ const factor = range === 0 ? 0 : (clamped - s1.pos) / range;
128
+ const r = Math.round(s1.r + (s2.r - s1.r) * factor);
129
+ const g = Math.round(s1.g + (s2.g - s1.g) * factor);
130
+ const b = Math.round(s1.b + (s2.b - s1.b) * factor);
131
+ return `rgb(${r}, ${g}, ${b})`;
132
+ }
133
+ }
134
+ const last = stops[stops.length - 1];
135
+ return `rgb(${last.r}, ${last.g}, ${last.b})`;
136
+ }
137
+ /**
138
+ * Converte paradas de cor em string linear-gradient CSS.
139
+ */
140
+ function buildGradientCss(stops, direction) {
141
+ const parts = stops.map((s) => `rgb(${s.r}, ${s.g}, ${s.b}) ${s.pos.toFixed(1)}%`);
142
+ return `linear-gradient(${direction}, ${parts.join(', ')})`;
143
+ }
144
+ function parseStepItem(item) {
145
+ if (typeof item !== 'object' || item === null || !('value' in item))
146
+ return null;
147
+ const stepObj = item;
148
+ return {
149
+ value: Number(stepObj.value),
150
+ label: stepObj.label !== undefined ? String(stepObj.label) : undefined,
151
+ icon: stepObj.icon !== undefined ? String(stepObj.icon) : undefined,
152
+ ariaLabel: stepObj.ariaLabel !== undefined ? String(stepObj.ariaLabel) : undefined,
153
+ };
154
+ }
155
+ function parseStringSteps(items, min, max) {
156
+ const count = items.length;
157
+ const stepDiff = count > 1 ? (max - min) / (count - 1) : 0;
158
+ return items.map((item, index) => ({
159
+ value: Number((min + index * stepDiff).toFixed(4)),
160
+ label: String(item),
161
+ }));
162
+ }
163
+ /**
164
+ * Normaliza a propriedade `steps` (array de objetos, array de strings ou JSON string).
165
+ */
166
+ function normalizeSteps(raw, min, max) {
167
+ if (!raw)
168
+ return [];
169
+ let parsed = raw;
170
+ if (typeof raw === 'string') {
171
+ try {
172
+ parsed = JSON.parse(raw);
173
+ }
174
+ catch {
175
+ return [];
176
+ }
177
+ }
178
+ if (!Array.isArray(parsed) || parsed.length === 0)
179
+ return [];
180
+ if (typeof parsed[0] === 'string') {
181
+ return parseStringSteps(parsed, min, max);
182
+ }
183
+ const result = [];
184
+ for (const item of parsed) {
185
+ const parsedItem = parseStepItem(item);
186
+ if (parsedItem)
187
+ result.push(parsedItem);
188
+ }
189
+ return result.sort((a, b) => a.value - b.value);
190
+ }
17
191
 
192
+ const sliderCss = () => `*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-out{animation-timing-function:cubic-bezier(0, 0, 0.58, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fast{animation-duration:var(--duration-fast)}.slow{animation-duration:var(--duration-slow)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}fieldset[disabled]{opacity:1}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}pre,.pre{background:var(--gray-5);margin:var(--spacing-scale-2x) 0 var(--spacing-scale-4x);padding:var(--spacing-scale-2x)}pre code,.pre code{display:inline;padding:0}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}@media (prefers-reduced-motion: reduce){:host,:host::before,:host::after,:host *,:host *::before,:host *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}}:host-context([data-wbc-reduced-motion=true])::before,:host-context([data-wbc-reduced-motion=true])::after,:host-context([data-wbc-reduced-motion=true]) *,:host-context([data-wbc-reduced-motion=true]) *::before,:host-context([data-wbc-reduced-motion=true]) *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}:host{--slider-thumb-size:var(--spacing-scale-2xh, 20px);--slider-thumb-half:10px;display:block;width:100%}:host([density=small]),:host([density=high]){--slider-thumb-size:var(--spacing-scale-2x, 16px);--slider-thumb-half:8px}:host([density=medium]){--slider-thumb-size:var(--spacing-scale-2xh, 20px);--slider-thumb-half:10px}:host([density=large]),:host([density=low]){--slider-thumb-size:var(--spacing-scale-3x, 24px);--slider-thumb-half:12px}:host .br-slider{padding:var(--slider-thumb-half) 0;-webkit-user-select:none;user-select:none;touch-action:none}:host .br-slider.disabled .slider-track{cursor:not-allowed}:host .br-slider.disabled .slider-filled-track{background-color:var(--gray-30, #aaa)}:host .br-slider.disabled .slider-thumb{cursor:not-allowed}:host .br-slider.disabled .slider-thumb.slider-thumb--has-icon{background-color:rgba(0,0,0,0) !important;color:var(--gray-60, #717171)}:host .br-slider.disabled .slider-thumb:hover{box-shadow:none}:host .br-slider.disabled .slider-thumb:focus-visible{outline:none;box-shadow:none}:host .br-slider.disabled .slider-refs{opacity:var(--disabled, 0.45)}:host .br-slider.disabled .slider-input{cursor:not-allowed;pointer-events:none;opacity:var(--disabled, 0.45)}:host .slider-label{color:var(--gray-80);display:block;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-scale-half, 4px)}:host .slider-layout{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-scale-2x, 16px)}:host .slider-body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-scale-half, 4px)}:host .slider-track{position:relative;width:100%;height:4px;border-radius:2px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.br-slider.dragging :host .slider-track{cursor:grabbing}:host .slider-tick-labels{position:absolute;inset:0;pointer-events:none}:host .slider-tick-label{position:absolute;top:calc(100% + 4px);transform:translateX(-50%);white-space:nowrap;font-size:var(--font-size-scale-down-01, 12px)}:host .slider-track-visual{position:absolute;inset:0;background-color:var(--gray-20, #ccc);border-radius:2px;overflow:hidden}:host .slider-filled-track{position:absolute;top:0;left:0;height:100%;background-color:var(--blue-warm-vivid-50);border-radius:2px}:host .slider-thumb{position:absolute;top:50%;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background-color:var(--blue-warm-vivid-50);border-radius:50%;cursor:pointer;transform:translate(-50%, -50%);outline:none;z-index:1;display:inline-flex;align-items:center;justify-content:center;color:var(--blue-warm-vivid-50)}:host .slider-thumb .slider-thumb-icon,:host .slider-thumb ::slotted([slot^=thumb]){color:var(--pure-0, #fff);font-size:calc(var(--slider-thumb-size)*.55);width:calc(var(--slider-thumb-size)*.55);height:calc(var(--slider-thumb-size)*.55);pointer-events:none;display:inline-flex;align-items:center;justify-content:center}:host .slider-thumb.slider-thumb--has-icon{background-color:rgba(0,0,0,0) !important;border:none}:host .slider-thumb.slider-thumb--has-icon .slider-thumb-icon,:host .slider-thumb.slider-thumb--has-icon ::slotted([slot^=thumb]){color:inherit;font-size:var(--slider-thumb-size);width:var(--slider-thumb-size);height:var(--slider-thumb-size)}:host .slider-thumb{transition:none}@media (prefers-reduced-motion: no-preference){:host .slider-thumb{transition:box-shadow var(--duration-very-fast, 100ms) var(--animation-ease, ease)}}:host .slider-thumb:hover{box-shadow:0 0 0 8px rgba(19,81,180,.16)}:host .slider-thumb:active,:host .slider-thumb.slider-thumb--active{box-shadow:0 0 0 8px rgba(19,81,180,.45);cursor:grabbing}:host .slider-thumb:focus-visible{z-index:2;box-shadow:0 0 0 3px var(--focus-color, var(--gold-vivid-20, #ffbe2e));outline:none}:host .slider-value-label{position:fixed;z-index:var(--z-index-layer-1);top:0;left:0;background:var(--blue-warm-vivid-50);color:#fff;padding:2px 8px;border-radius:4px;font-size:var(--font-size-scale-down-01, 12px);font-weight:var(--font-weight-semi-bold, 600);white-space:nowrap;pointer-events:none;line-height:1.5}:host .slider-value-label-arrow{position:absolute;width:8px;height:8px;background:var(--blue-warm-vivid-50);transform:rotate(45deg);pointer-events:none;z-index:-1}:host .slider-refs{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--gray-80);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular)}:host .slider-refs--hidden{display:none}:host .slider-refs .ref-start,:host .slider-refs .ref-end{display:flex;align-items:center;gap:var(--spacing-scale-half, 4px)}:host .slider-refs .ref-bound{font-weight:var(--font-weight-semi-bold, 600)}:host .slider-refs ::slotted(*){color:var(--gray-80);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular)}:host .slider-steps{position:relative;width:100%;min-height:24px;margin-top:var(--spacing-scale-half, 4px)}:host .slider-step{position:absolute;top:0;transform:translateX(-50%);background:rgba(0,0,0,0);border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-60, #636363);transition:none}@media (prefers-reduced-motion: no-preference){:host .slider-step{transition:color var(--duration-fast, 200ms) var(--animation-ease, ease),transform var(--duration-fast, 200ms) var(--animation-ease, ease)}}:host .slider-step:hover:not(:disabled){color:var(--blue-warm-vivid-50);transform:translateX(-50%) scale(1.15)}:host .slider-step--active{color:var(--blue-warm-vivid-50)}:host .slider-step:disabled{cursor:not-allowed;opacity:var(--disabled, 0.45)}:host .slider-step .slider-step-icon{font-size:20px;width:20px;height:20px}:host .slider-step .slider-step-label{font-size:var(--font-size-scale-down-01, 12px);white-space:nowrap}:host .slider-input-wrapper{display:flex;flex-shrink:0}:host br-input.slider-input{display:block;margin-bottom:0;width:80px}:host([disabled]){opacity:1 !important}:host([vertical]),:host([orientation=vertical]){width:fit-content;height:200px}:host([vertical]) .br-slider,:host([orientation=vertical]) .br-slider{padding:0 var(--slider-thumb-half);height:100%}:host([vertical]) .slider-layout,:host([orientation=vertical]) .slider-layout{flex-direction:column;align-items:flex-start;height:100%;gap:var(--spacing-scale-2x, 16px)}:host([vertical]) .slider-body,:host([orientation=vertical]) .slider-body{flex:1;flex-direction:row;min-height:0;gap:var(--spacing-scale-2x, 16px)}:host([vertical]) .slider-track,:host([orientation=vertical]) .slider-track{width:4px;height:100%;flex-shrink:0}:host([vertical]) .slider-tick-label,:host([orientation=vertical]) .slider-tick-label{top:auto;left:calc(100% + 8px);transform:translateY(50%)}:host([vertical]) .slider-filled-track,:host([orientation=vertical]) .slider-filled-track{top:auto;bottom:0;left:0;width:100%;height:0}:host([vertical]) .slider-thumb,:host([orientation=vertical]) .slider-thumb{top:auto;left:50%;bottom:0;transform:translate(-50%, 50%)}:host([vertical]) .slider-refs,:host([orientation=vertical]) .slider-refs{flex-direction:column-reverse;justify-content:space-between;align-items:flex-start;height:100%}:host([vertical]) .slider-steps,:host([orientation=vertical]) .slider-steps{position:relative;width:24px;height:100%;margin-top:0;margin-left:var(--spacing-scale-half, 4px)}:host([vertical]) .slider-steps .slider-step,:host([orientation=vertical]) .slider-steps .slider-step{top:auto;left:0;transform:translateY(50%)}:host([vertical]) .slider-steps .slider-step:hover:not(:disabled),:host([orientation=vertical]) .slider-steps .slider-step:hover:not(:disabled){transform:translateY(50%) scale(1.15)}:host([vertical]) .slider-input-wrapper,:host([orientation=vertical]) .slider-input-wrapper{align-self:center}:host([vertical][show-input]) .slider-layout,:host([orientation=vertical][show-input]) .slider-layout{position:relative}:host([vertical][show-input]) .slider-body,:host([orientation=vertical][show-input]) .slider-body{box-sizing:border-box;padding-top:calc(var(--spacing-scale-4x, 32px) + var(--spacing-scale-2x, 16px))}:host([vertical][show-input]) .slider-input-wrapper,:host([orientation=vertical][show-input]) .slider-input-wrapper{position:absolute;left:50%;transform:translateX(-50%)}:host([vertical][show-input]) .slider-input-wrapper--start,:host([orientation=vertical][show-input]) .slider-input-wrapper--start{top:0}:host([vertical][show-input]) .slider-input-wrapper--end,:host([orientation=vertical][show-input]) .slider-input-wrapper--end{bottom:0}:host([vertical][show-input][range]) .slider-body,:host([orientation=vertical][show-input][range]) .slider-body{padding-bottom:calc(var(--spacing-scale-4x, 32px) + var(--spacing-scale-2x, 16px))}`;
193
+
194
+ const SLIDER_ORIENTATIONS = ['horizontal', 'vertical'];
18
195
  const Slider = class {
19
196
  constructor(hostRef) {
20
197
  index.registerInstance(this, hostRef);
@@ -42,6 +219,9 @@ const Slider = class {
42
219
  */
43
220
  this.hasRefStart = false;
44
221
  this.hasFeedbackSlot = false;
222
+ this.hasThumbIconSlot = false;
223
+ this.hasThumbStartIconSlot = false;
224
+ this.hasThumbEndIconSlot = false;
45
225
  this.customValidationMessage = '';
46
226
  this.validatorMessage = null;
47
227
  this.isValidating = false;
@@ -51,24 +231,26 @@ const Slider = class {
51
231
  */
52
232
  this.customId = id.generateUniqueId();
53
233
  /**
54
- * Valor mínimo aceito pelo slider.
234
+ * Valor mínimo aceito pelo slider. Valores inválidos usam `0`.
55
235
  */
56
236
  this.min = 0;
57
237
  /**
58
- * Valor máximo aceito pelo slider.
238
+ * Valor máximo aceito pelo slider. Deve ser maior que `min`; valores inválidos usam `100` e relações inválidas usam `min + 100`.
59
239
  */
60
240
  this.max = 100;
61
241
  /**
62
- * Incremento aplicado a cada passo.
242
+ * Incremento aplicado a cada passo. Deve ser maior que `0`; valores inválidos usam `1`.
63
243
  */
64
244
  this.step = 1;
65
245
  /**
66
- * Valor atual do slider (alça inicial no modo composto).
246
+ * Valor atual do slider (alça inicial no modo composto). Valores não finitos usam o limite mínimo;
247
+ * valores fora do intervalo são limitados.
67
248
  */
68
249
  this.value = 0;
69
250
  /**
70
251
  * Valor da alça final no modo composto (`range`).
71
- * Quando não fornecido em modo composto, assume o valor de `max`.
252
+ * Quando não fornecido em modo composto, assume o valor de `max`. Valores não finitos usam `max`,
253
+ * valores fora do intervalo são limitados.
72
254
  * @deprecated Use `rangeValue`.
73
255
  */
74
256
  this.valueEnd = NaN;
@@ -76,11 +258,6 @@ const Slider = class {
76
258
  * Desativa o slider, tornando-o não interativo.
77
259
  */
78
260
  this.disabled = false;
79
- /**
80
- * Densidade da alça de controle.
81
- * `small` = 16px (desktop compacto), `medium` = 20px (desktop padrão), `large` = 24px (mobile).
82
- */
83
- this.density = 'medium';
84
261
  /**
85
262
  * Exibe o slider na orientação vertical.
86
263
  * @deprecated Use `orientation`.
@@ -96,8 +273,11 @@ const Slider = class {
96
273
  */
97
274
  this.showLabel = false;
98
275
  /**
99
- * Exibe campo de entrada numérico sincronizado com a alça.
100
- * Quando ativo, a etiqueta de valor não é exibida.
276
+ * Exibe um `br-input` numérico sincronizado com a alça.
277
+ * No modo `range`, exibe um campo para o início e outro para o fim; na
278
+ * orientação horizontal ficam nas extremidades esquerda e direita, e na
279
+ * vertical ficam acima e abaixo da trilha. Quando ativo, a etiqueta de valor
280
+ * não é exibida.
101
281
  */
102
282
  this.showInput = false;
103
283
  /**
@@ -115,7 +295,14 @@ const Slider = class {
115
295
  * Quando ativo, sobrescreve o conteúdo dos slots `ref-start` e `ref-end`.
116
296
  */
117
297
  this.showBounds = false;
118
- this.inputEditing = false;
298
+ /**
299
+ * Densidade visual do componente.
300
+ * Altera exclusivamente as dimensões da alça de controle (thumb).
301
+ * Valores aceitos: 'small' (16px), 'medium' (20px - padrão), 'large' (24px).
302
+ * 'high' e 'low' são aceitos como sinônimos de 'small' e 'large'.
303
+ */
304
+ this.density = 'medium';
305
+ this.inputEditing = null;
119
306
  this.draggingThumb = 'start';
120
307
  this.tickValuesCacheKey = '';
121
308
  this.tickValuesCache = [];
@@ -170,31 +357,65 @@ const Slider = class {
170
357
  event.dispatchNativeFormEvent(this.el, 'change');
171
358
  void this.validate();
172
359
  };
173
- this.handleInputInput = (event$1) => {
174
- this.inputEditing = true;
175
- const parsed = parseFloat(event$1.target.value);
360
+ this.handleInputInput = (event$1, thumb) => {
361
+ this.inputEditing = thumb;
362
+ const input = event$1.currentTarget;
363
+ const parsed = Number.parseFloat(input.value ?? '');
176
364
  if (!Number.isNaN(parsed)) {
177
- const next = this.clamp(parsed);
178
- if (next !== this.value) {
179
- this.value = next;
180
- this.brDidChangeValue.emit(this.value);
365
+ const { current, min, max } = this.getInputValueState(thumb);
366
+ if (parsed >= min && parsed <= max && parsed !== current) {
367
+ this.updateValueFromInput(thumb, parsed);
181
368
  }
182
369
  }
183
370
  event.redispatchNativeFormEvent(this.el, event$1, 'input');
184
371
  };
185
- this.handleInputBlur = (event$1) => {
186
- this.inputEditing = false;
187
- const raw = event$1.target.value;
188
- const parsed = parseFloat(raw);
189
- const next = Number.isNaN(parsed) ? this.value : this.snapToStep(this.clamp(parsed));
190
- if (next !== this.value) {
191
- this.value = next;
192
- this.brDidChangeValue.emit(this.value);
193
- }
194
- event$1.target.value = String(this.value);
372
+ this.handleInputChange = (event$1, thumb) => {
373
+ event$1.stopPropagation();
374
+ const input = event$1.currentTarget;
375
+ const { current, min, max } = this.getInputValueState(thumb);
376
+ const parsed = Number.parseFloat(input.value ?? '');
377
+ const next = Number.isNaN(parsed) ? current : this.snapToStep(this.clamp(parsed, max, min));
378
+ this.inputEditing = null;
379
+ if (next !== current)
380
+ this.updateValueFromInput(thumb, next);
381
+ input.value = String(next);
195
382
  event.dispatchNativeFormEvent(this.el, 'change');
196
383
  void this.validate();
197
384
  };
385
+ this.handleStepClick = (val) => {
386
+ if (this.isDisabled())
387
+ return;
388
+ if (this.range) {
389
+ const distStart = Math.abs(val - this.value);
390
+ const distEnd = Math.abs(val - this.valueEnd);
391
+ if (distStart <= distEnd) {
392
+ if (val !== this.value) {
393
+ this.value = val;
394
+ this.brDidChangeValue.emit(this.value);
395
+ this.syncRangeValue();
396
+ event.dispatchNativeFormEvent(this.el, 'input');
397
+ event.dispatchNativeFormEvent(this.el, 'change');
398
+ void this.validate();
399
+ }
400
+ }
401
+ else if (val !== this.valueEnd) {
402
+ this.valueEnd = val;
403
+ this.brDidChangeValueEnd.emit(this.valueEnd);
404
+ this.syncRangeValue();
405
+ event.dispatchNativeFormEvent(this.el, 'input');
406
+ event.dispatchNativeFormEvent(this.el, 'change');
407
+ void this.validate();
408
+ }
409
+ }
410
+ else if (val !== this.value) {
411
+ this.value = val;
412
+ this.brDidChangeValue.emit(this.value);
413
+ this.syncRangeValue();
414
+ event.dispatchNativeFormEvent(this.el, 'input');
415
+ event.dispatchNativeFormEvent(this.el, 'change');
416
+ void this.validate();
417
+ }
418
+ };
198
419
  }
199
420
  formDisabledCallback(disabled) {
200
421
  this.formDisabled = disabled;
@@ -216,16 +437,43 @@ const Slider = class {
216
437
  if (this.range && !Number.isNaN(end))
217
438
  this.valueEnd = end;
218
439
  }
440
+ get effectiveMin() {
441
+ return props.resolveNumberPropValue(this.el, 'min', this.min, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0);
442
+ }
443
+ get effectiveMax() {
444
+ const min = this.effectiveMin;
445
+ const max = props.resolveNumberPropValue(this.el, 'max', this.max, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 100);
446
+ if (max > min)
447
+ return max;
448
+ propWarning.reportInvalidPropValue(this.el, 'max', this.max, 'O valor deve ser maior que "min".', `Aplicando o fallback ${min + 100}.`);
449
+ return min + 100;
450
+ }
451
+ get effectiveStep() {
452
+ const step = props.resolveNumberPropValue(this.el, 'step', this.step, 0, Number.MAX_SAFE_INTEGER, 1);
453
+ if (step > 0)
454
+ return step;
455
+ propWarning.reportInvalidPropValue(this.el, 'step', this.step, 'O valor deve ser maior que 0.', 'Aplicando o fallback 1.');
456
+ return 1;
457
+ }
458
+ get effectiveValue() {
459
+ return props.resolveNumberPropValue(this.el, 'value', this.value, this.effectiveMin, this.effectiveMax, this.effectiveMin);
460
+ }
461
+ get effectiveValueEnd() {
462
+ if (!this.range || Number.isNaN(this.valueEnd))
463
+ return this.effectiveMax;
464
+ return props.resolveNumberPropValue(this.el, 'valueEnd', this.valueEnd, this.effectiveMin, this.effectiveMax, this.effectiveMax);
465
+ }
219
466
  onValueChange(newValue) {
220
- const numericMax = this.range && !Number.isNaN(this.valueEnd) ? this.valueEnd : this.max;
221
- const clamped = this.clamp(newValue, numericMax);
467
+ const normalized = this.effectiveValue;
468
+ const numericMax = this.range ? this.effectiveValueEnd : this.effectiveMax;
469
+ const clamped = this.clamp(normalized, numericMax);
222
470
  if (clamped !== newValue) {
223
471
  this.value = clamped;
224
472
  return;
225
473
  }
226
474
  this.elementInternals?.setFormValue(this.getFormValue());
227
- if (this.inputEl && !this.inputEditing) {
228
- this.inputEl.value = String(clamped);
475
+ if (this.inputStartEl && this.inputEditing !== 'start') {
476
+ this.inputStartEl.value = String(clamped);
229
477
  }
230
478
  this.syncRangeValue();
231
479
  this.updateValidity();
@@ -233,28 +481,35 @@ const Slider = class {
233
481
  onValueEndChange(newValue) {
234
482
  if (!this.range)
235
483
  return;
236
- const clamped = this.clamp(newValue, this.max, this.value);
484
+ const clamped = this.clamp(this.effectiveValueEnd, this.effectiveMax, this.effectiveValue);
237
485
  if (clamped !== newValue) {
238
486
  this.valueEnd = clamped;
239
487
  return;
240
488
  }
241
489
  this.elementInternals?.setFormValue(this.getFormValue());
490
+ if (this.inputEndEl && this.inputEditing !== 'end') {
491
+ this.inputEndEl.value = String(clamped);
492
+ }
242
493
  this.syncRangeValue();
243
494
  this.updateValidity();
244
495
  }
245
496
  onRangeValueChange(newValue) {
246
497
  if (!this.range || !newValue)
247
498
  return;
499
+ if (typeof newValue !== 'object' || !Number.isFinite(newValue.start) || !Number.isFinite(newValue.end)) {
500
+ propWarning.reportInvalidPropValue(this.el, 'rangeValue', newValue, 'Informe um objeto com `start` e `end` numéricos finitos.', 'Mantendo o último intervalo efetivo.');
501
+ this.syncRangeValue();
502
+ return;
503
+ }
248
504
  if (newValue.start !== this.value)
249
505
  this.value = newValue.start;
250
506
  if (newValue.end !== this.valueEnd)
251
507
  this.valueEnd = newValue.end;
252
508
  }
253
509
  componentWillLoad() {
254
- this.value = this.clamp(this.value);
510
+ this.value = this.effectiveValue;
255
511
  if (this.range) {
256
- const endVal = Number.isNaN(this.valueEnd) ? this.max : this.valueEnd;
257
- this.valueEnd = Math.max(this.value, this.clamp(endVal));
512
+ this.valueEnd = Math.max(this.value, this.effectiveValueEnd);
258
513
  }
259
514
  this.elementInternals?.setFormValue(this.getFormValue());
260
515
  this.initialValue = this.value;
@@ -263,23 +518,31 @@ const Slider = class {
263
518
  }
264
519
  componentDidLoad() {
265
520
  this.hasFeedbackSlot = this.el.querySelector('[slot="feedback"]') !== null;
521
+ this.hasThumbIconSlot = this.el.querySelector('[slot="thumb-icon"]') !== null;
522
+ this.hasThumbStartIconSlot = this.el.querySelector('[slot="thumb-start-icon"]') !== null;
523
+ this.hasThumbEndIconSlot = this.el.querySelector('[slot="thumb-end-icon"]') !== null;
266
524
  const root = this.el.shadowRoot;
267
525
  if (root) {
526
+ const slotMap = {
527
+ 'ref-start': (filled) => (this.hasRefStart = filled),
528
+ 'ref-end': (filled) => (this.hasRefEnd = filled),
529
+ 'thumb-icon': (filled) => (this.hasThumbIconSlot = filled),
530
+ 'thumb-start-icon': (filled) => (this.hasThumbStartIconSlot = filled),
531
+ 'thumb-end-icon': (filled) => (this.hasThumbEndIconSlot = filled),
532
+ };
268
533
  root.querySelectorAll('slot[name]').forEach((slot) => {
269
- const update = () => {
270
- const filled = slot.assignedNodes({ flatten: true }).length > 0;
271
- if (slot.name === 'ref-start')
272
- this.hasRefStart = filled;
273
- else if (slot.name === 'ref-end')
274
- this.hasRefEnd = filled;
275
- };
534
+ const handler = slotMap[slot.name];
535
+ if (!handler)
536
+ return;
537
+ const update = () => handler(slot.assignedNodes({ flatten: true }).length > 0);
276
538
  update();
277
539
  slot.addEventListener('slotchange', update);
278
540
  });
279
541
  }
280
- if (this.inputEl) {
281
- this.inputEl.value = String(this.value);
282
- }
542
+ if (this.inputStartEl)
543
+ this.inputStartEl.value = String(this.value);
544
+ if (this.inputEndEl)
545
+ this.inputEndEl.value = String(this.valueEnd);
283
546
  requestAnimationFrame(() => this.setupLabelAutoUpdate());
284
547
  }
285
548
  componentDidUpdate() {
@@ -330,7 +593,10 @@ const Slider = class {
330
593
  return validator.getFormValidationState(this.elementInternals);
331
594
  }
332
595
  get effectiveVertical() {
333
- return this.orientation === undefined ? this.vertical : this.orientation === 'vertical';
596
+ if (this.orientation === undefined)
597
+ return this.vertical;
598
+ const orientation = props.resolveAllowedPropValue(this.el, 'orientation', this.orientation, SLIDER_ORIENTATIONS, 'horizontal');
599
+ return orientation === 'vertical';
334
600
  }
335
601
  setupLabelAutoUpdate() {
336
602
  const showValueLabel = this.showLabel && !this.showInput;
@@ -406,32 +672,82 @@ const Slider = class {
406
672
  return;
407
673
  this.rangeValue = { start: this.value, end: this.valueEnd };
408
674
  }
409
- clamp(value, max = this.max, min = this.min) {
410
- return clamp.clampNumber(value, min, max, min);
675
+ get normalizedSteps() {
676
+ return normalizeSteps(this.steps, this.effectiveMin, this.effectiveMax);
677
+ }
678
+ get hasGradient() {
679
+ return (this.gradient === true ||
680
+ (typeof this.gradient === 'string' && this.gradient !== 'false' && this.gradient.trim() !== ''));
681
+ }
682
+ get gradientStops() {
683
+ return parseGradientStops(this.gradient ?? false);
684
+ }
685
+ getGradientColorAt(val) {
686
+ if (!this.hasGradient)
687
+ return undefined;
688
+ const pct = this.percentOf(val);
689
+ return interpolateGradientColor(this.gradientStops, pct);
690
+ }
691
+ getGradientCss(direction) {
692
+ return buildGradientCss(this.gradientStops, direction);
693
+ }
694
+ clamp(value, max = this.effectiveMax, min = this.effectiveMin) {
695
+ return props.clampNumber(value, min, max, min);
411
696
  }
412
697
  snapToStep(value) {
413
- const stepped = Math.round((value - this.min) / this.step) * this.step + this.min;
698
+ const steps = this.normalizedSteps;
699
+ if (steps.length > 0) {
700
+ let closest = steps[0].value;
701
+ let minDiff = Math.abs(value - closest);
702
+ for (const s of steps) {
703
+ const diff = Math.abs(value - s.value);
704
+ if (diff < minDiff) {
705
+ minDiff = diff;
706
+ closest = s.value;
707
+ }
708
+ }
709
+ return this.clamp(closest);
710
+ }
711
+ const stepped = Math.round((value - this.effectiveMin) / this.effectiveStep) * this.effectiveStep + this.effectiveMin;
414
712
  return this.clamp(Number(stepped.toFixed(10)));
415
713
  }
416
714
  percent() {
417
715
  return this.percentOf(this.value);
418
716
  }
419
717
  percentOf(val) {
420
- if (this.max === this.min)
718
+ if (this.effectiveMax === this.effectiveMin)
421
719
  return 0;
422
- return ((val - this.min) / (this.max - this.min)) * 100;
720
+ return ((val - this.effectiveMin) / (this.effectiveMax - this.effectiveMin)) * 100;
721
+ }
722
+ applyGradientToFilledStyle(style, pctStart, span) {
723
+ if (!this.hasGradient)
724
+ return;
725
+ const dir = this.effectiveVertical ? 'to top' : 'to right';
726
+ style.background = this.getGradientCss(dir);
727
+ if (span <= 0)
728
+ return;
729
+ const bgSize = `${(10000 / span).toFixed(2)}%`;
730
+ style.backgroundSize = this.effectiveVertical ? `100% ${bgSize}` : `${bgSize} 100%`;
731
+ if (pctStart > 0) {
732
+ const bgPos = `${((-pctStart * 100) / span).toFixed(2)}%`;
733
+ style.backgroundPosition = this.effectiveVertical ? `0% ${bgPos}` : `${bgPos} 0%`;
734
+ }
423
735
  }
424
736
  getFilledStyle() {
425
737
  if (!this.range) {
426
738
  const pct = this.percent();
427
- return this.effectiveVertical ? { height: `${pct}%` } : { width: `${pct}%` };
739
+ const style = this.effectiveVertical ? { height: `${pct}%` } : { width: `${pct}%` };
740
+ this.applyGradientToFilledStyle(style, 0, pct);
741
+ return style;
428
742
  }
429
743
  const pctStart = this.percent();
430
744
  const pctEnd = this.percentOf(this.valueEnd);
431
- if (this.effectiveVertical) {
432
- return { bottom: `${pctStart}%`, height: `${pctEnd - pctStart}%` };
433
- }
434
- return { left: `${pctStart}%`, width: `${pctEnd - pctStart}%` };
745
+ const span = pctEnd - pctStart;
746
+ const style = this.effectiveVertical
747
+ ? { bottom: `${pctStart}%`, height: `${span}%` }
748
+ : { left: `${pctStart}%`, width: `${span}%` };
749
+ this.applyGradientToFilledStyle(style, pctStart, span);
750
+ return style;
435
751
  }
436
752
  getTrackMaskStyle() {
437
753
  if (!this.showTicks || !this.getTickValues().length)
@@ -451,18 +767,21 @@ const Slider = class {
451
767
  return { 'mask-image': gradient, '-webkit-mask-image': gradient };
452
768
  }
453
769
  getTickValues() {
454
- const cacheKey = `${this.min}|${this.max}|${this.step}`;
770
+ if (this.normalizedSteps.length > 0) {
771
+ return this.normalizedSteps.map((s) => s.value);
772
+ }
773
+ const cacheKey = `${this.effectiveMin}|${this.effectiveMax}|${this.effectiveStep}`;
455
774
  if (cacheKey === this.tickValuesCacheKey)
456
775
  return this.tickValuesCache;
457
776
  this.tickValuesCacheKey = cacheKey;
458
- if (this.max <= this.min || this.step <= 0 || !Number.isFinite(this.step)) {
777
+ if (this.effectiveMax <= this.effectiveMin || this.effectiveStep <= 0 || !Number.isFinite(this.effectiveStep)) {
459
778
  this.tickValuesCache = [];
460
779
  return this.tickValuesCache;
461
780
  }
462
- const count = Math.floor((this.max - this.min) / this.step);
463
- const hasUnalignedMax = Number((this.max - this.min) / this.step) % 1 !== 0;
781
+ const count = Math.floor((this.effectiveMax - this.effectiveMin) / this.effectiveStep);
782
+ const hasUnalignedMax = Number((this.effectiveMax - this.effectiveMin) / this.effectiveStep) % 1 !== 0;
464
783
  const valueCount = count + 1 + (hasUnalignedMax ? 1 : 0);
465
- const getValueAt = (index) => index <= count ? Number((this.min + index * this.step).toFixed(10)) : this.max;
784
+ const getValueAt = (index) => index <= count ? Number((this.effectiveMin + index * this.effectiveStep).toFixed(10)) : this.effectiveMax;
466
785
  if (valueCount > Slider.MAX_VISUAL_TICKS) {
467
786
  // ponytail: limita somente o DOM visual; os valores selecionáveis permanecem ilimitados.
468
787
  const sampled = new Set([getValueAt(0), getValueAt(valueCount - 1)]);
@@ -478,23 +797,23 @@ const Slider = class {
478
797
  }
479
798
  getValueFromX(clientX, rect = this.trackEl?.getBoundingClientRect()) {
480
799
  if (!this.trackEl)
481
- return this.min;
800
+ return this.effectiveMin;
482
801
  if (!rect)
483
- return this.min;
802
+ return this.effectiveMin;
484
803
  if (rect.width === 0)
485
- return this.min;
486
- const ratio = clamp.clampNumber((clientX - rect.left) / rect.width, 0, 1, 0);
487
- return this.min + ratio * (this.max - this.min);
804
+ return this.effectiveMin;
805
+ const ratio = props.clampNumber((clientX - rect.left) / rect.width, 0, 1, 0);
806
+ return this.effectiveMin + ratio * (this.effectiveMax - this.effectiveMin);
488
807
  }
489
808
  getValueFromY(clientY, rect = this.trackEl?.getBoundingClientRect()) {
490
809
  if (!this.trackEl)
491
- return this.min;
810
+ return this.effectiveMin;
492
811
  if (!rect)
493
- return this.min;
812
+ return this.effectiveMin;
494
813
  if (rect.height === 0)
495
- return this.min;
496
- const ratio = clamp.clampNumber((rect.bottom - clientY) / rect.height, 0, 1, 0);
497
- return this.min + ratio * (this.max - this.min);
814
+ return this.effectiveMin;
815
+ const ratio = props.clampNumber((rect.bottom - clientY) / rect.height, 0, 1, 0);
816
+ return this.effectiveMin + ratio * (this.effectiveMax - this.effectiveMin);
498
817
  }
499
818
  nearerThumb(rawValue) {
500
819
  const distToStart = Math.abs(rawValue - this.value);
@@ -520,22 +839,72 @@ const Slider = class {
520
839
  }
521
840
  }
522
841
  }
842
+ getInputValueState(thumb) {
843
+ const isEnd = thumb === 'end';
844
+ return {
845
+ current: isEnd ? this.valueEnd : this.value,
846
+ min: isEnd ? this.value : this.effectiveMin,
847
+ max: isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax,
848
+ };
849
+ }
850
+ updateValueFromInput(thumb, value) {
851
+ if (thumb === 'end') {
852
+ this.valueEnd = value;
853
+ this.brDidChangeValueEnd.emit(this.valueEnd);
854
+ return;
855
+ }
856
+ this.value = value;
857
+ this.brDidChangeValue.emit(this.value);
858
+ }
859
+ calculateNextStepValue(key, current, min, max) {
860
+ const steps = this.normalizedSteps;
861
+ const currentIndex = steps.findIndex((s) => s.value === current);
862
+ switch (key) {
863
+ case 'ArrowRight':
864
+ case 'ArrowUp': {
865
+ const nextIdx = currentIndex >= 0 ? Math.min(steps.length - 1, currentIndex + 1) : 0;
866
+ return this.clamp(steps[nextIdx].value, max, min);
867
+ }
868
+ case 'ArrowLeft':
869
+ case 'ArrowDown': {
870
+ const prevIdx = currentIndex >= 0 ? Math.max(0, currentIndex - 1) : 0;
871
+ return this.clamp(steps[prevIdx].value, max, min);
872
+ }
873
+ case 'Home':
874
+ return min;
875
+ case 'End':
876
+ return max;
877
+ case 'PageUp': {
878
+ const jumpIdx = Math.min(steps.length - 1, (currentIndex >= 0 ? currentIndex : 0) + 2);
879
+ return this.clamp(steps[jumpIdx].value, max, min);
880
+ }
881
+ case 'PageDown': {
882
+ const jumpIdx = Math.max(0, (currentIndex >= 0 ? currentIndex : 0) - 2);
883
+ return this.clamp(steps[jumpIdx].value, max, min);
884
+ }
885
+ default:
886
+ return null;
887
+ }
888
+ }
523
889
  calculateNextSliderValue(key, current, min, max) {
890
+ if (this.normalizedSteps.length > 0) {
891
+ return this.calculateNextStepValue(key, current, min, max);
892
+ }
524
893
  switch (key) {
525
894
  case 'ArrowRight':
526
895
  case 'ArrowUp':
527
- return Math.min(max, current + this.step);
896
+ return Math.min(max, current + this.effectiveStep);
528
897
  case 'ArrowLeft':
529
898
  case 'ArrowDown':
530
- return Math.max(min, current - this.step);
899
+ return Math.max(min, current - this.effectiveStep);
531
900
  case 'Home':
532
901
  return min;
533
902
  case 'End':
534
903
  return max;
535
904
  case 'PageUp':
536
- return Math.min(max, current + this.step * 10);
905
+ return Math.min(max, current + this.effectiveStep * 10);
537
906
  case 'PageDown':
538
- return Math.max(min, current - this.step * 10);
907
+ return Math.max(min, current - this.effectiveStep * 10);
539
908
  default:
540
909
  return null;
541
910
  }
@@ -544,12 +913,12 @@ const Slider = class {
544
913
  if (this.isDisabled())
545
914
  return;
546
915
  const target = event$1.composedPath?.()[0] || event.getEventTarget(event$1);
547
- if (target === this.inputEl)
916
+ if (event.isEventTargetInside(event$1, this.inputStartEl) || event.isEventTargetInside(event$1, this.inputEndEl))
548
917
  return;
549
918
  const isEnd = this.range && target === this.thumbEndEl;
550
919
  const currentValue = isEnd ? this.valueEnd : this.value;
551
- const keyMin = isEnd ? this.value : this.min;
552
- const keyMax = isEnd ? this.max : this.range ? this.valueEnd : this.max;
920
+ const keyMin = isEnd ? this.value : this.effectiveMin;
921
+ const keyMax = isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax;
553
922
  const next = this.calculateNextSliderValue(event$1.key, currentValue, keyMin, keyMax);
554
923
  if (next === null)
555
924
  return;
@@ -585,13 +954,14 @@ const Slider = class {
585
954
  return validator.isFormControlDisabled(this.disabled, this.formDisabled);
586
955
  }
587
956
  updateValidity() {
588
- const stepMismatch = this.step > 0 &&
589
- Math.abs((this.value - this.min) / this.step - Math.round((this.value - this.min) / this.step)) > 1e-9;
957
+ const stepMismatch = this.effectiveStep > 0 &&
958
+ Math.abs((this.value - this.effectiveMin) / this.effectiveStep -
959
+ Math.round((this.value - this.effectiveMin) / this.effectiveStep)) > 1e-9;
590
960
  const invalidRange = this.range && this.value > this.valueEnd;
591
961
  const flags = {
592
962
  customError: this.customValidationMessage !== '' || Boolean(this.validatorMessage) || invalidRange,
593
- rangeOverflow: this.value > this.max || (this.range && this.valueEnd > this.max),
594
- rangeUnderflow: this.value < this.min || (this.range && this.valueEnd < this.min),
963
+ rangeOverflow: this.value > this.effectiveMax || (this.range && this.valueEnd > this.effectiveMax),
964
+ rangeUnderflow: this.value < this.effectiveMin || (this.range && this.valueEnd < this.effectiveMin),
595
965
  stepMismatch,
596
966
  };
597
967
  const message = this.customValidationMessage ||
@@ -626,38 +996,90 @@ const Slider = class {
626
996
  }
627
997
  renderValueLabel(thumb) {
628
998
  const isEnd = thumb === 'end';
629
- return (index.h("div", { class: "slider-value-label", part: "value-label", ref: (el) => this.setValueLabelElement(thumb, el), "aria-hidden": "true" }, isEnd ? this.valueEnd : this.value, index.h("span", { class: "slider-value-label-arrow", part: "value-label-arrow", ref: (el) => this.setValueLabelArrowElement(thumb, el) })));
999
+ const val = isEnd ? this.valueEnd : this.value;
1000
+ const stepMatch = this.normalizedSteps.find((s) => s.value === val);
1001
+ const displayText = stepMatch?.label ?? String(val);
1002
+ const color = this.getGradientColorAt(val);
1003
+ const labelStyle = color ? { backgroundColor: color } : undefined;
1004
+ const arrowStyle = color ? { backgroundColor: color } : undefined;
1005
+ return (index.h("div", { class: "slider-value-label", part: "value-label", ref: (el) => this.setValueLabelElement(thumb, el), "aria-hidden": "true", style: labelStyle }, displayText, index.h("span", { class: "slider-value-label-arrow", part: "value-label-arrow", ref: (el) => this.setValueLabelArrowElement(thumb, el), style: arrowStyle })));
630
1006
  }
631
1007
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: mantém as variantes visuais do thumb em um único ponto.
632
1008
  renderThumb(thumb, style) {
633
1009
  const isEnd = thumb === 'end';
1010
+ const iconName = isEnd ? (this.thumbEndIcon ?? this.thumbIcon) : (this.thumbStartIcon ?? this.thumbIcon);
1011
+ const slotName = isEnd ? 'thumb-end-icon' : this.range ? 'thumb-start-icon' : 'thumb-icon';
1012
+ const hasSlot = isEnd
1013
+ ? this.hasThumbEndIconSlot
1014
+ : this.range
1015
+ ? this.hasThumbStartIconSlot
1016
+ : this.hasThumbIconSlot || this.hasThumbStartIconSlot;
1017
+ const hasIcon = Boolean(iconName || hasSlot);
634
1018
  return (index.h("div", { class: {
635
1019
  'slider-thumb': true,
636
1020
  'slider-thumb--start': !isEnd,
637
1021
  'slider-thumb--end': isEnd,
638
1022
  'slider-thumb--active': this.dragging && this.draggingThumb === thumb,
639
- }, part: `thumb thumb-${thumb}`, ref: (el) => this.setThumbElement(thumb, el), id: isEnd ? `${this.customId}-end` : this.customId, role: "slider", tabIndex: this.isDisabled() ? -1 : 0, "aria-valuemin": isEnd ? String(this.value) : String(this.min), "aria-valuemax": isEnd ? String(this.max) : this.range ? String(this.valueEnd) : String(this.max), "aria-valuenow": isEnd ? String(this.valueEnd) : String(this.value), "aria-disabled": this.isDisabled() ? 'true' : 'false', "aria-label": isEnd ? `${this.label ?? ''} fim`.trim() : this.range ? `${this.label ?? ''} início`.trim() : this.label, "aria-orientation": this.effectiveVertical ? 'vertical' : 'horizontal', "aria-busy": this.isValidating ? 'true' : null, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage
1023
+ 'slider-thumb--has-icon': hasIcon,
1024
+ }, part: `thumb thumb-${thumb}`, ref: (el) => this.setThumbElement(thumb, el), id: isEnd ? `${this.customId}-end` : this.customId, role: "slider", tabIndex: this.isDisabled() ? -1 : 0, "aria-valuemin": isEnd ? String(this.value) : String(this.effectiveMin), "aria-valuemax": isEnd ? String(this.effectiveMax) : this.range ? String(this.valueEnd) : String(this.effectiveMax), "aria-valuenow": isEnd ? String(this.valueEnd) : String(this.value), "aria-disabled": this.isDisabled() ? 'true' : 'false', "aria-label": isEnd ? `${this.label ?? ''} fim`.trim() : this.range ? `${this.label ?? ''} início`.trim() : this.label, "aria-orientation": this.effectiveVertical ? 'vertical' : 'horizontal', "aria-busy": this.isValidating ? 'true' : null, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage
640
1025
  ? `${this.customId}-feedback`
641
1026
  : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot
642
1027
  ? `${this.customId}-feedback`
643
- : null, style: style }));
1028
+ : null, style: style }, index.h("slot", { name: slotName }, iconName && index.h("br-icon", { iconName: iconName, class: "slider-thumb-icon", "aria-hidden": "true" }))));
644
1029
  }
645
1030
  renderReferences() {
646
1031
  const hasRefs = this.hasRefStart || this.hasRefEnd || this.showBounds;
647
- return (index.h("div", { class: { 'slider-refs': true, 'slider-refs--hidden': !hasRefs }, part: "references" }, index.h("span", { class: "ref-start", part: "reference-start" }, index.h("slot", { name: "ref-start" }), this.showBounds && (index.h("span", { class: "ref-bound", part: "reference-bound" }, this.min))), index.h("span", { class: "ref-end", part: "reference-end" }, this.showBounds && (index.h("span", { class: "ref-bound", part: "reference-bound" }, this.max)), index.h("slot", { name: "ref-end" }))));
1032
+ return (index.h("div", { class: { 'slider-refs': true, 'slider-refs--hidden': !hasRefs }, part: "references" }, index.h("span", { class: "ref-start", part: "reference-start" }, index.h("slot", { name: "ref-start" }), this.showBounds && (index.h("span", { class: "ref-bound", part: "reference-bound" }, this.effectiveMin))), index.h("span", { class: "ref-end", part: "reference-end" }, this.showBounds && (index.h("span", { class: "ref-bound", part: "reference-bound" }, this.effectiveMax)), index.h("slot", { name: "ref-end" }))));
648
1033
  }
649
- renderInput() {
1034
+ setInputElement(thumb, element) {
1035
+ if (thumb === 'end') {
1036
+ this.inputEndEl = element;
1037
+ return;
1038
+ }
1039
+ this.inputStartEl = element;
1040
+ }
1041
+ renderInput(thumb) {
650
1042
  if (!this.showInput)
651
1043
  return undefined;
652
- return (index.h("div", { class: "slider-input-wrapper", part: "input-wrapper" }, index.h("input", { type: "number", class: "slider-input", part: "input", ref: (el) => (this.inputEl = el), min: this.min, max: this.max, step: this.step, disabled: this.isDisabled(), "aria-label": this.label, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage
1044
+ const isEnd = thumb === 'end';
1045
+ const value = isEnd ? this.valueEnd : this.value;
1046
+ const min = isEnd ? this.value : this.effectiveMin;
1047
+ const max = isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax;
1048
+ const label = isEnd ? `${this.label ?? 'Valor'} fim` : this.range ? `${this.label ?? 'Valor'} início` : this.label;
1049
+ return (index.h("div", { class: { 'slider-input-wrapper': true, [`slider-input-wrapper--${thumb}`]: true }, part: "input-wrapper" }, index.h("br-input", { controlWidth: "80px", density: "small", exportparts: "input", class: "slider-input", type: "number", min: min, max: max, step: this.effectiveStep, disabled: this.isDisabled(), "aria-label": label, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage
653
1050
  ? `${this.customId}-feedback`
654
1051
  : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot
655
1052
  ? `${this.customId}-feedback`
656
- : null, onInput: this.handleInputInput, onBlur: this.handleInputBlur })));
1053
+ : null, value: String(value), ref: (el) => this.setInputElement(thumb, el), onInput: (event) => this.handleInputInput(event, thumb), onChange: (event) => this.handleInputChange(event, thumb), onBlur: () => {
1054
+ this.inputEditing = null;
1055
+ } })));
1056
+ }
1057
+ renderSteps() {
1058
+ return (index.h("div", { class: "slider-steps", part: "steps", "aria-hidden": "true" }, this.normalizedSteps.map((step) => {
1059
+ const pct = this.percentOf(step.value);
1060
+ const isSelected = this.range
1061
+ ? step.value >= this.value && step.value <= this.valueEnd
1062
+ : step.value === this.value;
1063
+ const posStyle = this.effectiveVertical ? { bottom: `${pct}%` } : { left: `${pct}%` };
1064
+ return (index.h("button", { type: "button", class: {
1065
+ 'slider-step': true,
1066
+ 'slider-step--active': isSelected,
1067
+ }, part: `step step-${step.value}`, style: posStyle, disabled: this.isDisabled(), tabIndex: -1, onClick: () => this.handleStepClick(step.value) }, step.icon && index.h("br-icon", { iconName: step.icon, class: "slider-step-icon", "aria-hidden": "true" }), step.label && index.h("span", { class: "slider-step-label" }, step.label)));
1068
+ })));
657
1069
  }
658
1070
  renderTrack() {
659
1071
  const trackMask = this.getTrackMaskStyle();
660
- return (index.h("div", { class: "slider-track", part: "track", ref: (el) => (this.trackEl = el), onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }, index.h("div", { class: "slider-track-visual", part: "track-visual", style: trackMask }, index.h("div", { class: "slider-filled-track", part: "filled-track", style: this.getFilledStyle() })), this.showTicks && this.showTickLabels && this.renderTickLabels(), this.shouldShowValueLabel() && this.renderValueLabel('start'), this.shouldShowValueLabel() && this.range && this.renderValueLabel('end'), this.renderThumb('start', this.getThumbStyle(this.value)), this.range && this.renderThumb('end', this.getThumbStyle(this.valueEnd))));
1072
+ const startColor = this.getGradientColorAt(this.value);
1073
+ const endColor = this.range ? this.getGradientColorAt(this.valueEnd) : undefined;
1074
+ const startThumbStyle = {
1075
+ ...this.getThumbStyle(this.value),
1076
+ ...(startColor ? { backgroundColor: startColor, color: startColor } : {}),
1077
+ };
1078
+ const endThumbStyle = {
1079
+ ...this.getThumbStyle(this.valueEnd),
1080
+ ...(endColor ? { backgroundColor: endColor, color: endColor } : {}),
1081
+ };
1082
+ return (index.h("div", { class: "slider-track", part: "track", ref: (el) => (this.trackEl = el), onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }, index.h("div", { class: "slider-track-visual", part: "track-visual", style: trackMask }, index.h("div", { class: "slider-filled-track", part: "filled-track", style: this.getFilledStyle() })), this.showTicks && this.showTickLabels && this.renderTickLabels(), this.shouldShowValueLabel() && this.renderValueLabel('start'), this.shouldShowValueLabel() && this.range && this.renderValueLabel('end'), this.renderThumb('start', startThumbStyle), this.range && this.renderThumb('end', endThumbStyle)));
661
1083
  }
662
1084
  renderTickLabels() {
663
1085
  const tickValues = this.getTickValues();
@@ -665,7 +1087,7 @@ const Slider = class {
665
1087
  return (index.h("div", { class: "slider-tick-labels", part: "tick-labels", "aria-hidden": "true" }, intermediateTicks.map((value) => (index.h("span", { class: "slider-tick-label", part: "tick-label", style: this.effectiveVertical ? { bottom: `${this.percentOf(value)}%` } : { left: `${this.percentOf(value)}%` } }, value)))));
666
1088
  }
667
1089
  render() {
668
- return (index.h(index.Host, { key: '26be711ad91a867e82e35d10e86508aa5af68557' }, index.h("div", { key: '906052510af8d3a323ea8274b339ba264b745e25', class: this.getCssClassMap(), part: "base" }, index.h("div", { key: '323ee79d4a4fc4d81e4a1b43c8fa6298d0f92916', class: "slider-layout", part: "layout" }, index.h("div", { key: '113e5114161144af0466997b47108eb0e053af8e', class: "slider-body", part: "body" }, this.renderTrack(), this.renderReferences()), this.renderInput())), index.h("div", { key: 'b8ce4c3cae026492ad1db1e03f5709988b42a13e', id: `${this.customId}-feedback`, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, index.h("slot", { key: 'e2564e6830476cb3d495807f4b15d600f5c7146e', name: "feedback", onSlotchange: (event) => (this.hasFeedbackSlot = slot.hasAssignedSlotContent(event.currentTarget)) }), !this.hasFeedbackSlot && (this.customValidationMessage || this.validatorMessage) ? (index.h("br-message", { state: "danger", message: this.customValidationMessage || this.validatorMessage })) : null)));
1090
+ return (index.h(index.Host, { key: '7c7f82026393c762b721269c20498c85efd9a6b3', style: { opacity: this.isDisabled() ? '1' : undefined } }, this.label && index.h("div", { key: '2195d6599d5fd68b42d47d3737bb621f2d095c0a', class: "slider-label" }, this.label), index.h("div", { key: '9e6ac187a1b53d2db04aaa8e60612e5d06e85fa8', class: this.getCssClassMap(), part: "base" }, index.h("div", { key: 'f001d13512efcf6fab5837261ffd80254888b6fc', class: "slider-layout", part: "layout" }, this.range && this.renderInput('start'), index.h("div", { key: '7d0975449e6b3d69d4ca9b6e14130e5ef9b3ca72', class: "slider-body", part: "body" }, this.renderTrack(), this.normalizedSteps.length > 0 && this.renderSteps(), this.renderReferences()), this.range ? this.renderInput('end') : this.renderInput('start'))), index.h("div", { key: '2e72a57e643f887282c9222cefac6a4106e32751', id: `${this.customId}-feedback`, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, index.h("slot", { key: 'f1e9157b6202558e2e26b550a052cb94b089823d', name: "feedback", onSlotchange: (event) => (this.hasFeedbackSlot = slot.hasAssignedSlotContent(event.currentTarget)) }), !this.hasFeedbackSlot && (this.customValidationMessage || this.validatorMessage) ? (index.h("br-message", { state: "danger", message: this.customValidationMessage || this.validatorMessage })) : null)));
669
1091
  }
670
1092
  static get formAssociated() { return true; }
671
1093
  get el() { return index.getElement(this); }