@govbr-ds/webcomponents 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (960) hide show
  1. package/README.md +87 -46
  2. package/cem/custom-elements.json +6367 -1134
  3. package/cem/webcomponents.html-custom-data.json +399 -286
  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 +72 -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 +85 -15
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +85 -26
  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 +115 -527
  25. package/dist/cjs/br-divider.cjs.entry.js +70 -17
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +304 -122
  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 +72 -17
  38. package/dist/cjs/br-icon.cjs.entry.js +160 -23
  39. package/dist/cjs/br-input.cjs.entry.js +130 -39
  40. package/dist/cjs/br-item.cjs.entry.js +96 -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 +26 -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 +41 -64
  53. package/dist/cjs/br-modal.cjs.entry.js +26 -40
  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 +119 -87
  59. package/dist/cjs/br-radio-group.cjs.entry.js +106 -57
  60. package/dist/cjs/br-radio.cjs.entry.js +61 -11
  61. package/dist/cjs/br-scrim.cjs.entry.js +161 -67
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +283 -90
  63. package/dist/cjs/br-sign-in.cjs.entry.js +34 -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 +521 -99
  68. package/dist/cjs/br-step_2.cjs.entry.js +98 -44
  69. package/dist/cjs/br-switch.cjs.entry.js +20 -11
  70. package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
  71. package/dist/cjs/br-tab.cjs.entry.js +57 -44
  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 +48 -30
  79. package/dist/cjs/br-textarea.cjs.entry.js +117 -12
  80. package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
  81. package/dist/cjs/br-upload.cjs.entry.js +83 -24
  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/id-DE4jSi-L.js +36 -0
  90. package/dist/cjs/{index-CRdcutym.js → index-CGgZBuyy.js} +68 -752
  91. package/dist/cjs/loader.cjs.js +2 -2
  92. package/dist/cjs/motion-CgIooxWS.js +29 -0
  93. package/dist/cjs/ownership-UnpufyCx.js +116 -0
  94. package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
  95. package/dist/cjs/props-D8dybmr0.js +124 -0
  96. package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
  97. package/dist/cjs/webcomponents.cjs.js +3 -3
  98. package/dist/collection/collection-manifest.json +1 -1
  99. package/dist/collection/components/avatar/avatar.css +1 -1
  100. package/dist/collection/components/avatar/avatar.js +48 -16
  101. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
  102. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  103. package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
  104. package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
  105. package/dist/collection/components/button/button.css +1 -1
  106. package/dist/collection/components/button/button.js +88 -24
  107. package/dist/collection/components/card/card.css +1 -1
  108. package/dist/collection/components/card/card.js +33 -5
  109. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
  110. package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
  111. package/dist/collection/components/carousel/carousel.css +1 -1
  112. package/dist/collection/components/carousel/carousel.js +107 -21
  113. package/dist/collection/components/checkbox/checkbox.css +1 -1
  114. package/dist/collection/components/checkbox/checkbox.js +134 -20
  115. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  116. package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
  117. package/dist/collection/components/checkgroup/checkgroup.js +42 -4
  118. package/dist/collection/components/collapse/collapse.css +1 -1
  119. package/dist/collection/components/collapse/collapse.js +48 -8
  120. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
  121. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
  122. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
  123. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
  124. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
  125. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
  126. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
  127. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
  128. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
  129. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
  130. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
  131. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
  132. package/dist/collection/components/cookiebar/cookiebar.css +1 -1
  133. package/dist/collection/components/cookiebar/cookiebar.js +67 -32
  134. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
  135. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
  136. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
  137. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
  138. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
  139. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  140. package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
  141. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
  142. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
  143. package/dist/collection/components/divider/divider.css +1 -1
  144. package/dist/collection/components/divider/divider.js +101 -26
  145. package/dist/collection/components/dropdown/dropdown.css +1 -1
  146. package/dist/collection/components/dropdown/dropdown.js +166 -18
  147. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  148. package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
  149. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  150. package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
  151. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  152. package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
  153. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  154. package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
  155. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  156. package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
  157. package/dist/collection/components/footer/footer.css +1 -1
  158. package/dist/collection/components/footer/footer.js +48 -7
  159. package/dist/collection/components/header/header-context.js +13 -0
  160. package/dist/collection/components/header/header-function/header-function.css +1 -1
  161. package/dist/collection/components/header/header-function/header-function.js +51 -8
  162. package/dist/collection/components/header/header-link/header-link.css +1 -1
  163. package/dist/collection/components/header/header-link/header-link.js +52 -2
  164. package/dist/collection/components/header/header-list/header-list.css +1 -1
  165. package/dist/collection/components/header/header-list/header-list.js +20 -23
  166. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  167. package/dist/collection/components/header/header-logo/header-logo.js +33 -8
  168. package/dist/collection/components/header/header.css +1 -1
  169. package/dist/collection/components/header/header.js +110 -24
  170. package/dist/collection/components/icon/default-icons-cache.js +111 -3
  171. package/dist/collection/components/icon/icon.css +1 -1
  172. package/dist/collection/components/icon/icon.js +80 -33
  173. package/dist/collection/components/input/input.css +1 -1
  174. package/dist/collection/components/input/input.js +169 -54
  175. package/dist/collection/components/item/item.css +1 -1
  176. package/dist/collection/components/item/item.js +134 -51
  177. package/dist/collection/components/link/link.css +1 -1
  178. package/dist/collection/components/link/link.js +48 -15
  179. package/dist/collection/components/list/list.css +1 -1
  180. package/dist/collection/components/list/list.js +106 -25
  181. package/dist/collection/components/loading/loading.css +1 -1
  182. package/dist/collection/components/loading/loading.js +131 -43
  183. package/dist/collection/components/magic-button/magic-button.css +1 -1
  184. package/dist/collection/components/magic-button/magic-button.js +51 -9
  185. package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
  186. package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
  187. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  188. package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
  189. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  190. package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
  191. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  192. package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
  193. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  194. package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
  195. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  196. package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
  197. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  198. package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
  199. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  200. package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
  201. package/dist/collection/components/menu/menu.css +1 -1
  202. package/dist/collection/components/menu/menu.js +75 -68
  203. package/dist/collection/components/menu/menu.utils.js +8 -18
  204. package/dist/collection/components/message/message.css +1 -1
  205. package/dist/collection/components/message/message.js +50 -24
  206. package/dist/collection/components/modal/modal.css +1 -1
  207. package/dist/collection/components/modal/modal.js +54 -41
  208. package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
  209. package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
  210. package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
  211. package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
  212. package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
  213. package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
  214. package/dist/collection/components/notification/notification.css +1 -1
  215. package/dist/collection/components/notification/notification.js +54 -10
  216. package/dist/collection/components/pagination/pagination.css +1 -1
  217. package/dist/collection/components/pagination/pagination.js +161 -74
  218. package/dist/collection/components/radio/radio.css +1 -1
  219. package/dist/collection/components/radio/radio.js +109 -14
  220. package/dist/collection/components/radio-group/radio-group.css +1 -1
  221. package/dist/collection/components/radio-group/radio-group.js +153 -63
  222. package/dist/collection/components/scrim/scrim.css +1 -1
  223. package/dist/collection/components/scrim/scrim.js +215 -74
  224. package/dist/collection/components/scrim/scrim.utils.js +5 -51
  225. package/dist/collection/components/select/select-input/select-input.css +1 -1
  226. package/dist/collection/components/select/select-input/select-input.js +58 -5
  227. package/dist/collection/components/select/select-list/select-list.css +1 -1
  228. package/dist/collection/components/select/select-list/select-list.js +247 -52
  229. package/dist/collection/components/select/select-option/select-option.css +1 -1
  230. package/dist/collection/components/select/select-option/select-option.js +108 -46
  231. package/dist/collection/components/select/select.css +1 -1
  232. package/dist/collection/components/select/select.js +323 -118
  233. package/dist/collection/components/sign-in/sign-in.css +1 -1
  234. package/dist/collection/components/sign-in/sign-in.js +55 -16
  235. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
  236. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  237. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
  238. package/dist/collection/components/skip-link/skip-link.css +1 -1
  239. package/dist/collection/components/skip-link/skip-link.js +78 -39
  240. package/dist/collection/components/slider/slider.css +1 -1
  241. package/dist/collection/components/slider/slider.js +530 -132
  242. package/dist/collection/components/slider/slider.utils.js +178 -0
  243. package/dist/collection/components/step/step-item/step-item.css +1 -1
  244. package/dist/collection/components/step/step-item/step-item.js +29 -12
  245. package/dist/collection/components/step/step.css +1 -1
  246. package/dist/collection/components/step/step.js +119 -44
  247. package/dist/collection/components/switch/switch.css +1 -1
  248. package/dist/collection/components/switch/switch.js +48 -15
  249. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  250. package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
  251. package/dist/collection/components/tab/tab.css +1 -1
  252. package/dist/collection/components/tab/tab.js +89 -46
  253. package/dist/collection/components/table/table-body/table-body.css +1 -1
  254. package/dist/collection/components/table/table-body/table-body.js +11 -7
  255. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  256. package/dist/collection/components/table/table-cell/table-cell.js +36 -17
  257. package/dist/collection/components/table/table-header/table-header.css +1 -1
  258. package/dist/collection/components/table/table-header/table-header.js +11 -7
  259. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  260. package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
  261. package/dist/collection/components/table/table-row/table-row.css +1 -1
  262. package/dist/collection/components/table/table-row/table-row.js +24 -7
  263. package/dist/collection/components/table/table.css +1 -1
  264. package/dist/collection/components/table/table.js +107 -31
  265. package/dist/collection/components/tag/tag.css +1 -1
  266. package/dist/collection/components/tag/tag.js +86 -36
  267. package/dist/collection/components/textarea/textarea.css +1 -1
  268. package/dist/collection/components/textarea/textarea.js +222 -19
  269. package/dist/collection/components/tooltip/tooltip.css +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +134 -45
  271. package/dist/collection/components/upload/upload.css +1 -1
  272. package/dist/collection/components/upload/upload.js +135 -33
  273. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  274. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
  275. package/dist/collection/components/wizard/wizard.css +1 -1
  276. package/dist/collection/components/wizard/wizard.js +82 -28
  277. package/dist/collection/pages/scripts/component-controls-core.js +95 -0
  278. package/dist/collection/pages/scripts/component-controls.js +238 -153
  279. package/dist/collection/pages/scripts/dev-event-console.js +5 -1
  280. package/dist/collection/pages/scripts/menu.js +90 -5
  281. package/dist/collection/pages/scripts/pageLoader.js +1486 -586
  282. package/dist/collection/pages/scripts/pageloader-preview.js +787 -0
  283. package/dist/collection/pages/scripts/playground-core.js +173 -0
  284. package/dist/collection/shared/utils/cssVariables.js +2 -0
  285. package/dist/collection/shared/utils/date.js +8 -4
  286. package/dist/collection/shared/utils/floating-ui.js +24 -1
  287. package/dist/collection/shared/utils/focus.js +31 -0
  288. package/dist/collection/shared/utils/getRandom.js +16 -1
  289. package/dist/collection/shared/utils/helpers.js +4 -11
  290. package/dist/collection/shared/utils/id.js +23 -7
  291. package/dist/collection/shared/utils/index.js +6 -1
  292. package/dist/collection/shared/utils/isEmpty.js +5 -3
  293. package/dist/collection/shared/utils/motion.js +25 -0
  294. package/dist/collection/shared/utils/ownership.js +113 -0
  295. package/dist/collection/shared/utils/prop-warning.js +47 -0
  296. package/dist/collection/shared/utils/props.js +79 -0
  297. package/dist/collection/shared/utils/swipe.js +11 -1
  298. package/dist/collection/shared/utils/transition.js +3 -0
  299. package/dist/collection/shared/utils/virtual-scroll.js +24 -0
  300. package/dist/components/br-avatar.d.ts +1 -1
  301. package/dist/components/br-avatar.js +1 -1
  302. package/dist/components/br-breadcrumb-item.d.ts +1 -1
  303. package/dist/components/br-breadcrumb-item.js +1 -1
  304. package/dist/components/br-breadcrumb.d.ts +1 -1
  305. package/dist/components/br-breadcrumb.js +1 -1
  306. package/dist/components/br-button.d.ts +1 -1
  307. package/dist/components/br-button.js +1 -1
  308. package/dist/components/br-card.d.ts +1 -1
  309. package/dist/components/br-card.js +1 -1
  310. package/dist/components/br-carousel-page.d.ts +1 -1
  311. package/dist/components/br-carousel-page.js +1 -1
  312. package/dist/components/br-carousel.d.ts +1 -1
  313. package/dist/components/br-carousel.js +1 -1
  314. package/dist/components/br-checkbox-group.d.ts +1 -1
  315. package/dist/components/br-checkbox-group.js +1 -1
  316. package/dist/components/br-checkbox.d.ts +1 -1
  317. package/dist/components/br-checkbox.js +1 -1
  318. package/dist/components/br-checkgroup.d.ts +1 -1
  319. package/dist/components/br-checkgroup.js +1 -1
  320. package/dist/components/br-collapse.d.ts +1 -1
  321. package/dist/components/br-collapse.js +1 -1
  322. package/dist/components/br-cookiebar-cookie.d.ts +1 -1
  323. package/dist/components/br-cookiebar-cookie.js +1 -1
  324. package/dist/components/br-cookiebar-group.d.ts +1 -1
  325. package/dist/components/br-cookiebar-group.js +1 -1
  326. package/dist/components/br-cookiebar-header.d.ts +1 -1
  327. package/dist/components/br-cookiebar-header.js +1 -1
  328. package/dist/components/br-cookiebar-link.d.ts +1 -1
  329. package/dist/components/br-cookiebar-link.js +1 -1
  330. package/dist/components/br-cookiebar-note-group.d.ts +1 -1
  331. package/dist/components/br-cookiebar-note-group.js +1 -1
  332. package/dist/components/br-cookiebar-note.d.ts +1 -1
  333. package/dist/components/br-cookiebar-note.js +1 -1
  334. package/dist/components/br-cookiebar.d.ts +1 -1
  335. package/dist/components/br-cookiebar.js +1 -1
  336. package/dist/components/br-crumb.d.ts +1 -1
  337. package/dist/components/br-crumb.js +1 -1
  338. package/dist/components/br-date-picker.d.ts +1 -1
  339. package/dist/components/br-date-picker.js +1 -1
  340. package/dist/components/br-datetime-input.d.ts +1 -1
  341. package/dist/components/br-datetime-input.js +1 -1
  342. package/dist/components/br-datetime-picker.d.ts +1 -1
  343. package/dist/components/br-datetime-picker.js +1 -1
  344. package/dist/components/br-divider.d.ts +1 -1
  345. package/dist/components/br-divider.js +1 -1
  346. package/dist/components/br-dropdown.d.ts +1 -1
  347. package/dist/components/br-dropdown.js +1 -1
  348. package/dist/components/br-footer-category.d.ts +1 -1
  349. package/dist/components/br-footer-category.js +1 -1
  350. package/dist/components/br-footer-item.d.ts +1 -1
  351. package/dist/components/br-footer-item.js +1 -1
  352. package/dist/components/br-footer-legal.d.ts +1 -1
  353. package/dist/components/br-footer-legal.js +1 -1
  354. package/dist/components/br-footer-logo.d.ts +1 -1
  355. package/dist/components/br-footer-logo.js +1 -1
  356. package/dist/components/br-footer-social.d.ts +1 -1
  357. package/dist/components/br-footer-social.js +1 -1
  358. package/dist/components/br-footer.d.ts +1 -1
  359. package/dist/components/br-footer.js +1 -1
  360. package/dist/components/br-header-function.d.ts +1 -1
  361. package/dist/components/br-header-function.js +1 -1
  362. package/dist/components/br-header-link.d.ts +1 -1
  363. package/dist/components/br-header-link.js +1 -1
  364. package/dist/components/br-header-list.d.ts +1 -1
  365. package/dist/components/br-header-list.js +1 -1
  366. package/dist/components/br-header-logo.d.ts +1 -1
  367. package/dist/components/br-header-logo.js +1 -1
  368. package/dist/components/br-header.d.ts +1 -1
  369. package/dist/components/br-header.js +1 -1
  370. package/dist/components/br-icon.d.ts +1 -1
  371. package/dist/components/br-icon.js +1 -1
  372. package/dist/components/br-input.d.ts +1 -1
  373. package/dist/components/br-input.js +1 -1
  374. package/dist/components/br-item.d.ts +1 -1
  375. package/dist/components/br-item.js +1 -1
  376. package/dist/components/br-link.d.ts +1 -1
  377. package/dist/components/br-link.js +1 -1
  378. package/dist/components/br-list.d.ts +1 -1
  379. package/dist/components/br-list.js +1 -1
  380. package/dist/components/br-loading.d.ts +1 -1
  381. package/dist/components/br-loading.js +1 -1
  382. package/dist/components/br-magic-button.d.ts +1 -1
  383. package/dist/components/br-magic-button.js +1 -1
  384. package/dist/components/br-menu-group.d.ts +1 -1
  385. package/dist/components/br-menu-group.js +1 -1
  386. package/dist/components/br-menu-header.d.ts +1 -1
  387. package/dist/components/br-menu-header.js +1 -1
  388. package/dist/components/br-menu-info.d.ts +1 -1
  389. package/dist/components/br-menu-info.js +1 -1
  390. package/dist/components/br-menu-item.d.ts +1 -1
  391. package/dist/components/br-menu-item.js +1 -1
  392. package/dist/components/br-menu-link.d.ts +1 -1
  393. package/dist/components/br-menu-link.js +1 -1
  394. package/dist/components/br-menu-list.d.ts +1 -1
  395. package/dist/components/br-menu-list.js +1 -1
  396. package/dist/components/br-menu-logo.d.ts +1 -1
  397. package/dist/components/br-menu-logo.js +1 -1
  398. package/dist/components/br-menu-social.d.ts +1 -1
  399. package/dist/components/br-menu-social.js +1 -1
  400. package/dist/components/br-menu.d.ts +1 -1
  401. package/dist/components/br-menu.js +1 -1
  402. package/dist/components/br-message.d.ts +1 -1
  403. package/dist/components/br-message.js +1 -1
  404. package/dist/components/br-modal.d.ts +1 -1
  405. package/dist/components/br-modal.js +1 -1
  406. package/dist/components/br-notification-body.d.ts +1 -1
  407. package/dist/components/br-notification-body.js +1 -1
  408. package/dist/components/br-notification-header.d.ts +1 -1
  409. package/dist/components/br-notification-header.js +1 -1
  410. package/dist/components/br-notification-item.d.ts +1 -1
  411. package/dist/components/br-notification-item.js +1 -1
  412. package/dist/components/br-notification.d.ts +1 -1
  413. package/dist/components/br-notification.js +1 -1
  414. package/dist/components/br-pagination.d.ts +1 -1
  415. package/dist/components/br-pagination.js +1 -1
  416. package/dist/components/br-radio-group.d.ts +1 -1
  417. package/dist/components/br-radio-group.js +1 -1
  418. package/dist/components/br-radio.d.ts +1 -1
  419. package/dist/components/br-radio.js +1 -1
  420. package/dist/components/br-scrim.d.ts +1 -1
  421. package/dist/components/br-scrim.js +1 -1
  422. package/dist/components/br-select-input.d.ts +1 -1
  423. package/dist/components/br-select-input.js +1 -1
  424. package/dist/components/br-select-list.d.ts +1 -1
  425. package/dist/components/br-select-list.js +1 -1
  426. package/dist/components/br-select-option.d.ts +1 -1
  427. package/dist/components/br-select-option.js +1 -1
  428. package/dist/components/br-select.d.ts +1 -1
  429. package/dist/components/br-select.js +1 -1
  430. package/dist/components/br-sign-in.d.ts +1 -1
  431. package/dist/components/br-sign-in.js +1 -1
  432. package/dist/components/br-skip-link-item.d.ts +1 -1
  433. package/dist/components/br-skip-link-item.js +1 -1
  434. package/dist/components/br-skip-link.d.ts +1 -1
  435. package/dist/components/br-skip-link.js +1 -1
  436. package/dist/components/br-skiplink-item.d.ts +1 -1
  437. package/dist/components/br-skiplink-item.js +1 -1
  438. package/dist/components/br-slider.d.ts +1 -1
  439. package/dist/components/br-slider.js +1 -1
  440. package/dist/components/br-step-item.d.ts +1 -1
  441. package/dist/components/br-step-item.js +1 -1
  442. package/dist/components/br-step.d.ts +1 -1
  443. package/dist/components/br-step.js +1 -1
  444. package/dist/components/br-switch.d.ts +1 -1
  445. package/dist/components/br-switch.js +1 -1
  446. package/dist/components/br-tab-item.d.ts +1 -1
  447. package/dist/components/br-tab-item.js +1 -1
  448. package/dist/components/br-tab.d.ts +1 -1
  449. package/dist/components/br-tab.js +1 -1
  450. package/dist/components/br-table-body.d.ts +1 -1
  451. package/dist/components/br-table-body.js +1 -1
  452. package/dist/components/br-table-cell.d.ts +1 -1
  453. package/dist/components/br-table-cell.js +1 -1
  454. package/dist/components/br-table-header-cell.d.ts +1 -1
  455. package/dist/components/br-table-header-cell.js +1 -1
  456. package/dist/components/br-table-header.d.ts +1 -1
  457. package/dist/components/br-table-header.js +1 -1
  458. package/dist/components/br-table-row.d.ts +1 -1
  459. package/dist/components/br-table-row.js +1 -1
  460. package/dist/components/br-table.d.ts +1 -1
  461. package/dist/components/br-table.js +1 -1
  462. package/dist/components/br-tag.d.ts +1 -1
  463. package/dist/components/br-tag.js +1 -1
  464. package/dist/components/br-textarea.d.ts +1 -1
  465. package/dist/components/br-textarea.js +1 -1
  466. package/dist/components/br-time-picker.d.ts +1 -1
  467. package/dist/components/br-time-picker.js +1 -1
  468. package/dist/components/br-tooltip.d.ts +1 -1
  469. package/dist/components/br-tooltip.js +1 -1
  470. package/dist/components/br-upload.d.ts +1 -1
  471. package/dist/components/br-upload.js +1 -1
  472. package/dist/components/br-wizard-panel.d.ts +1 -1
  473. package/dist/components/br-wizard-panel.js +1 -1
  474. package/dist/components/br-wizard.d.ts +1 -1
  475. package/dist/components/br-wizard.js +1 -1
  476. package/dist/components/index.d.ts +89 -89
  477. package/dist/components/index.js +1 -1
  478. package/dist/components/p-B0o70fWP.js +5 -0
  479. package/dist/components/p-B96LROz9.js +5 -0
  480. package/dist/components/p-BDqef5-y.js +5 -0
  481. package/dist/components/p-BEJGB0Nd.js +5 -0
  482. package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
  483. package/dist/components/p-BJtdabsr.js +5 -0
  484. package/dist/components/p-BP5zMCxG.js +5 -0
  485. package/dist/components/p-BRaphxoP.js +5 -0
  486. package/dist/components/p-BUzBa9L1.js +5 -0
  487. package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
  488. package/dist/components/p-Bc4nAk5i.js +5 -0
  489. package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
  490. package/dist/components/p-BeJxz5TQ.js +5 -0
  491. package/dist/components/p-Bezou5CQ.js +5 -0
  492. package/dist/components/p-BrNh9KdF.js +5 -0
  493. package/dist/components/p-C5th2dxu.js +5 -0
  494. package/dist/components/p-CDtFCbKp.js +5 -0
  495. package/dist/components/p-CEdUp183.js +5 -0
  496. package/dist/components/p-CF7t0uxQ.js +5 -0
  497. package/dist/components/p-CFzHx6zV.js +5 -0
  498. package/dist/components/p-CG4em0S6.js +5 -0
  499. package/dist/components/p-CI4D3-pf.js +5 -0
  500. package/dist/components/p-CIrVPkVg.js +5 -0
  501. package/dist/components/p-CNwZRgyL.js +5 -0
  502. package/dist/components/p-CppRJiyC.js +5 -0
  503. package/dist/components/p-Cvk1Ggs5.js +5 -0
  504. package/dist/components/p-D12US39c.js +5 -0
  505. package/dist/components/p-D9Zo6FlV.js +5 -0
  506. package/dist/components/p-DGPJkJsj.js +5 -0
  507. package/dist/components/p-DSHbttu9.js +5 -0
  508. package/dist/components/p-DTGNra9m.js +5 -0
  509. package/dist/components/p-DWhzxlCx.js +5 -0
  510. package/dist/components/p-DX1wAFn4.js +5 -0
  511. package/dist/components/p-DiLI514I.js +5 -0
  512. package/dist/components/p-Dma14GVa.js +5 -0
  513. package/dist/components/p-DpRZ4B0d.js +5 -0
  514. package/dist/components/p-G35qEQZd.js +5 -0
  515. package/dist/components/p-Ho_IybzR.js +5 -0
  516. package/dist/components/p-SvVnvJdC.js +5 -0
  517. package/dist/components/p-emAWunES.js +5 -0
  518. package/dist/components/p-fB79wKCm.js +5 -0
  519. package/dist/components/p-k7p4QJ8a.js +5 -0
  520. package/dist/esm/br-avatar.entry.js +21 -14
  521. package/dist/esm/br-breadcrumb-item.entry.js +2 -2
  522. package/dist/esm/br-breadcrumb.entry.js +49 -22
  523. package/dist/esm/br-button_2.entry.js +72 -35
  524. package/dist/esm/br-card.entry.js +6 -5
  525. package/dist/esm/br-carousel-page.entry.js +3 -3
  526. package/dist/esm/br-carousel.entry.js +78 -22
  527. package/dist/esm/br-checkbox-group.entry.js +157 -27
  528. package/dist/esm/br-checkbox.entry.js +86 -16
  529. package/dist/esm/br-checkgroup.entry.js +5 -2
  530. package/dist/esm/br-collapse_2.entry.js +86 -27
  531. package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
  532. package/dist/esm/br-cookiebar-group.entry.js +4 -4
  533. package/dist/esm/br-cookiebar-header.entry.js +4 -4
  534. package/dist/esm/br-cookiebar-link.entry.js +14 -6
  535. package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
  536. package/dist/esm/br-cookiebar-note.entry.js +4 -4
  537. package/dist/esm/br-cookiebar.entry.js +39 -26
  538. package/dist/esm/br-crumb.entry.js +2 -2
  539. package/dist/esm/br-date-picker_3.entry.js +207 -49
  540. package/dist/esm/br-datetime-picker.entry.js +82 -494
  541. package/dist/esm/br-divider.entry.js +70 -17
  542. package/dist/esm/br-dropdown_2.entry.js +305 -123
  543. package/dist/esm/br-footer-category.entry.js +10 -6
  544. package/dist/esm/br-footer-item.entry.js +9 -4
  545. package/dist/esm/br-footer-legal.entry.js +4 -4
  546. package/dist/esm/br-footer-logo.entry.js +22 -10
  547. package/dist/esm/br-footer-social.entry.js +14 -6
  548. package/dist/esm/br-footer.entry.js +16 -7
  549. package/dist/esm/br-header-function.entry.js +28 -7
  550. package/dist/esm/br-header-link.entry.js +25 -4
  551. package/dist/esm/br-header-list.entry.js +7 -18
  552. package/dist/esm/br-header-logo.entry.js +18 -7
  553. package/dist/esm/br-header.entry.js +72 -17
  554. package/dist/esm/br-icon.entry.js +160 -23
  555. package/dist/esm/br-input.entry.js +132 -41
  556. package/dist/esm/br-item.entry.js +96 -48
  557. package/dist/esm/br-link.entry.js +20 -7
  558. package/dist/esm/br-loading.entry.js +100 -38
  559. package/dist/esm/br-magic-button.entry.js +26 -9
  560. package/dist/esm/br-menu-group.entry.js +14 -3
  561. package/dist/esm/br-menu-header.entry.js +4 -4
  562. package/dist/esm/br-menu-info.entry.js +4 -4
  563. package/dist/esm/br-menu-item.entry.js +27 -5
  564. package/dist/esm/br-menu-link.entry.js +14 -6
  565. package/dist/esm/br-menu-list.entry.js +23 -27
  566. package/dist/esm/br-menu-logo.entry.js +4 -4
  567. package/dist/esm/br-menu-social.entry.js +16 -6
  568. package/dist/esm/br-menu.entry.js +42 -65
  569. package/dist/esm/br-modal.entry.js +26 -40
  570. package/dist/esm/br-notification-body.entry.js +4 -4
  571. package/dist/esm/br-notification-header.entry.js +4 -4
  572. package/dist/esm/br-notification-item.entry.js +14 -8
  573. package/dist/esm/br-notification.entry.js +24 -9
  574. package/dist/esm/br-pagination.entry.js +119 -87
  575. package/dist/esm/br-radio-group.entry.js +107 -58
  576. package/dist/esm/br-radio.entry.js +62 -12
  577. package/dist/esm/br-scrim.entry.js +161 -67
  578. package/dist/esm/br-select-input_3.entry.js +283 -90
  579. package/dist/esm/br-sign-in.entry.js +34 -15
  580. package/dist/esm/br-skip-link-item.entry.js +39 -2
  581. package/dist/esm/br-skip-link.entry.js +50 -33
  582. package/dist/esm/br-skiplink-item.entry.js +22 -6
  583. package/dist/esm/br-slider.entry.js +519 -97
  584. package/dist/esm/br-step_2.entry.js +98 -44
  585. package/dist/esm/br-switch.entry.js +21 -12
  586. package/dist/esm/br-tab-item.entry.js +38 -14
  587. package/dist/esm/br-tab.entry.js +57 -44
  588. package/dist/esm/br-table-body.entry.js +3 -3
  589. package/dist/esm/br-table-cell.entry.js +30 -13
  590. package/dist/esm/br-table-header-cell.entry.js +23 -7
  591. package/dist/esm/br-table-header.entry.js +3 -3
  592. package/dist/esm/br-table-row.entry.js +17 -3
  593. package/dist/esm/br-table.entry.js +68 -22
  594. package/dist/esm/br-tag.entry.js +49 -31
  595. package/dist/esm/br-textarea.entry.js +118 -13
  596. package/dist/esm/br-tooltip.entry.js +88 -42
  597. package/dist/esm/br-upload.entry.js +84 -25
  598. package/dist/esm/br-wizard-panel.entry.js +16 -3
  599. package/dist/esm/br-wizard.entry.js +52 -28
  600. package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
  601. package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
  602. package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
  603. package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
  604. package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
  605. package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
  606. package/dist/esm/header-context-BEJGB0Nd.js +15 -0
  607. package/dist/esm/id-BeJxz5TQ.js +34 -0
  608. package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
  609. package/dist/esm/{index-C2RBydfd.js → index-Dcn7tRST.js} +68 -752
  610. package/dist/esm/index.js +2 -2
  611. package/dist/esm/loader.js +3 -3
  612. package/dist/esm/motion-DWhzxlCx.js +27 -0
  613. package/dist/esm/ownership-CDtFCbKp.js +111 -0
  614. package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
  615. package/dist/esm/props-D07GjR4_.js +116 -0
  616. package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
  617. package/dist/esm/webcomponents.js +4 -4
  618. package/dist/hydrate/index.js +7370 -2603
  619. package/dist/hydrate/index.mjs +7370 -2603
  620. package/dist/loader/index.d.ts +1 -1
  621. package/dist/types/components/avatar/avatar.d.ts +34 -4
  622. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
  623. package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
  624. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
  625. package/dist/types/components/button/button.d.ts +45 -9
  626. package/dist/types/components/card/card.d.ts +31 -3
  627. package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
  628. package/dist/types/components/carousel/carousel.d.ts +46 -3
  629. package/dist/types/components/checkbox/checkbox.d.ts +59 -6
  630. package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
  631. package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
  632. package/dist/types/components/collapse/collapse.d.ts +33 -4
  633. package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
  634. package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
  635. package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
  636. package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
  637. package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
  638. package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
  639. package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
  640. package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
  641. package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
  642. package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
  643. package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
  644. package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
  645. package/dist/types/components/divider/divider.d.ts +45 -8
  646. package/dist/types/components/dropdown/dropdown.d.ts +41 -3
  647. package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
  648. package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
  649. package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
  650. package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
  651. package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
  652. package/dist/types/components/footer/footer.d.ts +39 -3
  653. package/dist/types/components/header/header-context.d.ts +1 -0
  654. package/dist/types/components/header/header-function/header-function.d.ts +24 -2
  655. package/dist/types/components/header/header-link/header-link.d.ts +22 -1
  656. package/dist/types/components/header/header-list/header-list.d.ts +16 -8
  657. package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
  658. package/dist/types/components/header/header.d.ts +45 -7
  659. package/dist/types/components/icon/icon.d.ts +44 -13
  660. package/dist/types/components/input/input.d.ts +65 -15
  661. package/dist/types/components/item/item.d.ts +38 -5
  662. package/dist/types/components/link/link.d.ts +41 -9
  663. package/dist/types/components/list/list.d.ts +58 -8
  664. package/dist/types/components/loading/loading.d.ts +48 -8
  665. package/dist/types/components/magic-button/magic-button.d.ts +37 -3
  666. package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
  667. package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
  668. package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
  669. package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
  670. package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
  671. package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
  672. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
  673. package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
  674. package/dist/types/components/menu/menu.d.ts +42 -9
  675. package/dist/types/components/menu/menu.utils.d.ts +2 -6
  676. package/dist/types/components/message/message.d.ts +38 -9
  677. package/dist/types/components/modal/modal.d.ts +34 -4
  678. package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
  679. package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
  680. package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
  681. package/dist/types/components/notification/notification.d.ts +36 -5
  682. package/dist/types/components/pagination/pagination.d.ts +56 -20
  683. package/dist/types/components/radio/radio.d.ts +49 -4
  684. package/dist/types/components/radio-group/radio-group.d.ts +52 -10
  685. package/dist/types/components/scrim/scrim.d.ts +72 -11
  686. package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
  687. package/dist/types/components/select/select-input/select-input.d.ts +22 -4
  688. package/dist/types/components/select/select-list/select-list.d.ts +51 -5
  689. package/dist/types/components/select/select-option/select-option.d.ts +31 -8
  690. package/dist/types/components/select/select.d.ts +152 -13
  691. package/dist/types/components/select/select.types.d.ts +5 -0
  692. package/dist/types/components/sign-in/sign-in.d.ts +30 -3
  693. package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
  694. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
  695. package/dist/types/components/skip-link/skip-link.d.ts +37 -3
  696. package/dist/types/components/slider/slider.d.ts +147 -21
  697. package/dist/types/components/slider/slider.types.d.ts +7 -2
  698. package/dist/types/components/slider/slider.utils.d.ts +27 -0
  699. package/dist/types/components/step/step-item/step-item.d.ts +15 -3
  700. package/dist/types/components/step/step.d.ts +47 -12
  701. package/dist/types/components/switch/switch.d.ts +39 -6
  702. package/dist/types/components/tab/tab-item/tab-item.d.ts +20 -4
  703. package/dist/types/components/tab/tab.d.ts +41 -11
  704. package/dist/types/components/table/table-body/table-body.d.ts +10 -6
  705. package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
  706. package/dist/types/components/table/table-header/table-header.d.ts +10 -6
  707. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
  708. package/dist/types/components/table/table-row/table-row.d.ts +11 -6
  709. package/dist/types/components/table/table.d.ts +49 -11
  710. package/dist/types/components/tag/tag.d.ts +55 -7
  711. package/dist/types/components/textarea/textarea.d.ts +75 -5
  712. package/dist/types/components/textarea/textarea.types.d.ts +4 -0
  713. package/dist/types/components/tooltip/tooltip.d.ts +46 -8
  714. package/dist/types/components/upload/upload.d.ts +78 -10
  715. package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
  716. package/dist/types/components/wizard/wizard.d.ts +44 -7
  717. package/dist/types/components.d.ts +5825 -1352
  718. package/dist/types/shared/utils/floating-ui.d.ts +4 -0
  719. package/dist/types/shared/utils/focus.d.ts +14 -0
  720. package/dist/types/shared/utils/getRandom.d.ts +1 -0
  721. package/dist/types/shared/utils/id.d.ts +1 -1
  722. package/dist/types/shared/utils/index.d.ts +6 -1
  723. package/dist/types/shared/utils/motion.d.ts +14 -0
  724. package/dist/types/shared/utils/ownership.d.ts +33 -0
  725. package/dist/types/shared/utils/prop-warning.d.ts +7 -0
  726. package/dist/types/shared/utils/props.d.ts +38 -0
  727. package/dist/types/shared/utils/swipe.d.ts +5 -0
  728. package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
  729. package/dist/types/stencil-public-runtime.d.ts +12 -0
  730. package/dist/webcomponents/index.esm.js +1 -1
  731. package/dist/webcomponents/p-01baafce.entry.js +5 -0
  732. package/dist/webcomponents/p-01fb0754.entry.js +5 -0
  733. package/dist/webcomponents/p-030c02f8.entry.js +5 -0
  734. package/dist/webcomponents/p-03359c92.entry.js +5 -0
  735. package/dist/webcomponents/p-09770c98.entry.js +5 -0
  736. package/dist/webcomponents/p-0b9714f1.entry.js +5 -0
  737. package/dist/webcomponents/p-12aa36a8.entry.js +5 -0
  738. package/dist/webcomponents/p-130b6e06.entry.js +5 -0
  739. package/dist/webcomponents/p-144f8c8d.entry.js +5 -0
  740. package/dist/webcomponents/p-14fe22e2.entry.js +5 -0
  741. package/dist/webcomponents/p-1ff9210a.entry.js +5 -0
  742. package/dist/webcomponents/p-2605cdc3.entry.js +5 -0
  743. package/dist/webcomponents/p-27afaec9.entry.js +5 -0
  744. package/dist/webcomponents/p-2a50e42d.entry.js +5 -0
  745. package/dist/webcomponents/p-327f034f.entry.js +5 -0
  746. package/dist/webcomponents/p-342650b8.entry.js +5 -0
  747. package/dist/webcomponents/p-38f6a78b.entry.js +5 -0
  748. package/dist/webcomponents/p-3920fe3a.entry.js +5 -0
  749. package/dist/webcomponents/p-3ae97345.entry.js +5 -0
  750. package/dist/webcomponents/p-3cce767c.entry.js +5 -0
  751. package/dist/webcomponents/p-3df6c5d2.entry.js +5 -0
  752. package/dist/webcomponents/p-3e287899.entry.js +5 -0
  753. package/dist/webcomponents/p-3e5580ba.entry.js +5 -0
  754. package/dist/webcomponents/p-403637dd.entry.js +5 -0
  755. package/dist/webcomponents/p-435c8ef2.entry.js +5 -0
  756. package/dist/webcomponents/p-59da5b55.entry.js +5 -0
  757. package/dist/webcomponents/p-5dd4314c.entry.js +5 -0
  758. package/dist/webcomponents/p-646af6a5.entry.js +5 -0
  759. package/dist/webcomponents/p-670e8fec.entry.js +5 -0
  760. package/dist/webcomponents/p-68046544.entry.js +5 -0
  761. package/dist/webcomponents/p-68ec76b8.entry.js +5 -0
  762. package/dist/webcomponents/p-6c0ea20c.entry.js +5 -0
  763. package/dist/webcomponents/p-6c2fe5e4.entry.js +5 -0
  764. package/dist/webcomponents/p-707df9b9.entry.js +5 -0
  765. package/dist/webcomponents/p-72b839fe.entry.js +5 -0
  766. package/dist/webcomponents/p-73dcc05b.entry.js +5 -0
  767. package/dist/webcomponents/p-7acf20d3.entry.js +5 -0
  768. package/dist/webcomponents/p-7b01bddb.entry.js +5 -0
  769. package/dist/webcomponents/p-7cd38850.entry.js +5 -0
  770. package/dist/webcomponents/p-82454383.entry.js +5 -0
  771. package/dist/webcomponents/p-91e959a8.entry.js +5 -0
  772. package/dist/webcomponents/p-964c01e6.entry.js +5 -0
  773. package/dist/webcomponents/p-9858e42a.entry.js +5 -0
  774. package/dist/webcomponents/p-9c4200b0.entry.js +5 -0
  775. package/dist/webcomponents/p-9d9c87b1.entry.js +5 -0
  776. package/dist/webcomponents/p-B0PbhaxL.js +5 -0
  777. package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
  778. package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
  779. package/dist/webcomponents/p-BJtdabsr.js +5 -0
  780. package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
  781. package/dist/webcomponents/p-BlGV-x0w.js +5 -0
  782. package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
  783. package/dist/webcomponents/p-CDtFCbKp.js +5 -0
  784. package/dist/webcomponents/p-CNwZRgyL.js +5 -0
  785. package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
  786. package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
  787. package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
  788. package/dist/webcomponents/p-DWhzxlCx.js +5 -0
  789. package/dist/webcomponents/p-Dcn7tRST.js +7 -0
  790. package/dist/webcomponents/p-EbtQZm5s.js +5 -0
  791. package/dist/webcomponents/p-a0931550.entry.js +5 -0
  792. package/dist/webcomponents/p-a212fd85.entry.js +5 -0
  793. package/dist/webcomponents/p-a2e75143.entry.js +5 -0
  794. package/dist/webcomponents/p-a3bb98c9.entry.js +5 -0
  795. package/dist/webcomponents/p-a8b5dba0.entry.js +5 -0
  796. package/dist/webcomponents/p-aa909443.entry.js +5 -0
  797. package/dist/webcomponents/p-abaf2365.entry.js +5 -0
  798. package/dist/webcomponents/p-aeb16645.entry.js +5 -0
  799. package/dist/webcomponents/p-b287c384.entry.js +5 -0
  800. package/dist/webcomponents/p-b506b0a1.entry.js +5 -0
  801. package/dist/webcomponents/p-b520c08c.entry.js +5 -0
  802. package/dist/webcomponents/p-b94c3f84.entry.js +5 -0
  803. package/dist/webcomponents/p-bda62f90.entry.js +5 -0
  804. package/dist/webcomponents/p-c201ae16.entry.js +5 -0
  805. package/dist/webcomponents/p-c7e899a1.entry.js +5 -0
  806. package/dist/webcomponents/p-c8b7bbab.entry.js +5 -0
  807. package/dist/webcomponents/p-cbf3e251.entry.js +5 -0
  808. package/dist/webcomponents/{p-7f7506f0.entry.js → p-cff24492.entry.js} +1 -1
  809. package/dist/webcomponents/p-d35cf5b4.entry.js +5 -0
  810. package/dist/webcomponents/p-d45ffe9c.entry.js +5 -0
  811. package/dist/webcomponents/p-d719a4af.entry.js +5 -0
  812. package/dist/webcomponents/p-d826c052.entry.js +5 -0
  813. package/dist/webcomponents/p-da21a60d.entry.js +5 -0
  814. package/dist/webcomponents/p-de0c7f26.entry.js +5 -0
  815. package/dist/webcomponents/p-e20188c0.entry.js +5 -0
  816. package/dist/webcomponents/p-e27882e1.entry.js +5 -0
  817. package/dist/webcomponents/p-e3de5bb3.entry.js +5 -0
  818. package/dist/webcomponents/p-e624ff04.entry.js +5 -0
  819. package/dist/webcomponents/p-ed5af0e4.entry.js +5 -0
  820. package/dist/webcomponents/p-edc6da0e.entry.js +5 -0
  821. package/dist/webcomponents/p-f24fcf3d.entry.js +5 -0
  822. package/dist/webcomponents/p-f52ef0dc.entry.js +5 -0
  823. package/dist/webcomponents/{p-12286e73.entry.js → p-f558d7b9.entry.js} +1 -1
  824. package/dist/webcomponents/p-fcab1428.entry.js +5 -0
  825. package/dist/webcomponents/p-fe1729a7.entry.js +5 -0
  826. package/dist/webcomponents/webcomponents.esm.js +1 -1
  827. package/package.json +18 -3
  828. package/dist/cjs/clamp-Co_hWptd.js +0 -25
  829. package/dist/cjs/id-CjRFMzf6.js +0 -20
  830. package/dist/cjs/props-CScmBvKd.js +0 -24
  831. package/dist/collection/pages/components/cookiebar/index.js +0 -26
  832. package/dist/collection/pages/components/link/index.js +0 -29
  833. package/dist/collection/pages/components/pagination/index.js +0 -12
  834. package/dist/collection/pages/components/slider/index.js +0 -18
  835. package/dist/components/p-34Jfn-U-.js +0 -5
  836. package/dist/components/p-6OdfnwnK.js +0 -5
  837. package/dist/components/p-B7Amgxkp.js +0 -5
  838. package/dist/components/p-BKuMQJrQ.js +0 -5
  839. package/dist/components/p-BPJpHGOW.js +0 -5
  840. package/dist/components/p-Bb-nLtTG.js +0 -5
  841. package/dist/components/p-BeE7R9nu.js +0 -5
  842. package/dist/components/p-BkS6ujyf.js +0 -5
  843. package/dist/components/p-Bo0QYHJO.js +0 -5
  844. package/dist/components/p-C2i2c_io.js +0 -5
  845. package/dist/components/p-C7v0lVlX.js +0 -5
  846. package/dist/components/p-CMBsvswx.js +0 -5
  847. package/dist/components/p-CRrimdz6.js +0 -5
  848. package/dist/components/p-CWORw84-.js +0 -5
  849. package/dist/components/p-CvUMXJCl.js +0 -5
  850. package/dist/components/p-D6zroLx5.js +0 -5
  851. package/dist/components/p-DBP6K_aq.js +0 -5
  852. package/dist/components/p-DCrVo-8T.js +0 -5
  853. package/dist/components/p-DFUKDNck.js +0 -5
  854. package/dist/components/p-DHicj0By.js +0 -5
  855. package/dist/components/p-DIK54tTj.js +0 -5
  856. package/dist/components/p-DQRSHR-D.js +0 -5
  857. package/dist/components/p-DRVMm1Py.js +0 -5
  858. package/dist/components/p-DWPmUV72.js +0 -5
  859. package/dist/components/p-DXjQyH6s.js +0 -5
  860. package/dist/components/p-DmCxdB9P.js +0 -5
  861. package/dist/components/p-Dp0xy_3n.js +0 -5
  862. package/dist/components/p-DxZJrIyL.js +0 -5
  863. package/dist/components/p-JAkkThgf.js +0 -5
  864. package/dist/components/p-Ud-WB0hx.js +0 -5
  865. package/dist/components/p-fpMNttbg.js +0 -5
  866. package/dist/components/p-gvnfuTjd.js +0 -5
  867. package/dist/components/p-qYONSNcf.js +0 -5
  868. package/dist/components/p-qhhHGJY1.js +0 -5
  869. package/dist/components/p-ttI0nvv_.js +0 -5
  870. package/dist/components/p-ukNmfGNP.js +0 -5
  871. package/dist/components/p-xa8e1kSW.js +0 -5
  872. package/dist/esm/clamp-gvnfuTjd.js +0 -23
  873. package/dist/esm/id-BkS6ujyf.js +0 -18
  874. package/dist/esm/props-DRVMm1Py.js +0 -22
  875. package/dist/webcomponents/p-0196804a.entry.js +0 -5
  876. package/dist/webcomponents/p-0410186a.entry.js +0 -5
  877. package/dist/webcomponents/p-0415ef22.entry.js +0 -5
  878. package/dist/webcomponents/p-0777c7b1.entry.js +0 -5
  879. package/dist/webcomponents/p-0caa4d12.entry.js +0 -5
  880. package/dist/webcomponents/p-0d4f718d.entry.js +0 -5
  881. package/dist/webcomponents/p-0e84c9e8.entry.js +0 -5
  882. package/dist/webcomponents/p-147ac8d3.entry.js +0 -5
  883. package/dist/webcomponents/p-1580beee.entry.js +0 -5
  884. package/dist/webcomponents/p-18ee6175.entry.js +0 -5
  885. package/dist/webcomponents/p-1bca4499.entry.js +0 -5
  886. package/dist/webcomponents/p-1c303a4e.entry.js +0 -5
  887. package/dist/webcomponents/p-1d6b0b6f.entry.js +0 -5
  888. package/dist/webcomponents/p-1d8cb8fd.entry.js +0 -5
  889. package/dist/webcomponents/p-224daaac.entry.js +0 -5
  890. package/dist/webcomponents/p-28426d2a.entry.js +0 -5
  891. package/dist/webcomponents/p-2abd2da0.entry.js +0 -5
  892. package/dist/webcomponents/p-2fdc51ae.entry.js +0 -5
  893. package/dist/webcomponents/p-30c428b6.entry.js +0 -5
  894. package/dist/webcomponents/p-36bbea4e.entry.js +0 -5
  895. package/dist/webcomponents/p-3907ebfa.entry.js +0 -5
  896. package/dist/webcomponents/p-39a16f9d.entry.js +0 -5
  897. package/dist/webcomponents/p-3ebbd2f5.entry.js +0 -5
  898. package/dist/webcomponents/p-3ef7eac8.entry.js +0 -5
  899. package/dist/webcomponents/p-45356e9a.entry.js +0 -5
  900. package/dist/webcomponents/p-46513db4.entry.js +0 -5
  901. package/dist/webcomponents/p-4c13221a.entry.js +0 -5
  902. package/dist/webcomponents/p-51ce2c31.entry.js +0 -5
  903. package/dist/webcomponents/p-52df61cb.entry.js +0 -5
  904. package/dist/webcomponents/p-569134cf.entry.js +0 -5
  905. package/dist/webcomponents/p-5ce7db4a.entry.js +0 -5
  906. package/dist/webcomponents/p-5f373708.entry.js +0 -5
  907. package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
  908. package/dist/webcomponents/p-5fc7ba4c.entry.js +0 -5
  909. package/dist/webcomponents/p-66006312.entry.js +0 -5
  910. package/dist/webcomponents/p-66b13fd9.entry.js +0 -5
  911. package/dist/webcomponents/p-6OdfnwnK.js +0 -5
  912. package/dist/webcomponents/p-750799b7.entry.js +0 -5
  913. package/dist/webcomponents/p-756ff2ad.entry.js +0 -5
  914. package/dist/webcomponents/p-765bfe27.entry.js +0 -5
  915. package/dist/webcomponents/p-7ab96c11.entry.js +0 -5
  916. package/dist/webcomponents/p-7c2ff8b4.entry.js +0 -5
  917. package/dist/webcomponents/p-7fb03a49.entry.js +0 -5
  918. package/dist/webcomponents/p-82200563.entry.js +0 -5
  919. package/dist/webcomponents/p-83ff4579.entry.js +0 -5
  920. package/dist/webcomponents/p-85f8063b.entry.js +0 -5
  921. package/dist/webcomponents/p-8b558233.entry.js +0 -5
  922. package/dist/webcomponents/p-8e6c2767.entry.js +0 -5
  923. package/dist/webcomponents/p-8e819355.entry.js +0 -5
  924. package/dist/webcomponents/p-92a9b9c4.entry.js +0 -5
  925. package/dist/webcomponents/p-966ad32f.entry.js +0 -5
  926. package/dist/webcomponents/p-9679d230.entry.js +0 -5
  927. package/dist/webcomponents/p-96dd663b.entry.js +0 -5
  928. package/dist/webcomponents/p-98843fa3.entry.js +0 -5
  929. package/dist/webcomponents/p-9a375eff.entry.js +0 -5
  930. package/dist/webcomponents/p-9b358cff.entry.js +0 -5
  931. package/dist/webcomponents/p-9f7558c7.entry.js +0 -5
  932. package/dist/webcomponents/p-BkS6ujyf.js +0 -5
  933. package/dist/webcomponents/p-C2RBydfd.js +0 -6
  934. package/dist/webcomponents/p-CO5cOQQU.js +0 -5
  935. package/dist/webcomponents/p-DIK54tTj.js +0 -5
  936. package/dist/webcomponents/p-DRVMm1Py.js +0 -5
  937. package/dist/webcomponents/p-DxZJrIyL.js +0 -5
  938. package/dist/webcomponents/p-a382e115.entry.js +0 -5
  939. package/dist/webcomponents/p-a4ae72e3.entry.js +0 -5
  940. package/dist/webcomponents/p-a994c190.entry.js +0 -5
  941. package/dist/webcomponents/p-a9ff7c25.entry.js +0 -5
  942. package/dist/webcomponents/p-c0b0f531.entry.js +0 -5
  943. package/dist/webcomponents/p-c211af17.entry.js +0 -5
  944. package/dist/webcomponents/p-c492d926.entry.js +0 -5
  945. package/dist/webcomponents/p-c4cfe599.entry.js +0 -5
  946. package/dist/webcomponents/p-c846e784.entry.js +0 -5
  947. package/dist/webcomponents/p-c949d993.entry.js +0 -5
  948. package/dist/webcomponents/p-d1e899cd.entry.js +0 -5
  949. package/dist/webcomponents/p-d38d82cc.entry.js +0 -5
  950. package/dist/webcomponents/p-e0ce536a.entry.js +0 -5
  951. package/dist/webcomponents/p-e1331288.entry.js +0 -5
  952. package/dist/webcomponents/p-e360a463.entry.js +0 -5
  953. package/dist/webcomponents/p-f078f972.entry.js +0 -5
  954. package/dist/webcomponents/p-f26038e2.entry.js +0 -5
  955. package/dist/webcomponents/p-f303f6b3.entry.js +0 -5
  956. package/dist/webcomponents/p-f6318e94.entry.js +0 -5
  957. package/dist/webcomponents/p-f85ee01c.entry.js +0 -5
  958. package/dist/webcomponents/p-fcd4ae48.entry.js +0 -5
  959. package/dist/webcomponents/p-ffe0241e.entry.js +0 -5
  960. package/dist/webcomponents/p-gvnfuTjd.js +0 -5
@@ -2,17 +2,194 @@
2
2
  * Construído por SERPRO
3
3
  * © https://serpro.gov.br/ - MIT License.
4
4
  */
5
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-C2RBydfd.js';
6
- import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift, h as hide, b as arrow } from './floating-ui.dom-DIK54tTj.js';
7
- import { c as clampNumber } from './clamp-gvnfuTjd.js';
8
- import { i as isEventTargetInside, d as dispatchNativeFormEvent, r as redispatchNativeFormEvent, a as getEventTarget } from './event-DFN_so7I.js';
5
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-Dcn7tRST.js';
6
+ import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift, h as hide, b as arrow } from './floating-ui.dom-D9Zo6FlV.js';
7
+ import { c as resolveNumberPropValue, r as resolveAllowedPropValue, e as clampNumber } from './props-D07GjR4_.js';
8
+ import { i as isEventTargetInside, d as dispatchNativeFormEvent, r as redispatchNativeFormEvent, b as getEventTarget } from './event-CfuJQ1DY.js';
9
9
  import { r as resolveFormValidator, a as runFormValidator, g as getFormValidationState, i as isFormControlDisabled, c as setFormValidity } from './validator-D3tVP32U.js';
10
- import { g as generateUniqueId } from './id-BkS6ujyf.js';
10
+ import { g as generateUniqueId } from './id-BeJxz5TQ.js';
11
+ import { r as reportInvalidPropValue } from './prop-warning-BlGV-x0w.js';
11
12
  import { c as createRafBatcher } from './raf-batcher-cF3ia5e9.js';
12
13
  import { a as hasAssignedSlotContent } from './slot-BIG-yees.js';
13
14
 
14
- 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))}}@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))}}@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}}`;
15
+ const NAMED_COLORS = {
16
+ black: [0, 0, 0],
17
+ white: [255, 255, 255],
18
+ red: [229, 34, 7],
19
+ green: [22, 136, 33],
20
+ blue: [19, 81, 180],
21
+ yellow: [255, 205, 7],
22
+ orange: [255, 140, 0],
23
+ gray: [136, 136, 136],
24
+ grey: [136, 136, 136],
25
+ };
26
+ /**
27
+ * Converte string de cor (hex, rgb ou cor nomeada) em tupla [r, g, b].
28
+ */
29
+ function parseColor(raw) {
30
+ const str = raw.trim().toLowerCase();
31
+ if (NAMED_COLORS[str])
32
+ return NAMED_COLORS[str];
33
+ if (str.startsWith('#')) {
34
+ const hex = str.slice(1);
35
+ if (hex.length === 3) {
36
+ const r = Number.parseInt(hex[0] + hex[0], 16);
37
+ const g = Number.parseInt(hex[1] + hex[1], 16);
38
+ const b = Number.parseInt(hex[2] + hex[2], 16);
39
+ if (!Number.isNaN(r) && !Number.isNaN(g) && !Number.isNaN(b))
40
+ return [r, g, b];
41
+ }
42
+ else if (hex.length === 6) {
43
+ const r = Number.parseInt(hex.slice(0, 2), 16);
44
+ const g = Number.parseInt(hex.slice(2, 4), 16);
45
+ const b = Number.parseInt(hex.slice(4, 6), 16);
46
+ if (!Number.isNaN(r) && !Number.isNaN(g) && !Number.isNaN(b))
47
+ return [r, g, b];
48
+ }
49
+ }
50
+ const rgbMatch = str.match(/^rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);
51
+ if (rgbMatch) {
52
+ const r = Number.parseInt(rgbMatch[1], 10);
53
+ const g = Number.parseInt(rgbMatch[2], 10);
54
+ const b = Number.parseInt(rgbMatch[3], 10);
55
+ return [r, g, b];
56
+ }
57
+ return null;
58
+ }
59
+ /**
60
+ * Normaliza paradas de cor para interpolação dinâmica.
61
+ */
62
+ function parseGradientStops(gradient) {
63
+ // Gradiente padrão semântico: verde -> amarelo -> vermelho
64
+ const defaultStops = [
65
+ { r: 22, g: 136, b: 33, pos: 0 },
66
+ { r: 255, g: 205, b: 7, pos: 50 },
67
+ { r: 229, g: 34, b: 7, pos: 100 },
68
+ ];
69
+ if (gradient === true || gradient === '' || gradient === 'true') {
70
+ return defaultStops;
71
+ }
72
+ if (typeof gradient !== 'string') {
73
+ return defaultStops;
74
+ }
75
+ let cleaned = gradient.trim();
76
+ const linearMatch = cleaned.match(/linear-gradient\s*\((.*)\)/i);
77
+ if (linearMatch) {
78
+ cleaned = linearMatch[1];
79
+ // Remove direção inicial se houver (ex: "to right,")
80
+ cleaned = cleaned.replace(/^(to\s+[a-z\s]+|\d+deg)\s*,\s*/i, '');
81
+ }
82
+ // Divide por vírgulas preservando rgb(...)
83
+ const rawParts = cleaned.split(/,(?![^(]*\))/);
84
+ const stops = [];
85
+ for (const part of rawParts) {
86
+ const trimmed = part.trim();
87
+ if (!trimmed)
88
+ continue;
89
+ const posMatch = trimmed.match(/\s+(\d+(?:\.\d+)?)\s*%\s*$/);
90
+ const pos = posMatch ? Number.parseFloat(posMatch[1]) : undefined;
91
+ const colorStr = posMatch ? trimmed.slice(0, posMatch.index).trim() : trimmed;
92
+ const rgb = parseColor(colorStr);
93
+ if (rgb) {
94
+ stops.push({ rgb, pos });
95
+ }
96
+ }
97
+ if (stops.length < 2)
98
+ return defaultStops;
99
+ return stops.map((item, index) => ({
100
+ r: item.rgb[0],
101
+ g: item.rgb[1],
102
+ b: item.rgb[2],
103
+ pos: item.pos !== undefined ? item.pos : (index / (stops.length - 1)) * 100,
104
+ }));
105
+ }
106
+ /**
107
+ * Calcula a cor interpolada em uma determinada porcentagem (0 a 100).
108
+ */
109
+ function interpolateGradientColor(stops, percent) {
110
+ if (!stops.length)
111
+ return 'rgb(19, 81, 180)';
112
+ const clamped = Math.max(0, Math.min(100, percent));
113
+ if (clamped <= stops[0].pos) {
114
+ return `rgb(${stops[0].r}, ${stops[0].g}, ${stops[0].b})`;
115
+ }
116
+ if (clamped >= stops[stops.length - 1].pos) {
117
+ const last = stops[stops.length - 1];
118
+ return `rgb(${last.r}, ${last.g}, ${last.b})`;
119
+ }
120
+ for (let i = 0; i < stops.length - 1; i++) {
121
+ const s1 = stops[i];
122
+ const s2 = stops[i + 1];
123
+ if (clamped >= s1.pos && clamped <= s2.pos) {
124
+ const range = s2.pos - s1.pos;
125
+ const factor = range === 0 ? 0 : (clamped - s1.pos) / range;
126
+ const r = Math.round(s1.r + (s2.r - s1.r) * factor);
127
+ const g = Math.round(s1.g + (s2.g - s1.g) * factor);
128
+ const b = Math.round(s1.b + (s2.b - s1.b) * factor);
129
+ return `rgb(${r}, ${g}, ${b})`;
130
+ }
131
+ }
132
+ const last = stops[stops.length - 1];
133
+ return `rgb(${last.r}, ${last.g}, ${last.b})`;
134
+ }
135
+ /**
136
+ * Converte paradas de cor em string linear-gradient CSS.
137
+ */
138
+ function buildGradientCss(stops, direction) {
139
+ const parts = stops.map((s) => `rgb(${s.r}, ${s.g}, ${s.b}) ${s.pos.toFixed(1)}%`);
140
+ return `linear-gradient(${direction}, ${parts.join(', ')})`;
141
+ }
142
+ function parseStepItem(item) {
143
+ if (typeof item !== 'object' || item === null || !('value' in item))
144
+ return null;
145
+ const stepObj = item;
146
+ return {
147
+ value: Number(stepObj.value),
148
+ label: stepObj.label !== undefined ? String(stepObj.label) : undefined,
149
+ icon: stepObj.icon !== undefined ? String(stepObj.icon) : undefined,
150
+ ariaLabel: stepObj.ariaLabel !== undefined ? String(stepObj.ariaLabel) : undefined,
151
+ };
152
+ }
153
+ function parseStringSteps(items, min, max) {
154
+ const count = items.length;
155
+ const stepDiff = count > 1 ? (max - min) / (count - 1) : 0;
156
+ return items.map((item, index) => ({
157
+ value: Number((min + index * stepDiff).toFixed(4)),
158
+ label: String(item),
159
+ }));
160
+ }
161
+ /**
162
+ * Normaliza a propriedade `steps` (array de objetos, array de strings ou JSON string).
163
+ */
164
+ function normalizeSteps(raw, min, max) {
165
+ if (!raw)
166
+ return [];
167
+ let parsed = raw;
168
+ if (typeof raw === 'string') {
169
+ try {
170
+ parsed = JSON.parse(raw);
171
+ }
172
+ catch {
173
+ return [];
174
+ }
175
+ }
176
+ if (!Array.isArray(parsed) || parsed.length === 0)
177
+ return [];
178
+ if (typeof parsed[0] === 'string') {
179
+ return parseStringSteps(parsed, min, max);
180
+ }
181
+ const result = [];
182
+ for (const item of parsed) {
183
+ const parsedItem = parseStepItem(item);
184
+ if (parsedItem)
185
+ result.push(parsedItem);
186
+ }
187
+ return result.sort((a, b) => a.value - b.value);
188
+ }
15
189
 
190
+ 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))}`;
191
+
192
+ const SLIDER_ORIENTATIONS = ['horizontal', 'vertical'];
16
193
  const Slider = class {
17
194
  constructor(hostRef) {
18
195
  registerInstance(this, hostRef);
@@ -40,6 +217,9 @@ const Slider = class {
40
217
  */
41
218
  this.hasRefStart = false;
42
219
  this.hasFeedbackSlot = false;
220
+ this.hasThumbIconSlot = false;
221
+ this.hasThumbStartIconSlot = false;
222
+ this.hasThumbEndIconSlot = false;
43
223
  this.customValidationMessage = '';
44
224
  this.validatorMessage = null;
45
225
  this.isValidating = false;
@@ -49,24 +229,26 @@ const Slider = class {
49
229
  */
50
230
  this.customId = generateUniqueId();
51
231
  /**
52
- * Valor mínimo aceito pelo slider.
232
+ * Valor mínimo aceito pelo slider. Valores inválidos usam `0`.
53
233
  */
54
234
  this.min = 0;
55
235
  /**
56
- * Valor máximo aceito pelo slider.
236
+ * Valor máximo aceito pelo slider. Deve ser maior que `min`; valores inválidos usam `100` e relações inválidas usam `min + 100`.
57
237
  */
58
238
  this.max = 100;
59
239
  /**
60
- * Incremento aplicado a cada passo.
240
+ * Incremento aplicado a cada passo. Deve ser maior que `0`; valores inválidos usam `1`.
61
241
  */
62
242
  this.step = 1;
63
243
  /**
64
- * Valor atual do slider (alça inicial no modo composto).
244
+ * Valor atual do slider (alça inicial no modo composto). Valores não finitos usam o limite mínimo;
245
+ * valores fora do intervalo são limitados.
65
246
  */
66
247
  this.value = 0;
67
248
  /**
68
249
  * Valor da alça final no modo composto (`range`).
69
- * Quando não fornecido em modo composto, assume o valor de `max`.
250
+ * Quando não fornecido em modo composto, assume o valor de `max`. Valores não finitos usam `max`,
251
+ * valores fora do intervalo são limitados.
70
252
  * @deprecated Use `rangeValue`.
71
253
  */
72
254
  this.valueEnd = NaN;
@@ -74,11 +256,6 @@ const Slider = class {
74
256
  * Desativa o slider, tornando-o não interativo.
75
257
  */
76
258
  this.disabled = false;
77
- /**
78
- * Densidade da alça de controle.
79
- * `small` = 16px (desktop compacto), `medium` = 20px (desktop padrão), `large` = 24px (mobile).
80
- */
81
- this.density = 'medium';
82
259
  /**
83
260
  * Exibe o slider na orientação vertical.
84
261
  * @deprecated Use `orientation`.
@@ -94,8 +271,11 @@ const Slider = class {
94
271
  */
95
272
  this.showLabel = false;
96
273
  /**
97
- * Exibe campo de entrada numérico sincronizado com a alça.
98
- * Quando ativo, a etiqueta de valor não é exibida.
274
+ * Exibe um `br-input` numérico sincronizado com a alça.
275
+ * No modo `range`, exibe um campo para o início e outro para o fim; na
276
+ * orientação horizontal ficam nas extremidades esquerda e direita, e na
277
+ * vertical ficam acima e abaixo da trilha. Quando ativo, a etiqueta de valor
278
+ * não é exibida.
99
279
  */
100
280
  this.showInput = false;
101
281
  /**
@@ -113,7 +293,14 @@ const Slider = class {
113
293
  * Quando ativo, sobrescreve o conteúdo dos slots `ref-start` e `ref-end`.
114
294
  */
115
295
  this.showBounds = false;
116
- this.inputEditing = false;
296
+ /**
297
+ * Densidade visual do componente.
298
+ * Altera exclusivamente as dimensões da alça de controle (thumb).
299
+ * Valores aceitos: 'small' (16px), 'medium' (20px - padrão), 'large' (24px).
300
+ * 'high' e 'low' são aceitos como sinônimos de 'small' e 'large'.
301
+ */
302
+ this.density = 'medium';
303
+ this.inputEditing = null;
117
304
  this.draggingThumb = 'start';
118
305
  this.tickValuesCacheKey = '';
119
306
  this.tickValuesCache = [];
@@ -168,31 +355,65 @@ const Slider = class {
168
355
  dispatchNativeFormEvent(this.el, 'change');
169
356
  void this.validate();
170
357
  };
171
- this.handleInputInput = (event) => {
172
- this.inputEditing = true;
173
- const parsed = parseFloat(event.target.value);
358
+ this.handleInputInput = (event, thumb) => {
359
+ this.inputEditing = thumb;
360
+ const input = event.currentTarget;
361
+ const parsed = Number.parseFloat(input.value ?? '');
174
362
  if (!Number.isNaN(parsed)) {
175
- const next = this.clamp(parsed);
176
- if (next !== this.value) {
177
- this.value = next;
178
- this.brDidChangeValue.emit(this.value);
363
+ const { current, min, max } = this.getInputValueState(thumb);
364
+ if (parsed >= min && parsed <= max && parsed !== current) {
365
+ this.updateValueFromInput(thumb, parsed);
179
366
  }
180
367
  }
181
368
  redispatchNativeFormEvent(this.el, event, 'input');
182
369
  };
183
- this.handleInputBlur = (event) => {
184
- this.inputEditing = false;
185
- const raw = event.target.value;
186
- const parsed = parseFloat(raw);
187
- const next = Number.isNaN(parsed) ? this.value : this.snapToStep(this.clamp(parsed));
188
- if (next !== this.value) {
189
- this.value = next;
190
- this.brDidChangeValue.emit(this.value);
191
- }
192
- event.target.value = String(this.value);
370
+ this.handleInputChange = (event, thumb) => {
371
+ event.stopPropagation();
372
+ const input = event.currentTarget;
373
+ const { current, min, max } = this.getInputValueState(thumb);
374
+ const parsed = Number.parseFloat(input.value ?? '');
375
+ const next = Number.isNaN(parsed) ? current : this.snapToStep(this.clamp(parsed, max, min));
376
+ this.inputEditing = null;
377
+ if (next !== current)
378
+ this.updateValueFromInput(thumb, next);
379
+ input.value = String(next);
193
380
  dispatchNativeFormEvent(this.el, 'change');
194
381
  void this.validate();
195
382
  };
383
+ this.handleStepClick = (val) => {
384
+ if (this.isDisabled())
385
+ return;
386
+ if (this.range) {
387
+ const distStart = Math.abs(val - this.value);
388
+ const distEnd = Math.abs(val - this.valueEnd);
389
+ if (distStart <= distEnd) {
390
+ if (val !== this.value) {
391
+ this.value = val;
392
+ this.brDidChangeValue.emit(this.value);
393
+ this.syncRangeValue();
394
+ dispatchNativeFormEvent(this.el, 'input');
395
+ dispatchNativeFormEvent(this.el, 'change');
396
+ void this.validate();
397
+ }
398
+ }
399
+ else if (val !== this.valueEnd) {
400
+ this.valueEnd = val;
401
+ this.brDidChangeValueEnd.emit(this.valueEnd);
402
+ this.syncRangeValue();
403
+ dispatchNativeFormEvent(this.el, 'input');
404
+ dispatchNativeFormEvent(this.el, 'change');
405
+ void this.validate();
406
+ }
407
+ }
408
+ else if (val !== this.value) {
409
+ this.value = val;
410
+ this.brDidChangeValue.emit(this.value);
411
+ this.syncRangeValue();
412
+ dispatchNativeFormEvent(this.el, 'input');
413
+ dispatchNativeFormEvent(this.el, 'change');
414
+ void this.validate();
415
+ }
416
+ };
196
417
  }
197
418
  formDisabledCallback(disabled) {
198
419
  this.formDisabled = disabled;
@@ -214,16 +435,43 @@ const Slider = class {
214
435
  if (this.range && !Number.isNaN(end))
215
436
  this.valueEnd = end;
216
437
  }
438
+ get effectiveMin() {
439
+ return resolveNumberPropValue(this.el, 'min', this.min, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0);
440
+ }
441
+ get effectiveMax() {
442
+ const min = this.effectiveMin;
443
+ const max = resolveNumberPropValue(this.el, 'max', this.max, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 100);
444
+ if (max > min)
445
+ return max;
446
+ reportInvalidPropValue(this.el, 'max', this.max, 'O valor deve ser maior que "min".', `Aplicando o fallback ${min + 100}.`);
447
+ return min + 100;
448
+ }
449
+ get effectiveStep() {
450
+ const step = resolveNumberPropValue(this.el, 'step', this.step, 0, Number.MAX_SAFE_INTEGER, 1);
451
+ if (step > 0)
452
+ return step;
453
+ reportInvalidPropValue(this.el, 'step', this.step, 'O valor deve ser maior que 0.', 'Aplicando o fallback 1.');
454
+ return 1;
455
+ }
456
+ get effectiveValue() {
457
+ return resolveNumberPropValue(this.el, 'value', this.value, this.effectiveMin, this.effectiveMax, this.effectiveMin);
458
+ }
459
+ get effectiveValueEnd() {
460
+ if (!this.range || Number.isNaN(this.valueEnd))
461
+ return this.effectiveMax;
462
+ return resolveNumberPropValue(this.el, 'valueEnd', this.valueEnd, this.effectiveMin, this.effectiveMax, this.effectiveMax);
463
+ }
217
464
  onValueChange(newValue) {
218
- const numericMax = this.range && !Number.isNaN(this.valueEnd) ? this.valueEnd : this.max;
219
- const clamped = this.clamp(newValue, numericMax);
465
+ const normalized = this.effectiveValue;
466
+ const numericMax = this.range ? this.effectiveValueEnd : this.effectiveMax;
467
+ const clamped = this.clamp(normalized, numericMax);
220
468
  if (clamped !== newValue) {
221
469
  this.value = clamped;
222
470
  return;
223
471
  }
224
472
  this.elementInternals?.setFormValue(this.getFormValue());
225
- if (this.inputEl && !this.inputEditing) {
226
- this.inputEl.value = String(clamped);
473
+ if (this.inputStartEl && this.inputEditing !== 'start') {
474
+ this.inputStartEl.value = String(clamped);
227
475
  }
228
476
  this.syncRangeValue();
229
477
  this.updateValidity();
@@ -231,28 +479,35 @@ const Slider = class {
231
479
  onValueEndChange(newValue) {
232
480
  if (!this.range)
233
481
  return;
234
- const clamped = this.clamp(newValue, this.max, this.value);
482
+ const clamped = this.clamp(this.effectiveValueEnd, this.effectiveMax, this.effectiveValue);
235
483
  if (clamped !== newValue) {
236
484
  this.valueEnd = clamped;
237
485
  return;
238
486
  }
239
487
  this.elementInternals?.setFormValue(this.getFormValue());
488
+ if (this.inputEndEl && this.inputEditing !== 'end') {
489
+ this.inputEndEl.value = String(clamped);
490
+ }
240
491
  this.syncRangeValue();
241
492
  this.updateValidity();
242
493
  }
243
494
  onRangeValueChange(newValue) {
244
495
  if (!this.range || !newValue)
245
496
  return;
497
+ if (typeof newValue !== 'object' || !Number.isFinite(newValue.start) || !Number.isFinite(newValue.end)) {
498
+ reportInvalidPropValue(this.el, 'rangeValue', newValue, 'Informe um objeto com `start` e `end` numéricos finitos.', 'Mantendo o último intervalo efetivo.');
499
+ this.syncRangeValue();
500
+ return;
501
+ }
246
502
  if (newValue.start !== this.value)
247
503
  this.value = newValue.start;
248
504
  if (newValue.end !== this.valueEnd)
249
505
  this.valueEnd = newValue.end;
250
506
  }
251
507
  componentWillLoad() {
252
- this.value = this.clamp(this.value);
508
+ this.value = this.effectiveValue;
253
509
  if (this.range) {
254
- const endVal = Number.isNaN(this.valueEnd) ? this.max : this.valueEnd;
255
- this.valueEnd = Math.max(this.value, this.clamp(endVal));
510
+ this.valueEnd = Math.max(this.value, this.effectiveValueEnd);
256
511
  }
257
512
  this.elementInternals?.setFormValue(this.getFormValue());
258
513
  this.initialValue = this.value;
@@ -261,23 +516,31 @@ const Slider = class {
261
516
  }
262
517
  componentDidLoad() {
263
518
  this.hasFeedbackSlot = this.el.querySelector('[slot="feedback"]') !== null;
519
+ this.hasThumbIconSlot = this.el.querySelector('[slot="thumb-icon"]') !== null;
520
+ this.hasThumbStartIconSlot = this.el.querySelector('[slot="thumb-start-icon"]') !== null;
521
+ this.hasThumbEndIconSlot = this.el.querySelector('[slot="thumb-end-icon"]') !== null;
264
522
  const root = this.el.shadowRoot;
265
523
  if (root) {
524
+ const slotMap = {
525
+ 'ref-start': (filled) => (this.hasRefStart = filled),
526
+ 'ref-end': (filled) => (this.hasRefEnd = filled),
527
+ 'thumb-icon': (filled) => (this.hasThumbIconSlot = filled),
528
+ 'thumb-start-icon': (filled) => (this.hasThumbStartIconSlot = filled),
529
+ 'thumb-end-icon': (filled) => (this.hasThumbEndIconSlot = filled),
530
+ };
266
531
  root.querySelectorAll('slot[name]').forEach((slot) => {
267
- const update = () => {
268
- const filled = slot.assignedNodes({ flatten: true }).length > 0;
269
- if (slot.name === 'ref-start')
270
- this.hasRefStart = filled;
271
- else if (slot.name === 'ref-end')
272
- this.hasRefEnd = filled;
273
- };
532
+ const handler = slotMap[slot.name];
533
+ if (!handler)
534
+ return;
535
+ const update = () => handler(slot.assignedNodes({ flatten: true }).length > 0);
274
536
  update();
275
537
  slot.addEventListener('slotchange', update);
276
538
  });
277
539
  }
278
- if (this.inputEl) {
279
- this.inputEl.value = String(this.value);
280
- }
540
+ if (this.inputStartEl)
541
+ this.inputStartEl.value = String(this.value);
542
+ if (this.inputEndEl)
543
+ this.inputEndEl.value = String(this.valueEnd);
281
544
  requestAnimationFrame(() => this.setupLabelAutoUpdate());
282
545
  }
283
546
  componentDidUpdate() {
@@ -328,7 +591,10 @@ const Slider = class {
328
591
  return getFormValidationState(this.elementInternals);
329
592
  }
330
593
  get effectiveVertical() {
331
- return this.orientation === undefined ? this.vertical : this.orientation === 'vertical';
594
+ if (this.orientation === undefined)
595
+ return this.vertical;
596
+ const orientation = resolveAllowedPropValue(this.el, 'orientation', this.orientation, SLIDER_ORIENTATIONS, 'horizontal');
597
+ return orientation === 'vertical';
332
598
  }
333
599
  setupLabelAutoUpdate() {
334
600
  const showValueLabel = this.showLabel && !this.showInput;
@@ -404,32 +670,82 @@ const Slider = class {
404
670
  return;
405
671
  this.rangeValue = { start: this.value, end: this.valueEnd };
406
672
  }
407
- clamp(value, max = this.max, min = this.min) {
673
+ get normalizedSteps() {
674
+ return normalizeSteps(this.steps, this.effectiveMin, this.effectiveMax);
675
+ }
676
+ get hasGradient() {
677
+ return (this.gradient === true ||
678
+ (typeof this.gradient === 'string' && this.gradient !== 'false' && this.gradient.trim() !== ''));
679
+ }
680
+ get gradientStops() {
681
+ return parseGradientStops(this.gradient ?? false);
682
+ }
683
+ getGradientColorAt(val) {
684
+ if (!this.hasGradient)
685
+ return undefined;
686
+ const pct = this.percentOf(val);
687
+ return interpolateGradientColor(this.gradientStops, pct);
688
+ }
689
+ getGradientCss(direction) {
690
+ return buildGradientCss(this.gradientStops, direction);
691
+ }
692
+ clamp(value, max = this.effectiveMax, min = this.effectiveMin) {
408
693
  return clampNumber(value, min, max, min);
409
694
  }
410
695
  snapToStep(value) {
411
- const stepped = Math.round((value - this.min) / this.step) * this.step + this.min;
696
+ const steps = this.normalizedSteps;
697
+ if (steps.length > 0) {
698
+ let closest = steps[0].value;
699
+ let minDiff = Math.abs(value - closest);
700
+ for (const s of steps) {
701
+ const diff = Math.abs(value - s.value);
702
+ if (diff < minDiff) {
703
+ minDiff = diff;
704
+ closest = s.value;
705
+ }
706
+ }
707
+ return this.clamp(closest);
708
+ }
709
+ const stepped = Math.round((value - this.effectiveMin) / this.effectiveStep) * this.effectiveStep + this.effectiveMin;
412
710
  return this.clamp(Number(stepped.toFixed(10)));
413
711
  }
414
712
  percent() {
415
713
  return this.percentOf(this.value);
416
714
  }
417
715
  percentOf(val) {
418
- if (this.max === this.min)
716
+ if (this.effectiveMax === this.effectiveMin)
419
717
  return 0;
420
- return ((val - this.min) / (this.max - this.min)) * 100;
718
+ return ((val - this.effectiveMin) / (this.effectiveMax - this.effectiveMin)) * 100;
719
+ }
720
+ applyGradientToFilledStyle(style, pctStart, span) {
721
+ if (!this.hasGradient)
722
+ return;
723
+ const dir = this.effectiveVertical ? 'to top' : 'to right';
724
+ style.background = this.getGradientCss(dir);
725
+ if (span <= 0)
726
+ return;
727
+ const bgSize = `${(10000 / span).toFixed(2)}%`;
728
+ style.backgroundSize = this.effectiveVertical ? `100% ${bgSize}` : `${bgSize} 100%`;
729
+ if (pctStart > 0) {
730
+ const bgPos = `${((-pctStart * 100) / span).toFixed(2)}%`;
731
+ style.backgroundPosition = this.effectiveVertical ? `0% ${bgPos}` : `${bgPos} 0%`;
732
+ }
421
733
  }
422
734
  getFilledStyle() {
423
735
  if (!this.range) {
424
736
  const pct = this.percent();
425
- return this.effectiveVertical ? { height: `${pct}%` } : { width: `${pct}%` };
737
+ const style = this.effectiveVertical ? { height: `${pct}%` } : { width: `${pct}%` };
738
+ this.applyGradientToFilledStyle(style, 0, pct);
739
+ return style;
426
740
  }
427
741
  const pctStart = this.percent();
428
742
  const pctEnd = this.percentOf(this.valueEnd);
429
- if (this.effectiveVertical) {
430
- return { bottom: `${pctStart}%`, height: `${pctEnd - pctStart}%` };
431
- }
432
- return { left: `${pctStart}%`, width: `${pctEnd - pctStart}%` };
743
+ const span = pctEnd - pctStart;
744
+ const style = this.effectiveVertical
745
+ ? { bottom: `${pctStart}%`, height: `${span}%` }
746
+ : { left: `${pctStart}%`, width: `${span}%` };
747
+ this.applyGradientToFilledStyle(style, pctStart, span);
748
+ return style;
433
749
  }
434
750
  getTrackMaskStyle() {
435
751
  if (!this.showTicks || !this.getTickValues().length)
@@ -449,18 +765,21 @@ const Slider = class {
449
765
  return { 'mask-image': gradient, '-webkit-mask-image': gradient };
450
766
  }
451
767
  getTickValues() {
452
- const cacheKey = `${this.min}|${this.max}|${this.step}`;
768
+ if (this.normalizedSteps.length > 0) {
769
+ return this.normalizedSteps.map((s) => s.value);
770
+ }
771
+ const cacheKey = `${this.effectiveMin}|${this.effectiveMax}|${this.effectiveStep}`;
453
772
  if (cacheKey === this.tickValuesCacheKey)
454
773
  return this.tickValuesCache;
455
774
  this.tickValuesCacheKey = cacheKey;
456
- if (this.max <= this.min || this.step <= 0 || !Number.isFinite(this.step)) {
775
+ if (this.effectiveMax <= this.effectiveMin || this.effectiveStep <= 0 || !Number.isFinite(this.effectiveStep)) {
457
776
  this.tickValuesCache = [];
458
777
  return this.tickValuesCache;
459
778
  }
460
- const count = Math.floor((this.max - this.min) / this.step);
461
- const hasUnalignedMax = Number((this.max - this.min) / this.step) % 1 !== 0;
779
+ const count = Math.floor((this.effectiveMax - this.effectiveMin) / this.effectiveStep);
780
+ const hasUnalignedMax = Number((this.effectiveMax - this.effectiveMin) / this.effectiveStep) % 1 !== 0;
462
781
  const valueCount = count + 1 + (hasUnalignedMax ? 1 : 0);
463
- const getValueAt = (index) => index <= count ? Number((this.min + index * this.step).toFixed(10)) : this.max;
782
+ const getValueAt = (index) => index <= count ? Number((this.effectiveMin + index * this.effectiveStep).toFixed(10)) : this.effectiveMax;
464
783
  if (valueCount > Slider.MAX_VISUAL_TICKS) {
465
784
  // ponytail: limita somente o DOM visual; os valores selecionáveis permanecem ilimitados.
466
785
  const sampled = new Set([getValueAt(0), getValueAt(valueCount - 1)]);
@@ -476,23 +795,23 @@ const Slider = class {
476
795
  }
477
796
  getValueFromX(clientX, rect = this.trackEl?.getBoundingClientRect()) {
478
797
  if (!this.trackEl)
479
- return this.min;
798
+ return this.effectiveMin;
480
799
  if (!rect)
481
- return this.min;
800
+ return this.effectiveMin;
482
801
  if (rect.width === 0)
483
- return this.min;
802
+ return this.effectiveMin;
484
803
  const ratio = clampNumber((clientX - rect.left) / rect.width, 0, 1, 0);
485
- return this.min + ratio * (this.max - this.min);
804
+ return this.effectiveMin + ratio * (this.effectiveMax - this.effectiveMin);
486
805
  }
487
806
  getValueFromY(clientY, rect = this.trackEl?.getBoundingClientRect()) {
488
807
  if (!this.trackEl)
489
- return this.min;
808
+ return this.effectiveMin;
490
809
  if (!rect)
491
- return this.min;
810
+ return this.effectiveMin;
492
811
  if (rect.height === 0)
493
- return this.min;
812
+ return this.effectiveMin;
494
813
  const ratio = clampNumber((rect.bottom - clientY) / rect.height, 0, 1, 0);
495
- return this.min + ratio * (this.max - this.min);
814
+ return this.effectiveMin + ratio * (this.effectiveMax - this.effectiveMin);
496
815
  }
497
816
  nearerThumb(rawValue) {
498
817
  const distToStart = Math.abs(rawValue - this.value);
@@ -518,22 +837,72 @@ const Slider = class {
518
837
  }
519
838
  }
520
839
  }
840
+ getInputValueState(thumb) {
841
+ const isEnd = thumb === 'end';
842
+ return {
843
+ current: isEnd ? this.valueEnd : this.value,
844
+ min: isEnd ? this.value : this.effectiveMin,
845
+ max: isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax,
846
+ };
847
+ }
848
+ updateValueFromInput(thumb, value) {
849
+ if (thumb === 'end') {
850
+ this.valueEnd = value;
851
+ this.brDidChangeValueEnd.emit(this.valueEnd);
852
+ return;
853
+ }
854
+ this.value = value;
855
+ this.brDidChangeValue.emit(this.value);
856
+ }
857
+ calculateNextStepValue(key, current, min, max) {
858
+ const steps = this.normalizedSteps;
859
+ const currentIndex = steps.findIndex((s) => s.value === current);
860
+ switch (key) {
861
+ case 'ArrowRight':
862
+ case 'ArrowUp': {
863
+ const nextIdx = currentIndex >= 0 ? Math.min(steps.length - 1, currentIndex + 1) : 0;
864
+ return this.clamp(steps[nextIdx].value, max, min);
865
+ }
866
+ case 'ArrowLeft':
867
+ case 'ArrowDown': {
868
+ const prevIdx = currentIndex >= 0 ? Math.max(0, currentIndex - 1) : 0;
869
+ return this.clamp(steps[prevIdx].value, max, min);
870
+ }
871
+ case 'Home':
872
+ return min;
873
+ case 'End':
874
+ return max;
875
+ case 'PageUp': {
876
+ const jumpIdx = Math.min(steps.length - 1, (currentIndex >= 0 ? currentIndex : 0) + 2);
877
+ return this.clamp(steps[jumpIdx].value, max, min);
878
+ }
879
+ case 'PageDown': {
880
+ const jumpIdx = Math.max(0, (currentIndex >= 0 ? currentIndex : 0) - 2);
881
+ return this.clamp(steps[jumpIdx].value, max, min);
882
+ }
883
+ default:
884
+ return null;
885
+ }
886
+ }
521
887
  calculateNextSliderValue(key, current, min, max) {
888
+ if (this.normalizedSteps.length > 0) {
889
+ return this.calculateNextStepValue(key, current, min, max);
890
+ }
522
891
  switch (key) {
523
892
  case 'ArrowRight':
524
893
  case 'ArrowUp':
525
- return Math.min(max, current + this.step);
894
+ return Math.min(max, current + this.effectiveStep);
526
895
  case 'ArrowLeft':
527
896
  case 'ArrowDown':
528
- return Math.max(min, current - this.step);
897
+ return Math.max(min, current - this.effectiveStep);
529
898
  case 'Home':
530
899
  return min;
531
900
  case 'End':
532
901
  return max;
533
902
  case 'PageUp':
534
- return Math.min(max, current + this.step * 10);
903
+ return Math.min(max, current + this.effectiveStep * 10);
535
904
  case 'PageDown':
536
- return Math.max(min, current - this.step * 10);
905
+ return Math.max(min, current - this.effectiveStep * 10);
537
906
  default:
538
907
  return null;
539
908
  }
@@ -542,12 +911,12 @@ const Slider = class {
542
911
  if (this.isDisabled())
543
912
  return;
544
913
  const target = event.composedPath?.()[0] || getEventTarget(event);
545
- if (target === this.inputEl)
914
+ if (isEventTargetInside(event, this.inputStartEl) || isEventTargetInside(event, this.inputEndEl))
546
915
  return;
547
916
  const isEnd = this.range && target === this.thumbEndEl;
548
917
  const currentValue = isEnd ? this.valueEnd : this.value;
549
- const keyMin = isEnd ? this.value : this.min;
550
- const keyMax = isEnd ? this.max : this.range ? this.valueEnd : this.max;
918
+ const keyMin = isEnd ? this.value : this.effectiveMin;
919
+ const keyMax = isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax;
551
920
  const next = this.calculateNextSliderValue(event.key, currentValue, keyMin, keyMax);
552
921
  if (next === null)
553
922
  return;
@@ -583,13 +952,14 @@ const Slider = class {
583
952
  return isFormControlDisabled(this.disabled, this.formDisabled);
584
953
  }
585
954
  updateValidity() {
586
- const stepMismatch = this.step > 0 &&
587
- Math.abs((this.value - this.min) / this.step - Math.round((this.value - this.min) / this.step)) > 1e-9;
955
+ const stepMismatch = this.effectiveStep > 0 &&
956
+ Math.abs((this.value - this.effectiveMin) / this.effectiveStep -
957
+ Math.round((this.value - this.effectiveMin) / this.effectiveStep)) > 1e-9;
588
958
  const invalidRange = this.range && this.value > this.valueEnd;
589
959
  const flags = {
590
960
  customError: this.customValidationMessage !== '' || Boolean(this.validatorMessage) || invalidRange,
591
- rangeOverflow: this.value > this.max || (this.range && this.valueEnd > this.max),
592
- rangeUnderflow: this.value < this.min || (this.range && this.valueEnd < this.min),
961
+ rangeOverflow: this.value > this.effectiveMax || (this.range && this.valueEnd > this.effectiveMax),
962
+ rangeUnderflow: this.value < this.effectiveMin || (this.range && this.valueEnd < this.effectiveMin),
593
963
  stepMismatch,
594
964
  };
595
965
  const message = this.customValidationMessage ||
@@ -624,38 +994,90 @@ const Slider = class {
624
994
  }
625
995
  renderValueLabel(thumb) {
626
996
  const isEnd = thumb === 'end';
627
- return (h("div", { class: "slider-value-label", part: "value-label", ref: (el) => this.setValueLabelElement(thumb, el), "aria-hidden": "true" }, isEnd ? this.valueEnd : this.value, h("span", { class: "slider-value-label-arrow", part: "value-label-arrow", ref: (el) => this.setValueLabelArrowElement(thumb, el) })));
997
+ const val = isEnd ? this.valueEnd : this.value;
998
+ const stepMatch = this.normalizedSteps.find((s) => s.value === val);
999
+ const displayText = stepMatch?.label ?? String(val);
1000
+ const color = this.getGradientColorAt(val);
1001
+ const labelStyle = color ? { backgroundColor: color } : undefined;
1002
+ const arrowStyle = color ? { backgroundColor: color } : undefined;
1003
+ return (h("div", { class: "slider-value-label", part: "value-label", ref: (el) => this.setValueLabelElement(thumb, el), "aria-hidden": "true", style: labelStyle }, displayText, h("span", { class: "slider-value-label-arrow", part: "value-label-arrow", ref: (el) => this.setValueLabelArrowElement(thumb, el), style: arrowStyle })));
628
1004
  }
629
1005
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: mantém as variantes visuais do thumb em um único ponto.
630
1006
  renderThumb(thumb, style) {
631
1007
  const isEnd = thumb === 'end';
1008
+ const iconName = isEnd ? (this.thumbEndIcon ?? this.thumbIcon) : (this.thumbStartIcon ?? this.thumbIcon);
1009
+ const slotName = isEnd ? 'thumb-end-icon' : this.range ? 'thumb-start-icon' : 'thumb-icon';
1010
+ const hasSlot = isEnd
1011
+ ? this.hasThumbEndIconSlot
1012
+ : this.range
1013
+ ? this.hasThumbStartIconSlot
1014
+ : this.hasThumbIconSlot || this.hasThumbStartIconSlot;
1015
+ const hasIcon = Boolean(iconName || hasSlot);
632
1016
  return (h("div", { class: {
633
1017
  'slider-thumb': true,
634
1018
  'slider-thumb--start': !isEnd,
635
1019
  'slider-thumb--end': isEnd,
636
1020
  'slider-thumb--active': this.dragging && this.draggingThumb === thumb,
637
- }, 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
1021
+ 'slider-thumb--has-icon': hasIcon,
1022
+ }, 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
638
1023
  ? `${this.customId}-feedback`
639
1024
  : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot
640
1025
  ? `${this.customId}-feedback`
641
- : null, style: style }));
1026
+ : null, style: style }, h("slot", { name: slotName }, iconName && h("br-icon", { iconName: iconName, class: "slider-thumb-icon", "aria-hidden": "true" }))));
642
1027
  }
643
1028
  renderReferences() {
644
1029
  const hasRefs = this.hasRefStart || this.hasRefEnd || this.showBounds;
645
- return (h("div", { class: { 'slider-refs': true, 'slider-refs--hidden': !hasRefs }, part: "references" }, h("span", { class: "ref-start", part: "reference-start" }, h("slot", { name: "ref-start" }), this.showBounds && (h("span", { class: "ref-bound", part: "reference-bound" }, this.min))), h("span", { class: "ref-end", part: "reference-end" }, this.showBounds && (h("span", { class: "ref-bound", part: "reference-bound" }, this.max)), h("slot", { name: "ref-end" }))));
1030
+ return (h("div", { class: { 'slider-refs': true, 'slider-refs--hidden': !hasRefs }, part: "references" }, h("span", { class: "ref-start", part: "reference-start" }, h("slot", { name: "ref-start" }), this.showBounds && (h("span", { class: "ref-bound", part: "reference-bound" }, this.effectiveMin))), h("span", { class: "ref-end", part: "reference-end" }, this.showBounds && (h("span", { class: "ref-bound", part: "reference-bound" }, this.effectiveMax)), h("slot", { name: "ref-end" }))));
646
1031
  }
647
- renderInput() {
1032
+ setInputElement(thumb, element) {
1033
+ if (thumb === 'end') {
1034
+ this.inputEndEl = element;
1035
+ return;
1036
+ }
1037
+ this.inputStartEl = element;
1038
+ }
1039
+ renderInput(thumb) {
648
1040
  if (!this.showInput)
649
1041
  return undefined;
650
- return (h("div", { class: "slider-input-wrapper", part: "input-wrapper" }, 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
1042
+ const isEnd = thumb === 'end';
1043
+ const value = isEnd ? this.valueEnd : this.value;
1044
+ const min = isEnd ? this.value : this.effectiveMin;
1045
+ const max = isEnd ? this.effectiveMax : this.range ? this.valueEnd : this.effectiveMax;
1046
+ const label = isEnd ? `${this.label ?? 'Valor'} fim` : this.range ? `${this.label ?? 'Valor'} início` : this.label;
1047
+ return (h("div", { class: { 'slider-input-wrapper': true, [`slider-input-wrapper--${thumb}`]: true }, part: "input-wrapper" }, 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
651
1048
  ? `${this.customId}-feedback`
652
1049
  : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot
653
1050
  ? `${this.customId}-feedback`
654
- : null, onInput: this.handleInputInput, onBlur: this.handleInputBlur })));
1051
+ : null, value: String(value), ref: (el) => this.setInputElement(thumb, el), onInput: (event) => this.handleInputInput(event, thumb), onChange: (event) => this.handleInputChange(event, thumb), onBlur: () => {
1052
+ this.inputEditing = null;
1053
+ } })));
1054
+ }
1055
+ renderSteps() {
1056
+ return (h("div", { class: "slider-steps", part: "steps", "aria-hidden": "true" }, this.normalizedSteps.map((step) => {
1057
+ const pct = this.percentOf(step.value);
1058
+ const isSelected = this.range
1059
+ ? step.value >= this.value && step.value <= this.valueEnd
1060
+ : step.value === this.value;
1061
+ const posStyle = this.effectiveVertical ? { bottom: `${pct}%` } : { left: `${pct}%` };
1062
+ return (h("button", { type: "button", class: {
1063
+ 'slider-step': true,
1064
+ 'slider-step--active': isSelected,
1065
+ }, part: `step step-${step.value}`, style: posStyle, disabled: this.isDisabled(), tabIndex: -1, onClick: () => this.handleStepClick(step.value) }, step.icon && h("br-icon", { iconName: step.icon, class: "slider-step-icon", "aria-hidden": "true" }), step.label && h("span", { class: "slider-step-label" }, step.label)));
1066
+ })));
655
1067
  }
656
1068
  renderTrack() {
657
1069
  const trackMask = this.getTrackMaskStyle();
658
- return (h("div", { class: "slider-track", part: "track", ref: (el) => (this.trackEl = el), onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }, h("div", { class: "slider-track-visual", part: "track-visual", style: trackMask }, 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))));
1070
+ const startColor = this.getGradientColorAt(this.value);
1071
+ const endColor = this.range ? this.getGradientColorAt(this.valueEnd) : undefined;
1072
+ const startThumbStyle = {
1073
+ ...this.getThumbStyle(this.value),
1074
+ ...(startColor ? { backgroundColor: startColor, color: startColor } : {}),
1075
+ };
1076
+ const endThumbStyle = {
1077
+ ...this.getThumbStyle(this.valueEnd),
1078
+ ...(endColor ? { backgroundColor: endColor, color: endColor } : {}),
1079
+ };
1080
+ return (h("div", { class: "slider-track", part: "track", ref: (el) => (this.trackEl = el), onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }, h("div", { class: "slider-track-visual", part: "track-visual", style: trackMask }, 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)));
659
1081
  }
660
1082
  renderTickLabels() {
661
1083
  const tickValues = this.getTickValues();
@@ -663,7 +1085,7 @@ const Slider = class {
663
1085
  return (h("div", { class: "slider-tick-labels", part: "tick-labels", "aria-hidden": "true" }, intermediateTicks.map((value) => (h("span", { class: "slider-tick-label", part: "tick-label", style: this.effectiveVertical ? { bottom: `${this.percentOf(value)}%` } : { left: `${this.percentOf(value)}%` } }, value)))));
664
1086
  }
665
1087
  render() {
666
- return (h(Host, { key: '26be711ad91a867e82e35d10e86508aa5af68557' }, h("div", { key: '906052510af8d3a323ea8274b339ba264b745e25', class: this.getCssClassMap(), part: "base" }, h("div", { key: '323ee79d4a4fc4d81e4a1b43c8fa6298d0f92916', class: "slider-layout", part: "layout" }, h("div", { key: '113e5114161144af0466997b47108eb0e053af8e', class: "slider-body", part: "body" }, this.renderTrack(), this.renderReferences()), this.renderInput())), h("div", { key: 'b8ce4c3cae026492ad1db1e03f5709988b42a13e', id: `${this.customId}-feedback`, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, h("slot", { key: 'e2564e6830476cb3d495807f4b15d600f5c7146e', name: "feedback", onSlotchange: (event) => (this.hasFeedbackSlot = hasAssignedSlotContent(event.currentTarget)) }), !this.hasFeedbackSlot && (this.customValidationMessage || this.validatorMessage) ? (h("br-message", { state: "danger", message: this.customValidationMessage || this.validatorMessage })) : null)));
1088
+ return (h(Host, { key: '7c7f82026393c762b721269c20498c85efd9a6b3', style: { opacity: this.isDisabled() ? '1' : undefined } }, this.label && h("div", { key: '2195d6599d5fd68b42d47d3737bb621f2d095c0a', class: "slider-label" }, this.label), h("div", { key: '9e6ac187a1b53d2db04aaa8e60612e5d06e85fa8', class: this.getCssClassMap(), part: "base" }, h("div", { key: 'f001d13512efcf6fab5837261ffd80254888b6fc', class: "slider-layout", part: "layout" }, this.range && this.renderInput('start'), 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'))), h("div", { key: '2e72a57e643f887282c9222cefac6a4106e32751', id: `${this.customId}-feedback`, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, h("slot", { key: 'f1e9157b6202558e2e26b550a052cb94b089823d', name: "feedback", onSlotchange: (event) => (this.hasFeedbackSlot = hasAssignedSlotContent(event.currentTarget)) }), !this.hasFeedbackSlot && (this.customValidationMessage || this.validatorMessage) ? (h("br-message", { state: "danger", message: this.customValidationMessage || this.validatorMessage })) : null)));
667
1089
  }
668
1090
  static get formAssociated() { return true; }
669
1091
  get el() { return getElement(this); }