@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
|
@@ -2,49 +2,54 @@
|
|
|
2
2
|
* Construído por SERPRO
|
|
3
3
|
* © https://serpro.gov.br/ - MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { Host, h } from "@stencil/core";
|
|
5
|
+
import { Fragment, Host, h } from "@stencil/core";
|
|
6
6
|
import { addDays } from "date-fns/addDays";
|
|
7
7
|
import { addMonths } from "date-fns/addMonths";
|
|
8
|
+
import { addYears } from "date-fns/addYears";
|
|
8
9
|
import { compareAsc } from "date-fns/compareAsc";
|
|
9
10
|
import { eachDayOfInterval } from "date-fns/eachDayOfInterval";
|
|
10
11
|
import { endOfMonth } from "date-fns/endOfMonth";
|
|
11
12
|
import { endOfWeek } from "date-fns/endOfWeek";
|
|
12
13
|
import { format } from "date-fns/format";
|
|
14
|
+
import { getDaysInMonth } from "date-fns/getDaysInMonth";
|
|
13
15
|
import { isAfter } from "date-fns/isAfter";
|
|
14
16
|
import { isBefore } from "date-fns/isBefore";
|
|
15
17
|
import { isSameDay } from "date-fns/isSameDay";
|
|
16
18
|
import { isSameMonth } from "date-fns/isSameMonth";
|
|
17
19
|
import { parse } from "date-fns/parse";
|
|
18
20
|
import { set } from "date-fns/set";
|
|
21
|
+
import { startOfDay } from "date-fns/startOfDay";
|
|
19
22
|
import { startOfMonth } from "date-fns/startOfMonth";
|
|
20
23
|
import { startOfWeek } from "date-fns/startOfWeek";
|
|
21
24
|
import { subMonths } from "date-fns/subMonths";
|
|
22
25
|
import { toDate } from "date-fns/toDate";
|
|
23
26
|
import { dispatchNativeFormEvent } from "../../../shared/utils/event";
|
|
24
|
-
import { reportInvalidPropValue } from "../../../shared/utils/prop-warning";
|
|
25
|
-
import { resolveAllowedPropValue } from "../../../shared/utils/props";
|
|
26
27
|
import { resolveSsrLocalDate } from "../../../shared/utils/ssr-date";
|
|
27
28
|
import { DATETIME_PICKER_LOCALE, NAVIGATION_ACTION } from "../datetime-picker-constants";
|
|
28
|
-
import {
|
|
29
|
-
import { getMonthLabels, getWeekdayLabels, resolveDateFnsLocale } from "./date-picker-locale";
|
|
29
|
+
import { getMonthLabels, getWeekdayFullNames, getWeekdayLabels, resolveDateFnsLocale } from "./date-picker-locale";
|
|
30
30
|
import { normalizeLocale, normalizeWeekStartsOn } from "./date-picker-props-validation";
|
|
31
|
+
/** Formato da chave local de dia usada em `data-date` e nas buscas de datas bloqueadas. */
|
|
32
|
+
const DAY_KEY_FORMAT = 'yyyy-MM-dd';
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Calendário usado pelo `br-datetime-picker`. Também pode ser usado sozinho, quando a tela precisa de um calendário sempre visível.
|
|
33
35
|
*
|
|
34
|
-
*
|
|
36
|
+
* Usado sozinho, ele não tem campo de texto nem participa de formulário: a aplicação lê a seleção e cuida da validação.
|
|
35
37
|
*
|
|
36
|
-
*
|
|
37
|
-
* -
|
|
38
|
+
* ```html
|
|
39
|
+
* <br-date-picker id="agenda"></br-date-picker>
|
|
40
|
+
* ```
|
|
38
41
|
*
|
|
39
|
-
*
|
|
42
|
+
* ```js
|
|
43
|
+
* const calendario = document.querySelector('#agenda');
|
|
44
|
+
* calendario.addEventListener('change', () => console.log(calendario.value));
|
|
45
|
+
* ```
|
|
40
46
|
*
|
|
41
|
-
*
|
|
47
|
+
* - `value`: data selecionada (`Date`).
|
|
48
|
+
* - `referenceDate`: mês exibido.
|
|
49
|
+
* - `disabledDates`: datas que não podem ser escolhidas.
|
|
50
|
+
* - `selectionMode="range"`: seleção de intervalo, lida em `rangeValue`.
|
|
42
51
|
*
|
|
43
|
-
* Para
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
* @category Formulários, Seleção
|
|
47
|
-
* @status stable
|
|
52
|
+
* Para mudar o idioma, veja "Idiomas" na documentação do `br-datetime-picker`.
|
|
48
53
|
*
|
|
49
54
|
* @part container - Parte para o container base do calendário.
|
|
50
55
|
* @part header - Cabeçalho do calendário (contendo navegação e seleção de mês/ano).
|
|
@@ -58,73 +63,78 @@ import { normalizeLocale, normalizeWeekStartsOn } from "./date-picker-props-vali
|
|
|
58
63
|
*/
|
|
59
64
|
export class DatePicker {
|
|
60
65
|
constructor() {
|
|
61
|
-
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/** Define o índice do dia em que a semana começa na interface do calendário. */
|
|
66
|
+
/**
|
|
67
|
+
* Índice do dia em que a semana começa na interface do calendário.
|
|
68
|
+
* @default 0
|
|
69
|
+
*/
|
|
66
70
|
this.weekStartsOn = 0;
|
|
67
71
|
/**
|
|
68
|
-
* Data usada como base visual para o mês atualmente exibido
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```js
|
|
73
|
-
* const calendar = document.querySelector('br-date-picker');
|
|
74
|
-
* calendar.referenceDate = new Date(2026, 8, 1);
|
|
75
|
-
* ```
|
|
72
|
+
* Data usada como base visual para o mês atualmente exibido.
|
|
73
|
+
* @default new Date()
|
|
76
74
|
*/
|
|
77
75
|
this.referenceDate = new Date();
|
|
78
76
|
/**
|
|
79
|
-
* Data
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```js
|
|
84
|
-
* const calendar = document.querySelector('br-date-picker');
|
|
85
|
-
* calendar.value = new Date(2026, 8, 7);
|
|
86
|
-
* ```
|
|
77
|
+
* Data atualmente selecionada pelo usuário, ou `null` quando não há seleção.
|
|
78
|
+
* @default null
|
|
87
79
|
*/
|
|
88
80
|
this.value = null;
|
|
89
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Define se a seleção ocorre por data única ou por intervalo.
|
|
83
|
+
* @default 'single'
|
|
84
|
+
*/
|
|
90
85
|
this.selectionMode = 'single';
|
|
91
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Data inicial selecionada quando o calendário opera no modo de intervalo.
|
|
88
|
+
* @default null
|
|
89
|
+
*/
|
|
92
90
|
this.rangeStart = null;
|
|
93
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* Data final selecionada quando o calendário opera no modo de intervalo.
|
|
93
|
+
* @default null
|
|
94
|
+
*/
|
|
94
95
|
this.rangeEnd = null;
|
|
95
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Desabilita a interação do calendário quando `true`.
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
96
100
|
this.disabled = false;
|
|
97
101
|
/**
|
|
98
102
|
* Lista de datas indisponíveis para seleção no calendário.
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```js
|
|
103
|
-
* const calendar = document.querySelector('br-date-picker');
|
|
104
|
-
* calendar.disabledDates = [new Date(2026, 8, 7), new Date(2026, 8, 8)];
|
|
105
|
-
* ```
|
|
103
|
+
* @default []
|
|
106
104
|
*/
|
|
107
105
|
this.disabledDates = [];
|
|
108
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Locale usado para gerar nomes de meses e dias da semana.
|
|
108
|
+
* @default DATETIME_PICKER_LOCALE.DEFAULT
|
|
109
|
+
*/
|
|
109
110
|
this.locale = DATETIME_PICKER_LOCALE.DEFAULT;
|
|
110
111
|
/**
|
|
111
|
-
*
|
|
112
|
-
* ou variar conforme o mês.
|
|
113
|
-
*
|
|
114
|
-
* Quando `true`, o calendário sempre exibe 6 semanas completas.
|
|
115
|
-
* Quando `false`, o calendário adapta-se ao mês, exibindo apenas as semanas necessárias.
|
|
116
|
-
*
|
|
112
|
+
* Se `true`, o calendário sempre exibe 6 semanas (42 dias); caso contrário, adapta-se ao mês.
|
|
117
113
|
* @default false
|
|
118
114
|
*/
|
|
119
115
|
this.fixedRowCount = false;
|
|
120
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* Data atualmente com foco para navegação por teclado.
|
|
118
|
+
* Usada para controlar qual célula do calendário recebe `tabindex=0`.
|
|
119
|
+
* @type {Date}
|
|
120
|
+
* @default new Date()
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
this.focusedDate = new Date();
|
|
124
|
+
/**
|
|
125
|
+
* Sinaliza ao `componentDidRender` que o foco deve ser movido para a célula atual.
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
121
128
|
this.shouldFocusDate = false;
|
|
122
|
-
/** Mantém handlers estáveis por data para evitar recriação a cada renderização. */
|
|
123
|
-
this.dayClickHandlers = new WeakMap();
|
|
124
129
|
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
|
|
130
|
+
* Chaves `yyyy-MM-dd` das datas bloqueadas, para consulta O(1) por célula.
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
this.disabledDateKeysCache = new Set();
|
|
134
|
+
/**
|
|
135
|
+
* Handler de mudança do seletor de mês.
|
|
136
|
+
* @param event - evento de mudança do `<select>`
|
|
137
|
+
* @internal
|
|
128
138
|
*/
|
|
129
139
|
this.handleMonthChange = (event) => {
|
|
130
140
|
if (this.disabled) {
|
|
@@ -136,16 +146,21 @@ export class DatePicker {
|
|
|
136
146
|
console.warn(`Índice de mês inválido selecionado: ${select.value}`);
|
|
137
147
|
return;
|
|
138
148
|
}
|
|
139
|
-
|
|
140
|
-
this.emitDateStateChange(date);
|
|
149
|
+
this.navigateToMonth(set(this.baseDate, { month: monthIndex, date: 1 }));
|
|
141
150
|
};
|
|
142
151
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* @
|
|
152
|
+
* Trata cliques nos botões de navegação do calendário.
|
|
153
|
+
* @param event - evento de clique
|
|
154
|
+
* @internal
|
|
146
155
|
*/
|
|
147
156
|
this.handleNavigationClick = (event) => {
|
|
148
|
-
|
|
157
|
+
if (this.disabled) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const actionFromPath = event
|
|
161
|
+
.composedPath()
|
|
162
|
+
.find((target) => target instanceof HTMLElement && target.dataset.action !== undefined);
|
|
163
|
+
const action = (actionFromPath?.dataset.action ?? event.currentTarget?.dataset.action);
|
|
149
164
|
if (action === undefined) {
|
|
150
165
|
console.warn('Botão de navegação clicado sem data-action definido');
|
|
151
166
|
return;
|
|
@@ -162,9 +177,10 @@ export class DatePicker {
|
|
|
162
177
|
}
|
|
163
178
|
};
|
|
164
179
|
/**
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* @param event -
|
|
180
|
+
* Handler de alteração do campo ano.
|
|
181
|
+
* Valida o ano antes de aplicar a mudança.
|
|
182
|
+
* @param event - evento de mudança do input de ano
|
|
183
|
+
* @internal
|
|
168
184
|
*/
|
|
169
185
|
this.handleYearChange = (event) => {
|
|
170
186
|
if (this.disabled) {
|
|
@@ -176,23 +192,35 @@ export class DatePicker {
|
|
|
176
192
|
console.warn(`Ano inválido digitado: ${input.value}`);
|
|
177
193
|
return;
|
|
178
194
|
}
|
|
179
|
-
|
|
180
|
-
const range = this.effectiveSelectionMode === 'range' && this.rangeStart !== null && this.rangeEnd !== null
|
|
181
|
-
? { start: this.rangeStart, end: this.rangeEnd }
|
|
182
|
-
: undefined;
|
|
183
|
-
this.emitDateStateChange(date, this.value, range);
|
|
195
|
+
this.navigateToMonth(set(this.baseDate, { year, month: this.baseDate.getMonth(), date: 1 }));
|
|
184
196
|
};
|
|
185
197
|
/**
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
198
|
+
* Trata cliques com um handler compartilhado, lendo a data local da célula.
|
|
199
|
+
* @param event - evento de clique da célula
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
this.handleDayCellClick = (event) => {
|
|
203
|
+
const cell = event.currentTarget;
|
|
204
|
+
if (!(cell instanceof HTMLElement) || cell.dataset.date === undefined) {
|
|
205
|
+
console.warn('Célula de dia clicada sem data-date definido');
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const date = parse(cell.dataset.date, DAY_KEY_FORMAT, this.baseDate);
|
|
209
|
+
if (Number.isNaN(date.getTime())) {
|
|
210
|
+
console.warn(`Data inválida na célula de dia: ${cell.dataset.date}`);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
this.handleDayClick(date);
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Gerencia navegação por teclado dentro da grade de dias.
|
|
217
|
+
* Teclas suportadas: ArrowLeft/Right/Up/Down, PageUp/PageDown (mês), Shift+PageUp/PageDown (ano),
|
|
218
|
+
* Home/End, Enter/Space.
|
|
194
219
|
*
|
|
195
|
-
*
|
|
220
|
+
* Permanece ativo em datas bloqueadas para que o foco não fique preso nelas; somente a seleção é ignorada.
|
|
221
|
+
* @param event - evento de teclado
|
|
222
|
+
* @returns void
|
|
223
|
+
* @internal
|
|
196
224
|
*/
|
|
197
225
|
this.handleGridKeydown = (event) => {
|
|
198
226
|
const HANDLED_KEYS = [
|
|
@@ -209,12 +237,22 @@ export class DatePicker {
|
|
|
209
237
|
];
|
|
210
238
|
if (!HANDLED_KEYS.includes(event.key))
|
|
211
239
|
return;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
240
|
+
// O `event.target` pode ser um nó interno (texto) ou o foco pode estar
|
|
241
|
+
// em um container; tentamos localizar a célula com `data-date`.
|
|
242
|
+
const targetEl = event.target?.closest?.('[data-date]');
|
|
243
|
+
// Se encontrarmos a célula, usamos sua data; caso contrário, usamos a
|
|
244
|
+
// data atualmente focada (`focusedDate`) como fallback. Em ambos os casos
|
|
245
|
+
// prevenimos o comportamento padrão para manter consistência.
|
|
246
|
+
let current;
|
|
247
|
+
if (targetEl && targetEl.dataset?.date !== undefined) {
|
|
248
|
+
const dateKey = targetEl.dataset.date;
|
|
249
|
+
event.preventDefault();
|
|
250
|
+
current = parse(dateKey, DAY_KEY_FORMAT, new Date());
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
event.preventDefault();
|
|
254
|
+
current = this.getNormalizedFocusedDate();
|
|
255
|
+
}
|
|
218
256
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
219
257
|
if (!this.isDateDisabled(current)) {
|
|
220
258
|
this.handleDayClick(current);
|
|
@@ -236,10 +274,10 @@ export class DatePicker {
|
|
|
236
274
|
next = addDays(current, 7);
|
|
237
275
|
break;
|
|
238
276
|
case 'PageUp':
|
|
239
|
-
next = addMonths(current, -1);
|
|
277
|
+
next = event.shiftKey ? addYears(current, -1) : addMonths(current, -1);
|
|
240
278
|
break;
|
|
241
279
|
case 'PageDown':
|
|
242
|
-
next = addMonths(current, 1);
|
|
280
|
+
next = event.shiftKey ? addYears(current, 1) : addMonths(current, 1);
|
|
243
281
|
break;
|
|
244
282
|
case 'Home':
|
|
245
283
|
next = startOfWeek(current, { weekStartsOn: this.weekStartsOn });
|
|
@@ -253,47 +291,43 @@ export class DatePicker {
|
|
|
253
291
|
this.moveFocusTo(next);
|
|
254
292
|
};
|
|
255
293
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
294
|
+
/**
|
|
295
|
+
* Observador para a prop `rangeValue` — sincroniza `rangeStart` e `rangeEnd`.
|
|
296
|
+
* @param {DatetimePickerDateRange | undefined} newValue - novo intervalo controlado recebido (`undefined` quando não fornecido)
|
|
297
|
+
* @internal
|
|
298
|
+
*/
|
|
259
299
|
handleRangeValueChange(newValue) {
|
|
260
300
|
if (!newValue)
|
|
261
301
|
return;
|
|
262
|
-
if (!isValidDatetimePickerDateRange(newValue)) {
|
|
263
|
-
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.');
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
302
|
this.rangeStart = newValue.start;
|
|
267
303
|
this.rangeEnd = newValue.end;
|
|
268
304
|
}
|
|
269
305
|
/**
|
|
270
306
|
* Sincroniza `focusedDate` quando o valor selecionado muda externamente.
|
|
271
307
|
*
|
|
272
|
-
* @param newValue - Novo valor recebido via prop.
|
|
308
|
+
* @param {Date | null} newValue - Novo valor recebido via prop.
|
|
273
309
|
*/
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
const normalizedReferenceDate = this.normalizeDateProp(newValue, 'referenceDate', new Date());
|
|
285
|
-
const receivedTime = newValue instanceof Date && !Number.isNaN(newValue.getTime()) ? newValue.getTime() : null;
|
|
286
|
-
if (normalizedReferenceDate.getTime() !== receivedTime) {
|
|
287
|
-
this.referenceDate = normalizedReferenceDate;
|
|
288
|
-
return;
|
|
310
|
+
/**
|
|
311
|
+
* Observador para a prop `value` — atualiza `focusedDate` quando a seleção externa muda.
|
|
312
|
+
* @param {Date | null} newValue - novo valor de seleção (ou `null`)
|
|
313
|
+
* @param {Date | null} oldValue - valor anterior da seleção
|
|
314
|
+
* @internal
|
|
315
|
+
*/
|
|
316
|
+
handleValueChange(newValue, oldValue) {
|
|
317
|
+
// Reatribuições com o mesmo instante (ex.: navegação entre meses) não devem mover o foco.
|
|
318
|
+
if (newValue !== null && newValue.getTime() !== oldValue?.getTime()) {
|
|
319
|
+
this.focusedDate = toDate(newValue);
|
|
289
320
|
}
|
|
290
|
-
if (this.value === null)
|
|
291
|
-
this.focusedDate = toDate(normalizedReferenceDate);
|
|
292
321
|
}
|
|
293
322
|
/**
|
|
294
323
|
* Revalida a configuração quando o início da semana muda.
|
|
295
324
|
*
|
|
296
|
-
* @param newValue - Novo valor recebido via prop.
|
|
325
|
+
* @param {number} newValue - Novo valor recebido via prop.
|
|
326
|
+
*/
|
|
327
|
+
/**
|
|
328
|
+
* Observador para `weekStartsOn` — revalida a configuração quando alterada externamente.
|
|
329
|
+
* @param {number} newValue - novo índice do início da semana
|
|
330
|
+
* @internal
|
|
297
331
|
*/
|
|
298
332
|
handleWeekStartsOnChange(newValue) {
|
|
299
333
|
this.ensureValidWeekStartsOn(newValue);
|
|
@@ -301,42 +335,35 @@ export class DatePicker {
|
|
|
301
335
|
/**
|
|
302
336
|
* Revalida o locale quando a prop muda.
|
|
303
337
|
*
|
|
304
|
-
* @param newValue - Novo valor recebido via prop.
|
|
338
|
+
* @param {string} newValue - Novo valor recebido via prop.
|
|
339
|
+
*/
|
|
340
|
+
/**
|
|
341
|
+
* Observador para `locale` — revalida/normaliza o locale informado.
|
|
342
|
+
* @param {string} newValue - nova string de locale
|
|
343
|
+
* @internal
|
|
305
344
|
*/
|
|
306
345
|
handleLocaleChange(newValue) {
|
|
307
346
|
this.ensureValidLocale(newValue);
|
|
308
347
|
}
|
|
309
|
-
handleDisabledDatesChange(newValue) {
|
|
310
|
-
this.normalizedDisabledDates = normalizeDatetimePickerDisabledDates(newValue, 'br-date-picker');
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Normaliza os valores públicos antes da primeira renderização.
|
|
314
|
-
*/
|
|
315
348
|
componentWillLoad() {
|
|
316
|
-
this.referenceDate = this.normalizeDateProp(this.referenceDate, 'referenceDate', new Date());
|
|
317
|
-
this.value = this.normalizeDateProp(this.value, 'value', null);
|
|
318
349
|
this.referenceDate = resolveSsrLocalDate(this.el, this.referenceDate);
|
|
319
350
|
this.ensureValidWeekStartsOn();
|
|
320
351
|
this.ensureValidLocale();
|
|
321
|
-
this.handleDisabledDatesChange(this.disabledDates);
|
|
322
352
|
this.focusedDate = toDate(this.value ?? this.referenceDate);
|
|
323
353
|
}
|
|
324
|
-
/**
|
|
325
|
-
* Move o foco para a célula correspondente ao `focusedDate` após re-renderização.
|
|
326
|
-
*/
|
|
327
354
|
componentDidRender() {
|
|
328
355
|
if (!this.shouldFocusDate)
|
|
329
356
|
return;
|
|
330
357
|
this.shouldFocusDate = false;
|
|
331
358
|
const normalizedDate = this.getNormalizedFocusedDate();
|
|
332
|
-
const dateKey = format(normalizedDate,
|
|
359
|
+
const dateKey = format(normalizedDate, DAY_KEY_FORMAT);
|
|
333
360
|
const cell = this.el.shadowRoot?.querySelector(`[data-date="${dateKey}"]`);
|
|
334
361
|
cell?.focus();
|
|
335
362
|
}
|
|
336
363
|
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
364
|
+
* Valida e normaliza `weekStartsOn`.
|
|
339
365
|
* @param value - Valor bruto informado pelo consumidor.
|
|
366
|
+
* @internal
|
|
340
367
|
*/
|
|
341
368
|
ensureValidWeekStartsOn(value = this.weekStartsOn) {
|
|
342
369
|
const normalizedWeekStartsOn = normalizeWeekStartsOn(value);
|
|
@@ -344,18 +371,10 @@ export class DatePicker {
|
|
|
344
371
|
this.weekStartsOn = normalizedWeekStartsOn;
|
|
345
372
|
}
|
|
346
373
|
}
|
|
347
|
-
normalizeDateProp(value, propertyName, fallback) {
|
|
348
|
-
if (value === null && fallback === null)
|
|
349
|
-
return null;
|
|
350
|
-
if (value instanceof Date && !Number.isNaN(value.getTime()))
|
|
351
|
-
return toDate(value);
|
|
352
|
-
reportInvalidPropValue(this.el, propertyName, value, 'Informe uma instância de Date válida.', `Aplicando fallback ${fallback === null ? 'null' : 'new Date()'}.`);
|
|
353
|
-
return fallback === null ? null : toDate(fallback);
|
|
354
|
-
}
|
|
355
374
|
/**
|
|
356
|
-
*
|
|
357
|
-
*
|
|
375
|
+
* Valida e normaliza o `locale` informado.
|
|
358
376
|
* @param value - Valor bruto informado pelo consumidor.
|
|
377
|
+
* @internal
|
|
359
378
|
*/
|
|
360
379
|
ensureValidLocale(value = this.locale) {
|
|
361
380
|
const normalizedLocale = normalizeLocale(value);
|
|
@@ -364,16 +383,20 @@ export class DatePicker {
|
|
|
364
383
|
}
|
|
365
384
|
}
|
|
366
385
|
/**
|
|
367
|
-
* Emite
|
|
386
|
+
* Emite `dateStateChange` atualizando `referenceDate`, `value` e `range`.
|
|
387
|
+
* Zera segundos/milissegundos para consistência.
|
|
368
388
|
*
|
|
369
|
-
* @param nextReferenceDate -
|
|
370
|
-
* @param nextValue -
|
|
389
|
+
* @param nextReferenceDate - nova data de referência
|
|
390
|
+
* @param nextValue - data selecionada ou `null` (por padrão, mantém `this.value`)
|
|
391
|
+
* @param nextRange - intervalo de datas quando aplicável
|
|
392
|
+
* @internal
|
|
371
393
|
*/
|
|
372
394
|
emitDateStateChange(nextReferenceDate, nextValue = this.value, nextRange = undefined) {
|
|
373
395
|
// Garantir segundos zerados (componente não manipula segundos)
|
|
374
396
|
const normalizedReference = set(nextReferenceDate, { seconds: 0, milliseconds: 0 });
|
|
375
397
|
const normalizedValue = nextValue === null ? null : set(nextValue, { seconds: 0, milliseconds: 0 });
|
|
376
398
|
const valueChanged = this.value?.getTime() !== normalizedValue?.getTime();
|
|
399
|
+
this.referenceDate = normalizedReference;
|
|
377
400
|
this.value = normalizedValue;
|
|
378
401
|
this.dateStateChange.emit({
|
|
379
402
|
referenceDate: normalizedReference,
|
|
@@ -388,10 +411,10 @@ export class DatePicker {
|
|
|
388
411
|
}
|
|
389
412
|
}
|
|
390
413
|
/**
|
|
391
|
-
* Resolve o ícone
|
|
392
|
-
*
|
|
393
|
-
* @
|
|
394
|
-
* @
|
|
414
|
+
* Resolve o nome do ícone para a ação de navegação.
|
|
415
|
+
* @param action - Ação de navegação
|
|
416
|
+
* @returns Nome do ícone
|
|
417
|
+
* @internal
|
|
395
418
|
*/
|
|
396
419
|
getIconForAction(action) {
|
|
397
420
|
switch (action) {
|
|
@@ -404,9 +427,9 @@ export class DatePicker {
|
|
|
404
427
|
}
|
|
405
428
|
}
|
|
406
429
|
/**
|
|
407
|
-
*
|
|
408
|
-
*
|
|
409
|
-
* @
|
|
430
|
+
* Trata o clique numa célula de dia: aplica seleção ou atualiza intervalo.
|
|
431
|
+
* @param date - dia clicado
|
|
432
|
+
* @internal
|
|
410
433
|
*/
|
|
411
434
|
handleDayClick(date) {
|
|
412
435
|
if (this.disabled || this.isDateDisabled(date)) {
|
|
@@ -418,13 +441,17 @@ export class DatePicker {
|
|
|
418
441
|
seconds: 0,
|
|
419
442
|
milliseconds: 0,
|
|
420
443
|
});
|
|
421
|
-
if (this.
|
|
444
|
+
if (this.selectionMode === 'range') {
|
|
422
445
|
this.handleRangeDayClick(newDate);
|
|
423
446
|
return;
|
|
424
447
|
}
|
|
425
448
|
this.emitDateStateChange(newDate, newDate);
|
|
426
449
|
}
|
|
427
|
-
/**
|
|
450
|
+
/**
|
|
451
|
+
* Atualiza o intervalo selecionado no modo `range`.
|
|
452
|
+
* @param clickedDate - data clicada pelo usuário
|
|
453
|
+
* @internal
|
|
454
|
+
*/
|
|
428
455
|
handleRangeDayClick(clickedDate) {
|
|
429
456
|
const start = this.rangeStart;
|
|
430
457
|
const end = this.rangeEnd;
|
|
@@ -441,153 +468,205 @@ export class DatePicker {
|
|
|
441
468
|
end: normalizedEnd,
|
|
442
469
|
});
|
|
443
470
|
}
|
|
444
|
-
/**
|
|
471
|
+
/**
|
|
472
|
+
* Decrementa o mês exibido e preserva seleção/intervalo quando aplicável.
|
|
473
|
+
* @internal
|
|
474
|
+
*/
|
|
445
475
|
decreaseMonth() {
|
|
446
476
|
if (this.disabled) {
|
|
447
477
|
return;
|
|
448
478
|
}
|
|
449
|
-
|
|
450
|
-
const range = this.effectiveSelectionMode === 'range' && this.rangeStart !== null && this.rangeEnd !== null
|
|
451
|
-
? { start: this.rangeStart, end: this.rangeEnd }
|
|
452
|
-
: undefined;
|
|
453
|
-
this.emitDateStateChange(date, this.value, range);
|
|
479
|
+
this.navigateToMonth(set(subMonths(this.baseDate, 1), { date: 1 }));
|
|
454
480
|
}
|
|
455
|
-
/**
|
|
481
|
+
/**
|
|
482
|
+
* Incrementa o mês exibido e preserva seleção/intervalo quando aplicável.
|
|
483
|
+
* @internal
|
|
484
|
+
*/
|
|
456
485
|
increaseMonth() {
|
|
457
486
|
if (this.disabled) {
|
|
458
487
|
return;
|
|
459
488
|
}
|
|
460
|
-
|
|
461
|
-
|
|
489
|
+
this.navigateToMonth(set(addMonths(this.baseDate, 1), { date: 1 }));
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Exibe o mês informado preservando a seleção, o intervalo completo e o dia em foco.
|
|
493
|
+
*
|
|
494
|
+
* O foco vai para a data selecionada quando ela pertence ao novo mês; caso
|
|
495
|
+
* contrário, mantém o mesmo dia do mês, limitado ao último dia disponível
|
|
496
|
+
* (ex.: 31/01 → 28/02).
|
|
497
|
+
*
|
|
498
|
+
* @param monthDate - primeiro dia do mês de destino
|
|
499
|
+
* @internal
|
|
500
|
+
*/
|
|
501
|
+
navigateToMonth(monthDate) {
|
|
502
|
+
const value = this.value;
|
|
503
|
+
this.focusedDate =
|
|
504
|
+
value !== null && isSameMonth(value, monthDate)
|
|
505
|
+
? value
|
|
506
|
+
: set(monthDate, { date: Math.min(this.focusedDate.getDate(), getDaysInMonth(monthDate)) });
|
|
507
|
+
const range = this.selectionMode === 'range' && this.rangeStart !== null && this.rangeEnd !== null
|
|
462
508
|
? { start: this.rangeStart, end: this.rangeEnd }
|
|
463
509
|
: undefined;
|
|
464
|
-
this.emitDateStateChange(
|
|
510
|
+
this.emitDateStateChange(monthDate, value, range);
|
|
465
511
|
}
|
|
466
|
-
/**
|
|
512
|
+
/**
|
|
513
|
+
* Verifica se uma data está indisponível para seleção.
|
|
514
|
+
* @param date - data a verificar
|
|
515
|
+
* @returns `true` se a data estiver na lista de `disabledDates`
|
|
516
|
+
* @internal
|
|
517
|
+
*/
|
|
467
518
|
isDateDisabled(date) {
|
|
468
|
-
return this.
|
|
519
|
+
return this.disabledDateKeys.has(format(date, DAY_KEY_FORMAT));
|
|
469
520
|
}
|
|
470
|
-
/**
|
|
521
|
+
/**
|
|
522
|
+
* Chaves locais das datas bloqueadas, recalculadas somente quando `disabledDates` é substituída.
|
|
523
|
+
* Entradas inválidas são ignoradas.
|
|
524
|
+
* @internal
|
|
525
|
+
*/
|
|
526
|
+
get disabledDateKeys() {
|
|
527
|
+
if (this.disabledDateKeysSource !== this.disabledDates) {
|
|
528
|
+
this.disabledDateKeysSource = this.disabledDates;
|
|
529
|
+
this.disabledDateKeysCache = new Set((this.disabledDates ?? [])
|
|
530
|
+
.map((disabledDate) => toDate(disabledDate))
|
|
531
|
+
.filter((disabledDate) => !Number.isNaN(disabledDate.getTime()))
|
|
532
|
+
.map((disabledDate) => format(disabledDate, DAY_KEY_FORMAT)));
|
|
533
|
+
}
|
|
534
|
+
return this.disabledDateKeysCache;
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Data base usada para todos os cálculos de calendário.
|
|
538
|
+
* @returns data de referência interna
|
|
539
|
+
* @internal
|
|
540
|
+
*/
|
|
471
541
|
get baseDate() {
|
|
472
542
|
return this.referenceDate;
|
|
473
543
|
}
|
|
474
544
|
/**
|
|
475
|
-
*
|
|
476
|
-
*
|
|
477
|
-
* @
|
|
478
|
-
* @
|
|
479
|
-
*/
|
|
480
|
-
getDayClickHandler(date) {
|
|
481
|
-
let handler = this.dayClickHandlers.get(date);
|
|
482
|
-
if (handler === undefined) {
|
|
483
|
-
handler = () => this.handleDayClick(date);
|
|
484
|
-
this.dayClickHandlers.set(date, handler);
|
|
485
|
-
}
|
|
486
|
-
return handler;
|
|
487
|
-
}
|
|
488
|
-
/** Formata o dia exibido com zero à esquerda. */
|
|
545
|
+
* Formata o dia exibido com zero à esquerda (ex: '01', '09').
|
|
546
|
+
* @param date - data a formatar
|
|
547
|
+
* @returns string com dois dígitos do dia
|
|
548
|
+
* @internal
|
|
549
|
+
*/
|
|
489
550
|
getDayWithLeadingZero(date) {
|
|
490
551
|
return format(date, 'dd');
|
|
491
552
|
}
|
|
492
553
|
/**
|
|
493
|
-
* Constrói o rótulo acessível
|
|
494
|
-
*
|
|
495
|
-
* @param
|
|
496
|
-
* @returns
|
|
554
|
+
* Constrói o rótulo acessível da célula de dia, incluindo estado (selecionado/início/fim).
|
|
555
|
+
* @param date - dia representado pela célula
|
|
556
|
+
* @param state - estado já calculado da célula
|
|
557
|
+
* @returns string para `aria-label`
|
|
558
|
+
* @internal
|
|
497
559
|
*/
|
|
498
|
-
getDayCellAriaLabel(date) {
|
|
560
|
+
getDayCellAriaLabel(date, state) {
|
|
499
561
|
const fullDate = format(date, "d 'de' MMMM 'de' yyyy", { locale: this.dateFnsLocale });
|
|
500
|
-
|
|
501
|
-
const isRangeStart = this.effectiveSelectionMode === 'range' && this.rangeStart !== null && isSameDay(date, this.rangeStart);
|
|
502
|
-
const isRangeEnd = this.effectiveSelectionMode === 'range' && this.rangeEnd !== null && isSameDay(date, this.rangeEnd);
|
|
503
|
-
const isBetween = this.effectiveSelectionMode === 'range' &&
|
|
504
|
-
this.rangeStart !== null &&
|
|
505
|
-
this.rangeEnd !== null &&
|
|
506
|
-
this.isDateBetweenRange(date, this.rangeStart, this.rangeEnd);
|
|
507
|
-
if (isSelected)
|
|
562
|
+
if (state.isSelected)
|
|
508
563
|
return `${fullDate}, selecionado`;
|
|
509
|
-
if (isRangeStart)
|
|
564
|
+
if (state.isRangeStart)
|
|
510
565
|
return `${fullDate}, início do intervalo`;
|
|
511
|
-
if (isRangeEnd)
|
|
566
|
+
if (state.isRangeEnd)
|
|
512
567
|
return `${fullDate}, fim do intervalo`;
|
|
513
|
-
if (
|
|
568
|
+
if (state.isInRange)
|
|
514
569
|
return `${fullDate}, no intervalo selecionado`;
|
|
515
570
|
return fullDate;
|
|
516
571
|
}
|
|
517
|
-
/**
|
|
572
|
+
/**
|
|
573
|
+
* Locale do `date-fns` derivado da prop pública `locale`.
|
|
574
|
+
* @internal
|
|
575
|
+
*/
|
|
518
576
|
get dateFnsLocale() {
|
|
519
577
|
return resolveDateFnsLocale(this.locale);
|
|
520
578
|
}
|
|
521
579
|
/**
|
|
522
|
-
* Calcula
|
|
523
|
-
*
|
|
524
|
-
* @param
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
const
|
|
530
|
-
const
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
580
|
+
* Calcula uma única vez o estado de seleção da célula, compartilhado por classes, ARIA e foco.
|
|
581
|
+
* @param date - dia da grade
|
|
582
|
+
* @param today - instante atual compartilhado pela renderização da grade
|
|
583
|
+
* @returns estado da célula
|
|
584
|
+
* @internal
|
|
585
|
+
*/
|
|
586
|
+
getDayCellState(date, today) {
|
|
587
|
+
const isRange = this.selectionMode === 'range';
|
|
588
|
+
const { value, rangeStart, rangeEnd } = this;
|
|
589
|
+
return {
|
|
590
|
+
isToday: isSameDay(date, today),
|
|
591
|
+
isOutsideMonth: !isSameMonth(date, this.baseDate),
|
|
592
|
+
isSelected: !isRange && value !== null && isSameDay(date, value),
|
|
593
|
+
isRangeStart: isRange && rangeStart !== null && isSameDay(date, rangeStart),
|
|
594
|
+
isRangeEnd: isRange && rangeEnd !== null && isSameDay(date, rangeEnd),
|
|
595
|
+
isInRange: isRange && rangeStart !== null && rangeEnd !== null && this.isDateBetweenRange(date, rangeStart, rangeEnd),
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Calcula o mapa de classes CSS da célula do dia.
|
|
600
|
+
* @param state - estado já calculado da célula
|
|
601
|
+
* @param disabled - indica se a célula está bloqueada
|
|
602
|
+
* @returns mapa de classes booleanas
|
|
603
|
+
* @internal
|
|
604
|
+
*/
|
|
605
|
+
getDayCssClasses(state, disabled) {
|
|
534
606
|
return {
|
|
535
607
|
day: true,
|
|
536
|
-
'outside-month':
|
|
537
|
-
today:
|
|
538
|
-
selected:
|
|
539
|
-
'range-start':
|
|
540
|
-
'range-end':
|
|
541
|
-
'in-range':
|
|
608
|
+
'outside-month': state.isOutsideMonth,
|
|
609
|
+
today: state.isToday,
|
|
610
|
+
selected: state.isSelected,
|
|
611
|
+
'range-start': state.isRangeStart,
|
|
612
|
+
'range-end': state.isRangeEnd,
|
|
613
|
+
'in-range': state.isInRange,
|
|
614
|
+
disabled,
|
|
542
615
|
};
|
|
543
616
|
}
|
|
544
|
-
/**
|
|
617
|
+
/**
|
|
618
|
+
* Normaliza os limites do intervalo garantindo ordem cronológica (start <= end).
|
|
619
|
+
* @param start - data de início
|
|
620
|
+
* @param end - data de fim
|
|
621
|
+
* @returns tupla [start, end] na ordem correta
|
|
622
|
+
* @internal
|
|
623
|
+
*/
|
|
545
624
|
normalizeRangeBounds(start, end) {
|
|
546
625
|
return compareAsc(start, end) <= 0 ? [start, end] : [end, start];
|
|
547
626
|
}
|
|
548
|
-
/**
|
|
627
|
+
/**
|
|
628
|
+
* Verifica se uma data está estritamente entre `start` e `end`.
|
|
629
|
+
* @param date - data a verificar
|
|
630
|
+
* @param start - início do intervalo
|
|
631
|
+
* @param end - fim do intervalo
|
|
632
|
+
* @returns `true` se `start < date < end`
|
|
633
|
+
* @internal
|
|
634
|
+
*/
|
|
549
635
|
isDateBetweenRange(date, start, end) {
|
|
550
636
|
return isAfter(date, start) && isBefore(date, end);
|
|
551
637
|
}
|
|
552
|
-
/**
|
|
553
|
-
|
|
638
|
+
/**
|
|
639
|
+
* Calcula os limites da grade do mês, respeitando `fixedRowCount`, sem gerar suas datas.
|
|
640
|
+
* @returns limites inclusivos da grade
|
|
641
|
+
* @internal
|
|
642
|
+
*/
|
|
643
|
+
getMonthViewInterval() {
|
|
554
644
|
const start = startOfWeek(startOfMonth(this.baseDate), { weekStartsOn: this.weekStartsOn });
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
const normalizedDates = eachDayOfInterval({ start, end });
|
|
560
|
-
const currentWeekCount = Math.ceil(normalizedDates.length / 7);
|
|
561
|
-
const targetWeekCount = 6;
|
|
562
|
-
// Se não houver 6 semanas, estende o final para alcançar 42 dias
|
|
563
|
-
if (currentWeekCount < targetWeekCount) {
|
|
564
|
-
const daysToAdd = (targetWeekCount - currentWeekCount) * 7;
|
|
565
|
-
end = addDays(end, daysToAdd);
|
|
566
|
-
}
|
|
567
|
-
}
|
|
568
|
-
return eachDayOfInterval({ start, end });
|
|
645
|
+
const end = this.fixedRowCount
|
|
646
|
+
? addDays(start, 41)
|
|
647
|
+
: endOfWeek(endOfMonth(this.baseDate), { weekStartsOn: this.weekStartsOn });
|
|
648
|
+
return { start, end };
|
|
569
649
|
}
|
|
570
650
|
/**
|
|
571
|
-
* Retorna o `focusedDate` normalizado para estar
|
|
572
|
-
*
|
|
573
|
-
*
|
|
574
|
-
*
|
|
575
|
-
*
|
|
576
|
-
* @returns Data focada normalizada ou primeiro dia da grade.
|
|
651
|
+
* Retorna o `focusedDate` normalizado para estar dentro da grade visível.
|
|
652
|
+
* Se não estiver visível, retorna o primeiro dia da grade.
|
|
653
|
+
* @param interval - limites da grade atual; calculados quando não fornecidos
|
|
654
|
+
* @returns data normalizada para foco
|
|
655
|
+
* @internal
|
|
577
656
|
*/
|
|
578
|
-
getNormalizedFocusedDate() {
|
|
579
|
-
const
|
|
580
|
-
const
|
|
581
|
-
if (
|
|
657
|
+
getNormalizedFocusedDate(interval = this.getMonthViewInterval()) {
|
|
658
|
+
const focusedDay = startOfDay(this.focusedDate).getTime();
|
|
659
|
+
const isVisible = focusedDay >= interval.start.getTime() && focusedDay <= interval.end.getTime();
|
|
660
|
+
if (isVisible) {
|
|
582
661
|
return this.focusedDate;
|
|
583
662
|
}
|
|
584
|
-
return
|
|
663
|
+
return interval.start;
|
|
585
664
|
}
|
|
586
665
|
/**
|
|
587
|
-
* Constrói o rótulo acessível
|
|
588
|
-
*
|
|
589
|
-
* @
|
|
590
|
-
* @
|
|
666
|
+
* Constrói o rótulo acessível para os botões de navegação.
|
|
667
|
+
* @param action - ação de navegação
|
|
668
|
+
* @returns rótulo para `aria-label`
|
|
669
|
+
* @internal
|
|
591
670
|
*/
|
|
592
671
|
getNavigationAriaLabel(action) {
|
|
593
672
|
switch (action) {
|
|
@@ -599,78 +678,126 @@ export class DatePicker {
|
|
|
599
678
|
return 'Navegar';
|
|
600
679
|
}
|
|
601
680
|
}
|
|
602
|
-
/**
|
|
681
|
+
/**
|
|
682
|
+
* Retorna os rótulos dos dias da semana conforme `locale` e `weekStartsOn`.
|
|
683
|
+
* @internal
|
|
684
|
+
*/
|
|
603
685
|
getWeekdayLabels() {
|
|
604
686
|
return getWeekdayLabels(this.locale, this.weekStartsOn);
|
|
605
687
|
}
|
|
606
|
-
/**
|
|
688
|
+
/**
|
|
689
|
+
* Retorna os rótulos dos meses no locale atual.
|
|
690
|
+
* @internal
|
|
691
|
+
*/
|
|
607
692
|
getMonthLabels() {
|
|
608
693
|
return getMonthLabels(this.locale);
|
|
609
694
|
}
|
|
610
695
|
/**
|
|
611
|
-
*
|
|
612
|
-
*
|
|
613
|
-
* @
|
|
696
|
+
* Move o foco de teclado para a data informada e atualiza `referenceDate` se necessário.
|
|
697
|
+
* @param date - data alvo do foco
|
|
698
|
+
* @returns void
|
|
699
|
+
* @internal
|
|
700
|
+
*/
|
|
701
|
+
moveFocusTo(date) {
|
|
702
|
+
this.focusedDate = date;
|
|
703
|
+
this.shouldFocusDate = true;
|
|
704
|
+
if (!isSameMonth(date, this.baseDate)) {
|
|
705
|
+
this.emitDateStateChange(date, this.value);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Renderiza um botão de navegação consistente para o calendário.
|
|
710
|
+
* @param action - ação do botão
|
|
711
|
+
* @returns elemento JSX do botão de navegação
|
|
712
|
+
* @internal
|
|
614
713
|
*/
|
|
615
714
|
renderNavigationButton(action) {
|
|
616
|
-
return (h("br-button", { emphasis: "tertiary", density: "small", shape: "circle", disabled: this.disabled, "data-action": action, "aria-label": this.getNavigationAriaLabel(action), onClick: this.handleNavigationClick }, h("br-icon", { iconName: this.getIconForAction(action), width: "20", height: "20", "aria-hidden": "true" })));
|
|
715
|
+
return (h("br-button", { type: "button", emphasis: "tertiary", density: "small", shape: "circle", disabled: this.disabled, "data-action": action, "aria-label": this.getNavigationAriaLabel(action), onClick: this.handleNavigationClick }, h("br-icon", { iconName: this.getIconForAction(action), width: "20", height: "20", "aria-hidden": "true" })));
|
|
617
716
|
}
|
|
618
|
-
/**
|
|
717
|
+
/**
|
|
718
|
+
* Renderiza o cabeçalho do calendário (navegação, mês e ano).
|
|
719
|
+
* @returns elemento JSX do cabeçalho
|
|
720
|
+
* @internal
|
|
721
|
+
*/
|
|
619
722
|
renderCalendarHeader() {
|
|
620
723
|
return (h("div", { class: "header", part: "header" }, this.renderNavigationButton(NAVIGATION_ACTION.PREVIOUS_MONTH), this.renderMonthSelection(), this.renderYearSelection(), this.renderNavigationButton(NAVIGATION_ACTION.NEXT_MONTH)));
|
|
621
724
|
}
|
|
622
|
-
/**
|
|
725
|
+
/**
|
|
726
|
+
* Renderiza o seletor de mês com rótulo acessível.
|
|
727
|
+
* @returns elemento JSX do seletor de mês
|
|
728
|
+
* @internal
|
|
729
|
+
*/
|
|
623
730
|
renderMonthSelection() {
|
|
624
731
|
return (h("label", { class: "month-selection" }, h("span", { class: "visually-hidden" }, "Selecionar m\u00EAs"), h("select", { onChange: this.handleMonthChange, "aria-label": "Selecionar m\u00EAs", disabled: this.disabled, part: "month-select" }, this.getMonthLabels().map(this.renderMonthOption, this))));
|
|
625
732
|
}
|
|
626
|
-
/**
|
|
733
|
+
/**
|
|
734
|
+
* Renderiza o campo de ano com rótulo acessível.
|
|
735
|
+
* @returns elemento JSX do campo de ano
|
|
736
|
+
* @internal
|
|
737
|
+
*/
|
|
627
738
|
renderYearSelection() {
|
|
628
739
|
return (h("label", { class: "year-selection" }, h("span", { class: "visually-hidden" }, "Selecionar ano"), h("input", { type: "number", value: this.referenceDate.getFullYear(), onChange: this.handleYearChange, "aria-label": "Selecionar ano", disabled: this.disabled, part: "year-input" })));
|
|
629
740
|
}
|
|
630
|
-
/**
|
|
741
|
+
/**
|
|
742
|
+
* Renderiza uma opção do seletor de meses.
|
|
743
|
+
* @param month - label do mês
|
|
744
|
+
* @param index - índice do mês (0-11)
|
|
745
|
+
* @returns elemento `<option>` para o mês
|
|
746
|
+
* @internal
|
|
747
|
+
*/
|
|
631
748
|
renderMonthOption(month, index) {
|
|
632
749
|
return (h("option", { key: `month-${index}`, value: index, selected: index === this.referenceDate.getMonth() }, month));
|
|
633
750
|
}
|
|
634
|
-
/**
|
|
751
|
+
/**
|
|
752
|
+
* Renderiza a estrutura principal do calendário (grade e cabeçalho).
|
|
753
|
+
* @returns elemento JSX com a grade do calendário
|
|
754
|
+
* @internal
|
|
755
|
+
*/
|
|
635
756
|
renderCalendar() {
|
|
636
757
|
const monthLabel = format(this.baseDate, "MMMM 'de' yyyy", { locale: this.dateFnsLocale });
|
|
637
|
-
return (h("div", { class: "calendar", role: "grid", "aria-label": `Calendário de ${monthLabel}`, part: "calendar" }, this.renderWeekdays(), this.renderMonthGrid()));
|
|
758
|
+
return (h(Fragment, null, h("div", { class: "visually-hidden", "aria-live": "polite" }, monthLabel), h("div", { class: "calendar", role: "grid", "aria-label": `Calendário de ${monthLabel}`, part: "calendar" }, this.renderWeekdays(), this.renderMonthGrid())));
|
|
638
759
|
}
|
|
639
|
-
/**
|
|
760
|
+
/**
|
|
761
|
+
* Renderiza os rótulos dos dias da semana.
|
|
762
|
+
* @returns elemento JSX com os cabeçalhos das colunas dos dias
|
|
763
|
+
* @internal
|
|
764
|
+
*/
|
|
640
765
|
renderWeekdays() {
|
|
641
766
|
const labels = this.getWeekdayLabels();
|
|
642
|
-
|
|
767
|
+
const fullNames = getWeekdayFullNames(this.locale, this.weekStartsOn);
|
|
768
|
+
return (h("div", { class: "weekdays", role: "row", tabIndex: -1, part: "weekdays" }, labels.map((label, index) => (h("div", { key: `weekday-${index}`, class: "weekday", role: "columnheader", tabIndex: -1, "aria-label": fullNames[index], part: "weekday" }, label)))));
|
|
643
769
|
}
|
|
644
|
-
/**
|
|
770
|
+
/**
|
|
771
|
+
* Renderiza a grade de dias do mês atual.
|
|
772
|
+
* @returns elemento JSX contendo semanas e dias
|
|
773
|
+
* @internal
|
|
774
|
+
*/
|
|
645
775
|
renderMonthGrid() {
|
|
646
|
-
const
|
|
776
|
+
const interval = this.getMonthViewInterval();
|
|
777
|
+
const dates = eachDayOfInterval(interval);
|
|
778
|
+
const normalizedFocusedDate = this.getNormalizedFocusedDate(interval);
|
|
779
|
+
const today = new Date();
|
|
647
780
|
const weeks = Array.from({ length: Math.ceil(dates.length / 7) }, (_, index) => dates.slice(index * 7, index * 7 + 7));
|
|
648
|
-
return (h("div", { class: "monthdays", role: "rowgroup",
|
|
781
|
+
return (h("div", { class: "monthdays", role: "rowgroup", part: "grid" }, weeks.map((week) => (h("div", { key: `week-${format(week[0], DAY_KEY_FORMAT)}`, class: "week", role: "row", tabIndex: -1 }, week.map((date) => this.renderDayCell(date, normalizedFocusedDate, today)))))));
|
|
649
782
|
}
|
|
650
783
|
/**
|
|
651
|
-
*
|
|
652
|
-
*
|
|
653
|
-
* @param
|
|
784
|
+
* Renderiza uma célula de dia com estado visual apropriado.
|
|
785
|
+
* @param date - data representada pela célula
|
|
786
|
+
* @param normalizedFocusedDate - data de foco normalizada para a grade atual
|
|
787
|
+
* @param today - instante atual compartilhado pela renderização da grade
|
|
788
|
+
* @returns elemento JSX da célula de dia
|
|
789
|
+
* @internal
|
|
654
790
|
*/
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
this.
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
/** Renderiza uma célula de dia com estado visual apropriado. */
|
|
663
|
-
renderDayCell(date) {
|
|
664
|
-
const disabled = this.disabled || this.isDateDisabled(date);
|
|
665
|
-
const isSelected = this.effectiveSelectionMode === 'single' && this.value !== null && isSameDay(date, this.value);
|
|
666
|
-
const isRangeStart = this.effectiveSelectionMode === 'range' && this.rangeStart !== null && isSameDay(date, this.rangeStart);
|
|
667
|
-
const isRangeEnd = this.effectiveSelectionMode === 'range' && this.rangeEnd !== null && isSameDay(date, this.rangeEnd);
|
|
668
|
-
const isActiveDay = isSelected || isRangeStart || isRangeEnd;
|
|
669
|
-
const isFocused = isSameDay(date, this.getNormalizedFocusedDate());
|
|
670
|
-
return (h("div", { key: format(date, 'yyyy-MM-dd'), role: "gridcell", tabIndex: this.disabled ? undefined : isFocused ? 0 : -1, "data-date": format(date, 'yyyy-MM-dd'), class: { ...this.getDayCssClasses(date), disabled }, onClick: disabled ? undefined : this.getDayClickHandler(date), onKeyDown: disabled ? undefined : this.handleGridKeydown, "aria-label": this.getDayCellAriaLabel(date), "aria-selected": isActiveDay ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, part: "day" }, this.getDayWithLeadingZero(date)));
|
|
791
|
+
renderDayCell(date, normalizedFocusedDate, today) {
|
|
792
|
+
const dateKey = format(date, DAY_KEY_FORMAT);
|
|
793
|
+
const disabled = this.disabled || this.disabledDateKeys.has(dateKey);
|
|
794
|
+
const state = this.getDayCellState(date, today);
|
|
795
|
+
const isActiveDay = state.isSelected || state.isRangeStart || state.isRangeEnd;
|
|
796
|
+
const isFocused = isSameDay(date, normalizedFocusedDate);
|
|
797
|
+
return (h("div", { key: dateKey, role: "gridcell", tabIndex: this.disabled ? undefined : isFocused ? 0 : -1, "data-date": dateKey, class: this.getDayCssClasses(state, disabled), onClick: disabled ? undefined : this.handleDayCellClick, onKeyDown: this.handleGridKeydown, "aria-label": this.getDayCellAriaLabel(date, state), "aria-selected": isActiveDay ? 'true' : 'false', "aria-current": state.isToday ? 'date' : null, "aria-disabled": disabled ? 'true' : null, part: "day" }, this.getDayWithLeadingZero(date)));
|
|
671
798
|
}
|
|
672
799
|
render() {
|
|
673
|
-
return (h(Host, { key: '
|
|
800
|
+
return (h(Host, { key: 'd909c9c84061f6b456a0350e2ab3fe6e50cc5d83' }, h("div", { key: 'aba7fc5f0b7bce2a9aa2d95bae9897f138dd8146', class: "br-date-picker", part: "container" }, this.renderCalendarHeader(), this.renderCalendar())));
|
|
674
801
|
}
|
|
675
802
|
static get is() { return "br-date-picker"; }
|
|
676
803
|
static get encapsulation() { return "shadow"; }
|
|
@@ -704,8 +831,11 @@ export class DatePicker {
|
|
|
704
831
|
"required": false,
|
|
705
832
|
"optional": false,
|
|
706
833
|
"docs": {
|
|
707
|
-
"tags": [
|
|
708
|
-
|
|
834
|
+
"tags": [{
|
|
835
|
+
"name": "default",
|
|
836
|
+
"text": "0"
|
|
837
|
+
}],
|
|
838
|
+
"text": "\u00CDndice do dia em que a semana come\u00E7a na interface do calend\u00E1rio."
|
|
709
839
|
},
|
|
710
840
|
"getter": false,
|
|
711
841
|
"setter": false,
|
|
@@ -730,10 +860,10 @@ export class DatePicker {
|
|
|
730
860
|
"optional": false,
|
|
731
861
|
"docs": {
|
|
732
862
|
"tags": [{
|
|
733
|
-
"name": "
|
|
734
|
-
"text": "
|
|
863
|
+
"name": "default",
|
|
864
|
+
"text": "new Date()"
|
|
735
865
|
}],
|
|
736
|
-
"text": "Data usada como base visual para o m\u00EAs atualmente exibido
|
|
866
|
+
"text": "Data usada como base visual para o m\u00EAs atualmente exibido."
|
|
737
867
|
},
|
|
738
868
|
"getter": false,
|
|
739
869
|
"setter": false,
|
|
@@ -756,10 +886,10 @@ export class DatePicker {
|
|
|
756
886
|
"optional": false,
|
|
757
887
|
"docs": {
|
|
758
888
|
"tags": [{
|
|
759
|
-
"name": "
|
|
760
|
-
"text": "
|
|
889
|
+
"name": "default",
|
|
890
|
+
"text": "null"
|
|
761
891
|
}],
|
|
762
|
-
"text": "Data
|
|
892
|
+
"text": "Data atualmente selecionada pelo usu\u00E1rio, ou `null` quando n\u00E3o h\u00E1 sele\u00E7\u00E3o."
|
|
763
893
|
},
|
|
764
894
|
"getter": false,
|
|
765
895
|
"setter": false,
|
|
@@ -783,8 +913,11 @@ export class DatePicker {
|
|
|
783
913
|
"required": false,
|
|
784
914
|
"optional": false,
|
|
785
915
|
"docs": {
|
|
786
|
-
"tags": [
|
|
787
|
-
|
|
916
|
+
"tags": [{
|
|
917
|
+
"name": "default",
|
|
918
|
+
"text": "'single'"
|
|
919
|
+
}],
|
|
920
|
+
"text": "Define se a sele\u00E7\u00E3o ocorre por data \u00FAnica ou por intervalo."
|
|
788
921
|
},
|
|
789
922
|
"getter": false,
|
|
790
923
|
"setter": false,
|
|
@@ -808,7 +941,10 @@ export class DatePicker {
|
|
|
808
941
|
"required": false,
|
|
809
942
|
"optional": false,
|
|
810
943
|
"docs": {
|
|
811
|
-
"tags": [
|
|
944
|
+
"tags": [{
|
|
945
|
+
"name": "default",
|
|
946
|
+
"text": "null"
|
|
947
|
+
}],
|
|
812
948
|
"text": "Data inicial selecionada quando o calend\u00E1rio opera no modo de intervalo."
|
|
813
949
|
},
|
|
814
950
|
"getter": false,
|
|
@@ -831,7 +967,10 @@ export class DatePicker {
|
|
|
831
967
|
"required": false,
|
|
832
968
|
"optional": false,
|
|
833
969
|
"docs": {
|
|
834
|
-
"tags": [
|
|
970
|
+
"tags": [{
|
|
971
|
+
"name": "default",
|
|
972
|
+
"text": "null"
|
|
973
|
+
}],
|
|
835
974
|
"text": "Data final selecionada quando o calend\u00E1rio opera no modo de intervalo."
|
|
836
975
|
},
|
|
837
976
|
"getter": false,
|
|
@@ -857,10 +996,10 @@ export class DatePicker {
|
|
|
857
996
|
"optional": true,
|
|
858
997
|
"docs": {
|
|
859
998
|
"tags": [{
|
|
860
|
-
"name": "
|
|
861
|
-
"text": "
|
|
999
|
+
"name": "default",
|
|
1000
|
+
"text": "undefined"
|
|
862
1001
|
}],
|
|
863
|
-
"text": "Intervalo controlado no modo `range
|
|
1002
|
+
"text": "Intervalo controlado no modo `range`.\nQuando definido, mant\u00E9m `rangeStart` e `rangeEnd` sincronizados."
|
|
864
1003
|
},
|
|
865
1004
|
"getter": false,
|
|
866
1005
|
"setter": false
|
|
@@ -876,8 +1015,11 @@ export class DatePicker {
|
|
|
876
1015
|
"required": false,
|
|
877
1016
|
"optional": false,
|
|
878
1017
|
"docs": {
|
|
879
|
-
"tags": [
|
|
880
|
-
|
|
1018
|
+
"tags": [{
|
|
1019
|
+
"name": "default",
|
|
1020
|
+
"text": "false"
|
|
1021
|
+
}],
|
|
1022
|
+
"text": "Desabilita a intera\u00E7\u00E3o do calend\u00E1rio quando `true`."
|
|
881
1023
|
},
|
|
882
1024
|
"getter": false,
|
|
883
1025
|
"setter": false,
|
|
@@ -902,10 +1044,10 @@ export class DatePicker {
|
|
|
902
1044
|
"optional": false,
|
|
903
1045
|
"docs": {
|
|
904
1046
|
"tags": [{
|
|
905
|
-
"name": "
|
|
906
|
-
"text": "
|
|
1047
|
+
"name": "default",
|
|
1048
|
+
"text": "[]"
|
|
907
1049
|
}],
|
|
908
|
-
"text": "Lista de datas indispon\u00EDveis para sele\u00E7\u00E3o no calend\u00E1rio
|
|
1050
|
+
"text": "Lista de datas indispon\u00EDveis para sele\u00E7\u00E3o no calend\u00E1rio."
|
|
909
1051
|
},
|
|
910
1052
|
"getter": false,
|
|
911
1053
|
"setter": false,
|
|
@@ -922,7 +1064,10 @@ export class DatePicker {
|
|
|
922
1064
|
"required": false,
|
|
923
1065
|
"optional": false,
|
|
924
1066
|
"docs": {
|
|
925
|
-
"tags": [
|
|
1067
|
+
"tags": [{
|
|
1068
|
+
"name": "default",
|
|
1069
|
+
"text": "DATETIME_PICKER_LOCALE.DEFAULT"
|
|
1070
|
+
}],
|
|
926
1071
|
"text": "Locale usado para gerar nomes de meses e dias da semana."
|
|
927
1072
|
},
|
|
928
1073
|
"getter": false,
|
|
@@ -946,7 +1091,7 @@ export class DatePicker {
|
|
|
946
1091
|
"name": "default",
|
|
947
1092
|
"text": "false"
|
|
948
1093
|
}],
|
|
949
|
-
"text": "
|
|
1094
|
+
"text": "Se `true`, o calend\u00E1rio sempre exibe 6 semanas (42 dias); caso contr\u00E1rio, adapta-se ao m\u00EAs."
|
|
950
1095
|
},
|
|
951
1096
|
"getter": false,
|
|
952
1097
|
"setter": false,
|
|
@@ -958,8 +1103,7 @@ export class DatePicker {
|
|
|
958
1103
|
}
|
|
959
1104
|
static get states() {
|
|
960
1105
|
return {
|
|
961
|
-
"focusedDate": {}
|
|
962
|
-
"normalizedDisabledDates": {}
|
|
1106
|
+
"focusedDate": {}
|
|
963
1107
|
};
|
|
964
1108
|
}
|
|
965
1109
|
static get events() {
|
|
@@ -970,12 +1114,27 @@ export class DatePicker {
|
|
|
970
1114
|
"cancelable": true,
|
|
971
1115
|
"composed": true,
|
|
972
1116
|
"docs": {
|
|
973
|
-
"tags": [
|
|
974
|
-
|
|
1117
|
+
"tags": [{
|
|
1118
|
+
"name": "property",
|
|
1119
|
+
"text": "{Date} referenceDate - Data de refer\u00EAncia atual do calend\u00E1rio (segundos/milissegundos zerados)."
|
|
1120
|
+
}, {
|
|
1121
|
+
"name": "property",
|
|
1122
|
+
"text": "{(Date|null)} value - Data selecionada ou `null` quando nenhuma sele\u00E7\u00E3o."
|
|
1123
|
+
}, {
|
|
1124
|
+
"name": "property",
|
|
1125
|
+
"text": "{{start: Date, end: (Date|null)}=} range - Intervalo selecionado quando `selectionMode === 'range'`.\n\nConsumidores usam este evento para sincronizar UI externas e integra\u00E7\u00E3o com formul\u00E1rios."
|
|
1126
|
+
}, {
|
|
1127
|
+
"name": "event",
|
|
1128
|
+
"text": "dateStateChange"
|
|
1129
|
+
}, {
|
|
1130
|
+
"name": "type",
|
|
1131
|
+
"text": "{EventEmitter<DatetimePickerDateState>}"
|
|
1132
|
+
}],
|
|
1133
|
+
"text": "Emite o estado consolidado do componente quando h\u00E1 mudan\u00E7a de refer\u00EAncia/sele\u00E7\u00E3o.\n\nPayload (DatetimePickerDateState):"
|
|
975
1134
|
},
|
|
976
1135
|
"complexType": {
|
|
977
1136
|
"original": "DatetimePickerDateState",
|
|
978
|
-
"resolved": "{ referenceDate: Date; value: Date; range?: DatetimePickerDateRange; rangeDates?: DatetimePickerRangeDateState[]; }",
|
|
1137
|
+
"resolved": "{ referenceDate: Date; value: Date; range?: DatetimePickerDateRange; rangeDates?: DatetimePickerRangeDateState[]; origin?: string; }",
|
|
979
1138
|
"references": {
|
|
980
1139
|
"DatetimePickerDateState": {
|
|
981
1140
|
"location": "import",
|
|
@@ -995,18 +1154,12 @@ export class DatePicker {
|
|
|
995
1154
|
}, {
|
|
996
1155
|
"propName": "value",
|
|
997
1156
|
"methodName": "handleValueChange"
|
|
998
|
-
}, {
|
|
999
|
-
"propName": "referenceDate",
|
|
1000
|
-
"methodName": "handleReferenceDateChange"
|
|
1001
1157
|
}, {
|
|
1002
1158
|
"propName": "weekStartsOn",
|
|
1003
1159
|
"methodName": "handleWeekStartsOnChange"
|
|
1004
1160
|
}, {
|
|
1005
1161
|
"propName": "locale",
|
|
1006
1162
|
"methodName": "handleLocaleChange"
|
|
1007
|
-
}, {
|
|
1008
|
-
"propName": "disabledDates",
|
|
1009
|
-
"methodName": "handleDisabledDatesChange"
|
|
1010
1163
|
}];
|
|
1011
1164
|
}
|
|
1012
1165
|
}
|