@govbr-ds/webcomponents 2.0.0-next.56 → 2.0.0-next.58
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 +3 -3
- package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/br-button_2.cjs.entry.js +6 -6
- package/dist/cjs/br-card.cjs.entry.js +3 -3
- package/dist/cjs/br-checkbox_3.cjs.entry.js +71 -10
- package/dist/cjs/br-checkgroup.cjs.entry.js +3 -3
- package/dist/cjs/br-collapse_2.cjs.entry.js +308 -0
- package/dist/cjs/br-divider.cjs.entry.js +3 -3
- package/dist/cjs/br-dropdown_2.cjs.entry.js +100 -11
- package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-item.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-legal.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-logo.cjs.entry.js +3 -3
- package/dist/cjs/br-footer-social.cjs.entry.js +3 -3
- package/dist/cjs/br-footer.cjs.entry.js +3 -3
- package/dist/cjs/br-header-function.cjs.entry.js +138 -0
- package/dist/cjs/br-header-link.cjs.entry.js +56 -0
- package/dist/cjs/br-header-list.cjs.entry.js +248 -0
- package/dist/cjs/br-header-logo.cjs.entry.js +160 -0
- package/dist/cjs/br-header.cjs.entry.js +565 -0
- package/dist/cjs/br-item.cjs.entry.js +288 -0
- package/dist/cjs/br-loading.cjs.entry.js +4 -4
- package/dist/cjs/br-magic-button.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-header.cjs.entry.js +52 -0
- package/dist/cjs/br-menu-info.cjs.entry.js +42 -0
- package/dist/cjs/br-menu-item.cjs.entry.js +72 -0
- package/dist/cjs/br-menu-link.cjs.entry.js +41 -0
- package/dist/cjs/br-menu-list.cjs.entry.js +136 -0
- package/dist/cjs/br-menu-logo.cjs.entry.js +49 -0
- package/dist/cjs/br-menu-social.cjs.entry.js +33 -0
- package/dist/cjs/br-menu.cjs.entry.js +837 -0
- package/dist/cjs/br-message.cjs.entry.js +4 -4
- package/dist/cjs/br-modal.cjs.entry.js +3 -3
- package/dist/cjs/br-pagination.cjs.entry.js +3 -3
- package/dist/cjs/br-scrim.cjs.entry.js +4 -4
- package/dist/cjs/br-sign-in.cjs.entry.js +4 -4
- package/dist/cjs/br-skip-link.cjs.entry.js +322 -0
- package/dist/cjs/br-skiplink-item.cjs.entry.js +193 -0
- package/dist/cjs/br-step-item.cjs.entry.js +4 -4
- package/dist/cjs/br-step.cjs.entry.js +4 -4
- package/dist/cjs/br-switch.cjs.entry.js +4 -4
- package/dist/cjs/br-tab-item.cjs.entry.js +4 -4
- package/dist/cjs/br-tab.cjs.entry.js +5 -5
- package/dist/cjs/br-table-cell.cjs.entry.js +4 -4
- package/dist/cjs/br-table-header-cell.cjs.entry.js +4 -4
- package/dist/cjs/br-table-header-row.cjs.entry.js +4 -4
- package/dist/cjs/br-table-row.cjs.entry.js +4 -4
- package/dist/cjs/br-table.cjs.entry.js +4 -4
- package/dist/cjs/br-tag.cjs.entry.js +4 -4
- package/dist/cjs/br-textarea.cjs.entry.js +4 -4
- package/dist/cjs/br-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/br-upload.cjs.entry.js +7 -4
- package/dist/cjs/breakpoint-observer-qqFx-NzP.js +200 -0
- package/dist/cjs/breakpoint-observer-qqFx-NzP.js.map +1 -0
- package/dist/cjs/{index-CFIH680Y.js → index-BFg1F33U.js} +80 -14
- package/dist/cjs/index-BFg1F33U.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +4 -2
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/webcomponents.cjs.js +5 -3
- package/dist/cjs/webcomponents.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +17 -2
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkgroup/checkgroup.css +1 -1
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +1 -1
- package/dist/collection/components/collapse/collapse.js.map +1 -1
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/header/header-function/header-function.css +1 -0
- package/dist/collection/components/header/header-function/header-function.js +256 -0
- package/dist/collection/components/header/header-function/header-function.js.map +1 -0
- package/dist/collection/components/header/header-link/header-link.css +1 -0
- package/dist/collection/components/header/header-link/header-link.js +134 -0
- package/dist/collection/components/header/header-link/header-link.js.map +1 -0
- package/dist/collection/components/header/header-list/header-list.css +1 -0
- package/dist/collection/components/header/header-list/header-list.js +420 -0
- package/dist/collection/components/header/header-list/header-list.js.map +1 -0
- package/dist/collection/components/header/header-logo/header-logo.css +1 -0
- package/dist/collection/components/header/header-logo/header-logo.js +363 -0
- package/dist/collection/components/header/header-logo/header-logo.js.map +1 -0
- package/dist/collection/components/header/header.css +1 -0
- package/dist/collection/components/header/header.js +901 -0
- package/dist/collection/components/header/header.js.map +1 -0
- 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 +87 -2
- package/dist/collection/components/input/input.js.map +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 -0
- package/dist/collection/components/menu/menu-header/menu-header.js +154 -0
- package/dist/collection/components/menu/menu-header/menu-header.js.map +1 -0
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
- package/dist/collection/components/menu/menu-info/menu-info.js +92 -0
- package/dist/collection/components/menu/menu-info/menu-info.js.map +1 -0
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
- package/dist/collection/components/menu/menu-item/menu-item.js +233 -0
- package/dist/collection/components/menu/menu-item/menu-item.js.map +1 -0
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
- package/dist/collection/components/menu/menu-link/menu-link.js +123 -0
- package/dist/collection/components/menu/menu-link/menu-link.js.map +1 -0
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
- package/dist/collection/components/menu/menu-list/menu-list.js +295 -0
- package/dist/collection/components/menu/menu-list/menu-list.js.map +1 -0
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
- package/dist/collection/components/menu/menu-logo/menu-logo.js +162 -0
- package/dist/collection/components/menu/menu-logo/menu-logo.js.map +1 -0
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
- package/dist/collection/components/menu/menu-social/menu-social.js +139 -0
- package/dist/collection/components/menu/menu-social/menu-social.js.map +1 -0
- package/dist/collection/components/menu/menu.css +1 -0
- package/dist/collection/components/menu/menu.js +1064 -0
- package/dist/collection/components/menu/menu.js.map +1 -0
- 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/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 +1 -1
- package/dist/collection/components/scrim/scrim.js.map +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +160 -8
- 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 -0
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +392 -0
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -0
- package/dist/collection/components/skip-link/skip-link.css +1 -0
- package/dist/collection/components/skip-link/skip-link.js +588 -0
- package/dist/collection/components/skip-link/skip-link.js.map +1 -0
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step-item/step-item.js +1 -1
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/step/step.js +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 +2 -2
- 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/tag/tag.js.map +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 +26 -1
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/pages/components/header/index.js +18 -0
- package/dist/collection/pages/components/menu/index.js +18 -0
- package/dist/collection/pages/components/select/index.js +41 -0
- package/dist/collection/pages/components/skip-link/index.js +18 -0
- package/dist/collection/pages/components/upload/index.js +1 -1
- package/dist/collection/utils/breakpoint-observer.js +193 -0
- package/dist/collection/utils/breakpoint-observer.js.map +1 -0
- package/dist/components/br-avatar.js +14 -14
- package/dist/components/br-avatar.js.map +1 -1
- package/dist/components/br-breadcrumb.js +22 -22
- package/dist/components/br-breadcrumb.js.map +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-card.js +5 -5
- package/dist/components/br-card.js.map +1 -1
- package/dist/components/br-checkbox.js +4 -4
- package/dist/components/br-checkgroup.js +8 -8
- package/dist/components/br-checkgroup.js.map +1 -1
- package/dist/components/br-collapse.js +3 -3
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.js +22 -22
- package/dist/components/br-footer-category.js.map +1 -1
- package/dist/components/br-footer-item.js +12 -12
- package/dist/components/br-footer-item.js.map +1 -1
- package/dist/components/br-footer-legal.js +7 -7
- package/dist/components/br-footer-legal.js.map +1 -1
- package/dist/components/br-footer-logo.js +7 -7
- package/dist/components/br-footer-logo.js.map +1 -1
- package/dist/components/br-footer-social.js +13 -13
- package/dist/components/br-footer-social.js.map +1 -1
- package/dist/components/br-footer.js +11 -11
- package/dist/components/br-footer.js.map +1 -1
- package/dist/components/br-header-function.d.ts +11 -0
- package/dist/components/br-header-function.js +198 -0
- package/dist/components/br-header-function.js.map +1 -0
- package/dist/components/br-header-link.d.ts +11 -0
- package/dist/components/br-header-link.js +102 -0
- package/dist/components/br-header-link.js.map +1 -0
- package/dist/components/br-header-list.d.ts +11 -0
- package/dist/components/br-header-list.js +302 -0
- package/dist/components/br-header-list.js.map +1 -0
- package/dist/components/br-header-logo.d.ts +11 -0
- package/dist/components/br-header-logo.js +200 -0
- package/dist/components/br-header-logo.js.map +1 -0
- package/dist/components/br-header.d.ts +11 -0
- package/dist/components/br-header.js +677 -0
- package/dist/components/br-header.js.map +1 -0
- package/dist/components/br-icon.js +4 -4
- package/dist/components/br-input.js +4 -4
- package/dist/components/br-item.js +4 -4
- package/dist/components/br-list.js +4 -4
- package/dist/components/br-loading.js +6 -6
- package/dist/components/br-loading.js.map +1 -1
- package/dist/components/br-magic-button.js +10 -10
- package/dist/components/br-magic-button.js.map +1 -1
- package/dist/components/br-menu-header.d.ts +11 -0
- package/dist/components/br-menu-header.js +125 -0
- package/dist/components/br-menu-header.js.map +1 -0
- package/dist/components/br-menu-info.d.ts +11 -0
- package/dist/components/br-menu-info.js +76 -0
- package/dist/components/br-menu-info.js.map +1 -0
- package/dist/components/br-menu-item.d.ts +11 -0
- package/dist/components/br-menu-item.js +13 -0
- package/dist/components/br-menu-item.js.map +1 -0
- package/dist/components/br-menu-link.d.ts +11 -0
- package/dist/components/br-menu-link.js +95 -0
- package/dist/components/br-menu-link.js.map +1 -0
- package/dist/components/br-menu-list.d.ts +11 -0
- package/dist/components/br-menu-list.js +199 -0
- package/dist/components/br-menu-list.js.map +1 -0
- package/dist/components/br-menu-logo.d.ts +11 -0
- package/dist/components/br-menu-logo.js +98 -0
- package/dist/components/br-menu-logo.js.map +1 -0
- package/dist/components/br-menu-social.d.ts +11 -0
- package/dist/components/br-menu-social.js +102 -0
- package/dist/components/br-menu-social.js.map +1 -0
- package/dist/components/br-menu.d.ts +11 -0
- package/dist/components/br-menu.js +952 -0
- package/dist/components/br-menu.js.map +1 -0
- package/dist/components/br-message.js +12 -12
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-modal.js +16 -16
- package/dist/components/br-modal.js.map +1 -1
- package/dist/components/br-pagination.js +35 -35
- package/dist/components/br-pagination.js.map +1 -1
- package/dist/components/br-radio.js +3 -3
- package/dist/components/br-scrim.js +34 -34
- package/dist/components/br-scrim.js.map +1 -1
- package/dist/components/br-select.js +4 -4
- package/dist/components/br-sign-in.js +18 -18
- package/dist/components/br-sign-in.js.map +1 -1
- package/dist/components/br-skip-link.d.ts +11 -0
- package/dist/components/br-skip-link.js +372 -0
- package/dist/components/br-skip-link.js.map +1 -0
- package/dist/components/br-skiplink-item.d.ts +11 -0
- package/dist/components/br-skiplink-item.js +271 -0
- package/dist/components/br-skiplink-item.js.map +1 -0
- package/dist/components/br-step-item.js +30 -30
- package/dist/components/br-step-item.js.map +1 -1
- package/dist/components/br-step.js +14 -14
- package/dist/components/br-step.js.map +1 -1
- package/dist/components/br-switch.js +12 -12
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/br-tab-item.js +13 -13
- package/dist/components/br-tab-item.js.map +1 -1
- package/dist/components/br-tab.js +17 -17
- package/dist/components/br-tab.js.map +1 -1
- package/dist/components/br-table-cell.js +12 -12
- package/dist/components/br-table-cell.js.map +1 -1
- package/dist/components/br-table-header-cell.js +15 -15
- package/dist/components/br-table-header-cell.js.map +1 -1
- package/dist/components/br-table-header-row.js +10 -10
- package/dist/components/br-table-header-row.js.map +1 -1
- package/dist/components/br-table-row.js +13 -13
- package/dist/components/br-table-row.js.map +1 -1
- package/dist/components/br-table.js +13 -13
- package/dist/components/br-table.js.map +1 -1
- package/dist/components/br-tag.js +4 -409
- package/dist/components/br-tag.js.map +1 -1
- package/dist/components/br-textarea.js +16 -16
- package/dist/components/br-textarea.js.map +1 -1
- package/dist/components/br-tooltip.js +24 -24
- package/dist/components/br-tooltip.js.map +1 -1
- package/dist/components/br-upload.js +46 -43
- package/dist/components/br-upload.js.map +1 -1
- package/dist/components/index.d.ts +30 -0
- package/dist/components/index.js +31 -1
- package/dist/components/p-75pWQXE5.js +200 -0
- package/dist/components/{p-CvEK2Il7.js.map → p-75pWQXE5.js.map} +1 -1
- package/dist/components/p-B3imhKtv.js +164 -0
- package/dist/components/{p-C5niSTTq.js.map → p-B3imhKtv.js.map} +1 -1
- package/dist/components/p-BQbwSVaT.js +622 -0
- package/dist/components/p-BQbwSVaT.js.map +1 -0
- package/dist/components/p-CcJHd-EX.js +400 -0
- package/dist/components/p-CcJHd-EX.js.map +1 -0
- package/dist/components/p-Coy21EGa.js +250 -0
- package/dist/components/{p-BGvZWtkB.js.map → p-Coy21EGa.js.map} +1 -1
- package/dist/components/p-CqGm9xxH.js +143 -0
- package/dist/components/p-CqGm9xxH.js.map +1 -0
- package/dist/components/p-CqgyNPQx.js +191 -0
- package/dist/components/p-CqgyNPQx.js.map +1 -0
- package/dist/components/{p-CDqodOhC.js → p-CwXw4TB_.js} +15 -15
- package/dist/components/{p-CDqodOhC.js.map → p-CwXw4TB_.js.map} +1 -1
- package/dist/components/{p-Ck56essO.js → p-DPI-6oom.js} +295 -295
- package/dist/components/{p-Ck56essO.js.map → p-DPI-6oom.js.map} +1 -1
- package/dist/components/{p-DSkSDmzD.js → p-Dl8sbmQD.js} +44 -37
- package/dist/components/p-Dl8sbmQD.js.map +1 -0
- package/dist/components/p-MRCv9Vq6.js +275 -0
- package/dist/components/p-MRCv9Vq6.js.map +1 -0
- package/dist/components/p-_1olx8GR.js +179 -0
- package/dist/components/{p-0zSorzux.js.map → p-_1olx8GR.js.map} +1 -1
- package/dist/components/p-ey_HrFRS.js +415 -0
- package/dist/components/p-ey_HrFRS.js.map +1 -0
- package/dist/components/p-foGc27n-.js +361 -0
- package/dist/components/{p-DGjCsmhy.js.map → p-foGc27n-.js.map} +1 -1
- package/dist/components/p-wT-Xw7qJ.js +136 -0
- package/dist/components/{p-CodfIeVU.js.map → p-wT-Xw7qJ.js.map} +1 -1
- package/dist/custom-elements.json +9262 -4929
- package/dist/esm/br-avatar.entry.js +3 -3
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-breadcrumb.entry.js +3 -3
- package/dist/esm/br-breadcrumb.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +6 -6
- package/dist/esm/br-card.entry.js +3 -3
- package/dist/esm/br-card.entry.js.map +1 -1
- package/dist/esm/br-checkbox_3.entry.js +71 -10
- package/dist/esm/br-checkgroup.entry.js +3 -3
- package/dist/esm/br-checkgroup.entry.js.map +1 -1
- package/dist/esm/br-collapse_2.entry.js +305 -0
- package/dist/esm/br-divider.entry.js +3 -3
- package/dist/esm/br-divider.entry.js.map +1 -1
- package/dist/esm/br-dropdown_2.entry.js +100 -11
- package/dist/esm/br-footer-category.entry.js +3 -3
- 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 +136 -0
- package/dist/esm/br-header-function.entry.js.map +1 -0
- package/dist/esm/br-header-link.entry.js +54 -0
- package/dist/esm/br-header-link.entry.js.map +1 -0
- package/dist/esm/br-header-list.entry.js +246 -0
- package/dist/esm/br-header-list.entry.js.map +1 -0
- package/dist/esm/br-header-logo.entry.js +158 -0
- package/dist/esm/br-header-logo.entry.js.map +1 -0
- package/dist/esm/br-header.entry.js +563 -0
- package/dist/esm/br-header.entry.js.map +1 -0
- package/dist/esm/br-item.entry.js +286 -0
- package/dist/esm/br-item.entry.js.map +1 -0
- package/dist/esm/br-loading.entry.js +4 -4
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-magic-button.entry.js +4 -4
- package/dist/esm/br-magic-button.entry.js.map +1 -1
- package/dist/esm/br-menu-header.entry.js +50 -0
- package/dist/esm/br-menu-header.entry.js.map +1 -0
- package/dist/esm/br-menu-info.entry.js +40 -0
- package/dist/esm/br-menu-info.entry.js.map +1 -0
- package/dist/esm/br-menu-item.entry.js +70 -0
- package/dist/esm/br-menu-item.entry.js.map +1 -0
- package/dist/esm/br-menu-link.entry.js +39 -0
- package/dist/esm/br-menu-link.entry.js.map +1 -0
- package/dist/esm/br-menu-list.entry.js +134 -0
- package/dist/esm/br-menu-list.entry.js.map +1 -0
- package/dist/esm/br-menu-logo.entry.js +47 -0
- package/dist/esm/br-menu-logo.entry.js.map +1 -0
- package/dist/esm/br-menu-social.entry.js +31 -0
- package/dist/esm/br-menu-social.entry.js.map +1 -0
- package/dist/esm/br-menu.entry.js +835 -0
- package/dist/esm/br-menu.entry.js.map +1 -0
- package/dist/esm/br-message.entry.js +4 -4
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-modal.entry.js +3 -3
- package/dist/esm/br-modal.entry.js.map +1 -1
- package/dist/esm/br-pagination.entry.js +3 -3
- package/dist/esm/br-pagination.entry.js.map +1 -1
- package/dist/esm/br-scrim.entry.js +4 -4
- package/dist/esm/br-scrim.entry.js.map +1 -1
- package/dist/esm/br-sign-in.entry.js +4 -4
- package/dist/esm/br-sign-in.entry.js.map +1 -1
- package/dist/esm/br-skip-link.entry.js +320 -0
- package/dist/esm/br-skip-link.entry.js.map +1 -0
- package/dist/esm/br-skiplink-item.entry.js +191 -0
- package/dist/esm/br-skiplink-item.entry.js.map +1 -0
- package/dist/esm/br-step-item.entry.js +4 -4
- package/dist/esm/br-step-item.entry.js.map +1 -1
- package/dist/esm/br-step.entry.js +4 -4
- package/dist/esm/br-step.entry.js.map +1 -1
- package/dist/esm/br-switch.entry.js +4 -4
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-tab-item.entry.js +4 -4
- package/dist/esm/br-tab-item.entry.js.map +1 -1
- package/dist/esm/br-tab.entry.js +5 -5
- package/dist/esm/br-tab.entry.js.map +1 -1
- package/dist/esm/br-table-cell.entry.js +4 -4
- package/dist/esm/br-table-cell.entry.js.map +1 -1
- package/dist/esm/br-table-header-cell.entry.js +4 -4
- package/dist/esm/br-table-header-cell.entry.js.map +1 -1
- package/dist/esm/br-table-header-row.entry.js +4 -4
- package/dist/esm/br-table-header-row.entry.js.map +1 -1
- package/dist/esm/br-table-row.entry.js +4 -4
- package/dist/esm/br-table-row.entry.js.map +1 -1
- package/dist/esm/br-table.entry.js +4 -4
- package/dist/esm/br-table.entry.js.map +1 -1
- package/dist/esm/br-tag.entry.js +4 -4
- package/dist/esm/br-tag.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +4 -4
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-tooltip.entry.js +4 -4
- package/dist/esm/br-tooltip.entry.js.map +1 -1
- package/dist/esm/br-upload.entry.js +7 -4
- package/dist/esm/br-upload.entry.js.map +1 -1
- package/dist/esm/breakpoint-observer-CqgyNPQx.js +197 -0
- package/dist/esm/breakpoint-observer-CqgyNPQx.js.map +1 -0
- package/dist/esm/{index-ByGJPTh2.js → index-DULshOxW.js} +80 -14
- package/dist/esm/index-DULshOxW.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/loader.js +5 -3
- package/dist/esm/webcomponents.js +6 -4
- package/dist/esm/webcomponents.js.map +1 -1
- package/dist/hydrate/index.d.ts +12 -0
- package/dist/hydrate/index.js +8533 -4974
- package/dist/hydrate/index.mjs +8532 -4975
- package/dist/stencil.config.js +93 -125
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/header/header-function/header-function.d.ts +100 -0
- package/dist/types/components/header/header-link/header-link.d.ts +41 -0
- package/dist/types/components/header/header-list/header-list.d.ts +173 -0
- package/dist/types/components/header/header-logo/header-logo.d.ts +120 -0
- package/dist/types/components/header/header.d.ts +311 -0
- package/dist/types/components/input/input.d.ts +9 -0
- package/dist/types/components/menu/menu-header/menu-header.d.ts +42 -0
- package/dist/types/components/menu/menu-info/menu-info.d.ts +25 -0
- package/dist/types/components/menu/menu-item/menu-item.d.ts +49 -0
- package/dist/types/components/menu/menu-link/menu-link.d.ts +34 -0
- package/dist/types/components/menu/menu-list/menu-list.d.ts +62 -0
- package/dist/types/components/menu/menu-logo/menu-logo.d.ts +43 -0
- package/dist/types/components/menu/menu-social/menu-social.d.ts +36 -0
- package/dist/types/components/menu/menu.d.ts +260 -0
- package/dist/types/components/select/select.d.ts +25 -0
- package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +111 -0
- package/dist/types/components/skip-link/skip-link.d.ts +173 -0
- package/dist/types/components/upload/upload.d.ts +5 -0
- package/dist/types/components.d.ts +1496 -47
- package/dist/types/stencil-public-runtime.d.ts +43 -0
- package/dist/types/utils/breakpoint-observer.d.ts +99 -0
- package/dist/webcomponents/p-02106faf.entry.js +63 -0
- package/dist/webcomponents/p-02106faf.entry.js.map +1 -0
- package/dist/webcomponents/p-04bee121.entry.js +148 -0
- package/dist/webcomponents/p-04bee121.entry.js.map +1 -0
- package/dist/webcomponents/p-0b68fde3.entry.js +113 -0
- package/dist/webcomponents/p-0b68fde3.entry.js.map +1 -0
- package/dist/webcomponents/p-13f315b9.entry.js +65 -0
- package/dist/webcomponents/p-13f315b9.entry.js.map +1 -0
- package/dist/webcomponents/p-19988c40.entry.js +385 -0
- package/dist/webcomponents/p-19988c40.entry.js.map +1 -0
- package/dist/webcomponents/p-27771bab.entry.js +210 -0
- package/dist/webcomponents/p-27771bab.entry.js.map +1 -0
- package/dist/webcomponents/p-29575ecc.entry.js +587 -0
- package/dist/webcomponents/p-29575ecc.entry.js.map +1 -0
- package/dist/webcomponents/p-2baf706b.entry.js +44 -0
- package/dist/webcomponents/p-2baf706b.entry.js.map +1 -0
- package/dist/webcomponents/p-2f5d6943.entry.js +73 -0
- package/dist/webcomponents/p-2f5d6943.entry.js.map +1 -0
- package/dist/webcomponents/p-3124fad7.entry.js +348 -0
- package/dist/webcomponents/p-3124fad7.entry.js.map +1 -0
- package/dist/webcomponents/p-377cfe1d.entry.js +362 -0
- package/dist/webcomponents/p-377cfe1d.entry.js.map +1 -0
- package/dist/webcomponents/p-3a95b67e.entry.js +120 -0
- package/dist/webcomponents/p-3a95b67e.entry.js.map +1 -0
- package/dist/webcomponents/p-3b55ea0c.entry.js +389 -0
- package/dist/webcomponents/p-3b55ea0c.entry.js.map +1 -0
- package/dist/webcomponents/p-3bdc8b39.entry.js +142 -0
- package/dist/webcomponents/p-3bdc8b39.entry.js.map +1 -0
- package/dist/webcomponents/p-4282727e.entry.js +139 -0
- package/dist/webcomponents/p-4282727e.entry.js.map +1 -0
- package/dist/webcomponents/p-428c99c3.entry.js +52 -0
- package/dist/webcomponents/p-428c99c3.entry.js.map +1 -0
- package/dist/webcomponents/p-4dd9d5cd.entry.js +204 -0
- package/dist/webcomponents/p-4dd9d5cd.entry.js.map +1 -0
- package/dist/webcomponents/p-5d1ff009.entry.js +136 -0
- package/dist/webcomponents/p-5d1ff009.entry.js.map +1 -0
- package/dist/webcomponents/p-719915a9.entry.js +272 -0
- package/dist/webcomponents/p-719915a9.entry.js.map +1 -0
- package/dist/webcomponents/p-7a676bbf.entry.js +66 -0
- package/dist/webcomponents/p-7a676bbf.entry.js.map +1 -0
- package/dist/webcomponents/p-7d2b7cdd.entry.js +52 -0
- package/dist/webcomponents/p-7d2b7cdd.entry.js.map +1 -0
- package/dist/webcomponents/p-7eeb3f78.entry.js +1015 -0
- package/dist/webcomponents/p-7eeb3f78.entry.js.map +1 -0
- package/dist/webcomponents/p-7f30b571.entry.js +106 -0
- package/dist/webcomponents/p-7f30b571.entry.js.map +1 -0
- package/dist/webcomponents/p-80091ce2.entry.js +105 -0
- package/dist/webcomponents/p-80091ce2.entry.js.map +1 -0
- package/dist/webcomponents/p-8b057d32.entry.js +899 -0
- package/dist/webcomponents/p-8b057d32.entry.js.map +1 -0
- package/dist/webcomponents/p-8d578007.entry.js +235 -0
- package/dist/webcomponents/p-8d578007.entry.js.map +1 -0
- package/dist/webcomponents/p-8fdd51b9.entry.js +613 -0
- package/dist/webcomponents/p-8fdd51b9.entry.js.map +1 -0
- package/dist/webcomponents/p-9092f3dc.entry.js +94 -0
- package/dist/webcomponents/p-9092f3dc.entry.js.map +1 -0
- package/dist/webcomponents/p-9c2b5fa0.entry.js +616 -0
- package/dist/webcomponents/p-9c2b5fa0.entry.js.map +1 -0
- package/dist/webcomponents/p-CqgyNPQx.js +191 -0
- package/dist/webcomponents/p-CqgyNPQx.js.map +1 -0
- package/dist/webcomponents/{p-ByGJPTh2.js → p-DULshOxW.js} +26 -19
- package/dist/webcomponents/p-DULshOxW.js.map +1 -0
- package/dist/webcomponents/p-a118a0a8.entry.js +62 -0
- package/dist/webcomponents/p-a118a0a8.entry.js.map +1 -0
- package/dist/webcomponents/p-a1c89064.entry.js +56 -0
- package/dist/webcomponents/p-a1c89064.entry.js.map +1 -0
- package/dist/webcomponents/{p-a9200224.entry.js → p-a2cd9b08.entry.js} +121 -121
- package/dist/webcomponents/p-a2cd9b08.entry.js.map +1 -0
- package/dist/webcomponents/p-a3b15b54.entry.js +50 -0
- package/dist/webcomponents/p-a3b15b54.entry.js.map +1 -0
- package/dist/webcomponents/p-ae73649b.entry.js +235 -0
- package/dist/webcomponents/p-ae73649b.entry.js.map +1 -0
- package/dist/webcomponents/p-b320f790.entry.js +159 -0
- package/dist/webcomponents/p-b320f790.entry.js.map +1 -0
- package/dist/webcomponents/p-ba075027.entry.js +169 -0
- package/dist/webcomponents/p-ba075027.entry.js.map +1 -0
- package/dist/webcomponents/p-bf162cf1.entry.js +286 -0
- package/dist/webcomponents/p-bf162cf1.entry.js.map +1 -0
- package/dist/webcomponents/p-c3537110.entry.js +131 -0
- package/dist/webcomponents/p-c3537110.entry.js.map +1 -0
- package/dist/webcomponents/p-c549be31.entry.js +164 -0
- package/dist/webcomponents/p-c549be31.entry.js.map +1 -0
- package/dist/webcomponents/p-c960983f.entry.js +77 -0
- package/dist/webcomponents/p-c960983f.entry.js.map +1 -0
- package/dist/webcomponents/p-cca454b0.entry.js +92 -0
- package/dist/webcomponents/p-cca454b0.entry.js.map +1 -0
- package/dist/webcomponents/p-d391838f.entry.js +271 -0
- package/dist/webcomponents/p-d391838f.entry.js.map +1 -0
- package/dist/webcomponents/p-d8535324.entry.js +91 -0
- package/dist/webcomponents/p-d8535324.entry.js.map +1 -0
- package/dist/webcomponents/p-db0eb52b.entry.js +328 -0
- package/dist/webcomponents/p-db0eb52b.entry.js.map +1 -0
- package/dist/webcomponents/p-df88b55d.entry.js +312 -0
- package/dist/webcomponents/p-df88b55d.entry.js.map +1 -0
- package/dist/webcomponents/{p-0cfc9f36.entry.js → p-e3d2085a.entry.js} +15 -15
- package/dist/webcomponents/p-e3d2085a.entry.js.map +1 -0
- package/dist/webcomponents/p-e5e676ff.entry.js +50 -0
- package/dist/webcomponents/p-e5e676ff.entry.js.map +1 -0
- package/dist/webcomponents/p-e5fabfa7.entry.js +134 -0
- package/dist/webcomponents/p-e5fabfa7.entry.js.map +1 -0
- package/dist/webcomponents/p-e855ba4f.entry.js +86 -0
- package/dist/webcomponents/p-e855ba4f.entry.js.map +1 -0
- package/dist/webcomponents/p-fa519b6b.entry.js +60 -0
- package/dist/webcomponents/p-fa519b6b.entry.js.map +1 -0
- package/dist/webcomponents/p-fa5ec6d6.entry.js +84 -0
- package/dist/webcomponents/p-fa5ec6d6.entry.js.map +1 -0
- package/dist/webcomponents/p-fef9fc47.entry.js +202 -0
- package/dist/webcomponents/p-fef9fc47.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +17 -17
- package/dist/webcomponents/webcomponents.esm.js.map +1 -1
- package/dist/webcomponents.html-custom-data.json +491 -25
- package/package.json +1 -1
- package/dist/cjs/br-avatar.entry.cjs.js.map +0 -1
- package/dist/cjs/br-breadcrumb.entry.cjs.js.map +0 -1
- package/dist/cjs/br-button.br-icon.entry.cjs.js.map +0 -1
- package/dist/cjs/br-card.entry.cjs.js.map +0 -1
- package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +0 -1
- package/dist/cjs/br-checkgroup.entry.cjs.js.map +0 -1
- package/dist/cjs/br-collapse.cjs.entry.js +0 -187
- package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
- package/dist/cjs/br-divider.entry.cjs.js.map +0 -1
- package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer-category.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer-item.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer-legal.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer-logo.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer-social.entry.cjs.js.map +0 -1
- package/dist/cjs/br-footer.entry.cjs.js.map +0 -1
- package/dist/cjs/br-item.br-list.entry.cjs.js.map +0 -1
- package/dist/cjs/br-item_2.cjs.entry.js +0 -409
- package/dist/cjs/br-loading.entry.cjs.js.map +0 -1
- package/dist/cjs/br-magic-button.entry.cjs.js.map +0 -1
- package/dist/cjs/br-message.entry.cjs.js.map +0 -1
- package/dist/cjs/br-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/br-pagination.entry.cjs.js.map +0 -1
- package/dist/cjs/br-scrim.entry.cjs.js.map +0 -1
- package/dist/cjs/br-sign-in.entry.cjs.js.map +0 -1
- package/dist/cjs/br-step-item.entry.cjs.js.map +0 -1
- package/dist/cjs/br-step.entry.cjs.js.map +0 -1
- package/dist/cjs/br-switch.entry.cjs.js.map +0 -1
- package/dist/cjs/br-tab-item.entry.cjs.js.map +0 -1
- package/dist/cjs/br-tab.entry.cjs.js.map +0 -1
- package/dist/cjs/br-table-cell.entry.cjs.js.map +0 -1
- package/dist/cjs/br-table-header-cell.entry.cjs.js.map +0 -1
- package/dist/cjs/br-table-header-row.entry.cjs.js.map +0 -1
- package/dist/cjs/br-table-row.entry.cjs.js.map +0 -1
- package/dist/cjs/br-table.entry.cjs.js.map +0 -1
- package/dist/cjs/br-tag.entry.cjs.js.map +0 -1
- package/dist/cjs/br-textarea.entry.cjs.js.map +0 -1
- package/dist/cjs/br-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/br-upload.entry.cjs.js.map +0 -1
- package/dist/cjs/index-CFIH680Y.js.map +0 -1
- package/dist/components/p-0zSorzux.js +0 -179
- package/dist/components/p-BFSUtbLz.js +0 -275
- package/dist/components/p-BFSUtbLz.js.map +0 -1
- package/dist/components/p-BGvZWtkB.js +0 -250
- package/dist/components/p-C5niSTTq.js +0 -164
- package/dist/components/p-CbnpaWFn.js +0 -334
- package/dist/components/p-CbnpaWFn.js.map +0 -1
- package/dist/components/p-CodfIeVU.js +0 -136
- package/dist/components/p-CvEK2Il7.js +0 -200
- package/dist/components/p-Cw0pxndP.js +0 -525
- package/dist/components/p-Cw0pxndP.js.map +0 -1
- package/dist/components/p-DGjCsmhy.js +0 -361
- package/dist/components/p-DSkSDmzD.js.map +0 -1
- package/dist/esm/br-button.br-icon.entry.js.map +0 -1
- package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +0 -1
- package/dist/esm/br-collapse.entry.js +0 -185
- package/dist/esm/br-collapse.entry.js.map +0 -1
- package/dist/esm/br-dropdown.br-select.entry.js.map +0 -1
- package/dist/esm/br-item.br-list.entry.js.map +0 -1
- package/dist/esm/br-item_2.entry.js +0 -406
- package/dist/esm/index-ByGJPTh2.js.map +0 -1
- package/dist/webcomponents/br-avatar.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-card.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-checkgroup.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-divider.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer-category.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer-item.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer-legal.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer-logo.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer-social.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-footer.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-item.br-list.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-loading.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-magic-button.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-message.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-modal.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-pagination.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-scrim.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-sign-in.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-step-item.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-step.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-switch.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-tab-item.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-tab.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-table-cell.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-table-header-row.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-table-row.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-table.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-tag.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-tooltip.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-upload.entry.esm.js.map +0 -1
- package/dist/webcomponents/p-0c53e0e8.entry.js +0 -60
- package/dist/webcomponents/p-0c53e0e8.entry.js.map +0 -1
- package/dist/webcomponents/p-0c7961dc.entry.js +0 -286
- package/dist/webcomponents/p-0c7961dc.entry.js.map +0 -1
- package/dist/webcomponents/p-0cc360f5.entry.js +0 -271
- package/dist/webcomponents/p-0cc360f5.entry.js.map +0 -1
- package/dist/webcomponents/p-0cfc9f36.entry.js.map +0 -1
- package/dist/webcomponents/p-110e53e5.entry.js +0 -91
- package/dist/webcomponents/p-110e53e5.entry.js.map +0 -1
- package/dist/webcomponents/p-136fc952.entry.js +0 -459
- package/dist/webcomponents/p-136fc952.entry.js.map +0 -1
- package/dist/webcomponents/p-13e6e87d.entry.js +0 -73
- package/dist/webcomponents/p-13e6e87d.entry.js.map +0 -1
- package/dist/webcomponents/p-16cf274f.entry.js +0 -134
- package/dist/webcomponents/p-16cf274f.entry.js.map +0 -1
- package/dist/webcomponents/p-1b970308.entry.js +0 -159
- package/dist/webcomponents/p-1b970308.entry.js.map +0 -1
- package/dist/webcomponents/p-1cc6bcdd.entry.js +0 -62
- package/dist/webcomponents/p-1cc6bcdd.entry.js.map +0 -1
- package/dist/webcomponents/p-1d8feab9.entry.js +0 -385
- package/dist/webcomponents/p-1d8feab9.entry.js.map +0 -1
- package/dist/webcomponents/p-26a029f7.entry.js +0 -389
- package/dist/webcomponents/p-26a029f7.entry.js.map +0 -1
- package/dist/webcomponents/p-2b9f0a10.entry.js +0 -361
- package/dist/webcomponents/p-2b9f0a10.entry.js.map +0 -1
- package/dist/webcomponents/p-2c8976dc.entry.js +0 -86
- package/dist/webcomponents/p-2c8976dc.entry.js.map +0 -1
- package/dist/webcomponents/p-3407c22c.entry.js +0 -113
- package/dist/webcomponents/p-3407c22c.entry.js.map +0 -1
- package/dist/webcomponents/p-37c8053c.entry.js +0 -44
- package/dist/webcomponents/p-37c8053c.entry.js.map +0 -1
- package/dist/webcomponents/p-3ecf55fc.entry.js +0 -92
- package/dist/webcomponents/p-3ecf55fc.entry.js.map +0 -1
- package/dist/webcomponents/p-531c7f89.entry.js +0 -201
- package/dist/webcomponents/p-531c7f89.entry.js.map +0 -1
- package/dist/webcomponents/p-5e063914.entry.js +0 -217
- package/dist/webcomponents/p-5e063914.entry.js.map +0 -1
- package/dist/webcomponents/p-63a7b4fb.entry.js +0 -202
- package/dist/webcomponents/p-63a7b4fb.entry.js.map +0 -1
- package/dist/webcomponents/p-67d88dcb.entry.js +0 -923
- package/dist/webcomponents/p-67d88dcb.entry.js.map +0 -1
- package/dist/webcomponents/p-696b898b.entry.js +0 -587
- package/dist/webcomponents/p-696b898b.entry.js.map +0 -1
- package/dist/webcomponents/p-6dcfc5d7.entry.js +0 -105
- package/dist/webcomponents/p-6dcfc5d7.entry.js.map +0 -1
- package/dist/webcomponents/p-6f5f88fc.entry.js +0 -120
- package/dist/webcomponents/p-6f5f88fc.entry.js.map +0 -1
- package/dist/webcomponents/p-709ae70f.entry.js +0 -50
- package/dist/webcomponents/p-709ae70f.entry.js.map +0 -1
- package/dist/webcomponents/p-850a2df0.entry.js +0 -235
- package/dist/webcomponents/p-850a2df0.entry.js.map +0 -1
- package/dist/webcomponents/p-85f17810.entry.js +0 -94
- package/dist/webcomponents/p-85f17810.entry.js.map +0 -1
- package/dist/webcomponents/p-8f481839.entry.js +0 -52
- package/dist/webcomponents/p-8f481839.entry.js.map +0 -1
- package/dist/webcomponents/p-9cde1441.entry.js +0 -50
- package/dist/webcomponents/p-9cde1441.entry.js.map +0 -1
- package/dist/webcomponents/p-ByGJPTh2.js.map +0 -1
- package/dist/webcomponents/p-a9200224.entry.js.map +0 -1
- package/dist/webcomponents/p-abfb0743.entry.js +0 -554
- package/dist/webcomponents/p-abfb0743.entry.js.map +0 -1
- package/dist/webcomponents/p-b3a7c11a.entry.js +0 -131
- package/dist/webcomponents/p-b3a7c11a.entry.js.map +0 -1
- package/dist/webcomponents/p-bcb65fc2.entry.js +0 -169
- package/dist/webcomponents/p-bcb65fc2.entry.js.map +0 -1
- package/dist/webcomponents/p-c0e50bbd.entry.js +0 -136
- package/dist/webcomponents/p-c0e50bbd.entry.js.map +0 -1
- package/dist/webcomponents/p-ce2e0625.entry.js +0 -139
- package/dist/webcomponents/p-ce2e0625.entry.js.map +0 -1
- package/dist/webcomponents/p-da3acefd.entry.js +0 -77
- package/dist/webcomponents/p-da3acefd.entry.js.map +0 -1
- package/dist/webcomponents/p-e86962f6.entry.js +0 -272
- package/dist/webcomponents/p-e86962f6.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-checkgroup.entry.esm.js","sources":["../../packages/webcomponents/src/components/checkgroup/checkgroup.scss?tag=br-checkgroup&encapsulation=shadow","../../packages/webcomponents/src/components/checkgroup/checkgroup.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, h, Host, Listen, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/utilitarios/js/checkgroup?tab=desenvolvedor).\n *\n * @slot default - Slot para adicionar os checkboxes que serão controlados pelo checkgroup.\n *\n * @example\n * ```html\n * <br-checkgroup label=\"Opções\">\n * <br-checkbox label=\"A\"></br-checkbox>\n * <br-checkbox label=\"B\"></br-checkbox>\n * </br-checkgroup>\n * ```\n */\n@Component({\n tag: 'br-checkgroup',\n styleUrl: 'checkgroup.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkgroup {\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: HTMLBrCheckgroupElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Texto descritivo do grupo.\n */\n @Prop() label: string\n\n /**\n * Define o texto do label quando o checkbox está marcado.\n */\n @Prop({ reflect: true }) labelSelecionado: string = 'Desselecionar tudo'\n\n /**\n * Define o texto do label quando o checkbox está desmarcado.\n */\n @Prop({ reflect: true }) labelDesselecionado: string = 'Selecionar tudo'\n\n /**\n * Define o estado intermediário do checkbox.\n * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\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 = `br-checkgroup-${checkgroupId++}`\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @State() checked: boolean = false\n\n /**\n * Indica se o grupo de checkboxes está indeterminado\n */\n @State() isIndeterminate: boolean = false\n\n @State() numberOfChildren: number = 0\n\n componentWillLoad() {\n this.isIndeterminate = this.el.hasAttribute('indeterminate')\n\n this.updateGroupState()\n }\n\n componentDidLoad() {\n this.setNumberOfChildren()\n this.monitorSlotChanges()\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkgroup': true,\n }\n }\n\n @Listen('checkedChange', {\n target: 'document',\n })\n handleChange(event: Event) {\n const target = event.target as HTMLBrCheckboxElement\n\n if (this.isParentCheckbox(target)) {\n this.checked = !this.checked\n this.handleAllCheckboxChange()\n } else {\n this.updateGroupState()\n }\n }\n\n private isParentCheckbox(target: HTMLBrCheckboxElement): boolean {\n return target === this.el.shadowRoot?.querySelector('br-checkbox')\n }\n\n private readonly handleAllCheckboxChange = () => {\n const checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkListAll.forEach((item) => {\n item.checked = this.checked\n item.indeterminate = false\n })\n\n const parentCheckbox = this.el.shadowRoot?.querySelector('br-checkbox')\n if (parentCheckbox !== null) {\n parentCheckbox.indeterminate = false\n }\n }\n\n private updateGroupState() {\n const checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'))\n const allChecked = checkListAll.every((item) => item.checked)\n const noneChecked = checkListAll.every((item) => !item.checked)\n\n if (allChecked) {\n this.checked = true\n this.isIndeterminate = false\n } else if (noneChecked) {\n this.checked = false\n this.isIndeterminate = false\n } else {\n this.checked = false\n this.isIndeterminate = true\n }\n }\n\n private setNumberOfChildren() {\n const slotElement = this.el.shadowRoot?.querySelector('slot')\n const checkboxList = slotElement?.assignedElements().filter((el) => el.tagName.toLowerCase() === 'br-checkbox')\n\n const checkboxFather = this.el.shadowRoot?.querySelector('br-checkbox')\n\n if (checkboxList.length !== 0 && checkboxFather !== null) {\n checkboxFather.setNumberOfChildren(checkboxList.length)\n }\n }\n\n private monitorSlotChanges() {\n const slotElement = this.el.shadowRoot?.querySelector('slot')\n\n slotElement?.addEventListener('slotchange', () => {\n this.setNumberOfChildren()\n })\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} style={{ width: '100%' }}>\n {this.label && <label>{this.label}</label>}\n <div class=\"mb-1\">\n <div class=\"checkgroup-example\">\n <br-checkbox\n name={`checkgroup-${this.customId}`}\n checked={this.checked}\n indeterminate={this.isIndeterminate}\n label={this.checked ? this.labelDesselecionado : this.labelSelecionado}\n aria-label={this.checked ? this.labelDesselecionado : this.labelSelecionado}\n onCheckedChange={this.handleChange.bind(this)}\n is-father\n ></br-checkbox>\n </div>\n </div>\n <div class=\"mb-1 ml-2\">\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n\nlet checkgroupId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-collapse.entry.esm.js","sources":["../../packages/webcomponents/src/components/collapse/collapse.scss?tag=br-collapse&encapsulation=shadow","../../packages/webcomponents/src/components/collapse/collapse.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n\n .br-collapse {\n .trigger {\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:not(:disabled):hover,\n &:not(:disabled):focus-visible {\n background-image: linear-gradient(rgb(var(--color-rgb), var(--hover)), rgb(var(--color-rgb), var(--hover)));\n }\n }\n\n .trigger-content {\n flex: 1 1 auto !important;\n }\n\n .content {\n transition: height 0.3s;\n overflow: hidden;\n }\n\n br-icon {\n color: var(--interactive);\n }\n }\n\n details {\n width: 100%;\n\n summary {\n list-style: none;\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n padding: 8px 12px;\n height: 48px;\n outline: none;\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &:focus-visible {\n outline: var(--focus-width) var(--focus-style) var(--focus);\n }\n }\n }\n\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n *\n * @example\n * ```html\n * <br-collapse open>\n * <div slot=\"trigger\">Clique para expandir</div>\n * <div>Conteúdo expansível</div>\n * </br-collapse>\n * ```\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\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: HTMLBrCollapseElement\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('clp')\n\n /**\n * Define se o collapse está aberto ou fechado.\n * @default false\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /**\n * Define se o collapse faz parte de um accordion\n * @default null\n */\n @Prop() accordionGroup?: string = null\n\n /**\n * Classe CSS para o ícone de expansão\n * @default 'fa6-solid:chevron-down'\n */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /**\n * Classe CSS para o ícone de recolhimento\n * @default 'fa6-solid:chevron-up'\n */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /**\n * Define a posição do ícone: 'left' ou 'right'\n * @default 'right'\n */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /**\n * Evento emitido ao expandir.\n */\n @Event({ bubbles: true, composed: true }) brDidOpen: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento emitido ao recolher.\n */\n @Event({ bubbles: true, composed: true }) brDidClose: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento disparado quando o componente é aberto.\n * @param event Evento disparado quando o componente é aberto.\n */\n @Listen('brDidOpen', { target: 'document' })\n /**\n * Handler para o evento de abertura do componente.\n * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.\n * @param event Evento disparado quando o componente é aberto.\n */\n handleOpen(event: CustomEvent) {\n if (\n this.accordionGroup &&\n this.accordionGroup === event.detail.accordionGroup &&\n event.detail.id !== this.customId\n ) {\n this.closeCollapse()\n }\n }\n\n /**\n * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.\n */\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n /**\n * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.removeEventListener('toggle', this.handleCollapse)\n }\n }\n\n /**\n * Sincroniza o estado do elemento <details> com a propriedade open.\n * Isso garante que o estado visual do componente corresponda ao estado interno.\n */\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n /**\n * Método chamado quando o elemento <details> é aberto ou fechado.\n * Atualiza o estado interno do componente e emite eventos apropriados.\n * @param event O evento de toggle do elemento <details>.\n */\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n this.open = isOpen\n if (this.open) {\n // Fecha outros do mesmo grupo de forma determinística antes de emitir evento\n this.closeOthersInGroup()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n } else {\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n }\n\n /**\n * Método público para abrir.\n * Este método pode ser chamado externamente para abrir o componente.\n */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n // Fecha outros do mesmo grupo antes de emitir evento\n this.closeOthersInGroup()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Método público para fechar.\n * Este método pode ser chamado externamente para fechar o componente.\n */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Fecha outros collapses abertos no mesmo grupo de accordion.\n * Usa busca no parent imediato para evitar varredura global desnecessária.\n */\n private closeOthersInGroup() {\n if (this.accordionGroup == null || this.accordionGroup === '') return\n const parent = this.el.parentElement\n if (!parent) return\n const others = Array.from(parent.querySelectorAll('br-collapse')) as HTMLBrCollapseElement[]\n others\n .filter((c) => c !== this.el && c.getAttribute('accordion-group') === this.accordionGroup && c.hasAttribute('open'))\n .forEach((c) => {\n // seta prop open=false diretamente para evitar múltiplas emissões desnecessárias\n c.open = false\n const details = c.shadowRoot?.querySelector('details')\n if (details) details.open = false\n })\n }\n\n /**\n * Renderiza o ícone de acordo com o estado do collapse.\n * Se o collapse estiver aberto, renderiza o ícone para ocultar.\n * Caso contrário, renderiza o ícone para mostrar.\n * @returns JSX do ícone\n */\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n /**\n * Renderiza o componente.\n * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.\n * @returns JSX do componente.\n */\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-divider.entry.esm.js","sources":["../../packages/webcomponents/src/components/divider/divider.scss?tag=br-divider&encapsulation=shadow","../../packages/webcomponents/src/components/divider/divider.tsx"],"sourcesContent":[":host {\n display: block;\n\n .br-divider {\n align-items: center;\n background-color: transparent;\n border: none;\n display: flex;\n justify-content: space-between;\n margin-bottom: var(--divider-margin-bottom, 20px);\n margin-left: var(--divider-margin-left, 0);\n margin-right: var(--divider-margin-right, 0);\n margin-top: var(--divider-margin-top, 20px);\n\n &::before,\n &::after {\n content: \"\";\n flex: 1;\n border-top: var(--divider-size, 1px) solid var(--border-color, black);\n }\n\n &.dashed {\n border-top: none;\n background: none;\n\n &::before,\n &::after {\n border-top: var(--divider-size, 1px) dashed var(--border-color);\n }\n }\n\n &.dashed.vertical {\n border-right: var(--divider-size, 1px) dashed var(--border-color);\n border-top: none;\n\n &::before,\n &::after {\n border-right: var(--divider-size, 1px) dashed var(--border-color);\n border-top: none;\n }\n }\n\n &.vertical {\n flex-direction: column;\n height: 100%;\n width: auto;\n margin: var(--divider-margin-top, 0) var(--divider-margin-right, 10px) var(--divider-margin-bottom, 0)\n var(--divider-margin-left, 10px);\n align-self: stretch;\n border-right-width: var(--divider-size);\n border-top-width: 0;\n\n &::before,\n &::after {\n border-right: var(--divider-size, 1px) solid var(--border-color, black);\n border-top: none;\n margin: 0;\n }\n }\n\n &.small {\n --divider-size: var(--surface-width-sm);\n }\n\n &.medium {\n --divider-size: var(--surface-width-md);\n }\n\n &.large {\n --divider-size: var(--surface-width-lg);\n }\n\n &.divider-start {\n justify-content: flex-start;\n\n &::before {\n flex: 0 0 0px;\n margin-right: var(--spacing-scale-base);\n }\n }\n\n &.divider-center {\n justify-content: center;\n }\n\n &.divider-end {\n justify-content: flex-end;\n\n &::after {\n flex: 0 0 0px;\n margin-left: var(--spacing-scale-base);\n }\n }\n\n &.dark-mode {\n --border-color: var(--pure-0);\n }\n\n .divider-start::after,\n .divider-center::before,\n .divider-center::after,\n .divider-end::before {\n margin: 0 var(--spacing-scale-base);\n }\n\n .divider-start::before {\n margin-right: var(--spacing-scale-base);\n }\n\n .divider-end::after {\n margin-left: var(--spacing-scale-base);\n }\n }\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\ntype DividerOrientation = 'horizontal' | 'vertical'\ntype DividerThickness = 'small' | 'medium' | 'large'\ntype DividerBorderStyle = 'dashed' | 'solid'\ntype DividerAlign = 'start' | 'center' | 'end'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/divider?tab=designer).\n *\n * @slot default - Conteúdo opcional que pode ser exibido dentro do divisor, como texto, ícones ou outros elementos personalizados.\n */\n@Component({\n tag: 'br-divider',\n styleUrl: 'divider.scss',\n shadow: true,\n})\nexport class Divider {\n @Element() el: HTMLBrDividerElement\n\n /**\n * ID personalizado para o elemento, útil para acessibilidade e identificação única.\n * Se não for fornecido, um ID único será gerado automaticamente.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Define a orientação do divisor.\n * Pode ser 'horizontal' ou 'vertical'.\n * Caso seja usado como vertical, o divider deve ser colocado dentro de um container com altura definida.\n * @default horizontal\n */\n @Prop({ reflect: true }) orientation: DividerOrientation = 'horizontal'\n\n /**\n * Define a espessura do divisor.\n * Pode ser 'small', 'medium' ou 'large'.\n * @default small\n */\n @Prop({ reflect: true }) thickness: DividerThickness = 'small'\n\n /**\n * Define o estilo da borda do divisor.\n * Pode ser 'dashed' ou 'solid'.\n * @default solid\n */\n @Prop({ reflect: true }) borderStyle: DividerBorderStyle = 'solid'\n\n /**\n * Define se o divisor deve ser exibido no modo escuro.\n * @default false\n */\n @Prop({ reflect: true }) isDarkMode: boolean = false\n\n /**\n * Cor do divisor.\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 for especificada, o divisor usará a cor padrão definida pelo tema.\n * @default null\n */\n @Prop({ reflect: true }) color: string = ''\n\n /**\n * Alinhamento do conteúdo do divisor.\n * Pode ser 'start', 'center' ou 'end'.\n * @default undefined\n */\n @Prop() align: DividerAlign\n\n /**\n * Define se o divisor deve \"sangrar\" (bleed) nas laterais, ou seja, se deve ocupar toda a largura do container pai.\n * Isso é útil quando o divisor precisa se estender além do padding do container pai.\n * @default false\n */\n @Prop() bleed: boolean = false\n\n /**\n * Define o margin top do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 20px para horizontal e 0px para vertical.\n * @default null\n */\n @Prop() marginTop: number = null\n\n /**\n * Define o margin bottom do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 20px para horizontal e 0px para vertical.\n * @default null\n */\n @Prop() marginBottom: number = null\n\n /**\n * Define o margin left do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 0px para horizontal e 10px para vertical.\n * @default null\n */\n @Prop() marginLeft: number = null\n\n /**\n * Define o margin right do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 0px para horizontal e 10px para vertical.\n * @default null\n */\n @Prop() marginRight: number = null\n\n /**\n * Watcher para a cor do divisor.\n * Atualiza a propriedade CSS '--border-color' do elemento para refletir a cor definida.\n * Isso permite que o divisor use cores personalizadas sem precisar de estilos adicionais.\n */\n @Watch('color')\n updateColor() {\n this.el.style.setProperty('--border-color', this.color)\n }\n\n /**\n * Watcher para as propriedades de margin.\n * Atualiza as propriedades CSS customizáveis do elemento para refletir os margins definidos.\n */\n @Watch('marginTop')\n @Watch('marginBottom')\n @Watch('marginLeft')\n @Watch('marginRight')\n updateMargins() {\n if (this.marginTop !== null) {\n this.el.style.setProperty('--divider-margin-top', `${this.marginTop}px`)\n }\n if (this.marginBottom !== null) {\n this.el.style.setProperty('--divider-margin-bottom', `${this.marginBottom}px`)\n }\n if (this.marginLeft !== null) {\n this.el.style.setProperty('--divider-margin-left', `${this.marginLeft}px`)\n }\n if (this.marginRight !== null) {\n this.el.style.setProperty('--divider-margin-right', `${this.marginRight}px`)\n }\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado quando o componente é conectado ao DOM.\n */\n connectedCallback() {\n this.hasDefaultSlotContent()\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado após o componente ser renderizado no DOM.\n */\n componentDidLoad() {\n this.setVerticalOrientation()\n this.setBleed()\n this.updateColor()\n this.updateMargins()\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado quando o componente é desconectado do DOM.\n */\n disconnectedCallback() {\n this.unsetBleed()\n }\n /**\n * Configura o divisor para orientação vertical.\n * Se a orientação for 'vertical', cria um elemento <div> adicional para manter o layout correto.\n */\n private setVerticalOrientation() {\n if (this.orientation === 'vertical') {\n const div = document.createElement('div')\n div.className = 'vertical-divider'\n div.style.display = 'flex'\n div.style.height = '100%'\n this.el.insertAdjacentElement('beforebegin', div)\n div.appendChild(this.el)\n }\n }\n\n /**\n * Configura o divisor para sangrar (bleed) nas laterais.\n */\n private setBleed() {\n if (this.bleed) {\n this.applyMarginOnRootElement()\n window.addEventListener('resize', this.applyMarginOnRootElement.bind(this))\n }\n }\n\n /**\n * Remove o sangramento (bleed) do divisor.\n */\n private unsetBleed() {\n if (this.bleed) {\n window.removeEventListener('resize', this.applyMarginOnRootElement.bind(this))\n }\n }\n\n /**\n * Verifica se o divisor tem conteúdo no slot padrão.\n * @returns true se o divisor tiver conteúdo no slot padrão, false caso contrário.\n */\n private hasDefaultSlotContent(): boolean {\n return this.el.innerHTML.trim() !== ''\n }\n\n /**\n * Determina o paddingLeft e paddingRight do elemento pai do host.\n * @returns Um objeto contendo os valores de paddingLeft e paddingRight do elemento pai do host.\n */\n private getHostParentPadding() {\n const hostParent = this.el.parentElement\n if (hostParent !== null) {\n const style = getComputedStyle(hostParent)\n return { paddingLeft: parseFloat(style.paddingLeft), paddingRight: parseFloat(style.paddingRight) }\n }\n return { paddingLeft: 0, paddingRight: 0 }\n }\n\n /**\n * Aplica margens negativas no elemento raiz do divisor para compensar o padding do elemento pai.\n * Isso é necessário quando o divisor está configurado para sangrar (bleed).\n * IMPORTANTE: Preserva as variáveis CSS customizadas de margin.\n */\n private applyMarginOnRootElement() {\n const { paddingLeft, paddingRight } = this.getHostParentPadding()\n const rootElement = this.el.shadowRoot?.querySelector('.br-divider') as HTMLElement | null\n\n if (rootElement !== null) {\n rootElement.style.setProperty('margin-left', `-${paddingLeft}px`)\n rootElement.style.setProperty('margin-right', `-${paddingRight}px`)\n }\n }\n\n /**\n * Define as classes CSS que serão aplicadas ao divisor.\n * @returns Uma string contendo as classes CSS que serão aplicadas ao divisor.\n */\n private getCssClassMap() {\n return `br-divider divider-${this.align} ${this.orientation} ${this.borderStyle} ${this.thickness} ${this.isDarkMode ? 'dark-mode' : ''}`\n }\n\n /**\n * Renderiza o divisor quando há conteúdo no slot padrão.\n * @returns JSX.Element\n */\n private renderDefaultSlotDivider() {\n return (\n <div\n class={this.getCssClassMap()}\n role=\"separator\"\n aria-orientation={this.orientation}\n aria-labelledby={this.customId}\n >\n <span id={this.customId}>\n <slot></slot>\n </span>\n </div>\n )\n }\n\n /**\n * Renderiza o divisor quando não há conteúdo no slot padrão.\n * @returns JSX.Element\n */\n private renderStandardDivider() {\n return <hr class={this.getCssClassMap()} />\n }\n\n render() {\n return <Host>{this.hasDefaultSlotContent() ? this.renderDefaultSlotDivider() : this.renderStandardDivider()}</Host>\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-dropdown.br-select.entry.esm.js","sources":["../../packages/webcomponents/src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","../../packages/webcomponents/src/components/dropdown/dropdown.tsx","../../packages/webcomponents/src/components/select/select.scss?tag=br-select&encapsulation=shadow","../../packages/webcomponents/src/components/select/select.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/partial/scss/base\";\n\n:host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n outline: none;\n }\n\n #trigger::slotted([slot=\"trigger\"]) {\n &:focus {\n @include focus;\n }\n }\n\n ::slotted([slot=\"target\"] *:focus) {\n @include focus;\n }\n\n #target {\n display: none;\n position: absolute;\n /* Garante que o conteúdo do dropdown fique acima do trigger/botões ao redor */\n box-shadow: var(--surface-shadow-sm);\n z-index: var(--z-index-layer-1);\n\n &:focus {\n @include focus;\n }\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n width: max-content;\n }\n}\n\n@include media-breakpoint-down(xs) {\n :host([is-open]) {\n #target {\n width: 100vw !important;\n max-width: 100vw !important;\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from '@stencil/core'\n\nimport { FloatingUIManager } from '../../utils/floating-ui'\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\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 o posicionamento do target (alvo) em relação ao trigger (acionador).\n * Valores possíveis: 'bottom-start' (padrão), 'bottom-end', 'top-start', 'top-end', 'left', 'right', 'bottom', 'top'.\n */\n @Prop({ reflect: true }) placement:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left'\n | 'right'\n | 'bottom'\n | 'top' = 'bottom-start'\n\n /**\n * Define se o dropdown deve permanecer aberto quando outro dropdown é aberto.\n * Quando definido como false (padrão), o dropdown será fechado automaticamente quando outro dropdown for aberto.\n * Quando definido como true, o dropdown permanecerá aberto mesmo quando outro dropdown for aberto.\n */\n @Prop({ reflect: true }) preventAutoDismiss: boolean = false\n\n /**\n * Define o z-index do elemento target (alvo) do dropdown.\n * Permite customizar a ordem de sobreposição do painel dropdown em relação aos demais elementos da página.\n * O valor padrão utiliza a variável CSS do design system: var(--z-index-layer-1).\n */\n @Prop() targetZIndex: string = 'var(--z-index-layer-1)'\n\n // Elementos DOM privados\n private triggerElement: HTMLElement\n private targetElement: HTMLElement | null = null\n private dropdownItems: HTMLElement[] = []\n private dropdownLinks: HTMLElement[] = []\n private focusableElement: HTMLElement | null | undefined = null\n\n // FloatingUI Manager\n private floatingManager: FloatingUIManager\n\n // Event handlers\n private clickHandler: (event: MouseEvent) => void\n private triggerKeydownHandler: (event: KeyboardEvent) => void\n private targetKeydownHandler: (event: KeyboardEvent) => void\n\n // Handler para o evento brDidOpen de outros dropdowns\n private dropdownOpenHandler: EventListener\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ isOpen: boolean }>\n /**\n * Evento emitido quando o dropdown é aberto.\n * Este evento é usado para implementar o auto-dismiss de outros dropdowns.\n */\n @Event() brDidOpen: EventEmitter<{ id: string }>\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged(newValue: boolean) {\n if (newValue) {\n this.brDidOpen.emit({ id: this.customId })\n\n this.initializeDropdownItems()\n this.positionDropdown()\n } else {\n this.cleanupPositioning()\n\n if (this.triggerElement !== null && this.triggerElement !== undefined) {\n this.focusOnTriggerElement()\n }\n }\n\n this.brDropdownChange.emit({ isOpen: newValue })\n }\n\n /**\n * Aplica o novo valor de z-index ao elemento target.\n */\n @Watch('targetZIndex')\n targetZIndexChanged() {\n this.updateTargetZIndex()\n }\n\n connectedCallback() {\n this.clickHandler = this.onClickOutside.bind(this)\n document.addEventListener('click', this.clickHandler)\n\n this.dropdownOpenHandler = this.onDropdownDidOpen.bind(this)\n document.addEventListener('brDidOpen', this.dropdownOpenHandler)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickHandler)\n document.removeEventListener('brDidOpen', this.dropdownOpenHandler)\n\n if (this.triggerElement !== null && this.triggerElement !== undefined) {\n this.triggerElement.removeEventListener('keydown', this.triggerKeydownHandler)\n }\n\n if (this.targetElement !== null && this.targetElement !== undefined) {\n this.targetElement.removeEventListener('keydown', this.targetKeydownHandler)\n }\n\n this.cleanupPositioning()\n this.clearDropdownItemListeners()\n }\n\n /**\n * Método que lida com o evento brDidOpen de outros dropdowns\n * Fecha este dropdown se não for o emissor do evento e preventAutoDismiss=false\n */\n private onDropdownDidOpen(event: Event) {\n if (this.preventAutoDismiss) {\n return\n }\n\n const customEvent = event as CustomEvent<{ id: string }>\n if (this.isOpen && customEvent.detail.id !== this.customId) {\n this.hide()\n }\n }\n\n private clearDropdownItemListeners() {\n this.dropdownItems.forEach((item) => {\n item.removeEventListener('keydown', this.handleItemKeydown)\n })\n\n this.dropdownLinks.forEach((link) => {\n link.removeEventListener('keydown', this.handleLinkKeydown)\n })\n\n this.dropdownItems = []\n this.dropdownLinks = []\n }\n\n componentDidLoad() {\n this.triggerElement = this.el.shadowRoot.querySelector('#trigger')\n this.targetElement = this.el.shadowRoot.querySelector('#target')\n\n this.setBehavior()\n this.updateTargetZIndex()\n\n if (this.isOpen) {\n this.initializeDropdownItems()\n this.positionDropdown()\n }\n }\n\n /**\n * Posiciona o dropdown usando Floating UI\n */\n private positionDropdown() {\n if (this.triggerElement == null || this.targetElement == null) return\n\n this.floatingManager = new FloatingUIManager({\n triggerElement: this.triggerElement,\n contentElement: this.targetElement,\n placement: this.placement,\n })\n\n this.floatingManager.start()\n }\n\n /**\n * Limpa o posicionamento do Floating UI\n */\n private cleanupPositioning() {\n this.floatingManager?.stop()\n }\n\n /**\n * Atualiza o z-index do target conforme a propriedade targetZIndex\n */\n private updateTargetZIndex() {\n if (this.targetElement === null) {\n return\n }\n\n if (this.targetZIndex !== null && this.targetZIndex !== undefined) {\n this.targetElement.style.zIndex = this.targetZIndex\n }\n }\n\n /**\n * Configura os comportamentos de interação do dropdown\n */\n private setBehavior() {\n if (this.triggerElement === null) return\n\n this.triggerKeydownHandler = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.handleTriggerBehavior(event)\n } else if (event.key === 'Escape') {\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n } else if (event.key === 'ArrowDown' && this.isOpen) {\n event.preventDefault()\n this.initializeDropdownItems()\n if (this.dropdownLinks.length > 0) {\n this.focusOnElement(this.dropdownLinks[0])\n } else if (this.dropdownItems.length > 0) {\n this.focusOnElement(this.dropdownItems[0])\n }\n }\n }\n\n this.targetKeydownHandler = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n }\n }\n\n this.triggerElement.addEventListener('keydown', this.triggerKeydownHandler)\n if (this.targetElement !== null) {\n this.targetElement.addEventListener('keydown', this.targetKeydownHandler)\n }\n }\n\n /**\n * Lida com o comportamento no trigger\n */\n private handleTriggerBehavior(event: Event) {\n event.preventDefault()\n this.toggle(event)\n\n if (this.isOpen) {\n setTimeout(() => {\n this.initializeDropdownItems()\n }, 0)\n }\n }\n\n /**\n * Inicializa os itens do dropdown com comportamentos de navegação com teclado,\n * separando claramente entre elementos navegáveis por Tab e elementos navegáveis por setas\n */\n private initializeDropdownItems() {\n if (this.targetElement === null) return\n\n this.clearDropdownItemListeners()\n\n this.targetElement.setAttribute('tabindex', '-1')\n this.targetElement.focus()\n\n const targetSlot = this.el.shadowRoot.querySelector('slot[name=\"target\"]') as HTMLSlotElement\n if (targetSlot === null || targetSlot === undefined) return\n\n const assignedElements = targetSlot.assignedElements()\n if (assignedElements.length === 0) return\n\n const nonLinkSelector =\n 'button, br-button, input, br-input, br-item:not([href]), textarea, br-textarea, select, br-select, details, [tabindex]:not([tabindex=\"-1\"]):not(a[href])'\n\n const linkSelector = 'a[href], br-item[href]'\n\n assignedElements.forEach((element) => {\n if (element instanceof HTMLElement) {\n if (element.matches(linkSelector)) {\n this.dropdownLinks.push(element)\n } else if (element.matches(nonLinkSelector)) {\n this.dropdownItems.push(element)\n }\n }\n\n const linkChildren = Array.from(element.querySelectorAll(linkSelector)) as HTMLElement[]\n this.dropdownLinks = this.dropdownLinks.concat(linkChildren)\n\n const nonLinkChildren = Array.from(element.querySelectorAll(nonLinkSelector)) as HTMLElement[]\n this.dropdownItems = this.dropdownItems.concat(nonLinkChildren)\n })\n\n this.dropdownItems.forEach((item) => {\n item.addEventListener('keydown', this.handleItemKeydown)\n })\n\n this.dropdownLinks.forEach((link) => {\n link.addEventListener('keydown', this.handleLinkKeydown)\n })\n\n if (this.dropdownLinks.length > 0) {\n this.focusOnElement(this.dropdownLinks[0])\n this.focusableElement = this.dropdownLinks[0]\n } else if (this.dropdownItems.length > 0) {\n this.focusOnElement(this.dropdownItems[0])\n this.focusableElement = this.dropdownItems[0]\n }\n }\n\n /**\n * Handler específico para links\n */\n private handleLinkKeydown = (event: KeyboardEvent) => {\n const link = event.currentTarget as HTMLElement\n const key = event.key\n const linkIndex = this.dropdownLinks.indexOf(link)\n const lastLinkIndex = this.dropdownLinks.length - 1\n\n switch (key) {\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End':\n event.preventDefault()\n event.stopPropagation()\n break\n case 'Tab':\n event.preventDefault()\n\n if (!event.shiftKey) {\n if (linkIndex >= lastLinkIndex) {\n this.focusOnElement(this.dropdownLinks[0])\n } else {\n this.focusOnElement(this.dropdownLinks[linkIndex + 1])\n }\n } else {\n if (linkIndex <= 0) {\n this.focusOnElement(this.dropdownLinks[lastLinkIndex])\n } else {\n this.focusOnElement(this.dropdownLinks[linkIndex - 1])\n }\n }\n break\n case 'Enter':\n case ' ':\n if (key === ' ' && link.tagName.toLowerCase() === 'a') {\n event.preventDefault()\n }\n setTimeout(() => this.hide(), 100)\n break\n case 'Escape':\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n break\n default:\n break\n }\n }\n\n /**\n * Handler para eventos de keydown nos itens não-link\n * Implementa navegação completa por setas, Tab não navega entre estes itens\n */\n private handleItemKeydown = (event: KeyboardEvent) => {\n const item = event.currentTarget as HTMLElement\n const key = event.key\n const currentIndex = this.dropdownItems.indexOf(item)\n const lastIndex = this.dropdownItems.length - 1\n\n switch (key) {\n case 'ArrowUp':\n event.preventDefault()\n if (currentIndex <= 0) {\n this.focusOnElement(this.dropdownItems[lastIndex])\n } else {\n this.focusOnElement(this.dropdownItems[currentIndex - 1])\n }\n break\n\n case 'ArrowDown':\n event.preventDefault()\n if (currentIndex >= lastIndex) {\n this.focusOnElement(this.dropdownItems[0])\n } else {\n this.focusOnElement(this.dropdownItems[currentIndex + 1])\n }\n break\n\n case 'Home':\n event.preventDefault()\n this.focusOnElement(this.dropdownItems[0])\n break\n\n case 'End':\n event.preventDefault()\n this.focusOnElement(this.dropdownItems[lastIndex])\n break\n\n case 'Enter':\n case ' ':\n event.preventDefault()\n item.click()\n this.hide()\n this.focusOnTriggerElement()\n break\n\n case 'Tab':\n break\n\n case 'Escape':\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n break\n\n default:\n break\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n if (!this.isOpen) return\n\n const path = event.composedPath()\n\n if (\n this.triggerElement &&\n this.targetElement &&\n !path.includes(this.triggerElement) &&\n !path.includes(this.targetElement)\n ) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método pode ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen }\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método pode ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen }\n }\n\n /**\n * Foca em um elemento específico com suporte a componentes personalizados\n * @param targetElement Elemento a receber o foco\n */\n private focusOnElement(targetElement: HTMLElement) {\n if (targetElement && targetElement !== this.el) {\n if ('setFocus' in targetElement) {\n ;(targetElement as { setFocus: () => void }).setFocus()\n } else {\n targetElement.focus()\n }\n targetElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n }\n }\n\n /**\n * Foca no elemento interativo dentro do slot trigger\n * Esta função procura pelo elemento dentro do slot trigger e aplica o foco nele\n */\n private focusOnTriggerElement() {\n const triggerSlot = this.el.shadowRoot.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement\n if (triggerSlot !== null) {\n const slotElements = triggerSlot.assignedElements()\n if (slotElements.length > 0) {\n const firstElement = slotElements[0] as HTMLElement\n if ('setFocus' in firstElement) {\n ;(firstElement as { setFocus: () => void }).setFocus()\n } else {\n firstElement.focus()\n }\n firstElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n } else {\n this.focusTrigger()\n }\n } else {\n this.focusTrigger()\n }\n }\n\n /**\n * Auxiliar para focar no elemento trigger\n */\n private focusTrigger() {\n if (typeof this.triggerElement !== 'undefined') {\n this.triggerElement.focus()\n this.triggerElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n }\n }\n\n /**\n * Define o foco no elemento interno do componente.\n * Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.\n */\n @Method()\n async setFocus() {\n if (this.focusableElement !== null && this.focusableElement !== undefined) {\n this.focusableElement.focus()\n } else {\n this.focusOnTriggerElement()\n }\n }\n\n render() {\n return (\n <Host is-open={this.isOpen} placement={this.placement} prevent-auto-dismiss={this.preventAutoDismiss}>\n <div class={this.getCssClassMap()} id={this.customId}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n >\n <slot name=\"trigger\"></slot>\n </div>\n\n <div id=\"target\" aria-hidden={this.isOpen ? 'false' : 'true'}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n","@import \"~@govbr-ds/core/src/components/select/select\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: inline-block;\n\n .br-select br-list {\n background-color: var(--bg-color);\n box-shadow: var(--select-shadow);\n margin-top: -2px;\n max-height: 404px;\n overflow: auto;\n position: absolute;\n resize: none;\n width: 100%;\n z-index: 1;\n\n @include scrollbar;\n\n &:focus,\n &:active {\n color: var(--color-secondary-09);\n outline: none;\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--color-secondary-07);\n }\n }\n\n .br-item br-radio::part(radio-input) {\n visibility: hidden;\n height: 0;\n width: 0;\n }\n\n .br-item br-radio::part(radio-label) {\n padding-left: var(--spacing-scale-base);\n position: relative;\n\n &::before,\n &::after {\n display: none;\n }\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Componente de seleção de opções com suporte a múltipla seleção, busca e acessibilidade.\n *\n * @example\n * ```html\n * <br-select label=\"Estado\" placeholder=\"Selecione\" options='[{\"label\":\"SP\",\"value\":\"sp\"},{\"label\":\"RJ\",\"value\":\"rj\"}]'></br-select>\n * ```\n */\n@Component({\n tag: 'br-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select {\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: HTMLBrSelectElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Rótulo que indica o tipo de informação que deve ser selecionada.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Texto auxiliar exibido antes de uma seleção.\n */\n @Prop({ reflect: true }) placeholder: string = ''\n\n /**\n * Habilita o modo múltiplo para selecionar várias opções.\n */\n @Prop({ reflect: true }) isMultiple: boolean = false\n\n /**\n * Define as opções disponíveis no componente de seleção.\n * Pode ser fornecida como:\n * - Uma **string** contendo um JSON válido que será analisado em um array de objetos. Exemplo: `'[{\"label\": \"Opção 1\", \"value\": \"1\"}]'.\n * - Um **array de objetos**, onde cada objeto representa uma opção com as propriedades:\n * - `label`: O texto exibido para o usuário (obrigatório).\n * - `value`: O valor associado à opção (obrigatório).\n * - `selected`: Um boolean opcional que indica se a opção está pré-selecionada (padrão: `false`).\n * Se uma string for fornecida, ela será convertida internamente para um array via `JSON.parse`. Caso o formato seja inválido, um erro será registrado e as opções serão definidas como um array vazio.\n * Exemplo de uso:\n * ```typescript\n * options='[{\"label\": \"Sim\", \"value\": \"1\"}, {\"label\": \"Não\", \"value\": \"0\"}]'\n * // ou\n * options=[{ label: \"Sim\", value: \"1\" }, { label: \"Não\", value: \"0\" }]\n * ```\n */\n @Prop({ reflect: true }) options:\n | string\n | {\n label: string\n value: string\n selected?: boolean\n }[] = []\n\n /**\n * Rótulo para selecionar todas as opções.\n */\n @Prop({ reflect: true }) selectAllLabel: string = 'Selecionar todos'\n\n /**\n * Rótulo para desmarcar todas as opções.\n */\n @Prop({ reflect: true }) unselectAllLabel: string = 'Desselecionar todos'\n\n /**\n * Exibe o ícone de busca no campo de entrada.\n */\n @Prop({ reflect: true }) showSearchIcon: boolean = false\n\n /**\n * Indica se a listagem de itens do select está expandida\n */\n @Prop({ reflect: true }) isOpen: boolean = false\n\n /**\n * Exibe o rótulo e o controle em linha (ao lado), ao invés de empilhados.\n * Útil para casos contextuais como paginação.\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Largura do campo de entrada interno (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100% do input.\n */\n @Prop({ reflect: true }) inputWidth?: string\n\n /**\n * Propaga para o input interno a remoção da borda quando desfocado.\n */\n @Prop({ reflect: true }) borderless: boolean = false\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 = `br-select-${selectId++}`\n\n // Representa as opções do select disponíveis para renderização.\n // Cada opção contém `label`, `value` e o estado de seleção (`selected`).\n @State() parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = ''\n\n /** Valor selecionado (string para single, string[] para multiple) */\n @Prop({ reflect: false }) value?: string | string[]\n\n @State() selectedValue?: string | string[]\n\n // Indica se todas as opções estão selecionadas. Comportamento do checkbox \"Selecionar Todos\".\n @State() isAllSelected: boolean = false\n\n // Controla se a lista de opções do select está expandida (aberta) ou colapsada (fechada).\n @State() isExpanded: boolean = false\n\n // Armazena o índice do item atualmente focado, usado para navegação por teclado.\n @State() focusedIndex: number = -1\n\n /**\n * Evento emitido sempre que houver atualização nos itens selecionados.\n * RENOMEADO PARA valueChange para compatibilidade com ngModel.\n */\n @Event({ bubbles: true, composed: true }) valueChange: EventEmitter\n\n @Watch('options')\n synchronizeSelect() {\n try {\n let parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n if (typeof this.options === 'string') {\n try {\n const jsonData = JSON.parse(this.options)\n if (Array.isArray(jsonData)) {\n parsedOptions = jsonData\n } else {\n throw new Error('JSON inválido: deve ser um array')\n }\n } catch (error) {\n console.error('Erro ao converter options para JSON:', error.message)\n parsedOptions = []\n }\n } else if (Array.isArray(this.options)) {\n parsedOptions = this.options\n }\n\n // Sanitiza as opções (remove opções inválidas, etc.)\n this.parsedOptions = parsedOptions\n\n // Atualiza o estado do componente\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.emitSelectedOptions()\n } catch (error) {\n console.error('Erro ao processar as opções do select:', error)\n this.parsedOptions = []\n }\n }\n\n @Watch('value')\n syncValueFromOutside(newVal: string | string[]) {\n // Atualize parsedOptions a partir de newVal\n this.parsedOptions = this.parsedOptions.map((o) => ({\n ...o,\n selected: this.isMultiple ? Array.isArray(newVal) && newVal.includes(o.value) : newVal === o.value,\n }))\n this.selectedValue = newVal\n this.updateSelectedOptions() // mantém inputValue coeso\n this.updateSelectedAllState()\n }\n\n componentWillLoad() {\n this.isExpanded = this.isOpen\n this.synchronizeSelect()\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n /**\n * Fecha a lista suspensa (`dropdown`) do `br-select` quando o usuário clica fora do componente.\n * O listener global é adicionado no `componentDidLoad` e removido no `disconnectedCallback` para evitar vazamentos de memória.\n * Se a lista estiver aberta (`this.isExpanded`) e o clique ocorrer fora (`!this.el.contains(target)`), ela é fechada.\n * A reatividade do StencilJS garante a atualização automática da interface.\n * A arrow function (`=>`) mantém o contexto correto de `this` ao ser usada como callback.\n *\n * @param {MouseEvent} event O evento de clique.\n * @returns {void}\n */\n private readonly handleClickOutside = (event: MouseEvent) => {\n // Usa composedPath para considerar nós dentro de Shadow DOM como \"dentro\" do componente\n const path = (event.composedPath && event.composedPath()) || []\n const clickedInside = path.includes(this.el) || (event.target instanceof Node && this.el.contains(event.target))\n\n if (this.isExpanded && !clickedInside) {\n this.isExpanded = false\n }\n }\n\n private handleKeydownOnInput(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n this.closeSelect()\n break\n case 'ArrowDown':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('next')\n break\n case 'ArrowUp':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('previous')\n break\n case 'Escape':\n this.closeSelect()\n this.resetFocus()\n break\n case 'Enter':\n this.toggleOpen()\n break\n default:\n }\n }\n\n private handleKeydownOnList(event: KeyboardEvent) {\n event.preventDefault()\n switch (event.key) {\n case 'Tab':\n case 'Escape':\n this.resetFocus()\n break\n case 'ArrowUp':\n this.focusItemInDirection('previous')\n break\n case 'ArrowDown':\n this.focusItemInDirection('next')\n break\n default:\n break\n }\n }\n\n private handleKeydownOnItem(event: KeyboardEvent, index: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.handleSelection(index)\n } else if (event.key === 'Escape') {\n this.closeSelect()\n }\n }\n\n private handleSelectAllKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.toggleSelectAll()\n } else if (event.key === 'Escape') {\n event.preventDefault()\n this.closeSelect()\n }\n }\n\n private resetFocus() {\n const input = this.el.shadowRoot.querySelector('br-input') as HTMLBrInputElement | null\n input?.focus()\n }\n\n private focusItemInDirection(direction: 'next' | 'previous') {\n let itemCount = this.parsedOptions.length\n if (this.isMultiple) itemCount += 1\n\n this.focusedIndex =\n direction === 'next' ? (this.focusedIndex + 1) % itemCount : (this.focusedIndex - 1 + itemCount) % itemCount\n\n this.focusItem(this.focusedIndex)\n }\n\n private focusItem(index: number) {\n const items = this.el.shadowRoot.querySelectorAll('.br-item')\n if (items[index]) {\n const item = items[index] as HTMLElement\n item.focus()\n }\n }\n\n private openSelect() {\n this.isExpanded = true\n }\n\n private closeSelect() {\n this.isExpanded = false\n // Resetar o índice focado ao fechar o select\n this.focusedIndex = -1\n }\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.parsedOptions.length) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[index].selected = !updatedOptions[index].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[index].selected = true\n this.parsedOptions = updatedOptions\n this.isExpanded = false\n }\n\n // Atualiza a prop 'value' interna do componente\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n\n this.value = this.selectedValue\n\n // Emite o evento 'valueChange' para que o ngModel possa capturar\n this.valueChange.emit(this.selectedValue)\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\n }\n\n private getStringValue(options: { label: string; value: string; selected?: boolean }[]) {\n if (options.length > 0) {\n const firstSelected = options[0].label || options[0].value\n if (this.isMultiple) {\n const howManySelected = options.length > 1 ? ` + (${options.length - 1})` : ''\n return `${firstSelected}${howManySelected}`\n } else {\n return firstSelected\n }\n }\n return ''\n }\n\n private emitSelectedOptions() {\n // A lógica de emissão do evento já está no handleSelection para o ngModel.\n // Esta função pode ser simplificada ou removida se a única finalidade era emitir para ngModel.\n // No entanto, se houver outros consumidores deste evento, você pode mantê-la.\n const selectedValues = this.parsedOptions.filter((option) => option.selected === true).map((option) => option.value) // É importante emitir o 'value' para o ngModel.\n\n // Já emitimos em handleSelection, mas se quiser ter certeza, pode emitir aqui também.\n // this.valueChange.emit(this.isMultiple ? selectedValues : selectedValues[0] ?? undefined);\n\n // Atualiza o valor do form associado\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.isMultiple ? selectedValues : (selectedValues[0] ?? null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every((option) => option.selected)\n this.isAllSelected = allSelected\n }\n\n private toggleSelectAll() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: !this.isAllSelected }))\n this.parsedOptions = updatedOptions\n this.isAllSelected = !this.isAllSelected\n\n this.updateSelectedOptions()\n\n // Atualiza a prop 'value' e emite o evento para ngModel\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n this.value = this.selectedValue\n this.valueChange.emit(this.selectedValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private renderInput() {\n return (\n <br-input\n exportparts=\"label\"\n value={this.inputValue}\n label={this.label}\n isInline={this.isInline}\n controlWidth={this.inputWidth}\n borderless={this.borderless}\n placeholder={this.placeholder}\n actionLabel={this.isExpanded ? 'Recolher lista de opções' : 'Exibir lista de opções'}\n readonly\n onClick={() => this.toggleOpen()}\n onKeyDown={(event) => this.handleKeydownOnInput(event)}\n >\n {this.showSearchIcon && <br-icon slot=\"icon\" icon-name=\"fa-solid:search\" aria-hidden=\"true\"></br-icon>}\n <br-icon\n slot=\"action\"\n icon-name={this.isExpanded ? 'fa-solid:angle-up' : 'fa-solid:angle-down'}\n height=\"16\"\n aria-hidden=\"true\"\n ></br-icon>\n </br-input>\n )\n }\n\n private renderSelectAllCheckbox() {\n return (\n <div\n class={`br-item highlighted ${this.isAllSelected ? 'selected' : ''}`}\n data-all=\"data-all\"\n tabindex=\"-1\"\n role=\"option\"\n aria-selected={this.isAllSelected}\n onKeyDown={(event) => this.handleSelectAllKeyDown(event)}\n onClick={() => this.toggleSelectAll()}\n >\n <br-checkbox\n name={`checkbox-${this.customId}`}\n label={this.isAllSelected ? this.unselectAllLabel : this.selectAllLabel}\n checked={this.isAllSelected}\n onCheckedChange={() => this.toggleSelectAll()}\n ></br-checkbox>\n </div>\n )\n }\n\n private renderOptions() {\n return this.parsedOptions.map((option, index) => (\n <div\n class={`br-item ${option.selected ? 'selected' : ''}`}\n key={`${option.label}-${this.customId}`}\n role=\"option\"\n tabindex={this.focusedIndex === index ? 0 : -1}\n aria-selected={option.selected}\n onClick={() => this.handleSelection(index)}\n onKeyDown={(event) => this.handleKeydownOnItem(event, index)}\n >\n {this.isMultiple ? (\n <br-checkbox\n name={`checkbox-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n ) : (\n <br-radio\n exportparts=\"radio-input, radio-label\"\n name={`radio-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n )}\n </div>\n ))\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId() {\n return this.customId?.length > 0 ? this.customId : `br-select-${this.customId}`\n }\n\n /**\n * Inverte o valor da prop `isOpen`\n */\n @Method()\n async toggleOpen() {\n this.isExpanded = !this.isExpanded\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n render() {\n return (\n <div class={this.getCssClassMap()} id={this.getComputedId()}>\n {this.renderInput()}\n\n {this.isExpanded && (\n <br-list tabindex={-1} onKeyDown={(event) => this.handleKeydownOnList(event)}>\n {this.isMultiple && this.renderSelectAllCheckbox()}\n {this.renderOptions()}\n </br-list>\n )}\n </div>\n )\n }\n}\n\nlet selectId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer-category.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer-category/footer-category.scss?tag=br-footer-category&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-category/footer-category.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n@media (width >= 992px) {\n .br-footer-category {\n padding-bottom: 48px;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-category` representa o mapa do site, de acordo com a documentação de design do GovBR.\n *\n * O `br-footer-category` deve ser utilizado com filho direto do componente [`br-footer`](/docs/components/footer) e possui um slot para os itens da categoria.\n * Esses itens são representados pelo componente [`br-footer-item`](/docs/components/footer-item).\n *\n * O componente `br-footer-category` é responsivo e se adapta a diferentes tamanhos de tela.\n * Em telas menores, ele se comporta como um accordion, enquanto em telas maiores, ele é exibido como uma lista.\n *\n * @slot default - Área destinada aos itens da categoria. Utilize o componente [`br-footer-item`](/docs/components/footer-item) para adicionar itens.\n *\n * @example\n * ```html\n * <br-footer>\n * <br-footer-category label=\"Links úteis\">\n * <br-footer-item href=\"/docs\">Documentação</br-footer-item>\n * </br-footer-category>\n * </br-footer>\n * ```\n */\n@Component({\n tag: 'br-footer-category',\n styleUrl: 'footer-category.scss',\n shadow: true,\n})\nexport class FooterCategory {\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: HTMLBrFooterCategoryElement\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 * Título da lista.\n * @default ''\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Define se o componente é exibido em um layout de desktop ou não.\n * @default false\n */\n @State() isDesktop: boolean = false\n\n /**\n * Define o nome do grupo de accordion.\n */\n @State() accordionGroup: string = null\n\n /**\n * Define o media query para o componente.\n * O media query é usado para determinar se o componente deve ser exibido em um layout de desktop ou não.\n */\n private mediaQuery: MediaQueryList\n\n /**\n * Define um nome para o grupo de accordion.\n * O nome do grupo é definido com base no atributo `custom-id` do elemento pai.\n */\n private setAccordionGroup() {\n this.accordionGroup = `group-${this.el.parentElement.getAttribute('custom-id')}`\n }\n\n /**\n * Método que retorna as classes CSS do componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-category': true,\n }\n }\n\n /**\n * Método que retorna as classes baseadas no tamanho da tela.\n */\n private getRootClassMap(): CssClassMap {\n return {\n 'col-2': this.isDesktop,\n col: !this.isDesktop,\n }\n }\n\n /**\n * Define o media query para o componente.\n * O media query é usado para determinar se o componente deve ser exibido em um layout de desktop ou não.\n * O valor padrão é `(min-width: 992px)`, que corresponde a telas de desktop.\n * O valor pode ser alterado para atender às necessidades específicas do projeto.\n * @default '(min-width: 992px)'\n */\n private setMedia() {\n this.mediaQuery = window.matchMedia('(min-width: 992px)')\n this.isDesktop = this.mediaQuery.matches\n this.mediaQuery.addEventListener('change', this.handleMediaQueryChange)\n }\n\n /**\n * Método do ciclo de vida do componente, que é chamado uma vez após o componente começar a ser renderizado no DOM.\n */\n componentWillLoad() {\n this.setMedia()\n this.setAccordionGroup()\n }\n\n /**\n * Método do ciclo de vida do componente, que é chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n this.mediaQuery.removeEventListener('change', this.handleMediaQueryChange)\n }\n\n /**\n * Trata a mudança de media query.\n * @param event O evento de mudança de media query.\n */\n private handleMediaQueryChange = (event: MediaQueryListEvent) => {\n this.isDesktop = event.matches\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host class={this.getRootClassMap()}>\n <br-list\n id={this.customId}\n class={this.getCssClassMap()}\n role=\"list\"\n hide-header-divider={this.isDesktop ? true : null}\n accordion={!this.isDesktop ? this.accordionGroup : null}\n >\n {this.label &&\n this.label.trim() !== '' &&\n (this.isDesktop ? (\n <br-item>\n <div class=\"content text-down-01 text-bold text-uppercase\">{this.label}</div>\n </br-item>\n ) : (\n <div slot=\"header\" class=\"content text-down-01 text-bold text-uppercase\">\n {this.label}\n </div>\n ))}\n <slot></slot>\n {!this.isDesktop && <br-divider></br-divider>}\n </br-list>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,iBAAiB,GAAG,oqXAAoqX;;MC8BjrX,cAAc,GAAA,MAAA;AAL3B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAE/E;;;AAGG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAE3C;;;AAGG;AACM,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAEnC;;AAEG;AACM,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI;AA+DtC;;;AAGG;AACK,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,KAA0B,KAAI;AAC9D,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO;AAChC,SAAC;AAiCF;AA9FC;;;AAGG;IACK,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;;AAGlF;;AAEG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,oBAAoB,EAAE,IAAI;SAC3B;;AAGH;;AAEG;IACK,eAAe,GAAA;QACrB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS;AACvB,YAAA,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;SACrB;;AAGH;;;;;;AAMG;IACK,QAAQ,GAAA;QACd,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;QACxC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;;AAGzE;;AAEG;IACH,iBAAiB,GAAA;QACf,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,iBAAiB,EAAE;;AAG1B;;AAEG;IACH,oBAAoB,GAAA;QAClB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;;AAW5E;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,EAAA,EACjC,CACE,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,MAAM,yBACU,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,EACjD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EAAA,EAEtD,IAAI,CAAC,KAAK;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;AACxB,aAAC,IAAI,CAAC,SAAS,IACb,CAAA,CAAA,SAAA,EAAA,IAAA,EACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,+CAA+C,EAAA,EAAE,IAAI,CAAC,KAAK,CAAO,CACrE,KAEV,CAAK,CAAA,KAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,+CAA+C,EACrE,EAAA,IAAI,CAAC,KAAK,CACP,CACP,CAAC,EACJ,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,CAAC,IAAI,CAAC,SAAS,IAAI,oEAAyB,CACrC,CACL;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer-item.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer-item/footer-item.scss?tag=br-footer-item&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-item/footer-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-item` deve ser utilizado juntamente com o subcomponente [`br-footer-category`](/docs/components/footer-category) para representar os itens dentro de uma categoria no rodapé.\n * De acordo com o a documentação de design do GovBR, esses dois subcomponentes formam o mapa do site.\n * Portanto sob esse contexto, o `br-footer-item` representa uma página no site.\n *\n * O `br-footer-item` deve ser utilizado como filho direto do componente [`br-footer-category`](/docs/components/footer-category).\n *\n * ## Uso em SPAs (Single Page Applications)\n *\n * Para Single Page Applications, recomenda-se usar o slot para passar o componente de roteamento específico do framework:\n *\n * ### React Router:\n * ```html\n * <br-footer-item>\n * <Link to=\"/pagina\">Nome da Página</Link>\n * </br-footer-item>\n * ```\n *\n * ### Vue Router:\n * ```html\n * <br-footer-item>\n * <router-link to=\"/pagina\">Nome da Página</router-link>\n * </br-footer-item>\n * ```\n *\n * ### Angular Router:\n * ```html\n * <br-footer-item>\n * <a routerLink=\"/pagina\">Nome da Página</a>\n * </br-footer-item>\n * ```\n *\n * ### Next.js:\n * ```html\n * <br-footer-item>\n * <Link href=\"/pagina\">Nome da Página</Link>\n * </br-footer-item>\n * ```\n *\n * **Nota:** Quando usar o slot para SPAs, não defina a propriedade `href` no componente, pois a navegação será controlada pelo framework de roteamento.\n *\n * @slot default - Área destinada ao conteúdo do item. Para SPAs, utilize este slot para inserir componentes de roteamento.\n */\n@Component({\n tag: 'br-footer-item',\n styleUrl: 'footer-item.scss',\n shadow: true,\n})\nexport class FooterItem {\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: HTMLBrFooterItemElement\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 * URL ou caminho para o qual o usuário será direcionado ao clicar no item.\n * Quando definido, o item será renderizado como um link.\n * @example 'https://www.gov.br'\n * @example '/home'\n * @example '#section'\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Monta o objeto com as classes CSS do componente\n * @returns Objeto com as classes CSS do componente\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-item': true,\n }\n }\n\n /**\n * Renderiza o componente\n * @returns JSX do componente\n */\n render() {\n return (\n <Host>\n <br-item id={this.customId} href={this.href} role=\"listitem\" class={this.getCssClassMap()}>\n <slot></slot>\n </br-item>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,mmXAAmmX;;MCqD5mX,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAkChF;AAvBC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,gBAAgB,EAAE,IAAI;SACvB;;AAGH;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EACvF,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACL,CACL;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer-legal.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer-legal/footer-legal.scss?tag=br-footer-legal&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-legal/footer-legal.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-info;\n\n:host {\n display: block;\n}\n\n.info {\n ::slotted(*) {\n font-size: var(--font-size-scale-down-01) !important;\n font-weight: 500 !important;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-legal` representa a área destinada a informações legais no rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n *\n * @slot default - Área destinada a informações legais.\n */\n@Component({\n tag: 'br-footer-legal',\n styleUrl: 'footer-legal.scss',\n shadow: true,\n})\nexport class FooterLegal {\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: HTMLBrFooterLegalElement\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 private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-legal': true,\n info: true,\n 'text-down-01': true,\n 'text-medium': true,\n }\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host>\n <div id={this.customId} class={this.getCssClassMap()}>\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,cAAc,GAAG,6tXAA6tX;;MCgBvuX,WAAW,GAAA,MAAA;AALxB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAwBhF;IAtBS,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,aAAa,EAAE,IAAI;SACpB;;AAGH;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAClD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer-logo.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer-logo/footer-logo.scss?tag=br-footer-logo&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-logo/footer-logo.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-logo;\n\n:host {\n display: block;\n}\n\n:host(.partner) {\n display: inline-block;\n}\n\n.logo {\n &.partner {\n margin-left: var(--spacing-scale-3x);\n text-decoration: none;\n padding: 0;\n }\n\n a {\n text-decoration: none;\n\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-logo` representa a logo principal do site ou a logo dos parceiros.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n * Para que ele represente a logo principal do site, o atributo `is-partner` deve ser definido como `false`, ou não deve ser definido.\n * Para que ele represente a logo de um parceiro, o atributo `is-partner` deve ser definido como `true`.\n */\n@Component({\n tag: 'br-footer-logo',\n styleUrl: 'footer-logo.scss',\n shadow: true,\n})\nexport class FooterLogo {\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: HTMLBrFooterLogoElement\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 * Url da logo padrão.\n */\n @Prop({ reflect: true }) src: string = ''\n\n /**\n * Descrição da logo.\n */\n @Prop({ reflect: true }) description: string = 'logo'\n\n /**\n * Posição da logo.\n */\n @Prop({ reflect: true }) position: 'left' | 'center' | 'right' = 'left'\n\n /**\n * Define se a logo é de um parceiro.\n */\n @Prop({ reflect: true }) readonly isPartner: boolean = false\n\n /**\n * URL de destino quando a logo for clicada.\n * Se fornecido, a logo será envolvida em um link.\n */\n @Prop({ reflect: true }) href?: string\n\n /**\n * Target do link quando href é fornecido.\n */\n @Prop({ reflect: true }) target?: '_blank' | '_self' | '_parent' | '_top' = '_self'\n\n /**\n * Monta o mapa de classes CSS que serão aplicadas ao componente.\n * @returns Objeto com as classes CSS que serão aplicadas ao componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-logo': true,\n logo: true,\n 'text-sm-left': this.position === 'left',\n 'text-sm-center': this.position === 'center',\n 'text-sm-right': this.position === 'right',\n partner: this.isPartner,\n }\n }\n\n /**\n * Monta o mapa de classes CSS que serão aplicadas ao host do componente.\n * @returns Objeto com as classes CSS que serão aplicadas ao host do componente.\n */\n private getRootCssClassMap(): CssClassMap {\n return {\n partner: this.isPartner,\n }\n }\n\n /**\n * Cria o elemento de imagem da logo.\n * @returns JSX do elemento img.\n */\n private createImageElement() {\n return <img src={this.src} alt={this.description} />\n }\n\n /**\n * Monta o JSX que representa o componente.\n * @returns JSX que representa o componente.\n */\n render() {\n return (\n <Host class={this.getRootCssClassMap()}>\n <div id={this.customId} class={this.getCssClassMap()}>\n {this.href && this.href.trim() !== '' ? (\n <a href={this.href} target={this.target} {...(this.target === '_blank' && { rel: 'noopener noreferrer' })}>\n {this.createImageElement()}\n </a>\n ) : (\n this.createImageElement()\n )}\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,q6XAAq6X;;MCgB96X,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAE/E;;AAEG;AACsB,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE;AAEzC;;AAEG;AACsB,QAAA,IAAW,CAAA,WAAA,GAAW,MAAM;AAErD;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAgC,MAAM;AAEvE;;AAEG;AAC+B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAQ5D;;AAEG;AACsB,QAAA,IAAM,CAAA,MAAA,GAA6C,OAAO;AAsDpF;AApDC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,cAAc,EAAE,IAAI,CAAC,QAAQ,KAAK,MAAM;AACxC,YAAA,gBAAgB,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;AAC5C,YAAA,eAAe,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO;YAC1C,OAAO,EAAE,IAAI,CAAC,SAAS;SACxB;;AAGH;;;AAGG;IACK,kBAAkB,GAAA;QACxB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS;SACxB;;AAGH;;;AAGG;IACK,kBAAkB,GAAA;AACxB,QAAA,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAI;;AAGtD;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAA,EACpC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EACjD,EAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IACnC,uBAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAM,GAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAC,EACtG,IAAI,CAAC,kBAAkB,EAAE,CACxB,KAEJ,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CACG,CACD;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer-social.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer-social/footer-social.scss?tag=br-footer-social&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-social/footer-social.tsx"],"sourcesContent":[".spacing-icons {\n margin-right: var(--spacing-scale-2x);\n text-decoration: none;\n}\n\nbr-button {\n display: inline-block;\n}\n","import { Component, Element, h, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-social` representa os ícones de redes sociais no rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n */\n@Component({\n tag: 'br-footer-social',\n styleUrl: 'footer-social.scss',\n shadow: true,\n})\nexport class FooterSocial {\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: HTMLBrFooterSocialElement\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 * Ícone da rede social\n * */\n @Prop({ reflect: true }) readonly icon: string\n\n /**\n * Descrição do ícone da rede social\n * */\n @Prop({ reflect: true }) readonly description: string\n\n /**\n * URL da rede social\n */\n @Prop({ reflect: true }) readonly href: string = null\n\n /**\n * Monta o objeto com as classes CSS do componente.\n * @returns Objeto com as classes CSS do componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-social': true,\n 'spacing-icons': true,\n }\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <br-button\n role=\"link\"\n class={this.getCssClassMap()}\n id={this.customId}\n emphasis=\"tertiary\"\n shape=\"circle\"\n aria-label={this.description}\n >\n <a href={this.href} tabindex=\"-1\">\n <br-icon icon-name={`fa-brands:${this.icon}`} aria-hidden=\"true\"></br-icon>\n </a>\n </br-button>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,eAAe,GAAG,urXAAurX;;MCclsX,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAY/E;;AAEG;AAC+B,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI;AAiCtD;AA/BC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,eAAe,EAAE,IAAI;SACtB;;AAGH;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,QAAQ,EACF,YAAA,EAAA,IAAI,CAAC,WAAW,EAAA,EAE5B,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAC,IAAI,EAAA,EAC/B,CAAoB,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAA,CAAA,UAAA,EAAa,IAAI,CAAC,IAAI,EAAE,EAAc,aAAA,EAAA,MAAM,EAAW,CAAA,CACzE,CACM;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-footer.entry.esm.js","sources":["../../packages/webcomponents/src/components/footer/footer.scss?tag=br-footer&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/divider/divider\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/grid\";\n@import \"~@govbr-ds/core/src/partial/scss/utilities/flexbox\";\n@import \"~@govbr-ds/core/src/components/footer/footer\";\n@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-social;\n\n:host {\n display: block;\n width: 100%;\n}\n\n.br-footer {\n display: flex;\n flex-flow: column nowrap;\n\n &.inverted {\n --background: var(--background-light);\n\n @include light-mode;\n }\n}\n\n.site-map {\n display: flex;\n flex-flow: column nowrap;\n padding: var(--footer-padding-bottom);\n}\n\n.social-and-partners {\n display: none;\n padding: var(--footer-padding-bottom);\n}\n\n.social-newtwork,\n.partners {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n}\n\n.social-title {\n flex-basis: 100%;\n}\n\n@media (width >= 576px) {\n .social-and-partners {\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between;\n align-items: flex-end;\n }\n}\n\n@media (width >= 992px) {\n .site-map {\n flex-flow: row wrap;\n justify-content: flex-start;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * O componente `br-footer` representa o rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele é composto por vários subcomponentes, como [`br-footer-category`](/docs/components/footer-category), [`br-footer-item`](/docs/components/footer-item), [`br-footer-social`](/docs/components/footer-social), [`br-footer-legal`](/docs/components/footer-legal) e [`br-logo`](/docs/components/footer-logo).\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/footer?tab=designer).\n *\n * @slot logo - Área destinada ao logo do rodapé. Utilize o componente `br-logo` para adicionar o logo.\n * @slot default - Área destinada ao mapa do site. Utilize o componente `br-footer-category` juntamente com o componente `br-footer-item` para adicionar itens.\n * @slot social-network - Área destinada às redes sociais. Utilize o componente `br-footer-social` para adicionar redes sociais.\n * @slot partner-logo - Área destinada aos logos de parceiros. Utilize o componente `br-logo` para adicionar os logos.\n * @slot legal - Área destinada às informações legais. Utilize o componente `br-footer-legal` para adicionar informações legais.\n *\n * @example\n * ```html\n * <br-footer theme=\"dark\">\n * <br-footer-category label=\"Mapa do Site\">\n * <br-footer-item href=\"/docs\">Documentação</br-footer-item>\n * </br-footer-category>\n * </br-footer>\n * ```\n */\n@Component({\n tag: 'br-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer {\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: HTMLBrFooterElement\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 * Indica o tema do rodapé.\n */\n @Prop({ reflect: true }) theme: 'dark' | 'light' = 'dark'\n\n /**\n * Texto de descrição das redes sociais.\n */\n @Prop({ reflect: true }) socialNetworkTitle: string = 'Redes Sociais'\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer': true,\n inverted: this.theme === 'light',\n }\n }\n\n /**\n * Verifica se o slot possui conteúdo.\n * @param slotName Nome do slot a ser verificado.\n * @returns true se o slot possui conteúdo, false caso contrário.\n */\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host>\n <div id={this.customId} class={this.getCssClassMap()}>\n <div class=\"container-lg\">\n <slot name=\"logo\"></slot>\n <div class=\"site-map\">\n <slot></slot>\n </div>\n <div class=\"social-and-partners\">\n <div class=\"social-network\">\n <p class=\"social-network-title\">{this.socialNetworkTitle}</p>\n <slot name=\"social-network\"></slot>\n </div>\n <div class=\"partners text-right\">\n <slot name=\"partner-logo\"></slot>\n </div>\n </div>\n {this.hasSlotContent('legal') && <br-divider bleed></br-divider>}\n <slot name=\"legal\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,SAAS,GAAG,snpBAAsnpB;;MC8B3npB,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,OAAO,CAAC,gBAAgB,EAAE;AAE/E;;AAEG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAqB,MAAM;AAEzD;;AAEG;AACsB,QAAA,IAAkB,CAAA,kBAAA,GAAW,eAAe;AA+CtE;IA7CS,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,OAAO;SACjC;;AAGH;;;;AAIG;AACK,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAU,OAAA,EAAA,QAAQ,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI;;AAG/D;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAClD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAQ,CAAA,EACzB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACnB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzB,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,sBAAsB,IAAE,IAAI,CAAC,kBAAkB,CAAK,EAC7D,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,gBAAgB,EAAA,CAAQ,CAC/B,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,CAAQ,CAC7B,CACF,EACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,KAAK,EAAc,IAAA,EAAA,CAAA,EAChE,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,CACD;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-item.br-list.entry.esm.js","sources":["../../packages/webcomponents/src/components/item/item.scss?tag=br-item&encapsulation=shadow","../../packages/webcomponents/src/components/item/item.tsx","../../packages/webcomponents/src/components/list/list.scss?tag=br-list&encapsulation=shadow","../../packages/webcomponents/src/components/list/list.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: block;\n}\n\n::slotted(br-checkbox) {\n max-width: fit-content;\n max-height: fit-content;\n}\n\n::slotted(br-radio) {\n max-width: fit-content;\n max-height: fit-content;\n}\n\n.br-item:focus {\n cursor: auto;\n outline: var(--focus) var(--focus-style) var(--focus-width);\n outline-offset: var(--focus-offset);\n}\n\n.no-text-selection {\n user-select: none;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer).\n *\n * @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n *\n * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n *\n * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n */\n@Component({\n tag: 'br-item',\n styleUrl: 'item.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Item {\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: HTMLBrItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o item, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\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 = `br-item-${itemId++}`\n\n /**\n * Indica se o item está no estado ativo.\n * Se definido como verdadeiro, o item será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Indica se o item está no estado selecionado.\n * Se definido como verdadeiro, o item será exibido como selecionado.\n */\n @Prop({ reflect: true }) readonly isSelected: boolean = false\n\n /**\n * Marca o item como interativo, permitindo que toda a superfície do item seja clicável.\n */\n @Prop({ reflect: true }) readonly isInteractive: boolean = false\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Define o alvo do link quando `href` está presente. Pode ser:\n * - `_blank` para abrir em uma nova aba,\n * - `_self` para abrir na mesma aba,\n * - `_parent` para abrir na aba pai,\n * - `_top` para abrir na aba superior.\n */\n @Prop({ reflect: true }) readonly target?: '_blank' | '_self' | '_parent' | '_top'\n\n /**\n * Quando definido como `true`, o item será tratado como um botão.\n */\n @Prop({ reflect: true }) readonly isButton: boolean = false\n\n /**\n * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n * - `'submit'` para enviar um formulário,\n * - `'reset'` para redefinir um formulário,\n * - `'button'` para um botão padrão.\n */\n @Prop({ reflect: true, mutable: true }) type: 'submit' | 'reset' | 'button'\n\n /**\n * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.\n */\n @Prop({ reflect: true }) readonly value?: string\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 // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() hasSlotDefault: boolean = false\n\n @State() hasSlotStart: boolean = false\n\n @State() hasSlotEnd: boolean = false\n\n // Propriedade interna para armazenar o valor selecionado\n @State() selectedValue: boolean = false\n\n // Propriedade para rastrear a presença de rádios dentro do item\n private hasRadios: boolean = false\n\n // Referência ao elemento interno que deve receber o foco\n private focusableElement?: HTMLElement\n\n @Listen('checkedChange', { target: 'document' })\n handleRadioChange() {\n requestAnimationFrame(() => {\n this.updateRadioSelectionState()\n })\n }\n\n @Listen('checkedChange', { target: 'document' })\n handleCheckboxChange(event: Event) {\n const target = event.target as HTMLElement\n\n if (this.el.contains(target)) {\n this.updateCheckboxSelectionState()\n }\n }\n\n /**\n * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\n * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n */\n @Event({ composed: true, cancelable: true, bubbles: true }) brDidClick: EventEmitter\n\n /**\n * Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\n */\n @Event({ bubbles: true, composed: true }) brDidSelect: EventEmitter<{ selected: boolean }>\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.hasSlotStart = this.hasSlotContent('start')\n this.hasSlotEnd = this.hasSlotContent('end')\n this.selectedValue = this.isSelected\n if (this.isButton) {\n this.type = this.type || 'button'\n }\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n this.hasRadios = radios.length > 0\n\n if (this.isSelected) {\n if (checkboxes.length > 0) {\n checkboxes.forEach((checkbox) => (checkbox.checked = true))\n }\n if (radios.length > 0) {\n radios[0].checked = true\n }\n }\n\n this.updateRadioSelectionState()\n this.updateCheckboxSelectionState()\n }\n\n private hasSlotContentDefault(): void {\n this.hasSlotDefault = this.el.innerHTML !== ''\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-item': true,\n disabled: this.disabled,\n active: this.isActive,\n selected: this.selectedValue,\n 'py-3': this.density === 'medium',\n 'py-4': this.density === 'small',\n 'no-text-selection': this.isButton || (this.href !== undefined && this.href.length > 0) || this.disabled,\n }\n }\n\n private getTagType(): string {\n if (this.isButton) {\n return 'button'\n }\n if (this.href?.length > 0) {\n return 'a'\n }\n return 'div'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n const baseAttributes =\n TagType === 'button' ? { type: this.type, value: this.value } : { href: this.href, target: this.target }\n\n return {\n ...baseAttributes,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-current': this.isActive ? 'true' : null,\n 'data-toggle': this.isInteractive ? 'selection' : null,\n 'is-selected': this.selectedValue ? true : null,\n }\n }\n\n private updateCheckboxSelectionState() {\n if (this.hasRadios) return\n\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n this.selectedValue = checkboxes.some((checkbox) => checkbox.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n private updateRadioSelectionState() {\n if (!this.hasRadios) return\n\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n\n this.selectedValue = radios.some((radio) => radio.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n /**\n * Gerencia o evento mousedown aplicando preventDefault() apenas nos casos necessários:\n * - quando o item é um link (href definido)\n * - quando o item está desabilitado\n * Isso permite a seleção de texto normal em botões ou itens de leitura.\n */\n private handleMouseDown = (event: MouseEvent) => {\n const shouldPreventDefault = (this.href !== undefined && this.href.length > 0) || this.disabled\n if (shouldPreventDefault) {\n event.preventDefault()\n }\n }\n\n // Função para verificar se o clique foi dentro do slot do item.\n private isClickInsideInteractiveElement(target: HTMLElement): boolean {\n const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea'\n const interactiveElements = this.el.querySelectorAll(interactiveSelectors)\n return Array.from(interactiveElements).some((el) => el.contains(target) || target === el)\n }\n\n private updateCheckboxes() {\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkboxes.forEach((checkbox) => {\n checkbox.checked = this.selectedValue\n })\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n\n const clickedElement = event.target as HTMLElement\n\n if (this.hasRadios) {\n return\n }\n\n if (this.isButton) {\n this.brDidClick.emit()\n } else if (this.isInteractive && !this.isClickInsideInteractiveElement(clickedElement)) {\n // Armazena o estado anterior para emitir o evento apenas se houver mudança.\n const previousSelectedValue = this.selectedValue\n this.selectedValue = !this.selectedValue\n\n if (previousSelectedValue !== this.selectedValue) {\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n this.updateCheckboxes()\n }\n\n event.stopPropagation()\n }\n\n /**\n * Método usado para associar ao evento onKeyDown no JSX\n * Evita problemas de lint com arrow functions ou bind() no JSX\n */\n private readonly handleKeydownEvent = (event: KeyboardEvent) => {\n this.handleKeydown(event)\n }\n\n /**\n * Manipula o evento keydown internamente\n */\n private handleKeydown(event: KeyboardEvent) {\n if (this.disabled) {\n console.log(`[br-item ${this.customId}] Item desativado, ignorando tecla pressionada(keydown).`)\n return\n }\n\n const listContainer = this.el.closest('br-list')\n if (listContainer === null || listContainer === undefined) {\n console.error(`[br-item ${this.customId}] Não foi possível encontrar o container pai <br-list>.`)\n return\n }\n\n const listItems = Array.from(listContainer.querySelectorAll('br-item:not([disabled])')) as HTMLBrItemElement[]\n if (listItems.length === 0) {\n console.warn(`[br-item ${this.customId}] Nenhum item navegável encontrado no container da lista.`)\n return\n }\n\n const currentIndex = listItems.indexOf(this.el)\n\n if (currentIndex === -1) {\n console.error(`[br-item ${this.customId}] Item atual não encontrado nos itens navegáveis.`)\n return // O item atual não está na lista (talvez desabilitado ou erro)\n }\n\n let targetItem: HTMLBrItemElement | null = null\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n if (currentIndex < listItems.length - 1) {\n targetItem = listItems[currentIndex + 1]\n } else {\n console.log(`[br-item ${this.customId}] ArrowDown: Último item já selecionado.`)\n }\n break\n\n case 'ArrowUp':\n event.preventDefault()\n if (currentIndex > 0) {\n targetItem = listItems[currentIndex - 1]\n } else {\n console.log(`[br-item ${this.customId}] ArrowUp: Usuário já está no primeiro item da lista.`)\n }\n break\n\n case 'Enter':\n case ' ':\n event.preventDefault()\n this.handleClick(new MouseEvent('click'))\n break\n\n case 'Home':\n event.preventDefault()\n targetItem = listItems[0]\n break\n\n case 'End':\n event.preventDefault()\n targetItem = listItems[listItems.length - 1]\n break\n\n default:\n return\n }\n\n if (targetItem && targetItem !== this.el) {\n if ('setFocus' in targetItem) {\n // Se o item alvo tiver o método setFocus, chama-o\n ;(targetItem as { setFocus: () => void }).setFocus()\n }\n // Caso contrário, apenas defina o foco no elemento alvo\n targetItem.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n }\n }\n\n /**\n * Define o foco no elemento interno do componente.\n * Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.\n */\n @Method()\n async setFocus() {\n this.focusableElement?.focus()\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n return (\n <Host>\n <TagType\n class={classList}\n {...attributes}\n onClick={this.handleClick}\n id={this.customId}\n ref={(el) => (this.focusableElement = el as HTMLElement)}\n onKeyDown={this.handleKeydownEvent}\n onMouseDown={this.handleMouseDown}\n >\n {this.hasSlotStart || this.hasSlotEnd ? (\n <div class=\"row align-items-center\">\n {this.hasSlotStart && (\n <div class=\"col-auto\">\n <slot name=\"start\"></slot>\n </div>\n )}\n\n <div class=\"col\">\n <slot></slot>\n </div>\n\n {this.hasSlotEnd && (\n <div class=\"col-auto\">\n <slot name=\"end\"></slot>\n </div>\n )}\n </div>\n ) : (\n <slot></slot>\n )}\n </TagType>\n </Host>\n )\n }\n}\n\nlet itemId = 0\n","@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n\n .br-list.horizontal ::slotted(br-item) {\n flex: 1;\n height: auto;\n min-height: 56px;\n width: auto;\n }\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/list?tab=designer).\n *\n * @slot default - Slot padrão para inclusão dos itens da lista.\n * @slot header - Slot nomeado para inclusão de ações relacionadas ao cabeçalho do list (uso de botões por exemplo).\n *\n * @example\n * ```html\n * <br-list header=\"Tarefas\">\n * <li>Item 1</li>\n * <li>Item 2</li>\n * </br-list>\n * ```\n */\n@Component({\n tag: 'br-list',\n styleUrl: 'list.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class List {\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: HTMLBrListElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o cabeçalho para a lista.\n */\n @Prop({ reflect: true }) readonly header: string = null\n\n /**\n * Indica se a lista será horizontal. Por padrão, a lista é vertical.\n */\n @Prop({ reflect: true }) readonly isHorizontal: boolean = false\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 = `br-list-${listId++}`\n\n /**\n * Indica que o divider para o título da lista estará oculto.\n */\n @Prop({ reflect: true }) readonly hideHeaderDivider: boolean = false\n\n /**\n * Indica se a lista possui o comportamento de collapse.\n */\n @Prop({ reflect: true }) readonly collapse: boolean = false\n\n /**\n * Indica se a lista possui o comportamento de accordion.\n * O valor da propriedade define o grupo, ou seja, o accordion é aplicado a todas as listas que possuem o mesmo valor para esta propriedade.\n */\n @Prop({ reflect: true }) readonly accordion: string = null\n\n /**\n * Método do ciclo de vida do componente, que é chamado uma vez após o componente começar a ser renderizado no DOM.\n */\n componentDidLoad() {\n if (this.isHorizontal) {\n const slotItems = Array.from(this.el.querySelectorAll('br-item'))\n\n slotItems.forEach((item) => {\n const nextElement = item.nextElementSibling\n if (nextElement?.classList.contains('br-divider')) {\n const divider = nextElement as HTMLElement\n divider.style.borderWidth = '0 1px 0 0'\n divider.style.width = '1px'\n }\n })\n }\n\n // adicionar role=\"listitem\" para os itens dentro do slot\n const items = Array.from(this.el.querySelectorAll('br-item'))\n items.forEach((item) => {\n item.setAttribute('role', 'listitem')\n })\n }\n\n /**\n * Método que retorna as classes CSS do componente\n * @returns Objeto com as classes CSS do componente\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-list': true,\n horizontal: this.isHorizontal,\n }\n }\n\n /**\n * Verifica se o slot possui conteúdo.\n * @param slotName Nome do slot a ser verificado.\n * @returns true se o slot possui conteúdo, false caso contrário.\n */\n private hasSlotContent(slotName: string): boolean {\n const directChildren = Array.from(this.el.querySelectorAll(`[slot=\"${slotName}\"]`)).filter(\n (child) => child.parentElement === this.el\n )\n return Boolean(directChildren.length)\n }\n\n /**\n * Renderiza o cabeçalho da lista.\n * @returns JSX do cabeçalho da lista\n */\n\n private readonly renderHeader = () => {\n if (this.header?.length > 0 || this.hasSlotContent('header')) {\n return (\n <div\n class={!this.hasSlotContent('header') ? 'header' : null}\n slot={this.collapse || Boolean(this.accordion) ? 'trigger' : null}\n >\n <slot name=\"header\">{!this.hasSlotContent('header') ? <div class=\"title\">{this.header}</div> : null}</slot>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza o divider do cabeçalho.\n * @returns JSX do divider\n */\n private renderDivider() {\n if ((this.header || this.hasSlotContent('header')) && !this.hideHeaderDivider) {\n return <div class=\"br-divider\"></div>\n }\n return null\n }\n\n /**\n * Renderiza o corpo da lista.\n * @returns JSX do corpo da lista.\n */\n private renderListBody() {\n return [this.renderHeader(), this.renderDivider(), <slot></slot>]\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente\n */\n render() {\n return (\n <Host role=\"list\">\n <div class={this.getCssClassMap()} id={this.customId}>\n {Boolean(this.accordion) || this.collapse ? (\n <br-collapse accordion-group={this.accordion || null}>{this.renderListBody()}</br-collapse>\n ) : (\n this.renderListBody()\n )}\n </div>\n </Host>\n )\n }\n}\n\nlet listId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-loading.entry.esm.js","sources":["../../packages/webcomponents/src/components/loading/loading.scss?tag=br-loading&encapsulation=shadow","../../packages/webcomponents/src/components/loading/loading.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/loading/loading\";\n\n:host {\n display: block;\n\n .loading-progress-alignment {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\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: HTMLBrLoadingElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) readonly isProgress: boolean = false\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 = `br-loading-${loadingId++}`\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) readonly progressPercent: number\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) readonly isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) readonly label: string\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n id={this.customId}\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n id={this.customId}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet loadingId = 0\n"],"names":[],"mappings":";;;;;;AAAA,MAAM,UAAU,GAAG,6+3BAA6+3B;;MCYn/3B,OAAO,GAAA,MAAA;AANpB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAaE;;;;AAIG;AAC+B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAE7D;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,cAAc,SAAS,EAAE,EAAE;AAQhF;;AAEG;AAC+B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAkD5D;IA1CS,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB;;IAGH,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,uDACF,IAAI,CAAC,UAAU,IACd,WACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,eAAe,EACxB,YAAA,EAAA,oCAAoC,mBACjC,GAAG,EAAA,eAAA,EACF,IAAI,CAAC,eAAe,mBACrB,KAAK,EACnB,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAA,EAEjB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,iBAAiB,EAAA,CAAO,CAC/B,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,iBAAiB,EAAA,CAAO,CAC/B,CACF,KAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAA,CAAA,KAAA,EAAA,EACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,EAAA,YAAA,EACP,0CAA0C,EAChD,CAAA,EACP,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,QAAQ,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,CACP,CACI;;;;;AAKb,IAAI,SAAS,GAAG,CAAC;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-magic-button.entry.esm.js","sources":["../../packages/webcomponents/src/components/magic-button/magic-button.scss?tag=br-magic-button&encapsulation=shadow","../../packages/webcomponents/src/components/magic-button/magic-button.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/magicbutton/magicbutton\";\n\n:host {\n display: block;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\nlet MagicButtonId = 0\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/magicbutton?tab=designer).\n *\n * @slot default - Conteúdo interno do botão (texto ou ícone).\n */\n@Component({\n tag: 'br-magic-button',\n styleUrl: 'magic-button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class MagicButton {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento DOM associado ao componente.\n */\n @Element() el: HTMLBrMagicButtonElement\n\n /**\n * Identificador único.\n * Se não for fornecido, será gerado automaticamente.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-magic-button-${MagicButtonId++}`\n\n /**\n * Texto do rótulo do botão.\n * Utilizado como conteúdo principal quando presente.\n */\n @Prop({ reflect: true }) readonly label: string = ''\n\n /**\n * Nome do ícone a ser exibido.\n * Deve corresponder a um ícone disponível no sistema de ícones.\n */\n @Prop({ reflect: true }) readonly icon: string = ''\n\n /**\n * Densidade do botão.\n * Define o tamanho do componente:\n * - `large` para grande\n * - `medium` para médio\n * - `small` para pequeno\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Define se o botão terá formato circular.\n * Aplica contorno arredondado completo quando `true` e não houver `label`.\n */\n @Prop({ reflect: true }) readonly circle: boolean = false\n\n /**\n * Texto de acessibilidade (ARIA label).\n * Deve ser fornecido para ícones sem texto para garantir acessibilidade.\n */\n @Prop() readonly ariaLabel: string = ''\n\n /**\n * Gera o mapeamento de classes CSS baseado nas propriedades de densidade.\n * @returns Mapa de classes CSS para o container do botão mágico.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-magic-button': true,\n large: this.density === 'large',\n medium: this.density === 'medium',\n small: this.density === 'small',\n }\n }\n\n /**\n * Gera o mapeamento de classes CSS para aplicar o estilo de botão circular.\n * @returns Mapa contendo a classe `circle` quando aplicável.\n */\n private getCircleClass(): CssClassMap {\n return {\n circle: this.circle && !this.label,\n }\n }\n\n /**\n * Retorna a classe de CSS para posicionar ícone e label juntos.\n * @returns `label-icon` quando houver `label` e `icon`; string vazia caso contrário.\n */\n private getLabelIconClass(): string {\n return this.label && this.icon ? 'label-icon' : ''\n }\n\n /**\n * Renderiza o componente.\n */\n render() {\n const effectiveAriaLabel = this.ariaLabel || this.label || (this.icon ? `Botão com ícone ${this.icon}` : 'Botão')\n return (\n <Host id={this.customId}>\n <div class={this.getCssClassMap()}>\n <button class={{ 'br-button': true, ...this.getCircleClass() }} type=\"button\" aria-label={effectiveAriaLabel}>\n {this.icon && <icon-base icon-name={this.icon} class={this.getLabelIconClass()} />}\n {this.label || <slot></slot>}\n </button>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;AAAA,MAAM,cAAc,GAAG,ivkBAAivkB;;ACIxwkB,IAAI,aAAa,GAAG,CAAC;MAaR,WAAW,GAAA,MAAA;AANxB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAaE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAW,mBAAmB,aAAa,EAAE,EAAE;AAEzF;;;AAGG;AAC+B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAEpD;;;AAGG;AAC+B,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE;AAEnD;;;;;;AAMG;AAC+B,QAAA,IAAO,CAAA,OAAA,GAAiC,QAAQ;AAElF;;;AAGG;AAC+B,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAEzD;;;AAGG;AACc,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE;AAiDxC;AA/CC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;AAC/B,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ;AACjC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;SAChC;;AAGH;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;SACnC;;AAGH;;;AAGG;IACK,iBAAiB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,YAAY,GAAG,EAAE;;AAGpD;;AAEG;IACH,MAAM,GAAA;QACJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,GAAG,CAAmB,gBAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,OAAO,CAAC;QACjH,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAA,EACrB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAC/B,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,EAAI,WAAW,EAAE,IAAI,EAAK,EAAA,IAAI,CAAC,cAAc,EAAE,CAAI,EAAA,IAAI,EAAC,QAAQ,gBAAa,kBAAkB,EAAA,EACzG,IAAI,CAAC,IAAI,IAAI,CAAA,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAsB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAI,CAAA,EACjF,IAAI,CAAC,KAAK,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACrB,CACL,CACD;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-message.entry.esm.js","sources":["../../packages/webcomponents/src/components/message/message.scss?tag=br-message&encapsulation=shadow","../../packages/webcomponents/src/components/message/message.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/message/message\";\n\n:host {\n display: block;\n\n .icon-space {\n margin-right: var(--spacing-scale-half);\n }\n\n .br-message.success .close br-button,\n .br-message.danger .close br-button,\n .br-message.info .close br-button {\n --interactive: var(--message-color-icon);\n }\n\n .br-message.success .close br-button {\n --interactive-rgb: var(--success-rgb);\n }\n\n .br-message.danger .close br-button {\n --interactive-rgb: var(--danger-rgb);\n }\n\n .br-message.info .close br-button {\n --interactive-rgb: var(--info-rgb);\n }\n\n .br-message.warning .close br-button {\n --interactive: var(--color);\n --interactive-rgb: var(--color-rgb);\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/message?tab=designer).\n *\n * @slot default - Utilizado para inserir qualquer conteúdo que será exibido no corpo da mensagem.\n */\n@Component({\n tag: 'br-message',\n styleUrl: 'message.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Message {\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: HTMLBrMessageElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o título da mensagem, que é exibido no início, acima da mensagem principal.\n * Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly messageTitle: string\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 = `br-message-${messageId++}`\n\n /**\n * Define o texto da mensagem que será exibido.\n * Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.\n */\n @Prop({ reflect: true }) readonly message!: string\n\n /**\n * Se definido como verdadeiro, o título da mensagem será exibido na mesma linha que a mensagem principal.\n * Isso pode ser útil para criar um layout onde o título e a mensagem estão alinhados horizontalmente.\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\n * O fechamento emitirá o evento `brDidClose`, mas não removerá automaticamente o componente do DOM, a menos que a propriedade `autoRemove` também esteja definida como `true`.\n * Este recurso não está disponível para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly isClosable: boolean = false\n\n /**\n * Controla o comportamento do fechamento do componente quando `isClosable` é verdadeiro.\n * - Se definido como `true`, o componente será automaticamente removido do DOM ao clicar no botão de fechar.\n * - Se definido como `false`, o componente permanecerá no DOM e apenas emitirá o evento `brDidClose`.\n *\n * Esta propriedade não tem efeito se `isClosable` for `false`.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) autoRemove: boolean = false\n\n /**\n * Se definido como verdadeiro, um ícone associado à mensagem será exibido.\n * Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.\n */\n @Prop({ reflect: true }) readonly showIcon: boolean = false\n\n /**\n * Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\n * Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.\n */\n @Prop({ reflect: true }) readonly isFeedback: boolean = false\n\n /**\n * Define o estado do message.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n /** Evento emitido quando o usuário fecha a mensagem, se closable for true. */\n @Event() brDidClose: EventEmitter\n\n private readonly dismissHandler = () => {\n this.brDidClose.emit()\n if (this.autoRemove) {\n this.el.remove()\n }\n }\n\n private checkIconState() {\n const iconMap = {\n success: 'fa-solid:check-circle',\n warning: 'fa-solid:exclamation-triangle',\n danger: 'fa-solid:times-circle',\n info: 'fa-solid:info-circle',\n }\n return iconMap[this.state] || 'check-circle' // Valor padrão se não encontrado\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-message': true,\n [this.state]: true,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isFeedback ? (\n <span class={`feedback ${this.state}`} role=\"alert\" id={this.customId}>\n {this.showIcon ? <br-icon class=\"icon-space\" icon-name={this.checkIconState()}></br-icon> : null}\n {this.message && this.message.length > 0 ? this.message : <slot></slot>}\n </span>\n ) : (\n <div class={this.getCssClassMap()} role=\"alert\" id={this.customId}>\n <div class=\"icon\">\n {this.showIcon ? (\n <br-icon icon-name={this.checkIconState()} height=\"20\" aria-hidden=\"true\"></br-icon>\n ) : (\n <slot name=\"icon\"></slot>\n )}\n </div>\n <div class=\"content\" role=\"alert\">\n {this.message && this.message.length > 0 ? (\n <div>\n {this.messageTitle && <span class=\"message-title\">{this.messageTitle}</span>}\n {this.messageTitle && !this.isInline && <br />}\n {this.message && <span class=\"message-body\">{this.message}</span>}\n </div>\n ) : (\n <div>\n {this.messageTitle && this.isInline && <strong>{this.messageTitle}</strong>}\n {this.messageTitle && !this.isInline && <br />}\n <slot></slot>\n </div>\n )}\n </div>\n {this.isClosable && !this.isFeedback && (\n <div class=\"close\">\n <br-button shape=\"circle\" type=\"button\" aria-label=\"Fechar a mensagem\" onClick={this.dismissHandler}>\n <br-icon icon-name=\"fa-solid:times\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n )}\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet messageId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br-modal.entry.esm.js","sources":["../../packages/webcomponents/src/components/modal/modal.scss?tag=br-modal&encapsulation=shadow","../../packages/webcomponents/src/components/modal/modal.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/modal/modal\";\n\n.br-modal.scrollable {\n max-height: 400px;\n}\n\n.br-modal-footer.justify-content-end {\n justify-content: flex-end;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/modal?tab=designer).\n *\n * @slot header - Cabeçalho do modal. Se não for usado, o `title-text` será exibido.\n * @slot default - Corpo do modal.\n * @slot footer - Rodapé do modal.\n * @slot close-button - Botão de fechar customizado. Se não for usado, o botão padrão será exibido.\n *\n */\n@Component({\n tag: 'br-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Modal {\n /** Referência ao elemento host do componente. */\n @Element() el: HTMLBrModalElement\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('modal')\n\n /** O texto do título a ser exibido no cabeçalho do modal. Usado quando o slot `header` não é fornecido. */\n @Prop() readonly titleText: string\n\n /** Controla a visibilidade do modal. */\n @Prop({ reflect: true, mutable: true }) show = false\n\n /** Se `true`, o modal se fechará automaticamente ao clicar no botão de fechar ou pressionar a tecla 'Escape'. */\n @Prop({ reflect: true }) autoClose = false\n\n /** Seletor CSS para o elemento que deve receber foco quando o modal é aberto. */\n @Prop() readonly initialFocusSelector: string\n\n /**\n * Define o tamanho (largura) do modal.\n * Valores possíveis: 'xsmall', 'small', 'medium', 'large', 'auto'.\n */\n @Prop({ reflect: true }) readonly size: 'xsmall' | 'small' | 'medium' | 'large' | 'auto' = 'medium'\n\n /** Se `true`, exibe um fundo escurecido (scrim) atrás do modal. */\n @Prop({ reflect: true }) readonly scrim = false\n\n /** Se `true`, habilita a rolagem interna do conteúdo do modal. */\n @Prop({ reflect: true }) readonly scrollable = false\n\n /**\n * Define o alinhamento do conteúdo do rodapé (slot=\"footer\").\n * Valores possíveis: 'start', 'end', 'center'.\n */\n @Prop({ reflect: true }) readonly alignFooter: 'start' | 'end' | 'center' = 'center'\n\n /** Evento emitido quando o modal solicita ser fechado (pelo botão 'x', tecla 'Escape' ou clique no scrim). */\n @Event() brModalClose: EventEmitter<void>\n\n private get titleId() {\n return `${this.customId}-title`\n }\n\n private get contentId() {\n return `${this.customId}-content`\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-modal': true,\n [this.size]: true,\n scrollable: this.scrollable,\n }\n }\n\n private handleClose = () => {\n this.brModalClose.emit()\n if (this.autoClose) {\n this.show = false\n\n // Se o modal está dentro de um br-scrim, fecha o scrim também\n const parentScrim = this.el.closest('br-scrim')\n if (parentScrim) {\n parentScrim.close()\n }\n }\n }\n\n /**\n * Método público para abrir o modal\n */\n @Method()\n async open() {\n this.show = true\n }\n\n /**\n * Método público para fechar o modal\n */\n @Method()\n async close() {\n this.show = false\n\n // Se o modal está dentro de um br-scrim, fecha o scrim também\n const parentScrim = this.el.closest('br-scrim')\n if (parentScrim) {\n parentScrim.close()\n }\n }\n\n render() {\n if (!this.show) {\n return null\n }\n\n return (\n <Host>\n <div\n class={this.getCssClassMap()}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={this.titleId}\n aria-describedby={this.contentId}\n >\n <div class=\"br-modal-header\">\n <div class=\"modal-title\" id={this.titleId}>\n <slot name=\"header\">{this.titleText}</slot>\n </div>\n <slot name=\"close-button\">\n <br-button class=\"close\" shape=\"circle\" density=\"small\" aria-label=\"Fechar\" onClick={this.handleClose}>\n <br-icon icon-name=\"fa-solid:times\"></br-icon>\n </br-button>\n </slot>\n </div>\n <div id={this.contentId} class=\"br-modal-body\">\n <slot></slot>\n </div>\n <div class={`br-modal-footer ${this.alignFooter ? `justify-content-${this.alignFooter}` : ''}`}>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
|