@govbr-ds/webcomponents 2.3.0 → 2.5.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 +2 -2
- package/cem/custom-elements.json +1764 -1575
- package/cem/webcomponents.html-custom-data.json +194 -163
- package/dist/cjs/br-avatar.cjs.entry.js +3 -3
- package/dist/cjs/br-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/br-button_2.cjs.entry.js +4 -4
- package/dist/cjs/br-card.cjs.entry.js +3 -3
- package/dist/cjs/br-carousel-page.cjs.entry.js +2 -2
- package/dist/cjs/br-carousel.cjs.entry.js +2 -2
- package/dist/cjs/br-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/br-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +5 -5
- package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-group.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-header.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-link.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-note.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar.cjs.entry.js +3 -3
- package/dist/cjs/br-crumb.cjs.entry.js +1 -1
- package/dist/cjs/br-date-picker_3.cjs.entry.js +984 -545
- package/dist/cjs/br-datetime-picker.cjs.entry.js +1346 -310
- package/dist/cjs/br-divider.cjs.entry.js +3 -3
- package/dist/cjs/br-dropdown_2.cjs.entry.js +282 -139
- package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-item.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-legal.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-social.cjs.entry.js +2 -2
- package/dist/cjs/br-footer.cjs.entry.js +4 -4
- package/dist/cjs/br-header-function.cjs.entry.js +2 -2
- package/dist/cjs/br-header-link.cjs.entry.js +2 -2
- package/dist/cjs/br-header-list.cjs.entry.js +2 -2
- package/dist/cjs/br-header-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-header.cjs.entry.js +2 -2
- package/dist/cjs/br-icon.cjs.entry.js +3 -3
- package/dist/cjs/br-input.cjs.entry.js +64 -10
- package/dist/cjs/br-item.cjs.entry.js +3 -3
- package/dist/cjs/br-link.cjs.entry.js +8 -8
- package/dist/cjs/br-loading.cjs.entry.js +2 -2
- package/dist/cjs/br-magic-button.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-header.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-info.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-link.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-list.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-social.cjs.entry.js +1 -1
- package/dist/cjs/br-menu.cjs.entry.js +4 -4
- package/dist/cjs/br-modal.cjs.entry.js +1 -1
- package/dist/cjs/br-notification-body.cjs.entry.js +2 -2
- package/dist/cjs/br-notification-header.cjs.entry.js +2 -2
- package/dist/cjs/br-notification-item.cjs.entry.js +2 -2
- package/dist/cjs/br-notification.cjs.entry.js +3 -3
- package/dist/cjs/br-pagination.cjs.entry.js +3 -3
- package/dist/cjs/br-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/br-radio.cjs.entry.js +4 -4
- package/dist/cjs/br-scrim.cjs.entry.js +3 -3
- package/dist/cjs/br-select-input_3.cjs.entry.js +308 -101
- package/dist/cjs/br-sign-in.cjs.entry.js +3 -3
- package/dist/cjs/br-skip-link-item.cjs.entry.js +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/br-skiplink-item.cjs.entry.js +2 -2
- package/dist/cjs/br-slider.cjs.entry.js +3 -3
- package/dist/cjs/br-step_2.cjs.entry.js +6 -6
- package/dist/cjs/br-switch.cjs.entry.js +4 -4
- package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
- package/dist/cjs/br-tab.cjs.entry.js +4 -4
- package/dist/cjs/br-table-body.cjs.entry.js +2 -2
- package/dist/cjs/br-table-cell.cjs.entry.js +2 -2
- package/dist/cjs/br-table-header-cell.cjs.entry.js +2 -2
- package/dist/cjs/br-table-header.cjs.entry.js +2 -2
- package/dist/cjs/br-table-row.cjs.entry.js +2 -2
- package/dist/cjs/br-table.cjs.entry.js +2 -2
- package/dist/cjs/br-tag.cjs.entry.js +4 -4
- package/dist/cjs/br-textarea.cjs.entry.js +3 -3
- package/dist/cjs/br-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/br-upload.cjs.entry.js +8 -24
- package/dist/cjs/br-wizard-panel.cjs.entry.js +2 -2
- package/dist/cjs/br-wizard.cjs.entry.js +2 -2
- package/dist/cjs/{datetime-picker-constants-B5pWeOn1.js → datetime-picker-constants-CTf1kVJ1.js} +21 -5
- package/dist/cjs/format-bytes-Cs8SH2w0.js +24 -0
- package/dist/cjs/{iconify-icon-DfODV9bf.js → iconify-icon-LjavbM-D.js} +103 -57
- package/dist/cjs/index-Bc30P_6z.js +14 -14
- package/dist/cjs/{index-C92n55ch.js → index-Caoez3xb.js} +75 -27
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{datetime-picker-props-validation-DmNKSXsy.js → isValid-DgJ-noPS.js} +1 -483
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/select.utils-C38f5Kea.js +62 -0
- package/dist/cjs/{slot-DAllytTj.js → slot-CjaqqX7y.js} +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/avatar/avatar.js +21 -21
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +4 -12
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +32 -27
- package/dist/collection/components/breadcrumb/crumb/crumb.js +2 -13
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button/button.js +21 -21
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/card/card.js +20 -22
- package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
- package/dist/collection/components/carousel/carousel-page/carousel-page.js +3 -13
- package/dist/collection/components/carousel/carousel.css +1 -1
- package/dist/collection/components/carousel/carousel.js +23 -30
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +18 -24
- package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +19 -20
- package/dist/collection/components/checkgroup/checkgroup.js +2 -14
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +25 -21
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +3 -16
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +3 -16
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +3 -16
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +3 -15
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +3 -14
- 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 +2 -13
- package/dist/collection/components/cookiebar/cookiebar.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar.js +32 -27
- package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +73 -26
- package/dist/collection/components/datetime-picker/date-picker/date-picker-props-validation.js +14 -13
- package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
- package/dist/collection/components/datetime-picker/date-picker/date-picker.js +474 -321
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input-constants.js +59 -0
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input-props-validation.js +19 -15
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +370 -218
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.types.js +1 -0
- package/dist/collection/components/datetime-picker/datetime-picker-constants.js +19 -5
- package/dist/collection/components/datetime-picker/datetime-picker-form-associated.js +92 -11
- package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +52 -33
- package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +917 -368
- package/dist/collection/components/datetime-picker/datetime-picker.utils.js +62 -49
- package/dist/collection/components/datetime-picker/time-picker/time-picker-constants.js +3 -2
- package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
- package/dist/collection/components/datetime-picker/time-picker/time-picker.js +145 -92
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/divider/divider.js +15 -19
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +22 -21
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.js +4 -17
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.js +3 -16
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.js +2 -16
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.js +3 -16
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.js +3 -15
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/footer/footer.js +25 -29
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-function/header-function.js +10 -14
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-link/header-link.js +3 -16
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-list/header-list.js +3 -16
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header-logo/header-logo.js +3 -16
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +30 -27
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/icon/icon.js +22 -17
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +125 -30
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/item/item.js +18 -22
- package/dist/collection/components/link/link.css +1 -1
- package/dist/collection/components/link/link.js +25 -29
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/list/list.js +17 -21
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/loading/loading.js +17 -24
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/magic-button/magic-button.js +13 -20
- package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
- package/dist/collection/components/menu/menu-group/menu-group.js +3 -16
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.js +3 -16
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.js +2 -15
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.js +3 -16
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.js +5 -17
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu/menu-list/menu-list.js +2 -15
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
- package/dist/collection/components/menu/menu-logo/menu-logo.js +2 -15
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.js +2 -15
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +28 -35
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/message/message.js +22 -25
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/modal/modal.js +18 -21
- package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
- package/dist/collection/components/notification/notification-body/notification-body.js +3 -13
- package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
- package/dist/collection/components/notification/notification-header/notification-header.js +3 -14
- package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
- package/dist/collection/components/notification/notification-item/notification-item.js +3 -16
- package/dist/collection/components/notification/notification.css +1 -1
- package/dist/collection/components/notification/notification.js +20 -29
- package/dist/collection/components/pagination/pagination.css +1 -1
- package/dist/collection/components/pagination/pagination.js +15 -23
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio/radio.js +17 -20
- package/dist/collection/components/radio-group/radio-group.css +1 -1
- package/dist/collection/components/radio-group/radio-group.js +20 -20
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/scrim/scrim.js +14 -17
- package/dist/collection/components/select/select-input/select-input.css +1 -1
- package/dist/collection/components/select/select-input/select-input.js +157 -27
- package/dist/collection/components/select/select-list/select-list.css +1 -1
- package/dist/collection/components/select/select-list/select-list.js +269 -80
- package/dist/collection/components/select/select-option/select-option.css +1 -1
- package/dist/collection/components/select/select-option/select-option.js +20 -16
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +367 -180
- package/dist/collection/components/select/select.utils.js +26 -7
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +12 -16
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +8 -4
- 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 +5 -15
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/skip-link/skip-link.js +18 -24
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/slider/slider.js +15 -25
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step-item/step-item.js +5 -15
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/step/step.js +16 -25
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +16 -20
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.js +5 -15
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +22 -29
- package/dist/collection/components/table/table-body/table-body.css +1 -1
- package/dist/collection/components/table/table-body/table-body.js +3 -13
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +3 -12
- package/dist/collection/components/table/table-header/table-header.css +1 -1
- package/dist/collection/components/table/table-header/table-header.js +3 -13
- 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 +3 -13
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table-row/table-row.js +3 -13
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/table/table.js +25 -32
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +17 -26
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +14 -22
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/tooltip/tooltip.js +13 -19
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +36 -29
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +3 -13
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/collection/components/wizard/wizard.js +22 -26
- package/dist/collection/pages/components/select/remote-options.js +87 -0
- package/dist/collection/shared/utils/slot.js +1 -1
- package/dist/components/br-avatar.js +1 -1
- package/dist/components/br-breadcrumb-item.js +1 -1
- package/dist/components/br-breadcrumb.js +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-card.js +1 -1
- package/dist/components/br-carousel-page.js +1 -1
- package/dist/components/br-carousel.js +1 -1
- package/dist/components/br-checkbox-group.js +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.js +1 -1
- package/dist/components/br-cookiebar-cookie.js +1 -1
- package/dist/components/br-cookiebar-group.js +1 -1
- package/dist/components/br-cookiebar-header.js +1 -1
- package/dist/components/br-cookiebar-link.js +1 -1
- package/dist/components/br-cookiebar-note-group.js +1 -1
- package/dist/components/br-cookiebar-note.js +1 -1
- package/dist/components/br-cookiebar.js +1 -1
- package/dist/components/br-crumb.js +1 -1
- package/dist/components/br-date-picker.js +1 -1
- package/dist/components/br-datetime-input.js +1 -1
- package/dist/components/br-datetime-picker.js +1 -1
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.js +1 -1
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-footer-legal.js +1 -1
- package/dist/components/br-footer-logo.js +1 -1
- package/dist/components/br-footer-social.js +1 -1
- package/dist/components/br-footer.js +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.js +1 -1
- package/dist/components/br-header-logo.js +1 -1
- package/dist/components/br-header.js +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-link.js +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.js +1 -1
- package/dist/components/br-magic-button.js +1 -1
- package/dist/components/br-menu-group.js +1 -1
- package/dist/components/br-menu-header.js +1 -1
- package/dist/components/br-menu-info.js +1 -1
- package/dist/components/br-menu-item.js +1 -1
- package/dist/components/br-menu-link.js +1 -1
- package/dist/components/br-menu-list.js +1 -1
- package/dist/components/br-menu-logo.js +1 -1
- package/dist/components/br-menu-social.js +1 -1
- package/dist/components/br-menu.js +1 -1
- package/dist/components/br-message.js +1 -1
- package/dist/components/br-modal.js +1 -1
- package/dist/components/br-notification-body.js +1 -1
- package/dist/components/br-notification-header.js +1 -1
- package/dist/components/br-notification-item.js +1 -1
- package/dist/components/br-notification.js +1 -1
- package/dist/components/br-pagination.js +1 -1
- package/dist/components/br-radio-group.js +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.js +1 -1
- package/dist/components/br-select-input.js +1 -1
- package/dist/components/br-select-list.js +1 -1
- package/dist/components/br-select-option.js +1 -1
- package/dist/components/br-select.js +1 -1
- package/dist/components/br-sign-in.js +1 -1
- package/dist/components/br-skip-link-item.js +1 -1
- package/dist/components/br-skip-link.js +1 -1
- package/dist/components/br-skiplink-item.js +1 -1
- package/dist/components/br-slider.js +1 -1
- package/dist/components/br-step-item.js +1 -1
- package/dist/components/br-step.js +1 -1
- package/dist/components/br-switch.js +1 -1
- package/dist/components/br-tab-item.js +1 -1
- package/dist/components/br-tab.js +1 -1
- package/dist/components/br-table-body.js +1 -1
- package/dist/components/br-table-cell.js +1 -1
- package/dist/components/br-table-header-cell.js +1 -1
- package/dist/components/br-table-header.js +1 -1
- package/dist/components/br-table-row.js +1 -1
- package/dist/components/br-table.js +1 -1
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-textarea.js +1 -1
- package/dist/components/br-time-picker.js +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-upload.js +1 -1
- package/dist/components/br-wizard-panel.js +1 -1
- package/dist/components/br-wizard.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-448Z5r2f.js +5 -0
- package/dist/{webcomponents/p-5f422a69.entry.js → components/p-AhfgJCUp.js} +1 -1
- package/dist/components/p-AoNL6BaW.js +5 -0
- package/dist/components/p-B468MCYC.js +5 -0
- package/dist/components/p-B7bNfmgh.js +5 -0
- package/dist/components/p-B985Ov_x.js +5 -0
- package/dist/components/p-BOWQIHQA.js +5 -0
- package/dist/components/p-BPQrgCRr.js +5 -0
- package/dist/components/p-BwQT0fOJ.js +5 -0
- package/dist/components/p-CAgbUwsx.js +5 -0
- package/dist/components/p-CFXey8i8.js +5 -0
- package/dist/components/p-CVz_akHx.js +5 -0
- package/dist/components/p-CW8xwk6J.js +5 -0
- package/dist/components/p-CYZVdKeO.js +5 -0
- package/dist/components/p-C_DC6oQW.js +16 -0
- package/dist/components/p-CeWbZN7V.js +5 -0
- package/dist/components/p-CyXVsiz9.js +5 -0
- package/dist/components/p-DDe0tQEO.js +5 -0
- package/dist/components/{p-CZZVc2gK.js → p-DJKZ8ktB.js} +1 -1
- package/dist/components/p-DRsZ9GNg.js +5 -0
- package/dist/components/p-DU54cqCf.js +5 -0
- package/dist/components/p-DVJlmlEX.js +5 -0
- package/dist/components/p-DcMjwTqu.js +5 -0
- package/dist/components/p-Dd1qCWAK.js +5 -0
- package/dist/components/p-Dn36Mj2E.js +5 -0
- package/dist/components/p-DoWy_P8b.js +5 -0
- package/dist/components/p-HbhTnepI.js +5 -0
- package/dist/components/{p-BcqVlof7.js → p-JkJjzmGm.js} +1 -1
- package/dist/components/{p-Nze3Utvd.js → p-Or3FLzbz.js} +1 -1
- package/dist/components/p-SWQlgYWR.js +5 -0
- package/dist/components/p-Zb9nyfTY.js +5 -0
- package/dist/components/p-jvKQA6x7.js +5 -0
- package/dist/components/p-pQb-3jFY.js +5 -0
- package/dist/components/p-qX6sHxOk.js +5 -0
- package/dist/esm/br-avatar.entry.js +3 -3
- package/dist/esm/br-breadcrumb-item.entry.js +1 -1
- package/dist/esm/br-breadcrumb.entry.js +3 -3
- package/dist/esm/br-button_2.entry.js +4 -4
- package/dist/esm/br-card.entry.js +3 -3
- package/dist/esm/br-carousel-page.entry.js +2 -2
- package/dist/esm/br-carousel.entry.js +3 -3
- package/dist/esm/br-checkbox-group.entry.js +3 -3
- package/dist/esm/br-checkbox.entry.js +5 -5
- package/dist/esm/br-checkgroup.entry.js +1 -1
- package/dist/esm/br-collapse_2.entry.js +6 -6
- package/dist/esm/br-cookiebar-cookie.entry.js +2 -2
- package/dist/esm/br-cookiebar-group.entry.js +2 -2
- package/dist/esm/br-cookiebar-header.entry.js +2 -2
- package/dist/esm/br-cookiebar-link.entry.js +2 -2
- package/dist/esm/br-cookiebar-note-group.entry.js +1 -1
- package/dist/esm/br-cookiebar-note.entry.js +2 -2
- package/dist/esm/br-cookiebar.entry.js +4 -4
- package/dist/esm/br-crumb.entry.js +1 -1
- package/dist/esm/br-date-picker_3.entry.js +966 -527
- package/dist/esm/br-datetime-picker.entry.js +1316 -280
- package/dist/esm/br-divider.entry.js +3 -3
- package/dist/esm/br-dropdown_2.entry.js +281 -138
- package/dist/esm/br-footer-category.entry.js +3 -3
- package/dist/esm/br-footer-item.entry.js +2 -2
- package/dist/esm/br-footer-legal.entry.js +2 -2
- package/dist/esm/br-footer-logo.entry.js +2 -2
- package/dist/esm/br-footer-social.entry.js +2 -2
- package/dist/esm/br-footer.entry.js +4 -4
- package/dist/esm/br-header-function.entry.js +2 -2
- package/dist/esm/br-header-link.entry.js +2 -2
- package/dist/esm/br-header-list.entry.js +3 -3
- package/dist/esm/br-header-logo.entry.js +2 -2
- package/dist/esm/br-header.entry.js +2 -2
- package/dist/esm/br-icon.entry.js +3 -3
- package/dist/esm/br-input.entry.js +65 -11
- package/dist/esm/br-item.entry.js +3 -3
- package/dist/esm/br-link.entry.js +8 -8
- package/dist/esm/br-loading.entry.js +2 -2
- package/dist/esm/br-magic-button.entry.js +2 -2
- package/dist/esm/br-menu-group.entry.js +2 -2
- package/dist/esm/br-menu-header.entry.js +2 -2
- package/dist/esm/br-menu-info.entry.js +2 -2
- package/dist/esm/br-menu-item.entry.js +2 -2
- package/dist/esm/br-menu-link.entry.js +2 -2
- package/dist/esm/br-menu-list.entry.js +1 -1
- package/dist/esm/br-menu-logo.entry.js +2 -2
- package/dist/esm/br-menu-social.entry.js +1 -1
- package/dist/esm/br-menu.entry.js +5 -5
- package/dist/esm/br-modal.entry.js +1 -1
- package/dist/esm/br-notification-body.entry.js +2 -2
- package/dist/esm/br-notification-header.entry.js +2 -2
- package/dist/esm/br-notification-item.entry.js +2 -2
- package/dist/esm/br-notification.entry.js +4 -4
- package/dist/esm/br-pagination.entry.js +3 -3
- package/dist/esm/br-radio-group.entry.js +5 -5
- package/dist/esm/br-radio.entry.js +5 -5
- package/dist/esm/br-scrim.entry.js +3 -3
- package/dist/esm/br-select-input_3.entry.js +308 -101
- package/dist/esm/br-sign-in.entry.js +3 -3
- package/dist/esm/br-skip-link-item.entry.js +1 -1
- package/dist/esm/br-skip-link.entry.js +2 -2
- package/dist/esm/br-skiplink-item.entry.js +2 -2
- package/dist/esm/br-slider.entry.js +4 -4
- package/dist/esm/br-step_2.entry.js +6 -6
- package/dist/esm/br-switch.entry.js +5 -5
- package/dist/esm/br-tab-item.entry.js +2 -2
- package/dist/esm/br-tab.entry.js +4 -4
- package/dist/esm/br-table-body.entry.js +2 -2
- package/dist/esm/br-table-cell.entry.js +2 -2
- package/dist/esm/br-table-header-cell.entry.js +2 -2
- package/dist/esm/br-table-header.entry.js +2 -2
- package/dist/esm/br-table-row.entry.js +2 -2
- package/dist/esm/br-table.entry.js +2 -2
- package/dist/esm/br-tag.entry.js +5 -5
- package/dist/esm/br-textarea.entry.js +4 -4
- package/dist/esm/br-tooltip.entry.js +3 -3
- package/dist/esm/br-upload.entry.js +6 -22
- package/dist/esm/br-wizard-panel.entry.js +2 -2
- package/dist/esm/br-wizard.entry.js +2 -2
- package/dist/esm/{datetime-picker-constants-BtRPYRvA.js → datetime-picker-constants-1l4_-FEJ.js} +20 -6
- package/dist/esm/{event-CfuJQ1DY.js → event-6Da1SZ3J.js} +1 -1
- package/dist/esm/format-bytes-B7bNfmgh.js +22 -0
- package/dist/esm/{iconify-icon-D3usVJE2.js → iconify-icon-C_DC6oQW.js} +103 -57
- package/dist/esm/{index-BQPOWxe5.js → index-BQRBKuY0.js} +75 -28
- package/dist/esm/index-ConyRdJe.js +14 -14
- package/dist/esm/index.js +2 -2
- package/dist/esm/{datetime-picker-props-validation-BeTcUTnE.js → isValid-wU7S6MI2.js} +2 -477
- package/dist/esm/loader.js +1 -1
- package/dist/esm/select.utils-BYsh2ZdE.js +57 -0
- package/dist/esm/{slot-BIG-yees.js → slot-Bt01zQ7-.js} +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/hydrate/index.js +4459 -3577
- package/dist/hydrate/index.mjs +4459 -3577
- package/dist/types/components/avatar/avatar.d.ts +20 -20
- package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +3 -11
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +30 -25
- package/dist/types/components/breadcrumb/crumb/crumb.d.ts +1 -12
- package/dist/types/components/button/button.d.ts +20 -20
- package/dist/types/components/card/card.d.ts +19 -21
- package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +2 -12
- package/dist/types/components/carousel/carousel.d.ts +22 -29
- package/dist/types/components/checkbox/checkbox.d.ts +16 -22
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +17 -18
- package/dist/types/components/checkgroup/checkgroup.d.ts +1 -13
- package/dist/types/components/collapse/collapse.d.ts +24 -20
- package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +2 -15
- package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +2 -15
- package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +2 -15
- package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +2 -14
- package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +2 -13
- package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +2 -13
- package/dist/types/components/cookiebar/cookiebar.d.ts +30 -25
- package/dist/types/components/datetime-picker/date-picker/date-picker-locale.d.ts +20 -12
- package/dist/types/components/datetime-picker/date-picker/date-picker-props-validation.d.ts +14 -13
- package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +313 -164
- package/dist/types/components/datetime-picker/datetime-input/datetime-input-constants.d.ts +14 -0
- package/dist/types/components/datetime-picker/datetime-input/datetime-input-props-validation.d.ts +19 -15
- package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +226 -105
- package/dist/types/components/datetime-picker/datetime-input/datetime-input.types.d.ts +36 -0
- package/dist/types/components/datetime-picker/datetime-picker-constants.d.ts +19 -5
- package/dist/types/components/datetime-picker/datetime-picker-form-associated.d.ts +32 -5
- package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +22 -24
- package/dist/types/components/datetime-picker/datetime-picker.d.ts +510 -241
- package/dist/types/components/datetime-picker/datetime-picker.types.d.ts +75 -21
- package/dist/types/components/datetime-picker/datetime-picker.utils.d.ts +53 -47
- package/dist/types/components/datetime-picker/time-picker/time-picker-constants.d.ts +3 -2
- package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +123 -62
- package/dist/types/components/divider/divider.d.ts +14 -18
- package/dist/types/components/dropdown/dropdown.d.ts +21 -20
- package/dist/types/components/footer/footer-category/footer-category.d.ts +2 -15
- package/dist/types/components/footer/footer-item/footer-item.d.ts +2 -15
- package/dist/types/components/footer/footer-legal/footer-legal.d.ts +1 -15
- package/dist/types/components/footer/footer-logo/footer-logo.d.ts +2 -15
- package/dist/types/components/footer/footer-social/footer-social.d.ts +2 -14
- package/dist/types/components/footer/footer.d.ts +23 -27
- package/dist/types/components/header/header-function/header-function.d.ts +9 -13
- package/dist/types/components/header/header-link/header-link.d.ts +2 -15
- package/dist/types/components/header/header-list/header-list.d.ts +2 -15
- package/dist/types/components/header/header-logo/header-logo.d.ts +2 -15
- package/dist/types/components/header/header.d.ts +29 -26
- package/dist/types/components/icon/icon.d.ts +21 -16
- package/dist/types/components/input/input.d.ts +48 -23
- package/dist/types/components/input/input.types.d.ts +4 -0
- package/dist/types/components/item/item.d.ts +17 -21
- package/dist/types/components/link/link.d.ts +18 -22
- package/dist/types/components/list/list.d.ts +16 -20
- package/dist/types/components/loading/loading.d.ts +16 -23
- package/dist/types/components/magic-button/magic-button.d.ts +12 -19
- package/dist/types/components/menu/menu-group/menu-group.d.ts +2 -15
- package/dist/types/components/menu/menu-header/menu-header.d.ts +2 -15
- package/dist/types/components/menu/menu-info/menu-info.d.ts +1 -14
- package/dist/types/components/menu/menu-item/menu-item.d.ts +2 -15
- package/dist/types/components/menu/menu-link/menu-link.d.ts +4 -16
- package/dist/types/components/menu/menu-list/menu-list.d.ts +2 -15
- package/dist/types/components/menu/menu-logo/menu-logo.d.ts +1 -14
- package/dist/types/components/menu/menu-social/menu-social.d.ts +2 -15
- package/dist/types/components/menu/menu.d.ts +25 -32
- package/dist/types/components/message/message.d.ts +21 -24
- package/dist/types/components/modal/modal.d.ts +18 -21
- package/dist/types/components/notification/notification-body/notification-body.d.ts +2 -12
- package/dist/types/components/notification/notification-header/notification-header.d.ts +2 -13
- package/dist/types/components/notification/notification-item/notification-item.d.ts +2 -15
- package/dist/types/components/notification/notification.d.ts +18 -27
- package/dist/types/components/pagination/pagination.d.ts +13 -21
- package/dist/types/components/radio/radio.d.ts +15 -18
- package/dist/types/components/radio-group/radio-group.d.ts +18 -18
- package/dist/types/components/scrim/scrim.d.ts +12 -15
- package/dist/types/components/select/select-input/select-input.d.ts +20 -12
- package/dist/types/components/select/select-list/select-list.d.ts +27 -14
- package/dist/types/components/select/select-option/select-option.d.ts +6 -10
- package/dist/types/components/select/select.d.ts +75 -87
- package/dist/types/components/select/select.types.d.ts +12 -0
- package/dist/types/components/select/select.utils.d.ts +3 -0
- package/dist/types/components/sign-in/sign-in.d.ts +11 -15
- package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +7 -3
- package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +4 -14
- package/dist/types/components/skip-link/skip-link.d.ts +17 -23
- package/dist/types/components/slider/slider.d.ts +14 -24
- package/dist/types/components/step/step-item/step-item.d.ts +2 -12
- package/dist/types/components/step/step.d.ts +15 -24
- package/dist/types/components/switch/switch.d.ts +14 -18
- package/dist/types/components/tab/tab-item/tab-item.d.ts +4 -14
- package/dist/types/components/tab/tab.d.ts +19 -26
- package/dist/types/components/table/table-body/table-body.d.ts +2 -12
- package/dist/types/components/table/table-cell/table-cell.d.ts +2 -11
- package/dist/types/components/table/table-header/table-header.d.ts +2 -12
- package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +2 -12
- package/dist/types/components/table/table-row/table-row.d.ts +2 -12
- package/dist/types/components/table/table.d.ts +24 -31
- package/dist/types/components/tag/tag.d.ts +15 -24
- package/dist/types/components/textarea/textarea.d.ts +13 -21
- package/dist/types/components/tooltip/tooltip.d.ts +12 -18
- package/dist/types/components/upload/upload.d.ts +20 -27
- package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +2 -12
- package/dist/types/components/wizard/wizard.d.ts +21 -25
- package/dist/types/components.d.ts +3586 -5062
- package/dist/webcomponents/index.esm.js +1 -1
- package/dist/webcomponents/p-031a2256.entry.js +5 -0
- package/dist/webcomponents/p-0602e5b1.entry.js +5 -0
- package/dist/webcomponents/p-079d5f69.entry.js +5 -0
- package/dist/webcomponents/p-087ed5e7.entry.js +5 -0
- package/dist/webcomponents/p-0d5a9ebf.entry.js +5 -0
- package/dist/webcomponents/p-105b4d06.entry.js +5 -0
- package/dist/webcomponents/p-11d4edc5.entry.js +5 -0
- package/dist/webcomponents/p-12dd22af.entry.js +5 -0
- package/dist/webcomponents/p-14aedf0d.entry.js +5 -0
- package/dist/webcomponents/p-152482f9.entry.js +5 -0
- package/dist/webcomponents/p-19b4b1b7.entry.js +5 -0
- package/dist/webcomponents/p-1cd1126e.entry.js +5 -0
- package/dist/webcomponents/{p-BtRPYRvA.js → p-1l4_-FEJ.js} +1 -1
- package/dist/webcomponents/p-21e10074.entry.js +5 -0
- package/dist/webcomponents/p-2271ea84.entry.js +5 -0
- package/dist/webcomponents/p-271b1ede.entry.js +5 -0
- package/dist/webcomponents/p-28f732fc.entry.js +5 -0
- package/dist/webcomponents/{p-c1dafd8d.entry.js → p-2971d38a.entry.js} +1 -1
- package/dist/{components/p-DOJ1vYOl.js → webcomponents/p-2ac48875.entry.js} +1 -1
- package/dist/webcomponents/p-2b1a919c.entry.js +5 -0
- package/dist/webcomponents/p-2da57966.entry.js +5 -0
- package/dist/webcomponents/p-2e81b0b3.entry.js +5 -0
- package/dist/webcomponents/p-2eececed.entry.js +5 -0
- package/dist/webcomponents/{p-513ee754.entry.js → p-2f904c4a.entry.js} +1 -1
- package/dist/webcomponents/p-32414f1c.entry.js +5 -0
- package/dist/webcomponents/{p-5a7c2031.entry.js → p-324afbce.entry.js} +1 -1
- package/dist/webcomponents/p-32ea6342.entry.js +5 -0
- package/dist/webcomponents/p-330ec8ab.entry.js +5 -0
- package/dist/webcomponents/p-374f83b1.entry.js +5 -0
- package/dist/webcomponents/p-3926cc91.entry.js +5 -0
- package/dist/webcomponents/p-39a7826d.entry.js +5 -0
- package/dist/webcomponents/p-3bcc2c58.entry.js +5 -0
- package/dist/webcomponents/p-3c7ce0e4.entry.js +5 -0
- package/dist/webcomponents/p-467842ca.entry.js +5 -0
- package/dist/webcomponents/p-53550e8c.entry.js +5 -0
- package/dist/webcomponents/p-53e71a8a.entry.js +5 -0
- package/dist/webcomponents/p-5528b466.entry.js +5 -0
- package/dist/webcomponents/p-55e0822d.entry.js +5 -0
- package/dist/webcomponents/p-58bacbe1.entry.js +5 -0
- package/dist/webcomponents/p-5a5ed7d8.entry.js +5 -0
- package/dist/webcomponents/p-621f0fa8.entry.js +5 -0
- package/dist/webcomponents/p-6514a75d.entry.js +5 -0
- package/dist/webcomponents/{p-19a38e20.entry.js → p-678b43a6.entry.js} +1 -1
- package/dist/webcomponents/{p-CfuJQ1DY.js → p-6Da1SZ3J.js} +1 -1
- package/dist/webcomponents/p-6b6be415.entry.js +5 -0
- package/dist/webcomponents/{p-0d2ca2f7.entry.js → p-6d58ab4f.entry.js} +1 -1
- package/dist/webcomponents/p-6ff9b26e.entry.js +5 -0
- package/dist/webcomponents/p-84dfbfdd.entry.js +5 -0
- package/dist/webcomponents/{p-d5d2205c.entry.js → p-85c8d060.entry.js} +1 -1
- package/dist/webcomponents/p-913d6f28.entry.js +5 -0
- package/dist/webcomponents/{p-94848046.entry.js → p-975ea5c7.entry.js} +1 -1
- package/dist/webcomponents/p-992167bc.entry.js +5 -0
- package/dist/webcomponents/p-B7bNfmgh.js +5 -0
- package/dist/webcomponents/p-BYsh2ZdE.js +5 -0
- package/dist/webcomponents/p-C_DC6oQW.js +16 -0
- package/dist/webcomponents/{p-DV-iW9Aj.js → p-CpE_G6IZ.js} +1 -1
- package/dist/webcomponents/p-DnwERaeQ.js +5 -0
- package/dist/webcomponents/p-a21872bf.entry.js +5 -0
- package/dist/webcomponents/{p-0b0cf355.entry.js → p-a9f16a65.entry.js} +1 -1
- package/dist/webcomponents/p-b8d4ace3.entry.js +5 -0
- package/dist/webcomponents/{p-6850e98e.entry.js → p-bbcde1ea.entry.js} +1 -1
- package/dist/webcomponents/p-bbf47e78.entry.js +5 -0
- package/dist/webcomponents/p-bf35e506.entry.js +5 -0
- package/dist/webcomponents/{p-b02a7218.entry.js → p-c09af3cd.entry.js} +1 -1
- package/dist/webcomponents/p-c29268b5.entry.js +5 -0
- package/dist/webcomponents/p-c3e61c39.entry.js +5 -0
- package/dist/webcomponents/{p-b16590fc.entry.js → p-c6b2545a.entry.js} +1 -1
- package/dist/webcomponents/{p-b55425b7.entry.js → p-c6f2f17b.entry.js} +1 -1
- package/dist/webcomponents/p-cae39e13.entry.js +5 -0
- package/dist/webcomponents/p-cb1e08b1.entry.js +5 -0
- package/dist/webcomponents/{p-e94a52ac.entry.js → p-cb690a87.entry.js} +1 -1
- package/dist/webcomponents/p-d0be7243.entry.js +5 -0
- package/dist/webcomponents/p-d191c6e3.entry.js +5 -0
- package/dist/webcomponents/p-d205f3fd.entry.js +5 -0
- package/dist/webcomponents/p-d3bd2c40.entry.js +5 -0
- package/dist/webcomponents/{p-61977114.entry.js → p-dbeea64e.entry.js} +1 -1
- package/dist/webcomponents/p-df475129.entry.js +5 -0
- package/dist/webcomponents/p-e0ccf189.entry.js +5 -0
- package/dist/webcomponents/p-e121429a.entry.js +5 -0
- package/dist/webcomponents/p-e4b968b5.entry.js +5 -0
- package/dist/webcomponents/p-e661c024.entry.js +5 -0
- package/dist/webcomponents/p-e6c6f305.entry.js +5 -0
- package/dist/webcomponents/p-e8291be2.entry.js +5 -0
- package/dist/webcomponents/p-eb5806c7.entry.js +5 -0
- package/dist/webcomponents/{p-82759002.entry.js → p-ed3fa8ec.entry.js} +1 -1
- package/dist/webcomponents/p-f9084f16.entry.js +5 -0
- package/dist/webcomponents/{p-4118b878.entry.js → p-fad3aa61.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +2 -2
- package/dist/collection/pages/components/select/remote.js +0 -33
- package/dist/collection/pages/components/select/virtualized.js +0 -13
- package/dist/components/p-0qmYp77w.js +0 -5
- package/dist/components/p-5c3rNBXh.js +0 -5
- package/dist/components/p-B8oIvH3q.js +0 -5
- package/dist/components/p-BECz8XWJ.js +0 -5
- package/dist/components/p-BM4Ys6hX.js +0 -5
- package/dist/components/p-BXWh9s7p.js +0 -5
- package/dist/components/p-BblZlUp2.js +0 -5
- package/dist/components/p-Bezou5CQ.js +0 -5
- package/dist/components/p-BjeUETWJ.js +0 -5
- package/dist/components/p-Cd6udSDt.js +0 -5
- package/dist/components/p-Ci0_RqAE.js +0 -5
- package/dist/components/p-CuBgClZm.js +0 -5
- package/dist/components/p-D0QYZSoP.js +0 -5
- package/dist/components/p-D3usVJE2.js +0 -16
- package/dist/components/p-D4SWpW6-.js +0 -5
- package/dist/components/p-D579DS7x.js +0 -5
- package/dist/components/p-D8K7rhHd.js +0 -5
- package/dist/components/p-D9nXlCuS.js +0 -5
- package/dist/components/p-DKFO6Q_g.js +0 -5
- package/dist/components/p-DNJSSCNi.js +0 -5
- package/dist/components/p-DYI30IZL.js +0 -5
- package/dist/components/p-DcVldfL0.js +0 -5
- package/dist/components/p-DhvmHPp4.js +0 -5
- package/dist/components/p-DwgiHL0b.js +0 -5
- package/dist/components/p-WxDB6Dk4.js +0 -5
- package/dist/components/p-ZLoeVagg.js +0 -5
- package/dist/components/p-gbYJ9sfc.js +0 -5
- package/dist/components/p-uc8ABlC_.js +0 -5
- package/dist/components/p-v60ypfxD.js +0 -5
- package/dist/webcomponents/p-078bd760.entry.js +0 -5
- package/dist/webcomponents/p-07c2cdff.entry.js +0 -5
- package/dist/webcomponents/p-09817344.entry.js +0 -5
- package/dist/webcomponents/p-0d79ca44.entry.js +0 -5
- package/dist/webcomponents/p-0fe3c47b.entry.js +0 -5
- package/dist/webcomponents/p-116b53c9.entry.js +0 -5
- package/dist/webcomponents/p-1240dae7.entry.js +0 -5
- package/dist/webcomponents/p-14ff5865.entry.js +0 -5
- package/dist/webcomponents/p-15743a02.entry.js +0 -5
- package/dist/webcomponents/p-16cebf49.entry.js +0 -5
- package/dist/webcomponents/p-1884b9d3.entry.js +0 -5
- package/dist/webcomponents/p-1d36c8fa.entry.js +0 -5
- package/dist/webcomponents/p-1fa4b5b2.entry.js +0 -5
- package/dist/webcomponents/p-212c069b.entry.js +0 -5
- package/dist/webcomponents/p-23f37cd6.entry.js +0 -5
- package/dist/webcomponents/p-24502b63.entry.js +0 -5
- package/dist/webcomponents/p-27fb81f3.entry.js +0 -5
- package/dist/webcomponents/p-28844490.entry.js +0 -5
- package/dist/webcomponents/p-2b41bdcc.entry.js +0 -5
- package/dist/webcomponents/p-2cb1e09b.entry.js +0 -5
- package/dist/webcomponents/p-2fcda70b.entry.js +0 -5
- package/dist/webcomponents/p-3378300c.entry.js +0 -5
- package/dist/webcomponents/p-3ae9cf69.entry.js +0 -5
- package/dist/webcomponents/p-3b79cd49.entry.js +0 -5
- package/dist/webcomponents/p-3c1513ec.entry.js +0 -5
- package/dist/webcomponents/p-4534a3c3.entry.js +0 -5
- package/dist/webcomponents/p-48abf568.entry.js +0 -5
- package/dist/webcomponents/p-4e5ea05c.entry.js +0 -5
- package/dist/webcomponents/p-521a1076.entry.js +0 -5
- package/dist/webcomponents/p-59fc52c0.entry.js +0 -5
- package/dist/webcomponents/p-5a9f4ea2.entry.js +0 -5
- package/dist/webcomponents/p-71853dfc.entry.js +0 -5
- package/dist/webcomponents/p-76d51654.entry.js +0 -5
- package/dist/webcomponents/p-77e242f3.entry.js +0 -5
- package/dist/webcomponents/p-7b849472.entry.js +0 -5
- package/dist/webcomponents/p-7dbfb875.entry.js +0 -5
- package/dist/webcomponents/p-7fa7f052.entry.js +0 -5
- package/dist/webcomponents/p-81c65747.entry.js +0 -5
- package/dist/webcomponents/p-91a5329f.entry.js +0 -5
- package/dist/webcomponents/p-966773a9.entry.js +0 -5
- package/dist/webcomponents/p-9abb5a53.entry.js +0 -5
- package/dist/webcomponents/p-9bf2e325.entry.js +0 -5
- package/dist/webcomponents/p-9c943b40.entry.js +0 -5
- package/dist/webcomponents/p-9ec3ca00.entry.js +0 -5
- package/dist/webcomponents/p-B0PbhaxL.js +0 -5
- package/dist/webcomponents/p-D3usVJE2.js +0 -16
- package/dist/webcomponents/p-ad91f149.entry.js +0 -5
- package/dist/webcomponents/p-aeea1f17.entry.js +0 -5
- package/dist/webcomponents/p-c2ca0289.entry.js +0 -5
- package/dist/webcomponents/p-c8af334e.entry.js +0 -5
- package/dist/webcomponents/p-cac49c6a.entry.js +0 -5
- package/dist/webcomponents/p-cb9ebfbe.entry.js +0 -5
- package/dist/webcomponents/p-ce3d689c.entry.js +0 -5
- package/dist/webcomponents/p-d11f95a0.entry.js +0 -5
- package/dist/webcomponents/p-dad03b49.entry.js +0 -5
- package/dist/webcomponents/p-db8e6322.entry.js +0 -5
- package/dist/webcomponents/p-dea8015f.entry.js +0 -5
- package/dist/webcomponents/p-e07e309d.entry.js +0 -5
- package/dist/webcomponents/p-e53d874b.entry.js +0 -5
- package/dist/webcomponents/p-e5540387.entry.js +0 -5
- package/dist/webcomponents/p-e9be4d3f.entry.js +0 -5
- package/dist/webcomponents/p-e9db9381.entry.js +0 -5
- package/dist/webcomponents/p-edca5de1.entry.js +0 -5
- package/dist/webcomponents/p-ee5b9fc9.entry.js +0 -5
- package/dist/webcomponents/p-f4ef8c63.entry.js +0 -5
- /package/dist/components/{p-5z6jgH1D.js → p-BNckUhK6.js} +0 -0
- /package/dist/webcomponents/{p-BIG-yees.js → p-Bt01zQ7-.js} +0 -0
|
@@ -12,133 +12,143 @@ import { parse } from "date-fns/parse";
|
|
|
12
12
|
import { set } from "date-fns/set";
|
|
13
13
|
import { toDate } from "date-fns/toDate";
|
|
14
14
|
import { dispatchNativeFormEvent } from "../../../shared/utils/event";
|
|
15
|
-
import { reportInvalidPropValue } from "../../../shared/utils/prop-warning";
|
|
16
|
-
import { resolveAllowedPropValue } from "../../../shared/utils/props";
|
|
17
15
|
import { resolveSsrLocalDate } from "../../../shared/utils/ssr-date";
|
|
18
|
-
import {
|
|
16
|
+
import { DATETIME_RANGE_ORDER_MESSAGE } from "../datetime-picker-constants";
|
|
17
|
+
import { INPUT_FORMAT_CONFIG } from "./datetime-input-constants";
|
|
19
18
|
import { normalizeDatetimeInputMode, normalizeDatetimeInputReferenceDate, normalizeDatetimeInputValue, } from "./datetime-input-props-validation";
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
20
|
+
* Campo de texto com máscara usado pelo `br-datetime-picker`. Interpreta a data ou a hora digitada e abre o calendário pelo botão do campo.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* É criado pelo `br-datetime-picker`; não é preciso declará-lo. Para um campo de data em formulário, use o `br-datetime-picker`.
|
|
24
23
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* No fluxo usual da aplicação, é instanciado e coordenado automaticamente pelo orquestrador `br-datetime-picker`. Pode ser utilizado de forma autônoma apenas quando o leiaute exigir somente o campo de digitação textual sem o painel flutuante de calendário.
|
|
31
|
-
*
|
|
32
|
-
* Para a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetime-picker?tab=designer).
|
|
33
|
-
*
|
|
34
|
-
* @category Formulários, Seleção
|
|
35
|
-
* @status stable
|
|
36
|
-
*
|
|
37
|
-
* @part container - Parte para o container base do campo.
|
|
38
|
-
* @part input - Parte para o campo textual interno.
|
|
39
|
-
* @part icon - Parte para o ícone de ação (calendário/relógio).
|
|
24
|
+
* @see https://www.gov.br/ds/components/datetime?tab=designer
|
|
25
|
+
* @part container - Container do campo.
|
|
26
|
+
* @part input - Elemento de entrada textual interno.
|
|
27
|
+
* @part icon - Ícone de ação (calendário/relógio).
|
|
40
28
|
*/
|
|
41
29
|
export class DatetimeInput {
|
|
42
30
|
constructor() {
|
|
43
|
-
/** Valor textual exibido no campo e usado durante a edição manual. */
|
|
44
|
-
this.inputValue = '';
|
|
45
31
|
/**
|
|
46
|
-
*
|
|
32
|
+
* Texto de placeholder exibido quando o campo estiver vazio.
|
|
47
33
|
*
|
|
48
34
|
* @default ''
|
|
49
35
|
*/
|
|
50
36
|
this.placeholder = '';
|
|
51
37
|
/**
|
|
52
|
-
*
|
|
38
|
+
* Modo de entrada que controla máscara, parser e formato exibido.
|
|
53
39
|
*
|
|
54
40
|
* @default 'datetime'
|
|
55
41
|
*/
|
|
56
42
|
this.mode = 'datetime';
|
|
57
43
|
/**
|
|
58
|
-
* Data de referência
|
|
59
|
-
* Recebe uma instância de `Date` por property binding.
|
|
44
|
+
* Data de referência usada para navegação e preenchimento de valores parciais.
|
|
60
45
|
*
|
|
61
46
|
* @default new Date()
|
|
62
|
-
* @example
|
|
63
|
-
* ```js
|
|
64
|
-
* const input = document.querySelector('br-datetime-input');
|
|
65
|
-
* input.referenceDate = new Date(2026, 8, 1);
|
|
66
|
-
* ```
|
|
67
47
|
*/
|
|
68
48
|
this.referenceDate = new Date();
|
|
69
49
|
/**
|
|
70
|
-
*
|
|
71
|
-
* de `referenceDate`, que controla apenas a referência visual.
|
|
72
|
-
* Recebe uma instância de `Date` por property binding.
|
|
50
|
+
* Valor atualmente selecionado pelo componente.
|
|
73
51
|
*
|
|
74
52
|
* @default null
|
|
75
|
-
* @example
|
|
76
|
-
* ```js
|
|
77
|
-
* const input = document.querySelector('br-datetime-input');
|
|
78
|
-
* input.value = new Date(2026, 8, 7, 14, 30);
|
|
79
|
-
* ```
|
|
80
53
|
*/
|
|
81
54
|
this.value = null;
|
|
82
55
|
/**
|
|
83
|
-
*
|
|
56
|
+
* Controla os estados de read-only ou bloqueio de formulário.
|
|
84
57
|
*
|
|
85
58
|
* @default false
|
|
86
59
|
*/
|
|
87
60
|
this.disabled = false;
|
|
88
61
|
/**
|
|
89
|
-
* Define
|
|
90
|
-
* Aceita `single` ou `range`; valores inválidos usam `single`.
|
|
62
|
+
* Define o modo de seleção: `single` (valor único) ou `range` (intervalo).
|
|
91
63
|
*
|
|
92
64
|
* @default 'single'
|
|
93
65
|
*/
|
|
94
66
|
this.selectionMode = 'single';
|
|
95
67
|
/**
|
|
96
|
-
*
|
|
68
|
+
* Início do intervalo em `selectionMode === 'range'`.
|
|
97
69
|
*
|
|
98
70
|
* @default null
|
|
99
71
|
*/
|
|
100
72
|
this.rangeStart = null;
|
|
101
73
|
/**
|
|
102
|
-
*
|
|
74
|
+
* Fim do intervalo em `selectionMode === 'range'`.
|
|
103
75
|
*
|
|
104
76
|
* @default null
|
|
105
77
|
*/
|
|
106
78
|
this.rangeEnd = null;
|
|
79
|
+
/**
|
|
80
|
+
* Marcador do último texto confirmado (commit) exibido no input.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
* @type {string | null}
|
|
84
|
+
* @default null
|
|
85
|
+
*/
|
|
86
|
+
this.lastCommittedInputText = null;
|
|
87
|
+
/**
|
|
88
|
+
* Texto atual do campo usado durante a edição manual.
|
|
89
|
+
*
|
|
90
|
+
* @internal Mantido localmente; não faz parte do contrato público do componente.
|
|
91
|
+
* @type {string}
|
|
92
|
+
* @default ''
|
|
93
|
+
*/
|
|
94
|
+
this.inputValue = '';
|
|
95
|
+
/**
|
|
96
|
+
* Handler do clique no botão de ação interno.
|
|
97
|
+
*
|
|
98
|
+
* @param event - Ativação pública da ação do br-input.
|
|
99
|
+
* @returns {void}
|
|
100
|
+
*/
|
|
107
101
|
this.handleActionButtonClick = (event) => {
|
|
108
102
|
if (this.disabled)
|
|
109
103
|
return;
|
|
110
104
|
event.stopPropagation();
|
|
105
|
+
event.detail.originalEvent.stopPropagation();
|
|
111
106
|
this.togglePicker.emit();
|
|
112
107
|
};
|
|
113
108
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
109
|
+
* Blur handler: consome o evento e confirma o conteúdo atual.
|
|
110
|
+
*
|
|
111
|
+
* @param {FocusEvent} event - Evento de blur do input.
|
|
112
|
+
* @returns {void}
|
|
116
113
|
*/
|
|
117
114
|
this.handleInputBlur = (event) => {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
115
|
+
event.stopPropagation();
|
|
116
|
+
this.commitCurrentInput();
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Handler para commit disparado pelo `change` do `br-input`.
|
|
120
|
+
*
|
|
121
|
+
* @param {Event} event - Evento de change.
|
|
122
|
+
* @returns {void}
|
|
123
|
+
*/
|
|
124
|
+
this.handleInputCommit = (event) => {
|
|
125
|
+
event.stopPropagation();
|
|
126
|
+
this.commitCurrentInput();
|
|
125
127
|
};
|
|
126
128
|
/**
|
|
127
129
|
* Atualiza o estado local com o valor digitado no campo.
|
|
128
130
|
*
|
|
129
|
-
* @param event - Evento de input
|
|
131
|
+
* @param {Event} event - Evento de input redistribuído pelo `br-input`.
|
|
132
|
+
* @returns {void}
|
|
130
133
|
*/
|
|
131
134
|
this.handleInputChange = (event) => {
|
|
135
|
+
event.stopPropagation();
|
|
132
136
|
if (this.disabled) {
|
|
133
137
|
return;
|
|
134
138
|
}
|
|
135
139
|
const input = event.target;
|
|
136
|
-
this.
|
|
140
|
+
this.lastCommittedInputText = null;
|
|
141
|
+
this.emitInputValidation(null);
|
|
142
|
+
this.setInternalInputValue(input.value ?? '');
|
|
137
143
|
};
|
|
138
144
|
/**
|
|
139
|
-
*
|
|
145
|
+
* Handler de teclado no campo de entrada.
|
|
146
|
+
*
|
|
147
|
+
* Suporta atalhos ARIA (Alt+ArrowDown / F4) para abrir/fechar o picker
|
|
148
|
+
* e Enter para confirmar a edição.
|
|
140
149
|
*
|
|
141
|
-
* @param event - Evento de teclado
|
|
150
|
+
* @param {KeyboardEvent} event - Evento de teclado.
|
|
151
|
+
* @returns {void}
|
|
142
152
|
*/
|
|
143
153
|
this.handleInputKeydown = (event) => {
|
|
144
154
|
if (this.disabled) {
|
|
@@ -150,37 +160,23 @@ export class DatetimeInput {
|
|
|
150
160
|
this.togglePicker.emit();
|
|
151
161
|
return;
|
|
152
162
|
}
|
|
153
|
-
if (event.key === 'Enter') {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
* Evita propagação do clique e solicita a abertura/fechamento do picker.
|
|
159
|
-
*
|
|
160
|
-
* @param event - Evento de clique no ícone de ação.
|
|
161
|
-
*/
|
|
162
|
-
this.handleToggleDropdown = (event) => {
|
|
163
|
-
if (this.disabled) {
|
|
164
|
-
return;
|
|
163
|
+
if (event.key === 'Enter' && event.composedPath().some((target) => target instanceof HTMLInputElement)) {
|
|
164
|
+
// Previne submissão de formulários e garante deduplicação
|
|
165
|
+
// usando a mesma rotina que blur/change usam.
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
this.commitCurrentInput();
|
|
165
168
|
}
|
|
166
|
-
event.stopPropagation();
|
|
167
|
-
this.togglePicker.emit();
|
|
168
169
|
};
|
|
169
170
|
}
|
|
170
|
-
/**
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
171
|
+
/**
|
|
172
|
+
* Watcher: sincroniza `rangeStart`/`rangeEnd` a partir de `rangeValue` controlado.
|
|
173
|
+
*
|
|
174
|
+
* @param {DatetimePickerDateRange | undefined} newValue - Novo intervalo ou `undefined`.
|
|
175
|
+
* @returns {void}
|
|
176
|
+
*/
|
|
177
177
|
handleRangeValueChange(newValue) {
|
|
178
178
|
if (!newValue)
|
|
179
179
|
return;
|
|
180
|
-
if (!isValidDatetimePickerDateRange(newValue)) {
|
|
181
|
-
reportInvalidPropValue(this.el, 'rangeValue', newValue, 'Informe um objeto com `start` e `end` como Date válido ou null.', 'Ignorando o intervalo inválido e mantendo o último intervalo efetivo.');
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
180
|
this.rangeStart = newValue.start;
|
|
185
181
|
this.rangeEnd = newValue.end;
|
|
186
182
|
this.syncInputValueFromProps();
|
|
@@ -190,6 +186,13 @@ export class DatetimeInput {
|
|
|
190
186
|
*
|
|
191
187
|
* @param newValue - Novo valor recebido via prop.
|
|
192
188
|
*/
|
|
189
|
+
/**
|
|
190
|
+
* Watcher: reage a mudanças externas em `value`, normalizando e sincronizando
|
|
191
|
+
* o texto exibido no input.
|
|
192
|
+
*
|
|
193
|
+
* @param {Date | null} newValue - Novo valor recebido via prop.
|
|
194
|
+
* @returns {void}
|
|
195
|
+
*/
|
|
193
196
|
handleValueChange(newValue) {
|
|
194
197
|
this.ensureValidValue(newValue);
|
|
195
198
|
this.syncInputValueFromProps();
|
|
@@ -199,6 +202,12 @@ export class DatetimeInput {
|
|
|
199
202
|
*
|
|
200
203
|
* @param newValue - Novo modo recebido via prop.
|
|
201
204
|
*/
|
|
205
|
+
/**
|
|
206
|
+
* Watcher: aplica normalização do `mode` e atualiza a máscara/valor exibido.
|
|
207
|
+
*
|
|
208
|
+
* @param {string} newValue - Novo modo recebido via prop.
|
|
209
|
+
* @returns {void}
|
|
210
|
+
*/
|
|
202
211
|
handleModeChange(newValue) {
|
|
203
212
|
this.ensureValidMode(newValue);
|
|
204
213
|
this.syncInputValueFromProps();
|
|
@@ -208,6 +217,12 @@ export class DatetimeInput {
|
|
|
208
217
|
*
|
|
209
218
|
* @param newValue - Nova data de referência recebida.
|
|
210
219
|
*/
|
|
220
|
+
/**
|
|
221
|
+
* Watcher: valida `referenceDate` e resina o input quando não há seleção.
|
|
222
|
+
*
|
|
223
|
+
* @param {Date} newValue - Nova data de referência recebida.
|
|
224
|
+
* @returns {void}
|
|
225
|
+
*/
|
|
211
226
|
handleReferenceDateChange(newValue) {
|
|
212
227
|
this.ensureValidReferenceDate(newValue);
|
|
213
228
|
if (this.value === null) {
|
|
@@ -219,8 +234,13 @@ export class DatetimeInput {
|
|
|
219
234
|
*
|
|
220
235
|
* @param newValue - Nova data inicial do range.
|
|
221
236
|
*/
|
|
237
|
+
/**
|
|
238
|
+
* Watcher: atualiza a representação textual quando o início do range muda.
|
|
239
|
+
*
|
|
240
|
+
* @returns {void}
|
|
241
|
+
*/
|
|
222
242
|
handleRangeStartChange() {
|
|
223
|
-
if (this.
|
|
243
|
+
if (this.selectionMode === 'range') {
|
|
224
244
|
this.syncInputValueFromProps();
|
|
225
245
|
}
|
|
226
246
|
}
|
|
@@ -229,8 +249,13 @@ export class DatetimeInput {
|
|
|
229
249
|
*
|
|
230
250
|
* @param newValue - Nova data final do range.
|
|
231
251
|
*/
|
|
252
|
+
/**
|
|
253
|
+
* Watcher: atualiza a representação textual quando o fim do range muda.
|
|
254
|
+
*
|
|
255
|
+
* @returns {void}
|
|
256
|
+
*/
|
|
232
257
|
handleRangeEndChange() {
|
|
233
|
-
if (this.
|
|
258
|
+
if (this.selectionMode === 'range') {
|
|
234
259
|
this.syncInputValueFromProps();
|
|
235
260
|
}
|
|
236
261
|
}
|
|
@@ -245,41 +270,36 @@ export class DatetimeInput {
|
|
|
245
270
|
this.syncInputValueFromProps();
|
|
246
271
|
}
|
|
247
272
|
/**
|
|
248
|
-
*
|
|
273
|
+
* Confirma o conteúdo atual evitando commits duplicados (blur + change).
|
|
249
274
|
*
|
|
250
|
-
*
|
|
251
|
-
* o browser dispara um click sintético. Adicionamos um listener imperativo para
|
|
252
|
-
* garantir que o clique no botão de ação acione o toggle. O blur é observado na raiz
|
|
253
|
-
* interna porque mover o foco do input para essa ação não desfoca o host `br-input`.
|
|
275
|
+
* @returns {void}
|
|
254
276
|
*/
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
const brInput = this.el.shadowRoot?.querySelector('br-input');
|
|
258
|
-
if (!brInput)
|
|
259
|
-
return;
|
|
260
|
-
if (!brInput.shadowRoot)
|
|
261
|
-
await brInput.componentOnReady();
|
|
262
|
-
if (!this.el.isConnected || !brInput.shadowRoot)
|
|
277
|
+
commitCurrentInput() {
|
|
278
|
+
if (this.disabled)
|
|
263
279
|
return;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
const actionButton = this.inputShadowRoot.querySelector('br-button.button-transform');
|
|
267
|
-
if (!actionButton)
|
|
280
|
+
const currentText = this.inputValue.trim();
|
|
281
|
+
if (this.lastCommittedInputText === currentText)
|
|
268
282
|
return;
|
|
269
|
-
this.
|
|
270
|
-
|
|
271
|
-
|
|
283
|
+
this.lastCommittedInputText = currentText;
|
|
284
|
+
this.commitInputValue();
|
|
285
|
+
this.lastCommittedInputText = this.inputValue.trim();
|
|
272
286
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
287
|
+
/**
|
|
288
|
+
* Retorna a máscara delegada ao `br-input` de acordo com o modo atual.
|
|
289
|
+
*
|
|
290
|
+
* @returns {string | undefined} - Máscara a ser aplicada, ou `undefined` quando indisponível.
|
|
291
|
+
*/
|
|
292
|
+
getInputMask() {
|
|
293
|
+
if (this.selectionMode === 'range') {
|
|
294
|
+
const boundaryMask = INPUT_FORMAT_CONFIG[this.mode].mask;
|
|
295
|
+
return `${boundaryMask} - ${boundaryMask}`;
|
|
296
|
+
}
|
|
297
|
+
return INPUT_FORMAT_CONFIG[this.mode].mask;
|
|
278
298
|
}
|
|
279
299
|
/**
|
|
280
300
|
* Retorna o rótulo acessível do botão de alternância do picker.
|
|
281
301
|
*
|
|
282
|
-
* @returns Texto anunciado pelo leitor de tela para o ícone de ação.
|
|
302
|
+
* @returns {string} - Texto anunciado pelo leitor de tela para o ícone de ação.
|
|
283
303
|
*/
|
|
284
304
|
getToggleAriaLabel() {
|
|
285
305
|
switch (this.mode) {
|
|
@@ -292,9 +312,10 @@ export class DatetimeInput {
|
|
|
292
312
|
}
|
|
293
313
|
}
|
|
294
314
|
/**
|
|
295
|
-
* Normaliza
|
|
315
|
+
* Normaliza e aplica um modo válido (`date` | `time` | `datetime`).
|
|
296
316
|
*
|
|
297
|
-
* @param value - Modo informado externamente.
|
|
317
|
+
* @param {string} value - Modo informado externamente.
|
|
318
|
+
* @returns {void}
|
|
298
319
|
*/
|
|
299
320
|
ensureValidMode(value = this.mode) {
|
|
300
321
|
const normalizedMode = normalizeDatetimeInputMode(value);
|
|
@@ -303,9 +324,10 @@ export class DatetimeInput {
|
|
|
303
324
|
}
|
|
304
325
|
}
|
|
305
326
|
/**
|
|
306
|
-
* Garante que
|
|
327
|
+
* Garante que `referenceDate` seja uma `Date` válida; caso contrário, normaliza.
|
|
307
328
|
*
|
|
308
|
-
* @param value - Data de referência recebida via prop.
|
|
329
|
+
* @param {Date} value - Data de referência recebida via prop.
|
|
330
|
+
* @returns {void}
|
|
309
331
|
*/
|
|
310
332
|
ensureValidReferenceDate(value = this.referenceDate) {
|
|
311
333
|
const normalizedReferenceDate = normalizeDatetimeInputReferenceDate(value);
|
|
@@ -316,7 +338,8 @@ export class DatetimeInput {
|
|
|
316
338
|
/**
|
|
317
339
|
* Normaliza o valor selecionado para `Date` válido ou `null`.
|
|
318
340
|
*
|
|
319
|
-
* @param value - Valor recebido via prop.
|
|
341
|
+
* @param {Date | null} value - Valor recebido via prop.
|
|
342
|
+
* @returns {void}
|
|
320
343
|
*/
|
|
321
344
|
ensureValidValue(value = this.value) {
|
|
322
345
|
const normalizedValue = normalizeDatetimeInputValue(value);
|
|
@@ -326,47 +349,131 @@ export class DatetimeInput {
|
|
|
326
349
|
}
|
|
327
350
|
/**
|
|
328
351
|
* Consolida o texto digitado, tenta analisar e emite o novo estado selecionado.
|
|
352
|
+
*
|
|
353
|
+
* Trata modos `single` e `range` e valida mensagens de erro apropriadas.
|
|
354
|
+
*
|
|
355
|
+
* @returns {void}
|
|
329
356
|
*/
|
|
330
357
|
commitInputValue() {
|
|
331
358
|
const inputText = this.inputValue.trim();
|
|
332
359
|
if (inputText === '') {
|
|
360
|
+
this.emitInputValidation(true);
|
|
333
361
|
this.value = null;
|
|
334
362
|
this.dateStateChange.emit({
|
|
335
363
|
referenceDate: this.referenceDate,
|
|
336
364
|
value: null,
|
|
365
|
+
origin: this.el.tagName,
|
|
337
366
|
});
|
|
338
367
|
this.emitNativeValueChange();
|
|
339
368
|
return;
|
|
340
369
|
}
|
|
341
|
-
if (this.
|
|
370
|
+
if (this.selectionMode === 'range') {
|
|
342
371
|
const parsedRange = this.parseRangeInput(inputText);
|
|
343
|
-
if (parsedRange === null)
|
|
372
|
+
if (parsedRange === null) {
|
|
373
|
+
this.emitInputValidation(false, this.getRangeValidationMessage(inputText));
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
if (this.mode === 'datetime' && compareAsc(parsedRange.end, parsedRange.start) < 0) {
|
|
377
|
+
this.emitInputValidation(false, DATETIME_RANGE_ORDER_MESSAGE);
|
|
344
378
|
return;
|
|
379
|
+
}
|
|
345
380
|
const normalizedRange = this.normalizeRangeBounds(parsedRange.start, parsedRange.end);
|
|
381
|
+
this.emitInputValidation(true);
|
|
346
382
|
this.rangeValue = normalizedRange;
|
|
347
|
-
this.
|
|
383
|
+
this.setInternalInputValue(`${this.formatDateByMode(normalizedRange.start)} - ${this.formatDateByMode(normalizedRange.end)}`);
|
|
348
384
|
this.value = normalizedRange.end;
|
|
349
385
|
this.dateStateChange.emit({
|
|
350
386
|
referenceDate: normalizedRange.end,
|
|
351
387
|
value: normalizedRange.end,
|
|
352
388
|
range: normalizedRange,
|
|
389
|
+
origin: this.el.tagName,
|
|
353
390
|
});
|
|
354
391
|
this.emitNativeValueChange();
|
|
355
392
|
return;
|
|
356
393
|
}
|
|
394
|
+
if (!this.isInputComplete(inputText)) {
|
|
395
|
+
this.emitInputValidation(false, this.getInputValidationMessage(inputText));
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
357
398
|
const parsed = this.parseInputValue(inputText);
|
|
358
|
-
if (parsed === null)
|
|
399
|
+
if (parsed === null) {
|
|
400
|
+
this.emitInputValidation(false, this.getInputValidationMessage(inputText));
|
|
359
401
|
return;
|
|
402
|
+
}
|
|
403
|
+
this.emitInputValidation(true);
|
|
360
404
|
const newDate = new Date(parsed);
|
|
361
405
|
newDate.setSeconds(0, 0);
|
|
362
|
-
this.
|
|
406
|
+
this.setInternalInputValue(this.formatDateByMode(newDate));
|
|
363
407
|
this.value = newDate;
|
|
364
408
|
this.dateStateChange.emit({
|
|
365
409
|
referenceDate: newDate,
|
|
366
410
|
value: newDate,
|
|
411
|
+
origin: this.el.tagName,
|
|
367
412
|
});
|
|
368
413
|
this.emitNativeValueChange();
|
|
369
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* Emite o resultado da validação textual sem alterar o valor selecionado.
|
|
417
|
+
*
|
|
418
|
+
* @param {boolean} valid - Indica se a entrada é válida.
|
|
419
|
+
* @param {string} [message] - Mensagem de erro quando inválido.
|
|
420
|
+
* @returns {void}
|
|
421
|
+
*/
|
|
422
|
+
emitInputValidation(valid, message = '') {
|
|
423
|
+
this.inputValidationChange.emit({ valid, message: valid ? '' : message, origin: this.el.tagName });
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Verifica se a entrada possui a quantidade de dígitos esperada para o modo atual.
|
|
427
|
+
*
|
|
428
|
+
* @param {string} value - Texto de entrada a ser verificado.
|
|
429
|
+
* @returns {boolean} - `true` quando completo.
|
|
430
|
+
*/
|
|
431
|
+
isInputComplete(value) {
|
|
432
|
+
const digits = value.replace(/\D/g, '');
|
|
433
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
434
|
+
return config.acceptedDigitCounts.includes(digits.length);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Retorna mensagem de validação contextual para uma entrada incompleta ou inválida.
|
|
438
|
+
*
|
|
439
|
+
* @param {string} value - Texto de entrada a ser avaliado.
|
|
440
|
+
* @returns {string} - Mensagem de validação apropriada.
|
|
441
|
+
*/
|
|
442
|
+
getInputValidationMessage(value) {
|
|
443
|
+
const digits = value.replace(/\D/g, '');
|
|
444
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
445
|
+
if (!config)
|
|
446
|
+
return 'Informe um valor válido.';
|
|
447
|
+
const digitCount = digits.length;
|
|
448
|
+
if (this.mode === 'datetime' &&
|
|
449
|
+
config.acceptedDigitCounts.includes(digitCount) &&
|
|
450
|
+
digitCount < config.fullDigitCount) {
|
|
451
|
+
return config.messages.invalid;
|
|
452
|
+
}
|
|
453
|
+
return digitCount < config.fullDigitCount ? config.messages.incomplete : config.messages.invalid;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Mensagem específica para o formato de intervalo do modo atual.
|
|
457
|
+
*
|
|
458
|
+
* @param {string} value - Texto de intervalo informado no input.
|
|
459
|
+
* @returns {string} - Mensagem de validação do intervalo.
|
|
460
|
+
*/
|
|
461
|
+
getRangeValidationMessage(value) {
|
|
462
|
+
const [startRaw = '', endRaw = ''] = value.split(/\s*-\s*/, 2);
|
|
463
|
+
const startDigits = startRaw.replace(/\D/g, '');
|
|
464
|
+
const endDigits = endRaw.replace(/\D/g, '');
|
|
465
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
466
|
+
const expectedDigits = config.fullDigitCount;
|
|
467
|
+
if (startDigits.length < expectedDigits || endDigits.length < expectedDigits) {
|
|
468
|
+
return `Complete o intervalo no formato ${config.rangeFormat}.`;
|
|
469
|
+
}
|
|
470
|
+
return config.messages.invalidRange;
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Dispara eventos nativos `input` e `change` para compatibilidade com forms.
|
|
474
|
+
*
|
|
475
|
+
* @returns {void}
|
|
476
|
+
*/
|
|
370
477
|
emitNativeValueChange() {
|
|
371
478
|
dispatchNativeFormEvent(this.el, 'input');
|
|
372
479
|
dispatchNativeFormEvent(this.el, 'change');
|
|
@@ -388,55 +495,90 @@ export class DatetimeInput {
|
|
|
388
495
|
return null;
|
|
389
496
|
}
|
|
390
497
|
const base = this.referenceDate ?? toDate(new Date());
|
|
391
|
-
const parsedStart = this.
|
|
392
|
-
const parsedEnd = this.
|
|
498
|
+
const parsedStart = this.parseInputValue(startText, this.rangeStart ?? base);
|
|
499
|
+
const parsedEnd = this.parseInputValue(endText, this.rangeEnd ?? base);
|
|
393
500
|
if (parsedStart === null || parsedEnd === null) {
|
|
394
501
|
return null;
|
|
395
502
|
}
|
|
396
503
|
return { start: parsedStart, end: parsedEnd };
|
|
397
504
|
}
|
|
398
|
-
/**
|
|
505
|
+
/**
|
|
506
|
+
* Normaliza os limites do intervalo para garantir ordem cronológica.
|
|
507
|
+
*
|
|
508
|
+
* - Em `time` e `datetime` mantém os limites informados.
|
|
509
|
+
* - Em `date` reordena caso necessário.
|
|
510
|
+
*
|
|
511
|
+
* @param {Date} start - Data de início.
|
|
512
|
+
* @param {Date} end - Data de término.
|
|
513
|
+
* @returns {{ start: Date; end: Date }} - Limites normalizados.
|
|
514
|
+
*/
|
|
399
515
|
normalizeRangeBounds(start, end) {
|
|
516
|
+
if (this.mode !== 'date')
|
|
517
|
+
return { start, end };
|
|
400
518
|
return compareAsc(start, end) <= 0 ? { start, end } : { start: end, end: start };
|
|
401
519
|
}
|
|
402
520
|
/**
|
|
403
|
-
* Sincroniza o texto do
|
|
521
|
+
* Sincroniza o texto do input com as props `value`/`rangeStart`/`rangeEnd` e `mode`.
|
|
522
|
+
*
|
|
523
|
+
* @returns {void}
|
|
404
524
|
*/
|
|
405
525
|
syncInputValueFromProps() {
|
|
406
|
-
if (this.
|
|
526
|
+
if (this.selectionMode === 'range') {
|
|
407
527
|
if (this.rangeStart === null || this.rangeEnd === null) {
|
|
408
|
-
this.
|
|
528
|
+
this.setInternalInputValue('');
|
|
409
529
|
return;
|
|
410
530
|
}
|
|
411
531
|
const startFormatted = this.formatDateByMode(this.rangeStart);
|
|
412
532
|
const endFormatted = this.formatDateByMode(this.rangeEnd);
|
|
413
|
-
this.
|
|
533
|
+
this.setInternalInputValue(`${startFormatted} - ${endFormatted}`);
|
|
414
534
|
return;
|
|
415
535
|
}
|
|
416
536
|
if (this.value === null) {
|
|
417
|
-
this.
|
|
537
|
+
this.setInternalInputValue('');
|
|
418
538
|
return;
|
|
419
539
|
}
|
|
420
|
-
this.
|
|
540
|
+
this.setInternalInputValue(this.formatDateByMode(this.value));
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* Retorna o elemento interno `<br-input>` quando disponível.
|
|
544
|
+
*
|
|
545
|
+
* @internal
|
|
546
|
+
* @returns {HTMLBrInputElement | null} Elemento interno `<br-input>` ou `null` se não estiver disponível.
|
|
547
|
+
*/
|
|
548
|
+
getBrInputElement() {
|
|
549
|
+
return this.el.shadowRoot?.querySelector('br-input');
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Define o valor interno do input imperativamente.
|
|
553
|
+
*
|
|
554
|
+
* @internal Define o valor interno do input sem re-renderizar o host.
|
|
555
|
+
* @param {string} value Valor a ser definido no input interno.
|
|
556
|
+
*/
|
|
557
|
+
setInternalInputValue(value) {
|
|
558
|
+
this.inputValue = value;
|
|
559
|
+
const br = this.getBrInputElement();
|
|
560
|
+
if (br) {
|
|
561
|
+
// atualiza imperativamente o componente filho sem re-renderizar o host
|
|
562
|
+
try {
|
|
563
|
+
br.value = value;
|
|
564
|
+
}
|
|
565
|
+
catch { }
|
|
566
|
+
}
|
|
421
567
|
}
|
|
422
568
|
/**
|
|
423
569
|
* Formata uma data de acordo com o modo atual do componente.
|
|
424
570
|
*
|
|
425
|
-
* @param date - Data a ser formatada para exibição no input.
|
|
426
|
-
* @returns Representação textual da data/hora no padrão esperado.
|
|
571
|
+
* @param {Date} date - Data a ser formatada para exibição no input.
|
|
572
|
+
* @returns {string} - Representação textual da data/hora no padrão esperado.
|
|
427
573
|
*/
|
|
428
574
|
formatDateByMode(date) {
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
return format(date, 'dd/MM/yyyy');
|
|
432
|
-
case 'time':
|
|
433
|
-
return format(date, 'HH:mm');
|
|
434
|
-
default:
|
|
435
|
-
return format(date, 'dd/MM/yyyy HH:mm');
|
|
436
|
-
}
|
|
575
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
576
|
+
return format(date, config.displayFormat);
|
|
437
577
|
}
|
|
438
578
|
/**
|
|
439
|
-
* Retorna
|
|
579
|
+
* Retorna o mapa de classes CSS aplicado ao host do componente.
|
|
580
|
+
*
|
|
581
|
+
* @returns {CssClassMap}
|
|
440
582
|
*/
|
|
441
583
|
getCssClassMap() {
|
|
442
584
|
return {
|
|
@@ -446,7 +588,7 @@ export class DatetimeInput {
|
|
|
446
588
|
/**
|
|
447
589
|
* Seleciona o ícone do campo conforme o modo de entrada ativo.
|
|
448
590
|
*
|
|
449
|
-
* @returns Nome do ícone usado na ação lateral do input.
|
|
591
|
+
* @returns {string} - Nome do ícone usado na ação lateral do input.
|
|
450
592
|
*/
|
|
451
593
|
getInputIcon() {
|
|
452
594
|
switch (this.mode) {
|
|
@@ -459,11 +601,11 @@ export class DatetimeInput {
|
|
|
459
601
|
/**
|
|
460
602
|
* Converte o texto digitado em `Date` com base no modo configurado.
|
|
461
603
|
*
|
|
462
|
-
* @param value - Texto informado pelo usuário no input.
|
|
463
|
-
* @
|
|
604
|
+
* @param {string} value - Texto informado pelo usuário no input.
|
|
605
|
+
* @param {Date} [base] - Data base usada para completar valores parciais.
|
|
606
|
+
* @returns {Date | null} - Data convertida ou `null` quando inválida.
|
|
464
607
|
*/
|
|
465
|
-
parseInputValue(value) {
|
|
466
|
-
const base = this.value ?? this.referenceDate ?? toDate(new Date());
|
|
608
|
+
parseInputValue(value, base = this.value ?? this.referenceDate ?? toDate(new Date())) {
|
|
467
609
|
switch (this.mode) {
|
|
468
610
|
case 'date':
|
|
469
611
|
return this.parseDateInput(value, base);
|
|
@@ -478,12 +620,14 @@ export class DatetimeInput {
|
|
|
478
620
|
/**
|
|
479
621
|
* Faz parse de uma data no formato `dd/MM/yyyy`, preservando hora e minuto base.
|
|
480
622
|
*
|
|
481
|
-
* @param value - Texto de data digitado pelo usuário.
|
|
482
|
-
* @param base - Data base usada para completar informações de tempo.
|
|
483
|
-
* @returns Data válida normalizada ou `null` quando o parse falhar.
|
|
623
|
+
* @param {string} value - Texto de data digitado pelo usuário.
|
|
624
|
+
* @param {Date} base - Data base usada para completar informações de tempo.
|
|
625
|
+
* @returns {Date | null} - Data válida normalizada ou `null` quando o parse falhar.
|
|
484
626
|
*/
|
|
485
627
|
parseDateInput(value, base) {
|
|
486
|
-
const
|
|
628
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
629
|
+
const datePattern = config.parseFormats[0];
|
|
630
|
+
const parsedDate = parse(value, datePattern, base);
|
|
487
631
|
if (!isValid(parsedDate))
|
|
488
632
|
return null;
|
|
489
633
|
return set(parsedDate, {
|
|
@@ -496,12 +640,14 @@ export class DatetimeInput {
|
|
|
496
640
|
/**
|
|
497
641
|
* Faz parse de hora no formato `HH:mm`, preservando o dia da data base.
|
|
498
642
|
*
|
|
499
|
-
* @param value - Texto de hora digitado pelo usuário.
|
|
500
|
-
* @param base - Data base usada para manter dia, mês e ano.
|
|
501
|
-
* @returns Data válida com hora ajustada ou `null` quando inválida.
|
|
643
|
+
* @param {string} value - Texto de hora digitado pelo usuário.
|
|
644
|
+
* @param {Date} base - Data base usada para manter dia, mês e ano.
|
|
645
|
+
* @returns {Date | null} - Data válida com hora ajustada ou `null` quando inválida.
|
|
502
646
|
*/
|
|
503
647
|
parseTimeInput(value, base) {
|
|
504
|
-
const
|
|
648
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
649
|
+
const timePattern = config.parseFormats[0];
|
|
650
|
+
const parsedTime = parse(value, timePattern, base);
|
|
505
651
|
if (!isValid(parsedTime))
|
|
506
652
|
return null;
|
|
507
653
|
return set(base, {
|
|
@@ -512,20 +658,23 @@ export class DatetimeInput {
|
|
|
512
658
|
});
|
|
513
659
|
}
|
|
514
660
|
/**
|
|
515
|
-
* Faz parse de data e hora completas,
|
|
661
|
+
* Faz parse de data e hora completas, aceitando somente a data como fallback.
|
|
516
662
|
*
|
|
517
|
-
* @param value - Texto digitado no input.
|
|
518
|
-
* @param base - Data base usada como contexto para completar o parse.
|
|
519
|
-
* @returns Data válida a partir da entrada ou `null` quando não reconhecida.
|
|
663
|
+
* @param {string} value - Texto digitado no input.
|
|
664
|
+
* @param {Date} base - Data base usada como contexto para completar o parse.
|
|
665
|
+
* @returns {Date | null} - Data válida a partir da entrada ou `null` quando não reconhecida.
|
|
520
666
|
*/
|
|
521
667
|
parseDateTimeInput(value, base) {
|
|
668
|
+
const config = INPUT_FORMAT_CONFIG[this.mode];
|
|
669
|
+
const fullPattern = config.parseFormats[0];
|
|
670
|
+
const fallbackDatePattern = config.parseFormats[1];
|
|
522
671
|
// data + hora
|
|
523
|
-
const full = parse(value,
|
|
672
|
+
const full = parse(value, fullPattern, base);
|
|
524
673
|
if (isValid(full))
|
|
525
674
|
return full;
|
|
526
|
-
//
|
|
527
|
-
const date =
|
|
528
|
-
if (date
|
|
675
|
+
// somente data -> preserva a hora da data base
|
|
676
|
+
const date = parse(value, fallbackDatePattern, base);
|
|
677
|
+
if (isValid(date)) {
|
|
529
678
|
return set(date, {
|
|
530
679
|
hours: getHours(base),
|
|
531
680
|
minutes: getMinutes(base),
|
|
@@ -533,14 +682,7 @@ export class DatetimeInput {
|
|
|
533
682
|
milliseconds: 0,
|
|
534
683
|
});
|
|
535
684
|
}
|
|
536
|
-
|
|
537
|
-
return this.parseTimeInput(value, base);
|
|
538
|
-
}
|
|
539
|
-
/**
|
|
540
|
-
* Renderiza o campo textual e o ícone de ação do datetime input.
|
|
541
|
-
*/
|
|
542
|
-
renderInputField() {
|
|
543
|
-
return (h("br-input", { type: "text", value: this.inputValue, placeholder: this.placeholder, disabled: this.disabled, actionLabel: this.getToggleAriaLabel(), onInput: this.handleInputChange, onKeyDown: this.handleInputKeydown, "aria-label": this.getInputAriaLabel(), part: "input" }, h("br-icon", { slot: "action", iconName: this.getInputIcon(), width: "16", height: "16", "aria-hidden": "true", onClick: this.handleToggleDropdown, part: "icon" })));
|
|
685
|
+
return null;
|
|
544
686
|
}
|
|
545
687
|
/**
|
|
546
688
|
* Retorna o rótulo acessível do campo de entrada de acordo com o modo ativo.
|
|
@@ -557,11 +699,19 @@ export class DatetimeInput {
|
|
|
557
699
|
return 'Campo de data e hora';
|
|
558
700
|
}
|
|
559
701
|
}
|
|
702
|
+
/**
|
|
703
|
+
* Renderiza o campo textual e o ícone de ação do datetime input.
|
|
704
|
+
*
|
|
705
|
+
* @returns {JSX.Element}
|
|
706
|
+
*/
|
|
707
|
+
renderInputField() {
|
|
708
|
+
return (h("br-input", { type: "text", mask: this.getInputMask(), placeholder: this.placeholder, disabled: this.disabled, actionLabel: this.getToggleAriaLabel(), onInput: this.handleInputChange, onChange: this.handleInputCommit, onBlur: this.handleInputBlur, onKeyDown: this.handleInputKeydown, onBrInputActionClick: this.handleActionButtonClick, "aria-label": this.getInputAriaLabel(), part: "input" }, h("br-icon", { slot: "action", iconName: this.getInputIcon(), width: "16", height: "16", "aria-hidden": "true", part: "icon" })));
|
|
709
|
+
}
|
|
560
710
|
/**
|
|
561
711
|
* Renderização principal do componente.
|
|
562
712
|
*/
|
|
563
713
|
render() {
|
|
564
|
-
return (h(Host, { key: '
|
|
714
|
+
return (h(Host, { key: 'dd5b4fa7df2b33edc9c262b4d7cf0d161ae195b8' }, h("div", { key: '83035393364d795eeb46f7a9f03309e33d53aa42', class: this.getCssClassMap(), part: "container" }, this.renderInputField())));
|
|
565
715
|
}
|
|
566
716
|
static get is() { return "br-datetime-input"; }
|
|
567
717
|
static get encapsulation() { return "shadow"; }
|
|
@@ -593,7 +743,7 @@ export class DatetimeInput {
|
|
|
593
743
|
"name": "default",
|
|
594
744
|
"text": "''"
|
|
595
745
|
}],
|
|
596
|
-
"text": "
|
|
746
|
+
"text": "Texto de placeholder exibido quando o campo estiver vazio."
|
|
597
747
|
},
|
|
598
748
|
"getter": false,
|
|
599
749
|
"setter": false,
|
|
@@ -623,7 +773,7 @@ export class DatetimeInput {
|
|
|
623
773
|
"name": "default",
|
|
624
774
|
"text": "'datetime'"
|
|
625
775
|
}],
|
|
626
|
-
"text": "
|
|
776
|
+
"text": "Modo de entrada que controla m\u00E1scara, parser e formato exibido."
|
|
627
777
|
},
|
|
628
778
|
"getter": false,
|
|
629
779
|
"setter": false,
|
|
@@ -650,11 +800,8 @@ export class DatetimeInput {
|
|
|
650
800
|
"tags": [{
|
|
651
801
|
"name": "default",
|
|
652
802
|
"text": "new Date()"
|
|
653
|
-
}, {
|
|
654
|
-
"name": "example",
|
|
655
|
-
"text": "```js\nconst input = document.querySelector('br-datetime-input');\ninput.referenceDate = new Date(2026, 8, 1);\n```"
|
|
656
803
|
}],
|
|
657
|
-
"text": "Data de refer\u00EAncia
|
|
804
|
+
"text": "Data de refer\u00EAncia usada para navega\u00E7\u00E3o e preenchimento de valores parciais."
|
|
658
805
|
},
|
|
659
806
|
"getter": false,
|
|
660
807
|
"setter": false,
|
|
@@ -679,11 +826,8 @@ export class DatetimeInput {
|
|
|
679
826
|
"tags": [{
|
|
680
827
|
"name": "default",
|
|
681
828
|
"text": "null"
|
|
682
|
-
}, {
|
|
683
|
-
"name": "example",
|
|
684
|
-
"text": "```js\nconst input = document.querySelector('br-datetime-input');\ninput.value = new Date(2026, 8, 7, 14, 30);\n```"
|
|
685
829
|
}],
|
|
686
|
-
"text": "
|
|
830
|
+
"text": "Valor atualmente selecionado pelo componente."
|
|
687
831
|
},
|
|
688
832
|
"getter": false,
|
|
689
833
|
"setter": false,
|
|
@@ -704,7 +848,7 @@ export class DatetimeInput {
|
|
|
704
848
|
"name": "default",
|
|
705
849
|
"text": "false"
|
|
706
850
|
}],
|
|
707
|
-
"text": "
|
|
851
|
+
"text": "Controla os estados de read-only ou bloqueio de formul\u00E1rio."
|
|
708
852
|
},
|
|
709
853
|
"getter": false,
|
|
710
854
|
"setter": false,
|
|
@@ -734,7 +878,7 @@ export class DatetimeInput {
|
|
|
734
878
|
"name": "default",
|
|
735
879
|
"text": "'single'"
|
|
736
880
|
}],
|
|
737
|
-
"text": "Define
|
|
881
|
+
"text": "Define o modo de sele\u00E7\u00E3o: `single` (valor \u00FAnico) ou `range` (intervalo)."
|
|
738
882
|
},
|
|
739
883
|
"getter": false,
|
|
740
884
|
"setter": false,
|
|
@@ -762,7 +906,7 @@ export class DatetimeInput {
|
|
|
762
906
|
"name": "default",
|
|
763
907
|
"text": "null"
|
|
764
908
|
}],
|
|
765
|
-
"text": "
|
|
909
|
+
"text": "In\u00EDcio do intervalo em `selectionMode === 'range'`."
|
|
766
910
|
},
|
|
767
911
|
"getter": false,
|
|
768
912
|
"setter": false,
|
|
@@ -788,7 +932,7 @@ export class DatetimeInput {
|
|
|
788
932
|
"name": "default",
|
|
789
933
|
"text": "null"
|
|
790
934
|
}],
|
|
791
|
-
"text": "
|
|
935
|
+
"text": "Fim do intervalo em `selectionMode === 'range'`."
|
|
792
936
|
},
|
|
793
937
|
"getter": false,
|
|
794
938
|
"setter": false,
|
|
@@ -813,10 +957,10 @@ export class DatetimeInput {
|
|
|
813
957
|
"optional": true,
|
|
814
958
|
"docs": {
|
|
815
959
|
"tags": [{
|
|
816
|
-
"name": "
|
|
817
|
-
"text": "
|
|
960
|
+
"name": "type",
|
|
961
|
+
"text": "{DatetimePickerDateRange | undefined}"
|
|
818
962
|
}],
|
|
819
|
-
"text": "Intervalo controlado no modo `range
|
|
963
|
+
"text": "Intervalo controlado no modo `range` como objeto `{ start, end }`."
|
|
820
964
|
},
|
|
821
965
|
"getter": false,
|
|
822
966
|
"setter": false
|
|
@@ -831,12 +975,21 @@ export class DatetimeInput {
|
|
|
831
975
|
"cancelable": true,
|
|
832
976
|
"composed": true,
|
|
833
977
|
"docs": {
|
|
834
|
-
"tags": [
|
|
835
|
-
|
|
978
|
+
"tags": [{
|
|
979
|
+
"name": "property",
|
|
980
|
+
"text": "{Date} referenceDate - Data de refer\u00EAncia usada na navega\u00E7\u00E3o."
|
|
981
|
+
}, {
|
|
982
|
+
"name": "property",
|
|
983
|
+
"text": "{Date|null} value - Valor selecionado ou `null`."
|
|
984
|
+
}, {
|
|
985
|
+
"name": "property",
|
|
986
|
+
"text": "{DatetimePickerDateRange} [range] - Intervalo quando `selectionMode === 'range'`."
|
|
987
|
+
}],
|
|
988
|
+
"text": "Evento emitido quando o estado de data/hora muda (ap\u00F3s commit ou parsing).\n\nPayload (`detail`):"
|
|
836
989
|
},
|
|
837
990
|
"complexType": {
|
|
838
991
|
"original": "DatetimePickerDateState",
|
|
839
|
-
"resolved": "{ referenceDate: Date; value: Date; range?: DatetimePickerDateRange; rangeDates?: DatetimePickerRangeDateState[]; }",
|
|
992
|
+
"resolved": "{ referenceDate: Date; value: Date; range?: DatetimePickerDateRange; rangeDates?: DatetimePickerRangeDateState[]; origin?: string; }",
|
|
840
993
|
"references": {
|
|
841
994
|
"DatetimePickerDateState": {
|
|
842
995
|
"location": "import",
|
|
@@ -853,43 +1006,42 @@ export class DatetimeInput {
|
|
|
853
1006
|
"cancelable": true,
|
|
854
1007
|
"composed": true,
|
|
855
1008
|
"docs": {
|
|
856
|
-
"tags": [
|
|
857
|
-
|
|
1009
|
+
"tags": [{
|
|
1010
|
+
"name": "event",
|
|
1011
|
+
"text": "togglePicker"
|
|
1012
|
+
}],
|
|
1013
|
+
"text": "Emite uma solicita\u00E7\u00E3o ao componente pai para alternar a abertura do picker.\nEmite sem payload."
|
|
858
1014
|
},
|
|
859
1015
|
"complexType": {
|
|
860
1016
|
"original": "void",
|
|
861
1017
|
"resolved": "void",
|
|
862
1018
|
"references": {}
|
|
863
1019
|
}
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
"
|
|
870
|
-
"signature": "() => Promise<void>",
|
|
871
|
-
"parameters": [],
|
|
872
|
-
"references": {
|
|
873
|
-
"Promise": {
|
|
874
|
-
"location": "global",
|
|
875
|
-
"id": "global::Promise"
|
|
876
|
-
},
|
|
877
|
-
"HTMLElement": {
|
|
878
|
-
"location": "global",
|
|
879
|
-
"id": "global::HTMLElement"
|
|
880
|
-
}
|
|
881
|
-
},
|
|
882
|
-
"return": "Promise<void>"
|
|
883
|
-
},
|
|
1020
|
+
}, {
|
|
1021
|
+
"method": "inputValidationChange",
|
|
1022
|
+
"name": "inputValidationChange",
|
|
1023
|
+
"bubbles": true,
|
|
1024
|
+
"cancelable": true,
|
|
1025
|
+
"composed": true,
|
|
884
1026
|
"docs": {
|
|
885
|
-
"text": "Move o foco para o input interno sem expor a \u00E1rvore privada ao componente pai.",
|
|
886
1027
|
"tags": [{
|
|
887
|
-
"name": "
|
|
888
|
-
"text":
|
|
889
|
-
}
|
|
1028
|
+
"name": "property",
|
|
1029
|
+
"text": "{boolean|null} valid - Indica se o texto \u00E9 considerado v\u00E1lido (`null` enquanto edi\u00E7\u00E3o)."
|
|
1030
|
+
}, {
|
|
1031
|
+
"name": "property",
|
|
1032
|
+
"text": "{string} message - Mensagem de erro explicativa (vazia quando v\u00E1lido)."
|
|
1033
|
+
}, {
|
|
1034
|
+
"name": "property",
|
|
1035
|
+
"text": "{string} [origin] - Identificador expl\u00EDcito da origem do evento"
|
|
1036
|
+
}],
|
|
1037
|
+
"text": "Emite valida\u00E7\u00E3o do texto digitado sem alterar o valor selecionado.\n\nPayload (`detail`):"
|
|
1038
|
+
},
|
|
1039
|
+
"complexType": {
|
|
1040
|
+
"original": "{ valid: boolean | null; message: string; origin?: string }",
|
|
1041
|
+
"resolved": "{ valid: boolean; message: string; origin?: string; }",
|
|
1042
|
+
"references": {}
|
|
890
1043
|
}
|
|
891
|
-
}
|
|
892
|
-
};
|
|
1044
|
+
}];
|
|
893
1045
|
}
|
|
894
1046
|
static get elementRef() { return "el"; }
|
|
895
1047
|
static get watchers() {
|