@govbr-ds/webcomponents 2.3.0 → 2.4.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/cem/custom-elements.json +1404 -1387
- package/cem/webcomponents.html-custom-data.json +62 -56
- package/dist/cjs/br-avatar.cjs.entry.js +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +2 -2
- package/dist/cjs/br-card.cjs.entry.js +1 -1
- package/dist/cjs/br-carousel-page.cjs.entry.js +1 -1
- package/dist/cjs/br-carousel.cjs.entry.js +1 -1
- package/dist/cjs/br-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-group.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-header.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-link.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar-note.cjs.entry.js +1 -1
- package/dist/cjs/br-cookiebar.cjs.entry.js +1 -1
- package/dist/cjs/br-date-picker_3.cjs.entry.js +868 -516
- package/dist/cjs/br-datetime-picker.cjs.entry.js +1345 -309
- package/dist/cjs/br-divider.cjs.entry.js +1 -1
- package/dist/cjs/br-dropdown_2.cjs.entry.js +248 -129
- package/dist/cjs/br-footer-category.cjs.entry.js +1 -1
- package/dist/cjs/br-footer-item.cjs.entry.js +1 -1
- package/dist/cjs/br-footer-legal.cjs.entry.js +1 -1
- package/dist/cjs/br-footer-logo.cjs.entry.js +1 -1
- package/dist/cjs/br-footer-social.cjs.entry.js +1 -1
- package/dist/cjs/br-footer.cjs.entry.js +1 -1
- package/dist/cjs/br-header-function.cjs.entry.js +1 -1
- package/dist/cjs/br-header-link.cjs.entry.js +1 -1
- package/dist/cjs/br-header-list.cjs.entry.js +1 -1
- package/dist/cjs/br-header-logo.cjs.entry.js +1 -1
- package/dist/cjs/br-header.cjs.entry.js +1 -1
- package/dist/cjs/br-icon.cjs.entry.js +1 -1
- package/dist/cjs/br-input.cjs.entry.js +9 -3
- package/dist/cjs/br-item.cjs.entry.js +1 -1
- package/dist/cjs/br-link.cjs.entry.js +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +1 -1
- package/dist/cjs/br-magic-button.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-header.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-info.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-link.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-list.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-logo.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-social.cjs.entry.js +1 -1
- package/dist/cjs/br-menu.cjs.entry.js +1 -1
- package/dist/cjs/br-modal.cjs.entry.js +1 -1
- package/dist/cjs/br-notification-body.cjs.entry.js +1 -1
- package/dist/cjs/br-notification-header.cjs.entry.js +1 -1
- package/dist/cjs/br-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/br-notification.cjs.entry.js +1 -1
- package/dist/cjs/br-pagination.cjs.entry.js +1 -1
- package/dist/cjs/br-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/br-radio.cjs.entry.js +1 -1
- package/dist/cjs/br-scrim.cjs.entry.js +1 -1
- package/dist/cjs/br-select-input_3.cjs.entry.js +282 -98
- package/dist/cjs/br-sign-in.cjs.entry.js +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +1 -1
- package/dist/cjs/br-skiplink-item.cjs.entry.js +1 -1
- package/dist/cjs/br-slider.cjs.entry.js +1 -1
- package/dist/cjs/br-step_2.cjs.entry.js +2 -2
- package/dist/cjs/br-switch.cjs.entry.js +1 -1
- package/dist/cjs/br-tab-item.cjs.entry.js +1 -1
- package/dist/cjs/br-tab.cjs.entry.js +1 -1
- package/dist/cjs/br-table-body.cjs.entry.js +1 -1
- package/dist/cjs/br-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/br-table-header-cell.cjs.entry.js +1 -1
- package/dist/cjs/br-table-header.cjs.entry.js +1 -1
- package/dist/cjs/br-table-row.cjs.entry.js +1 -1
- package/dist/cjs/br-table.cjs.entry.js +1 -1
- package/dist/cjs/br-tag.cjs.entry.js +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +1 -1
- package/dist/cjs/br-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/br-upload.cjs.entry.js +5 -21
- package/dist/cjs/br-wizard-panel.cjs.entry.js +1 -1
- package/dist/cjs/br-wizard.cjs.entry.js +1 -1
- package/dist/cjs/{datetime-picker-constants-B5pWeOn1.js → datetime-picker-constants-CCeI5iW7.js} +20 -5
- package/dist/cjs/format-bytes-Cs8SH2w0.js +24 -0
- package/dist/cjs/index-Bc30P_6z.js +14 -14
- package/dist/cjs/{index-C92n55ch.js → index-C-IpVFDH.js} +13 -13
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{datetime-picker-props-validation-DmNKSXsy.js → isValid-CduHZTFc.js} +1 -483
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/select.utils-C38f5Kea.js +62 -0
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
- package/dist/collection/components/carousel/carousel.css +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar.css +1 -1
- package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +12 -12
- 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 +384 -280
- 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 +373 -211
- 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 +915 -362
- 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 +148 -85
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +29 -2
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/link/link.css +1 -1
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
- package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
- package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
- package/dist/collection/components/notification/notification.css +1 -1
- package/dist/collection/components/pagination/pagination.css +1 -1
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio-group/radio-group.css +1 -1
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/select/select-input/select-input.css +1 -1
- package/dist/collection/components/select/select-input/select-input.js +123 -17
- package/dist/collection/components/select/select-list/select-list.css +1 -1
- package/dist/collection/components/select/select-list/select-list.js +218 -66
- package/dist/collection/components/select/select-option/select-option.css +1 -1
- package/dist/collection/components/select/select-option/select-option.js +14 -5
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +303 -94
- 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/skip-link/skip-link-item/skip-link-item.css +1 -1
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/table/table-body/table-body.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-header/table-header.css +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/components/br-avatar.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-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-5h-W9_JR.js +5 -0
- package/dist/components/p-848QkYoM.js +5 -0
- package/dist/components/p-B7bNfmgh.js +5 -0
- package/dist/components/p-BFHvuEnN.js +5 -0
- package/dist/components/p-BH6QYnAr.js +5 -0
- package/dist/{webcomponents/p-5f422a69.entry.js → components/p-BcW8O6h2.js} +1 -1
- package/dist/components/p-BicHMcSS.js +5 -0
- package/dist/components/p-Bs7iRQTG.js +5 -0
- package/dist/components/{p-Nze3Utvd.js → p-Bvrw9yWR.js} +1 -1
- package/dist/components/p-BzQFMh9j.js +5 -0
- package/dist/components/p-CBHd0-fF.js +5 -0
- package/dist/components/p-CCPHCJjw.js +5 -0
- package/dist/components/{p-BcqVlof7.js → p-CbgKdASU.js} +1 -1
- package/dist/components/p-CeNELttN.js +5 -0
- package/dist/components/p-CjtmJTLO.js +5 -0
- package/dist/components/{p-CZZVc2gK.js → p-D-3G3Ioq.js} +1 -1
- package/dist/components/p-DDu3JV_r.js +5 -0
- package/dist/components/p-DFWqyfUe.js +5 -0
- package/dist/components/p-DL6xuxGG.js +5 -0
- package/dist/components/p-DOX9Uwk1.js +5 -0
- package/dist/components/p-DUq7uT2-.js +5 -0
- package/dist/components/p-Devw08cc.js +5 -0
- package/dist/components/p-Di96UxvH.js +5 -0
- package/dist/components/p-Dp3MsSXu.js +5 -0
- package/dist/components/p-DsO4F0Cz.js +5 -0
- package/dist/components/p-DuLHFTpa.js +5 -0
- package/dist/components/p-DusornQ0.js +5 -0
- package/dist/components/p-OQpiDEK9.js +5 -0
- package/dist/components/p-PV731d8s.js +5 -0
- package/dist/components/p-XW6Hp_Jk.js +5 -0
- package/dist/components/p-jOb1hCPi.js +5 -0
- package/dist/components/p-rMnkh3Cy.js +5 -0
- package/dist/components/p-ta-24T1Z.js +5 -0
- package/dist/esm/br-avatar.entry.js +1 -1
- package/dist/esm/br-breadcrumb.entry.js +1 -1
- package/dist/esm/br-button_2.entry.js +2 -2
- package/dist/esm/br-card.entry.js +1 -1
- package/dist/esm/br-carousel-page.entry.js +1 -1
- package/dist/esm/br-carousel.entry.js +2 -2
- package/dist/esm/br-checkbox-group.entry.js +1 -1
- package/dist/esm/br-checkbox.entry.js +2 -2
- package/dist/esm/br-collapse_2.entry.js +3 -3
- package/dist/esm/br-cookiebar-cookie.entry.js +1 -1
- package/dist/esm/br-cookiebar-group.entry.js +1 -1
- package/dist/esm/br-cookiebar-header.entry.js +1 -1
- package/dist/esm/br-cookiebar-link.entry.js +1 -1
- package/dist/esm/br-cookiebar-note-group.entry.js +1 -1
- package/dist/esm/br-cookiebar-note.entry.js +1 -1
- package/dist/esm/br-cookiebar.entry.js +2 -2
- package/dist/esm/br-date-picker_3.entry.js +843 -491
- package/dist/esm/br-datetime-picker.entry.js +1314 -278
- package/dist/esm/br-divider.entry.js +1 -1
- package/dist/esm/br-dropdown_2.entry.js +247 -128
- package/dist/esm/br-footer-category.entry.js +1 -1
- package/dist/esm/br-footer-item.entry.js +1 -1
- package/dist/esm/br-footer-legal.entry.js +1 -1
- package/dist/esm/br-footer-logo.entry.js +1 -1
- package/dist/esm/br-footer-social.entry.js +1 -1
- package/dist/esm/br-footer.entry.js +1 -1
- package/dist/esm/br-header-function.entry.js +1 -1
- package/dist/esm/br-header-link.entry.js +1 -1
- package/dist/esm/br-header-list.entry.js +2 -2
- package/dist/esm/br-header-logo.entry.js +1 -1
- package/dist/esm/br-header.entry.js +1 -1
- package/dist/esm/br-icon.entry.js +1 -1
- package/dist/esm/br-input.entry.js +10 -4
- package/dist/esm/br-item.entry.js +1 -1
- package/dist/esm/br-link.entry.js +1 -1
- package/dist/esm/br-loading.entry.js +1 -1
- package/dist/esm/br-magic-button.entry.js +1 -1
- package/dist/esm/br-menu-group.entry.js +1 -1
- package/dist/esm/br-menu-header.entry.js +1 -1
- package/dist/esm/br-menu-info.entry.js +1 -1
- package/dist/esm/br-menu-item.entry.js +1 -1
- package/dist/esm/br-menu-link.entry.js +1 -1
- package/dist/esm/br-menu-list.entry.js +1 -1
- package/dist/esm/br-menu-logo.entry.js +1 -1
- package/dist/esm/br-menu-social.entry.js +1 -1
- package/dist/esm/br-menu.entry.js +2 -2
- package/dist/esm/br-modal.entry.js +1 -1
- package/dist/esm/br-notification-body.entry.js +1 -1
- package/dist/esm/br-notification-header.entry.js +1 -1
- package/dist/esm/br-notification-item.entry.js +1 -1
- package/dist/esm/br-notification.entry.js +2 -2
- package/dist/esm/br-pagination.entry.js +1 -1
- package/dist/esm/br-radio-group.entry.js +2 -2
- package/dist/esm/br-radio.entry.js +2 -2
- package/dist/esm/br-scrim.entry.js +1 -1
- package/dist/esm/br-select-input_3.entry.js +282 -98
- package/dist/esm/br-sign-in.entry.js +1 -1
- package/dist/esm/br-skip-link.entry.js +1 -1
- package/dist/esm/br-skiplink-item.entry.js +1 -1
- package/dist/esm/br-slider.entry.js +2 -2
- package/dist/esm/br-step_2.entry.js +2 -2
- package/dist/esm/br-switch.entry.js +2 -2
- package/dist/esm/br-tab-item.entry.js +1 -1
- package/dist/esm/br-tab.entry.js +1 -1
- package/dist/esm/br-table-body.entry.js +1 -1
- package/dist/esm/br-table-cell.entry.js +1 -1
- package/dist/esm/br-table-header-cell.entry.js +1 -1
- package/dist/esm/br-table-header.entry.js +1 -1
- package/dist/esm/br-table-row.entry.js +1 -1
- package/dist/esm/br-table.entry.js +1 -1
- package/dist/esm/br-tag.entry.js +2 -2
- package/dist/esm/br-textarea.entry.js +2 -2
- package/dist/esm/br-tooltip.entry.js +2 -2
- package/dist/esm/br-upload.entry.js +3 -19
- package/dist/esm/br-wizard-panel.entry.js +1 -1
- package/dist/esm/br-wizard.entry.js +1 -1
- package/dist/esm/{datetime-picker-constants-BtRPYRvA.js → datetime-picker-constants-DDc4sADe.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/index-ConyRdJe.js +14 -14
- package/dist/esm/{index-BQPOWxe5.js → index-CytVKoHT.js} +13 -13
- package/dist/esm/index.js +2 -2
- package/dist/esm/{datetime-picker-props-validation-BeTcUTnE.js → isValid-Bee0Uvqc.js} +2 -477
- package/dist/esm/loader.js +1 -1
- package/dist/esm/select.utils-BYsh2ZdE.js +57 -0
- package/dist/esm/webcomponents.js +1 -1
- package/dist/hydrate/index.js +2979 -1673
- package/dist/hydrate/index.mjs +2979 -1673
- package/dist/types/components/datetime-picker/date-picker/date-picker-locale.d.ts +9 -9
- 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 +264 -161
- 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 +229 -98
- 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 +508 -235
- 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 +126 -55
- package/dist/types/components/input/input.d.ts +9 -1
- package/dist/types/components/input/input.types.d.ts +4 -0
- package/dist/types/components/select/select-input/select-input.d.ts +9 -2
- package/dist/types/components/select/select-list/select-list.d.ts +14 -2
- package/dist/types/components/select/select-option/select-option.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +47 -7
- 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.d.ts +387 -300
- package/dist/webcomponents/index.esm.js +1 -1
- package/dist/webcomponents/p-01801ac1.entry.js +5 -0
- package/dist/webcomponents/p-05b459f2.entry.js +5 -0
- package/dist/webcomponents/p-08ac6f09.entry.js +5 -0
- package/dist/webcomponents/p-09c79c1d.entry.js +5 -0
- package/dist/webcomponents/p-0fc112fc.entry.js +5 -0
- package/dist/webcomponents/p-13babfc4.entry.js +5 -0
- package/dist/webcomponents/p-15022ab7.entry.js +5 -0
- package/dist/webcomponents/p-172d42c2.entry.js +5 -0
- package/dist/webcomponents/p-18cf093a.entry.js +5 -0
- package/dist/webcomponents/p-198aa844.entry.js +5 -0
- package/dist/webcomponents/p-1ba60d13.entry.js +5 -0
- package/dist/webcomponents/p-1bb96641.entry.js +5 -0
- package/dist/webcomponents/{p-82759002.entry.js → p-20477061.entry.js} +1 -1
- package/dist/webcomponents/p-21feda62.entry.js +5 -0
- package/dist/webcomponents/p-23a5cfd7.entry.js +5 -0
- package/dist/webcomponents/{p-0b0cf355.entry.js → p-2c8595d3.entry.js} +1 -1
- package/dist/webcomponents/{p-76d51654.entry.js → p-31a4694a.entry.js} +1 -1
- package/dist/webcomponents/p-32ea6342.entry.js +5 -0
- package/dist/webcomponents/p-3658adcf.entry.js +5 -0
- package/dist/webcomponents/p-37914e63.entry.js +5 -0
- package/dist/webcomponents/p-3b0dd0ff.entry.js +5 -0
- package/dist/webcomponents/p-42b60169.entry.js +5 -0
- package/dist/webcomponents/p-42c9c6c5.entry.js +5 -0
- package/dist/{components/p-DOJ1vYOl.js → webcomponents/p-473561f2.entry.js} +1 -1
- package/dist/webcomponents/p-47c490ef.entry.js +5 -0
- package/dist/webcomponents/p-4b01c60f.entry.js +5 -0
- package/dist/webcomponents/p-5a5ed7d8.entry.js +5 -0
- package/dist/webcomponents/p-609cf652.entry.js +5 -0
- package/dist/webcomponents/p-614683d9.entry.js +5 -0
- package/dist/webcomponents/p-67605757.entry.js +5 -0
- package/dist/webcomponents/p-67774920.entry.js +5 -0
- package/dist/webcomponents/p-67d62559.entry.js +5 -0
- package/dist/webcomponents/{p-4118b878.entry.js → p-695dbeb0.entry.js} +1 -1
- package/dist/webcomponents/{p-CfuJQ1DY.js → p-6Da1SZ3J.js} +1 -1
- package/dist/webcomponents/p-6a293be8.entry.js +5 -0
- package/dist/webcomponents/{p-d5d2205c.entry.js → p-6f1a4fbe.entry.js} +1 -1
- package/dist/webcomponents/p-7352d459.entry.js +5 -0
- package/dist/webcomponents/p-745213f7.entry.js +5 -0
- package/dist/webcomponents/p-794b701b.entry.js +5 -0
- package/dist/webcomponents/p-7ee564a1.entry.js +5 -0
- package/dist/webcomponents/{p-6850e98e.entry.js → p-7fda8b89.entry.js} +1 -1
- package/dist/webcomponents/p-8116ee93.entry.js +5 -0
- package/dist/webcomponents/p-821341dc.entry.js +5 -0
- package/dist/webcomponents/p-8aa6f07c.entry.js +5 -0
- package/dist/webcomponents/p-8ddf3ce3.entry.js +5 -0
- package/dist/webcomponents/p-95f3c44a.entry.js +5 -0
- package/dist/webcomponents/p-96dbb585.entry.js +5 -0
- package/dist/webcomponents/p-9815ab95.entry.js +5 -0
- package/dist/webcomponents/{p-b02a7218.entry.js → p-9e0324a7.entry.js} +1 -1
- package/dist/webcomponents/p-B7bNfmgh.js +5 -0
- package/dist/webcomponents/p-BYsh2ZdE.js +5 -0
- package/dist/webcomponents/p-CJipT0in.js +5 -0
- package/dist/webcomponents/{p-BtRPYRvA.js → p-DDc4sADe.js} +1 -1
- package/dist/webcomponents/p-a038be16.entry.js +5 -0
- package/dist/webcomponents/p-a32d17cb.entry.js +5 -0
- package/dist/webcomponents/p-a46f068e.entry.js +5 -0
- package/dist/webcomponents/p-a89b684d.entry.js +5 -0
- package/dist/webcomponents/{p-0d2ca2f7.entry.js → p-ac68355e.entry.js} +1 -1
- package/dist/webcomponents/{p-61977114.entry.js → p-af888d13.entry.js} +1 -1
- package/dist/webcomponents/p-b0124459.entry.js +5 -0
- package/dist/webcomponents/p-b063c12f.entry.js +5 -0
- package/dist/webcomponents/p-b07bfdc5.entry.js +5 -0
- package/dist/webcomponents/{p-c1dafd8d.entry.js → p-b5d25332.entry.js} +1 -1
- package/dist/webcomponents/p-b609b464.entry.js +5 -0
- package/dist/webcomponents/p-b66ab52d.entry.js +5 -0
- package/dist/webcomponents/p-b8d4ace3.entry.js +5 -0
- package/dist/webcomponents/p-c717c745.entry.js +5 -0
- package/dist/webcomponents/p-d08b6266.entry.js +5 -0
- package/dist/webcomponents/p-d6165aa0.entry.js +5 -0
- package/dist/webcomponents/{p-14ff5865.entry.js → p-dacb7e2c.entry.js} +1 -1
- package/dist/webcomponents/p-db309a11.entry.js +5 -0
- package/dist/webcomponents/{p-19a38e20.entry.js → p-dc23cb2e.entry.js} +1 -1
- package/dist/webcomponents/p-e241caf3.entry.js +5 -0
- package/dist/webcomponents/p-e661c024.entry.js +5 -0
- package/dist/webcomponents/p-e7107869.entry.js +5 -0
- package/dist/webcomponents/p-eb94199d.entry.js +5 -0
- package/dist/webcomponents/{p-e07e309d.entry.js → p-f8993ae4.entry.js} +1 -1
- package/dist/webcomponents/{p-513ee754.entry.js → p-f99d8c9c.entry.js} +1 -1
- package/dist/webcomponents/{p-DV-iW9Aj.js → p-fOJu6uZR.js} +1 -1
- package/dist/webcomponents/{p-b16590fc.entry.js → p-fb76b1e0.entry.js} +1 -1
- package/dist/webcomponents/p-fdcb54a3.entry.js +5 -0
- package/dist/webcomponents/{p-94848046.entry.js → p-fed02286.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +2 -2
- 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-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-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-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-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-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-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-e53d874b.entry.js +0 -5
- package/dist/webcomponents/p-e5540387.entry.js +0 -5
- package/dist/webcomponents/p-e94a52ac.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
|
@@ -1020,21 +1020,21 @@
|
|
|
1020
1020
|
},
|
|
1021
1021
|
{
|
|
1022
1022
|
"name": "br-datetime-picker",
|
|
1023
|
-
"description": "O
|
|
1023
|
+
"description": "O `br-datetime-picker` é o controle completo do GovBR-DS para digitação e seleção visual de datas e horários. Orquestra o campo textual e os seletores internos, consolidando valor, validação e integração com formulários HTML.\n\n### Para que serve\n\n- Oferece os modos `date`, `time` e `datetime`, com seleção única (`single`) ou de intervalo (`range`).\n- Combina edição textual com máscara, calendário e ajuste de horas e minutos conforme o modo escolhido.\n- Centraliza restrições de seleção, validação e submissão do valor por meio de `formAssociated`.\n\n### Quando utilizar\n\n- Utilize quando o formulário precisar de um controle completo de data ou horário com digitação e seleção visual.\n- Utilize para períodos com início e fim, inclusive com horários nos modos `time` e `datetime`.\n- Evite quando precisar apenas apresentar uma data: prefira texto formatado.\n- Para um calendário permanentemente visível sem o campo textual, considere `br-date-picker`; a aplicação assume a integração com o restante do formulário.\n- A seleção não oferece uma coleção de datas independentes: use `single` para um valor ou `range` para um intervalo.\n\n### Composição e Subcomponentes\n\n| Componente | Papel | Regra de uso |\n| --- | --- | --- |\n| `br-datetime-picker` | Orquestrador do valor consolidado, validação, formulário e abertura do painel. | Declare este controle no template para obter a composição completa. |\n| `br-datetime-input` | Campo textual com máscara, interpretação da entrada e ação de abertura do painel. | Instanciado internamente pelo pai; não deve ser fornecido em slot. |\n| `br-date-picker` | Calendário para navegação e seleção de data única ou intervalo. | Criado pelo pai nos modos `date` e `datetime`; pode ser usado isoladamente como calendário embutido. |\n| `br-time-picker` | Controles de hora e minuto. | Criado pelo pai nos modos `time` e `datetime`, com uma instância por limite quando a seleção é `range`. |\n\nO slot `feedback` recebe conteúdo declarativo de validação, normalmente um `br-message`; não substitui os seletores internos.\n\n### Como os subcomponentes se relacionam\n\nO pai fornece valores e configurações aos filhos por propriedades e consolida suas alterações por eventos DOM. O campo textual solicita a abertura do painel; o calendário e os controles de horário atualizam a seleção compartilhada, sem coordenar diretamente uns aos outros.\n\n`referenceDate` representa a referência de navegação visual, distinta da seleção efetiva. O orquestrador mantém o campo textual, os seletores e o valor de formulário sincronizados. A aplicação consome o valor e os eventos do pai, incluindo `brDatetimePickerChange` para a seleção completa e tipada.\n\nO uso isolado dos filhos exige que a aplicação assuma a coordenação de estado, validação e formulário; eles não herdam a associação nativa ao formulário do `br-datetime-picker`.\n\nPara a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/datetimepicker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento público emitido quando a data de referência ou a seleção mudam.\n\nPayload (`DatetimePickerDateState`):\n- `referenceDate`: Date — data usada para navegação visual (mês/semana exibidos).\n- `value`: Date | null — valor selecionado atualmente.\n- **brDatetimePickerChange** - Evento público canônico emitido quando a seleção muda.\n\nPayload (`DatetimePickerChangeDetail`):\n- `mode`: DatetimePickerMode — modo atual do componente (`date` | `time` | `datetime`).\n- `selectionMode`: DatetimePickerSelectionMode — `single` ou `range`.\n- `value`: Date | null | DatetimePickerDateRange — seleção atual (tipo depende de `selectionMode`).\n- `serializedValue`: string | undefined — representação serializada para integração com formulários.\n- **valueChange** - Evento emitido quando o valor selecionado muda.\n- **brDatetimePickerValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\nPayload (`FormValidationChangeDetail`):\n- `validating`: boolean — indica se a validação está em execução.\n- `valid`: boolean | null — resultado da validação (`null` enquanto valida).\n- `message`: string | null — mensagem de validação associada.\n\n### **Methods:**\n - **handleModeChange(newValue: _string_)** - Revalida o modo sempre que a prop mudar.\n- **handleRequiredChange()** - Revalida o estado do formulário quando required mudar.\n- **handleDisabledChange()** - Exclui o valor do FormData enquanto o componente estiver desabilitado.\n- **handleSelectionModeChange(newValue: _DatetimePickerSelectionMode_)** - Reage a mudanças no modo de seleção e limpa intervalo quando necessário.\n- **handleWeekStartsOnChange(newValue: _DatetimePickerWeekDayIndex_)** - Revalida o dia inicial da semana sempre que a prop mudar.\n- **handleInitialMomentChange(newValue: _DatetimePickerInitialMoment_)** - Aplica ou limpa a seleção da data atual conforme o novo valor da prop.\n- **handleValueChange(newValue: _Date | null_)** - Sincroniza alterações externas do valor com o estado visual e o formulário nativo.\n- **handleSerializedValueChange(newValue: _string_)** - Converte alterações externas no valor serializado sem mudar o tipo da prop legada `value`.\n- **handleValueAsDateChange(newValue: _Date | null_)** - Mantém `valueAsDate` e a prop legada `value` apontando para o mesmo estado observável.\n- **handleDisabledDatesChange(newValue: _DatetimePickerDisabledDates_)** - Recalcula a lista de datas desabilitadas quando a prop mudar.\n- **formResetCallback()** - Restaura o estado do componente quando o formulário é restaurado.\n- **formStateRestoreCallback(state: _string | File | FormData | null_)** - Restaura o estado do formulário (autofill / histórico).\n- **setDisabledDates(dates: _DatetimePickerDisabledDate[] | null_): _Promise<void>_** - Define programaticamente as datas desabilitadas.\n\nUse quando scripts externos precisam fornecer uma lista tipada de\ndatas a bloquear no calendário. Substitui a prop `disabledDates` para\natualizações imperativas.\n- **setValue(value: _Date | string | null_): _Promise<void>_** - Define o valor do componente de forma imperativa.\n\nAceita `Date`, string compatível com o `mode`, ou `null` para limpar a seleção.\nValidação de datas desabilitadas é aplicada antes da atribuição.\n- **getValue(): _Promise<Date | null>_** - Retorna uma cópia do valor selecionado atualmente.\n- **clear(): _Promise<void>_** - Limpa valor e intervalo selecionados.\n\nRemove seleção atual e restaura a referência de navegação para a data atual.\n- **open(): _Promise<void>_** - Abre o picker quando o componente estiver habilitado.\n- **close(): _Promise<void>_** - Fecha o picker.\n- **toggle(): _Promise<void>_** - Alterna o estado de abertura do picker.\n- **focusInput(): _Promise<void>_** - Move o foco para o input nativo interno.\n- **setRange(start: _Date | string | null_, end: _Date | string | null_): _Promise<void>_** - Define um intervalo no modo atual e ativa `selectionMode=\"range\"`.\n\nValida datas contra bloqueios e sincroniza estado visual e de formulário.\nEm `datetime`, mantém os limites informados e sinaliza intervalo inválido\nquando o término precede o início, sem ajustar datas automaticamente.\n- **getRange(): _Promise<{ start: Date | null; end: Date | null } | null>_** - Retorna o intervalo de datas selecionado quando em modo `selectionMode=\"range\"`.\n- **isOpen(): _Promise<boolean>_** - Consulta se o picker está atualmente aberto.\n- **resetToInitial(): _Promise<void>_** - Restaura o estado inicial atualmente registrado para reset.\n- **checkValidity(): _Promise<boolean>_** - Permite que consumidores acionem validação nativa do formulário via host.\n- **reportValidity(): _Promise<boolean>_** - Permite exibir mensagens nativas de validação no host.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define ou limpa uma mensagem de validade customizada.\n- **validate(): _Promise<boolean>_** - Executa o validator customizado (se houver) e valida o controle.\n\nEmite eventos de início/conclusão da validação e atualiza mensagens internas.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **render()** - Renderização principal do componente.\n\n### **Slots:**\n - **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do seletor.\n- **panel** - Parte para o painel em forma de card que engloba o seletor.\n- **input-container** - Container base do campo de entrada interno.\n- **input-field** - Campo textual interno.\n- **input-icon** - Ícone de ação (calendário/relógio).\n- **feedback** - Contêiner da mensagem de validação.",
|
|
1024
1024
|
"attributes": [
|
|
1025
1025
|
{
|
|
1026
1026
|
"name": "mode",
|
|
1027
|
-
"description": "
|
|
1027
|
+
"description": "Modo exibido pelo componente.\n\nValores: `date` | `time` | `datetime`.\nValores inválidos são normalizados para o padrão.",
|
|
1028
1028
|
"values": [{ "name": "DatetimePickerMode" }]
|
|
1029
1029
|
},
|
|
1030
1030
|
{
|
|
1031
1031
|
"name": "locale",
|
|
1032
|
-
"description": "
|
|
1032
|
+
"description": "Locale usado para formatação e rótulos.",
|
|
1033
1033
|
"values": [{ "name": "DatetimePickerLocale" }]
|
|
1034
1034
|
},
|
|
1035
1035
|
{
|
|
1036
1036
|
"name": "placeholder",
|
|
1037
|
-
"description": "
|
|
1037
|
+
"description": "Texto placeholder exibido no input.",
|
|
1038
1038
|
"values": []
|
|
1039
1039
|
},
|
|
1040
1040
|
{
|
|
@@ -1044,72 +1044,68 @@
|
|
|
1044
1044
|
},
|
|
1045
1045
|
{
|
|
1046
1046
|
"name": "required",
|
|
1047
|
-
"description": "Indica se o campo
|
|
1047
|
+
"description": "Indica se o campo é requerido para submissão do formulário.",
|
|
1048
1048
|
"values": []
|
|
1049
1049
|
},
|
|
1050
1050
|
{
|
|
1051
1051
|
"name": "min",
|
|
1052
|
-
"description": "Menor data/
|
|
1052
|
+
"description": "Menor data/hora aceito (Date | string | null).",
|
|
1053
1053
|
"values": [{ "name": "Date" }]
|
|
1054
1054
|
},
|
|
1055
1055
|
{
|
|
1056
1056
|
"name": "max",
|
|
1057
|
-
"description": "Maior data/
|
|
1057
|
+
"description": "Maior data/hora aceito (Date | string | null).",
|
|
1058
1058
|
"values": [{ "name": "Date" }]
|
|
1059
1059
|
},
|
|
1060
1060
|
{
|
|
1061
1061
|
"name": "validator",
|
|
1062
|
-
"description": "
|
|
1062
|
+
"description": "Validador customizado (síncrono ou assíncrono) para a seleção.\n\nRecebe `Date | DatetimePickerDateRange | null` como valor.",
|
|
1063
1063
|
"values": [{ "name": "DatetimePickerValidator" }]
|
|
1064
1064
|
},
|
|
1065
1065
|
{
|
|
1066
1066
|
"name": "selection-mode",
|
|
1067
|
-
"description": "
|
|
1067
|
+
"description": "Tipo de seleção: `single` ou `range`.",
|
|
1068
1068
|
"values": [{ "name": "DatetimePickerSelectionMode" }]
|
|
1069
1069
|
},
|
|
1070
1070
|
{
|
|
1071
1071
|
"name": "week-starts-on",
|
|
1072
|
-
"description": "
|
|
1072
|
+
"description": "Dia inicial da semana exibido no calendário (0 = Dom, 6 = Sáb).",
|
|
1073
1073
|
"values": [{ "name": "DatetimePickerWeekDayIndex" }]
|
|
1074
1074
|
},
|
|
1075
1075
|
{
|
|
1076
1076
|
"name": "initial-moment",
|
|
1077
|
-
"description": "
|
|
1077
|
+
"description": "Valor inicial da seleção: `'now' | Date | string | null`.",
|
|
1078
1078
|
"values": [{ "name": "DatetimePickerInitialMoment" }]
|
|
1079
1079
|
},
|
|
1080
1080
|
{
|
|
1081
1081
|
"name": "value",
|
|
1082
|
-
"description": "
|
|
1082
|
+
"description": "Valor selecionado pelo usuário (Date | null).\n\nPode ser controlado externamente e é refletido internamente.",
|
|
1083
1083
|
"values": [{ "name": "Date" }]
|
|
1084
1084
|
},
|
|
1085
1085
|
{
|
|
1086
1086
|
"name": "serialized-value",
|
|
1087
|
-
"description": "Representação serializada compatível com
|
|
1087
|
+
"description": "Representação serializada compatível com controles HTML.\n\nFormatos variam conforme `mode`. Em intervalos, usa `início/fim`.",
|
|
1088
1088
|
"values": []
|
|
1089
1089
|
},
|
|
1090
|
-
{
|
|
1091
|
-
"name": "value-as-date",
|
|
1092
|
-
"description": "Espelho tipado da seleção atual, equivalente ao padrão `valueAsDate` dos controles HTML.\nDiferentemente de `serializedValue`, recebe e retorna uma instância de `Date`.\nNa inicialização, tem precedência sobre `value` e `initialMoment` quando `serializedValue`\nnão é informado. `null` inicia sem seleção; `undefined` permite usar as outras props.",
|
|
1093
|
-
"values": [{ "name": "Date" }]
|
|
1094
|
-
},
|
|
1090
|
+
{ "name": "value-as-date", "values": [{ "name": "Date" }] },
|
|
1095
1091
|
{
|
|
1096
1092
|
"name": "range-value",
|
|
1097
|
-
"description": "Intervalo controlado quando `selectionMode=\"range\"`.\
|
|
1093
|
+
"description": "Intervalo controlado quando `selectionMode=\"range\"`.\n\nEm `datetime`, preserva as datas e horários informados; término anterior ao\ninício torna o controle inválido, sem reordenar ou avançar datas.",
|
|
1098
1094
|
"values": [{ "name": "DatetimePickerDateRange" }]
|
|
1099
1095
|
},
|
|
1100
1096
|
{
|
|
1101
1097
|
"name": "disabled",
|
|
1102
|
-
"description": "Desabilita toda a interação do componente
|
|
1098
|
+
"description": "Desabilita toda a interação do componente.",
|
|
1103
1099
|
"values": []
|
|
1104
1100
|
},
|
|
1105
1101
|
{
|
|
1106
1102
|
"name": "disabled-dates",
|
|
1107
|
-
"description": "
|
|
1103
|
+
"description": "Datas indisponíveis para seleção. Aceita `Date[]`, `string` ou `null`.\n\nDatas inválidas são ignoradas. A comparação considera apenas o dia.",
|
|
1108
1104
|
"values": [{ "name": "DatetimePickerDisabledDates" }]
|
|
1109
1105
|
},
|
|
1110
1106
|
{
|
|
1111
1107
|
"name": "fixed-row-count",
|
|
1112
|
-
"description": "
|
|
1108
|
+
"description": "Mantém número fixo de linhas no calendário (6 semanas) quando `true`.",
|
|
1113
1109
|
"values": []
|
|
1114
1110
|
}
|
|
1115
1111
|
],
|
|
@@ -1117,26 +1113,26 @@
|
|
|
1117
1113
|
},
|
|
1118
1114
|
{
|
|
1119
1115
|
"name": "br-date-picker",
|
|
1120
|
-
"description": "
|
|
1116
|
+
"description": "O `br-date-picker` é o subcomponente de calendário do `br-datetime-picker`, responsável pela seleção visual de uma data ou de um intervalo.\n\n### Papel na composição\n\nExibe a grade mensal, a navegação entre meses e anos e os estados de seleção e bloqueio dos dias. `referenceDate` determina o período exibido, enquanto `value` e os limites do intervalo representam a seleção.\n\n### Regra de uso e relacionamento\n\nO `br-datetime-picker` instancia e configura este calendário internamente nos modos `date` e `datetime`, recebendo suas alterações pelo evento `dateStateChange`. Não declare o calendário em um slot do pai.\n\nUse diretamente quando precisar de um calendário embutido e permanentemente visível. Nesse caso, a aplicação deve coordenar valores e eventos e implementar a integração com formulários e a validação do fluxo completo. O calendário isolado não fornece o campo textual, o seletor de horários nem a associação ao formulário do orquestrador.\n\nPara a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/date-picker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Emite o estado consolidado do componente quando há mudança de referência/seleção.\n\nPayload (DatetimePickerDateState):\n\n### **Methods:**\n - **handleValueChange(newValue: _Date | null_)** - Sincroniza `focusedDate` quando o valor selecionado muda externamente.\n- **handleWeekStartsOnChange(newValue: _number_)** - Revalida a configuração quando o início da semana muda.\n- **handleLocaleChange(newValue: _string_)** - Revalida o locale quando a prop muda.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do calendário.\n- **header** - Cabeçalho do calendário (contendo navegação e seleção de mês/ano).\n- **month-select** - Elemento de seleção do mês.\n- **year-input** - Elemento de entrada do ano.\n- **calendar** - Grade geral do calendário.\n- **weekdays** - Container para os rótulos dos dias da semana.\n- **weekday** - Rótulo individual do dia da semana.\n- **grid** - Grade de dias do mês.\n- **day** - Célula individual do dia no calendário.",
|
|
1121
1117
|
"attributes": [
|
|
1122
1118
|
{
|
|
1123
1119
|
"name": "week-starts-on",
|
|
1124
|
-
"description": "
|
|
1120
|
+
"description": "Índice do dia em que a semana começa na interface do calendário.",
|
|
1125
1121
|
"values": [{ "name": "WeekDayIndex" }]
|
|
1126
1122
|
},
|
|
1127
1123
|
{
|
|
1128
1124
|
"name": "reference-date",
|
|
1129
|
-
"description": "Data usada como base visual para o mês atualmente exibido
|
|
1125
|
+
"description": "Data usada como base visual para o mês atualmente exibido.",
|
|
1130
1126
|
"values": [{ "name": "Date" }]
|
|
1131
1127
|
},
|
|
1132
1128
|
{
|
|
1133
1129
|
"name": "value",
|
|
1134
|
-
"description": "Data
|
|
1130
|
+
"description": "Data atualmente selecionada pelo usuário, ou `null` quando não há seleção.",
|
|
1135
1131
|
"values": [{ "name": "Date" }]
|
|
1136
1132
|
},
|
|
1137
1133
|
{
|
|
1138
1134
|
"name": "selection-mode",
|
|
1139
|
-
"description": "Define se a seleção ocorre por data única ou por intervalo.
|
|
1135
|
+
"description": "Define se a seleção ocorre por data única ou por intervalo.",
|
|
1140
1136
|
"values": [{ "name": "DatetimePickerSelectionMode" }]
|
|
1141
1137
|
},
|
|
1142
1138
|
{
|
|
@@ -1151,17 +1147,17 @@
|
|
|
1151
1147
|
},
|
|
1152
1148
|
{
|
|
1153
1149
|
"name": "range-value",
|
|
1154
|
-
"description": "Intervalo controlado no modo `range
|
|
1150
|
+
"description": "Intervalo controlado no modo `range`.\nQuando definido, mantém `rangeStart` e `rangeEnd` sincronizados.",
|
|
1155
1151
|
"values": [{ "name": "DatetimePickerDateRange" }]
|
|
1156
1152
|
},
|
|
1157
1153
|
{
|
|
1158
1154
|
"name": "disabled",
|
|
1159
|
-
"description": "Desabilita a interação do calendário quando
|
|
1155
|
+
"description": "Desabilita a interação do calendário quando `true`.",
|
|
1160
1156
|
"values": []
|
|
1161
1157
|
},
|
|
1162
1158
|
{
|
|
1163
1159
|
"name": "disabled-dates",
|
|
1164
|
-
"description": "Lista de datas indisponíveis para seleção no calendário
|
|
1160
|
+
"description": "Lista de datas indisponíveis para seleção no calendário.",
|
|
1165
1161
|
"values": [{ "name": "Date[]" }]
|
|
1166
1162
|
},
|
|
1167
1163
|
{
|
|
@@ -1171,7 +1167,7 @@
|
|
|
1171
1167
|
},
|
|
1172
1168
|
{
|
|
1173
1169
|
"name": "fixed-row-count",
|
|
1174
|
-
"description": "
|
|
1170
|
+
"description": "Se `true`, o calendário sempre exibe 6 semanas (42 dias); caso contrário, adapta-se ao mês.",
|
|
1175
1171
|
"values": []
|
|
1176
1172
|
}
|
|
1177
1173
|
],
|
|
@@ -1179,51 +1175,51 @@
|
|
|
1179
1175
|
},
|
|
1180
1176
|
{
|
|
1181
1177
|
"name": "br-datetime-input",
|
|
1182
|
-
"description": "
|
|
1178
|
+
"description": "O `br-datetime-input` é o subcomponente de edição textual do `br-datetime-picker`, com máscara, interpretação de datas e horários e validação local sobre um `br-input` interno.\n\n### Papel na composição\n\nExibe e permite editar a seleção única ou os limites de um intervalo nos modos `date`, `time` e `datetime`. Comunica alterações por `dateStateChange`, informa a validação local por `inputValidationChange` e solicita a abertura ou o fechamento do painel por `togglePicker`.\n\n### Regra de uso e relacionamento\n\nO `br-datetime-picker` instancia este campo internamente e fornece valores e configurações por propriedades. O pai coordena a seleção com o calendário e os controles de horário; o campo não abre esses seletores por conta própria nem deve ser fornecido em slot.\n\nPrefira o `br-datetime-picker` para o controle completo. Use o campo isoladamente apenas em composições personalizadas nas quais a aplicação assuma a sincronização de estado, o tratamento dos eventos e a integração com formulários. Este subcomponente não possui a associação nativa ao formulário do orquestrador.\n\nConsulte também as [diretrizes de design do GovBR](https://www.gov.br/ds/components/datetime?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento emitido quando o estado de data/hora muda (após commit ou parsing).\n\nPayload (`detail`):\n- **togglePicker** - Emite uma solicitação ao componente pai para alternar a abertura do picker.\nEmite sem payload.\n- **inputValidationChange** - Emite validação do texto digitado sem alterar o valor selecionado.\n\nPayload (`detail`):\n\n### **Methods:**\n - **handleRangeValueChange(newValue: _DatetimePickerDateRange | undefined_): _void_** - Watcher: sincroniza `rangeStart`/`rangeEnd` a partir de `rangeValue` controlado.\n- **handleValueChange(newValue: _Date | null_): _void_** - Watcher: reage a mudanças externas em `value`, normalizando e sincronizando\no texto exibido no input.\n- **handleModeChange(newValue: _string_): _void_** - Watcher: aplica normalização do `mode` e atualiza a máscara/valor exibido.\n- **handleReferenceDateChange(newValue: _Date_): _void_** - Watcher: valida `referenceDate` e resina o input quando não há seleção.\n- **handleRangeStartChange(newValue): _void_** - Watcher: atualiza a representação textual quando o início do range muda.\n- **handleRangeEndChange(newValue): _void_** - Watcher: atualiza a representação textual quando o fim do range muda.\n- **render()** - Renderização principal do componente.\n\n### **CSS Parts:**\n - **container** - Container do campo.\n- **input** - Elemento de entrada textual interno.\n- **icon** - Ícone de ação (calendário/relógio).",
|
|
1183
1179
|
"attributes": [
|
|
1184
1180
|
{
|
|
1185
1181
|
"name": "placeholder",
|
|
1186
|
-
"description": "
|
|
1182
|
+
"description": "Texto de placeholder exibido quando o campo estiver vazio.",
|
|
1187
1183
|
"values": []
|
|
1188
1184
|
},
|
|
1189
1185
|
{
|
|
1190
1186
|
"name": "mode",
|
|
1191
|
-
"description": "
|
|
1187
|
+
"description": "Modo de entrada que controla máscara, parser e formato exibido.",
|
|
1192
1188
|
"values": [{ "name": "DatetimePickerMode" }]
|
|
1193
1189
|
},
|
|
1194
1190
|
{
|
|
1195
1191
|
"name": "reference-date",
|
|
1196
|
-
"description": "Data de referência
|
|
1192
|
+
"description": "Data de referência usada para navegação e preenchimento de valores parciais.",
|
|
1197
1193
|
"values": [{ "name": "Date" }]
|
|
1198
1194
|
},
|
|
1199
1195
|
{
|
|
1200
1196
|
"name": "value",
|
|
1201
|
-
"description": "
|
|
1197
|
+
"description": "Valor atualmente selecionado pelo componente.",
|
|
1202
1198
|
"values": [{ "name": "Date" }]
|
|
1203
1199
|
},
|
|
1204
1200
|
{
|
|
1205
1201
|
"name": "disabled",
|
|
1206
|
-
"description": "
|
|
1202
|
+
"description": "Controla os estados de read-only ou bloqueio de formulário.",
|
|
1207
1203
|
"values": []
|
|
1208
1204
|
},
|
|
1209
1205
|
{
|
|
1210
1206
|
"name": "selection-mode",
|
|
1211
|
-
"description": "Define
|
|
1207
|
+
"description": "Define o modo de seleção: `single` (valor único) ou `range` (intervalo).",
|
|
1212
1208
|
"values": [{ "name": "DatetimePickerSelectionMode" }]
|
|
1213
1209
|
},
|
|
1214
1210
|
{
|
|
1215
1211
|
"name": "range-start",
|
|
1216
|
-
"description": "
|
|
1212
|
+
"description": "Início do intervalo em `selectionMode === 'range'`.",
|
|
1217
1213
|
"values": [{ "name": "Date" }]
|
|
1218
1214
|
},
|
|
1219
1215
|
{
|
|
1220
1216
|
"name": "range-end",
|
|
1221
|
-
"description": "
|
|
1217
|
+
"description": "Fim do intervalo em `selectionMode === 'range'`.",
|
|
1222
1218
|
"values": [{ "name": "Date" }]
|
|
1223
1219
|
},
|
|
1224
1220
|
{
|
|
1225
1221
|
"name": "range-value",
|
|
1226
|
-
"description": "Intervalo controlado no modo `range
|
|
1222
|
+
"description": "Intervalo controlado no modo `range` como objeto `{ start, end }`.",
|
|
1227
1223
|
"values": [{ "name": "DatetimePickerDateRange" }]
|
|
1228
1224
|
}
|
|
1229
1225
|
],
|
|
@@ -1231,21 +1227,21 @@
|
|
|
1231
1227
|
},
|
|
1232
1228
|
{
|
|
1233
1229
|
"name": "br-time-picker",
|
|
1234
|
-
"description": "
|
|
1230
|
+
"description": "O `br-time-picker` é o subcomponente de ajuste de horas e minutos do `br-datetime-picker`.\n\n### Papel na composição\n\nOferece campos textuais e botões de incremento e decremento para hora e minuto. Usa uma data de referência e comunica alterações por `dateStateChange`; não coordena diretamente o calendário nem o campo textual principal.\n\n### Regra de uso e relacionamento\n\nO `br-datetime-picker` instancia e sincroniza este seletor nos modos `time` e `datetime`. Na seleção de intervalo, o pai cria dois seletores, um para o início e outro para o fim, e consolida os respectivos valores. Não forneça seletores de horário em slots do pai.\n\nPrefira o orquestrador para um controle completo de horário com campo textual e formulário. Use diretamente apenas quando precisar dos controles de hora e minuto em uma composição personalizada e assumir a sincronização de estado, a validação e a integração com formulários. O uso isolado não herda a associação nativa ao formulário do pai.\n\nConsulte também as [diretrizes de design do GovBR](https://www.gov.br/ds/components/time-picker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento emitido sempre que `referenceDate` ou `value` são atualizados.\n\nO `detail` segue a forma de `DatetimePickerDateState` e contém o estado\ncompartilhado entre subcomponentes de data e horário.\n\nPayload (`detail`):\n\n### **Methods:**\n - **handleValueChange(newValue: _Date | null_): _void_** - Sincroniza `referenceDate` quando a prop `value` muda.\n\nNormaliza segundos/milissegundos e restaura rascunhos locais.\n- **render(): _JSX.Element_** - Render principal do componente.\n\n### **CSS Parts:**\n - **container** - Container base do seletor de horários.\n- **timer** - Grupo que contém os campos de hora e minuto.\n- **field** - Campo de tempo com botões de ajuste.\n- **separator** - Separador visual entre hora e minuto.\n- **input** - Campo de entrada textual interno do tempo.",
|
|
1235
1231
|
"attributes": [
|
|
1236
1232
|
{
|
|
1237
1233
|
"name": "reference-date",
|
|
1238
|
-
"description": "Data
|
|
1234
|
+
"description": "Data de referência usada para exibir e ajustar hora e minuto.",
|
|
1239
1235
|
"values": [{ "name": "Date" }]
|
|
1240
1236
|
},
|
|
1241
1237
|
{
|
|
1242
1238
|
"name": "value",
|
|
1243
|
-
"description": "
|
|
1239
|
+
"description": "Valor canônico selecionado pelo usuário.",
|
|
1244
1240
|
"values": [{ "name": "Date" }]
|
|
1245
1241
|
},
|
|
1246
1242
|
{
|
|
1247
1243
|
"name": "disabled",
|
|
1248
|
-
"description": "
|
|
1244
|
+
"description": "Indica se os controles do seletor estão desabilitados.",
|
|
1249
1245
|
"values": []
|
|
1250
1246
|
}
|
|
1251
1247
|
],
|
|
@@ -1678,7 +1674,7 @@
|
|
|
1678
1674
|
},
|
|
1679
1675
|
{
|
|
1680
1676
|
"name": "br-header-list",
|
|
1681
|
-
"description": "O componente `br-header-list` é o subcomponente contêiner do GovBR-DS que organiza links de navegação ou botões funcionais em uma estrutura de lista horizontal acessível.\n\n### Para que serve\n\n- **Agrupamento semântico:** Estrutura itens navegáveis ou funcionais em elementos de lista semânticos.\n- **Distribuição e espaçamento:** Garante o alinhamento horizontal padronizado de itens no cabeçalho.\n\n### Papel na composição\n\nAtua como elo intermediário entre o orquestrador `br-header` e os itens filhos individuais (`br-header-link` ou `br-header-function`).\n\n### Regra de uso e relacionamento\n\n- Deve ser inserido nos slots `links` ou `functions` do orquestrador `br-header`.\n- Serve de contêiner direto para subcomponentes `br-header-link` ou `br-header-function`.\n---\n\n\n### **Events:**\n - **headerListUpdate** - Evento disparado para indicar qual lista deve encolher primeiro.\nO evento envia o ID do componente pai e o nome da lista.\n- **headerListFocused** - Evento disparado quando a lista recebe foco.\nO evento envia o ID do componente.\n\n### **Methods:**\n - **closeList()** - Fecha a lista.\n- **isListOpen():
|
|
1677
|
+
"description": "O componente `br-header-list` é o subcomponente contêiner do GovBR-DS que organiza links de navegação ou botões funcionais em uma estrutura de lista horizontal acessível.\n\n### Para que serve\n\n- **Agrupamento semântico:** Estrutura itens navegáveis ou funcionais em elementos de lista semânticos.\n- **Distribuição e espaçamento:** Garante o alinhamento horizontal padronizado de itens no cabeçalho.\n\n### Papel na composição\n\nAtua como elo intermediário entre o orquestrador `br-header` e os itens filhos individuais (`br-header-link` ou `br-header-function`).\n\n### Regra de uso e relacionamento\n\n- Deve ser inserido nos slots `links` ou `functions` do orquestrador `br-header`.\n- Serve de contêiner direto para subcomponentes `br-header-link` ou `br-header-function`.\n---\n\n\n### **Events:**\n - **headerListUpdate** - Evento disparado para indicar qual lista deve encolher primeiro.\nO evento envia o ID do componente pai e o nome da lista.\n- **headerListFocused** - Evento disparado quando a lista recebe foco.\nO evento envia o ID do componente.\n\n### **Methods:**\n - **closeList()** - Fecha a lista.\n- **isListOpen(): _Promise<boolean>_** - Verifica se a lista está aberta.\n- **openList(): _Promise<void>_** - Abre a lista.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para o conteúdo da lista de navegação no cabeçalho.",
|
|
1682
1678
|
"attributes": [
|
|
1683
1679
|
{
|
|
1684
1680
|
"name": "custom-id",
|
|
@@ -1822,7 +1818,7 @@
|
|
|
1822
1818
|
},
|
|
1823
1819
|
{
|
|
1824
1820
|
"name": "br-input",
|
|
1825
|
-
"description": "O componente `br-input` é o controle padrão do GovBR-DS para entrada de dados textuais em linha única. Totalmente integrado à validação nativa de formulários HTML via `ElementInternals` (`formAssociated`), ele suporta múltiplos tipos de entrada, máscaras e formatação.\n\n### Para que serve\n\n- **Captura de dados curtos em formulários:** Entrada de textos, senhas, endereços de e-mail, números, telefones, documentos e termos de busca.\n- **Alternância de visualização de senha:** No tipo `type=\"password\"`, oferece botão embutido para alternar entre texto visível e caracteres mascarados com feedback acessível.\n- **Validação e mensagens contextuais:** Comunica valor, validade e mensagens de erro ou orientação diretamente ao formulário HTML e leitores de tela.\n- **Densidade e ícones de apoio:** Suporta diferentes densidades visuais (alta, média e baixa) e ícones prefixados ou sufixados para enriquecer a experiência.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - A informação digitada couber em uma única linha (ex.: nome, CPF, e-mail, valor monetário, busca).\n- **Evite e prefira outro componente quando:**\n - O texto for extenso ou exigir múltiplas linhas (prefira `br-textarea`).\n - A escolha for feita a partir de uma lista pré-determinada de opções (prefira `br-select`, `br-radio` ou `br-checkbox`).\n - O valor for uma data ou hora estruturada (prefira `br-datetime-picker`).\n\n### Estrutura e Slots\n\nO `br-input` é composto pelo campo de entrada e slots de apoio:\n- `icon`: Slot para ícone de apoio visual (prefixado ou sufixado ao campo de digitação).\n- `feedback`: Slot para exibição de mensagens de validação contextual (como `br-message`).\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/input?tab=designer).\n---\n\n\n### **Events:**\n - **valueChange** - Valor atualizado do input\n- **brClear** - Emitted when the input clear button action is triggered.\n- **brInputValidationChange** - Informa o início e o resultado do validator, inclusive quando ele consulta\num serviço remoto. O `detail` contém `validating`, `valid` e `message`;\nescrita programática e reset não representam interação do usuário.\n\n### **Methods:**\n - **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, exibe uma mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o input.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa a regra customizada e retorna se o campo está válido.\nSe o validator for assíncrono, aguarda a resposta e ignora resultados\nantigos quando uma execução posterior já começou.\n- **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, dispara um evento 'invalid'.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **select(): _Promise<void>_** - Seleciona todo o texto do controle nativo, conforme HTMLInputElement.select().\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectionMode: _SelectionMode_): _Promise<void>_** - Substitui um intervalo de texto usando a API nativa do input.\n- **setSelectionRange(start: _number_, end: _number_, direction: _'forward' | 'backward' | 'none'_): _Promise<void>_** - Define o intervalo selecionado no controle nativo.\n- **stepUp(n: _number_): _Promise<void>_** - Incrementa o valor numérico pelo step nativo.\n- **stepDown(n: _number_): _Promise<void>_** - Decrementa o valor numérico pelo step nativo.\n- **showPicker(): _Promise<void>_** - Abre o picker nativo quando o navegador e o tipo do input oferecem essa API.\n- **render(): __** - Renderiza o componente de input.\n\n### **Slots:**\n - **action** - Botão à direita do input.\n- **icon** - Ícone à esquerda do input.\n- **help-text** - Personalização do texto de ajuda.\n- **feedback** - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n- **validation-loading** - Indicador exibido enquanto o validator assíncrono está pendente.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do input.\n- **label** - Rótulo do input.\n- **input** - Elemento input nativo.\n- **group** - Grupo que contém ícone, input, botão e ajuda.\n- **icon** - Contêiner do slot de ícone.\n- **action** - Botão de ação lateral.\n- **action-button** - Botão interno reexportado do br-button da ação.\n- **help-text** - Texto de ajuda ou slot de ajuda.\n- **feedback** - Slot de feedback.",
|
|
1821
|
+
"description": "O componente `br-input` é o controle padrão do GovBR-DS para entrada de dados textuais em linha única. Totalmente integrado à validação nativa de formulários HTML via `ElementInternals` (`formAssociated`), ele suporta múltiplos tipos de entrada, máscaras e formatação.\n\n### Para que serve\n\n- **Captura de dados curtos em formulários:** Entrada de textos, senhas, endereços de e-mail, números, telefones, documentos e termos de busca.\n- **Alternância de visualização de senha:** No tipo `type=\"password\"`, oferece botão embutido para alternar entre texto visível e caracteres mascarados com feedback acessível.\n- **Validação e mensagens contextuais:** Comunica valor, validade e mensagens de erro ou orientação diretamente ao formulário HTML e leitores de tela.\n- **Densidade e ícones de apoio:** Suporta diferentes densidades visuais (alta, média e baixa) e ícones prefixados ou sufixados para enriquecer a experiência.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - A informação digitada couber em uma única linha (ex.: nome, CPF, e-mail, valor monetário, busca).\n- **Evite e prefira outro componente quando:**\n - O texto for extenso ou exigir múltiplas linhas (prefira `br-textarea`).\n - A escolha for feita a partir de uma lista pré-determinada de opções (prefira `br-select`, `br-radio` ou `br-checkbox`).\n - O valor for uma data ou hora estruturada (prefira `br-datetime-picker`).\n\n### Estrutura e Slots\n\nO `br-input` é composto pelo campo de entrada e slots de apoio:\n- `icon`: Slot para ícone de apoio visual (prefixado ou sufixado ao campo de digitação).\n- `feedback`: Slot para exibição de mensagens de validação contextual (como `br-message`).\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/input?tab=designer).\n---\n\n\n### **Events:**\n - **valueChange** - Valor atualizado do input\n- **brClear** - Emitted when the input clear button action is triggered.\n- **brInputActionClick** - Notifica a ativação do botão do slot `action` por clique ou teclado.\nEmitido no host com `detail.originalEvent` contendo o clique original.\nPropaga e atravessa Shadow DOM; não é cancelável nem altera o clique nativo.\nNão emite para o campo textual, botão de senha, inicialização ou controle desabilitado.\n- **brInputValidationChange** - Informa o início e o resultado do validator, inclusive quando ele consulta\num serviço remoto. O `detail` contém `validating`, `valid` e `message`;\nescrita programática e reset não representam interação do usuário.\n\n### **Methods:**\n - **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, exibe uma mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o input.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa a regra customizada e retorna se o campo está válido.\nSe o validator for assíncrono, aguarda a resposta e ignora resultados\nantigos quando uma execução posterior já começou.\n- **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, dispara um evento 'invalid'.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **select(): _Promise<void>_** - Seleciona todo o texto do controle nativo, conforme HTMLInputElement.select().\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectionMode: _SelectionMode_): _Promise<void>_** - Substitui um intervalo de texto usando a API nativa do input.\n- **setSelectionRange(start: _number_, end: _number_, direction: _'forward' | 'backward' | 'none'_): _Promise<void>_** - Define o intervalo selecionado no controle nativo.\n- **stepUp(n: _number_): _Promise<void>_** - Incrementa o valor numérico pelo step nativo.\n- **stepDown(n: _number_): _Promise<void>_** - Decrementa o valor numérico pelo step nativo.\n- **showPicker(): _Promise<void>_** - Abre o picker nativo quando o navegador e o tipo do input oferecem essa API.\n- **render(): __** - Renderiza o componente de input.\n\n### **Slots:**\n - **action** - Botão à direita do input.\n- **icon** - Ícone à esquerda do input.\n- **help-text** - Personalização do texto de ajuda.\n- **feedback** - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n- **validation-loading** - Indicador exibido enquanto o validator assíncrono está pendente.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do input.\n- **label** - Rótulo do input.\n- **input** - Elemento input nativo.\n- **group** - Grupo que contém ícone, input, botão e ajuda.\n- **icon** - Contêiner do slot de ícone.\n- **action** - Botão de ação lateral.\n- **action-button** - Botão interno reexportado do br-button da ação.\n- **help-text** - Texto de ajuda ou slot de ajuda.\n- **feedback** - Slot de feedback.",
|
|
1826
1822
|
"attributes": [
|
|
1827
1823
|
{
|
|
1828
1824
|
"name": "type",
|
|
@@ -2274,7 +2270,7 @@
|
|
|
2274
2270
|
},
|
|
2275
2271
|
{
|
|
2276
2272
|
"name": "br-loading",
|
|
2277
|
-
"description": "O componente `br-loading` é o indicador de carregamento e progresso do GovBR-DS, utilizado para informar visualmente e de forma acessível que uma operação assíncrona está em execução no sistema.\n\n### Para que serve\n\n- **Feedback de processamento:** Alerta a pessoa usuária de que uma requisição, cálculo ou carregamento de dados está ocorrendo, evitando múltiplos cliques acidentais.\n- **Modo spinner (indeterminado):** Indicador circular contínuo para operações de duração imprevisível.\n- **Modo progress (determinado):** Indicador com percentual explícito (0 a 100%) para downloads, uploads ou tarefas com progresso mensurável, suportando ação de cancelamento.\n- **Acessibilidade para tecnologias assistivas:** Comunica o estado de carregamento através de regiões acessíveis (`aria-live=\"polite\"` e papéis `progressbar` ou `status`).\n\n### Quando utilizar\n\n- **Utilize quando:**\n - Uma operação assíncrona demorar mais de 300 a 500 milissegundos para responder.\n - Durante o envio de formulários volumosos, processamento de arquivos ou transição de telas pesadas.\n- **Evite e prefira outro componente quando:**\n - A resposta for quase instantânea (menos de 300ms), para evitar piscamento rápido de tela que cause desconforto visual.\n - A espera ocorrer dentro de um botão durante o clique (use a prop `loading` do próprio `br-button`).\n\n### Estrutura e Slots\n\nO `br-loading` oferece slots para personalização:\n- `label`: Slot para rótulo ou mensagem descritiva do carregamento (substitui a prop `label`).\n- `cancel-button`: Slot para botão customizado de cancelamento no modo `progress`.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/loading?tab=designer).\n---\n\n\n### **Events:**\n - **brLoadingChange** - Notifica mudança de progresso no modo `progress`.\n- **brLoadingComplete** - Notifica conclusão do progresso no modo `progress`.\n- **brLoadingReset** - Notifica reinício do progresso no modo `progress`.\n- **brLoadingCancel** - Notifica clique no botão de cancelamento no modo `progress`.\nEste evento não altera o progresso automaticamente.\nA aplicação consumidora define a ação após o cancelamento (ex.: limpar ou ocultar).\n- **brIndeterminateStateChange** - Notifica mudança do estado lógico no modo `spinner`.\n- **brDidShow** - Notifica que o componente foi exibido.\n- **brLoadingShow** - Evento canônico emitido quando o loading é exibido.\n- **brDidHide** - Notifica que o componente foi ocultado.\n- **brLoadingHide** - Evento canônico emitido quando o loading é ocultado.\n\n### **Methods:**\n - **handleCompletion(newValue: _number_)** - Reage a mudanças em `value` no modo `progress`.\n- **handleModeChange()** - Reage a mudanças em `mode` e atualiza o estado lógico de atividade.\n- **setValue(value: _number_):
|
|
2273
|
+
"description": "O componente `br-loading` é o indicador de carregamento e progresso do GovBR-DS, utilizado para informar visualmente e de forma acessível que uma operação assíncrona está em execução no sistema.\n\n### Para que serve\n\n- **Feedback de processamento:** Alerta a pessoa usuária de que uma requisição, cálculo ou carregamento de dados está ocorrendo, evitando múltiplos cliques acidentais.\n- **Modo spinner (indeterminado):** Indicador circular contínuo para operações de duração imprevisível.\n- **Modo progress (determinado):** Indicador com percentual explícito (0 a 100%) para downloads, uploads ou tarefas com progresso mensurável, suportando ação de cancelamento.\n- **Acessibilidade para tecnologias assistivas:** Comunica o estado de carregamento através de regiões acessíveis (`aria-live=\"polite\"` e papéis `progressbar` ou `status`).\n\n### Quando utilizar\n\n- **Utilize quando:**\n - Uma operação assíncrona demorar mais de 300 a 500 milissegundos para responder.\n - Durante o envio de formulários volumosos, processamento de arquivos ou transição de telas pesadas.\n- **Evite e prefira outro componente quando:**\n - A resposta for quase instantânea (menos de 300ms), para evitar piscamento rápido de tela que cause desconforto visual.\n - A espera ocorrer dentro de um botão durante o clique (use a prop `loading` do próprio `br-button`).\n\n### Estrutura e Slots\n\nO `br-loading` oferece slots para personalização:\n- `label`: Slot para rótulo ou mensagem descritiva do carregamento (substitui a prop `label`).\n- `cancel-button`: Slot para botão customizado de cancelamento no modo `progress`.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/loading?tab=designer).\n---\n\n\n### **Events:**\n - **brLoadingChange** - Notifica mudança de progresso no modo `progress`.\n- **brLoadingComplete** - Notifica conclusão do progresso no modo `progress`.\n- **brLoadingReset** - Notifica reinício do progresso no modo `progress`.\n- **brLoadingCancel** - Notifica clique no botão de cancelamento no modo `progress`.\nEste evento não altera o progresso automaticamente.\nA aplicação consumidora define a ação após o cancelamento (ex.: limpar ou ocultar).\n- **brIndeterminateStateChange** - Notifica mudança do estado lógico no modo `spinner`.\n- **brDidShow** - Notifica que o componente foi exibido.\n- **brLoadingShow** - Evento canônico emitido quando o loading é exibido.\n- **brDidHide** - Notifica que o componente foi ocultado.\n- **brLoadingHide** - Evento canônico emitido quando o loading é ocultado.\n\n### **Methods:**\n - **handleCompletion(newValue: _number_)** - Reage a mudanças em `value` no modo `progress`.\n- **handleModeChange()** - Reage a mudanças em `mode` e atualiza o estado lógico de atividade.\n- **setValue(value: _number_): _Promise<{ value: number }>_** - Define o valor do progresso.\n- **incrementValue(step): _Promise<{ value: number }>_** - Soma um valor ao progresso atual.\n- **complete(): _Promise<{ value: number }>_** - Define o progresso como concluído.\n- **reset(): _Promise<{ value: number }>_** - Reinicia o progresso e exibe o componente.\n- **show(): _Promise<{ visible: boolean }>_** - Exibe o componente.\n- **hide(): _Promise<{ visible: boolean }>_** - Oculta o componente.\n- **render(): __** - Renderiza o componente conforme o modo atual.\n\n### **Slots:**\n - **label** - Rótulo customizado do loading. Quando utilizado, a prop `label` é ignorada.\n- **cancel-button** - Conteúdo customizado do botão de cancelar. Quando utilizado, a prop `cancelLabel` é ignorada.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do loading.\n- **wrapper** - Wrapper do conteúdo do spinner/progress.\n- **svg** - Elemento SVG principal do loading.\n- **percentage** - Texto de percentual no modo `progress`.\n- **label-wrapper** - Wrapper do rótulo no modo `spinner`.\n- **cancel-button** - Botão de cancelamento no modo `progress` cancelável.",
|
|
2278
2274
|
"attributes": [
|
|
2279
2275
|
{
|
|
2280
2276
|
"name": "label-position",
|
|
@@ -3305,7 +3301,7 @@
|
|
|
3305
3301
|
},
|
|
3306
3302
|
{
|
|
3307
3303
|
"name": "br-select",
|
|
3308
|
-
"description": "O componente `br-select` é o controle oficial de seleção do GovBR-DS, desenvolvido para permitir que o usuário escolha uma ou múltiplas opções a partir de uma lista expansível. Compatível com o padrão WAI-ARIA Combobox, ele reúne em um único componente acessível o campo de acionamento/digitação, a lista suspensa e as opções selecionáveis, integrando-se nativamente a formulários HTML e frameworks modernos.\n\n### Para que serve\n\nO `br-select` gerencia todo o fluxo de interação de seleção:\n- **Seleção simples e múltipla:** Permite selecionar uma única opção ou múltiplas opções (`multiple`), incluindo a opção de selecionar ou desmarcar todas em lote.\n- **Busca e filtragem:** Oferece filtro local integrado (conforme o usuário digita) e suporte a busca remota assíncrona (`search-mode=\"remote\"`), disparando eventos para carregamento sob demanda via API.\n- **Agrupamento de opções:** Organiza opções contíguas por categoria, preservando virtualização, busca local e semântica nativa de formulário.\n- **Integração com formulários:** É associado a formulários nativos (`formAssociated`), comunicando seu valor, estado de validação (válido/inválido), mensagens de erro contextuais e eventos padrão (`change`, `input`).\n- **Navegação acessível:** Suporta controle total via teclado (setas para cima/baixo, Enter, Escape, Home, End), foco gerenciado e anúncios para leitores de tela.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - O número de opções for moderado a grande (mais de 5 a 7 itens), onde listar todas diretamente na tela consumiria muito espaço visual.\n - For necessário filtrar opções por texto (digitação em lista longa).\n - As opções forem carregadas dinamicamente de uma API externa (busca remota/paginada).\n - O espaço no leiaute for restrito e exigir um controle compacto e expansível.\n- **Evite e prefira outro componente quando:**\n - Houver poucas opções fixas (de 2 a 4 opções mutuamente exclusivas): prefira `br-radio` ou `br-radio-group` para manter as alternativas imediatamente visíveis.\n - Houver uma escolha binária (sim/não, ativo/inativo): prefira `br-switch` ou `br-checkbox`.\n - Houver seleção múltipla com até 4 alternativas: prefira `br-checkbox` ou um grupo de checkboxes visíveis.\n\n### Composição e Subcomponentes\n\nO ecossistema do Select é composto pelo elemento principal orquestrador e três subcomponentes especializados:\n\n| Subcomponente | Papel | Regra de uso |\n| --- | --- | --- |\n| `br-select` | **Orquestrador principal.** Gerencia o valor, ciclo de vida, acessibilidade, busca, formulário e renderização dos elementos internos. | Deve ser o único componente diretamente instanciado no template da aplicação. |\n| `br-select-input` | **Campo de acionamento.** Exibe o valor selecionado, o rótulo (`label`), o campo de busca/digitação e o botão de expandir/recolher. | Coordenado automaticamente pelo `br-select`; utilize isoladamente apenas em composições arquiteturais avançadas. |\n| `br-select-list` | **Lista suspensa virtualizada.** Contêiner flutuante que renderiza as opções de forma otimizada com suporte a rolagem e virtualização. | Gerenciada exclusivamente pelo `br-select`; não deve ser usada como controle autônomo. |\n| `br-select-option` | **Item individual de opção.** Representa um valor selecionável, exibindo texto, estado de seleção e checkbox/radio associado. | Deve ser declarado dentro do slot padrão do `br-select` para cada opção desejada. |\n\nAlém dos subcomponentes, o `br-select` oferece slots dedicados:\n- `default`: Slot principal onde são passados os elementos `br-select-option`.\n- `feedback`: Slot para exibição de mensagens de validação (ex.: `br-message`).\n- `loading`: Slot para indicador de carregamento durante busca remota.\n- `validation-loading`: Slot para indicador visual durante validação assíncrona.\n\n### Como fornecer opções\n\nO `br-select` possui uma API declarativa canônica e uma API imperativa para atualizações dinâmicas:\n\n1. **Slot com `br-select-option`:** é a forma declarativa canônica para código novo. O pai lê os atributos e o conteúdo de cada opção e os transforma em dados para a lista. Em frameworks, a coleção também pode ser renderizada como vários elementos `br-select-option`.\n2. **Método `setOptions()`:** substitui a coleção de forma imperativa e deve ser reservado para dados dinâmicos, especialmente respostas de busca remota. A lista recebe os objetos e cria internamente somente a janela visível de opções.\n\n`br-select-input` e `br-select-list` não substituem essas fontes. Eles são peças internas da composição: o primeiro controla o campo de acionamento e busca; o segundo recebe a coleção normalizada e renderiza a lista virtualizada.\n\nEvite misturar slot e dados imperativos sem necessidade. Na inicialização, opções declaradas no slot têm precedência quando existem. Depois que `options` é alterada ou `setOptions()` é chamado, a coleção imperativa passa a ser a fonte de dados e alterações posteriores no slot não são sincronizadas.\n\nA prop `options` é uma API legada e está depreciada. Ela continua funcionando apenas para preservar compatibilidade: no HTML, recebe uma string JSON; em JavaScript e frameworks, recebe um array por property binding. Não a adote em código novo; use `br-select-option` ou, para respostas dinâmicas/remotas, `setOptions()`.\n\nCada objeto deve conter `value` string e pode conter `label`, `selected`, `disabled`, `indeterminate` e `content`. `content` é renderizado como HTML na lista; não use esse campo com conteúdo não confiável.\n\n### O Conceito \"Lego\" e a Diferença entre os Componentes {#conceito-lego}\n\nO ecossistema de seleção do GovBR-DS foi projetado seguindo o **conceito de peças de Lego**: modular, flexível e combinável:\n\n1. **`br-select` (Componente Principal / Modelo Pronto):**\n É o **componente principal**. Já vem montado com todas as peças essenciais integradas: o acionador (`br-select-input`), a lista flutuante virtualizada (`br-select-list`), a navegação por teclado e a integração nativa com formulários (`formAssociated`). Na quase totalidade das aplicações (99% dos casos), você deve usar apenas `<br-select>`.\n\n2. **`br-select-option` (Peça de Conteúdo):**\n É a peça de Lego que você encaixa diretamente no slot padrão do `<br-select>` para definir cada valor selecionável.\n\n3. **`br-select-input` e `br-select-list` (Subcomponentes Internos):**\n São as peças internas que formam a estrutura do `br-select`. No uso comum, **não devem ser declarados manualmente**, pois o `br-select` já os instancia e os sincroniza automaticamente.\n\n#### Quando usar apenas `<br-select>`?\nUse apenas `<br-select>` em quase todos os fluxos. Para opções fixas, declare os itens `<br-select-option>` no slot padrão; para opções dinâmicas, alimente a coleção com `setOptions()`. A prop `options` permanece disponível somente para compatibilidade legada.\n\n#### Quando montar os componentes separadamente?\nA montagem separada das peças avulsas de Lego (`br-select-input` + `br-select-list` + `br-select-option`) destina-se exclusivamente a **composições arquiteturais avançadas**, onde o leiaute exige desacoplar fisicamente o campo de acionamento da lista suspensa (ex.: campo de busca fixo na barra superior e a lista exibida dentro de um drawer ou modal lateral). Nesse caso, a aplicação precisa implementar manualmente a sincronização de foco, abertura, navegação por teclado e repasse de valor ao formulário.\n\n### Como os subcomponentes se relacionam\n\nA arquitetura do `br-select` segue o padrão de **orquestrador centralizado**:\n1. **O componente pai coordena o estado:** A aplicação declara o `<br-select>` com múltiplos `<br-select-option>` filhos ou usa `setOptions()` para dados dinâmicos. O `br-select` projeta internamente o `<br-select-input>` e a `<br-select-list>`, garantindo sincronia total de foco, estados de abertura, termos pesquisados e eventos. A prop `options` não é uma alternativa para código novo; existe somente para compatibilidade legada.\n2. **Evite montagem manual desarticulada:** Tentar declarar manualmente `br-select-input` e `br-select-list` fora do `br-select` quebra as relações de acessibilidade WAI-ARIA (combobox, controles expandidos, aria-activedescendant) e desvincula o controle da validação nativa de formulários (`ElementInternals`).\n3. **Comunicação por eventos:** Para busca remota ou resposta a seleção, a aplicação escuta os eventos disparados diretamente pelo `br-select` (`brSearch`, `change`, `input`), sem precisar interceptar nós internos da lista ou do campo de texto.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectStateChange** - Evento emitido quando o estado público do select muda.\n- **valueChange** - Evento emitido quando o valor público do select é alterado.\n- **optionHover** - Emite a opção que recebeu foco ou hover.\n- **brSelectSearch** - Emitido uma vez por edição do campo de busca, inclusive ao limpar a consulta.\nO `detail` contém `{ query }`; o evento é informativo e não cancelável.\nA aplicação deve controlar debounce, transporte e ciclo de vida da busca.\n- **opened** - Emitido quando a lista é aberta.\n- **closed** - Emitido quando a lista é fechada.\n- **brSelectValidationChange** - Informa o início e o resultado de uma validação síncrona ou assíncrona.\nO `detail` contém `validating`, `valid` e `message`.\n\n### **Methods:**\n - **handleSelectOptionPropsChange(event: _Event_)** - Recalcula a coleção quando uma opção projetada muda por atribuição direta\nde `selected`, `disabled`, `label`, `group` ou `value`. A lista virtualizada em\nShadow DOM não é uma fonte independente; ela recebe o snapshot pelo seu\ncontrato público `options`.\n- **enable(): __** - Habilita o select para interação do usuário.\n- **disable(): __** - Desabilita o select e impede novas interações.\n- **show(): __** - Abre a lista de opções quando o componente está habilitado.\n- **close(): __** - Fecha a lista de opções quando o componente está habilitado.\n- **toggleOpen(): _Promise<void>_** - Alterna entre os estados aberto e fechado do select.\n- **clear(): _Promise<void>_** - @deprecated Use `setValue('')` ou a API de formulário. - Limpa a seleção atual.\n- **getValue(): _Promise<string | string[]>_** - @deprecated Leia a propriedade `value` diretamente. - Retorna o valor público atual.\n- **setValue(value: _string | string[]_): _Promise<void>_** - @deprecated Atribua a propriedade `value` diretamente. - Define o valor público do select.\n- **setFocus(): _Promise<void>_** - @deprecated Use o foco nativo do componente quando possível. - Move o foco para o campo interno.\n- **setOptions(options: _SelectOptionData[]_): __** - Substitui a coleção atual de opções por uma nova lista.\n- **setOption(option: _SelectOptionData_): __** - Adiciona ou atualiza uma única opção na coleção interna.\n\n### **Slots:**\n - **default** - Opções declaradas com elementos br-select-option.\n- **feedback** - Mensagem de validação, normalmente um br-message.\n- **validation-loading** - Indicador exibido durante validação assíncrona.\n- **loading** - Indicador exibido durante a busca remota de opções.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do select.\n- **input** - Campo de seleção e busca.\n- **input-container** - Contêiner visual do campo.\n- **input-label** - Rótulo do campo.\n- **input-field** - Campo input nativo.\n- **input-group** - Grupo visual do campo.\n- **input-icon** - Ícone do campo.\n- **input-action** - Botão de abertura e fechamento.\n- **input-action-button** - Botão interno da ação.\n- **list** - Lista de opções.\n- **option** - Opção individual.\n- **option-group** - Cabeçalho visual de um grupo de opções.\n- **select-all** - Alias legado para a opção de selecionar todos.\n- **empty-option** - Alias legado para a opção vazia da lista.\n- **option-checkbox** - Alias legado para o checkbox da opção.\n- **option-radio** - Alias legado para o radio da opção.\n- **hidden-select** - Select nativo invisível usado na integração com formulários.\n- **feedback** - Área de mensagem de validação.\n- **validation-loading** - Área do indicador de validação assíncrona.",
|
|
3304
|
+
"description": "O componente `br-select` é o controle oficial de seleção do GovBR-DS, desenvolvido para permitir que o usuário escolha uma ou múltiplas opções a partir de uma lista expansível. Compatível com o padrão WAI-ARIA Combobox, ele reúne em um único componente acessível o campo de acionamento/digitação, a lista suspensa e as opções selecionáveis, integrando-se nativamente a formulários HTML e frameworks modernos.\n\n### Para que serve\n\nO `br-select` gerencia todo o fluxo de interação de seleção:\n- **Seleção simples e múltipla:** Permite selecionar uma única opção ou múltiplas opções (`multiple`), incluindo a opção de selecionar ou desmarcar todas em lote.\n- **Busca e filtragem:** Oferece filtro local integrado (conforme o usuário digita) e suporte a busca remota assíncrona (`search-mode=\"remote\"`), disparando eventos para carregamento sob demanda via API.\n- **Agrupamento de opções:** Organiza opções contíguas por categoria, preservando virtualização, busca local e semântica nativa de formulário.\n- **Integração com formulários:** É associado a formulários nativos (`formAssociated`), comunicando seu valor, estado de validação (válido/inválido), mensagens de erro contextuais e eventos padrão (`change`, `input`).\n- **Navegação acessível:** Suporta controle total via teclado (setas para cima/baixo, Enter, Escape, Home, End), foco gerenciado e anúncios para leitores de tela.\n\n### Navegação por teclado\n\nO foco permanece no campo `combobox` enquanto a lista está aberta; a opção em destaque é comunicada por `aria-activedescendant`.\nAo receber foco, o campo abre a lista sem alterar a seleção atual.\n\n- **ArrowDown / ArrowUp:** abre a lista e destaca a próxima opção na direção pressionada; com a lista aberta, move o destaque sem mover o foco físico.\n- **Home / End:** em modo não filtrável, destaca a primeira ou a última opção habilitada; em modo filtrável, preserva o movimento do cursor no texto.\n- **Enter:** abre a lista quando fechada e confirma a opção destacada quando aberta.\n- **Espaço:** confirma a opção destacada em modo não filtrável; em modo filtrável, insere um espaço no campo de busca.\n- **Escape:** fecha a lista, remove o destaque e devolve o foco ao campo.\n- **Tab:** fecha a lista e deixa o navegador mover o foco para o próximo controle, sem alterar a seleção implicitamente.\n- **Busca incremental:** em modo não filtrável, caracteres consecutivos destacam a primeira opção habilitada correspondente; em modo filtrável, a digitação filtra a lista.\n- **Alt+ArrowDown / Alt+ArrowUp:** abre ou fecha a lista sem alterar a seleção.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - O número de opções for moderado a grande (mais de 5 a 7 itens), onde listar todas diretamente na tela consumiria muito espaço visual.\n - For necessário filtrar opções por texto (digitação em lista longa).\n - As opções forem carregadas dinamicamente de uma API externa (busca remota/paginada).\n - O espaço no leiaute for restrito e exigir um controle compacto e expansível.\n- **Evite e prefira outro componente quando:**\n - Houver poucas opções fixas (de 2 a 4 opções mutuamente exclusivas): prefira `br-radio` ou `br-radio-group` para manter as alternativas imediatamente visíveis.\n - Houver uma escolha binária (sim/não, ativo/inativo): prefira `br-switch` ou `br-checkbox`.\n - Houver seleção múltipla com até 4 alternativas: prefira `br-checkbox` ou um grupo de checkboxes visíveis.\n\n### Composição e Subcomponentes\n\nO ecossistema do Select é composto pelo elemento principal orquestrador e três subcomponentes especializados:\n\n| Subcomponente | Papel | Regra de uso |\n| --- | --- | --- |\n| `br-select` | **Orquestrador principal.** Gerencia o valor, ciclo de vida, acessibilidade, busca, formulário e renderização dos elementos internos. | Deve ser o único componente diretamente instanciado no template da aplicação. |\n| `br-select-input` | **Campo de acionamento.** Exibe o valor selecionado, o rótulo (`label`), o campo de busca/digitação e o botão de expandir/recolher. | Coordenado automaticamente pelo `br-select`; utilize isoladamente apenas em composições arquiteturais avançadas. |\n| `br-select-list` | **Lista suspensa virtualizada.** Contêiner flutuante que renderiza as opções de forma otimizada com suporte a rolagem e virtualização. | Gerenciada exclusivamente pelo `br-select`; não deve ser usada como controle autônomo. |\n| `br-select-option` | **Item individual de opção.** Representa um valor selecionável, exibindo texto, estado de seleção e checkbox/radio associado. | Deve ser declarado dentro do slot padrão do `br-select` para cada opção desejada. |\n\nAlém dos subcomponentes, o `br-select` oferece slots dedicados:\n- `default`: Slot principal onde são passados os elementos `br-select-option`.\n- `feedback`: Slot para exibição de mensagens de validação (ex.: `br-message`).\n- `loading`: Slot para indicador de carregamento durante busca remota.\n- `validation-loading`: Slot para indicador visual durante validação assíncrona.\n\n### Como fornecer opções\n\nO `br-select` possui uma API declarativa canônica e uma API imperativa para atualizações dinâmicas:\n\n1. **Slot com `br-select-option`:** é a forma declarativa canônica para código novo. O pai lê os atributos e o conteúdo de cada opção e os transforma em dados para a lista. Em frameworks, a coleção também pode ser renderizada como vários elementos `br-select-option`.\n2. **Método `setOptions()`:** substitui a coleção de forma imperativa e deve ser reservado para dados dinâmicos, especialmente respostas de busca remota. A lista recebe os objetos e cria internamente somente a janela visível de opções.\n\n`br-select-input` e `br-select-list` não substituem essas fontes. Eles são peças internas da composição: o primeiro controla o campo de acionamento e busca; o segundo recebe a coleção normalizada e renderiza a lista virtualizada.\n\nEvite misturar slot e dados imperativos sem necessidade. Na inicialização, opções declaradas no slot têm precedência quando existem. Depois que `options` é alterada ou `setOptions()` é chamado, a coleção imperativa passa a ser a fonte de dados e alterações posteriores no slot não são sincronizadas.\n\nA prop `options` é uma API legada e está depreciada. Ela continua funcionando apenas para preservar compatibilidade: no HTML, recebe uma string JSON; em JavaScript e frameworks, recebe um array por property binding. Não a adote em código novo; use `br-select-option` ou, para respostas dinâmicas/remotas, `setOptions()`.\n\nCada objeto deve conter `value` string e pode conter `label`, `selected`, `disabled`, `indeterminate` e `content`. `content` é renderizado como HTML na lista; não use esse campo com conteúdo não confiável.\n\n### O Conceito \"Lego\" e a Diferença entre os Componentes {#conceito-lego}\n\nO ecossistema de seleção do GovBR-DS foi projetado seguindo o **conceito de peças de Lego**: modular, flexível e combinável:\n\n1. **`br-select` (Componente Principal / Modelo Pronto):**\n É o **componente principal**. Já vem montado com todas as peças essenciais integradas: o acionador (`br-select-input`), a lista flutuante virtualizada (`br-select-list`), a navegação por teclado e a integração nativa com formulários (`formAssociated`). Na quase totalidade das aplicações (99% dos casos), você deve usar apenas `<br-select>`.\n\n2. **`br-select-option` (Peça de Conteúdo):**\n É a peça de Lego que você encaixa diretamente no slot padrão do `<br-select>` para definir cada valor selecionável.\n\n3. **`br-select-input` e `br-select-list` (Subcomponentes Internos):**\n São as peças internas que formam a estrutura do `br-select`. No uso comum, **não devem ser declarados manualmente**, pois o `br-select` já os instancia e os sincroniza automaticamente.\n\n#### Quando usar apenas `<br-select>`?\nUse apenas `<br-select>` em quase todos os fluxos. Para opções fixas, declare os itens `<br-select-option>` no slot padrão; para opções dinâmicas, alimente a coleção com `setOptions()`. A prop `options` permanece disponível somente para compatibilidade legada.\n\n#### Quando montar os componentes separadamente?\nA montagem separada das peças avulsas de Lego (`br-select-input` + `br-select-list` + `br-select-option`) destina-se exclusivamente a **composições arquiteturais avançadas**, onde o leiaute exige desacoplar fisicamente o campo de acionamento da lista suspensa (ex.: campo de busca fixo na barra superior e a lista exibida dentro de um drawer ou modal lateral). Nesse caso, a aplicação precisa implementar manualmente a sincronização de foco, abertura, navegação por teclado e repasse de valor ao formulário.\n\n### Como os subcomponentes se relacionam\n\nA arquitetura do `br-select` segue o padrão de **orquestrador centralizado**:\n1. **O componente pai coordena o estado:** A aplicação declara o `<br-select>` com múltiplos `<br-select-option>` filhos ou usa `setOptions()` para dados dinâmicos. O `br-select` projeta internamente o `<br-select-input>` e a `<br-select-list>`, garantindo sincronia total de foco, estados de abertura, termos pesquisados e eventos. A prop `options` não é uma alternativa para código novo; existe somente para compatibilidade legada.\n2. **Evite montagem manual desarticulada:** Tentar declarar manualmente `br-select-input` e `br-select-list` fora do `br-select` quebra as relações de acessibilidade WAI-ARIA (combobox, controles expandidos, aria-activedescendant) e desvincula o controle da validação nativa de formulários (`ElementInternals`).\n3. **Comunicação por eventos:** Para busca remota ou resposta a seleção, a aplicação escuta os eventos disparados diretamente pelo `br-select` (`brSearch`, `change`, `input`), sem precisar interceptar nós internos da lista ou do campo de texto.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectStateChange** - Evento emitido quando o estado público do select muda.\n- **valueChange** - Evento emitido quando o valor público do select é alterado.\n- **optionHover** - Emite a opção que recebeu foco ou hover.\n- **brSelectSearch** - Emitido uma vez por edição do campo de busca, inclusive ao limpar a consulta.\nO `detail` contém `{ query }`; o evento é informativo e não cancelável.\nA aplicação deve controlar debounce, transporte e ciclo de vida da busca.\n- **opened** - Emitido quando a lista é aberta.\n- **closed** - Emitido quando a lista é fechada.\n- **brSelectValidationChange** - Informa o início e o resultado de uma validação síncrona ou assíncrona.\nO `detail` contém `validating`, `valid` e `message`.\n\n### **Methods:**\n - **handleSelectOptionPropsChange(event: _Event_)** - Recalcula a coleção quando uma opção projetada muda por atribuição direta\nde `selected`, `disabled`, `label`, `group` ou `value`. A lista virtualizada em\nShadow DOM não é uma fonte independente; ela recebe o snapshot pelo seu\ncontrato público `options`.\n- **enable(): _Promise<void>_** - Habilita o select para interação do usuário.\n- **disable(): _Promise<void>_** - Desabilita o select e impede novas interações.\n- **show(): _Promise<void>_** - Abre a lista de opções quando o componente está habilitado.\n- **close(): _Promise<void>_** - Fecha a lista de opções quando o componente está habilitado.\n- **toggleOpen(): _Promise<void>_** - Alterna entre os estados aberto e fechado do select.\n- **clear(): _Promise<void>_** - @deprecated Use `setValue('')` ou a API de formulário. - Limpa a seleção atual.\n- **getValue(): _Promise<string | string[]>_** - @deprecated Leia a propriedade `value` diretamente. - Retorna o valor público atual.\n- **setValue(value: _string | string[]_): _Promise<void>_** - @deprecated Atribua a propriedade `value` diretamente. - Define o valor público do select.\n- **setFocus(): _Promise<void>_** - @deprecated Use o foco nativo do componente quando possível. - Move o foco para o campo interno.\n- **setOptions(options: _SelectOptionData[]_): _Promise<void>_** - Substitui a coleção atual de opções por uma nova lista.\n- **setOption(option: _SelectOptionData_): _Promise<void>_** - Adiciona ou atualiza uma única opção na coleção interna.\n\n### **Slots:**\n - **default** - Opções declaradas com elementos br-select-option.\n- **feedback** - Mensagem de validação, normalmente um br-message.\n- **validation-loading** - Indicador exibido durante validação assíncrona.\n- **loading** - Indicador exibido durante a busca remota de opções.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do select.\n- **input** - Campo de seleção e busca.\n- **input-container** - Contêiner visual do campo.\n- **input-label** - Rótulo do campo.\n- **input-field** - Campo input nativo.\n- **input-group** - Grupo visual do campo.\n- **input-icon** - Ícone do campo.\n- **input-action** - Botão de abertura e fechamento.\n- **input-action-button** - Botão interno da ação.\n- **list** - Lista de opções.\n- **option** - Opção individual.\n- **option-group** - Cabeçalho visual de um grupo de opções.\n- **select-all** - Alias legado para a opção de selecionar todos.\n- **empty-option** - Alias legado para a opção vazia da lista.\n- **option-checkbox** - Alias legado para o checkbox da opção.\n- **option-radio** - Alias legado para o radio da opção.\n- **hidden-select** - Select nativo invisível usado na integração com formulários.\n- **feedback** - Área de mensagem de validação.\n- **validation-loading** - Área do indicador de validação assíncrona.",
|
|
3309
3305
|
"attributes": [
|
|
3310
3306
|
{
|
|
3311
3307
|
"name": "borderless",
|
|
@@ -3319,7 +3315,7 @@
|
|
|
3319
3315
|
},
|
|
3320
3316
|
{
|
|
3321
3317
|
"name": "density",
|
|
3322
|
-
"description": "Define a densidade visual compartilhada pelo campo e pela lista de opções.\nAceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.",
|
|
3318
|
+
"description": "Define a densidade visual compartilhada pelo campo e pela lista de opções.\nAceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.\nA opção sintética de selecionar todos permanece com densidade `small`.",
|
|
3323
3319
|
"values": [{ "name": "BrDensity" }]
|
|
3324
3320
|
},
|
|
3325
3321
|
{
|
|
@@ -3367,6 +3363,11 @@
|
|
|
3367
3363
|
"description": "Define quantas opções extras são renderizadas antes e depois da área visível no virtual scroll.\nDeve ser um inteiro não negativo; valores inválidos usam 1.",
|
|
3368
3364
|
"values": []
|
|
3369
3365
|
},
|
|
3366
|
+
{
|
|
3367
|
+
"name": "hide-dividers",
|
|
3368
|
+
"description": "Oculta os divisores entre opções consecutivas, sem alterar a altura das linhas.",
|
|
3369
|
+
"values": []
|
|
3370
|
+
},
|
|
3370
3371
|
{
|
|
3371
3372
|
"name": "is-open",
|
|
3372
3373
|
"description": "Controla o estado aberto/fechado da lista.",
|
|
@@ -3473,7 +3474,7 @@
|
|
|
3473
3474
|
},
|
|
3474
3475
|
{
|
|
3475
3476
|
"name": "br-select-input",
|
|
3476
|
-
"description": "Subcomponente especializado de `br-select` responsável pelo campo de acionamento, entrada de texto e controle de expansão do popup.\n\n### Papel na composição\n- Exibe o rótulo (`label`), texto de espaço reservado (`placeholder`) e o resumo dos itens atualmente selecionados.\n- Atua como campo de entrada textual para digitação de filtros e termos de busca local ou remota.\n- Contém o botão de ação para abrir ou recolher a lista de opções (`br-select-list`), controlando a rotação do ícone indicador.\n\n### Regra de uso e relacionamento\nNa quase totalidade das aplicações, este componente é instanciado e gerenciado internamente pelo orquestrador `br-select`. Ele não fornece nem renderiza a coleção de opções: recebe do pai o valor exibido, o termo de busca e os estados de abertura e desabilitação. Não deve ser declarado manualmente na página, pois depende da coordenação do pai para foco, ARIA, eventos e sincronização com formulários. Use isoladamente apenas em composições arquiteturais altamente customizadas onde a aplicação assumir explicitamente toda a orquestração de foco e estado.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectInputFocus** - Evento emitido quando o campo interno recebe foco.\n- **brSelectInputValueChange** - Evento emitido quando o valor digitado no campo de busca muda.\n- **brSelectInputActionClick** - Evento emitido quando o usuário aciona o ícone de abertura/fechamento.\n- **brSelectInputClick** - Evento emitido quando o usuário clica no campo do select.\n\n### **Methods:**\n - **flipUp():
|
|
3477
|
+
"description": "Subcomponente especializado de `br-select` responsável pelo campo de acionamento, entrada de texto e controle de expansão do popup.\n\n### Papel na composição\n- Exibe o rótulo (`label`), texto de espaço reservado (`placeholder`) e o resumo dos itens atualmente selecionados.\n- Atua como campo de entrada textual para digitação de filtros e termos de busca local ou remota.\n- Contém o botão de ação para abrir ou recolher a lista de opções (`br-select-list`), controlando a rotação do ícone indicador.\n\n### Regra de uso e relacionamento\nNa quase totalidade das aplicações, este componente é instanciado e gerenciado internamente pelo orquestrador `br-select`. Ele não fornece nem renderiza a coleção de opções: recebe do pai o valor exibido, o termo de busca e os estados de abertura e desabilitação. Não deve ser declarado manualmente na página, pois depende da coordenação do pai para foco, ARIA, eventos e sincronização com formulários. Use isoladamente apenas em composições arquiteturais altamente customizadas onde a aplicação assumir explicitamente toda a orquestração de foco e estado.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectInputFocus** - Evento emitido quando o campo interno recebe foco.\n- **brSelectInputValueChange** - Evento emitido quando o valor digitado no campo de busca muda.\n- **brSelectInputActionClick** - Evento emitido quando o usuário aciona o ícone de abertura/fechamento.\n- **brSelectInputClick** - Evento emitido quando o usuário clica no campo do select.\n\n### **Methods:**\n - **flipUp(): _Promise<void>_** - Atualiza o ícone para o estado visual de lista aberta.\n- **flipDown(): _Promise<void>_** - Atualiza o ícone para o estado visual de lista fechada.\n- **setFocus(): _Promise<void>_** - Reaplica o foco no input nativo encapsulado por `br-input`.\n\n### **CSS Parts:**\n - **container** - Contêiner visual do campo.\n- **input** - Campo input nativo.\n- **label** - Rótulo do campo.\n- **group** - Grupo visual do campo.\n- **icon** - Ícone do campo.\n- **action** - Botão de ação.\n- **action-button** - Botão interno da ação.",
|
|
3477
3478
|
"attributes": [
|
|
3478
3479
|
{
|
|
3479
3480
|
"name": "borderless",
|
|
@@ -3532,7 +3533,7 @@
|
|
|
3532
3533
|
},
|
|
3533
3534
|
{
|
|
3534
3535
|
"name": "show-search-icon",
|
|
3535
|
-
"description": "Exibe o
|
|
3536
|
+
"description": "Exibe a lupa mesmo quando o campo não é filtrável.\nQuando filterable é true, a lupa é exibida automaticamente.",
|
|
3536
3537
|
"values": []
|
|
3537
3538
|
},
|
|
3538
3539
|
{
|
|
@@ -3545,11 +3546,11 @@
|
|
|
3545
3546
|
},
|
|
3546
3547
|
{
|
|
3547
3548
|
"name": "br-select-list",
|
|
3548
|
-
"description": "Subcomponente de lista virtualizada de opções, projetado para renderizar o conjunto de escolhas do `br-select`.\n\n### Papel na composição\n- Atua como o painel suspenso (popup `listbox`) que exibe os itens `br-select-option`.\n- Implementa virtualização de itens para oferecer alta performance mesmo em listas extensas com centenas ou milhares de opções.\n- Mantém o posicionamento flutuante e controla a rolagem de visualização do item ativo em navegação por teclado.\n\n### Regra de uso e relacionamento\nGerenciado exclusivamente pelo componente pai `br-select`, que injeta a coleção normalizada em `options`, controla o estado de exibição (aberto/fechado), a seleção múltipla e o índice ativo. A prop `options` desta lista é um contrato interno de composição e não substitui a API de opções do `br-select`. A lista cria internamente elementos `br-select-option` para a janela virtualizada, em vez de exibir diretamente os filhos declarados no slot do pai. Não utilize `br-select-list` como controle autônomo de formulário, pois ele não possui associação nativa com formulários (`formAssociated`) nem campo de acionamento próprio.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Methods:**\n - **open():
|
|
3549
|
+
"description": "Subcomponente de lista virtualizada de opções, projetado para renderizar o conjunto de escolhas do `br-select`.\n\n### Papel na composição\n- Atua como o painel suspenso (popup `listbox`) que exibe os itens `br-select-option`.\n- Implementa virtualização de itens para oferecer alta performance mesmo em listas extensas com centenas ou milhares de opções.\n- Mantém o posicionamento flutuante e controla a rolagem de visualização do item ativo em navegação por teclado.\n\n### Regra de uso e relacionamento\nGerenciado exclusivamente pelo componente pai `br-select`, que injeta a coleção normalizada em `options`, controla o estado de exibição (aberto/fechado), a seleção múltipla e o índice ativo. A prop `options` desta lista é um contrato interno de composição e não substitui a API de opções do `br-select`. A lista cria internamente elementos `br-select-option` para a janela virtualizada, em vez de exibir diretamente os filhos declarados no slot do pai. Não utilize `br-select-list` como controle autônomo de formulário, pois ele não possui associação nativa com formulários (`formAssociated`) nem campo de acionamento próprio.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Methods:**\n - **open(): _Promise<void>_** - Abre a lista e agenda a medição das opções quando necessário.\n- **close(): _Promise<void>_** - Fecha a lista de opções.\n- **setOptions(options: _SelectOptionData[]_): _Promise<void>_** - Substitui todas as opções renderizadas pela lista.\n- **setOption(option: _SelectOptionData_): _Promise<void>_** - Adiciona ou atualiza uma única opção na coleção atual.\n- **setSearchTerm(term: _string_): _Promise<void>_** - Atualiza o termo de busca e reinicia a janela virtual no topo.\n- **setMultiple(isMultiple: _boolean_): _Promise<void>_** - Alterna a lista entre modo simples e múltiplo.\n- **getOptions(): _Promise<SelectOptionData[]>_** - Retorna uma cópia das opções atualmente controladas pela lista.\n- **scrollOptionToTop(index: _number_): _Promise<boolean>_** - Posiciona uma opção no topo da viewport virtual, respeitando o limite final da lista.\n- **scrollFirstSelectedOptionToTop(): _Promise<boolean>_** - Posiciona no topo a primeira opção selecionada na ordem visual da lista.\nA opção auxiliar de selecionar tudo não participa dessa escolha.\n- **focusOption(index: _number_): _Promise<boolean>_** - Garante visibilidade e foco para uma opção específica.\n- **revealOption(index: _number_): _Promise<boolean>_** - Torna o item ativo visível sem retirar o foco do campo.\n- **setOptionSelected(index: _number_, selected: _boolean_): _Promise<boolean>_** - Aciona a seleção programática de uma opção específica.\n\n### **Slots:**\n - **loading** - Indicador exibido enquanto resultados remotos são carregados.\n\n### **CSS Parts:**\n - **list** - Contêiner visual da lista virtualizada.\n- **loading** - Área do indicador de carregamento.\n- **option-group** - Cabeçalho visual de um grupo de opções.",
|
|
3549
3550
|
"attributes": [
|
|
3550
3551
|
{
|
|
3551
3552
|
"name": "density",
|
|
3552
|
-
"description": "Define a densidade visual da lista, das opções e do indicador de carregamento.\nAceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.",
|
|
3553
|
+
"description": "Define a densidade visual da lista, das opções regulares e do indicador de carregamento.\nA opção sintética de selecionar todos permanece com densidade `small`.\nAceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.",
|
|
3553
3554
|
"values": [{ "name": "BrDensity" }]
|
|
3554
3555
|
},
|
|
3555
3556
|
{
|
|
@@ -3582,6 +3583,11 @@
|
|
|
3582
3583
|
"description": "Define quantas opções extras são renderizadas fora da viewport quando o virtual scroll está ativo.\nDeve ser um inteiro não negativo; valores inválidos usam 0.",
|
|
3583
3584
|
"values": []
|
|
3584
3585
|
},
|
|
3586
|
+
{
|
|
3587
|
+
"name": "hide-dividers",
|
|
3588
|
+
"description": "Oculta os divisores entre opções consecutivas, sem alterar a altura das linhas.",
|
|
3589
|
+
"values": []
|
|
3590
|
+
},
|
|
3585
3591
|
{
|
|
3586
3592
|
"name": "select-all-label",
|
|
3587
3593
|
"description": "Rótulo apresentado para a ação de selecionar todos no modo múltiplo.",
|
|
@@ -3602,7 +3608,7 @@
|
|
|
3602
3608
|
},
|
|
3603
3609
|
{
|
|
3604
3610
|
"name": "br-select-option",
|
|
3605
|
-
"description": "Subcomponente que representa uma opção individual dentro de um `br-select`.\n\n### Papel na composição\n- Define o valor de submissão (`value`) e o rótulo legível exibido para o usuário.\n- Identifica opcionalmente o grupo visual e semântico ao qual a opção pertence.\n- Exibe os estados de seleção (`selected`), desativação (`disabled`) e, no modo de seleção múltipla, o checkbox correspondente.\n- Suporta marcação com destaque textual correspondente aos filtros de busca aplicados.\n\n### Regra de uso e relacionamento\nDeve ser declarado no slot padrão do `br-select` (ou projetado pela lista). É a forma declarativa canônica de fornecer opções em código novo, inclusive quando um framework repete o elemento a partir de uma coleção. O `br-select` lê seus atributos e conteúdo, transforma-os em dados e entrega uma janela virtualizada à lista; portanto, o elemento declarado no slot é a fonte declarativa, não o item visual final da lista. Evite misturá-lo com a prop legada `options` ou com `setOptions()` sem necessidade, pois a coleção imperativa passa a ter precedência depois de ser utilizada. O item comunica suas mudanças de estado ao `br-select` pai, que por sua vez atualiza o valor geral do formulário e o resumo no campo de entrada. O `br-select-option` não deve ser utilizado fora do contexto de seleção.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectOptionStateChange** - Evento emitido quando o estado da opção muda.\n- **brSelectOptionPropsChange** - Evento legado emitido quando as propriedades da opção são alteradas.\n\n### **Methods:**\n - **getItemHeight():
|
|
3611
|
+
"description": "Subcomponente que representa uma opção individual dentro de um `br-select`.\n\n### Papel na composição\n- Define o valor de submissão (`value`) e o rótulo legível exibido para o usuário.\n- Identifica opcionalmente o grupo visual e semântico ao qual a opção pertence.\n- Exibe os estados de seleção (`selected`), desativação (`disabled`) e, no modo de seleção múltipla, o checkbox correspondente.\n- Suporta marcação com destaque textual correspondente aos filtros de busca aplicados.\n\n### Regra de uso e relacionamento\nDeve ser declarado no slot padrão do `br-select` (ou projetado pela lista). É a forma declarativa canônica de fornecer opções em código novo, inclusive quando um framework repete o elemento a partir de uma coleção. O `br-select` lê seus atributos e conteúdo, transforma-os em dados e entrega uma janela virtualizada à lista; portanto, o elemento declarado no slot é a fonte declarativa, não o item visual final da lista. Evite misturá-lo com a prop legada `options` ou com `setOptions()` sem necessidade, pois a coleção imperativa passa a ter precedência depois de ser utilizada. O item comunica suas mudanças de estado ao `br-select` pai, que por sua vez atualiza o valor geral do formulário e o resumo no campo de entrada. O `br-select-option` não deve ser utilizado fora do contexto de seleção.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectOptionStateChange** - Evento emitido quando o estado da opção muda.\n- **brSelectOptionPropsChange** - Evento legado emitido quando as propriedades da opção são alteradas.\n\n### **Methods:**\n - **getItemHeight(): _Promise<number>_** - Retorna a altura efetiva da opção para cálculo de virtual scroll.\n- **setFocus(): _Promise<void>_** - Encaminha o foco para o elemento interativo interno da opção.\n- **setSelectedState(selected: _boolean_): _Promise<void>_** - Atualiza programaticamente o estado selecionado da opção.\n\n### **Slots:**\n - **default** - Conteúdo ou rótulo visual da opção.\n\n### **CSS Parts:**\n - **option** - Item visual da opção.\n- **checkbox** - Checkbox exibido no modo múltiplo.",
|
|
3606
3612
|
"attributes": [
|
|
3607
3613
|
{
|
|
3608
3614
|
"name": "density",
|
|
@@ -4827,7 +4833,7 @@
|
|
|
4827
4833
|
},
|
|
4828
4834
|
{
|
|
4829
4835
|
"name": "br-wizard",
|
|
4830
|
-
"description": "O componente `br-wizard` é o orquestrador completo de fluxos passo a passo do GovBR-DS, desenvolvido para guiar a pessoa usuária através de formulários e tarefas complexas distribuídas em etapas consecutivas.\n\n### Para que serve\n\n- **Condução guiada de processos:** Apresenta um formulário longo dividido em etapas menores e focadas, reduzindo a carga cognitiva e o índice de abandono.\n- **Barra de progresso e navegação integradas:** Combina o indicador visual de etapas (`step`), os painéis de conteúdo de cada etapa (`br-wizard-panel`) e a barra de ações com botões de \"Voltar\", \"Avançar\", \"Concluir\" e \"Cancelar\".\n- **Validação por etapa:** Permite interceptar o avanço de cada passo para validação antes de liberar o próximo painel.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - Houver um processo de cadastro, requerimento, compra ou configuração estruturado em etapas com dependência de sequência.\n - For essencial oferecer navegação pré-programada de retorno e avanço com controle de estado.\n- **Evite e prefira outro componente quando:**\n - O objetivo for apenas mostrar o status de um pedido já concluído (use `br-step` simples).\n - O usuário puder navegar em qualquer ordem entre as seções da tela (use `br-tab`).\n\n### Composição e Subcomponentes\n\n| Subcomponente | Papel | Regra de uso |\n| --- | --- | --- |\n| `br-wizard` | **Orquestrador principal.** Gerencia a barra de progresso, ações de navegação (voltar/avançar), botões de rodapé e controle do painel ativo. | Deve ser o contêiner raiz do fluxo. |\n| `br-wizard-panel` | **Painel de etapa individual.** Contém os campos e formulários de uma etapa específica. | Declarado dentro do slot padrão do `br-wizard`. |\n\n### Como os subcomponentes se relacionam\n\nO `br-wizard` gerencia ativamente os elementos `br-wizard-panel` declarados em seu interior:\n1. O pai exibe apenas o painel correspondente à etapa atual (`activeStep`), mantendo os demais ocultos.\n2. Ao avançar ou retroceder, o `br-wizard` dispara eventos de validação e troca de etapa (`brStepChange`), atualizando simultaneamente o cabeçalho de progresso e as ações do rodapé.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/wizard?tab=designer).\n---\n\n\n### **Events:**\n - **brWizardStepChange** - Evento emitido APÓS mudar de etapa com sucesso.\n\nEste evento é disparado independente da origem da navegação:\n- Botões \"Avançar\" ou \"Voltar\"\n- Click direto em um step do indicador de progresso\n- Chamadas programáticas via métodos públicos (goToStep, nextStep, etc)\n- **brWizardBeforeStepChange** - Evento emitido ANTES de mudar de etapa (permite validação e cancelamento).\n\nComportamento:\n- Disparado apenas ao AVANÇAR (targetStep > currentStep)\n- Não é disparado ao VOLTAR (targetStep < currentStep)\n- Funciona tanto para cliques nos botões quanto para cliques diretos nos steps\n- Pode ser cancelado com `event.preventDefault()` para bloquear a navegação\n- **brWizardComplete** - Evento emitido ao concluir o wizard (última etapa).\n- **brWizardCancel** - Evento emitido ao cancelar o wizard.\n- **brWizardNavigationBlocked** - Evento emitido quando uma ação é bloqueada (validação falha, progressão linear impedida).\nEmite uma string indicando o motivo: 'linear-progression' ou 'validation-failed'.\nUse getCurrentStepIndex() para obter o contexto da etapa atual.\n\n### **Methods:**\n - **handleProgressionTypeChange()** - Observa mudanças no tipo de progressão.\nAtualiza a navegação dos painéis quando muda entre linear/nonlinear.\n- **handleInitialStepChange()** - Observa mudanças na etapa inicial.\nReinicializa o wizard quando a prop initialStep é alterada externamente.\n- **handleCurrentStepChange(newStep: _number_, oldStep: _number_)** - Observa mudanças na etapa atual (fonte única de verdade).\nSincroniza com br-step, atualiza painéis, anuncia mudança e move foco.\n- **handleSlotChange(event: _Event_)** - Detecta quando o slot muda (painéis adicionados/removidos dinamicamente).\nRedescobre os painéis e ressincroniza o estado.\n- **handleStepChange(event: _CustomEvent<{ activeStep: number }>_)** - Detecta quando o br-step muda de etapa ativa.\nValida e sincroniza a navegação com o componente interno br-step.\n- **nextStep():
|
|
4836
|
+
"description": "O componente `br-wizard` é o orquestrador completo de fluxos passo a passo do GovBR-DS, desenvolvido para guiar a pessoa usuária através de formulários e tarefas complexas distribuídas em etapas consecutivas.\n\n### Para que serve\n\n- **Condução guiada de processos:** Apresenta um formulário longo dividido em etapas menores e focadas, reduzindo a carga cognitiva e o índice de abandono.\n- **Barra de progresso e navegação integradas:** Combina o indicador visual de etapas (`step`), os painéis de conteúdo de cada etapa (`br-wizard-panel`) e a barra de ações com botões de \"Voltar\", \"Avançar\", \"Concluir\" e \"Cancelar\".\n- **Validação por etapa:** Permite interceptar o avanço de cada passo para validação antes de liberar o próximo painel.\n\n### Quando utilizar\n\n- **Utilize quando:**\n - Houver um processo de cadastro, requerimento, compra ou configuração estruturado em etapas com dependência de sequência.\n - For essencial oferecer navegação pré-programada de retorno e avanço com controle de estado.\n- **Evite e prefira outro componente quando:**\n - O objetivo for apenas mostrar o status de um pedido já concluído (use `br-step` simples).\n - O usuário puder navegar em qualquer ordem entre as seções da tela (use `br-tab`).\n\n### Composição e Subcomponentes\n\n| Subcomponente | Papel | Regra de uso |\n| --- | --- | --- |\n| `br-wizard` | **Orquestrador principal.** Gerencia a barra de progresso, ações de navegação (voltar/avançar), botões de rodapé e controle do painel ativo. | Deve ser o contêiner raiz do fluxo. |\n| `br-wizard-panel` | **Painel de etapa individual.** Contém os campos e formulários de uma etapa específica. | Declarado dentro do slot padrão do `br-wizard`. |\n\n### Como os subcomponentes se relacionam\n\nO `br-wizard` gerencia ativamente os elementos `br-wizard-panel` declarados em seu interior:\n1. O pai exibe apenas o painel correspondente à etapa atual (`activeStep`), mantendo os demais ocultos.\n2. Ao avançar ou retroceder, o `br-wizard` dispara eventos de validação e troca de etapa (`brStepChange`), atualizando simultaneamente o cabeçalho de progresso e as ações do rodapé.\n\nPara a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/wizard?tab=designer).\n---\n\n\n### **Events:**\n - **brWizardStepChange** - Evento emitido APÓS mudar de etapa com sucesso.\n\nEste evento é disparado independente da origem da navegação:\n- Botões \"Avançar\" ou \"Voltar\"\n- Click direto em um step do indicador de progresso\n- Chamadas programáticas via métodos públicos (goToStep, nextStep, etc)\n- **brWizardBeforeStepChange** - Evento emitido ANTES de mudar de etapa (permite validação e cancelamento).\n\nComportamento:\n- Disparado apenas ao AVANÇAR (targetStep > currentStep)\n- Não é disparado ao VOLTAR (targetStep < currentStep)\n- Funciona tanto para cliques nos botões quanto para cliques diretos nos steps\n- Pode ser cancelado com `event.preventDefault()` para bloquear a navegação\n- **brWizardComplete** - Evento emitido ao concluir o wizard (última etapa).\n- **brWizardCancel** - Evento emitido ao cancelar o wizard.\n- **brWizardNavigationBlocked** - Evento emitido quando uma ação é bloqueada (validação falha, progressão linear impedida).\nEmite uma string indicando o motivo: 'linear-progression' ou 'validation-failed'.\nUse getCurrentStepIndex() para obter o contexto da etapa atual.\n\n### **Methods:**\n - **handleProgressionTypeChange()** - Observa mudanças no tipo de progressão.\nAtualiza a navegação dos painéis quando muda entre linear/nonlinear.\n- **handleInitialStepChange()** - Observa mudanças na etapa inicial.\nReinicializa o wizard quando a prop initialStep é alterada externamente.\n- **handleCurrentStepChange(newStep: _number_, oldStep: _number_)** - Observa mudanças na etapa atual (fonte única de verdade).\nSincroniza com br-step, atualiza painéis, anuncia mudança e move foco.\n- **handleSlotChange(event: _Event_)** - Detecta quando o slot muda (painéis adicionados/removidos dinamicamente).\nRedescobre os painéis e ressincroniza o estado.\n- **handleStepChange(event: _CustomEvent<{ activeStep: number }>_)** - Detecta quando o br-step muda de etapa ativa.\nValida e sincroniza a navegação com o componente interno br-step.\n- **nextStep(): _Promise<boolean>_** - Avança para a próxima etapa.\nExecuta validação via evento `brWizardBeforeStepChange` antes de navegar.\n- **next(): _Promise<boolean>_** - Avança para a próxima etapa.\n- **previousStep(): _Promise<boolean>_** - Volta para a etapa anterior.\nNão executa validação ao retornar.\n- **previous(): _Promise<boolean>_** - Retorna para a etapa anterior.\n- **goToStep(stepNumber: _number_): _Promise<boolean>_** - Navega para uma etapa específica.\nExecuta validação se estiver avançando (etapa alvo > etapa atual).\n- **reset(): _Promise<void>_** - Retorna à primeira etapa do wizard.\nNão executa validação (útil para reiniciar o fluxo).\n- **getCurrentStep(): _Promise<HTMLElement | null>_** - Retorna o elemento HTML do painel ativo no momento.\n- **getAllSteps(): _Promise<HTMLElement[]>_** - Retorna todos os painéis do wizard.\n- **getStepByIndex(stepNumber: _number_): _Promise<HTMLElement | null>_** - Retorna um painel específico pelo índice.\n- **getCurrentStepIndex(): _Promise<number>_** - Retorna o índice (número) da etapa atual.\nA numeração começa em 1 (primeira etapa = 1, segunda = 2, etc).\n- **getTotalSteps(): _Promise<number>_** - Retorna o número total de etapas do wizard.\n- **render(): __** - Método de renderização principal do componente.\nMonta a estrutura completa do wizard com acessibilidade integrada.\n\n### **Slots:**\n - **default** - Slot para os painéis de etapa (br-wizard-panel) do wizard.\n- **cancel-button** - Conteúdo customizado do botão de cancelar. Quando utilizado, o texto padrão \"Cancelar\" é substituído.\n- **next-button** - Conteúdo customizado do botão de avançar/concluir. Quando utilizado, os textos padrão \"Avançar\" e \"Concluir\" são substituídos.\n- **previous-button** - Conteúdo customizado do botão de voltar. Quando utilizado, o texto padrão \"Voltar\" é substituído.\n\n### **CSS Parts:**\n - **form** - Área do formulário do wizard.\n- **panel** - Painel ativo do wizard.\n- **progress** - Área de progresso do wizard.\n- **content** - Conteúdo do painel ativo.\n- **buttons** - Área de botões de navegação.",
|
|
4831
4837
|
"attributes": [
|
|
4832
4838
|
{
|
|
4833
4839
|
"name": "step",
|