@govbr-ds/webcomponents 2.0.0-next.63 → 2.0.0-next.65
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/dist/cjs/br-avatar.cjs.entry.js +1 -1
- package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js +113 -61
- package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +4 -4
- package/dist/cjs/br-card.cjs.entry.js +2 -2
- package/dist/cjs/br-card.entry.cjs.js.map +1 -1
- package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/br-checkbox_3.cjs.entry.js +6 -6
- package/dist/cjs/br-checkgroup.cjs.entry.js +2 -2
- package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
- package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +4 -4
- package/dist/cjs/br-crumb.cjs.entry.js +38 -0
- package/dist/cjs/br-crumb.entry.cjs.js.map +1 -0
- package/dist/cjs/br-datetime-picker.cjs.entry.js +2 -2
- package/dist/cjs/br-datetime-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/br-divider.cjs.entry.js +2 -2
- package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown_2.cjs.entry.js +123 -40
- package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-category.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer-item.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer-legal.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-legal.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-logo.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer-social.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-social.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer.cjs.entry.js +2 -2
- package/dist/cjs/br-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header-function.cjs.entry.js +2 -2
- package/dist/cjs/br-header-function.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header-link.cjs.entry.js +2 -2
- package/dist/cjs/br-header-link.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header-list.cjs.entry.js +2 -2
- package/dist/cjs/br-header-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-header-logo.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header.cjs.entry.js +2 -2
- package/dist/cjs/br-header.entry.cjs.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +2 -2
- package/dist/cjs/br-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +2 -2
- package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/br-magic-button.cjs.entry.js +2 -2
- package/dist/cjs/br-magic-button.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-header.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-header.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-info.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-info.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/br-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-link.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-link.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-list.cjs.entry.js +1 -1
- package/dist/cjs/br-menu-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-logo.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu-social.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-social.entry.cjs.js.map +1 -1
- package/dist/cjs/br-menu.cjs.entry.js +3 -3
- package/dist/cjs/br-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +2 -2
- package/dist/cjs/br-message.entry.cjs.js.map +1 -1
- package/dist/cjs/br-modal.cjs.entry.js +252 -12
- package/dist/cjs/br-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/br-pagination.cjs.entry.js +1 -1
- package/dist/cjs/br-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/br-scrim.cjs.entry.js +117 -24
- package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
- package/dist/cjs/br-select-option.cjs.entry.js +32 -0
- package/dist/cjs/br-select-option.entry.cjs.js.map +1 -0
- package/dist/cjs/br-sign-in.cjs.entry.js +2 -2
- package/dist/cjs/br-sign-in.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/br-skip-link.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skiplink-item.cjs.entry.js +2 -2
- package/dist/cjs/br-skiplink-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step.br-step-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step_2.cjs.entry.js +17 -86
- package/dist/cjs/br-switch.cjs.entry.js +2 -2
- package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
- package/dist/cjs/br-tab-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tab.cjs.entry.js +76 -10
- package/dist/cjs/br-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table-cell.cjs.entry.js +2 -2
- package/dist/cjs/br-table-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table-header-cell.cjs.entry.js +2 -2
- package/dist/cjs/br-table-header-cell.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table-header-row.cjs.entry.js +2 -2
- package/dist/cjs/br-table-header-row.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table-row.cjs.entry.js +2 -2
- package/dist/cjs/br-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table.cjs.entry.js +2 -2
- package/dist/cjs/br-table.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tag.cjs.entry.js +2 -2
- package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +2 -2
- package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/br-upload.cjs.entry.js +2 -2
- package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard-panel.cjs.entry.js +2 -2
- package/dist/cjs/br-wizard-panel.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard.cjs.entry.js +2 -2
- package/dist/cjs/br-wizard.entry.cjs.js.map +1 -1
- package/dist/cjs/index-CFIH680Y.js +8 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +124 -57
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb/crumb/crumb.js +168 -0
- package/dist/collection/components/breadcrumb/crumb/crumb.js.map +1 -0
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/checkgroup/checkgroup.css +1 -1
- package/dist/collection/components/checkgroup/checkgroup.js +1 -1
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.js +2 -2
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.js +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.js +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.js +1 -1
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/footer/footer.js +1 -1
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-function/header-function.js +1 -1
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-link/header-link.js +1 -1
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-list/header-list.js +1 -1
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header-logo/header-logo.js +1 -1
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +1 -1
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/item/item.js +1 -1
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/loading/loading.js +1 -1
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/magic-button/magic-button.js +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.js +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.js +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.js +2 -2
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.js +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-logo/menu-logo.js +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.js +1 -1
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/message/message.js +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/modal/modal.js +266 -12
- package/dist/collection/components/modal/modal.js.map +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/radio.js +1 -1
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/scrim/scrim.js +116 -23
- package/dist/collection/components/scrim/scrim.js.map +1 -1
- package/dist/collection/components/select/select-option/select-option.js +122 -0
- package/dist/collection/components/select/select-option/select-option.js.map +1 -0
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +151 -38
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +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-item/skip-link-item.js +1 -1
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/skip-link/skip-link.js +1 -1
- package/dist/collection/components/skip-link/skip-link.js.map +1 -1
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step-item/step-item.js +16 -86
- package/dist/collection/components/step/step-item/step-item.js.map +1 -1
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/step/step.js +2 -6
- package/dist/collection/components/step/step.js.map +1 -1
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +137 -17
- package/dist/collection/components/tab/tab.js.map +1 -1
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
- package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
- package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table-row/table-row.js +1 -1
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +1 -1
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +1 -1
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/collection/components/wizard/wizard.js +1 -1
- package/dist/collection/pages/scripts/menu.js +3 -1
- package/dist/collection/pages/scripts/pageLoader.js +4 -2
- package/dist/collection/value-accessors/angular-value-accessor-config.js +1 -1
- package/dist/collection/value-accessors/angular-value-accessor-config.js.map +1 -1
- package/dist/components/br-avatar.js +3 -3
- package/dist/components/br-breadcrumb.js +161 -90
- package/dist/components/br-breadcrumb.js.map +1 -1
- package/dist/components/br-button.js +3 -3
- package/dist/components/br-card.js +3 -3
- package/dist/components/br-checkbox.js +4 -4
- package/dist/components/br-checkgroup.js +11 -11
- package/dist/components/br-collapse.js +4 -4
- package/dist/components/br-crumb.d.ts +11 -0
- package/dist/components/br-crumb.js +80 -0
- package/dist/components/br-crumb.js.map +1 -0
- package/dist/components/br-datetime-picker.js +324 -324
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.js +4 -4
- package/dist/components/br-footer-category.js +14 -14
- package/dist/components/br-footer-item.js +6 -6
- package/dist/components/br-footer-legal.js +9 -9
- package/dist/components/br-footer-logo.js +4 -4
- package/dist/components/br-footer-social.js +7 -7
- package/dist/components/br-footer.js +24 -24
- package/dist/components/br-header-function.js +6 -6
- package/dist/components/br-header-link.js +6 -6
- package/dist/components/br-header-list.js +8 -8
- package/dist/components/br-header-logo.js +13 -13
- package/dist/components/br-header.js +15 -15
- package/dist/components/br-icon.js +3 -3
- package/dist/components/br-input.js +3 -3
- package/dist/components/br-item.js +3 -3
- package/dist/components/br-list.js +4 -4
- package/dist/components/br-loading.js +7 -7
- package/dist/components/br-magic-button.js +7 -7
- package/dist/components/br-menu-header.js +14 -14
- package/dist/components/br-menu-info.js +5 -5
- package/dist/components/br-menu-item.js +3 -3
- package/dist/components/br-menu-link.js +9 -9
- package/dist/components/br-menu-list.js +4 -4
- package/dist/components/br-menu-logo.js +6 -6
- package/dist/components/br-menu-social.js +9 -9
- package/dist/components/br-menu.js +35 -35
- package/dist/components/br-message.js +5 -5
- package/dist/components/br-modal.js +230 -21
- package/dist/components/br-modal.js.map +1 -1
- package/dist/components/br-pagination.js +12 -12
- package/dist/components/br-radio.js +4 -4
- package/dist/components/br-scrim.js +122 -37
- package/dist/components/br-scrim.js.map +1 -1
- package/dist/components/br-select-option.d.ts +11 -0
- package/dist/components/br-select-option.js +72 -0
- package/dist/components/br-select-option.js.map +1 -0
- package/dist/components/br-select.js +4 -4
- package/dist/components/br-sign-in.js +11 -11
- package/dist/components/br-skip-link.js +10 -11
- package/dist/components/br-skip-link.js.map +1 -1
- package/dist/components/br-skiplink-item.js +14 -14
- package/dist/components/br-step-item.js +4 -4
- package/dist/components/br-step.js +3 -3
- package/dist/components/br-switch.js +7 -7
- package/dist/components/br-tab-item.js +7 -7
- package/dist/components/br-tab.js +82 -26
- package/dist/components/br-tab.js.map +1 -1
- package/dist/components/br-table-cell.js +5 -5
- package/dist/components/br-table-header-cell.js +8 -8
- package/dist/components/br-table-header-row.js +5 -5
- package/dist/components/br-table-row.js +5 -5
- package/dist/components/br-table.js +8 -8
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-textarea.js +4 -4
- package/dist/components/br-tooltip.js +14 -14
- package/dist/components/br-upload.js +34 -34
- package/dist/components/br-wizard-panel.js +6 -6
- package/dist/components/br-wizard.js +12 -12
- package/dist/components/br-wizard.js.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +5 -1
- package/dist/components/{p-CJSXIVVe.js → p-B4_2a6sY.js} +9 -9
- package/dist/components/{p-DdjKNpU3.js → p-BVCWXitK.js} +157 -61
- package/dist/components/p-BVCWXitK.js.map +1 -0
- package/dist/components/p-BXMQkO62.js +399 -0
- package/dist/components/p-Bb4aDGZV.js +192 -0
- package/dist/components/p-BfM6USmd.js +138 -0
- package/dist/components/{p-BIJ6vVdB.js.map → p-BfM6USmd.js.map} +1 -1
- package/dist/components/{p-CwtLw60M.js → p-Bjywc5uG.js} +6 -6
- package/dist/components/p-BtGv7ZmW.js +229 -0
- package/dist/components/p-BtGv7ZmW.js.map +1 -0
- package/dist/components/{p-C_OI0BQu.js → p-BwHD1VKm.js} +6 -6
- package/dist/components/{p-Bqb7YtL0.js → p-C1NfZb6u.js} +19 -19
- package/dist/components/{p-DW63EY0U.js → p-C2apigAS.js} +13 -13
- package/dist/components/{p-5Bn_PU3B.js → p-CldlPwBq.js} +8 -8
- package/dist/components/p-DLCPJIh7.js +306 -0
- package/dist/components/p-DLCPJIh7.js.map +1 -0
- package/dist/components/{p-Bri6ECVa.js → p-DexVMiiX.js} +13 -13
- package/dist/components/p-DexVMiiX.js.map +1 -0
- package/dist/components/{p-DSkSDmzD.js → p-DozXPp1d.js} +3 -3
- package/dist/components/p-DzfbHHTf.js +136 -0
- package/dist/components/{p-CBj_WCYf.js → p-JsxUUux9.js} +6 -6
- package/dist/components/{p-lIb35q2K.js → p-p8k-sBQZ.js} +8 -8
- package/dist/custom-elements.json +1202 -524
- package/dist/esm/br-avatar.entry.js +2 -2
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-breadcrumb.entry.js +114 -62
- package/dist/esm/br-breadcrumb.entry.js.map +1 -1
- package/dist/esm/br-button.br-icon.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +5 -5
- package/dist/esm/br-card.entry.js +3 -3
- package/dist/esm/br-card.entry.js.map +1 -1
- package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +1 -1
- package/dist/esm/br-checkbox_3.entry.js +7 -7
- package/dist/esm/br-checkgroup.entry.js +3 -3
- package/dist/esm/br-checkgroup.entry.js.map +1 -1
- package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
- package/dist/esm/br-collapse_2.entry.js +5 -5
- package/dist/esm/br-crumb.entry.js +36 -0
- package/dist/esm/br-crumb.entry.js.map +1 -0
- package/dist/esm/br-datetime-picker.entry.js +3 -3
- package/dist/esm/br-datetime-picker.entry.js.map +1 -1
- package/dist/esm/br-divider.entry.js +3 -3
- package/dist/esm/br-divider.entry.js.map +1 -1
- package/dist/esm/br-dropdown.br-select.entry.js.map +1 -1
- package/dist/esm/br-dropdown_2.entry.js +124 -41
- package/dist/esm/br-footer-category.entry.js +4 -4
- package/dist/esm/br-footer-category.entry.js.map +1 -1
- package/dist/esm/br-footer-item.entry.js +3 -3
- package/dist/esm/br-footer-item.entry.js.map +1 -1
- package/dist/esm/br-footer-legal.entry.js +3 -3
- package/dist/esm/br-footer-legal.entry.js.map +1 -1
- package/dist/esm/br-footer-logo.entry.js +3 -3
- package/dist/esm/br-footer-logo.entry.js.map +1 -1
- package/dist/esm/br-footer-social.entry.js +3 -3
- package/dist/esm/br-footer-social.entry.js.map +1 -1
- package/dist/esm/br-footer.entry.js +3 -3
- package/dist/esm/br-footer.entry.js.map +1 -1
- package/dist/esm/br-header-function.entry.js +3 -3
- package/dist/esm/br-header-function.entry.js.map +1 -1
- package/dist/esm/br-header-link.entry.js +3 -3
- package/dist/esm/br-header-link.entry.js.map +1 -1
- package/dist/esm/br-header-list.entry.js +3 -3
- package/dist/esm/br-header-list.entry.js.map +1 -1
- package/dist/esm/br-header-logo.entry.js +3 -3
- package/dist/esm/br-header-logo.entry.js.map +1 -1
- package/dist/esm/br-header.entry.js +3 -3
- package/dist/esm/br-header.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +3 -3
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-loading.entry.js +3 -3
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-magic-button.entry.js +3 -3
- package/dist/esm/br-magic-button.entry.js.map +1 -1
- package/dist/esm/br-menu-header.entry.js +3 -3
- package/dist/esm/br-menu-header.entry.js.map +1 -1
- package/dist/esm/br-menu-info.entry.js +3 -3
- package/dist/esm/br-menu-info.entry.js.map +1 -1
- package/dist/esm/br-menu-item.entry.js +4 -4
- package/dist/esm/br-menu-item.entry.js.map +1 -1
- package/dist/esm/br-menu-link.entry.js +3 -3
- package/dist/esm/br-menu-link.entry.js.map +1 -1
- package/dist/esm/br-menu-list.entry.js +2 -2
- package/dist/esm/br-menu-list.entry.js.map +1 -1
- package/dist/esm/br-menu-logo.entry.js +3 -3
- package/dist/esm/br-menu-logo.entry.js.map +1 -1
- package/dist/esm/br-menu-social.entry.js +3 -3
- package/dist/esm/br-menu-social.entry.js.map +1 -1
- package/dist/esm/br-menu.entry.js +4 -4
- package/dist/esm/br-menu.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +3 -3
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-modal.entry.js +253 -13
- package/dist/esm/br-modal.entry.js.map +1 -1
- package/dist/esm/br-pagination.entry.js +2 -2
- package/dist/esm/br-pagination.entry.js.map +1 -1
- package/dist/esm/br-scrim.entry.js +118 -25
- package/dist/esm/br-scrim.entry.js.map +1 -1
- package/dist/esm/br-select-option.entry.js +30 -0
- package/dist/esm/br-select-option.entry.js.map +1 -0
- package/dist/esm/br-sign-in.entry.js +3 -3
- package/dist/esm/br-sign-in.entry.js.map +1 -1
- package/dist/esm/br-skip-link.entry.js +3 -3
- package/dist/esm/br-skip-link.entry.js.map +1 -1
- package/dist/esm/br-skiplink-item.entry.js +3 -3
- package/dist/esm/br-skiplink-item.entry.js.map +1 -1
- package/dist/esm/br-step.br-step-item.entry.js.map +1 -1
- package/dist/esm/br-step_2.entry.js +18 -87
- package/dist/esm/br-switch.entry.js +3 -3
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-tab-item.entry.js +3 -3
- package/dist/esm/br-tab-item.entry.js.map +1 -1
- package/dist/esm/br-tab.entry.js +77 -11
- package/dist/esm/br-tab.entry.js.map +1 -1
- package/dist/esm/br-table-cell.entry.js +3 -3
- package/dist/esm/br-table-cell.entry.js.map +1 -1
- package/dist/esm/br-table-header-cell.entry.js +3 -3
- package/dist/esm/br-table-header-cell.entry.js.map +1 -1
- package/dist/esm/br-table-header-row.entry.js +3 -3
- package/dist/esm/br-table-header-row.entry.js.map +1 -1
- package/dist/esm/br-table-row.entry.js +3 -3
- package/dist/esm/br-table-row.entry.js.map +1 -1
- package/dist/esm/br-table.entry.js +3 -3
- package/dist/esm/br-table.entry.js.map +1 -1
- package/dist/esm/br-tag.entry.js +3 -3
- package/dist/esm/br-tag.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +3 -3
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-tooltip.entry.js +3 -3
- package/dist/esm/br-tooltip.entry.js.map +1 -1
- package/dist/esm/br-upload.entry.js +3 -3
- package/dist/esm/br-upload.entry.js.map +1 -1
- package/dist/esm/br-wizard-panel.entry.js +3 -3
- package/dist/esm/br-wizard-panel.entry.js.map +1 -1
- package/dist/esm/br-wizard.entry.js +3 -3
- package/dist/esm/br-wizard.entry.js.map +1 -1
- package/dist/esm/{index-ByGJPTh2.js → index-CgnD6TrP.js} +11 -3
- package/dist/esm/{index-ByGJPTh2.js.map → index-CgnD6TrP.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/webcomponents.js +3 -3
- package/dist/hydrate/index.js +3543 -2986
- package/dist/hydrate/index.mjs +3543 -2986
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +21 -15
- package/dist/types/components/breadcrumb/crumb/crumb.d.ts +35 -0
- package/dist/types/components/modal/modal.d.ts +86 -3
- package/dist/types/components/scrim/scrim.d.ts +32 -2
- package/dist/types/components/select/select-option/select-option.d.ts +29 -0
- package/dist/types/components/select/select.d.ts +30 -10
- package/dist/types/components/step/step-item/step-item.d.ts +3 -14
- package/dist/types/components/tab/tab.d.ts +67 -7
- package/dist/types/components.d.ts +215 -12
- package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-card.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-crumb.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-datetime-picker.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-category.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-legal.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-logo.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-social.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-function.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-link.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-logo.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-magic-button.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-header.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-info.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-link.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-logo.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu-social.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-menu.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-modal.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-pagination.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-select-option.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-sign-in.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skip-link.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skiplink-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-step.br-step-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tab-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tab.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table-cell.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table-header-row.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table-row.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard-panel.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard.entry.esm.js.map +1 -1
- package/dist/webcomponents/{p-f2ea0d7e.entry.js → p-020c598b.entry.js} +19 -19
- package/dist/webcomponents/{p-f2ea0d7e.entry.js.map → p-020c598b.entry.js.map} +1 -1
- package/dist/webcomponents/{p-83001853.entry.js → p-09a09974.entry.js} +6 -6
- package/dist/webcomponents/{p-83001853.entry.js.map → p-09a09974.entry.js.map} +1 -1
- package/dist/webcomponents/{p-bd803fec.entry.js → p-0be0b270.entry.js} +372 -372
- package/dist/webcomponents/{p-bd803fec.entry.js.map → p-0be0b270.entry.js.map} +1 -1
- package/dist/webcomponents/p-0d8da69a.entry.js +50 -0
- package/dist/webcomponents/{p-8b3688ab.entry.js → p-107ad6d3.entry.js} +6 -6
- package/dist/webcomponents/{p-01b4fecb.entry.js → p-10b0d158.entry.js} +6 -6
- package/dist/webcomponents/{p-f1fb559a.entry.js → p-13b1b500.entry.js} +7 -7
- package/dist/webcomponents/p-15561737.entry.js +428 -0
- package/dist/webcomponents/p-15561737.entry.js.map +1 -0
- package/dist/webcomponents/{p-c0cdb81f.entry.js → p-24dd7de0.entry.js} +9 -9
- package/dist/webcomponents/{p-e5875d3d.entry.js → p-26ec56f1.entry.js} +5 -5
- package/dist/webcomponents/{p-e5875d3d.entry.js.map → p-26ec56f1.entry.js.map} +1 -1
- package/dist/webcomponents/p-34cd69c7.entry.js +105 -0
- package/dist/webcomponents/{p-d856888c.entry.js.map → p-34cd69c7.entry.js.map} +1 -1
- package/dist/webcomponents/{p-c06a79b8.entry.js → p-3956e4ac.entry.js} +6 -6
- package/dist/webcomponents/{p-462c5647.entry.js → p-4071b981.entry.js} +4 -4
- package/dist/webcomponents/p-42f11872.entry.js +60 -0
- package/dist/webcomponents/{p-f16a5e27.entry.js → p-4ad3b8c9.entry.js} +8 -8
- package/dist/webcomponents/{p-de358dbe.entry.js → p-512385f0.entry.js} +7 -7
- package/dist/webcomponents/{p-cfecd64a.entry.js → p-53c2b2c2.entry.js} +34 -34
- package/dist/webcomponents/p-567b17e6.entry.js +346 -0
- package/dist/webcomponents/{p-46dfc3ee.entry.js → p-57d49488.entry.js} +5 -5
- package/dist/webcomponents/p-58a862f9.entry.js +44 -0
- package/dist/webcomponents/p-58a862f9.entry.js.map +1 -0
- package/dist/webcomponents/p-59d41342.entry.js +101 -0
- package/dist/webcomponents/{p-c1b0a116.entry.js → p-5b7f446c.entry.js} +7 -7
- package/dist/webcomponents/{p-bd978abf.entry.js → p-610c2e8e.entry.js} +4 -4
- package/dist/webcomponents/p-62651eba.entry.js +44 -0
- package/dist/webcomponents/{p-50f1b088.entry.js → p-6bf86e0b.entry.js} +6 -6
- package/dist/webcomponents/{p-10e25a32.entry.js → p-6f8abd26.entry.js} +41 -41
- package/dist/webcomponents/{p-a2eec4fb.entry.js → p-7a93d79b.entry.js} +123 -38
- package/dist/webcomponents/p-7a93d79b.entry.js.map +1 -0
- package/dist/webcomponents/p-7d8eb8ac.entry.js +40 -0
- package/dist/webcomponents/p-7d8eb8ac.entry.js.map +1 -0
- package/dist/webcomponents/{p-56aabe89.entry.js → p-857cfe62.entry.js} +19 -19
- package/dist/webcomponents/p-898d950f.entry.js +84 -0
- package/dist/webcomponents/{p-6ecb3439.entry.js → p-8a931bfe.entry.js} +9 -9
- package/dist/webcomponents/p-8b7cc3a9.entry.js +92 -0
- package/dist/webcomponents/{p-ca2d95f7.entry.js → p-946cc8f3.entry.js} +142 -48
- package/dist/webcomponents/p-946cc8f3.entry.js.map +1 -0
- package/dist/webcomponents/p-9bb74d81.entry.js +133 -0
- package/dist/webcomponents/{p-cfa86a23.entry.js.map → p-9bb74d81.entry.js.map} +1 -1
- package/dist/webcomponents/p-9fabdfb4.entry.js +75 -0
- package/dist/webcomponents/{p-9b50e6af.entry.js → p-9fe9f5d2.entry.js} +6 -6
- package/dist/webcomponents/{p-ByGJPTh2.js → p-CgnD6TrP.js} +3 -3
- package/dist/webcomponents/{p-ByGJPTh2.js.map → p-CgnD6TrP.js.map} +1 -1
- package/dist/webcomponents/p-a09cf1bc.entry.js +145 -0
- package/dist/webcomponents/{p-30af66b3.entry.js → p-ae4feb1e.entry.js} +9 -9
- package/dist/webcomponents/p-b020467b.entry.js +351 -0
- package/dist/webcomponents/p-b020467b.entry.js.map +1 -0
- package/dist/webcomponents/{p-336071a5.entry.js → p-b04b7996.entry.js} +13 -13
- package/dist/webcomponents/{p-d7070712.entry.js → p-b39c2ad1.entry.js} +5 -5
- package/dist/webcomponents/{p-4bb5aeab.entry.js → p-b8e4bc36.entry.js} +17 -17
- package/dist/webcomponents/{p-66d26793.entry.js → p-b9c38611.entry.js} +3 -3
- package/dist/webcomponents/p-c4e28f37.entry.js +446 -0
- package/dist/webcomponents/p-c4e28f37.entry.js.map +1 -0
- package/dist/webcomponents/{p-d090d412.entry.js → p-cf764a83.entry.js} +6 -6
- package/dist/webcomponents/{p-27eb10f9.entry.js → p-d75fccd1.entry.js} +13 -13
- package/dist/webcomponents/p-da17c570.entry.js +134 -0
- package/dist/webcomponents/{p-6a9d2a0b.entry.js → p-df170bb4.entry.js} +6 -6
- package/dist/webcomponents/p-e55b41b4.entry.js +159 -0
- package/dist/webcomponents/{p-7537c4ba.entry.js.map → p-e55b41b4.entry.js.map} +1 -1
- package/dist/webcomponents/{p-a365183a.entry.js → p-e58dbeef.entry.js} +6 -6
- package/dist/webcomponents/p-e5ff5232.entry.js +452 -0
- package/dist/webcomponents/p-e5ff5232.entry.js.map +1 -0
- package/dist/webcomponents/{p-007c0f38.entry.js → p-f2f32774.entry.js} +14 -14
- package/dist/webcomponents/{p-1991135d.entry.js → p-f583b74c.entry.js} +8 -9
- package/dist/webcomponents/p-f583b74c.entry.js.map +1 -0
- package/dist/webcomponents/{p-061dbde5.entry.js → p-f723c6fc.entry.js} +5 -5
- package/dist/webcomponents/p-f86da8f9.entry.js +94 -0
- package/dist/webcomponents/p-fc94c64c.entry.js +50 -0
- package/dist/webcomponents/webcomponents.esm.js +3 -3
- package/dist/webcomponents.html-custom-data.json +106 -49
- package/package.json +1 -1
- package/dist/components/p-AOxMWARt.js +0 -136
- package/dist/components/p-BIJ6vVdB.js +0 -138
- package/dist/components/p-B_YesJM8.js +0 -192
- package/dist/components/p-Bc03PTAW.js +0 -306
- package/dist/components/p-Bc03PTAW.js.map +0 -1
- package/dist/components/p-Bri6ECVa.js.map +0 -1
- package/dist/components/p-C3Rduy2t.js +0 -399
- package/dist/components/p-CWRBs6PD.js +0 -316
- package/dist/components/p-CWRBs6PD.js.map +0 -1
- package/dist/components/p-DdjKNpU3.js.map +0 -1
- package/dist/webcomponents/p-0e3a9a52.entry.js +0 -44
- package/dist/webcomponents/p-1991135d.entry.js.map +0 -1
- package/dist/webcomponents/p-271fafec.entry.js +0 -94
- package/dist/webcomponents/p-2768bb52.entry.js +0 -92
- package/dist/webcomponents/p-2a6b20bb.entry.js +0 -60
- package/dist/webcomponents/p-2de59d45.entry.js +0 -145
- package/dist/webcomponents/p-3c75367e.entry.js +0 -50
- package/dist/webcomponents/p-492972fb.entry.js +0 -380
- package/dist/webcomponents/p-492972fb.entry.js.map +0 -1
- package/dist/webcomponents/p-4cc446e4.entry.js +0 -50
- package/dist/webcomponents/p-5710a3e9.entry.js +0 -529
- package/dist/webcomponents/p-5710a3e9.entry.js.map +0 -1
- package/dist/webcomponents/p-7537c4ba.entry.js +0 -159
- package/dist/webcomponents/p-8c0f167a.entry.js +0 -101
- package/dist/webcomponents/p-90401ecd.entry.js +0 -219
- package/dist/webcomponents/p-90401ecd.entry.js.map +0 -1
- package/dist/webcomponents/p-a2eec4fb.entry.js.map +0 -1
- package/dist/webcomponents/p-aa7635d4.entry.js +0 -346
- package/dist/webcomponents/p-b30ef853.entry.js +0 -75
- package/dist/webcomponents/p-b8e4b353.entry.js +0 -84
- package/dist/webcomponents/p-c5b716c8.entry.js +0 -134
- package/dist/webcomponents/p-c73b38c5.entry.js +0 -297
- package/dist/webcomponents/p-c73b38c5.entry.js.map +0 -1
- package/dist/webcomponents/p-ca2d95f7.entry.js.map +0 -1
- package/dist/webcomponents/p-cfa86a23.entry.js +0 -133
- package/dist/webcomponents/p-d856888c.entry.js +0 -105
- /package/dist/components/{p-CJSXIVVe.js.map → p-B4_2a6sY.js.map} +0 -0
- /package/dist/components/{p-C3Rduy2t.js.map → p-BXMQkO62.js.map} +0 -0
- /package/dist/components/{p-B_YesJM8.js.map → p-Bb4aDGZV.js.map} +0 -0
- /package/dist/components/{p-CwtLw60M.js.map → p-Bjywc5uG.js.map} +0 -0
- /package/dist/components/{p-C_OI0BQu.js.map → p-BwHD1VKm.js.map} +0 -0
- /package/dist/components/{p-Bqb7YtL0.js.map → p-C1NfZb6u.js.map} +0 -0
- /package/dist/components/{p-DW63EY0U.js.map → p-C2apigAS.js.map} +0 -0
- /package/dist/components/{p-5Bn_PU3B.js.map → p-CldlPwBq.js.map} +0 -0
- /package/dist/components/{p-DSkSDmzD.js.map → p-DozXPp1d.js.map} +0 -0
- /package/dist/components/{p-AOxMWARt.js.map → p-DzfbHHTf.js.map} +0 -0
- /package/dist/components/{p-CBj_WCYf.js.map → p-JsxUUux9.js.map} +0 -0
- /package/dist/components/{p-lIb35q2K.js.map → p-p8k-sBQZ.js.map} +0 -0
- /package/dist/webcomponents/{p-3c75367e.entry.js.map → p-0d8da69a.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8b3688ab.entry.js.map → p-107ad6d3.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-01b4fecb.entry.js.map → p-10b0d158.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-f1fb559a.entry.js.map → p-13b1b500.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c0cdb81f.entry.js.map → p-24dd7de0.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c06a79b8.entry.js.map → p-3956e4ac.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-462c5647.entry.js.map → p-4071b981.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-2a6b20bb.entry.js.map → p-42f11872.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-f16a5e27.entry.js.map → p-4ad3b8c9.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-de358dbe.entry.js.map → p-512385f0.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-cfecd64a.entry.js.map → p-53c2b2c2.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-aa7635d4.entry.js.map → p-567b17e6.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-46dfc3ee.entry.js.map → p-57d49488.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8c0f167a.entry.js.map → p-59d41342.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c1b0a116.entry.js.map → p-5b7f446c.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-bd978abf.entry.js.map → p-610c2e8e.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-0e3a9a52.entry.js.map → p-62651eba.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-50f1b088.entry.js.map → p-6bf86e0b.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-10e25a32.entry.js.map → p-6f8abd26.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-56aabe89.entry.js.map → p-857cfe62.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-b8e4b353.entry.js.map → p-898d950f.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-6ecb3439.entry.js.map → p-8a931bfe.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-2768bb52.entry.js.map → p-8b7cc3a9.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-b30ef853.entry.js.map → p-9fabdfb4.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-9b50e6af.entry.js.map → p-9fe9f5d2.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-2de59d45.entry.js.map → p-a09cf1bc.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-30af66b3.entry.js.map → p-ae4feb1e.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-336071a5.entry.js.map → p-b04b7996.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-d7070712.entry.js.map → p-b39c2ad1.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-4bb5aeab.entry.js.map → p-b8e4bc36.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-66d26793.entry.js.map → p-b9c38611.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-d090d412.entry.js.map → p-cf764a83.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-27eb10f9.entry.js.map → p-d75fccd1.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c5b716c8.entry.js.map → p-da17c570.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-6a9d2a0b.entry.js.map → p-df170bb4.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-a365183a.entry.js.map → p-e58dbeef.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-007c0f38.entry.js.map → p-f2f32774.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-061dbde5.entry.js.map → p-f723c6fc.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-271fafec.entry.js.map → p-f86da8f9.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-4cc446e4.entry.js.map → p-fc94c64c.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"br-pagination.entry.esm.js","sources":["../../packages/webcomponents/src/components/pagination/pagination.scss?tag=br-pagination&encapsulation=shadow","../../packages/webcomponents/src/components/pagination/pagination.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/pagination/pagination\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n\n /* Regra: até 4 itens no dropdown de reticências não deve haver rolagem; a partir de 5, deve. */\n /* O core aplica scroll sempre em .pagination-ellipsis .br-list; sobrescrevemos aqui. */\n .pagination-ellipsis br-list {\n max-height: none;\n overflow: visible;\n }\n\n .pagination-ellipsis br-list.has-scroll {\n max-height: 220px; /* mantém o valor do core */\n overflow-y: auto;\n\n @include scrollbar; /* aplica o estilo da barra de rolagem do DS */\n }\n\n .br-pagination button.page:not(.active) {\n background-color: transparent;\n }\n}\n\n:host([variant=\"contextual\"]) .br-pagination {\n justify-content: space-between;\n}\n\n:host(:not([variant=\"contextual\"])) .br-pagination {\n justify-content: center;\n}\n\n:host([variant=\"contextual\"]) .br-pagination ul {\n justify-content: center;\n width: 100%;\n}\n\n:host([color-mode=\"dark\"]) br-select {\n --color: var(--color-dark);\n --focus-color: var(--focus-color-dark);\n}\n\n:host([color-mode=\"dark\"]) br-select::part(label) {\n color: var(--color-dark);\n}\n\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active),\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active) {\n color: var(--color);\n background-color: transparent;\n border-color: transparent;\n}\n\n.br-pagination.dark-mode .br-select .br-item label,\n.br-pagination.dark-mode .page {\n color: var(--color-dark);\n background-color: transparent;\n}\n\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):hover,\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):focus,\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):focus-visible,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):hover,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):focus,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):focus-visible {\n color: var(--interactive);\n}\n\n/* Realce de foco visível nos identificadores (botões) de página */\n.br-pagination .page:focus-visible {\n outline: var(--focus) var(--focus-style) var(--focus-width);\n outline-offset: var(--focus-offset);\n}\n\n.pagination-ellipsis br-button::part(button) {\n --button-size: var(--pagination-size);\n}\n\n.pagination-ellipsis br-button:focus-visible {\n outline: var(--focus) var(--focus-style) var(--focus-width);\n outline-offset: var(--focus-offset);\n border-radius: 50%;\n}\n\n/* Utilitário para conteúdo apenas para leitores de tela */\n.visually-hidden {\n position: absolute !important;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap; /* impede quebra de linha */\n}\n\n:host([color-mode=\"dark\"]) br-select::part(radio-label) {\n color: var(--color-dark);\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/pagination?tab=designer).\n *\n * @part nav - Parte para o contêiner raiz da paginação (elemento nav), usada para estilização via ::part().\n * @part list - Parte para a lista de páginas (elemento ul), usada para estilização via ::part().\n * @part page - Parte para os itens de página numérica (elemento a), usada para estilização via ::part().\n * @part prev-button - Parte para o botão de página anterior, usada para estilização via ::part().\n * @part next-button - Parte para o botão de próxima página, usada para estilização via ::part().\n */\n@Component({\n tag: 'br-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Pagination {\n // Índice incremental para diferenciar instâncias em rótulos gerados\n private static instanceCounter = 0\n private readonly instanceIndex = ++Pagination.instanceCounter\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrPaginationElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Estado interno para responsividade. Verdadeiro quando viewport < sm.\n */\n @State() private isSmall = false\n\n private mqlSmall?: MediaQueryList\n private lastInteraction?: 'number' | 'ellipsis' | 'goTo' | 'perPage' | 'programmatic'\n\n /**\n * Define se a paginação usará um esquema de cores escuro.\n * Quando definido como `dark`, aplica a classe `dark-mode` ao container principal.\n */\n @Prop({ reflect: true }) readonly colorMode?: 'dark'\n\n /**\n * Identificador único; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-pagination')\n\n /**\n * Quantidade total de páginas (mínimo 1).\n */\n @Prop({ reflect: true }) readonly total: number = 1\n\n /**\n * Página atual (1-indexada). Valores fora do intervalo serão ajustados.\n */\n @Prop({ reflect: true, mutable: true }) current: number = 1\n\n /**\n * Rótulo acessível do container `nav`.\n * Se não fornecido, será gerado automaticamente um rótulo descritivo e único\n * no momento da renderização (ex.: \"Paginação: página 2 de 10\").\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Rótulo acessível do botão de página anterior.\n */\n @Prop({ reflect: true }) readonly previousLabel: string = 'Voltar página'\n\n /**\n * Rótulo acessível do botão de próxima página.\n */\n @Prop({ reflect: true }) readonly nextLabel: string = 'Página seguinte'\n\n /**\n * Rótulo acessível do botão de reticências que abre a lista de páginas ocultas.\n */\n @Prop({ reflect: true }) readonly ellipsisLabel: string = 'Abrir ou fechar a lista de paginação'\n\n /**\n * Ajusta a densidade da paginação, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Variante de renderização do componente.\n * - `default`: paginação numérica (padrão)\n * - `contextual`: paginação contextual com seletores e informação de itens\n */\n @Prop({ reflect: true }) readonly variant: 'default' | 'contextual' = 'default'\n\n /**\n * Total de itens (aplicável na variante contextual).\n */\n @Prop({ reflect: true }) readonly totalItems?: number\n\n /**\n * Itens por página (aplicável na variante contextual).\n */\n @Prop({ reflect: true, mutable: true }) perPage: number = 10\n\n /**\n * Opções disponíveis de itens por página (variante contextual).\n */\n @Prop({ reflect: false }) perPageOptions: number[] = [10, 20, 30]\n\n /**\n * Rótulo do seletor de itens por página (variante contextual).\n */\n @Prop({ reflect: true }) readonly perPageLabel: string = 'Exibir'\n\n /**\n * Rótulo do seletor \"ir para página\" (variante contextual).\n */\n @Prop({ reflect: true }) readonly goToPageLabel: string = 'Página'\n\n /**\n * Sufixo textual para a informação de quantidade de itens (variante contextual).\n */\n @Prop({ reflect: true }) readonly itemsText: string = 'itens'\n\n /**\n * Emite quando a página muda por interação do usuário.\n */\n @Event({ bubbles: true, composed: true }) pageChange: EventEmitter<{ page: number }>\n\n /**\n * Emite quando o valor de itens por página é alterado (variante contextual).\n */\n @Event({ bubbles: true, composed: true }) perPageChange: EventEmitter<{ perPage: number }>\n\n @Watch('total')\n handleTotalChange() {\n this.current = this.clampPage(this.current)\n }\n\n @Watch('current')\n handleCurrentChange(newValue: number) {\n const clamped = this.clampPage(newValue)\n if (clamped !== newValue) {\n this.current = clamped\n }\n }\n\n componentWillLoad() {\n this.current = this.clampPage(this.current)\n this.setupMediaQuery()\n }\n\n connectedCallback() {\n this.setupMediaQuery()\n }\n\n disconnectedCallback() {\n this.cleanupMediaQuery()\n }\n\n private setupMediaQuery() {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return\n const query = '(max-width: 575.98px)'\n try {\n this.mqlSmall = window.matchMedia(query)\n this.isSmall = this.mqlSmall.matches\n const handler = (e: MediaQueryListEvent) => {\n this.isSmall = e.matches\n }\n if ('addEventListener' in this.mqlSmall) {\n this.mqlSmall.addEventListener('change', handler)\n ;(this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler = handler\n } else if ('addListener' in this.mqlSmall) {\n // @ts-expect-error legacy\n this.mqlSmall.addListener(handler)\n ;(this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler = handler\n }\n } catch {\n console.warn(`Media Query \"${query}\" is not supported in this browser.`)\n this.mqlSmall = undefined\n this.isSmall = false\n }\n }\n\n private cleanupMediaQuery() {\n if (this.mqlSmall === undefined) return\n const handler = (this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler\n if (handler !== undefined) {\n if ('removeEventListener' in this.mqlSmall) {\n this.mqlSmall.removeEventListener('change', handler)\n } else if ('removeListener' in this.mqlSmall) {\n // @ts-expect-error legacy\n this.mqlSmall.removeListener(handler)\n }\n delete (this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler\n }\n this.mqlSmall = undefined\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-pagination': true,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n private clampPage(value: number): number {\n const total = this.variant === 'contextual' ? this.getTotalPages() : Math.max(1, Number(this.total) || 1)\n const clampedValue = Math.max(1, Number(value) || 1)\n return Math.min(clampedValue, total)\n }\n\n private readonly goTo = (page: number) => {\n const next = this.clampPage(page)\n if (next !== this.current) {\n this.current = next\n this.pageChange.emit({ page: this.current })\n }\n // Gerenciar foco após mudanças iniciadas pelo usuário\n this.queueFocusAfterNavigation()\n }\n\n private readonly handlePrevClick = (event: MouseEvent) => {\n event.preventDefault()\n if (this.current > 1) {\n this.goTo(this.current - 1)\n }\n }\n\n private readonly handleNextClick = (event: MouseEvent) => {\n event.preventDefault()\n const maxPages = this.variant === 'contextual' ? this.getTotalPages() : this.total\n if (this.current < maxPages) {\n this.goTo(this.current + 1)\n }\n }\n\n private readonly handlePageClickFactory = (page: number) => {\n return (event: MouseEvent) => {\n event.preventDefault()\n this.lastInteraction = 'number'\n this.goTo(page)\n }\n }\n\n private readonly handleEllipsisItemClickFactory = (page: number) => {\n return () => {\n this.lastInteraction = 'ellipsis'\n this.goTo(page)\n }\n }\n\n private getVisiblePageButtons(): HTMLElement[] {\n const root = this.el.shadowRoot\n if (root === null) return []\n return Array.from(\n root.querySelectorAll<HTMLElement>('button.page[part=\"page\"], .pagination-ellipsis br-button[slot=\"trigger\"]')\n )\n }\n\n private focusPageButtonByIndex(index: number) {\n const buttons = this.getVisiblePageButtons()\n if (buttons.length === 0) return\n const clamped = Math.max(0, Math.min(index, buttons.length - 1))\n const btn = buttons[clamped]\n // Garantir roving tabindex\n buttons.forEach((b, i) => (b.tabIndex = i === clamped ? 0 : -1))\n btn.focus()\n }\n\n private readonly handlePageKeyDown = (ev: KeyboardEvent) => {\n const target = ev.target as HTMLElement | null\n // Aceita tanto o botão de página quanto o botão de reticências\n if (\n !target?.matches('button.page[part=\"page\"]') &&\n !target?.matches('.pagination-ellipsis br-button[slot=\"trigger\"]')\n ) {\n return\n }\n const buttons = this.getVisiblePageButtons()\n const idx = buttons.indexOf(target)\n if (idx === -1) return\n switch (ev.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n ev.preventDefault()\n this.focusPageButtonByIndex(idx + 1)\n break\n case 'ArrowLeft':\n case 'ArrowUp':\n ev.preventDefault()\n this.focusPageButtonByIndex(idx - 1)\n break\n case 'Home':\n ev.preventDefault()\n this.focusPageButtonByIndex(0)\n break\n case 'End':\n ev.preventDefault()\n this.focusPageButtonByIndex(buttons.length - 1)\n break\n default:\n break\n }\n }\n\n private queueFocusAfterNavigation() {\n // Diferir para após renderização (fallback em ambientes sem RAF)\n const defer =\n typeof requestAnimationFrame === 'function'\n ? requestAnimationFrame\n : (cb: FrameRequestCallback) => setTimeout(() => cb(0), 0)\n defer(() => {\n if (this.variant === 'contextual') {\n this.lastInteraction = undefined\n return\n }\n\n // Variant default: focar no botão da página atual ao vir de reticências\n if (this.lastInteraction === 'ellipsis' || this.lastInteraction === 'number') {\n const buttons = this.getVisiblePageButtons()\n const currentBtn = buttons.find((b) => b.getAttribute('aria-current') === 'page')\n if (currentBtn !== null && currentBtn !== undefined) {\n // Roving tabindex: somente o atual recebe 0\n buttons.forEach((b) => (b.tabIndex = b === currentBtn ? 0 : -1))\n currentBtn.focus()\n }\n }\n this.lastInteraction = undefined\n })\n }\n\n private getComputedNavAriaLabel(): string {\n // Respeita o valor fornecido externamente\n if (this.ariaLabel && String(this.ariaLabel).trim().length > 0) return this.ariaLabel\n\n // Constrói um rótulo único e descritivo baseado no estado atual\n if (this.variant === 'contextual') {\n const totalPages = this.getTotalPages()\n return `Paginação ${this.instanceIndex}: página ${this.current} de ${totalPages}`\n }\n const total = Math.max(1, Number(this.total) || 1)\n return `Paginação ${this.instanceIndex}: página ${this.current} de ${total}`\n }\n\n private renderPageButton(page: number) {\n return (\n <li key={page}>\n <button\n part=\"page\"\n class={{ page: true, active: page === this.current }}\n aria-label={`Página ${page}`}\n aria-current={page === this.current ? 'page' : null}\n type=\"button\"\n tabIndex={page === this.current ? 0 : -1}\n onClick={this.handlePageClickFactory(page)}\n onKeyDown={this.handlePageKeyDown}\n >\n {page}\n </button>\n </li>\n )\n }\n\n private renderEllipsis(from: number, to: number, key: string) {\n if (to < from) return null\n const items = []\n for (let p = from; p <= to; p++) {\n items.push(\n <br-item\n isButton\n role=\"menuitem\"\n onBrDidClick={this.handleEllipsisItemClickFactory(p)}\n aria-label={`Página ${p}`}\n >\n {p}\n </br-item>\n )\n }\n return (\n <li class=\"pagination-ellipsis\" key={`ellipsis-${key}`}>\n <br-dropdown>\n <br-button\n slot=\"trigger\"\n shape=\"circle\"\n type=\"button\"\n aria-label={this.ellipsisLabel}\n tabIndex={-1}\n onKeyDown={this.handlePageKeyDown}\n >\n <br-icon icon-name=\"fa6-solid:ellipsis\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.ellipsisLabel}</span>\n </br-button>\n <br-list class={{ 'has-scroll': items.length > 4 }} slot=\"target\" role=\"menu\">\n {items}\n </br-list>\n </br-dropdown>\n </li>\n )\n }\n\n private renderPages() {\n const total = Math.max(1, Number(this.total) || 1)\n const current = this.clampPage(this.current)\n const nodes = []\n\n // Layout compacto (xs): reduzir identificadores visíveis e usar reticências quando necessário\n if (this.isSmall) {\n if (total <= 3) {\n for (let p = 1; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n // Início\n if (current <= 2) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderPageButton(2))\n nodes.push(this.renderEllipsis(3, total - 1, 'start'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n // Fim\n if (current >= total - 1) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, total - 2, 'end'))\n nodes.push(this.renderPageButton(total - 1))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n // Centro\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, current - 1, 'left'))\n nodes.push(this.renderPageButton(current))\n nodes.push(this.renderEllipsis(current + 1, total - 1, 'right'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n\n // Layout padrão (sm+): comportamento atual\n if (total <= 7) {\n for (let p = 1; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n\n if (current <= 4) {\n for (let p = 1; p <= 4; p++) nodes.push(this.renderPageButton(p))\n nodes.push(this.renderEllipsis(5, total - 1, 'start'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n\n if (current >= total - 3) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, total - 4, 'end'))\n for (let p = total - 3; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, current - 2, 'left'))\n for (let p = current - 1; p <= current + 1; p++) nodes.push(this.renderPageButton(p))\n nodes.push(this.renderEllipsis(current + 2, total - 1, 'right'))\n nodes.push(this.renderPageButton(total))\n\n return nodes\n }\n\n // ====== Contextual variant helpers ======\n private getTotalPages(): number {\n const items = Math.max(0, Number(this.totalItems) || 0)\n const perPage = Math.max(1, Number(this.perPage) || 1)\n return Math.max(1, Math.ceil(items / perPage))\n }\n\n private getRangeInfo(): { start: number; end: number; total: number } {\n const total = Math.max(0, Number(this.totalItems) || 0)\n const perPage = Math.max(1, Number(this.perPage) || 1)\n const current = this.clampPage(this.current)\n if (total === 0) return { start: 0, end: 0, total }\n const start = (current - 1) * perPage + 1\n const end = Math.min(current * perPage, total)\n return { start, end, total }\n }\n\n private readonly handlePerPageChange = (event: CustomEvent<string>) => {\n const value = Number(event.detail)\n\n // Ignora se o valor não for um número finito ou não tiver mudado\n if (!Number.isFinite(value) || value === this.perPage) {\n return\n }\n\n const nextPerPage = Math.max(1, value)\n\n this.perPage = nextPerPage\n this.current = this.clampPage(this.current) // Ajusta a página atual\n this.perPageChange.emit({ perPage: this.perPage })\n\n // Gerencia o foco após a interação\n this.lastInteraction = 'perPage'\n this.queueFocusAfterNavigation()\n }\n\n private renderPerPageDropdown() {\n const options = this.perPageOptions.map((n) => ({\n label: String(n),\n value: String(n),\n selected: n === this.perPage,\n }))\n return (\n <br-select\n label={this.perPageLabel}\n isInline\n inputWidth=\"88px\"\n borderless\n options={options as Array<{ label: string; value: string; selected: boolean }>}\n onValueChange={this.handlePerPageChange}\n ></br-select>\n )\n }\n\n private renderPerPageSelect() {\n return <div class=\"pagination-per-page\">{this.renderPerPageDropdown()}</div>\n }\n\n private readonly handleGoToPageChange = (event: CustomEvent<string>) => {\n const value = Number(event.detail)\n // O fallback para this.current garante que não tentemos navegar para NaN.\n const next = this.clampPage(Number.isFinite(value) ? value : this.current)\n\n if (next !== this.current) {\n this.lastInteraction = 'goTo'\n this.goTo(next)\n }\n }\n\n private renderGoToSelect() {\n const totalPages = this.getTotalPages()\n const options = Array.from({ length: totalPages }, (_, i) => i + 1).map((p) => ({\n label: String(p),\n value: String(p),\n selected: p === this.current,\n }))\n return (\n <div class=\"pagination-go-to-page d-none d-sm-flex ml-auto\">\n <br-select\n label={this.goToPageLabel}\n isInline\n inputWidth=\"88px\"\n borderless\n options={options as Array<{ label: string; value: string; selected: boolean }>}\n onValueChange={this.handleGoToPageChange}\n ></br-select>\n </div>\n )\n }\n\n private renderContextual() {\n const { start, end, total } = this.getRangeInfo()\n const totalPages = this.getTotalPages()\n return (\n <nav\n part=\"nav\"\n class={this.getCssClassMap()}\n aria-label={this.getComputedNavAriaLabel()}\n tabIndex={-1}\n data-total={total}\n data-current={this.current}\n data-per-page={this.perPage}\n id={this.customId}\n >\n {this.renderPerPageSelect()}\n <span class=\"br-divider d-none d-sm-block mx-3\"></span>\n <div class=\"pagination-information d-none d-sm-flex\" aria-live=\"polite\">\n <span class=\"current\">{start}</span>\n –\n <span class=\"per-page\">{end}</span>\n de \n <span class=\"total\">{total}</span>\n {this.itemsText}\n </div>\n {this.renderGoToSelect()}\n <span class=\"br-divider d-none d-sm-block mx-3\"></span>\n\n <div class=\"pagination-arrows ml-auto ml-sm-0\">\n <br-button\n part=\"prev-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-previous-page\n aria-label={this.previousLabel}\n onClick={this.handlePrevClick}\n disabled={this.current <= 1}\n >\n <br-icon icon-name=\"fa6-solid:angle-left\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.previousLabel}</span>\n </br-button>\n <br-button\n part=\"next-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-next-page\n aria-label={this.nextLabel}\n onClick={this.handleNextClick}\n disabled={this.current >= totalPages}\n >\n <br-icon icon-name=\"fa6-solid:angle-right\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.nextLabel}</span>\n </br-button>\n </div>\n <span class=\"visually-hidden\" aria-live=\"polite\">\n Página {this.current} de {totalPages}\n </span>\n </nav>\n )\n }\n\n render() {\n if (this.variant === 'contextual') {\n return <Host>{this.renderContextual()}</Host>\n }\n\n return (\n <Host>\n <nav\n part=\"nav\"\n class={this.getCssClassMap()}\n aria-label={this.getComputedNavAriaLabel()}\n tabIndex={-1}\n data-total={this.total}\n data-current={this.current}\n id={this.customId}\n >\n <ul part=\"list\">\n <li>\n <br-button\n part=\"prev-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-previous-page\n aria-label={this.previousLabel}\n onClick={this.handlePrevClick}\n disabled={this.current <= 1}\n >\n <br-icon icon-name=\"fa6-solid:angle-left\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.previousLabel}</span>\n </br-button>\n </li>\n {this.renderPages()}\n <li>\n <br-button\n part=\"next-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-next-page\n aria-label={this.nextLabel}\n onClick={this.handleNextClick}\n disabled={this.current >= this.total}\n >\n <br-icon icon-name=\"fa6-solid:angle-right\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.nextLabel}</span>\n </br-button>\n </li>\n </ul>\n <span class=\"visually-hidden\" aria-live=\"polite\">\n Página {this.current} de {this.total}\n </span>\n </nav>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"br-pagination.entry.esm.js","sources":["../../packages/webcomponents/src/components/pagination/pagination.scss?tag=br-pagination&encapsulation=shadow","../../packages/webcomponents/src/components/pagination/pagination.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/pagination/pagination\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n\n /* Regra: até 4 itens no dropdown de reticências não deve haver rolagem; a partir de 5, deve. */\n /* O core aplica scroll sempre em .pagination-ellipsis .br-list; sobrescrevemos aqui. */\n .pagination-ellipsis br-list {\n max-height: none;\n overflow: visible;\n }\n\n .pagination-ellipsis br-list.has-scroll {\n max-height: 220px; /* mantém o valor do core */\n overflow-y: auto;\n\n @include scrollbar; /* aplica o estilo da barra de rolagem do DS */\n }\n\n .br-pagination button.page:not(.active) {\n background-color: transparent;\n }\n}\n\n:host([variant=\"contextual\"]) .br-pagination {\n justify-content: space-between;\n}\n\n:host(:not([variant=\"contextual\"])) .br-pagination {\n justify-content: center;\n}\n\n:host([variant=\"contextual\"]) .br-pagination ul {\n justify-content: center;\n width: 100%;\n}\n\n:host([color-mode=\"dark\"]) br-select {\n --color: var(--color-dark);\n --focus-color: var(--focus-color-dark);\n}\n\n:host([color-mode=\"dark\"]) br-select::part(label) {\n color: var(--color-dark);\n}\n\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active),\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active) {\n color: var(--color);\n background-color: transparent;\n border-color: transparent;\n}\n\n.br-pagination.dark-mode .br-select .br-item label,\n.br-pagination.dark-mode .page {\n color: var(--color-dark);\n background-color: transparent;\n}\n\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):hover,\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):focus,\n:host([color-mode=\"dark\"]) .br-pagination a.page:not(.active):focus-visible,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):hover,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):focus,\n:host([color-mode=\"dark\"]) .br-pagination button.page:not(.active):focus-visible {\n color: var(--interactive);\n}\n\n/* Realce de foco visível nos identificadores (botões) de página */\n.br-pagination .page:focus-visible {\n outline: var(--focus) var(--focus-style) var(--focus-width);\n outline-offset: var(--focus-offset);\n}\n\n.pagination-ellipsis br-button::part(button) {\n --button-size: var(--pagination-size);\n}\n\n.pagination-ellipsis br-button:focus-visible {\n outline: var(--focus) var(--focus-style) var(--focus-width);\n outline-offset: var(--focus-offset);\n border-radius: 50%;\n}\n\n/* Utilitário para conteúdo apenas para leitores de tela */\n.visually-hidden {\n position: absolute !important;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap; /* impede quebra de linha */\n}\n\n:host([color-mode=\"dark\"]) br-select::part(radio-label) {\n color: var(--color-dark);\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/pagination?tab=designer).\n *\n * @part nav - Parte para o contêiner raiz da paginação (elemento nav), usada para estilização via ::part().\n * @part list - Parte para a lista de páginas (elemento ul), usada para estilização via ::part().\n * @part page - Parte para os itens de página numérica (elemento a), usada para estilização via ::part().\n * @part prev-button - Parte para o botão de página anterior, usada para estilização via ::part().\n * @part next-button - Parte para o botão de próxima página, usada para estilização via ::part().\n */\n@Component({\n tag: 'br-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Pagination {\n // Índice incremental para diferenciar instâncias em rótulos gerados\n private static instanceCounter = 0\n private readonly instanceIndex = ++Pagination.instanceCounter\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrPaginationElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Estado interno para responsividade. Verdadeiro quando viewport < sm.\n */\n @State() private isSmall = false\n\n private mqlSmall?: MediaQueryList\n private lastInteraction?: 'number' | 'ellipsis' | 'goTo' | 'perPage' | 'programmatic'\n\n /**\n * Define se a paginação usará um esquema de cores escuro.\n * Quando definido como `dark`, aplica a classe `dark-mode` ao container principal.\n */\n @Prop({ reflect: true }) readonly colorMode?: 'dark'\n\n /**\n * Identificador único; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-pagination')\n\n /**\n * Quantidade total de páginas (mínimo 1).\n */\n @Prop({ reflect: true }) readonly total: number = 1\n\n /**\n * Página atual (1-indexada). Valores fora do intervalo serão ajustados.\n */\n @Prop({ reflect: true, mutable: true }) current: number = 1\n\n /**\n * Rótulo acessível do container `nav`.\n * Se não fornecido, será gerado automaticamente um rótulo descritivo e único\n * no momento da renderização (ex.: \"Paginação: página 2 de 10\").\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Rótulo acessível do botão de página anterior.\n */\n @Prop({ reflect: true }) readonly previousLabel: string = 'Voltar página'\n\n /**\n * Rótulo acessível do botão de próxima página.\n */\n @Prop({ reflect: true }) readonly nextLabel: string = 'Página seguinte'\n\n /**\n * Rótulo acessível do botão de reticências que abre a lista de páginas ocultas.\n */\n @Prop({ reflect: true }) readonly ellipsisLabel: string = 'Abrir ou fechar a lista de paginação'\n\n /**\n * Ajusta a densidade da paginação, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Variante de renderização do componente.\n * - `default`: paginação numérica (padrão)\n * - `contextual`: paginação contextual com seletores e informação de itens\n */\n @Prop({ reflect: true }) readonly variant: 'default' | 'contextual' = 'default'\n\n /**\n * Total de itens (aplicável na variante contextual).\n */\n @Prop({ reflect: true }) readonly totalItems?: number\n\n /**\n * Itens por página (aplicável na variante contextual).\n */\n @Prop({ reflect: true, mutable: true }) perPage: number = 10\n\n /**\n * Opções disponíveis de itens por página (variante contextual).\n */\n @Prop({ reflect: false }) perPageOptions: number[] = [10, 20, 30]\n\n /**\n * Rótulo do seletor de itens por página (variante contextual).\n */\n @Prop({ reflect: true }) readonly perPageLabel: string = 'Exibir'\n\n /**\n * Rótulo do seletor \"ir para página\" (variante contextual).\n */\n @Prop({ reflect: true }) readonly goToPageLabel: string = 'Página'\n\n /**\n * Sufixo textual para a informação de quantidade de itens (variante contextual).\n */\n @Prop({ reflect: true }) readonly itemsText: string = 'itens'\n\n /**\n * Emite quando a página muda por interação do usuário.\n */\n @Event({ bubbles: true, composed: true }) pageChange: EventEmitter<{ page: number }>\n\n /**\n * Emite quando o valor de itens por página é alterado (variante contextual).\n */\n @Event({ bubbles: true, composed: true }) perPageChange: EventEmitter<{ perPage: number }>\n\n @Watch('total')\n handleTotalChange() {\n this.current = this.clampPage(this.current)\n }\n\n @Watch('current')\n handleCurrentChange(newValue: number) {\n const clamped = this.clampPage(newValue)\n if (clamped !== newValue) {\n this.current = clamped\n }\n }\n\n componentWillLoad() {\n this.current = this.clampPage(this.current)\n this.setupMediaQuery()\n }\n\n connectedCallback() {\n this.setupMediaQuery()\n }\n\n disconnectedCallback() {\n this.cleanupMediaQuery()\n }\n\n private setupMediaQuery() {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return\n const query = '(max-width: 575.98px)'\n try {\n this.mqlSmall = window.matchMedia(query)\n this.isSmall = this.mqlSmall.matches\n const handler = (e: MediaQueryListEvent) => {\n this.isSmall = e.matches\n }\n if ('addEventListener' in this.mqlSmall) {\n this.mqlSmall.addEventListener('change', handler)\n ;(this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler = handler\n } else if ('addListener' in this.mqlSmall) {\n // @ts-expect-error legacy\n this.mqlSmall.addListener(handler)\n ;(this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler = handler\n }\n } catch {\n console.warn(`Media Query \"${query}\" is not supported in this browser.`)\n this.mqlSmall = undefined\n this.isSmall = false\n }\n }\n\n private cleanupMediaQuery() {\n if (this.mqlSmall === undefined) return\n const handler = (this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler\n if (handler !== undefined) {\n if ('removeEventListener' in this.mqlSmall) {\n this.mqlSmall.removeEventListener('change', handler)\n } else if ('removeListener' in this.mqlSmall) {\n // @ts-expect-error legacy\n this.mqlSmall.removeListener(handler)\n }\n delete (this.mqlSmall as MediaQueryList & { _handler?: (e: MediaQueryListEvent) => void })._handler\n }\n this.mqlSmall = undefined\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-pagination': true,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n private clampPage(value: number): number {\n const total = this.variant === 'contextual' ? this.getTotalPages() : Math.max(1, Number(this.total) || 1)\n const clampedValue = Math.max(1, Number(value) || 1)\n return Math.min(clampedValue, total)\n }\n\n private readonly goTo = (page: number) => {\n const next = this.clampPage(page)\n if (next !== this.current) {\n this.current = next\n this.pageChange.emit({ page: this.current })\n }\n // Gerenciar foco após mudanças iniciadas pelo usuário\n this.queueFocusAfterNavigation()\n }\n\n private readonly handlePrevClick = (event: MouseEvent) => {\n event.preventDefault()\n if (this.current > 1) {\n this.goTo(this.current - 1)\n }\n }\n\n private readonly handleNextClick = (event: MouseEvent) => {\n event.preventDefault()\n const maxPages = this.variant === 'contextual' ? this.getTotalPages() : this.total\n if (this.current < maxPages) {\n this.goTo(this.current + 1)\n }\n }\n\n private readonly handlePageClickFactory = (page: number) => {\n return (event: MouseEvent) => {\n event.preventDefault()\n this.lastInteraction = 'number'\n this.goTo(page)\n }\n }\n\n private readonly handleEllipsisItemClickFactory = (page: number) => {\n return () => {\n this.lastInteraction = 'ellipsis'\n this.goTo(page)\n }\n }\n\n private getVisiblePageButtons(): HTMLElement[] {\n const root = this.el.shadowRoot\n if (root === null) return []\n return Array.from(\n root.querySelectorAll<HTMLElement>('button.page[part=\"page\"], .pagination-ellipsis br-button[slot=\"trigger\"]')\n )\n }\n\n private focusPageButtonByIndex(index: number) {\n const buttons = this.getVisiblePageButtons()\n if (buttons.length === 0) return\n const clamped = Math.max(0, Math.min(index, buttons.length - 1))\n const btn = buttons[clamped]\n // Garantir roving tabindex\n buttons.forEach((b, i) => (b.tabIndex = i === clamped ? 0 : -1))\n btn.focus()\n }\n\n private readonly handlePageKeyDown = (ev: KeyboardEvent) => {\n const target = ev.target as HTMLElement | null\n // Aceita tanto o botão de página quanto o botão de reticências\n if (\n !target?.matches('button.page[part=\"page\"]') &&\n !target?.matches('.pagination-ellipsis br-button[slot=\"trigger\"]')\n ) {\n return\n }\n const buttons = this.getVisiblePageButtons()\n const idx = buttons.indexOf(target)\n if (idx === -1) return\n switch (ev.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n ev.preventDefault()\n this.focusPageButtonByIndex(idx + 1)\n break\n case 'ArrowLeft':\n case 'ArrowUp':\n ev.preventDefault()\n this.focusPageButtonByIndex(idx - 1)\n break\n case 'Home':\n ev.preventDefault()\n this.focusPageButtonByIndex(0)\n break\n case 'End':\n ev.preventDefault()\n this.focusPageButtonByIndex(buttons.length - 1)\n break\n default:\n break\n }\n }\n\n private queueFocusAfterNavigation() {\n // Diferir para após renderização (fallback em ambientes sem RAF)\n const defer =\n typeof requestAnimationFrame === 'function'\n ? requestAnimationFrame\n : (cb: FrameRequestCallback) => setTimeout(() => cb(0), 0)\n defer(() => {\n if (this.variant === 'contextual') {\n this.lastInteraction = undefined\n return\n }\n\n // Variant default: focar no botão da página atual ao vir de reticências\n if (this.lastInteraction === 'ellipsis' || this.lastInteraction === 'number') {\n const buttons = this.getVisiblePageButtons()\n const currentBtn = buttons.find((b) => b.getAttribute('aria-current') === 'page')\n if (currentBtn !== null && currentBtn !== undefined) {\n // Roving tabindex: somente o atual recebe 0\n buttons.forEach((b) => (b.tabIndex = b === currentBtn ? 0 : -1))\n currentBtn.focus()\n }\n }\n this.lastInteraction = undefined\n })\n }\n\n private getComputedNavAriaLabel(): string {\n // Respeita o valor fornecido externamente\n if (this.ariaLabel && String(this.ariaLabel).trim().length > 0) return this.ariaLabel\n\n // Constrói um rótulo único e descritivo baseado no estado atual\n if (this.variant === 'contextual') {\n const totalPages = this.getTotalPages()\n return `Paginação ${this.instanceIndex}: página ${this.current} de ${totalPages}`\n }\n const total = Math.max(1, Number(this.total) || 1)\n return `Paginação ${this.instanceIndex}: página ${this.current} de ${total}`\n }\n\n private renderPageButton(page: number) {\n return (\n <li key={page}>\n <button\n part=\"page\"\n class={{ page: true, active: page === this.current }}\n aria-label={`Página ${page}`}\n aria-current={page === this.current ? 'page' : null}\n type=\"button\"\n tabIndex={page === this.current ? 0 : -1}\n onClick={this.handlePageClickFactory(page)}\n onKeyDown={this.handlePageKeyDown}\n >\n {page}\n </button>\n </li>\n )\n }\n\n private renderEllipsis(from: number, to: number, key: string) {\n if (to < from) return null\n const items = []\n for (let p = from; p <= to; p++) {\n items.push(\n <br-item\n isButton\n role=\"menuitem\"\n onBrDidClick={this.handleEllipsisItemClickFactory(p)}\n aria-label={`Página ${p}`}\n >\n {p}\n </br-item>\n )\n }\n return (\n <li class=\"pagination-ellipsis\" key={`ellipsis-${key}`}>\n <br-dropdown>\n <br-button\n slot=\"trigger\"\n shape=\"circle\"\n type=\"button\"\n aria-label={this.ellipsisLabel}\n tabIndex={-1}\n onKeyDown={this.handlePageKeyDown}\n >\n <br-icon icon-name=\"fa6-solid:ellipsis\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.ellipsisLabel}</span>\n </br-button>\n <br-list class={{ 'has-scroll': items.length > 4 }} slot=\"target\" role=\"menu\">\n {items}\n </br-list>\n </br-dropdown>\n </li>\n )\n }\n\n private renderPages() {\n const total = Math.max(1, Number(this.total) || 1)\n const current = this.clampPage(this.current)\n const nodes = []\n\n // Layout compacto (xs): reduzir identificadores visíveis e usar reticências quando necessário\n if (this.isSmall) {\n if (total <= 3) {\n for (let p = 1; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n // Início\n if (current <= 2) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderPageButton(2))\n nodes.push(this.renderEllipsis(3, total - 1, 'start'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n // Fim\n if (current >= total - 1) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, total - 2, 'end'))\n nodes.push(this.renderPageButton(total - 1))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n // Centro\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, current - 1, 'left'))\n nodes.push(this.renderPageButton(current))\n nodes.push(this.renderEllipsis(current + 1, total - 1, 'right'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n\n // Layout padrão (sm+): comportamento atual\n if (total <= 7) {\n for (let p = 1; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n\n if (current <= 4) {\n for (let p = 1; p <= 4; p++) nodes.push(this.renderPageButton(p))\n nodes.push(this.renderEllipsis(5, total - 1, 'start'))\n nodes.push(this.renderPageButton(total))\n return nodes\n }\n\n if (current >= total - 3) {\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, total - 4, 'end'))\n for (let p = total - 3; p <= total; p++) nodes.push(this.renderPageButton(p))\n return nodes\n }\n\n nodes.push(this.renderPageButton(1))\n nodes.push(this.renderEllipsis(2, current - 2, 'left'))\n for (let p = current - 1; p <= current + 1; p++) nodes.push(this.renderPageButton(p))\n nodes.push(this.renderEllipsis(current + 2, total - 1, 'right'))\n nodes.push(this.renderPageButton(total))\n\n return nodes\n }\n\n // ====== Contextual variant helpers ======\n private getTotalPages(): number {\n const items = Math.max(0, Number(this.totalItems) || 0)\n const perPage = Math.max(1, Number(this.perPage) || 1)\n return Math.max(1, Math.ceil(items / perPage))\n }\n\n private getRangeInfo(): { start: number; end: number; total: number } {\n const total = Math.max(0, Number(this.totalItems) || 0)\n const perPage = Math.max(1, Number(this.perPage) || 1)\n const current = this.clampPage(this.current)\n if (total === 0) return { start: 0, end: 0, total }\n const start = (current - 1) * perPage + 1\n const end = Math.min(current * perPage, total)\n return { start, end, total }\n }\n\n private readonly handlePerPageChange = (event: CustomEvent<string>) => {\n const value = Number(event.detail)\n\n // Ignora se o valor não for um número finito ou não tiver mudado\n if (!Number.isFinite(value) || value === this.perPage) {\n return\n }\n\n const nextPerPage = Math.max(1, value)\n\n this.perPage = nextPerPage\n this.current = this.clampPage(this.current) // Ajusta a página atual\n this.perPageChange.emit({ perPage: this.perPage })\n\n // Gerencia o foco após a interação\n this.lastInteraction = 'perPage'\n this.queueFocusAfterNavigation()\n }\n\n private renderPerPageDropdown() {\n const options = this.perPageOptions.map((n) => ({\n label: String(n),\n value: String(n),\n selected: n === this.perPage,\n }))\n return (\n <br-select\n label={this.perPageLabel}\n isInline\n inputWidth=\"88px\"\n borderless\n options={options as Array<{ label: string; value: string; selected: boolean }>}\n onValueChange={this.handlePerPageChange}\n ></br-select>\n )\n }\n\n private renderPerPageSelect() {\n return <div class=\"pagination-per-page\">{this.renderPerPageDropdown()}</div>\n }\n\n private readonly handleGoToPageChange = (event: CustomEvent<string>) => {\n const value = Number(event.detail)\n // O fallback para this.current garante que não tentemos navegar para NaN.\n const next = this.clampPage(Number.isFinite(value) ? value : this.current)\n\n if (next !== this.current) {\n this.lastInteraction = 'goTo'\n this.goTo(next)\n }\n }\n\n private renderGoToSelect() {\n const totalPages = this.getTotalPages()\n const options = Array.from({ length: totalPages }, (_, i) => i + 1).map((p) => ({\n label: String(p),\n value: String(p),\n selected: p === this.current,\n }))\n return (\n <div class=\"pagination-go-to-page d-none d-sm-flex ml-auto\">\n <br-select\n label={this.goToPageLabel}\n isInline\n inputWidth=\"88px\"\n borderless\n options={options as Array<{ label: string; value: string; selected: boolean }>}\n onValueChange={this.handleGoToPageChange}\n ></br-select>\n </div>\n )\n }\n\n private renderContextual() {\n const { start, end, total } = this.getRangeInfo()\n const totalPages = this.getTotalPages()\n return (\n <nav\n part=\"nav\"\n class={this.getCssClassMap()}\n aria-label={this.getComputedNavAriaLabel()}\n tabIndex={-1}\n data-total={total}\n data-current={this.current}\n data-per-page={this.perPage}\n id={this.customId}\n >\n {this.renderPerPageSelect()}\n <span class=\"br-divider d-none d-sm-block mx-3\"></span>\n <div class=\"pagination-information d-none d-sm-flex\" aria-live=\"polite\">\n <span class=\"current\">{start}</span>\n –\n <span class=\"per-page\">{end}</span>\n de \n <span class=\"total\">{total}</span>\n {this.itemsText}\n </div>\n {this.renderGoToSelect()}\n <span class=\"br-divider d-none d-sm-block mx-3\"></span>\n\n <div class=\"pagination-arrows ml-auto ml-sm-0\">\n <br-button\n part=\"prev-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-previous-page\n aria-label={this.previousLabel}\n onClick={this.handlePrevClick}\n disabled={this.current <= 1}\n >\n <br-icon icon-name=\"fa6-solid:angle-left\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.previousLabel}</span>\n </br-button>\n <br-button\n part=\"next-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-next-page\n aria-label={this.nextLabel}\n onClick={this.handleNextClick}\n disabled={this.current >= totalPages}\n >\n <br-icon icon-name=\"fa6-solid:angle-right\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.nextLabel}</span>\n </br-button>\n </div>\n <span class=\"visually-hidden\" aria-live=\"polite\">\n Página {this.current} de {totalPages}\n </span>\n </nav>\n )\n }\n\n render() {\n if (this.variant === 'contextual') {\n return <Host>{this.renderContextual()}</Host>\n }\n\n return (\n <Host>\n <nav\n part=\"nav\"\n class={this.getCssClassMap()}\n aria-label={this.getComputedNavAriaLabel()}\n tabIndex={-1}\n data-total={this.total}\n data-current={this.current}\n id={this.customId}\n >\n <ul part=\"list\">\n <li>\n <br-button\n part=\"prev-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-previous-page\n aria-label={this.previousLabel}\n onClick={this.handlePrevClick}\n disabled={this.current <= 1}\n >\n <br-icon icon-name=\"fa6-solid:angle-left\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.previousLabel}</span>\n </br-button>\n </li>\n {this.renderPages()}\n <li>\n <br-button\n part=\"next-button\"\n shape=\"circle\"\n density={this.density}\n type=\"button\"\n data-next-page\n aria-label={this.nextLabel}\n onClick={this.handleNextClick}\n disabled={this.current >= this.total}\n >\n <br-icon icon-name=\"fa6-solid:angle-right\" aria-hidden=\"true\"></br-icon>\n <span class=\"visually-hidden\">{this.nextLabel}</span>\n </br-button>\n </li>\n </ul>\n <span class=\"visually-hidden\" aria-live=\"polite\">\n Página {this.current} de {this.total}\n </span>\n </nav>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"br-scrim.entry.esm.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (width <= 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/scrim?tab=designer).\n *\n * @slot default - Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.\n * @slot activator - Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Cor de fundo personalizada para o scrim.\n * Aceita os seguintes formatos de cor:\n * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\n * Se não especificada, usa a cor padrão do tema.\n */\n @Prop() bgColor: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop({ mutable: true }) scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /**\n * Define um rótulo acessível personalizado para o diálogo.\n * Se não fornecido, será usado \"Conteúdo do diálogo\" como padrão.\n */\n @Prop() ariaLabel: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private scrollOrigin: number | null = null\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n private focusTimeoutId: NodeJS.Timeout | null = null\n private restoreFocusTimeoutId: NodeJS.Timeout | null = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n async handleOpenChange(newValue: boolean) {\n // Cancelar qualquer timeout anterior\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n this.isActive = newValue\n if (newValue && this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n }\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n\n this.focusTimeoutId = setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.removeGlobalEventInterception()\n this.restoreFocus()\n\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('bgColor')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.bgColor !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.bgColor)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n this.isActive = this.isOpen\n }\n\n componentDidLoad() {\n this.updateStyles()\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.addContentEventListener()\n this.listenToModalEvents()\n\n if (this.isActive) {\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n this.focusFirstElement()\n }\n }\n\n /**\n * Adiciona event listener ao contentRef para capturar eventos de teclado\n * e gerenciar a navegação por teclado dentro do scrim.\n */\n private addContentEventListener() {\n if (this.contentRef !== null) {\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n // Limpar timeouts pendentes\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n window.removeEventListener('scroll', this.handleScrollClose)\n window.removeEventListener('scroll', this.handleBlockScroll)\n if (this.contentRef !== null) {\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n }\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n this.removeGlobalEventInterception()\n this.removeModalEventListener()\n }\n\n // ======================================================================\n // GERENCIAMENTO DE COMPONENTES FILHOS\n // ======================================================================\n\n /**\n * Handler para evento brModalOpen emitido por modal filha\n */\n private handleModalOpen = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n if (!this.isOpen) {\n this.open()\n }\n }\n\n /**\n * Handler para evento brModalClose emitido por modal filha\n */\n private handleModalClose = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n this.close()\n }\n\n /**\n * Verifica se um elemento é filho direto deste scrim (não nested)\n */\n private isDirectChild(element: HTMLElement): boolean {\n const children = this.getDirectChildren()\n return children.some((child) => child === element || child.contains(element))\n }\n\n /**\n * Adiciona listeners para eventos brModalOpen e brModalClose das modais filhas\n */\n private listenToModalEvents() {\n this.el.addEventListener('brModalOpen', this.handleModalOpen)\n this.el.addEventListener('brModalClose', this.handleModalClose)\n }\n\n /**\n * Remove listeners dos eventos da modal\n */\n private removeModalEventListener() {\n this.el.removeEventListener('brModalOpen', this.handleModalOpen)\n this.el.removeEventListener('brModalClose', this.handleModalClose)\n }\n\n /**\n * Retorna os elementos filhos diretos do scrim via slot padrão\n */\n private getDirectChildren(): Element[] {\n const shadowRoot = this.el.shadowRoot\n if (shadowRoot === null) return []\n\n const slot = shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement | null\n if (slot === null) return []\n\n return slot.assignedElements()\n }\n\n /**\n * Busca uma modal filha direta do scrim\n */\n private findModalChild(): HTMLBrModalElement | null {\n const children = this.getDirectChildren()\n const modalElement = children.find((child) => child.tagName === 'BR-MODAL')\n return (modalElement as HTMLBrModalElement | undefined) ?? null\n }\n\n /**\n * Verifica se há uma modal filha com autoClose=false (padrão ou explícito)\n * Retorna true se:\n * - Existe modal filha E autoClose não é explicitamente true\n */\n private hasModalWithAutoClose(): boolean {\n const modal = this.findModalChild()\n return modal !== null && modal.autoClose !== true\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n if (el && typeof el.addEventListener === 'function') {\n el.addEventListener('click', this.handleActivatorClick)\n }\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const element = assignedElements[0]\n if (element && typeof element.removeEventListener === 'function') {\n element.removeEventListener('click', this.handleActivatorClick)\n }\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private getScrollPosition(): number {\n const targetWindow = this.el?.ownerDocument?.defaultView || window\n return targetWindow?.scrollY ?? targetWindow?.pageYOffset ?? 0\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n this.scrollOrigin = null\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = this.getScrollPosition()\n const reference = this.scrollOrigin ?? this.lastScrollTop\n if (Math.abs(currentScroll - reference) > this.scrollThreshold) {\n this.scrollOrigin = null\n // Não fecha se tiver modal filha com autoClose=false ou não definido\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.isOpen = false\n this.handleOpenChange(false)\n return\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n this.restoreFocusTimeoutId = setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO E INTERCEPTAÇÃO DE EVENTOS\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.isOpen = false\n return\n }\n\n if (event.key === 'Tab') {\n this.handleTabNavigation(event)\n }\n }\n\n // Intercepta TODOS os eventos de teclado globalmente quando scrim está ativo\n private handleGlobalKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n this.focusFirstElement()\n return\n }\n\n if (event.key === 'Escape' && !this.disableCloseOnClick) {\n event.preventDefault()\n if (!this.hasModalWithAutoClose()) {\n this.isOpen = false\n }\n }\n }\n\n // Intercepta TODOS os eventos de clique globalmente quando scrim está ativo\n private handleGlobalClick = (event: MouseEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n if (!this.disableCloseOnClick) {\n this.close()\n }\n return\n }\n }\n\n /**\n * Intercepta eventos de foco globalmente\n */\n private handleGlobalFocus = (event: FocusEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n setTimeout(() => {\n this.focusFirstElement()\n }, 0)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n if ((event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick) {\n // Não fecha se tiver modal filha com autoClose=false ou não definido\n return !this.hasModalWithAutoClose()\n }\n return false\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): boolean {\n return (\n (isTabForward && document.activeElement === lastElement) ||\n (!isTabForward && document.activeElement === firstElement)\n )\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n /**\n * Verifica se um elemento está dentro do scrim\n */\n private isElementInsideScrim(element: HTMLElement): boolean {\n if (this.el.contains(element)) {\n return true\n }\n\n return false\n }\n\n /**\n * Adiciona interceptação global de eventos\n */\n private addGlobalEventInterception() {\n // Intercepta eventos de teclado globalmente\n document.addEventListener('keydown', this.handleGlobalKeyDown, true)\n document.addEventListener('keyup', this.handleGlobalKeyDown, true)\n document.addEventListener('keypress', this.handleGlobalKeyDown, true)\n\n // Intercepta eventos de clique globalmente\n document.addEventListener('click', this.handleGlobalClick, true)\n document.addEventListener('mousedown', this.handleGlobalClick, true)\n document.addEventListener('mouseup', this.handleGlobalClick, true)\n\n // Intercepta eventos de foco\n document.addEventListener('focus', this.handleGlobalFocus, true)\n document.addEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Remove interceptação global de eventos\n */\n private removeGlobalEventInterception() {\n document.removeEventListener('keydown', this.handleGlobalKeyDown, true)\n document.removeEventListener('keyup', this.handleGlobalKeyDown, true)\n document.removeEventListener('keypress', this.handleGlobalKeyDown, true)\n\n document.removeEventListener('click', this.handleGlobalClick, true)\n document.removeEventListener('mousedown', this.handleGlobalClick, true)\n document.removeEventListener('mouseup', this.handleGlobalClick, true)\n\n document.removeEventListener('focus', this.handleGlobalFocus, true)\n document.removeEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Handler para clique na máscara do scrim\n * Fecha o scrim se disableCloseOnClick for false e não houver modal filha com autoClose=false\n */\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.close()\n }\n }\n\n // ======================================================================\n // UTILITÁRIOS\n // ======================================================================\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.isOpen = true\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.isOpen = false\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.isOpen = !this.isActive\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.ariaLabel || 'Conteúdo do diálogo'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n id={`${this.customId}-content`}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"br-scrim.entry.esm.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (width <= 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/scrim?tab=designer).\n *\n * @slot default - Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.\n * @slot activator - Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Cor de fundo personalizada para o scrim.\n * Aceita os seguintes formatos de cor:\n * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\n * Se não especificada, usa a cor padrão do tema.\n */\n @Prop() bgColor: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop({ mutable: true }) scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /**\n * Define um rótulo acessível personalizado para o diálogo.\n * Se não fornecido, será usado \"Conteúdo do diálogo\" como padrão.\n */\n @Prop() ariaLabel: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private scrollOrigin: number | null = null\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n private focusTimeoutId: NodeJS.Timeout | null = null\n private restoreFocusTimeoutId: NodeJS.Timeout | null = null\n /**\n * Flag que suprime handleGlobalFocus enquanto a modal filha está\n * gerenciando ativamente sua própria sequência de foco (moveFocusIntoModal).\n */\n private isModalFocusing: boolean = false\n private modalFocusSuppressId: NodeJS.Timeout | null = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n async handleOpenChange(newValue: boolean) {\n // Cancelar qualquer timeout anterior\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n this.isActive = newValue\n if (newValue && this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n }\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n\n const hasModalChild = this.findModalChild() !== null\n if (hasModalChild) {\n this.suppressFocusGuard()\n } else {\n this.focusTimeoutId = setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n }\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.removeGlobalEventInterception()\n this.restoreFocus()\n\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('bgColor')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.bgColor !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.bgColor)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n this.isActive = this.isOpen\n }\n\n componentDidLoad() {\n this.updateStyles()\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.addContentEventListener()\n this.listenToModalEvents()\n\n if (this.isActive) {\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n const modalChild = this.findModalChild()\n if (modalChild === null) {\n this.focusFirstElement()\n } else {\n this.suppressFocusGuard()\n }\n }\n }\n\n /**\n * Adiciona event listener ao contentRef para capturar eventos de teclado\n * e gerenciar a navegação por teclado dentro do scrim.\n */\n private addContentEventListener() {\n if (this.contentRef !== null) {\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n // Limpar timeouts pendentes\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n window.removeEventListener('scroll', this.handleScrollClose)\n window.removeEventListener('scroll', this.handleBlockScroll)\n if (this.contentRef !== null) {\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n }\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n this.removeGlobalEventInterception()\n this.removeModalEventListener()\n if (this.modalFocusSuppressId !== null) {\n clearTimeout(this.modalFocusSuppressId)\n this.modalFocusSuppressId = null\n }\n }\n\n // ======================================================================\n // GERENCIAMENTO DE COMPONENTES FILHOS\n // ======================================================================\n\n /**\n * Ativa o guard que suprime `handleGlobalFocus` enquanto a modal filha executa\n * sua sequência assíncrona de foco (`moveFocusIntoModal`).\n *\n * O guard é desativado assim que o evento `brModalFocusReady` chega (via\n * `handleModalFocusReady`). O timeout é apenas um safety net para o caso de\n * o evento nunca chegar (ex: erro interno na modal).\n */\n private suppressFocusGuard(safetyMs: number = 1000) {\n this.isModalFocusing = true\n if (this.modalFocusSuppressId !== null) {\n clearTimeout(this.modalFocusSuppressId)\n }\n this.modalFocusSuppressId = setTimeout(() => {\n this.isModalFocusing = false\n this.modalFocusSuppressId = null\n }, safetyMs)\n }\n\n /**\n * Handler para o evento `brModalFocusReady` emitido pela modal filha.\n * Desativa o guard imediatamente assim que o foco está estabilizado,\n * cancelando o timeout de segurança do `suppressFocusGuard`.\n */\n private handleModalFocusReady = () => {\n if (!this.isModalFocusing) return\n this.isModalFocusing = false\n if (this.modalFocusSuppressId !== null) {\n clearTimeout(this.modalFocusSuppressId)\n this.modalFocusSuppressId = null\n }\n }\n\n /**\n * Handler para evento brModalOpen emitido por modal filha\n */\n private handleModalOpen = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n this.suppressFocusGuard()\n\n if (!this.isOpen) {\n this.open()\n }\n }\n\n /**\n * Handler para evento brModalClose emitido por modal filha\n */\n private handleModalClose = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n this.close()\n }\n\n /**\n * Verifica se um elemento é filho direto deste scrim (não nested)\n */\n private isDirectChild(element: HTMLElement): boolean {\n const children = this.getDirectChildren()\n return children.some((child) => child === element || child.contains(element))\n }\n\n /**\n * Adiciona listeners para eventos brModalOpen, brModalClose e brModalFocusReady das modais filhas\n */\n private listenToModalEvents() {\n this.el.addEventListener('brModalOpen', this.handleModalOpen)\n this.el.addEventListener('brModalClose', this.handleModalClose)\n this.el.addEventListener('brModalOpened', this.handleModalFocusReady)\n }\n\n /**\n * Remove listeners dos eventos da modal\n */\n private removeModalEventListener() {\n this.el.removeEventListener('brModalOpen', this.handleModalOpen)\n this.el.removeEventListener('brModalClose', this.handleModalClose)\n this.el.removeEventListener('brModalOpened', this.handleModalFocusReady)\n }\n\n /**\n * Retorna os elementos filhos diretos do scrim via slot padrão\n */\n private getDirectChildren(): Element[] {\n const shadowRoot = this.el.shadowRoot\n if (shadowRoot === null) return []\n\n const slot = shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement | null\n if (slot === null) return []\n\n return slot.assignedElements()\n }\n\n /**\n * Busca uma modal filha direta do scrim\n */\n private findModalChild(): HTMLBrModalElement | null {\n const children = this.getDirectChildren()\n const modalElement = children.find((child) => child.tagName === 'BR-MODAL')\n return (modalElement as HTMLBrModalElement | undefined) ?? null\n }\n\n /**\n * Verifica se há uma modal filha com autoClose=false (padrão ou explícito)\n * Retorna true se:\n * - Existe modal filha E autoClose não é explicitamente true\n */\n private hasModalWithAutoClose(): boolean {\n const modal = this.findModalChild()\n return modal !== null && modal.autoClose !== true\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n if (el && typeof el.addEventListener === 'function') {\n el.addEventListener('click', this.handleActivatorClick)\n }\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const element = assignedElements[0]\n if (element && typeof element.removeEventListener === 'function') {\n element.removeEventListener('click', this.handleActivatorClick)\n }\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private getScrollPosition(): number {\n const targetWindow = this.el?.ownerDocument?.defaultView || window\n return targetWindow?.scrollY ?? targetWindow?.pageYOffset ?? 0\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n this.scrollOrigin = null\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = this.getScrollPosition()\n const reference = this.scrollOrigin ?? this.lastScrollTop\n if (Math.abs(currentScroll - reference) > this.scrollThreshold) {\n this.scrollOrigin = null\n // Não fecha se tiver modal filha com autoClose=false ou não definido\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.isOpen = false\n this.handleOpenChange(false)\n return\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n const modalChild = this.findModalChild()\n\n if (modalChild !== null && modalChild.show) {\n // Devolver foco ao container da modal — a própria modal gerencia Tab/Shift+Tab internamente\n const modalDialogEl = modalChild.shadowRoot?.querySelector<HTMLElement>('.br-modal')\n modalDialogEl?.focus()\n return\n }\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n this.restoreFocusTimeoutId = setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO E INTERCEPTAÇÃO DE EVENTOS\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.isOpen = false\n return\n }\n\n if (event.key === 'Tab') {\n const modalChild = this.findModalChild()\n if (modalChild !== null && modalChild.show) return\n\n this.handleTabNavigation(event)\n }\n }\n\n /**\n * Intercepta todos os eventos de teclado globalmente quando o scrim está ativo.\n *\n * Usa `composedPath()[0]` para obter o elemento real com foco, mesmo dentro de shadow roots.\n * `event.target` é retargetado ao cruzar shadow boundaries e não reflete o elemento concreto\n * quando o foco está dentro do shadow DOM de componentes filhos como `br-modal`.\n */\n private handleGlobalKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n const realTarget = (event.composedPath?.()[0] ?? event.target) as HTMLElement\n\n if (!this.isElementInsideScrim(realTarget)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n this.focusFirstElement()\n return\n }\n\n if (event.key === 'Escape' && !this.disableCloseOnClick) {\n event.preventDefault()\n if (!this.hasModalWithAutoClose()) {\n this.isOpen = false\n }\n }\n }\n\n // Intercepta TODOS os eventos de clique globalmente quando scrim está ativo\n private handleGlobalClick = (event: MouseEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n if (!this.disableCloseOnClick) {\n this.close()\n }\n return\n }\n }\n\n /**\n * Intercepta eventos de foco globalmente\n */\n private handleGlobalFocus = (event: FocusEvent) => {\n if (!this.isActive) return\n\n const realTarget = (event.composedPath?.()[0] ?? event.target) as HTMLElement\n const insideScrim = this.isElementInsideScrim(realTarget)\n\n if (this.isModalFocusing) return\n\n if (!insideScrim) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n setTimeout(() => {\n this.focusFirstElement()\n }, 0)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n if ((event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick) {\n return !this.hasModalWithAutoClose()\n }\n return false\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement, event)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(\n isTabForward: boolean,\n firstElement: HTMLElement,\n lastElement: HTMLElement,\n event?: KeyboardEvent\n ): boolean {\n const activeEl = (event?.composedPath?.()[0] ?? document.activeElement) as HTMLElement\n return (isTabForward && activeEl === lastElement) || (!isTabForward && activeEl === firstElement)\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n /**\n * Verifica se um elemento está dentro do scrim.\n * Funciona com shadow DOM: aceita tanto o host (br-modal) quanto elementos\n * dentro de shadow roots filhos — verifica o host mais próximo via getRootNode.\n */\n private isElementInsideScrim(element: HTMLElement): boolean {\n if (this.el.contains(element)) {\n return true\n }\n\n let node: Node = element\n while (node !== null && node !== document) {\n const root = node.getRootNode()\n if (root instanceof ShadowRoot) {\n const host = root.host\n if (this.el.contains(host)) {\n return true\n }\n node = host\n } else {\n break\n }\n }\n\n return false\n }\n\n /**\n * Adiciona interceptação global de eventos\n */\n private addGlobalEventInterception() {\n // Intercepta eventos de teclado globalmente\n document.addEventListener('keydown', this.handleGlobalKeyDown, true)\n document.addEventListener('keyup', this.handleGlobalKeyDown, true)\n document.addEventListener('keypress', this.handleGlobalKeyDown, true)\n\n // Intercepta eventos de clique globalmente\n document.addEventListener('click', this.handleGlobalClick, true)\n document.addEventListener('mousedown', this.handleGlobalClick, true)\n document.addEventListener('mouseup', this.handleGlobalClick, true)\n\n // Intercepta eventos de foco.\n document.addEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Remove interceptação global de eventos\n */\n private removeGlobalEventInterception() {\n document.removeEventListener('keydown', this.handleGlobalKeyDown, true)\n document.removeEventListener('keyup', this.handleGlobalKeyDown, true)\n document.removeEventListener('keypress', this.handleGlobalKeyDown, true)\n\n document.removeEventListener('click', this.handleGlobalClick, true)\n document.removeEventListener('mousedown', this.handleGlobalClick, true)\n document.removeEventListener('mouseup', this.handleGlobalClick, true)\n\n document.removeEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Handler para clique na máscara do scrim\n * Fecha o scrim se disableCloseOnClick for false e não houver modal filha com autoClose=false\n */\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.close()\n }\n }\n\n // ======================================================================\n // UTILITÁRIOS\n // ======================================================================\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.isOpen = true\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.isOpen = false\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.isOpen = !this.isActive\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.ariaLabel || 'Conteúdo do diálogo'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n id={`${this.customId}-content`}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"br-select-option.entry.esm.js","sources":["../../packages/webcomponents/src/components/select/select-option/select-option.tsx"],"sourcesContent":["import { Component, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core'\n\n/**\n * ## Design System\n *\n * O `br-select-option` é um subcomponente lógico de `br-select`, usado para\n * declarar opções de forma declarativa no HTML.\n *\n * @slot default - Texto opcional da opção. Usado como fallback para `label`.\n */\n@Component({\n tag: 'br-select-option',\n shadow: true,\n})\nexport class SelectOption {\n /**\n * Rótulo da opção. Quando omitido, o texto do slot é usado.\n */\n @Prop({ reflect: true }) label?: string\n\n /**\n * Valor da opção.\n */\n @Prop({ reflect: true }) value?: string\n\n /**\n * Indica se a opção está selecionada.\n */\n @Prop({ reflect: true }) selected: boolean = false\n\n /**\n * Notifica o componente pai sobre mudanças de props ou conteúdo.\n */\n @Event({ bubbles: true, composed: true }) brSelectOptionPropsChange!: EventEmitter<void>\n\n @Watch('label')\n @Watch('value')\n @Watch('selected')\n handlePropsChange() {\n this.brSelectOptionPropsChange.emit()\n }\n\n render() {\n return (\n <Host style={{ display: 'none' }}>\n <slot onSlotchange={() => this.brSelectOptionPropsChange.emit()}></slot>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;MAca,YAAY,GAAA,MAAA;AAJzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAeE;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAqBnD;IAXC,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE;;IAGvC,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,EAC9B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,YAAY,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAS,CAAA,CACnE;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"br-sign-in.entry.esm.js","sources":["../../packages/webcomponents/src/components/sign-in/sign-in.scss?tag=br-sign-in&encapsulation=shadow","../../packages/webcomponents/src/components/sign-in/sign-in.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/signin/signin\";\n\n:host {\n display: inline-block;\n}\n\n:host([shape=\"block\"]) {\n display: block;\n width: 100%;\n}\n\n.br-sign-in {\n @include button-configs;\n @include signin-configs;\n\n &.secondary {\n border: 0;\n background-color: var(--background);\n }\n\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n pointer-events: none;\n }\n}\n\n[part=\"image\"] {\n display: inline-flex;\n align-items: center;\n margin-left: var(--spacing-scale-half);\n}\n\n::slotted([slot=\"image\"]) {\n max-height: var(--sign-in-img);\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/sign-in?tab=designer).\n *\n * @slot default - Slot para o texto do sign-in.\n * @slot icon - Slot para ícone personalizado, com padrão fa6-solid:user para shape=\"circle\".\n * @slot image - Slot para imagem ou ícone ao lado do texto.\n *\n * @part content - Parte para a área de conteúdo/texto do sign-in, usada para estilização via ::part().\n * @part image - Parte para a área da imagem/ícone, usada para controle de tamanho via CSS e ::part().\n */\n@Component({\n tag: 'br-sign-in',\n styleUrl: 'sign-in.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SignIn {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrSignInElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Define se o sign-in usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o sign-in, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do sign-in, alterando sua aparência para criar hierarquia visual.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' = 'secondary'\n\n /**\n * Define o formato do sign-in.\n */\n @Prop({ reflect: true }) readonly shape: 'block' | 'circle' | 'pill' = 'pill'\n\n /**\n * URL para onde o usuário será redirecionado ao clicar. Use para login com provedores externos ou em sites tradicionais.\n */\n @Prop({ reflect: true }) readonly href: string\n\n /**\n * Define onde abrir o link quando href é fornecido.\n */\n @Prop({ reflect: true }) readonly target: '_self' | '_blank' | '_parent' | '_top' = '_self'\n\n /**\n * Define o rótulo acessível do sign-in, especialmente importante para formatos circulares.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n private readonly handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n }\n\n private readonly handleFocus = (event: FocusEvent) => {\n if (this.disabled) {\n ;(event.target as HTMLElement)?.blur?.()\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-sign-in': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n 'dark-mode': this.colorMode === 'dark',\n disabled: this.disabled,\n }\n }\n\n private getTagType(): string {\n return this.href && this.href.length > 0 ? 'a' : 'button'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n\n if (TagType === 'a') {\n return {\n href: this.disabled ? null : this.href,\n target: this.disabled ? null : this.target,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-label': this.ariaLabel,\n }\n }\n\n return {\n type: 'button',\n disabled: this.disabled,\n 'aria-label': this.ariaLabel,\n }\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <TagType\n part=\"button\"\n class={classList}\n id={this.customId}\n {...attributes}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n >\n <slot name=\"icon\">{this.shape === 'circle' && <br-icon icon-name=\"fa6-solid:user\"></br-icon>}</slot>\n <span part=\"content\">\n <slot></slot>\n </span>\n {this.hasSlotContent('image') && (\n <span part=\"image\">\n <slot name=\"image\"></slot>\n </span>\n )}\n </TagType>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"br-sign-in.entry.esm.js","sources":["../../packages/webcomponents/src/components/sign-in/sign-in.scss?tag=br-sign-in&encapsulation=shadow","../../packages/webcomponents/src/components/sign-in/sign-in.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/signin/signin\";\n\n:host {\n display: inline-block;\n}\n\n:host([shape=\"block\"]) {\n display: block;\n width: 100%;\n}\n\n.br-sign-in {\n @include button-configs;\n @include signin-configs;\n\n &.secondary {\n border: 0;\n background-color: var(--background);\n }\n\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n pointer-events: none;\n }\n}\n\n[part=\"image\"] {\n display: inline-flex;\n align-items: center;\n margin-left: var(--spacing-scale-half);\n}\n\n::slotted([slot=\"image\"]) {\n max-height: var(--sign-in-img);\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para 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/sign-in?tab=designer).\n *\n * @slot default - Slot para o texto do sign-in.\n * @slot icon - Slot para ícone personalizado, com padrão fa6-solid:user para shape=\"circle\".\n * @slot image - Slot para imagem ou ícone ao lado do texto.\n *\n * @part content - Parte para a área de conteúdo/texto do sign-in, usada para estilização via ::part().\n * @part image - Parte para a área da imagem/ícone, usada para controle de tamanho via CSS e ::part().\n */\n@Component({\n tag: 'br-sign-in',\n styleUrl: 'sign-in.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SignIn {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrSignInElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Define se o sign-in usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o sign-in, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do sign-in, alterando sua aparência para criar hierarquia visual.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' = 'secondary'\n\n /**\n * Define o formato do sign-in.\n */\n @Prop({ reflect: true }) readonly shape: 'block' | 'circle' | 'pill' = 'pill'\n\n /**\n * URL para onde o usuário será redirecionado ao clicar. Use para login com provedores externos ou em sites tradicionais.\n */\n @Prop({ reflect: true }) readonly href: string\n\n /**\n * Define onde abrir o link quando href é fornecido.\n */\n @Prop({ reflect: true }) readonly target: '_self' | '_blank' | '_parent' | '_top' = '_self'\n\n /**\n * Define o rótulo acessível do sign-in, especialmente importante para formatos circulares.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n private readonly handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n }\n\n private readonly handleFocus = (event: FocusEvent) => {\n if (this.disabled) {\n ;(event.target as HTMLElement)?.blur?.()\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-sign-in': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n 'dark-mode': this.colorMode === 'dark',\n disabled: this.disabled,\n }\n }\n\n private getTagType(): string {\n return this.href && this.href.length > 0 ? 'a' : 'button'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n\n if (TagType === 'a') {\n return {\n href: this.disabled ? null : this.href,\n target: this.disabled ? null : this.target,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-label': this.ariaLabel,\n }\n }\n\n return {\n type: 'button',\n disabled: this.disabled,\n 'aria-label': this.ariaLabel,\n }\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <TagType\n part=\"button\"\n class={classList}\n id={this.customId}\n {...attributes}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n >\n <slot name=\"icon\">{this.shape === 'circle' && <br-icon icon-name=\"fa6-solid:user\"></br-icon>}</slot>\n <span part=\"content\">\n <slot></slot>\n </span>\n {this.hasSlotContent('image') && (\n <span part=\"image\">\n <slot name=\"image\"></slot>\n </span>\n )}\n </TagType>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|