@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.
- package/README.md +87 -46
- package/cem/custom-elements.json +6367 -1134
- package/cem/webcomponents.html-custom-data.json +399 -286
- package/dist/cjs/br-avatar.cjs.entry.js +21 -14
- package/dist/cjs/br-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/br-breadcrumb.cjs.entry.js +49 -22
- package/dist/cjs/br-button_2.cjs.entry.js +72 -35
- package/dist/cjs/br-card.cjs.entry.js +6 -5
- package/dist/cjs/br-carousel-page.cjs.entry.js +3 -3
- package/dist/cjs/br-carousel.cjs.entry.js +77 -21
- package/dist/cjs/br-checkbox-group.cjs.entry.js +157 -27
- package/dist/cjs/br-checkbox.cjs.entry.js +85 -15
- package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
- package/dist/cjs/br-collapse_2.cjs.entry.js +85 -26
- package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-group.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-header.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-link.cjs.entry.js +14 -6
- package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +3 -5
- package/dist/cjs/br-cookiebar-note.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar.cjs.entry.js +38 -25
- package/dist/cjs/br-crumb.cjs.entry.js +2 -2
- package/dist/cjs/br-date-picker_3.cjs.entry.js +246 -88
- package/dist/cjs/br-datetime-picker.cjs.entry.js +115 -527
- package/dist/cjs/br-divider.cjs.entry.js +70 -17
- package/dist/cjs/br-dropdown_2.cjs.entry.js +304 -122
- package/dist/cjs/br-footer-category.cjs.entry.js +10 -6
- package/dist/cjs/br-footer-item.cjs.entry.js +9 -4
- package/dist/cjs/br-footer-legal.cjs.entry.js +4 -4
- package/dist/cjs/br-footer-logo.cjs.entry.js +22 -10
- package/dist/cjs/br-footer-social.cjs.entry.js +14 -6
- package/dist/cjs/br-footer.cjs.entry.js +16 -7
- package/dist/cjs/br-header-function.cjs.entry.js +28 -7
- package/dist/cjs/br-header-link.cjs.entry.js +25 -4
- package/dist/cjs/br-header-list.cjs.entry.js +6 -17
- package/dist/cjs/br-header-logo.cjs.entry.js +18 -7
- package/dist/cjs/br-header.cjs.entry.js +72 -17
- package/dist/cjs/br-icon.cjs.entry.js +160 -23
- package/dist/cjs/br-input.cjs.entry.js +130 -39
- package/dist/cjs/br-item.cjs.entry.js +96 -48
- package/dist/cjs/br-link.cjs.entry.js +20 -7
- package/dist/cjs/br-loading.cjs.entry.js +100 -38
- package/dist/cjs/br-magic-button.cjs.entry.js +26 -9
- package/dist/cjs/br-menu-group.cjs.entry.js +14 -3
- package/dist/cjs/br-menu-header.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-info.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-item.cjs.entry.js +27 -5
- package/dist/cjs/br-menu-link.cjs.entry.js +14 -6
- package/dist/cjs/br-menu-list.cjs.entry.js +23 -27
- package/dist/cjs/br-menu-logo.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-social.cjs.entry.js +16 -6
- package/dist/cjs/br-menu.cjs.entry.js +41 -64
- package/dist/cjs/br-modal.cjs.entry.js +26 -40
- package/dist/cjs/br-notification-body.cjs.entry.js +4 -4
- package/dist/cjs/br-notification-header.cjs.entry.js +4 -4
- package/dist/cjs/br-notification-item.cjs.entry.js +14 -8
- package/dist/cjs/br-notification.cjs.entry.js +23 -8
- package/dist/cjs/br-pagination.cjs.entry.js +119 -87
- package/dist/cjs/br-radio-group.cjs.entry.js +106 -57
- package/dist/cjs/br-radio.cjs.entry.js +61 -11
- package/dist/cjs/br-scrim.cjs.entry.js +161 -67
- package/dist/cjs/br-select-input_3.cjs.entry.js +283 -90
- package/dist/cjs/br-sign-in.cjs.entry.js +34 -15
- package/dist/cjs/br-skip-link-item.cjs.entry.js +39 -2
- package/dist/cjs/br-skip-link.cjs.entry.js +50 -33
- package/dist/cjs/br-skiplink-item.cjs.entry.js +22 -6
- package/dist/cjs/br-slider.cjs.entry.js +521 -99
- package/dist/cjs/br-step_2.cjs.entry.js +98 -44
- package/dist/cjs/br-switch.cjs.entry.js +20 -11
- package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
- package/dist/cjs/br-tab.cjs.entry.js +57 -44
- package/dist/cjs/br-table-body.cjs.entry.js +3 -3
- package/dist/cjs/br-table-cell.cjs.entry.js +30 -13
- package/dist/cjs/br-table-header-cell.cjs.entry.js +23 -7
- package/dist/cjs/br-table-header.cjs.entry.js +3 -3
- package/dist/cjs/br-table-row.cjs.entry.js +17 -3
- package/dist/cjs/br-table.cjs.entry.js +67 -21
- package/dist/cjs/br-tag.cjs.entry.js +48 -30
- package/dist/cjs/br-textarea.cjs.entry.js +117 -12
- package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
- package/dist/cjs/br-upload.cjs.entry.js +83 -24
- package/dist/cjs/br-wizard-panel.cjs.entry.js +16 -3
- package/dist/cjs/br-wizard.cjs.entry.js +52 -28
- package/dist/cjs/{isValid-Fu3kaWNn.js → datetime-picker-props-validation-DmNKSXsy.js} +481 -4
- package/dist/cjs/{floating-ui-MBI1osio.js → floating-ui-B6nsdYUU.js} +24 -1
- package/dist/cjs/{floating-ui.dom-BUSTaaxR.js → floating-ui.dom-wzdGZjyG.js} +201 -113
- package/dist/cjs/{focus-DuywwJPR.js → focus-BhfJnFgJ.js} +21 -0
- package/dist/cjs/header-context-CdawuLsH.js +17 -0
- package/dist/cjs/id-DE4jSi-L.js +36 -0
- package/dist/cjs/{index-CRdcutym.js → index-CGgZBuyy.js} +68 -752
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/motion-CgIooxWS.js +29 -0
- package/dist/cjs/ownership-UnpufyCx.js +116 -0
- package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
- package/dist/cjs/props-D8dybmr0.js +124 -0
- package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
- package/dist/cjs/webcomponents.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/avatar/avatar.js +48 -16
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
- package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button/button.js +88 -24
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/card/card.js +33 -5
- package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
- package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
- package/dist/collection/components/carousel/carousel.css +1 -1
- package/dist/collection/components/carousel/carousel.js +107 -21
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +134 -20
- package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
- package/dist/collection/components/checkgroup/checkgroup.js +42 -4
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +48 -8
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
- package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
- package/dist/collection/components/cookiebar/cookiebar.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar.js +67 -32
- package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
- package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
- package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
- package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
- package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
- package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/divider/divider.js +101 -26
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +166 -18
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/footer/footer.js +48 -7
- package/dist/collection/components/header/header-context.js +13 -0
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-function/header-function.js +51 -8
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-link/header-link.js +52 -2
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-list/header-list.js +20 -23
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header-logo/header-logo.js +33 -8
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +110 -24
- package/dist/collection/components/icon/default-icons-cache.js +111 -3
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/icon/icon.js +80 -33
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +169 -54
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/item/item.js +134 -51
- package/dist/collection/components/link/link.css +1 -1
- package/dist/collection/components/link/link.js +48 -15
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/list/list.js +106 -25
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/loading/loading.js +131 -43
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/magic-button/magic-button.js +51 -9
- package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
- package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
- package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +75 -68
- package/dist/collection/components/menu/menu.utils.js +8 -18
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/message/message.js +50 -24
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/modal/modal.js +54 -41
- package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
- package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
- package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
- package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
- package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
- package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
- package/dist/collection/components/notification/notification.css +1 -1
- package/dist/collection/components/notification/notification.js +54 -10
- package/dist/collection/components/pagination/pagination.css +1 -1
- package/dist/collection/components/pagination/pagination.js +161 -74
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio/radio.js +109 -14
- package/dist/collection/components/radio-group/radio-group.css +1 -1
- package/dist/collection/components/radio-group/radio-group.js +153 -63
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/scrim/scrim.js +215 -74
- package/dist/collection/components/scrim/scrim.utils.js +5 -51
- package/dist/collection/components/select/select-input/select-input.css +1 -1
- package/dist/collection/components/select/select-input/select-input.js +58 -5
- package/dist/collection/components/select/select-list/select-list.css +1 -1
- package/dist/collection/components/select/select-list/select-list.js +247 -52
- package/dist/collection/components/select/select-option/select-option.css +1 -1
- package/dist/collection/components/select/select-option/select-option.js +108 -46
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +323 -118
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +55 -16
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/skip-link/skip-link.js +78 -39
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/slider/slider.js +530 -132
- package/dist/collection/components/slider/slider.utils.js +178 -0
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step-item/step-item.js +29 -12
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/step/step.js +119 -44
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +48 -15
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +89 -46
- package/dist/collection/components/table/table-body/table-body.css +1 -1
- package/dist/collection/components/table/table-body/table-body.js +11 -7
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +36 -17
- package/dist/collection/components/table/table-header/table-header.css +1 -1
- package/dist/collection/components/table/table-header/table-header.js +11 -7
- package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table-row/table-row.js +24 -7
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/table/table.js +107 -31
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +86 -36
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +222 -19
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/tooltip/tooltip.js +134 -45
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +135 -33
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/collection/components/wizard/wizard.js +82 -28
- package/dist/collection/pages/scripts/component-controls-core.js +95 -0
- package/dist/collection/pages/scripts/component-controls.js +238 -153
- package/dist/collection/pages/scripts/dev-event-console.js +5 -1
- package/dist/collection/pages/scripts/menu.js +90 -5
- package/dist/collection/pages/scripts/pageLoader.js +1486 -586
- package/dist/collection/pages/scripts/pageloader-preview.js +787 -0
- package/dist/collection/pages/scripts/playground-core.js +173 -0
- package/dist/collection/shared/utils/cssVariables.js +2 -0
- package/dist/collection/shared/utils/date.js +8 -4
- package/dist/collection/shared/utils/floating-ui.js +24 -1
- package/dist/collection/shared/utils/focus.js +31 -0
- package/dist/collection/shared/utils/getRandom.js +16 -1
- package/dist/collection/shared/utils/helpers.js +4 -11
- package/dist/collection/shared/utils/id.js +23 -7
- package/dist/collection/shared/utils/index.js +6 -1
- package/dist/collection/shared/utils/isEmpty.js +5 -3
- package/dist/collection/shared/utils/motion.js +25 -0
- package/dist/collection/shared/utils/ownership.js +113 -0
- package/dist/collection/shared/utils/prop-warning.js +47 -0
- package/dist/collection/shared/utils/props.js +79 -0
- package/dist/collection/shared/utils/swipe.js +11 -1
- package/dist/collection/shared/utils/transition.js +3 -0
- package/dist/collection/shared/utils/virtual-scroll.js +24 -0
- package/dist/components/br-avatar.d.ts +1 -1
- package/dist/components/br-avatar.js +1 -1
- package/dist/components/br-breadcrumb-item.d.ts +1 -1
- package/dist/components/br-breadcrumb-item.js +1 -1
- package/dist/components/br-breadcrumb.d.ts +1 -1
- package/dist/components/br-breadcrumb.js +1 -1
- package/dist/components/br-button.d.ts +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-card.d.ts +1 -1
- package/dist/components/br-card.js +1 -1
- package/dist/components/br-carousel-page.d.ts +1 -1
- package/dist/components/br-carousel-page.js +1 -1
- package/dist/components/br-carousel.d.ts +1 -1
- package/dist/components/br-carousel.js +1 -1
- package/dist/components/br-checkbox-group.d.ts +1 -1
- package/dist/components/br-checkbox-group.js +1 -1
- package/dist/components/br-checkbox.d.ts +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkgroup.d.ts +1 -1
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.d.ts +1 -1
- package/dist/components/br-collapse.js +1 -1
- package/dist/components/br-cookiebar-cookie.d.ts +1 -1
- package/dist/components/br-cookiebar-cookie.js +1 -1
- package/dist/components/br-cookiebar-group.d.ts +1 -1
- package/dist/components/br-cookiebar-group.js +1 -1
- package/dist/components/br-cookiebar-header.d.ts +1 -1
- package/dist/components/br-cookiebar-header.js +1 -1
- package/dist/components/br-cookiebar-link.d.ts +1 -1
- package/dist/components/br-cookiebar-link.js +1 -1
- package/dist/components/br-cookiebar-note-group.d.ts +1 -1
- package/dist/components/br-cookiebar-note-group.js +1 -1
- package/dist/components/br-cookiebar-note.d.ts +1 -1
- package/dist/components/br-cookiebar-note.js +1 -1
- package/dist/components/br-cookiebar.d.ts +1 -1
- package/dist/components/br-cookiebar.js +1 -1
- package/dist/components/br-crumb.d.ts +1 -1
- package/dist/components/br-crumb.js +1 -1
- package/dist/components/br-date-picker.d.ts +1 -1
- package/dist/components/br-date-picker.js +1 -1
- package/dist/components/br-datetime-input.d.ts +1 -1
- package/dist/components/br-datetime-input.js +1 -1
- package/dist/components/br-datetime-picker.d.ts +1 -1
- package/dist/components/br-datetime-picker.js +1 -1
- package/dist/components/br-divider.d.ts +1 -1
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.d.ts +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.d.ts +1 -1
- package/dist/components/br-footer-category.js +1 -1
- package/dist/components/br-footer-item.d.ts +1 -1
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-footer-legal.d.ts +1 -1
- package/dist/components/br-footer-legal.js +1 -1
- package/dist/components/br-footer-logo.d.ts +1 -1
- package/dist/components/br-footer-logo.js +1 -1
- package/dist/components/br-footer-social.d.ts +1 -1
- package/dist/components/br-footer-social.js +1 -1
- package/dist/components/br-footer.d.ts +1 -1
- package/dist/components/br-footer.js +1 -1
- package/dist/components/br-header-function.d.ts +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.d.ts +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.d.ts +1 -1
- package/dist/components/br-header-list.js +1 -1
- package/dist/components/br-header-logo.d.ts +1 -1
- package/dist/components/br-header-logo.js +1 -1
- package/dist/components/br-header.d.ts +1 -1
- package/dist/components/br-header.js +1 -1
- package/dist/components/br-icon.d.ts +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.d.ts +1 -1
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-item.d.ts +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-link.d.ts +1 -1
- package/dist/components/br-link.js +1 -1
- package/dist/components/br-list.d.ts +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.d.ts +1 -1
- package/dist/components/br-loading.js +1 -1
- package/dist/components/br-magic-button.d.ts +1 -1
- package/dist/components/br-magic-button.js +1 -1
- package/dist/components/br-menu-group.d.ts +1 -1
- package/dist/components/br-menu-group.js +1 -1
- package/dist/components/br-menu-header.d.ts +1 -1
- package/dist/components/br-menu-header.js +1 -1
- package/dist/components/br-menu-info.d.ts +1 -1
- package/dist/components/br-menu-info.js +1 -1
- package/dist/components/br-menu-item.d.ts +1 -1
- package/dist/components/br-menu-item.js +1 -1
- package/dist/components/br-menu-link.d.ts +1 -1
- package/dist/components/br-menu-link.js +1 -1
- package/dist/components/br-menu-list.d.ts +1 -1
- package/dist/components/br-menu-list.js +1 -1
- package/dist/components/br-menu-logo.d.ts +1 -1
- package/dist/components/br-menu-logo.js +1 -1
- package/dist/components/br-menu-social.d.ts +1 -1
- package/dist/components/br-menu-social.js +1 -1
- package/dist/components/br-menu.d.ts +1 -1
- package/dist/components/br-menu.js +1 -1
- package/dist/components/br-message.d.ts +1 -1
- package/dist/components/br-message.js +1 -1
- package/dist/components/br-modal.d.ts +1 -1
- package/dist/components/br-modal.js +1 -1
- package/dist/components/br-notification-body.d.ts +1 -1
- package/dist/components/br-notification-body.js +1 -1
- package/dist/components/br-notification-header.d.ts +1 -1
- package/dist/components/br-notification-header.js +1 -1
- package/dist/components/br-notification-item.d.ts +1 -1
- package/dist/components/br-notification-item.js +1 -1
- package/dist/components/br-notification.d.ts +1 -1
- package/dist/components/br-notification.js +1 -1
- package/dist/components/br-pagination.d.ts +1 -1
- package/dist/components/br-pagination.js +1 -1
- package/dist/components/br-radio-group.d.ts +1 -1
- package/dist/components/br-radio-group.js +1 -1
- package/dist/components/br-radio.d.ts +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.d.ts +1 -1
- package/dist/components/br-scrim.js +1 -1
- package/dist/components/br-select-input.d.ts +1 -1
- package/dist/components/br-select-input.js +1 -1
- package/dist/components/br-select-list.d.ts +1 -1
- package/dist/components/br-select-list.js +1 -1
- package/dist/components/br-select-option.d.ts +1 -1
- package/dist/components/br-select-option.js +1 -1
- package/dist/components/br-select.d.ts +1 -1
- package/dist/components/br-select.js +1 -1
- package/dist/components/br-sign-in.d.ts +1 -1
- package/dist/components/br-sign-in.js +1 -1
- package/dist/components/br-skip-link-item.d.ts +1 -1
- package/dist/components/br-skip-link-item.js +1 -1
- package/dist/components/br-skip-link.d.ts +1 -1
- package/dist/components/br-skip-link.js +1 -1
- package/dist/components/br-skiplink-item.d.ts +1 -1
- package/dist/components/br-skiplink-item.js +1 -1
- package/dist/components/br-slider.d.ts +1 -1
- package/dist/components/br-slider.js +1 -1
- package/dist/components/br-step-item.d.ts +1 -1
- package/dist/components/br-step-item.js +1 -1
- package/dist/components/br-step.d.ts +1 -1
- package/dist/components/br-step.js +1 -1
- package/dist/components/br-switch.d.ts +1 -1
- package/dist/components/br-switch.js +1 -1
- package/dist/components/br-tab-item.d.ts +1 -1
- package/dist/components/br-tab-item.js +1 -1
- package/dist/components/br-tab.d.ts +1 -1
- package/dist/components/br-tab.js +1 -1
- package/dist/components/br-table-body.d.ts +1 -1
- package/dist/components/br-table-body.js +1 -1
- package/dist/components/br-table-cell.d.ts +1 -1
- package/dist/components/br-table-cell.js +1 -1
- package/dist/components/br-table-header-cell.d.ts +1 -1
- package/dist/components/br-table-header-cell.js +1 -1
- package/dist/components/br-table-header.d.ts +1 -1
- package/dist/components/br-table-header.js +1 -1
- package/dist/components/br-table-row.d.ts +1 -1
- package/dist/components/br-table-row.js +1 -1
- package/dist/components/br-table.d.ts +1 -1
- package/dist/components/br-table.js +1 -1
- package/dist/components/br-tag.d.ts +1 -1
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-textarea.d.ts +1 -1
- package/dist/components/br-textarea.js +1 -1
- package/dist/components/br-time-picker.d.ts +1 -1
- package/dist/components/br-time-picker.js +1 -1
- package/dist/components/br-tooltip.d.ts +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-upload.d.ts +1 -1
- package/dist/components/br-upload.js +1 -1
- package/dist/components/br-wizard-panel.d.ts +1 -1
- package/dist/components/br-wizard-panel.js +1 -1
- package/dist/components/br-wizard.d.ts +1 -1
- package/dist/components/br-wizard.js +1 -1
- package/dist/components/index.d.ts +89 -89
- package/dist/components/index.js +1 -1
- package/dist/components/p-B0o70fWP.js +5 -0
- package/dist/components/p-B96LROz9.js +5 -0
- package/dist/components/p-BDqef5-y.js +5 -0
- package/dist/components/p-BEJGB0Nd.js +5 -0
- package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
- package/dist/components/p-BJtdabsr.js +5 -0
- package/dist/components/p-BP5zMCxG.js +5 -0
- package/dist/components/p-BRaphxoP.js +5 -0
- package/dist/components/p-BUzBa9L1.js +5 -0
- package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
- package/dist/components/p-Bc4nAk5i.js +5 -0
- package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
- package/dist/components/p-BeJxz5TQ.js +5 -0
- package/dist/components/p-Bezou5CQ.js +5 -0
- package/dist/components/p-BrNh9KdF.js +5 -0
- package/dist/components/p-C5th2dxu.js +5 -0
- package/dist/components/p-CDtFCbKp.js +5 -0
- package/dist/components/p-CEdUp183.js +5 -0
- package/dist/components/p-CF7t0uxQ.js +5 -0
- package/dist/components/p-CFzHx6zV.js +5 -0
- package/dist/components/p-CG4em0S6.js +5 -0
- package/dist/components/p-CI4D3-pf.js +5 -0
- package/dist/components/p-CIrVPkVg.js +5 -0
- package/dist/components/p-CNwZRgyL.js +5 -0
- package/dist/components/p-CppRJiyC.js +5 -0
- package/dist/components/p-Cvk1Ggs5.js +5 -0
- package/dist/components/p-D12US39c.js +5 -0
- package/dist/components/p-D9Zo6FlV.js +5 -0
- package/dist/components/p-DGPJkJsj.js +5 -0
- package/dist/components/p-DSHbttu9.js +5 -0
- package/dist/components/p-DTGNra9m.js +5 -0
- package/dist/components/p-DWhzxlCx.js +5 -0
- package/dist/components/p-DX1wAFn4.js +5 -0
- package/dist/components/p-DiLI514I.js +5 -0
- package/dist/components/p-Dma14GVa.js +5 -0
- package/dist/components/p-DpRZ4B0d.js +5 -0
- package/dist/components/p-G35qEQZd.js +5 -0
- package/dist/components/p-Ho_IybzR.js +5 -0
- package/dist/components/p-SvVnvJdC.js +5 -0
- package/dist/components/p-emAWunES.js +5 -0
- package/dist/components/p-fB79wKCm.js +5 -0
- package/dist/components/p-k7p4QJ8a.js +5 -0
- package/dist/esm/br-avatar.entry.js +21 -14
- package/dist/esm/br-breadcrumb-item.entry.js +2 -2
- package/dist/esm/br-breadcrumb.entry.js +49 -22
- package/dist/esm/br-button_2.entry.js +72 -35
- package/dist/esm/br-card.entry.js +6 -5
- package/dist/esm/br-carousel-page.entry.js +3 -3
- package/dist/esm/br-carousel.entry.js +78 -22
- package/dist/esm/br-checkbox-group.entry.js +157 -27
- package/dist/esm/br-checkbox.entry.js +86 -16
- package/dist/esm/br-checkgroup.entry.js +5 -2
- package/dist/esm/br-collapse_2.entry.js +86 -27
- package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
- package/dist/esm/br-cookiebar-group.entry.js +4 -4
- package/dist/esm/br-cookiebar-header.entry.js +4 -4
- package/dist/esm/br-cookiebar-link.entry.js +14 -6
- package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
- package/dist/esm/br-cookiebar-note.entry.js +4 -4
- package/dist/esm/br-cookiebar.entry.js +39 -26
- package/dist/esm/br-crumb.entry.js +2 -2
- package/dist/esm/br-date-picker_3.entry.js +207 -49
- package/dist/esm/br-datetime-picker.entry.js +82 -494
- package/dist/esm/br-divider.entry.js +70 -17
- package/dist/esm/br-dropdown_2.entry.js +305 -123
- package/dist/esm/br-footer-category.entry.js +10 -6
- package/dist/esm/br-footer-item.entry.js +9 -4
- package/dist/esm/br-footer-legal.entry.js +4 -4
- package/dist/esm/br-footer-logo.entry.js +22 -10
- package/dist/esm/br-footer-social.entry.js +14 -6
- package/dist/esm/br-footer.entry.js +16 -7
- package/dist/esm/br-header-function.entry.js +28 -7
- package/dist/esm/br-header-link.entry.js +25 -4
- package/dist/esm/br-header-list.entry.js +7 -18
- package/dist/esm/br-header-logo.entry.js +18 -7
- package/dist/esm/br-header.entry.js +72 -17
- package/dist/esm/br-icon.entry.js +160 -23
- package/dist/esm/br-input.entry.js +132 -41
- package/dist/esm/br-item.entry.js +96 -48
- package/dist/esm/br-link.entry.js +20 -7
- package/dist/esm/br-loading.entry.js +100 -38
- package/dist/esm/br-magic-button.entry.js +26 -9
- package/dist/esm/br-menu-group.entry.js +14 -3
- package/dist/esm/br-menu-header.entry.js +4 -4
- package/dist/esm/br-menu-info.entry.js +4 -4
- package/dist/esm/br-menu-item.entry.js +27 -5
- package/dist/esm/br-menu-link.entry.js +14 -6
- package/dist/esm/br-menu-list.entry.js +23 -27
- package/dist/esm/br-menu-logo.entry.js +4 -4
- package/dist/esm/br-menu-social.entry.js +16 -6
- package/dist/esm/br-menu.entry.js +42 -65
- package/dist/esm/br-modal.entry.js +26 -40
- package/dist/esm/br-notification-body.entry.js +4 -4
- package/dist/esm/br-notification-header.entry.js +4 -4
- package/dist/esm/br-notification-item.entry.js +14 -8
- package/dist/esm/br-notification.entry.js +24 -9
- package/dist/esm/br-pagination.entry.js +119 -87
- package/dist/esm/br-radio-group.entry.js +107 -58
- package/dist/esm/br-radio.entry.js +62 -12
- package/dist/esm/br-scrim.entry.js +161 -67
- package/dist/esm/br-select-input_3.entry.js +283 -90
- package/dist/esm/br-sign-in.entry.js +34 -15
- package/dist/esm/br-skip-link-item.entry.js +39 -2
- package/dist/esm/br-skip-link.entry.js +50 -33
- package/dist/esm/br-skiplink-item.entry.js +22 -6
- package/dist/esm/br-slider.entry.js +519 -97
- package/dist/esm/br-step_2.entry.js +98 -44
- package/dist/esm/br-switch.entry.js +21 -12
- package/dist/esm/br-tab-item.entry.js +38 -14
- package/dist/esm/br-tab.entry.js +57 -44
- package/dist/esm/br-table-body.entry.js +3 -3
- package/dist/esm/br-table-cell.entry.js +30 -13
- package/dist/esm/br-table-header-cell.entry.js +23 -7
- package/dist/esm/br-table-header.entry.js +3 -3
- package/dist/esm/br-table-row.entry.js +17 -3
- package/dist/esm/br-table.entry.js +68 -22
- package/dist/esm/br-tag.entry.js +49 -31
- package/dist/esm/br-textarea.entry.js +118 -13
- package/dist/esm/br-tooltip.entry.js +88 -42
- package/dist/esm/br-upload.entry.js +84 -25
- package/dist/esm/br-wizard-panel.entry.js +16 -3
- package/dist/esm/br-wizard.entry.js +52 -28
- package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
- package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
- package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
- package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
- package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
- package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
- package/dist/esm/header-context-BEJGB0Nd.js +15 -0
- package/dist/esm/id-BeJxz5TQ.js +34 -0
- package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
- package/dist/esm/{index-C2RBydfd.js → index-Dcn7tRST.js} +68 -752
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/motion-DWhzxlCx.js +27 -0
- package/dist/esm/ownership-CDtFCbKp.js +111 -0
- package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
- package/dist/esm/props-D07GjR4_.js +116 -0
- package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
- package/dist/esm/webcomponents.js +4 -4
- package/dist/hydrate/index.js +7370 -2603
- package/dist/hydrate/index.mjs +7370 -2603
- package/dist/loader/index.d.ts +1 -1
- package/dist/types/components/avatar/avatar.d.ts +34 -4
- package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
- package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
- package/dist/types/components/button/button.d.ts +45 -9
- package/dist/types/components/card/card.d.ts +31 -3
- package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
- package/dist/types/components/carousel/carousel.d.ts +46 -3
- package/dist/types/components/checkbox/checkbox.d.ts +59 -6
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
- package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
- package/dist/types/components/collapse/collapse.d.ts +33 -4
- package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
- package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
- package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
- package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
- package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
- package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
- package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
- package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
- package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
- package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
- package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
- package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
- package/dist/types/components/divider/divider.d.ts +45 -8
- package/dist/types/components/dropdown/dropdown.d.ts +41 -3
- package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
- package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
- package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
- package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
- package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
- package/dist/types/components/footer/footer.d.ts +39 -3
- package/dist/types/components/header/header-context.d.ts +1 -0
- package/dist/types/components/header/header-function/header-function.d.ts +24 -2
- package/dist/types/components/header/header-link/header-link.d.ts +22 -1
- package/dist/types/components/header/header-list/header-list.d.ts +16 -8
- package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
- package/dist/types/components/header/header.d.ts +45 -7
- package/dist/types/components/icon/icon.d.ts +44 -13
- package/dist/types/components/input/input.d.ts +65 -15
- package/dist/types/components/item/item.d.ts +38 -5
- package/dist/types/components/link/link.d.ts +41 -9
- package/dist/types/components/list/list.d.ts +58 -8
- package/dist/types/components/loading/loading.d.ts +48 -8
- package/dist/types/components/magic-button/magic-button.d.ts +37 -3
- package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
- package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
- package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
- package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
- package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
- package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
- package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
- package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
- package/dist/types/components/menu/menu.d.ts +42 -9
- package/dist/types/components/menu/menu.utils.d.ts +2 -6
- package/dist/types/components/message/message.d.ts +38 -9
- package/dist/types/components/modal/modal.d.ts +34 -4
- package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
- package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
- package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
- package/dist/types/components/notification/notification.d.ts +36 -5
- package/dist/types/components/pagination/pagination.d.ts +56 -20
- package/dist/types/components/radio/radio.d.ts +49 -4
- package/dist/types/components/radio-group/radio-group.d.ts +52 -10
- package/dist/types/components/scrim/scrim.d.ts +72 -11
- package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
- package/dist/types/components/select/select-input/select-input.d.ts +22 -4
- package/dist/types/components/select/select-list/select-list.d.ts +51 -5
- package/dist/types/components/select/select-option/select-option.d.ts +31 -8
- package/dist/types/components/select/select.d.ts +152 -13
- package/dist/types/components/select/select.types.d.ts +5 -0
- package/dist/types/components/sign-in/sign-in.d.ts +30 -3
- package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
- package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
- package/dist/types/components/skip-link/skip-link.d.ts +37 -3
- package/dist/types/components/slider/slider.d.ts +147 -21
- package/dist/types/components/slider/slider.types.d.ts +7 -2
- package/dist/types/components/slider/slider.utils.d.ts +27 -0
- package/dist/types/components/step/step-item/step-item.d.ts +15 -3
- package/dist/types/components/step/step.d.ts +47 -12
- package/dist/types/components/switch/switch.d.ts +39 -6
- package/dist/types/components/tab/tab-item/tab-item.d.ts +20 -4
- package/dist/types/components/tab/tab.d.ts +41 -11
- package/dist/types/components/table/table-body/table-body.d.ts +10 -6
- package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
- package/dist/types/components/table/table-header/table-header.d.ts +10 -6
- package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
- package/dist/types/components/table/table-row/table-row.d.ts +11 -6
- package/dist/types/components/table/table.d.ts +49 -11
- package/dist/types/components/tag/tag.d.ts +55 -7
- package/dist/types/components/textarea/textarea.d.ts +75 -5
- package/dist/types/components/textarea/textarea.types.d.ts +4 -0
- package/dist/types/components/tooltip/tooltip.d.ts +46 -8
- package/dist/types/components/upload/upload.d.ts +78 -10
- package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
- package/dist/types/components/wizard/wizard.d.ts +44 -7
- package/dist/types/components.d.ts +5825 -1352
- package/dist/types/shared/utils/floating-ui.d.ts +4 -0
- package/dist/types/shared/utils/focus.d.ts +14 -0
- package/dist/types/shared/utils/getRandom.d.ts +1 -0
- package/dist/types/shared/utils/id.d.ts +1 -1
- package/dist/types/shared/utils/index.d.ts +6 -1
- package/dist/types/shared/utils/motion.d.ts +14 -0
- package/dist/types/shared/utils/ownership.d.ts +33 -0
- package/dist/types/shared/utils/prop-warning.d.ts +7 -0
- package/dist/types/shared/utils/props.d.ts +38 -0
- package/dist/types/shared/utils/swipe.d.ts +5 -0
- package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
- package/dist/types/stencil-public-runtime.d.ts +12 -0
- package/dist/webcomponents/index.esm.js +1 -1
- package/dist/webcomponents/p-01baafce.entry.js +5 -0
- package/dist/webcomponents/p-01fb0754.entry.js +5 -0
- package/dist/webcomponents/p-030c02f8.entry.js +5 -0
- package/dist/webcomponents/p-03359c92.entry.js +5 -0
- package/dist/webcomponents/p-09770c98.entry.js +5 -0
- package/dist/webcomponents/p-0b9714f1.entry.js +5 -0
- package/dist/webcomponents/p-12aa36a8.entry.js +5 -0
- package/dist/webcomponents/p-130b6e06.entry.js +5 -0
- package/dist/webcomponents/p-144f8c8d.entry.js +5 -0
- package/dist/webcomponents/p-14fe22e2.entry.js +5 -0
- package/dist/webcomponents/p-1ff9210a.entry.js +5 -0
- package/dist/webcomponents/p-2605cdc3.entry.js +5 -0
- package/dist/webcomponents/p-27afaec9.entry.js +5 -0
- package/dist/webcomponents/p-2a50e42d.entry.js +5 -0
- package/dist/webcomponents/p-327f034f.entry.js +5 -0
- package/dist/webcomponents/p-342650b8.entry.js +5 -0
- package/dist/webcomponents/p-38f6a78b.entry.js +5 -0
- package/dist/webcomponents/p-3920fe3a.entry.js +5 -0
- package/dist/webcomponents/p-3ae97345.entry.js +5 -0
- package/dist/webcomponents/p-3cce767c.entry.js +5 -0
- package/dist/webcomponents/p-3df6c5d2.entry.js +5 -0
- package/dist/webcomponents/p-3e287899.entry.js +5 -0
- package/dist/webcomponents/p-3e5580ba.entry.js +5 -0
- package/dist/webcomponents/p-403637dd.entry.js +5 -0
- package/dist/webcomponents/p-435c8ef2.entry.js +5 -0
- package/dist/webcomponents/p-59da5b55.entry.js +5 -0
- package/dist/webcomponents/p-5dd4314c.entry.js +5 -0
- package/dist/webcomponents/p-646af6a5.entry.js +5 -0
- package/dist/webcomponents/p-670e8fec.entry.js +5 -0
- package/dist/webcomponents/p-68046544.entry.js +5 -0
- package/dist/webcomponents/p-68ec76b8.entry.js +5 -0
- package/dist/webcomponents/p-6c0ea20c.entry.js +5 -0
- package/dist/webcomponents/p-6c2fe5e4.entry.js +5 -0
- package/dist/webcomponents/p-707df9b9.entry.js +5 -0
- package/dist/webcomponents/p-72b839fe.entry.js +5 -0
- package/dist/webcomponents/p-73dcc05b.entry.js +5 -0
- package/dist/webcomponents/p-7acf20d3.entry.js +5 -0
- package/dist/webcomponents/p-7b01bddb.entry.js +5 -0
- package/dist/webcomponents/p-7cd38850.entry.js +5 -0
- package/dist/webcomponents/p-82454383.entry.js +5 -0
- package/dist/webcomponents/p-91e959a8.entry.js +5 -0
- package/dist/webcomponents/p-964c01e6.entry.js +5 -0
- package/dist/webcomponents/p-9858e42a.entry.js +5 -0
- package/dist/webcomponents/p-9c4200b0.entry.js +5 -0
- package/dist/webcomponents/p-9d9c87b1.entry.js +5 -0
- package/dist/webcomponents/p-B0PbhaxL.js +5 -0
- package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
- package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
- package/dist/webcomponents/p-BJtdabsr.js +5 -0
- package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
- package/dist/webcomponents/p-BlGV-x0w.js +5 -0
- package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
- package/dist/webcomponents/p-CDtFCbKp.js +5 -0
- package/dist/webcomponents/p-CNwZRgyL.js +5 -0
- package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
- package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
- package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
- package/dist/webcomponents/p-DWhzxlCx.js +5 -0
- package/dist/webcomponents/p-Dcn7tRST.js +7 -0
- package/dist/webcomponents/p-EbtQZm5s.js +5 -0
- package/dist/webcomponents/p-a0931550.entry.js +5 -0
- package/dist/webcomponents/p-a212fd85.entry.js +5 -0
- package/dist/webcomponents/p-a2e75143.entry.js +5 -0
- package/dist/webcomponents/p-a3bb98c9.entry.js +5 -0
- package/dist/webcomponents/p-a8b5dba0.entry.js +5 -0
- package/dist/webcomponents/p-aa909443.entry.js +5 -0
- package/dist/webcomponents/p-abaf2365.entry.js +5 -0
- package/dist/webcomponents/p-aeb16645.entry.js +5 -0
- package/dist/webcomponents/p-b287c384.entry.js +5 -0
- package/dist/webcomponents/p-b506b0a1.entry.js +5 -0
- package/dist/webcomponents/p-b520c08c.entry.js +5 -0
- package/dist/webcomponents/p-b94c3f84.entry.js +5 -0
- package/dist/webcomponents/p-bda62f90.entry.js +5 -0
- package/dist/webcomponents/p-c201ae16.entry.js +5 -0
- package/dist/webcomponents/p-c7e899a1.entry.js +5 -0
- package/dist/webcomponents/p-c8b7bbab.entry.js +5 -0
- package/dist/webcomponents/p-cbf3e251.entry.js +5 -0
- package/dist/webcomponents/{p-7f7506f0.entry.js → p-cff24492.entry.js} +1 -1
- package/dist/webcomponents/p-d35cf5b4.entry.js +5 -0
- package/dist/webcomponents/p-d45ffe9c.entry.js +5 -0
- package/dist/webcomponents/p-d719a4af.entry.js +5 -0
- package/dist/webcomponents/p-d826c052.entry.js +5 -0
- package/dist/webcomponents/p-da21a60d.entry.js +5 -0
- package/dist/webcomponents/p-de0c7f26.entry.js +5 -0
- package/dist/webcomponents/p-e20188c0.entry.js +5 -0
- package/dist/webcomponents/p-e27882e1.entry.js +5 -0
- package/dist/webcomponents/p-e3de5bb3.entry.js +5 -0
- package/dist/webcomponents/p-e624ff04.entry.js +5 -0
- package/dist/webcomponents/p-ed5af0e4.entry.js +5 -0
- package/dist/webcomponents/p-edc6da0e.entry.js +5 -0
- package/dist/webcomponents/p-f24fcf3d.entry.js +5 -0
- package/dist/webcomponents/p-f52ef0dc.entry.js +5 -0
- package/dist/webcomponents/{p-12286e73.entry.js → p-f558d7b9.entry.js} +1 -1
- package/dist/webcomponents/p-fcab1428.entry.js +5 -0
- package/dist/webcomponents/p-fe1729a7.entry.js +5 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +18 -3
- package/dist/cjs/clamp-Co_hWptd.js +0 -25
- package/dist/cjs/id-CjRFMzf6.js +0 -20
- package/dist/cjs/props-CScmBvKd.js +0 -24
- package/dist/collection/pages/components/cookiebar/index.js +0 -26
- package/dist/collection/pages/components/link/index.js +0 -29
- package/dist/collection/pages/components/pagination/index.js +0 -12
- package/dist/collection/pages/components/slider/index.js +0 -18
- package/dist/components/p-34Jfn-U-.js +0 -5
- package/dist/components/p-6OdfnwnK.js +0 -5
- package/dist/components/p-B7Amgxkp.js +0 -5
- package/dist/components/p-BKuMQJrQ.js +0 -5
- package/dist/components/p-BPJpHGOW.js +0 -5
- package/dist/components/p-Bb-nLtTG.js +0 -5
- package/dist/components/p-BeE7R9nu.js +0 -5
- package/dist/components/p-BkS6ujyf.js +0 -5
- package/dist/components/p-Bo0QYHJO.js +0 -5
- package/dist/components/p-C2i2c_io.js +0 -5
- package/dist/components/p-C7v0lVlX.js +0 -5
- package/dist/components/p-CMBsvswx.js +0 -5
- package/dist/components/p-CRrimdz6.js +0 -5
- package/dist/components/p-CWORw84-.js +0 -5
- package/dist/components/p-CvUMXJCl.js +0 -5
- package/dist/components/p-D6zroLx5.js +0 -5
- package/dist/components/p-DBP6K_aq.js +0 -5
- package/dist/components/p-DCrVo-8T.js +0 -5
- package/dist/components/p-DFUKDNck.js +0 -5
- package/dist/components/p-DHicj0By.js +0 -5
- package/dist/components/p-DIK54tTj.js +0 -5
- package/dist/components/p-DQRSHR-D.js +0 -5
- package/dist/components/p-DRVMm1Py.js +0 -5
- package/dist/components/p-DWPmUV72.js +0 -5
- package/dist/components/p-DXjQyH6s.js +0 -5
- package/dist/components/p-DmCxdB9P.js +0 -5
- package/dist/components/p-Dp0xy_3n.js +0 -5
- package/dist/components/p-DxZJrIyL.js +0 -5
- package/dist/components/p-JAkkThgf.js +0 -5
- package/dist/components/p-Ud-WB0hx.js +0 -5
- package/dist/components/p-fpMNttbg.js +0 -5
- package/dist/components/p-gvnfuTjd.js +0 -5
- package/dist/components/p-qYONSNcf.js +0 -5
- package/dist/components/p-qhhHGJY1.js +0 -5
- package/dist/components/p-ttI0nvv_.js +0 -5
- package/dist/components/p-ukNmfGNP.js +0 -5
- package/dist/components/p-xa8e1kSW.js +0 -5
- package/dist/esm/clamp-gvnfuTjd.js +0 -23
- package/dist/esm/id-BkS6ujyf.js +0 -18
- package/dist/esm/props-DRVMm1Py.js +0 -22
- package/dist/webcomponents/p-0196804a.entry.js +0 -5
- package/dist/webcomponents/p-0410186a.entry.js +0 -5
- package/dist/webcomponents/p-0415ef22.entry.js +0 -5
- package/dist/webcomponents/p-0777c7b1.entry.js +0 -5
- package/dist/webcomponents/p-0caa4d12.entry.js +0 -5
- package/dist/webcomponents/p-0d4f718d.entry.js +0 -5
- package/dist/webcomponents/p-0e84c9e8.entry.js +0 -5
- package/dist/webcomponents/p-147ac8d3.entry.js +0 -5
- package/dist/webcomponents/p-1580beee.entry.js +0 -5
- package/dist/webcomponents/p-18ee6175.entry.js +0 -5
- package/dist/webcomponents/p-1bca4499.entry.js +0 -5
- package/dist/webcomponents/p-1c303a4e.entry.js +0 -5
- package/dist/webcomponents/p-1d6b0b6f.entry.js +0 -5
- package/dist/webcomponents/p-1d8cb8fd.entry.js +0 -5
- package/dist/webcomponents/p-224daaac.entry.js +0 -5
- package/dist/webcomponents/p-28426d2a.entry.js +0 -5
- package/dist/webcomponents/p-2abd2da0.entry.js +0 -5
- package/dist/webcomponents/p-2fdc51ae.entry.js +0 -5
- package/dist/webcomponents/p-30c428b6.entry.js +0 -5
- package/dist/webcomponents/p-36bbea4e.entry.js +0 -5
- package/dist/webcomponents/p-3907ebfa.entry.js +0 -5
- package/dist/webcomponents/p-39a16f9d.entry.js +0 -5
- package/dist/webcomponents/p-3ebbd2f5.entry.js +0 -5
- package/dist/webcomponents/p-3ef7eac8.entry.js +0 -5
- package/dist/webcomponents/p-45356e9a.entry.js +0 -5
- package/dist/webcomponents/p-46513db4.entry.js +0 -5
- package/dist/webcomponents/p-4c13221a.entry.js +0 -5
- package/dist/webcomponents/p-51ce2c31.entry.js +0 -5
- package/dist/webcomponents/p-52df61cb.entry.js +0 -5
- package/dist/webcomponents/p-569134cf.entry.js +0 -5
- package/dist/webcomponents/p-5ce7db4a.entry.js +0 -5
- package/dist/webcomponents/p-5f373708.entry.js +0 -5
- package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
- package/dist/webcomponents/p-5fc7ba4c.entry.js +0 -5
- package/dist/webcomponents/p-66006312.entry.js +0 -5
- package/dist/webcomponents/p-66b13fd9.entry.js +0 -5
- package/dist/webcomponents/p-6OdfnwnK.js +0 -5
- package/dist/webcomponents/p-750799b7.entry.js +0 -5
- package/dist/webcomponents/p-756ff2ad.entry.js +0 -5
- package/dist/webcomponents/p-765bfe27.entry.js +0 -5
- package/dist/webcomponents/p-7ab96c11.entry.js +0 -5
- package/dist/webcomponents/p-7c2ff8b4.entry.js +0 -5
- package/dist/webcomponents/p-7fb03a49.entry.js +0 -5
- package/dist/webcomponents/p-82200563.entry.js +0 -5
- package/dist/webcomponents/p-83ff4579.entry.js +0 -5
- package/dist/webcomponents/p-85f8063b.entry.js +0 -5
- package/dist/webcomponents/p-8b558233.entry.js +0 -5
- package/dist/webcomponents/p-8e6c2767.entry.js +0 -5
- package/dist/webcomponents/p-8e819355.entry.js +0 -5
- package/dist/webcomponents/p-92a9b9c4.entry.js +0 -5
- package/dist/webcomponents/p-966ad32f.entry.js +0 -5
- package/dist/webcomponents/p-9679d230.entry.js +0 -5
- package/dist/webcomponents/p-96dd663b.entry.js +0 -5
- package/dist/webcomponents/p-98843fa3.entry.js +0 -5
- package/dist/webcomponents/p-9a375eff.entry.js +0 -5
- package/dist/webcomponents/p-9b358cff.entry.js +0 -5
- package/dist/webcomponents/p-9f7558c7.entry.js +0 -5
- package/dist/webcomponents/p-BkS6ujyf.js +0 -5
- package/dist/webcomponents/p-C2RBydfd.js +0 -6
- package/dist/webcomponents/p-CO5cOQQU.js +0 -5
- package/dist/webcomponents/p-DIK54tTj.js +0 -5
- package/dist/webcomponents/p-DRVMm1Py.js +0 -5
- package/dist/webcomponents/p-DxZJrIyL.js +0 -5
- package/dist/webcomponents/p-a382e115.entry.js +0 -5
- package/dist/webcomponents/p-a4ae72e3.entry.js +0 -5
- package/dist/webcomponents/p-a994c190.entry.js +0 -5
- package/dist/webcomponents/p-a9ff7c25.entry.js +0 -5
- package/dist/webcomponents/p-c0b0f531.entry.js +0 -5
- package/dist/webcomponents/p-c211af17.entry.js +0 -5
- package/dist/webcomponents/p-c492d926.entry.js +0 -5
- package/dist/webcomponents/p-c4cfe599.entry.js +0 -5
- package/dist/webcomponents/p-c846e784.entry.js +0 -5
- package/dist/webcomponents/p-c949d993.entry.js +0 -5
- package/dist/webcomponents/p-d1e899cd.entry.js +0 -5
- package/dist/webcomponents/p-d38d82cc.entry.js +0 -5
- package/dist/webcomponents/p-e0ce536a.entry.js +0 -5
- package/dist/webcomponents/p-e1331288.entry.js +0 -5
- package/dist/webcomponents/p-e360a463.entry.js +0 -5
- package/dist/webcomponents/p-f078f972.entry.js +0 -5
- package/dist/webcomponents/p-f26038e2.entry.js +0 -5
- package/dist/webcomponents/p-f303f6b3.entry.js +0 -5
- package/dist/webcomponents/p-f6318e94.entry.js +0 -5
- package/dist/webcomponents/p-f85ee01c.entry.js +0 -5
- package/dist/webcomponents/p-fcd4ae48.entry.js +0 -5
- package/dist/webcomponents/p-ffe0241e.entry.js +0 -5
- 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-
|
|
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-
|
|
7
|
-
import { c as clampNumber } from './
|
|
8
|
-
import { i as isEventTargetInside, d as dispatchNativeFormEvent, r as redispatchNativeFormEvent,
|
|
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-
|
|
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
|
|
98
|
-
*
|
|
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
|
-
|
|
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 =
|
|
173
|
-
const
|
|
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
|
|
176
|
-
if (
|
|
177
|
-
this.
|
|
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.
|
|
184
|
-
|
|
185
|
-
const
|
|
186
|
-
const
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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
|
|
219
|
-
const
|
|
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.
|
|
226
|
-
this.
|
|
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(
|
|
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.
|
|
508
|
+
this.value = this.effectiveValue;
|
|
253
509
|
if (this.range) {
|
|
254
|
-
|
|
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
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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.
|
|
279
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
716
|
+
if (this.effectiveMax === this.effectiveMin)
|
|
419
717
|
return 0;
|
|
420
|
-
return ((val - this.
|
|
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
|
-
|
|
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
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
461
|
-
const hasUnalignedMax = Number((this.
|
|
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.
|
|
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.
|
|
798
|
+
return this.effectiveMin;
|
|
480
799
|
if (!rect)
|
|
481
|
-
return this.
|
|
800
|
+
return this.effectiveMin;
|
|
482
801
|
if (rect.width === 0)
|
|
483
|
-
return this.
|
|
802
|
+
return this.effectiveMin;
|
|
484
803
|
const ratio = clampNumber((clientX - rect.left) / rect.width, 0, 1, 0);
|
|
485
|
-
return this.
|
|
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.
|
|
808
|
+
return this.effectiveMin;
|
|
490
809
|
if (!rect)
|
|
491
|
-
return this.
|
|
810
|
+
return this.effectiveMin;
|
|
492
811
|
if (rect.height === 0)
|
|
493
|
-
return this.
|
|
812
|
+
return this.effectiveMin;
|
|
494
813
|
const ratio = clampNumber((rect.bottom - clientY) / rect.height, 0, 1, 0);
|
|
495
|
-
return this.
|
|
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.
|
|
894
|
+
return Math.min(max, current + this.effectiveStep);
|
|
526
895
|
case 'ArrowLeft':
|
|
527
896
|
case 'ArrowDown':
|
|
528
|
-
return Math.max(min, current - this.
|
|
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.
|
|
903
|
+
return Math.min(max, current + this.effectiveStep * 10);
|
|
535
904
|
case 'PageDown':
|
|
536
|
-
return Math.max(min, current - this.
|
|
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 (
|
|
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.
|
|
550
|
-
const keyMax = isEnd ? this.
|
|
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.
|
|
587
|
-
Math.abs((this.value - this.
|
|
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.
|
|
592
|
-
rangeUnderflow: this.value < this.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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: '
|
|
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); }
|