@govbr-ds/webcomponents 2.1.3 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -54
- package/cem/custom-elements.json +6496 -1141
- package/cem/webcomponents.html-custom-data.json +400 -287
- 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 +77 -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 +86 -16
- package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
- package/dist/cjs/br-collapse_2.cjs.entry.js +90 -27
- 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 +116 -528
- package/dist/cjs/br-divider.cjs.entry.js +70 -17
- package/dist/cjs/br-dropdown_2.cjs.entry.js +334 -163
- 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 +96 -37
- package/dist/cjs/br-icon.cjs.entry.js +161 -53
- package/dist/cjs/br-input.cjs.entry.js +150 -40
- package/dist/cjs/br-item.cjs.entry.js +97 -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 +39 -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 +38 -57
- package/dist/cjs/br-modal.cjs.entry.js +44 -42
- 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 +120 -88
- package/dist/cjs/br-radio-group.cjs.entry.js +107 -58
- package/dist/cjs/br-radio.cjs.entry.js +62 -12
- package/dist/cjs/br-scrim.cjs.entry.js +161 -67
- package/dist/cjs/br-select-input_3.cjs.entry.js +286 -91
- package/dist/cjs/br-sign-in.cjs.entry.js +38 -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 +522 -100
- package/dist/cjs/br-step_2.cjs.entry.js +98 -44
- package/dist/cjs/br-switch.cjs.entry.js +21 -12
- package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
- package/dist/cjs/br-tab.cjs.entry.js +89 -51
- 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 +49 -31
- package/dist/cjs/br-textarea.cjs.entry.js +118 -13
- package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
- package/dist/cjs/br-upload.cjs.entry.js +84 -25
- 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/icon.utils-DF6kMskA.js +46 -0
- package/dist/cjs/id-DE4jSi-L.js +36 -0
- package/dist/cjs/{index-CRdcutym.js → index-Bc30P_6z.js} +88 -766
- 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/{validator-CTCajtT9.js → validator-GkkueMOx.js} +18 -0
- 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 +93 -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 +55 -9
- 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 +195 -51
- 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 +134 -44
- 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/icon/icon.utils.js +8 -0
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +189 -55
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/item/item.js +136 -52
- 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 +65 -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 +71 -60
- 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 +72 -43
- 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 +164 -75
- 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 +61 -6
- 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 +320 -124
- package/dist/collection/components/select/select.utils.js +3 -1
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +60 -17
- 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 +123 -53
- 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/components/select/remote.js +33 -0
- package/dist/collection/pages/components/select/virtualized.js +13 -0
- package/dist/collection/pages/components/upload/handler.js +25 -0
- package/dist/collection/pages/scripts/component-controls-core.js +95 -0
- package/dist/collection/pages/scripts/component-controls.js +221 -158
- package/dist/collection/pages/scripts/dev-event-console.js +5 -1
- package/dist/collection/pages/scripts/menu.js +90 -6
- package/dist/collection/pages/scripts/pageLoader.js +1570 -607
- package/dist/collection/pages/scripts/pageloader-preview.js +796 -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/form.js +17 -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-0qmYp77w.js +5 -0
- package/dist/components/p-5c3rNBXh.js +5 -0
- package/dist/components/p-B8oIvH3q.js +5 -0
- package/dist/components/p-BECz8XWJ.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-BM4Ys6hX.js +5 -0
- package/dist/components/p-BXWh9s7p.js +5 -0
- package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
- 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-BjeUETWJ.js +5 -0
- package/dist/components/p-CDTENPaP.js +5 -0
- package/dist/components/p-CDtFCbKp.js +5 -0
- package/dist/components/p-CNwZRgyL.js +5 -0
- package/dist/components/p-CZZVc2gK.js +5 -0
- package/dist/components/p-Cd6udSDt.js +5 -0
- package/dist/components/p-Ci0_RqAE.js +5 -0
- package/dist/components/p-CuBgClZm.js +5 -0
- package/dist/components/p-D0QYZSoP.js +5 -0
- package/dist/components/p-D4SWpW6-.js +5 -0
- package/dist/components/p-D579DS7x.js +5 -0
- package/dist/components/p-D8K7rhHd.js +5 -0
- package/dist/components/p-D9Zo6FlV.js +5 -0
- package/dist/components/p-D9nXlCuS.js +5 -0
- package/dist/components/p-DKFO6Q_g.js +5 -0
- package/dist/components/p-DNJSSCNi.js +5 -0
- package/dist/components/p-DOJ1vYOl.js +5 -0
- package/dist/components/p-DWhzxlCx.js +5 -0
- package/dist/components/p-DYI30IZL.js +5 -0
- package/dist/components/p-DcVldfL0.js +5 -0
- package/dist/components/p-DhvmHPp4.js +5 -0
- package/dist/components/p-DiLI514I.js +5 -0
- package/dist/components/p-DwgiHL0b.js +5 -0
- package/dist/components/p-Jk_KQE5V.js +5 -0
- package/dist/components/p-Nze3Utvd.js +5 -0
- package/dist/components/p-WxDB6Dk4.js +5 -0
- package/dist/components/p-ZLoeVagg.js +5 -0
- package/dist/components/p-gbYJ9sfc.js +5 -0
- package/dist/components/p-uc8ABlC_.js +5 -0
- package/dist/components/p-v60ypfxD.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 +77 -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 +87 -17
- package/dist/esm/br-checkgroup.entry.js +5 -2
- package/dist/esm/br-collapse_2.entry.js +91 -28
- 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 +83 -495
- package/dist/esm/br-divider.entry.js +70 -17
- package/dist/esm/br-dropdown_2.entry.js +335 -164
- 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 +96 -37
- package/dist/esm/br-icon.entry.js +160 -52
- package/dist/esm/br-input.entry.js +152 -42
- package/dist/esm/br-item.entry.js +97 -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 +39 -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 +39 -58
- package/dist/esm/br-modal.entry.js +44 -42
- 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 +120 -88
- package/dist/esm/br-radio-group.entry.js +108 -59
- package/dist/esm/br-radio.entry.js +63 -13
- package/dist/esm/br-scrim.entry.js +161 -67
- package/dist/esm/br-select-input_3.entry.js +286 -91
- package/dist/esm/br-sign-in.entry.js +38 -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 +520 -98
- package/dist/esm/br-step_2.entry.js +98 -44
- package/dist/esm/br-switch.entry.js +22 -13
- package/dist/esm/br-tab-item.entry.js +38 -14
- package/dist/esm/br-tab.entry.js +89 -51
- 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 +50 -32
- package/dist/esm/br-textarea.entry.js +119 -14
- package/dist/esm/br-tooltip.entry.js +88 -42
- package/dist/esm/br-upload.entry.js +85 -26
- 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/icon.utils-zlORkiHQ.js +43 -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-ConyRdJe.js} +88 -766
- 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/{validator-D3tVP32U.js → validator-BkWWrDEr.js} +18 -1
- package/dist/esm/webcomponents.js +4 -4
- package/dist/hydrate/index.js +7541 -2577
- package/dist/hydrate/index.mjs +7541 -2577
- 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 -8
- 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 +37 -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 +53 -7
- 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 +47 -7
- package/dist/types/components/icon/icon.d.ts +44 -13
- package/dist/types/components/icon/icon.utils.d.ts +6 -0
- package/dist/types/components/input/input.d.ts +74 -15
- package/dist/types/components/item/item.d.ts +44 -6
- 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 +41 -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 +39 -6
- 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 +40 -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 +58 -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 +32 -4
- 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 +24 -4
- package/dist/types/components/tab/tab.d.ts +48 -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 +5827 -1354
- 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/form.d.ts +8 -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 +73 -55
- package/dist/webcomponents/index.esm.js +1 -1
- package/dist/webcomponents/p-078bd760.entry.js +5 -0
- package/dist/webcomponents/p-07c2cdff.entry.js +5 -0
- package/dist/webcomponents/{p-7f7506f0.entry.js → p-09817344.entry.js} +1 -1
- package/dist/webcomponents/p-0b0cf355.entry.js +5 -0
- package/dist/webcomponents/p-0d2ca2f7.entry.js +5 -0
- package/dist/webcomponents/p-0d79ca44.entry.js +5 -0
- package/dist/webcomponents/p-0fe3c47b.entry.js +5 -0
- package/dist/webcomponents/p-116b53c9.entry.js +5 -0
- package/dist/webcomponents/p-1240dae7.entry.js +5 -0
- package/dist/webcomponents/p-14ff5865.entry.js +5 -0
- package/dist/webcomponents/p-15743a02.entry.js +5 -0
- package/dist/webcomponents/p-16cebf49.entry.js +5 -0
- package/dist/webcomponents/p-1884b9d3.entry.js +5 -0
- package/dist/webcomponents/p-19a38e20.entry.js +5 -0
- package/dist/webcomponents/p-1d36c8fa.entry.js +5 -0
- package/dist/webcomponents/p-1fa4b5b2.entry.js +5 -0
- package/dist/webcomponents/p-212c069b.entry.js +5 -0
- package/dist/webcomponents/p-23f37cd6.entry.js +5 -0
- package/dist/webcomponents/p-24502b63.entry.js +5 -0
- package/dist/webcomponents/p-27fb81f3.entry.js +5 -0
- package/dist/webcomponents/p-28844490.entry.js +5 -0
- package/dist/webcomponents/p-2b41bdcc.entry.js +5 -0
- package/dist/webcomponents/p-2cb1e09b.entry.js +5 -0
- package/dist/webcomponents/p-2fcda70b.entry.js +5 -0
- package/dist/webcomponents/p-3378300c.entry.js +5 -0
- package/dist/webcomponents/p-3ae9cf69.entry.js +5 -0
- package/dist/webcomponents/p-3b79cd49.entry.js +5 -0
- package/dist/webcomponents/p-3c1513ec.entry.js +5 -0
- package/dist/webcomponents/p-4118b878.entry.js +5 -0
- package/dist/webcomponents/p-4534a3c3.entry.js +5 -0
- package/dist/webcomponents/p-48abf568.entry.js +5 -0
- package/dist/webcomponents/p-4e5ea05c.entry.js +5 -0
- package/dist/webcomponents/p-513ee754.entry.js +5 -0
- package/dist/webcomponents/p-521a1076.entry.js +5 -0
- package/dist/webcomponents/p-59fc52c0.entry.js +5 -0
- package/dist/webcomponents/p-5a7c2031.entry.js +5 -0
- package/dist/webcomponents/p-5a9f4ea2.entry.js +5 -0
- package/dist/webcomponents/p-5f422a69.entry.js +5 -0
- package/dist/webcomponents/p-61977114.entry.js +5 -0
- package/dist/webcomponents/p-6850e98e.entry.js +5 -0
- package/dist/webcomponents/p-71853dfc.entry.js +5 -0
- package/dist/webcomponents/p-76d51654.entry.js +5 -0
- package/dist/webcomponents/p-77e242f3.entry.js +5 -0
- package/dist/webcomponents/p-7b849472.entry.js +5 -0
- package/dist/webcomponents/p-7dbfb875.entry.js +5 -0
- package/dist/webcomponents/p-7fa7f052.entry.js +5 -0
- package/dist/webcomponents/p-81c65747.entry.js +5 -0
- package/dist/webcomponents/p-82759002.entry.js +5 -0
- package/dist/webcomponents/p-91a5329f.entry.js +5 -0
- package/dist/webcomponents/p-94848046.entry.js +5 -0
- package/dist/webcomponents/p-966773a9.entry.js +5 -0
- package/dist/webcomponents/p-9abb5a53.entry.js +5 -0
- package/dist/webcomponents/p-9bf2e325.entry.js +5 -0
- package/dist/webcomponents/p-9c943b40.entry.js +5 -0
- package/dist/webcomponents/p-9ec3ca00.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-BkWWrDEr.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-ConyRdJe.js +7 -0
- 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-EbtQZm5s.js +5 -0
- package/dist/webcomponents/p-ad91f149.entry.js +5 -0
- package/dist/webcomponents/p-aeea1f17.entry.js +5 -0
- package/dist/webcomponents/p-b02a7218.entry.js +5 -0
- package/dist/webcomponents/p-b16590fc.entry.js +5 -0
- package/dist/webcomponents/{p-12286e73.entry.js → p-b55425b7.entry.js} +1 -1
- package/dist/webcomponents/p-c1dafd8d.entry.js +5 -0
- package/dist/webcomponents/p-c2ca0289.entry.js +5 -0
- package/dist/webcomponents/p-c8af334e.entry.js +5 -0
- package/dist/webcomponents/p-cac49c6a.entry.js +5 -0
- package/dist/webcomponents/p-cb9ebfbe.entry.js +5 -0
- package/dist/webcomponents/p-ce3d689c.entry.js +5 -0
- package/dist/webcomponents/p-d11f95a0.entry.js +5 -0
- package/dist/webcomponents/p-d5d2205c.entry.js +5 -0
- package/dist/webcomponents/p-dad03b49.entry.js +5 -0
- package/dist/webcomponents/p-db8e6322.entry.js +5 -0
- package/dist/webcomponents/p-dea8015f.entry.js +5 -0
- package/dist/webcomponents/p-e07e309d.entry.js +5 -0
- package/dist/webcomponents/p-e53d874b.entry.js +5 -0
- package/dist/webcomponents/p-e5540387.entry.js +5 -0
- package/dist/webcomponents/p-e94a52ac.entry.js +5 -0
- package/dist/webcomponents/p-e9be4d3f.entry.js +5 -0
- package/dist/webcomponents/p-e9db9381.entry.js +5 -0
- package/dist/webcomponents/p-edca5de1.entry.js +5 -0
- package/dist/webcomponents/p-ee5b9fc9.entry.js +5 -0
- package/dist/webcomponents/p-f4ef8c63.entry.js +5 -0
- package/dist/webcomponents/p-zlORkiHQ.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-6OdfnwnK.js +0 -5
- package/dist/components/p-AmOh1cks.js +0 -5
- package/dist/components/p-B4ylcipx.js +0 -5
- package/dist/components/p-BCv4PCOx.js +0 -5
- package/dist/components/p-BLOyd_iF.js +0 -5
- package/dist/components/p-BODem6tr.js +0 -5
- package/dist/components/p-Bb-nLtTG.js +0 -5
- package/dist/components/p-BeFK-82z.js +0 -5
- package/dist/components/p-BkS6ujyf.js +0 -5
- package/dist/components/p-BloE-KAN.js +0 -5
- package/dist/components/p-BoSc_kmY.js +0 -5
- package/dist/components/p-BrH3r7eL.js +0 -5
- package/dist/components/p-BsZ0Ny88.js +0 -5
- package/dist/components/p-ByHVf7zy.js +0 -5
- package/dist/components/p-CdDwqbBv.js +0 -5
- package/dist/components/p-CdF-gmk1.js +0 -5
- package/dist/components/p-CfyjGPGI.js +0 -5
- package/dist/components/p-CjF7pBVQ.js +0 -5
- package/dist/components/p-ClqtllDH.js +0 -5
- package/dist/components/p-CqW2Yh34.js +0 -5
- package/dist/components/p-DIK54tTj.js +0 -5
- package/dist/components/p-DLE5ioJN.js +0 -5
- package/dist/components/p-DQRSHR-D.js +0 -5
- package/dist/components/p-DRVMm1Py.js +0 -5
- package/dist/components/p-DRnCpVrL.js +0 -5
- package/dist/components/p-DVdlaP7z.js +0 -5
- package/dist/components/p-DeeF6ok0.js +0 -5
- package/dist/components/p-Dim2PnUm.js +0 -5
- package/dist/components/p-Dk8rfQjL.js +0 -5
- package/dist/components/p-DkmEpoef.js +0 -5
- package/dist/components/p-DwfAYaEv.js +0 -5
- package/dist/components/p-DxZJrIyL.js +0 -5
- package/dist/components/p-P2Z_MmH6.js +0 -5
- package/dist/components/p-Xa0Mj4pP.js +0 -5
- package/dist/components/p-_vsQvdxD.js +0 -5
- package/dist/components/p-aNjo4Alx.js +0 -5
- package/dist/components/p-gvnfuTjd.js +0 -5
- package/dist/components/p-rB-s1M3Q.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-00cc31f9.entry.js +0 -5
- package/dist/webcomponents/p-026475bd.entry.js +0 -5
- package/dist/webcomponents/p-0291ab28.entry.js +0 -5
- package/dist/webcomponents/p-03e5a7dc.entry.js +0 -5
- package/dist/webcomponents/p-060df8ee.entry.js +0 -5
- package/dist/webcomponents/p-09fce2a5.entry.js +0 -5
- package/dist/webcomponents/p-1002bbff.entry.js +0 -5
- package/dist/webcomponents/p-1124de33.entry.js +0 -5
- package/dist/webcomponents/p-12e97d80.entry.js +0 -5
- package/dist/webcomponents/p-1580beee.entry.js +0 -5
- package/dist/webcomponents/p-1b19b191.entry.js +0 -5
- package/dist/webcomponents/p-2baf353b.entry.js +0 -5
- package/dist/webcomponents/p-2eb9a42c.entry.js +0 -5
- package/dist/webcomponents/p-30c82805.entry.js +0 -5
- package/dist/webcomponents/p-31bd1c74.entry.js +0 -5
- package/dist/webcomponents/p-31db2313.entry.js +0 -5
- package/dist/webcomponents/p-33a3dc63.entry.js +0 -5
- package/dist/webcomponents/p-3889c51f.entry.js +0 -5
- package/dist/webcomponents/p-3f2c179a.entry.js +0 -5
- package/dist/webcomponents/p-470eb770.entry.js +0 -5
- package/dist/webcomponents/p-4ae387ae.entry.js +0 -5
- package/dist/webcomponents/p-4e65df84.entry.js +0 -5
- package/dist/webcomponents/p-51a62876.entry.js +0 -5
- package/dist/webcomponents/p-5860b96b.entry.js +0 -5
- package/dist/webcomponents/p-5b9c01e9.entry.js +0 -5
- package/dist/webcomponents/p-5df2f1dd.entry.js +0 -5
- package/dist/webcomponents/p-5f3f7b3f.entry.js +0 -5
- package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
- package/dist/webcomponents/p-5f9c28a7.entry.js +0 -5
- package/dist/webcomponents/p-62511921.entry.js +0 -5
- package/dist/webcomponents/p-63b52947.entry.js +0 -5
- package/dist/webcomponents/p-67a8e0b7.entry.js +0 -5
- package/dist/webcomponents/p-6OdfnwnK.js +0 -5
- package/dist/webcomponents/p-7b2a5fec.entry.js +0 -5
- package/dist/webcomponents/p-7f95e2f5.entry.js +0 -5
- package/dist/webcomponents/p-8128833c.entry.js +0 -5
- package/dist/webcomponents/p-8200ccb1.entry.js +0 -5
- package/dist/webcomponents/p-82b100fd.entry.js +0 -5
- package/dist/webcomponents/p-8806df15.entry.js +0 -5
- package/dist/webcomponents/p-881eb81a.entry.js +0 -5
- package/dist/webcomponents/p-8bd3d541.entry.js +0 -5
- package/dist/webcomponents/p-90648343.entry.js +0 -5
- package/dist/webcomponents/p-9100a5f7.entry.js +0 -5
- package/dist/webcomponents/p-91313d77.entry.js +0 -5
- package/dist/webcomponents/p-946b2ac0.entry.js +0 -5
- package/dist/webcomponents/p-98e7ccb9.entry.js +0 -5
- package/dist/webcomponents/p-99f2bddb.entry.js +0 -5
- package/dist/webcomponents/p-9adbdb0a.entry.js +0 -5
- package/dist/webcomponents/p-9c260049.entry.js +0 -5
- package/dist/webcomponents/p-9ed51017.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-D3tVP32U.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-a0b299dd.entry.js +0 -5
- package/dist/webcomponents/p-a2c5fad0.entry.js +0 -5
- package/dist/webcomponents/p-a3e044d7.entry.js +0 -5
- package/dist/webcomponents/p-a9f23aa7.entry.js +0 -5
- package/dist/webcomponents/p-a9f2fcbc.entry.js +0 -5
- package/dist/webcomponents/p-b6c68136.entry.js +0 -5
- package/dist/webcomponents/p-b6e9b8d1.entry.js +0 -5
- package/dist/webcomponents/p-c333eac6.entry.js +0 -5
- package/dist/webcomponents/p-c3732fd6.entry.js +0 -5
- package/dist/webcomponents/p-c458ed0e.entry.js +0 -5
- package/dist/webcomponents/p-c91000ff.entry.js +0 -5
- package/dist/webcomponents/p-c9c6ab2d.entry.js +0 -5
- package/dist/webcomponents/p-cd2550d6.entry.js +0 -5
- package/dist/webcomponents/p-cf42613f.entry.js +0 -5
- package/dist/webcomponents/p-d0b0b420.entry.js +0 -5
- package/dist/webcomponents/p-d1b32ee8.entry.js +0 -5
- package/dist/webcomponents/p-db65b083.entry.js +0 -5
- package/dist/webcomponents/p-de7c101d.entry.js +0 -5
- package/dist/webcomponents/p-dfb77dd0.entry.js +0 -5
- package/dist/webcomponents/p-e258da78.entry.js +0 -5
- package/dist/webcomponents/p-e31ddd42.entry.js +0 -5
- package/dist/webcomponents/p-e8d82227.entry.js +0 -5
- package/dist/webcomponents/p-e988cf1d.entry.js +0 -5
- package/dist/webcomponents/p-ed9122a1.entry.js +0 -5
- package/dist/webcomponents/p-ee347d2e.entry.js +0 -5
- package/dist/webcomponents/p-f1c01d52.entry.js +0 -5
- package/dist/webcomponents/p-f5baf8be.entry.js +0 -5
- package/dist/webcomponents/p-fb593739.entry.js +0 -5
- package/dist/webcomponents/p-fff9acd4.entry.js +0 -5
- package/dist/webcomponents/p-gvnfuTjd.js +0 -5
|
@@ -9,18 +9,48 @@ import { set } from "date-fns/set";
|
|
|
9
9
|
import { toDate } from "date-fns/toDate";
|
|
10
10
|
import { dispatchNativeFormEvent } from "../../shared/utils/event";
|
|
11
11
|
import { getFormValidationState, isFormControlDisabled, setFormValidity, } from "../../shared/utils/form";
|
|
12
|
+
import { generateUniqueId } from "../../shared/utils/id";
|
|
13
|
+
import { reportInvalidPropValue } from "../../shared/utils/prop-warning";
|
|
12
14
|
import { hasAssignedSlotContent } from "../../shared/utils/slot";
|
|
13
15
|
import { resolveSsrLocalDate } from "../../shared/utils/ssr-date";
|
|
14
16
|
import { resolveFormValidator, runFormValidator } from "../../shared/utils/validator";
|
|
15
17
|
import { DATETIME_PICKER_LOCALE, DATETIME_PICKER_MODE } from "./datetime-picker-constants";
|
|
16
18
|
import { hasDatetimePickerMissingValue, parseDatetimePickerSerializedRange, parseDatetimePickerSerializedValue, serializeDatetimePickerFormValue, } from "./datetime-picker-form-associated";
|
|
17
|
-
import { normalizeDatetimePickerDisabledDates, normalizeDatetimePickerInitialMoment, normalizeDatetimePickerMode, normalizeDatetimePickerSelectionMode, normalizeDatetimePickerWeekStartsOn, } from "./datetime-picker-props-validation";
|
|
19
|
+
import { isValidDatetimePickerDateRange, normalizeDatetimePickerDisabledDates, normalizeDatetimePickerInitialMoment, normalizeDatetimePickerMode, normalizeDatetimePickerSelectionMode, normalizeDatetimePickerWeekStartsOn, } from "./datetime-picker-props-validation";
|
|
18
20
|
/**
|
|
19
|
-
*
|
|
21
|
+
* O componente `br-datetime-picker` é o orquestrador completo do GovBR-DS para seleção e digitação de datas, horários ou intervalos combinados. Ele integra-se nativamente a formulários HTML via `formAssociated` e oferece suporte WAI-ARIA para diálogos e calendários.
|
|
20
22
|
*
|
|
21
|
-
* Para
|
|
23
|
+
* ### Para que serve
|
|
22
24
|
*
|
|
23
|
-
*
|
|
25
|
+
* - **Seleção completa de data e horário:** Reúne em um único controle o campo de entrada com máscara formatada (`br-datetime-input`), o calendário de seleção de datas (`br-date-picker`) e o seletor de horários (`br-time-picker`).
|
|
26
|
+
* - **Múltiplos modos operacionais:** Suporta data simples, intervalo de datas (`range`), apenas hora (`time`), data e hora combinadas (`datetime`) e datas múltiplas.
|
|
27
|
+
* - **Validação e formulários nativos:** Valida datas mínimas (`min`), máximas (`max`), formatos permitidos e comunica valores estruturados diretamente ao formulário pai.
|
|
28
|
+
*
|
|
29
|
+
* ### Quando utilizar
|
|
30
|
+
*
|
|
31
|
+
* - **Utilize quando:**
|
|
32
|
+
* - O formulário exigir preenchimento de datas ou horários onde tanto a digitação manual rápida quanto a exploração visual no calendário agreguem valor à experiência.
|
|
33
|
+
* - For necessário selecionar um período com data de início e fim.
|
|
34
|
+
* - **Evite e prefira outro componente quando:**
|
|
35
|
+
* - A data for estritamente de nascimento ou emissão de documento onde a pessoa usuária sabe os dígitos de cor e prefere digitar apenas números (prefira `br-input` com máscara numérica).
|
|
36
|
+
*
|
|
37
|
+
* ### Composição e Subcomponentes
|
|
38
|
+
*
|
|
39
|
+
* | Subcomponente | Papel | Regra de uso |
|
|
40
|
+
* | --- | --- | --- |
|
|
41
|
+
* | `br-datetime-picker` | **Orquestrador principal.** Gerencia valor consolidado, validação, abertura do popup e sincronização entre input e calendário. | Deve ser o único controle declarado no template da aplicação na quase totalidade dos casos. |
|
|
42
|
+
* | `br-datetime-input` | **Campo com máscara.** Exibe o valor formatado e permite digitação manual. | Coordenado automaticamente pelo pai; use avulso apenas em composições customizadas. |
|
|
43
|
+
* | `br-date-picker` | **Calendário de datas.** Painel visual com grade de dias, meses e anos. | Coordenado pelo pai; use avulso se precisar de calendário estático embutido. |
|
|
44
|
+
* | `br-time-picker` | **Seletor de horário.** Controle de escolha de horas e minutos. | Coordenado pelo pai; use avulso se precisar apenas de seletor de hora sem data. |
|
|
45
|
+
*
|
|
46
|
+
* ### Como os subcomponentes se relacionam
|
|
47
|
+
*
|
|
48
|
+
* O `br-datetime-picker` funciona como o modelo pronto: ele instancia e sincroniza internamente o campo textual (`br-datetime-input`) e os seletores visuais suspensos (`br-date-picker` e/ou `br-time-picker`). A aplicação consome os eventos unificados emitidos diretamente pelo orquestrador pai (`change`, `input`).
|
|
49
|
+
*
|
|
50
|
+
* Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetime-picker?tab=designer).
|
|
51
|
+
*
|
|
52
|
+
|
|
53
|
+
* @category Formulários, Seleção
|
|
24
54
|
* @status stable
|
|
25
55
|
* @slot feedback - Mensagem de validação, normalmente um `br-message`.
|
|
26
56
|
* @part container - Parte para o container base do seletor.
|
|
@@ -41,7 +71,7 @@ export class DatetimePicker {
|
|
|
41
71
|
this.customValidationMessage = '';
|
|
42
72
|
this.validatorMessage = null;
|
|
43
73
|
this.isValidating = false;
|
|
44
|
-
this.feedbackId =
|
|
74
|
+
this.feedbackId = generateUniqueId('br-datetime-picker-feedback');
|
|
45
75
|
/** Lista normalizada de datas indisponíveis para seleção. */
|
|
46
76
|
this.normalizedDisabledDates = [];
|
|
47
77
|
/** Data final selecionada no modo de intervalo. */
|
|
@@ -78,9 +108,25 @@ export class DatetimePicker {
|
|
|
78
108
|
this.name = '';
|
|
79
109
|
/** Indica se o campo deve ter valor antes do envio do formulário. */
|
|
80
110
|
this.required = false;
|
|
81
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Menor data/horário aceito, interpretado conforme `mode`. Valores inválidos são ignorados.
|
|
113
|
+
* Aceita texto no atributo HTML ou uma instância de `Date` por property binding.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```html
|
|
117
|
+
* <br-datetime-picker mode="date" min="2026-01-01"></br-datetime-picker>
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
82
120
|
this.min = null;
|
|
83
|
-
/**
|
|
121
|
+
/**
|
|
122
|
+
* Maior data/horário aceito, interpretado conforme `mode`. Valores inválidos são ignorados.
|
|
123
|
+
* Aceita texto no atributo HTML ou uma instância de `Date` por property binding.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```html
|
|
127
|
+
* <br-datetime-picker mode="date" max="2026-12-31"></br-datetime-picker>
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
84
130
|
this.max = null;
|
|
85
131
|
/**
|
|
86
132
|
* Define o tipo de seleção de datas para o calendário: única ou intervalo.
|
|
@@ -89,6 +135,7 @@ export class DatetimePicker {
|
|
|
89
135
|
* Se `selectionMode="range"` for informado, o componente ajusta automaticamente
|
|
90
136
|
* `mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente
|
|
91
137
|
* normaliza `selectionMode` para `single` quando necessário.
|
|
138
|
+
* Valores inválidos usam `single`.
|
|
92
139
|
*/
|
|
93
140
|
this.selectionMode = 'single';
|
|
94
141
|
/**
|
|
@@ -110,11 +157,22 @@ export class DatetimePicker {
|
|
|
110
157
|
* Reativo em runtime: mudanças na prop atualizam estado e subcomponentes.
|
|
111
158
|
*
|
|
112
159
|
* @default null
|
|
160
|
+
* @example
|
|
161
|
+
* ```html
|
|
162
|
+
* <br-datetime-picker initial-moment="now"></br-datetime-picker>
|
|
163
|
+
* ```
|
|
113
164
|
*/
|
|
114
165
|
this.initialMoment = null;
|
|
115
166
|
/**
|
|
116
|
-
*
|
|
117
|
-
* pelo evento `valueChange`.
|
|
167
|
+
* Instância de `Date` selecionada pelo usuário no modo simples.
|
|
168
|
+
* Pode ser controlada por property binding e é atualizada pelo evento `valueChange`.
|
|
169
|
+
* Para formulários e atributos textuais, use `serializedValue`.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```js
|
|
173
|
+
* const picker = document.querySelector('br-datetime-picker');
|
|
174
|
+
* picker.value = new Date(2026, 8, 7, 14, 30);
|
|
175
|
+
* ```
|
|
118
176
|
*/
|
|
119
177
|
this.value = null;
|
|
120
178
|
/**
|
|
@@ -133,6 +191,15 @@ export class DatetimePicker {
|
|
|
133
191
|
* A comparação considera apenas o dia (ano/mês/dia), ignorando hora.
|
|
134
192
|
*
|
|
135
193
|
* @default null
|
|
194
|
+
* @example
|
|
195
|
+
* ```html
|
|
196
|
+
* <br-datetime-picker mode="date" disabled-dates="2026-09-07 2026-09-08"></br-datetime-picker>
|
|
197
|
+
* ```
|
|
198
|
+
* @example
|
|
199
|
+
* ```js
|
|
200
|
+
* const picker = document.querySelector('br-datetime-picker');
|
|
201
|
+
* picker.disabledDates = [new Date(2026, 8, 7), '2026-09-08'];
|
|
202
|
+
* ```
|
|
136
203
|
*/
|
|
137
204
|
this.disabledDates = null;
|
|
138
205
|
/**
|
|
@@ -211,7 +278,7 @@ export class DatetimePicker {
|
|
|
211
278
|
return;
|
|
212
279
|
event.stopPropagation();
|
|
213
280
|
this.isPickerOpen = false;
|
|
214
|
-
this.
|
|
281
|
+
void this.focusInput();
|
|
215
282
|
};
|
|
216
283
|
}
|
|
217
284
|
formDisabledCallback(disabled) {
|
|
@@ -333,6 +400,10 @@ export class DatetimePicker {
|
|
|
333
400
|
handleRangeValueChange(newValue) {
|
|
334
401
|
if (!newValue || this.selectionMode !== 'range')
|
|
335
402
|
return;
|
|
403
|
+
if (!isValidDatetimePickerDateRange(newValue)) {
|
|
404
|
+
reportInvalidPropValue(this.el, 'rangeValue', newValue, 'Informe um objeto com `start` e `end` como Date válido ou null.', 'Mantendo o último intervalo efetivo.');
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
336
407
|
this.rangeStart = this.cloneDate(newValue.start);
|
|
337
408
|
this.rangeEnd = this.cloneDate(newValue.end);
|
|
338
409
|
const nextValue = newValue.end ?? newValue.start;
|
|
@@ -352,17 +423,19 @@ export class DatetimePicker {
|
|
|
352
423
|
* Normaliza o modo antes da primeira renderização e aplica a data atual quando solicitado.
|
|
353
424
|
*/
|
|
354
425
|
componentWillLoad() {
|
|
426
|
+
// A inicialização dos defaults sincroniza os espelhos; preserve as entradas do consumidor.
|
|
427
|
+
const { serializedValue, valueAsDate } = this;
|
|
355
428
|
this.referenceDate = resolveSsrLocalDate(this.el, this.referenceDate);
|
|
356
429
|
this.initializeMode();
|
|
357
430
|
this.initializeSelectionMode();
|
|
358
431
|
this.initializeWeekStartsOn();
|
|
359
432
|
this.initializeDisabledDates();
|
|
360
433
|
this.initializeDefaultValue();
|
|
361
|
-
if (
|
|
362
|
-
this.restoreSerializedValue(
|
|
434
|
+
if (serializedValue !== undefined) {
|
|
435
|
+
this.restoreSerializedValue(serializedValue);
|
|
363
436
|
}
|
|
364
|
-
else if (
|
|
365
|
-
this.handleValueAsDateChange(
|
|
437
|
+
else if (valueAsDate !== undefined) {
|
|
438
|
+
this.handleValueAsDateChange(valueAsDate);
|
|
366
439
|
}
|
|
367
440
|
this.initialFormValue = this.cloneDate(this.value);
|
|
368
441
|
this.syncCanonicalValues();
|
|
@@ -433,7 +506,8 @@ export class DatetimePicker {
|
|
|
433
506
|
}
|
|
434
507
|
/** Move o foco para o input nativo interno. */
|
|
435
508
|
async focusInput() {
|
|
436
|
-
this.
|
|
509
|
+
const input = this.datetimeInputElement ?? this.el.shadowRoot?.querySelector('br-datetime-input');
|
|
510
|
+
await input?.focusInput?.();
|
|
437
511
|
}
|
|
438
512
|
/** Define intervalo de datas de forma imperativa, forçando modo date e selectionMode range. */
|
|
439
513
|
async setRange(start, end) {
|
|
@@ -730,12 +804,9 @@ export class DatetimePicker {
|
|
|
730
804
|
sameDate(left, right) {
|
|
731
805
|
return left === right || (left !== null && right !== null && left.getTime() === right.getTime());
|
|
732
806
|
}
|
|
733
|
-
/**
|
|
807
|
+
/** Retorna a âncora de validação, ou undefined antes do primeiro render. */
|
|
734
808
|
getNativeInputElement() {
|
|
735
|
-
return this.el.shadowRoot
|
|
736
|
-
?.querySelector('br-datetime-input')
|
|
737
|
-
?.shadowRoot?.querySelector('br-input')
|
|
738
|
-
?.shadowRoot?.querySelector('input');
|
|
809
|
+
return (this.datetimeInputElement ?? this.el.shadowRoot?.querySelector('br-datetime-input') ?? undefined);
|
|
739
810
|
}
|
|
740
811
|
/** Atualiza estado interno, FormData e validação com uma única chamada. */
|
|
741
812
|
setComponentValue(nextValue, shouldEmitPublicEvent = true) {
|
|
@@ -836,8 +907,8 @@ export class DatetimePicker {
|
|
|
836
907
|
rangeEnd: this.rangeEnd,
|
|
837
908
|
referenceDate: this.referenceDate,
|
|
838
909
|
});
|
|
839
|
-
const min = this.parseConstraintValue(this.min);
|
|
840
|
-
const max = this.parseConstraintValue(this.max);
|
|
910
|
+
const min = this.parseConstraintValue(this.min, 'min');
|
|
911
|
+
const max = this.parseConstraintValue(this.max, 'max');
|
|
841
912
|
const values = this.selectionMode === 'range' ? [this.rangeStart, this.rangeEnd] : [this.value];
|
|
842
913
|
const rangeUnderflow = min !== null && values.some((value) => value !== null && value.getTime() < min.getTime());
|
|
843
914
|
const rangeOverflow = max !== null && values.some((value) => value !== null && value.getTime() > max.getTime());
|
|
@@ -868,8 +939,18 @@ export class DatetimePicker {
|
|
|
868
939
|
// Ambientes sem ElementInternals completo não devem falhar.
|
|
869
940
|
}
|
|
870
941
|
}
|
|
871
|
-
parseConstraintValue(value) {
|
|
872
|
-
|
|
942
|
+
parseConstraintValue(value, propertyName) {
|
|
943
|
+
if (value === null)
|
|
944
|
+
return null;
|
|
945
|
+
if (!(value instanceof Date) && typeof value !== 'string') {
|
|
946
|
+
reportInvalidPropValue(this.el, propertyName, value, 'Informe uma data válida como Date ou string compatível com o modo atual.', 'Aplicando fallback null (sem limite).');
|
|
947
|
+
return null;
|
|
948
|
+
}
|
|
949
|
+
const parsedValue = this.parseMethodValue(value, this.mode);
|
|
950
|
+
if (parsedValue !== null)
|
|
951
|
+
return parsedValue;
|
|
952
|
+
reportInvalidPropValue(this.el, propertyName, value, 'Informe uma data válida como Date ou string compatível com o modo atual.', 'Aplicando fallback null (sem limite).');
|
|
953
|
+
return null;
|
|
873
954
|
}
|
|
874
955
|
isDisabled() {
|
|
875
956
|
return isFormControlDisabled(this.disabled, this.formDisabled);
|
|
@@ -927,7 +1008,9 @@ export class DatetimePicker {
|
|
|
927
1008
|
}
|
|
928
1009
|
/** Renderiza o campo de entrada responsável por abrir e sincronizar o picker. */
|
|
929
1010
|
renderInputField() {
|
|
930
|
-
return (h("br-datetime-input", {
|
|
1011
|
+
return (h("br-datetime-input", { ref: (element) => {
|
|
1012
|
+
this.datetimeInputElement = element;
|
|
1013
|
+
}, referenceDate: this.referenceDate, value: this.value, selectionMode: this.selectionMode, rangeStart: this.rangeStart, rangeEnd: this.rangeEnd, placeholder: this.placeholder, mode: this.mode, disabled: this.isDisabled(), onDateStateChange: this.handleDateStateChange, onTogglePicker: this.handleTogglePicker, exportparts: "container: input-container, input: input-field, icon: input-icon" }));
|
|
931
1014
|
}
|
|
932
1015
|
/** Renderiza apenas o seletor de data. */
|
|
933
1016
|
renderDatePicker() {
|
|
@@ -962,7 +1045,7 @@ export class DatetimePicker {
|
|
|
962
1045
|
* Renderização principal do componente.
|
|
963
1046
|
*/
|
|
964
1047
|
render() {
|
|
965
|
-
return (h(Host, { key: '
|
|
1048
|
+
return (h(Host, { key: 'b964215e48b1871bf6ab1b045612f3d166543177', onKeyDown: this.handlePickerKeydown, "aria-busy": this.isValidating ? 'true' : null, "aria-describedby": this.hasFeedbackSlot || this.customValidationMessage || this.validatorMessage ? this.feedbackId : null, "aria-errormessage": this.customValidationMessage || this.validatorMessage || this.hasFeedbackSlot ? this.feedbackId : null }, h("div", { key: '50ba10963ba4e8bdf7c70f0d4513eea657692df8', class: this.getCssClassMap(), part: "container" }, this.renderInputField(), this.renderPickerContent()), h("div", { key: 'b220e70a85d8ba941dabed18a5a0dcdc9a99124f', id: this.feedbackId, part: "feedback", hidden: !this.hasFeedbackSlot && !this.customValidationMessage && !this.validatorMessage }, h("slot", { key: 'cdcc69b126491b2cea3b634066f1e4071c1c3b61', 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)));
|
|
966
1049
|
}
|
|
967
1050
|
static get is() { return "br-datetime-picker"; }
|
|
968
1051
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1118,8 +1201,11 @@ export class DatetimePicker {
|
|
|
1118
1201
|
"required": false,
|
|
1119
1202
|
"optional": false,
|
|
1120
1203
|
"docs": {
|
|
1121
|
-
"tags": [
|
|
1122
|
-
|
|
1204
|
+
"tags": [{
|
|
1205
|
+
"name": "example",
|
|
1206
|
+
"text": "```html\n<br-datetime-picker mode=\"date\" min=\"2026-01-01\"></br-datetime-picker>\n```"
|
|
1207
|
+
}],
|
|
1208
|
+
"text": "Menor data/hor\u00E1rio aceito, interpretado conforme `mode`. Valores inv\u00E1lidos s\u00E3o ignorados.\nAceita texto no atributo HTML ou uma inst\u00E2ncia de `Date` por property binding."
|
|
1123
1209
|
},
|
|
1124
1210
|
"getter": false,
|
|
1125
1211
|
"setter": false,
|
|
@@ -1143,8 +1229,11 @@ export class DatetimePicker {
|
|
|
1143
1229
|
"required": false,
|
|
1144
1230
|
"optional": false,
|
|
1145
1231
|
"docs": {
|
|
1146
|
-
"tags": [
|
|
1147
|
-
|
|
1232
|
+
"tags": [{
|
|
1233
|
+
"name": "example",
|
|
1234
|
+
"text": "```html\n<br-datetime-picker mode=\"date\" max=\"2026-12-31\"></br-datetime-picker>\n```"
|
|
1235
|
+
}],
|
|
1236
|
+
"text": "Maior data/hor\u00E1rio aceito, interpretado conforme `mode`. Valores inv\u00E1lidos s\u00E3o ignorados.\nAceita texto no atributo HTML ou uma inst\u00E2ncia de `Date` por property binding."
|
|
1148
1237
|
},
|
|
1149
1238
|
"getter": false,
|
|
1150
1239
|
"setter": false,
|
|
@@ -1170,8 +1259,11 @@ export class DatetimePicker {
|
|
|
1170
1259
|
"required": false,
|
|
1171
1260
|
"optional": true,
|
|
1172
1261
|
"docs": {
|
|
1173
|
-
"tags": [
|
|
1174
|
-
|
|
1262
|
+
"tags": [{
|
|
1263
|
+
"name": "example",
|
|
1264
|
+
"text": "```js\nconst picker = document.querySelector('br-datetime-picker');\npicker.validator = (value) => value === null ? 'Escolha uma data' : null;\n```"
|
|
1265
|
+
}],
|
|
1266
|
+
"text": "Regra s\u00EDncrona ou ass\u00EDncrona aplicada \u00E0 data ou intervalo selecionado.\nRetorne uma mensagem para invalidar ou `null` para aceitar o valor."
|
|
1175
1267
|
},
|
|
1176
1268
|
"getter": false,
|
|
1177
1269
|
"setter": false
|
|
@@ -1195,7 +1287,7 @@ export class DatetimePicker {
|
|
|
1195
1287
|
"optional": false,
|
|
1196
1288
|
"docs": {
|
|
1197
1289
|
"tags": [],
|
|
1198
|
-
"text": "Define o tipo de sele\u00E7\u00E3o de datas para o calend\u00E1rio: \u00FAnica ou intervalo.\n\n`range` s\u00F3 funciona em conjunto com `mode=\"date\"`.\nSe `selectionMode=\"range\"` for informado, o componente ajusta automaticamente\n`mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente\nnormaliza `selectionMode` para `single` quando necess\u00E1rio
|
|
1290
|
+
"text": "Define o tipo de sele\u00E7\u00E3o de datas para o calend\u00E1rio: \u00FAnica ou intervalo.\n\n`range` s\u00F3 funciona em conjunto com `mode=\"date\"`.\nSe `selectionMode=\"range\"` for informado, o componente ajusta automaticamente\n`mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente\nnormaliza `selectionMode` para `single` quando necess\u00E1rio.\nValores inv\u00E1lidos usam `single`."
|
|
1199
1291
|
},
|
|
1200
1292
|
"getter": false,
|
|
1201
1293
|
"setter": false,
|
|
@@ -1254,6 +1346,9 @@ export class DatetimePicker {
|
|
|
1254
1346
|
"tags": [{
|
|
1255
1347
|
"name": "default",
|
|
1256
1348
|
"text": "null"
|
|
1349
|
+
}, {
|
|
1350
|
+
"name": "example",
|
|
1351
|
+
"text": "```html\n<br-datetime-picker initial-moment=\"now\"></br-datetime-picker>\n```"
|
|
1257
1352
|
}],
|
|
1258
1353
|
"text": "Define a sele\u00E7\u00E3o inicial do componente.\n\nAceita:\n- `'now'`: seleciona o momento atual.\n- `Date` ou `string`: seleciona uma data arbitr\u00E1ria.\n- `null`: inicia sem sele\u00E7\u00E3o.\n\nReativo em runtime: mudan\u00E7as na prop atualizam estado e subcomponentes."
|
|
1259
1354
|
},
|
|
@@ -1279,8 +1374,11 @@ export class DatetimePicker {
|
|
|
1279
1374
|
"required": false,
|
|
1280
1375
|
"optional": false,
|
|
1281
1376
|
"docs": {
|
|
1282
|
-
"tags": [
|
|
1283
|
-
|
|
1377
|
+
"tags": [{
|
|
1378
|
+
"name": "example",
|
|
1379
|
+
"text": "```js\nconst picker = document.querySelector('br-datetime-picker');\npicker.value = new Date(2026, 8, 7, 14, 30);\n```"
|
|
1380
|
+
}],
|
|
1381
|
+
"text": "Inst\u00E2ncia de `Date` selecionada pelo usu\u00E1rio no modo simples.\nPode ser controlada por property binding e \u00E9 atualizada pelo evento `valueChange`.\nPara formul\u00E1rios e atributos textuais, use `serializedValue`."
|
|
1284
1382
|
},
|
|
1285
1383
|
"getter": false,
|
|
1286
1384
|
"setter": false,
|
|
@@ -1297,8 +1395,11 @@ export class DatetimePicker {
|
|
|
1297
1395
|
"required": false,
|
|
1298
1396
|
"optional": true,
|
|
1299
1397
|
"docs": {
|
|
1300
|
-
"tags": [
|
|
1301
|
-
|
|
1398
|
+
"tags": [{
|
|
1399
|
+
"name": "example",
|
|
1400
|
+
"text": "```html\n<br-datetime-picker mode=\"datetime\" serialized-value=\"2026-09-07T14:30\"></br-datetime-picker>\n```"
|
|
1401
|
+
}],
|
|
1402
|
+
"text": "Representa\u00E7\u00E3o serializada compat\u00EDvel com os formatos de controles HTML (`YYYY-MM-DD`, `HH:mm`\nou ISO local, conforme `mode`). Em intervalos, usa `in\u00EDcio/fim`.\n\nNa inicializa\u00E7\u00E3o, tem preced\u00EAncia sobre `valueAsDate`, `value` e `initialMoment`.\nUma string vazia inicia sem sele\u00E7\u00E3o, mesmo quando outra prop fornece uma data."
|
|
1302
1403
|
},
|
|
1303
1404
|
"getter": false,
|
|
1304
1405
|
"setter": false,
|
|
@@ -1321,8 +1422,11 @@ export class DatetimePicker {
|
|
|
1321
1422
|
"required": false,
|
|
1322
1423
|
"optional": true,
|
|
1323
1424
|
"docs": {
|
|
1324
|
-
"tags": [
|
|
1325
|
-
|
|
1425
|
+
"tags": [{
|
|
1426
|
+
"name": "example",
|
|
1427
|
+
"text": "```js\nconst picker = document.querySelector('br-datetime-picker');\npicker.valueAsDate = new Date(2026, 8, 7);\n```"
|
|
1428
|
+
}],
|
|
1429
|
+
"text": "Espelho tipado da sele\u00E7\u00E3o atual, equivalente ao padr\u00E3o `valueAsDate` dos controles HTML.\nDiferentemente de `serializedValue`, recebe e retorna uma inst\u00E2ncia de `Date`.\nNa inicializa\u00E7\u00E3o, tem preced\u00EAncia sobre `value` e `initialMoment` quando `serializedValue`\nn\u00E3o \u00E9 informado. `null` inicia sem sele\u00E7\u00E3o; `undefined` permite usar as outras props."
|
|
1326
1430
|
},
|
|
1327
1431
|
"getter": false,
|
|
1328
1432
|
"setter": false
|
|
@@ -1345,8 +1449,11 @@ export class DatetimePicker {
|
|
|
1345
1449
|
"required": false,
|
|
1346
1450
|
"optional": true,
|
|
1347
1451
|
"docs": {
|
|
1348
|
-
"tags": [
|
|
1349
|
-
|
|
1452
|
+
"tags": [{
|
|
1453
|
+
"name": "example",
|
|
1454
|
+
"text": "```js\nconst picker = document.querySelector('br-datetime-picker');\npicker.selectionMode = 'range';\npicker.rangeValue = {\n start: new Date(2026, 8, 7),\n end: new Date(2026, 8, 12),\n};\n```"
|
|
1455
|
+
}],
|
|
1456
|
+
"text": "Intervalo controlado quando `selectionMode=\"range\"`.\nDeve conter datas v\u00E1lidas ou `null` em `start` e `end`; valores inv\u00E1lidos mant\u00EAm o \u00FAltimo intervalo efetivo.\nPasse o objeto por property binding; atributos HTML n\u00E3o representam objetos com `Date`."
|
|
1350
1457
|
},
|
|
1351
1458
|
"getter": false,
|
|
1352
1459
|
"setter": false
|
|
@@ -1395,6 +1502,12 @@ export class DatetimePicker {
|
|
|
1395
1502
|
"tags": [{
|
|
1396
1503
|
"name": "default",
|
|
1397
1504
|
"text": "null"
|
|
1505
|
+
}, {
|
|
1506
|
+
"name": "example",
|
|
1507
|
+
"text": "```html\n<br-datetime-picker mode=\"date\" disabled-dates=\"2026-09-07 2026-09-08\"></br-datetime-picker>\n```"
|
|
1508
|
+
}, {
|
|
1509
|
+
"name": "example",
|
|
1510
|
+
"text": "```js\nconst picker = document.querySelector('br-datetime-picker');\npicker.disabledDates = [new Date(2026, 8, 7), '2026-09-08'];\n```"
|
|
1398
1511
|
}],
|
|
1399
1512
|
"text": "Define um conjunto de datas indispon\u00EDveis para sele\u00E7\u00E3o.\n\nAceita uma lista de `Date` e/ou strings analis\u00E1veis, ou uma string com datas\nseparadas por espa\u00E7o em branco. Datas inv\u00E1lidas s\u00E3o ignoradas com warning.\nA compara\u00E7\u00E3o considera apenas o dia (ano/m\u00EAs/dia), ignorando hora."
|
|
1400
1513
|
},
|
|
@@ -1667,6 +1780,10 @@ export class DatetimePicker {
|
|
|
1667
1780
|
"Promise": {
|
|
1668
1781
|
"location": "global",
|
|
1669
1782
|
"id": "global::Promise"
|
|
1783
|
+
},
|
|
1784
|
+
"HTMLBrDatetimeInputElement": {
|
|
1785
|
+
"location": "global",
|
|
1786
|
+
"id": "global::HTMLBrDatetimeInputElement"
|
|
1670
1787
|
}
|
|
1671
1788
|
},
|
|
1672
1789
|
"return": "Promise<void>"
|
|
@@ -1921,4 +2038,3 @@ export class DatetimePicker {
|
|
|
1921
2038
|
}
|
|
1922
2039
|
static get attachInternalsMemberName() { return "elementInternals"; }
|
|
1923
2040
|
}
|
|
1924
|
-
let datetimePickerId = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media(min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--color-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);--item-padding-y: var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin: var(--grid-portrait-margin);--grid-maxwidth: var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter: var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media(min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media(min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-desktop-margin)}.row{--grid-gutter: var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media(min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tv-margin)}.row{--grid-gutter: var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media(min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media(min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media(min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset: var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media(min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background: var(--background);--table-color: var(--color);--table-border-color: var(--gray-20);--table-border-style: solid;--table-border-width: 1px;--table-hover: var(--color-rgb);--table-padding: var(--spacing-scale-3x);--table-font-weight: var(--font-weight-medium);--table-th-background: var(--background-alternative);--table-th-font-weight: var(--font-weight-semi-bold);--table-row-size: var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.help{font-size:var(--font-size-scale-base)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host{display:block;width:100%;max-width:144px;height:116px;margin-inline:auto;box-sizing:border-box}.br-time-picker{display:flex;justify-content:center;align-items:center;width:100%;height:100%;box-sizing:border-box}.timer{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--spacing-scale-sm);width:100%;box-sizing:border-box}.time-field{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.time-field label{font-size:var(--font-size-scale-down-01);color:var(--gray-70);margin-bottom:4px}.time-field input{width:var(--spacing-scale-6x);height:var(--spacing-scale-6x);padding:4px;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);text-align:center;border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width)}.time-field input:hover{background:linear-gradient(rgb(var(--color-rgb), var(--hover)), rgb(var(--color-rgb), var(--hover)))}.time-separator{display:inline-block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);color:var(--gray-70);align-self:center;line-height:1;padding:0 var(--spacing-scale-base)}
|
|
1
|
+
*,*::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{display:block;width:100%;max-width:144px;height:116px;margin-inline:auto;box-sizing:border-box}.br-time-picker{display:flex;justify-content:center;align-items:center;width:100%;height:100%;box-sizing:border-box}.timer{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--spacing-scale-sm);width:100%;box-sizing:border-box}.time-field{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.time-field label{font-size:var(--font-size-scale-down-01);color:var(--gray-70);margin-bottom:4px}.time-field input{width:var(--spacing-scale-6x);height:var(--spacing-scale-6x);padding:4px;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);text-align:center;border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width)}.time-field input:hover{background:linear-gradient(rgb(var(--color-rgb), var(--hover)), rgb(var(--color-rgb), var(--hover)))}.time-separator{display:inline-block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);color:var(--gray-70);align-self:center;line-height:1;padding:0 var(--spacing-scale-base)}
|
|
@@ -12,13 +12,27 @@ import { subHours } from "date-fns/subHours";
|
|
|
12
12
|
import { subMinutes } from "date-fns/subMinutes";
|
|
13
13
|
import { toDate } from "date-fns/toDate";
|
|
14
14
|
import { dispatchNativeFormEvent } from "../../../shared/utils/event";
|
|
15
|
+
import { reportInvalidPropValue } from "../../../shared/utils/prop-warning";
|
|
15
16
|
import { resolveSsrLocalDate } from "../../../shared/utils/ssr-date";
|
|
16
17
|
import { NAVIGATION_ACTION } from "../datetime-picker-constants";
|
|
17
18
|
import { INPUT_TIME_TYPE } from "./time-picker-constants";
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Subcomponente de seleção de horários do GovBR-DS, desenvolvido para permitir a escolha intuitiva de horas e minutos.
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
+
* ### Papel na composição
|
|
23
|
+
*
|
|
24
|
+
* - Apresenta colunas ou controles de incremento/decremento para seleção de horas e minutos com validação de limites.
|
|
25
|
+
* - Sincroniza o horário escolhido com o campo textual associado.
|
|
26
|
+
*
|
|
27
|
+
* ### Regra de uso e relacionamento
|
|
28
|
+
*
|
|
29
|
+
* Coordenado pelo componente pai `br-datetime-picker` no modo de horário ou composto. Pode ser utilizado avulso quando a aplicação demandar exclusivamente a captura de hora sem necessidade de calendário de datas.
|
|
30
|
+
*
|
|
31
|
+
* Para a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetime-picker?tab=designer).
|
|
32
|
+
*
|
|
33
|
+
|
|
34
|
+
* @category Formulários, Seleção
|
|
35
|
+
* @status stable
|
|
22
36
|
*
|
|
23
37
|
* @part container - Parte para o container base do seletor de horários.
|
|
24
38
|
* @part timer - Container para o grupo de hora e minuto.
|
|
@@ -30,9 +44,27 @@ export class TimePicker {
|
|
|
30
44
|
constructor() {
|
|
31
45
|
/** Mantém o rascunho digitado por campo para evitar aplicar valor parcial prematuramente. */
|
|
32
46
|
this.timeDraft = {};
|
|
33
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Data usada como referência para a navegação de hora e minuto, sem representar necessariamente a seleção.
|
|
49
|
+
* Recebe uma instância de `Date` por property binding; valores inválidos usam a data atual.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```js
|
|
53
|
+
* const timePicker = document.querySelector('br-time-picker');
|
|
54
|
+
* timePicker.referenceDate = new Date(2026, 8, 7, 9);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
34
57
|
this.referenceDate = new Date();
|
|
35
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Data que contém a hora e o minuto efetivamente selecionados, ou `null` quando vazio.
|
|
60
|
+
* Recebe uma instância de `Date` por property binding; datas inválidas usam `null`.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```js
|
|
64
|
+
* const timePicker = document.querySelector('br-time-picker');
|
|
65
|
+
* timePicker.value = new Date(2026, 8, 7, 14, 30);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
36
68
|
this.value = null;
|
|
37
69
|
/** Desabilita todos os controles de navegação e edição de hora/minuto. */
|
|
38
70
|
this.disabled = false;
|
|
@@ -89,9 +121,31 @@ export class TimePicker {
|
|
|
89
121
|
this.timeDraft = { ...this.timeDraft, [type]: value };
|
|
90
122
|
};
|
|
91
123
|
}
|
|
124
|
+
handleReferenceDateChange(newValue) {
|
|
125
|
+
const normalizedReferenceDate = this.normalizeDateProp(newValue, 'referenceDate', new Date());
|
|
126
|
+
const receivedTime = newValue instanceof Date && !Number.isNaN(newValue.getTime()) ? newValue.getTime() : null;
|
|
127
|
+
if (normalizedReferenceDate.getTime() !== receivedTime)
|
|
128
|
+
this.referenceDate = normalizedReferenceDate;
|
|
129
|
+
}
|
|
130
|
+
handleValueChange(newValue) {
|
|
131
|
+
const normalizedValue = this.normalizeDateProp(newValue, 'value', null);
|
|
132
|
+
const receivedTime = newValue instanceof Date && !Number.isNaN(newValue.getTime()) ? newValue.getTime() : null;
|
|
133
|
+
if ((normalizedValue?.getTime() ?? null) !== receivedTime)
|
|
134
|
+
this.value = normalizedValue;
|
|
135
|
+
}
|
|
92
136
|
componentWillLoad() {
|
|
137
|
+
this.referenceDate = this.normalizeDateProp(this.referenceDate, 'referenceDate', new Date());
|
|
138
|
+
this.value = this.normalizeDateProp(this.value, 'value', null);
|
|
93
139
|
this.referenceDate = resolveSsrLocalDate(this.el, this.referenceDate);
|
|
94
140
|
}
|
|
141
|
+
normalizeDateProp(value, propertyName, fallback) {
|
|
142
|
+
if (value === null && fallback === null)
|
|
143
|
+
return null;
|
|
144
|
+
if (value instanceof Date && !Number.isNaN(value.getTime()))
|
|
145
|
+
return toDate(value);
|
|
146
|
+
reportInvalidPropValue(this.el, propertyName, value, 'Informe uma instância de Date válida.', `Aplicando fallback ${fallback === null ? 'null' : 'new Date()'}.`);
|
|
147
|
+
return fallback === null ? null : toDate(fallback);
|
|
148
|
+
}
|
|
95
149
|
/**
|
|
96
150
|
* Emite o estado consolidado para manter hora, minuto e data sincronizados.
|
|
97
151
|
*
|
|
@@ -338,7 +392,7 @@ export class TimePicker {
|
|
|
338
392
|
return (h("div", { class: "time-field", part: "field" }, this.renderNavigationButton(nextAction), h("input", { type: "text", inputmode: "numeric", maxLength: 2, value: this.timeDraft[type] ?? this.getTimeFieldValue(type), "aria-label": this.getTimeFieldAriaLabel(type), onInput: this.getTimeInputChangeHandler(type), onBlur: this.getTimeInputCommitHandler(type), onKeyDown: this.getTimeInputKeydownHandler(type), disabled: this.disabled, part: "input" }), this.renderNavigationButton(prevAction)));
|
|
339
393
|
}
|
|
340
394
|
render() {
|
|
341
|
-
return (h(Host, { key: '
|
|
395
|
+
return (h(Host, { key: 'c89413711940ab403593c5e7a61a7cce26e2fc98' }, h("div", { key: '98688b192d54e60106f8420dd932a709470b5379', class: "br-time-picker", part: "container" }, this.renderTimePicker())));
|
|
342
396
|
}
|
|
343
397
|
static get is() { return "br-time-picker"; }
|
|
344
398
|
static get encapsulation() { return "shadow"; }
|
|
@@ -370,8 +424,11 @@ export class TimePicker {
|
|
|
370
424
|
"required": false,
|
|
371
425
|
"optional": false,
|
|
372
426
|
"docs": {
|
|
373
|
-
"tags": [
|
|
374
|
-
|
|
427
|
+
"tags": [{
|
|
428
|
+
"name": "example",
|
|
429
|
+
"text": "```js\nconst timePicker = document.querySelector('br-time-picker');\ntimePicker.referenceDate = new Date(2026, 8, 7, 9);\n```"
|
|
430
|
+
}],
|
|
431
|
+
"text": "Data usada como refer\u00EAncia para a navega\u00E7\u00E3o de hora e minuto, sem representar necessariamente a sele\u00E7\u00E3o.\nRecebe uma inst\u00E2ncia de `Date` por property binding; valores inv\u00E1lidos usam a data atual."
|
|
375
432
|
},
|
|
376
433
|
"getter": false,
|
|
377
434
|
"setter": false,
|
|
@@ -393,8 +450,11 @@ export class TimePicker {
|
|
|
393
450
|
"required": false,
|
|
394
451
|
"optional": false,
|
|
395
452
|
"docs": {
|
|
396
|
-
"tags": [
|
|
397
|
-
|
|
453
|
+
"tags": [{
|
|
454
|
+
"name": "example",
|
|
455
|
+
"text": "```js\nconst timePicker = document.querySelector('br-time-picker');\ntimePicker.value = new Date(2026, 8, 7, 14, 30);\n```"
|
|
456
|
+
}],
|
|
457
|
+
"text": "Data que cont\u00E9m a hora e o minuto efetivamente selecionados, ou `null` quando vazio.\nRecebe uma inst\u00E2ncia de `Date` por property binding; datas inv\u00E1lidas usam `null`."
|
|
398
458
|
},
|
|
399
459
|
"getter": false,
|
|
400
460
|
"setter": false,
|
|
@@ -453,4 +513,13 @@ export class TimePicker {
|
|
|
453
513
|
}];
|
|
454
514
|
}
|
|
455
515
|
static get elementRef() { return "el"; }
|
|
516
|
+
static get watchers() {
|
|
517
|
+
return [{
|
|
518
|
+
"propName": "referenceDate",
|
|
519
|
+
"methodName": "handleReferenceDateChange"
|
|
520
|
+
}, {
|
|
521
|
+
"propName": "value",
|
|
522
|
+
"methodName": "handleValueChange"
|
|
523
|
+
}];
|
|
524
|
+
}
|
|
456
525
|
}
|