@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["selectCss","Select","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","placeholder","isMultiple","options","selectAllLabel","unselectAllLabel","showSearchIcon","isOpen","isInline","borderless","customId","selectId","parsedOptions","filteredOptions","inputValue","searchTerm","isAllSelected","isExpanded","focusedIndex","handleClickOutside","event","path","composedPath","clickedInside","includes","el","target","Node","contains","synchronizeSelect","jsonData","JSON","parse","Array","isArray","Error","error","console","message","getFilteredOptions","updateSelectedOptions","updateSelectedAllState","emitSelectedOptions","syncValueFromOutside","newVal","map","o","Object","assign","selected","value","selectedValue","componentWillLoad","componentDidLoad","document","addEventListener","disconnectedCallback","removeEventListener","handleKeydownOnInput","key","closeSelect","preventDefault","openSelect","focusItemInDirection","resetFocus","toggleOpen","handleKeydownOnList","handleKeydownOnItem","index","handleSelection","handleSelectAllKeyDown","toggleSelectAll","input","shadowRoot","querySelector","focus","direction","itemCount","length","focusItem","items","querySelectorAll","item","selectedOption","originalIndex","findIndex","updatedOptions","option","filter","_a","find","valueChange","emit","elementInternals","setFormValue","stringify","_b","_c","getStringValue","normalizeText","text","normalize","replace","toLowerCase","term","normalizedTerm","normalizedLabel","label","normalizedValue","firstSelected","howManySelected","selectedValues","allSelected","every","renderInput","h","exportparts","controlWidth","inputWidth","actionLabel","readonly","onClick","onInput","handleSearchInput","onFocus","handleSearchFocus","onBlur","handleSearchBlur","onKeyDown","slot","height","renderSelectAllCheckbox","class","tabindex","role","name","checked","onCheckedChange","renderOptions","getComputedId","clear","newValue","undefined","getValue","setValue","getCssClassMap","render","id"],"sources":["../../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/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 // Opções filtradas de acordo com o termo de busca digitado.\n @State() filteredOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = ''\n\n // Termo digitado no input (modo busca).\n @State() searchTerm: string = ''\n\n /** Valor selecionado (string para single, string[] para multiple) */\n @Prop({ reflect: false, mutable: true }) 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 lista filtrada considerando o termo atual\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\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 this.filteredOptions = this.getFilteredOptions(this.searchTerm)\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.filteredOptions.length) {\n return\n }\n\n // Localiza opção original a partir da lista filtrada\n const selectedOption = this.filteredOptions[index]\n const originalIndex = this.parsedOptions.findIndex((o) => o.value === selectedOption.value)\n if (originalIndex === -1) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[originalIndex].selected = !updatedOptions[originalIndex].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[originalIndex].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 this.filteredOptions = this.getFilteredOptions(this.searchTerm)\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 normalizeText(text: string): string {\n return (text || '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n }\n\n private getFilteredOptions(term: string) {\n if (!term) {\n return this.parsedOptions\n }\n\n const normalizedTerm = this.normalizeText(term)\n return this.parsedOptions.filter((option) => {\n const normalizedLabel = this.normalizeText(option.label || option.value)\n const normalizedValue = this.normalizeText(option.value)\n return normalizedLabel.includes(normalizedTerm) || normalizedValue.includes(normalizedTerm)\n })\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.searchTerm || 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={false}\n onClick={() => this.toggleOpen()}\n onInput={(event) => this.handleSearchInput(event)}\n onFocus={() => this.handleSearchFocus()}\n onBlur={() => this.handleSearchBlur()}\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 if (this.filteredOptions.length === 0) {\n return (\n <div class=\"br-item empty\" role=\"option\" aria-selected=\"false\" tabindex={-1}>\n Nenhum resultado encontrado\n </div>\n )\n }\n\n return this.filteredOptions.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 /**\n * Limpa todas as opções selecionadas.\n */\n @Method()\n async clear() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n this.parsedOptions = updatedOptions\n\n const newValue = this.isMultiple ? [] : undefined\n this.selectedValue = newValue\n this.value = newValue\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.valueChange.emit(newValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(newValue ?? (this.isMultiple ? [] : null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n /**\n * Retorna o valor selecionado.\n * @returns {Promise<string | string[]>} O valor atual.\n */\n @Method()\n async getValue() {\n return this.value\n }\n\n /**\n * Define o valor do componente.\n * @param {string | string[]} newValue O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string | string[]) {\n this.value = newValue\n // O @Watch('value') cuidará da sincronização\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n private handleSearchInput(event: Event) {\n const value = (event.target as HTMLInputElement).value ?? ''\n this.searchTerm = value\n this.filteredOptions = this.getFilteredOptions(value)\n this.isExpanded = true\n }\n\n private handleSearchFocus() {\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n }\n\n private handleSearchBlur() {\n // Ao sair do campo, volta a exibir o resumo das seleções\n this.searchTerm = ''\n this.filteredOptions = this.getFilteredOptions('')\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,YAAY,MAAM;;MCkBXC,KAAMC,EAAA,MAAAD,UAAAE;EANnB,WAAAC,CAAAC;;;;;;;;;;eAuB2BC,KAAWC,cAAW;;;eAKtBD,KAAUE,aAAY;;;;;;;;;;;;;;;;eAkBtBF,KAAOG,UAMtB;;;eAKeH,KAAcI,iBAAW;;;eAKzBJ,KAAgBK,mBAAW;;;eAK3BL,KAAcM,iBAAY;;;eAK1BN,KAAMO,SAAY;;;;eAMlBP,KAAQQ,WAAY;;;eAWpBR,KAAUS,aAAY;;;;eAMbT,KAAAU,WAAmB,aAAaC;;;QAIzDX,KAAaY,gBAA2D;;QAGxEZ,KAAea,kBAA2D;;QAG1Eb,KAAUc,aAAW;;QAGrBd,KAAUe,aAAW;;QAQrBf,KAAagB,gBAAY;;QAGzBhB,KAAUiB,aAAY;;QAGtBjB,KAAYkB,gBAAW;;;;;;;;;;eAgFflB,KAAAmB,qBAAsBC;;MAErC,MAAMC,IAAQD,EAAME,gBAAgBF,EAAME,kBAAmB;MAC7D,MAAMC,IAAgBF,EAAKG,SAASxB,KAAKyB,OAAQL,EAAMM,kBAAkBC,QAAQ3B,KAAKyB,GAAGG,SAASR,EAAMM;MAExG,IAAI1B,KAAKiB,eAAeM,GAAe;QACrCvB,KAAKiB,aAAa;;;AA0ZvB;EAveC,iBAAAY;IACE;MACE,IAAIjB,IAAwE;MAC5E,WAAWZ,KAAKG,YAAY,UAAU;QACpC;UACE,MAAM2B,IAAWC,KAAKC,MAAMhC,KAAKG;UACjC,IAAI8B,MAAMC,QAAQJ,IAAW;YAC3BlB,IAAgBkB;iBACX;YACL,MAAM,IAAIK,MAAM;;UAElB,OAAOC;UACPC,QAAQD,MAAM,wCAAwCA,EAAME;UAC5D1B,IAAgB;;aAEb,IAAIqB,MAAMC,QAAQlC,KAAKG,UAAU;QACtCS,IAAgBZ,KAAKG;;;YAIvBH,KAAKY,gBAAgBA;;YAGrBZ,KAAKa,kBAAkBb,KAAKuC,mBAAmBvC,KAAKe;;YAGpDf,KAAKwC;MACLxC,KAAKyC;MACLzC,KAAK0C;MACL,OAAON;MACPC,QAAQD,MAAM,0CAA0CA;MACxDpC,KAAKY,gBAAgB;;;EAKzB,oBAAA+B,CAAqBC;;IAEnB5C,KAAKY,gBAAgBZ,KAAKY,cAAciC,KAAKC,KACxCC,OAAAC,OAAAD,OAAAC,OAAA,IAAAF,IACH;MAAAG,UAAUjD,KAAKE,aAAa+B,MAAMC,QAAQU,MAAWA,EAAOpB,SAASsB,EAAEI,SAASN,MAAWE,EAAEI;;IAE/FlD,KAAKmD,gBAAgBP;IACrB5C,KAAKwC;;QACLxC,KAAKyC;IACLzC,KAAKa,kBAAkBb,KAAKuC,mBAAmBvC,KAAKe;;EAGtD,iBAAAqC;IACEpD,KAAKiB,aAAajB,KAAKO;IACvBP,KAAK6B;;EAGP,gBAAAwB;IACEC,SAASC,iBAAiB,SAASvD,KAAKmB;;EAG1C,oBAAAqC;IACEF,SAASG,oBAAoB,SAASzD,KAAKmB;;EAuBrC,oBAAAuC,CAAqBtC;IAC3B,QAAQA,EAAMuC;KACZ,KAAK;MACH3D,KAAK4D;MACL;;KACF,KAAK;MACHxC,EAAMyC;MACN,KAAK7D,KAAKiB,YAAY;QACpBjB,KAAK8D;;MAEP9D,KAAK+D,qBAAqB;MAC1B;;KACF,KAAK;MACH3C,EAAMyC;MACN,KAAK7D,KAAKiB,YAAY;QACpBjB,KAAK8D;;MAEP9D,KAAK+D,qBAAqB;MAC1B;;KACF,KAAK;MACH/D,KAAK4D;MACL5D,KAAKgE;MACL;;KACF,KAAK;MACHhE,KAAKiE;MACL;;;EAKE,mBAAAC,CAAoB9C;IAC1BA,EAAMyC;IACN,QAAQzC,EAAMuC;KACZ,KAAK;KACL,KAAK;MACH3D,KAAKgE;MACL;;KACF,KAAK;MACHhE,KAAK+D,qBAAqB;MAC1B;;KACF,KAAK;MACH/D,KAAK+D,qBAAqB;MAC1B;;;EAME,mBAAAI,CAAoB/C,GAAsBgD;IAChD,IAAIhD,EAAMuC,QAAQ,WAAWvC,EAAMuC,QAAQ,KAAK;MAC9CvC,EAAMyC;MACN7D,KAAKqE,gBAAgBD;WAChB,IAAIhD,EAAMuC,QAAQ,UAAU;MACjC3D,KAAK4D;;;EAID,sBAAAU,CAAuBlD;IAC7B,IAAIA,EAAMuC,QAAQ,WAAWvC,EAAMuC,QAAQ,KAAK;MAC9CvC,EAAMyC;MACN7D,KAAKuE;WACA,IAAInD,EAAMuC,QAAQ,UAAU;MACjCvC,EAAMyC;MACN7D,KAAK4D;;;EAID,UAAAI;IACN,MAAMQ,IAAQxE,KAAKyB,GAAGgD,WAAWC,cAAc;IAC/CF,MAAK,QAALA,WAAK,aAALA,EAAOG;;EAGD,oBAAAZ,CAAqBa;IAC3B,IAAIC,IAAY7E,KAAKY,cAAckE;IACnC,IAAI9E,KAAKE,YAAY2E,KAAa;IAElC7E,KAAKkB,eACH0D,MAAc,UAAU5E,KAAKkB,eAAe,KAAK2D,KAAa7E,KAAKkB,eAAe,IAAI2D,KAAaA;IAErG7E,KAAK+E,UAAU/E,KAAKkB;;EAGd,SAAA6D,CAAUX;IAChB,MAAMY,IAAQhF,KAAKyB,GAAGgD,WAAWQ,iBAAiB;IAClD,IAAID,EAAMZ,IAAQ;MAChB,MAAMc,IAAOF,EAAMZ;MACnBc,EAAKP;;;EAID,UAAAb;IACN9D,KAAKiB,aAAa;;EAGZ,WAAA2C;IACN5D,KAAKiB,aAAa;;QAElBjB,KAAKkB,gBAAe;;EAGd,eAAAmD,CAAgBD;;IACtB,IAAIA,IAAQ,KAAKA,KAASpE,KAAKa,gBAAgBiE,QAAQ;MACrD;;;QAIF,MAAMK,IAAiBnF,KAAKa,gBAAgBuD;IAC5C,MAAMgB,IAAgBpF,KAAKY,cAAcyE,WAAWvC,KAAMA,EAAEI,UAAUiC,EAAejC;IACrF,IAAIkC,OAAkB,GAAI;MACxB;;IAGF,IAAIpF,KAAKE,YAAY;MACnB,MAAMoF,IAAiB,KAAItF,KAAKY;MAChC0E,EAAeF,GAAenC,YAAYqC,EAAeF,GAAenC;MACxEjD,KAAKY,gBAAgB0E;WAChB;MACL,MAAMA,IAAiBtF,KAAKY,cAAciC,KAAK0C,KAAMxC,OAAAC,OAAAD,OAAAC,OAAA,IAAWuC,IAAM;QAAEtC,UAAU;;MAClFqC,EAAeF,GAAenC,WAAW;MACzCjD,KAAKY,gBAAgB0E;MACrBtF,KAAKiB,aAAa;;;QAIpBjB,KAAKmD,gBAAgBnD,KAAKE,aACtBF,KAAKY,cAAc4E,QAAQ1C,KAAMA,EAAEG,WAAUJ,KAAKC,KAAMA,EAAEI,WAC1DuC,IAAAzF,KAAKY,cAAc8E,MAAM5C,KAAMA,EAAEG,gBAAS,QAAAwC,WAAA,aAAAA,EAAEvC;IAEhDlD,KAAKkD,QAAQlD,KAAKmD;;QAGlBnD,KAAK2F,YAAYC,KAAK5F,KAAKmD;IAE3BnD,KAAKwC;IACLxC,KAAKyC;IACLzC,KAAKa,kBAAkBb,KAAKuC,mBAAmBvC,KAAKe;IACpD;MACEf,KAAK6F,iBAAiBC,aAAa/D,KAAKgE,WAAUC,IAAAhG,KAAKmD,mBAAa,QAAA6C,WAAA,IAAAA,IAAI;MACxE,OAAAC;;;;EAKI,qBAAAzD;IACNxC,KAAKc,aAAad,KAAKkG,eAAelG,KAAKY,cAAc4E,QAAQD,KAAWA,EAAOtC;;EAG7E,aAAAkD,CAAcC;IACpB,QAAQA,KAAQ,IACbC,UAAU,OACVC,QAAQ,oBAAoB,IAC5BC;;EAGG,kBAAAhE,CAAmBiE;IACzB,KAAKA,GAAM;MACT,OAAOxG,KAAKY;;IAGd,MAAM6F,IAAiBzG,KAAKmG,cAAcK;IAC1C,OAAOxG,KAAKY,cAAc4E,QAAQD;MAChC,MAAMmB,IAAkB1G,KAAKmG,cAAcZ,EAAOoB,SAASpB,EAAOrC;MAClE,MAAM0D,IAAkB5G,KAAKmG,cAAcZ,EAAOrC;MAClD,OAAOwD,EAAgBlF,SAASiF,MAAmBG,EAAgBpF,SAASiF;AAAe;;EAIvF,cAAAP,CAAe/F;IACrB,IAAIA,EAAQ2E,SAAS,GAAG;MACtB,MAAM+B,IAAgB1G,EAAQ,GAAGwG,SAASxG,EAAQ,GAAG+C;MACrD,IAAIlD,KAAKE,YAAY;QACnB,MAAM4G,IAAkB3G,EAAQ2E,SAAS,IAAI,OAAO3E,EAAQ2E,SAAS,OAAO;QAC5E,OAAO,GAAG+B,IAAgBC;aACrB;QACL,OAAOD;;;IAGX,OAAO;;EAGD,mBAAAnE;;;;;QAIN,MAAMqE,IAAiB/G,KAAKY,cAAc4E,QAAQD,KAAWA,EAAOtC,aAAa,OAAMJ,KAAK0C,KAAWA,EAAOrC;;;;;QAM9G;MACElD,KAAK6F,iBAAiBC,aAAa/D,KAAKgE,UAAU/F,KAAKE,aAAa6G,KAAkBtB,IAAAsB,EAAe,QAAM,QAAAtB,WAAA,IAAAA,IAAA;MAC3G,OAAAO;;;;EAKI,sBAAAvD;IACN,MAAMuE,IAAchH,KAAKY,cAAcqG,OAAO1B,KAAWA,EAAOtC;IAChEjD,KAAKgB,gBAAgBgG;;EAGf,eAAAzC;;IACN,MAAMe,IAAiBtF,KAAKY,cAAciC,KAAK0C,KAAiBxC,OAAAC,OAAAD,OAAAC,OAAA,IAAAuC,IAAQ;MAAAtC,WAAWjD,KAAKgB;;IACxFhB,KAAKY,gBAAgB0E;IACrBtF,KAAKgB,iBAAiBhB,KAAKgB;IAE3BhB,KAAKwC;;QAGLxC,KAAKmD,gBAAgBnD,KAAKE,aACtBF,KAAKY,cAAc4E,QAAQ1C,KAAMA,EAAEG,WAAUJ,KAAKC,KAAMA,EAAEI,WAC1DuC,IAAAzF,KAAKY,cAAc8E,MAAM5C,KAAMA,EAAEG,gBAAS,QAAAwC,WAAA,aAAAA,EAAEvC;IAChDlD,KAAKkD,QAAQlD,KAAKmD;IAClBnD,KAAK2F,YAAYC,KAAK5F,KAAKmD;IAE3B;MACEnD,KAAK6F,iBAAiBC,aAAa/D,KAAKgE,WAAUC,IAAAhG,KAAKmD,mBAAa,QAAA6C,WAAA,IAAAA,IAAI;MACxE,OAAAC;;;;EAKI,WAAAiB;IACN,OACEC,EACE;MAAAC,aAAY;MACZlE,OAAOlD,KAAKe,cAAcf,KAAKc;MAC/B6F,OAAO3G,KAAK2G;MACZnG,UAAUR,KAAKQ;MACf6G,cAAcrH,KAAKsH;MACnB7G,YAAYT,KAAKS;MACjBR,aAAaD,KAAKC;MAClBsH,aAAavH,KAAKiB,aAAa,6BAA6B;MAC5DuG,UAAU;MACVC,SAAS,MAAMzH,KAAKiE;MACpByD,SAAUtG,KAAUpB,KAAK2H,kBAAkBvG;MAC3CwG,SAAS,MAAM5H,KAAK6H;MACpBC,QAAQ,MAAM9H,KAAK+H;MACnBC,WAAY5G,KAAUpB,KAAK0D,qBAAqBtC;OAE/CpB,KAAKM,kBAAkB6G,EAAS;MAAAc,MAAK;MAAiB;MAA8B;QACrFd,EACE;MAAAc,MAAK;MACM,aAAAjI,KAAKiB,aAAa,sBAAsB;MACnDiH,QAAO;MAAI,eACC;;;EAMZ,uBAAAC;IACN,OACEhB,EACE;MAAAiB,OAAO,uBAAuBpI,KAAKgB,gBAAgB,aAAa;MACvD;MACTqH,UAAS;MACTC,MAAK;MAAQ,iBACEtI,KAAKgB;MACpBgH,WAAY5G,KAAUpB,KAAKsE,uBAAuBlD;MAClDqG,SAAS,MAAMzH,KAAKuE;OAEpB4C,EACE;MAAAoB,MAAM,YAAYvI,KAAKU;MACvBiG,OAAO3G,KAAKgB,gBAAgBhB,KAAKK,mBAAmBL,KAAKI;MACzDoI,SAASxI,KAAKgB;MACdyH,iBAAiB,MAAMzI,KAAKuE;;;EAM5B,aAAAmE;IACN,IAAI1I,KAAKa,gBAAgBiE,WAAW,GAAG;MACrC,OACEqC,EAAK;QAAAiB,OAAM;QAAgBE,MAAK;QAAuB;QAAQD,WAAU;SAAE;;IAM/E,OAAOrI,KAAKa,gBAAgBgC,KAAI,CAAC0C,GAAQnB,MACvC+C,EACE;MAAAiB,OAAO,WAAW7C,EAAOtC,WAAW,aAAa;MACjDU,KAAK,GAAG4B,EAAOoB,SAAS3G,KAAKU;MAC7B4H,MAAK;MACLD,UAAUrI,KAAKkB,iBAAiBkD,IAAQ,KAAI;MAAE,iBAC/BmB,EAAOtC;MACtBwE,SAAS,MAAMzH,KAAKqE,gBAAgBD;MACpC4D,WAAY5G,KAAUpB,KAAKmE,oBAAoB/C,GAAOgD;OAErDpE,KAAKE,aACJiH,EACE;MAAAoB,MAAM,YAAYnE,KAASpE,KAAKU;MAChCiG,OAAOpB,EAAOoB,SAASpB,EAAOrC;MAC9BsF,SAASjD,EAAOtC,aAAa;MAC7BwF,iBAAiB,MAAMzI,KAAKqE,gBAAgBD;SAG9C+C,EAAA;MACEC,aAAY;MACZmB,MAAM,SAASnE,KAASpE,KAAKU;MAC7BiG,OAAOpB,EAAOoB,SAASpB,EAAOrC;MAC9BsF,SAASjD,EAAOtC,aAAa;MAC7BwF,iBAAiB,MAAMzI,KAAKqE,gBAAgBD;;;;;SAU9C,aAAAuE;;IACN,SAAOlD,IAAAzF,KAAKU,cAAU,QAAA+E,WAAA,aAAAA,EAAAX,UAAS,IAAI9E,KAAKU,WAAW,aAAaV,KAAKU;;;;SAOjE,UAAAuD;;MACJjE,KAAKiB,cAAcjB,KAAKiB;AAC1B;;;;SAMM,KAAA2H;;MACJ,MAAMtD,IAAiBtF,KAAKY,cAAciC,KAAK0C,KAAMxC,OAAAC,OAAAD,OAAAC,OAAA,IAAWuC,IAAM;QAAEtC,UAAU;;MAClFjD,KAAKY,gBAAgB0E;MAErB,MAAMuD,IAAW7I,KAAKE,aAAa,KAAK4I;MACxC9I,KAAKmD,gBAAgB0F;MACrB7I,KAAKkD,QAAQ2F;MAEb7I,KAAKwC;MACLxC,KAAKyC;MACLzC,KAAK2F,YAAYC,KAAKiD;MAEtB;QACE7I,KAAK6F,iBAAiBC,aAAa/D,KAAKgE,UAAU8C,MAAA,QAAAA,WAAQ,IAARA,IAAa7I,KAAKE,aAAa,KAAK;QACtF,OAAAuF;;;AAGJ;;;;;SAOM,QAAAsD;;MACJ,OAAO/I,KAAKkD;AACd;;;;;SAOM,QAAA8F,CAASH;;MACb7I,KAAKkD,QAAQ2F;mDAEf;;;EAEQ,cAAAI;IACN,OAAO;MACL,aAAa;;;EAIT,iBAAAtB,CAAkBvG;;IACxB,MAAM8B,KAAQuC,IAACrE,EAAMM,OAA4BwB,WAAS,QAAAuC,WAAA,IAAAA,IAAA;IAC1DzF,KAAKe,aAAamC;IAClBlD,KAAKa,kBAAkBb,KAAKuC,mBAAmBW;IAC/ClD,KAAKiB,aAAa;;EAGZ,iBAAA4G;IACN7H,KAAKa,kBAAkBb,KAAKuC,mBAAmBvC,KAAKe;;EAG9C,gBAAAgH;;IAEN/H,KAAKe,aAAa;IAClBf,KAAKa,kBAAkBb,KAAKuC,mBAAmB;;EAGjD,MAAA2G;IACE,OACE/B,EAAA;MAAAxD,KAAA;MAAKyE,OAAOpI,KAAKiJ;MAAkBE,IAAInJ,KAAK2I;OACzC3I,KAAKkH,eAELlH,KAAKiB,cACJkG,EAAA;MAAAxD,KAAA;MAAS0E,WAAU;MAAIL,WAAY5G,KAAUpB,KAAKkE,oBAAoB9C;OACnEpB,KAAKE,cAAcF,KAAKmI,2BACxBnI,KAAK0I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQlB,IAAI/H,IAAW","ignoreList":[]}
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído por SERPRO
|
|
3
|
+
* © https://serpro.gov.br/ - MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { p as t, H as i, d as r, h as a, c as e, t as n } from "./p-Dl8sbmQD.js";
|
|
6
|
+
|
|
7
|
+
import { d as o } from "./p-wT-Xw7qJ.js";
|
|
8
|
+
|
|
9
|
+
import { d as s } from "./p-DPI-6oom.js";
|
|
10
|
+
|
|
11
|
+
const inputCss = () => `*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.m-3{margin:var(--spacing-scale-2x) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-input{--input-button-margin:var(--spacing-scale-half);--input-padding:0 var(--spacing-scale-2x);--input-padding-button:var(--spacing-scale-5x);--input-padding-icon:var(--spacing-scale-5x);--input-size:var(--input-medium);--input-small:32px;--input-medium:40px;--input-large:48px;--input-highlight:56px;--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);color:var(--color);position:relative}.br-input input{background-color:var(--background-light);border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width);color:var(--color-light);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);height:var(--input-size);margin-top:var(--spacing-scale-half);padding-bottom:0;padding-left:var(--spacing-scale-2x);padding-right:var(--spacing-scale-2x);padding-top:0;width:100%}.br-input input::-ms-reveal,.br-input input::-ms-clear,.br-input input::-webkit-calendar-picker-indicator{display:none}.br-input input[type=search]::-webkit-search-decoration,.br-input input[type=search]::-webkit-search-cancel-button,.br-input input[type=search]::-webkit-search-results-button,.br-input input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.br-input.input-inline{display:-webkit-box;display:-ms-flexbox;display:flex}.br-input.input-inline .input-label{margin-right:var(--spacing-scale-baseh);margin-top:calc(var(--input-size)*.5 - var(--spacing-scale-half))}.br-input.input-inline .input-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.br-input .input-group{position:relative}.br-input .input-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--border-color-alternative);display:-webkit-box;display:-ms-flexbox;display:flex;height:var(--input-size);margin-left:var(--spacing-scale-baseh);position:absolute}.br-input .input-icon+input{padding-left:var(--input-padding-icon)}.br-input .br-button{--button-size:var(--button-small);--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);border-radius:50%;float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half))*-1);padding:0;position:relative;-webkit-transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));width:var(--button-size)}.br-input.input-button input{padding-right:var(--input-padding-button)}.br-input.has-icon input{padding-right:var(--input-padding-icon)}.br-input.has-icon .br-button.circle{float:right;margin-right:var(--spacing-scale-half);margin-top:calc((var(--button-size) + var(--spacing-scale-half) + var(--spacing-scale-half))*-1);-webkit-transform:translateY(0);transform:translateY(0)}.br-input.has-icon.small .br-button.circle{margin-top:calc((var(--button-size) + var(--spacing-scale-base))*-1)}.br-input.has-icon.large .br-button.circle{margin-top:calc(var(--button-size)*-1)}.br-input.input-highlight{--input-button-margin:var(--spacing-scale-2x);--input-padding:0 var(--spacing-scale-3x);--input-padding-button:var(--spacing-scale-7x);--input-padding-icon:var(--spacing-scale-7x);--input-size:var(--input-highlight)}.br-input.input-highlight input{background-color:var(--gray-2);border-color:rgba(0,0,0,0);padding-left:var(--spacing-scale-3x);padding-right:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon{margin-left:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon+input{padding-left:var(--spacing-scale-7x)}.br-input .br-list{-webkit-box-shadow:var(--surface-shadow-md);box-shadow:var(--surface-shadow-md);max-height:530px;overflow:auto;position:absolute;width:100%;z-index:var(--z-index-layer-2)}.br-input .br-list::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}.br-input .br-list::-webkit-scrollbar-track{background:var(--gray-10)}.br-input .br-list::-webkit-scrollbar-thumb{background:var(--gray-30)}.br-input .br-list:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}.br-input .br-list .br-item{--item-padding-y:var(--spacing-scale-2x)}.br-input .br-list .br-item:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input .br-list .br-item:not(:first-child){border-top:var(--surface-width-sm) solid var(--border-color)}.br-input.success input{border-color:var(--success);border-width:2px}.br-input.danger input{border-color:var(--danger);border-width:2px}.br-input.warning input{border-color:var(--warning);border-width:2px}.br-input.info input{border-color:var(--info);border-width:2px}.br-input input:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input input:focus,.br-input input:focus-visible{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-input .feedback{margin-bottom:var(--spacing-scale-half)}.br-input.small{--input-size:var(--input-small)}.br-input.medium{--input-size:var(--input-medium)}.br-input.large{--input-size:var(--input-large)}.br-input.inverted,.br-input.inverted label,.br-input.dark-mode,.br-input.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}:host{display:inline-block}:host .br-input .input-icon{margin:0 var(--spacing-scale-2x)}:host .br-input .input-icon+input{padding-left:var(--spacing-scale-6x)}.br-input br-button{float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half))*-1);padding:0;position:relative}.br-input br-button.button-transform{-webkit-transform:translateY(calc((var(--input-size) - 32px) * 0.5));transform:translateY(calc((var(--input-size) - 32px) * 0.5))}.br-input .input-label{margin-top:0 !important}.br-input.input-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host([borderless]) .br-input input{border-color:rgba(0,0,0,0)}:host([borderless]) .br-input input:focus,:host([borderless]) .br-input input:focus-visible{border-color:var(--border-color-alternative)}`;
|
|
12
|
+
|
|
13
|
+
const l = t(class t extends i {
|
|
14
|
+
constructor(t) {
|
|
15
|
+
super();
|
|
16
|
+
if (t !== false) {
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
}
|
|
19
|
+
this.__attachShadow();
|
|
20
|
+
this.valueChange = r(this, "valueChange", 7);
|
|
21
|
+
this.elementInternals = this.attachInternals();
|
|
22
|
+
/**
|
|
23
|
+
* Especifica o tipo de entrada do campo. Pode ser um dos seguintes:
|
|
24
|
+
* - 'color': Seletor de cor
|
|
25
|
+
* - 'email': Campo para e-mail
|
|
26
|
+
* - 'hidden': Campo oculto
|
|
27
|
+
* - 'password': Campo para senha
|
|
28
|
+
* - 'range': Controle deslizante
|
|
29
|
+
* - 'search': Campo de pesquisa
|
|
30
|
+
* - 'number': Campo para números
|
|
31
|
+
* - 'tel': Campo para números de telefone
|
|
32
|
+
* - 'text': Campo de texto padrão
|
|
33
|
+
* - 'url': Campo para URLs
|
|
34
|
+
*/ this.type = "text";
|
|
35
|
+
/**
|
|
36
|
+
* Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.
|
|
37
|
+
*/ this.density = "medium";
|
|
38
|
+
/**
|
|
39
|
+
* Desativa o input, tornando-o não interativo.
|
|
40
|
+
*/ this.disabled = false;
|
|
41
|
+
/**
|
|
42
|
+
* Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).
|
|
43
|
+
*/ this.isInline = false;
|
|
44
|
+
/**
|
|
45
|
+
* Se verdadeiro, o input terá destaque visual.
|
|
46
|
+
*/ this.isHighlight = false;
|
|
47
|
+
/**
|
|
48
|
+
* Identificador único.
|
|
49
|
+
* Caso não seja fornecido, um ID gerado automaticamente será usado.
|
|
50
|
+
*/ this.customId = `br-input-${c++}`
|
|
51
|
+
/**
|
|
52
|
+
* Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.
|
|
53
|
+
*/;
|
|
54
|
+
this.readonly = false;
|
|
55
|
+
/**
|
|
56
|
+
* Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.
|
|
57
|
+
*/ this.required = false;
|
|
58
|
+
/**
|
|
59
|
+
* Remove a borda do input quando não está em foco.
|
|
60
|
+
* Útil para composições contextuais (ex.: paginação).
|
|
61
|
+
*/ this.borderless = false;
|
|
62
|
+
/**
|
|
63
|
+
* Controla a correção automática do texto.
|
|
64
|
+
*/ this.autocorrect = "off";
|
|
65
|
+
/**
|
|
66
|
+
* Se verdadeiro, permite a seleção de múltiplos arquivos.
|
|
67
|
+
*/ this.multiple = false;
|
|
68
|
+
this.isPasswordVisible = false;
|
|
69
|
+
this.internalState = "info";
|
|
70
|
+
this.hasIconSlot = false;
|
|
71
|
+
this.hasActionSlot = false;
|
|
72
|
+
this.hasFeedbackSlot = false;
|
|
73
|
+
this.handleInput = t => {
|
|
74
|
+
var i;
|
|
75
|
+
const r = t.target;
|
|
76
|
+
let a = (i = r.value) !== null && i !== void 0 ? i : "";
|
|
77
|
+
if (this.hasMaskConfigured()) {
|
|
78
|
+
const t = this.applyMask(a);
|
|
79
|
+
if (t !== a) {
|
|
80
|
+
r.value = t;
|
|
81
|
+
}
|
|
82
|
+
a = t;
|
|
83
|
+
}
|
|
84
|
+
this.value = a;
|
|
85
|
+
this.valueChange.emit(this.value);
|
|
86
|
+
};
|
|
87
|
+
this.renderLabel = () => {
|
|
88
|
+
var t;
|
|
89
|
+
if (((t = this.label) === null || t === void 0 ? void 0 : t.length) > 0) {
|
|
90
|
+
if (this.isInline) {
|
|
91
|
+
return a("div", {
|
|
92
|
+
class: "input-label"
|
|
93
|
+
}, a("label", {
|
|
94
|
+
part: "label",
|
|
95
|
+
class: "text-nowrap",
|
|
96
|
+
htmlFor: this.customId
|
|
97
|
+
}, this.label));
|
|
98
|
+
} else {
|
|
99
|
+
return a("label", {
|
|
100
|
+
part: "label",
|
|
101
|
+
htmlFor: this.customId
|
|
102
|
+
}, this.label);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
this.renderInput = () => a("input", {
|
|
107
|
+
class: this.isHighlight ? "input-highlight" : null,
|
|
108
|
+
id: this.customId,
|
|
109
|
+
style: this.controlWidth !== undefined && this.controlWidth !== null ? {
|
|
110
|
+
width: this.controlWidth
|
|
111
|
+
} : undefined,
|
|
112
|
+
autocomplete: this.autocomplete,
|
|
113
|
+
disabled: this.disabled,
|
|
114
|
+
autoCorrect: this.autocorrect,
|
|
115
|
+
min: this.min,
|
|
116
|
+
max: this.max,
|
|
117
|
+
minLength: this.minlength,
|
|
118
|
+
maxLength: this.maxlength,
|
|
119
|
+
multiple: this.multiple,
|
|
120
|
+
name: this.name,
|
|
121
|
+
pattern: this.pattern,
|
|
122
|
+
step: this.step,
|
|
123
|
+
onInput: this.handleInput,
|
|
124
|
+
placeholder: this.placeholder,
|
|
125
|
+
readonly: this.readonly,
|
|
126
|
+
required: this.required,
|
|
127
|
+
title: this.el.title,
|
|
128
|
+
type: this.type,
|
|
129
|
+
value: this.value
|
|
130
|
+
});
|
|
131
|
+
this.renderHelpText = () => {
|
|
132
|
+
var t;
|
|
133
|
+
return ((t = this.helpText) === null || t === void 0 ? void 0 : t.length) > 0 ? a("p", null, this.helpText) : a("slot", {
|
|
134
|
+
name: "help-text"
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
this.renderIconPassword = () => {
|
|
138
|
+
const t = this.isPasswordVisible ? "fa-solid:eye-slash" : "fa-solid:eye";
|
|
139
|
+
return a("br-icon", {
|
|
140
|
+
"icon-name": t
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
this.togglePasswordVisibility = () => {
|
|
144
|
+
const t = this.el.shadowRoot.querySelector("input");
|
|
145
|
+
this.isPasswordVisible = !this.isPasswordVisible;
|
|
146
|
+
t.type = this.isPasswordVisible ? "text" : "password";
|
|
147
|
+
};
|
|
148
|
+
this.renderInlineInputContent = () => {
|
|
149
|
+
if (this.hasIconSlot) {
|
|
150
|
+
return a("div", {
|
|
151
|
+
class: "input-content"
|
|
152
|
+
}, this.renderInputWithIcon());
|
|
153
|
+
} else {
|
|
154
|
+
return a("div", {
|
|
155
|
+
class: "input-content"
|
|
156
|
+
}, this.renderInputWithoutIcon());
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
this.renderInputContent = () => this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon();
|
|
160
|
+
this.renderInputWithIcon = () => a("div", {
|
|
161
|
+
class: "input-group"
|
|
162
|
+
}, this.renderIconSlot(), this.renderInput(), this.renderButton(), this.renderHelpText());
|
|
163
|
+
this.renderInputWithoutIcon = () => [ this.renderInput(), this.renderButton(), this.renderHelpText() ];
|
|
164
|
+
}
|
|
165
|
+
componentWillLoad() {
|
|
166
|
+
this.hasIconSlot = this.hasSlotContent("icon");
|
|
167
|
+
this.hasActionSlot = this.hasSlotContent("action");
|
|
168
|
+
this.hasFeedbackSlot = this.hasSlotContent("feedback");
|
|
169
|
+
this.internalState = this.state;
|
|
170
|
+
this.applyMaskToValue();
|
|
171
|
+
if (this.hasFeedbackSlot) {
|
|
172
|
+
this.initializeStateWithFeedback();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
componentDidLoad() {
|
|
176
|
+
if (this.hasFeedbackSlot) {
|
|
177
|
+
this.setupSlotFeedbackListener();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
initializeStateWithFeedback() {
|
|
181
|
+
const t = this.el.querySelector("br-message");
|
|
182
|
+
if (t !== null || t !== undefined) {
|
|
183
|
+
const i = t.getAttribute("state");
|
|
184
|
+
this.internalState = i || this.state;
|
|
185
|
+
} else {
|
|
186
|
+
this.internalState = this.state;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
setupSlotFeedbackListener() {
|
|
190
|
+
var t;
|
|
191
|
+
const i = (t = this.el.shadowRoot) === null || t === void 0 ? void 0 : t.querySelector('slot[name="feedback"]');
|
|
192
|
+
if (i !== null && i !== undefined) {
|
|
193
|
+
i.addEventListener("slotchange", (() => {
|
|
194
|
+
this.syncStateWithSlotFeedback();
|
|
195
|
+
}));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
syncStateWithSlotFeedback() {
|
|
199
|
+
const t = this.el.querySelector("br-message");
|
|
200
|
+
if (t !== null && t !== undefined) {
|
|
201
|
+
this.internalState = t.getAttribute("state");
|
|
202
|
+
} else {
|
|
203
|
+
this.internalState = this.state;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
getInputCssClassMap() {
|
|
207
|
+
return {
|
|
208
|
+
"br-input": true,
|
|
209
|
+
"input-button": this.hasActionSlot,
|
|
210
|
+
small: this.density === "small",
|
|
211
|
+
large: this.density === "large",
|
|
212
|
+
medium: this.density === "medium",
|
|
213
|
+
"input-inline": this.isInline,
|
|
214
|
+
"input-highlight": this.isHighlight,
|
|
215
|
+
success: this.internalState === "success",
|
|
216
|
+
danger: this.internalState === "danger",
|
|
217
|
+
info: this.internalState === "info",
|
|
218
|
+
warning: this.internalState === "warning"
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
handleValueChange(t) {
|
|
222
|
+
if (!this.hasMaskConfigured()) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const i = this.applyMask(t !== null && t !== void 0 ? t : "");
|
|
226
|
+
if (i !== t) {
|
|
227
|
+
this.value = i;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
handleMaskChange() {
|
|
231
|
+
this.applyMaskToValue();
|
|
232
|
+
}
|
|
233
|
+
hasSlotContent(t) {
|
|
234
|
+
return this.el.querySelector(`[slot="${t}"]`) !== null;
|
|
235
|
+
}
|
|
236
|
+
renderIconSlot() {
|
|
237
|
+
if (this.hasSlotContent("icon")) {
|
|
238
|
+
return a("div", {
|
|
239
|
+
class: "input-icon"
|
|
240
|
+
}, a("slot", {
|
|
241
|
+
name: "icon"
|
|
242
|
+
}));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
renderButton() {
|
|
246
|
+
if (this.type === "password") {
|
|
247
|
+
return a("br-button", {
|
|
248
|
+
class: "button-transform",
|
|
249
|
+
shape: "circle",
|
|
250
|
+
density: "small",
|
|
251
|
+
"aria-label": this.isPasswordVisible ? "Esconder senha" : "Mostrar senha",
|
|
252
|
+
"aria-pressed": this.isPasswordVisible ? "true" : "false",
|
|
253
|
+
onClick: this.togglePasswordVisibility
|
|
254
|
+
}, this.renderIconPassword());
|
|
255
|
+
} else if (this.hasSlotContent("action")) {
|
|
256
|
+
return a("br-button", {
|
|
257
|
+
class: "button-transform",
|
|
258
|
+
shape: "circle",
|
|
259
|
+
density: "small",
|
|
260
|
+
"aria-label": this.actionLabel
|
|
261
|
+
}, a("slot", {
|
|
262
|
+
name: "action"
|
|
263
|
+
}));
|
|
264
|
+
}
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
renderFeedback() {
|
|
268
|
+
if (this.hasFeedbackSlot) {
|
|
269
|
+
return a("slot", {
|
|
270
|
+
name: "feedback"
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
applyMaskToValue() {
|
|
275
|
+
if (!this.hasMaskConfigured() || this.value === undefined || this.value === null) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const t = this.applyMask(this.value);
|
|
279
|
+
if (this.value !== t) {
|
|
280
|
+
this.value = t;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
applyMask(t) {
|
|
284
|
+
if (!this.hasMaskConfigured()) {
|
|
285
|
+
return t !== null && t !== void 0 ? t : "";
|
|
286
|
+
}
|
|
287
|
+
const i = (t !== null && t !== void 0 ? t : "").replace(/\D/g, "");
|
|
288
|
+
if (i.length === 0) {
|
|
289
|
+
return "";
|
|
290
|
+
}
|
|
291
|
+
let r = "";
|
|
292
|
+
let a = 0;
|
|
293
|
+
for (let t = 0; t < this.mask.length && a < i.length; t++) {
|
|
294
|
+
const e = this.mask[t];
|
|
295
|
+
if (e === "#") {
|
|
296
|
+
r += i[a];
|
|
297
|
+
a++;
|
|
298
|
+
} else {
|
|
299
|
+
r += e;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return r;
|
|
303
|
+
}
|
|
304
|
+
hasMaskConfigured() {
|
|
305
|
+
return typeof this.mask === "string" && this.mask.length > 0;
|
|
306
|
+
}
|
|
307
|
+
render() {
|
|
308
|
+
return a(e, {
|
|
309
|
+
key: "31b237410ace1d2cc2222c38851cf58dce557108"
|
|
310
|
+
}, a("div", {
|
|
311
|
+
key: "b8100d4bc19fb6d59c30863f95dc7909afea02b8",
|
|
312
|
+
class: this.getInputCssClassMap()
|
|
313
|
+
}, this.renderLabel(), this.isInline ? this.renderInlineInputContent() : this.renderInputContent(), this.renderFeedback()));
|
|
314
|
+
}
|
|
315
|
+
static get formAssociated() {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
get el() {
|
|
319
|
+
return this;
|
|
320
|
+
}
|
|
321
|
+
static get watchers() {
|
|
322
|
+
return {
|
|
323
|
+
value: [ "handleValueChange" ],
|
|
324
|
+
mask: [ "handleMaskChange" ]
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
static get style() {
|
|
328
|
+
return inputCss();
|
|
329
|
+
}
|
|
330
|
+
}, [ 321, "br-input", {
|
|
331
|
+
type: [ 513 ],
|
|
332
|
+
autocomplete: [ 513 ],
|
|
333
|
+
density: [ 513 ],
|
|
334
|
+
disabled: [ 516 ],
|
|
335
|
+
isInline: [ 516, "is-inline" ],
|
|
336
|
+
isHighlight: [ 516, "is-highlight" ],
|
|
337
|
+
state: [ 513 ],
|
|
338
|
+
label: [ 513 ],
|
|
339
|
+
customId: [ 513, "custom-id" ],
|
|
340
|
+
name: [ 513 ],
|
|
341
|
+
placeholder: [ 513 ],
|
|
342
|
+
readonly: [ 516 ],
|
|
343
|
+
required: [ 516 ],
|
|
344
|
+
value: [ 1537 ],
|
|
345
|
+
controlWidth: [ 513, "control-width" ],
|
|
346
|
+
borderless: [ 516 ],
|
|
347
|
+
helpText: [ 513, "help-text" ],
|
|
348
|
+
autocorrect: [ 513 ],
|
|
349
|
+
min: [ 514 ],
|
|
350
|
+
max: [ 514 ],
|
|
351
|
+
minlength: [ 514 ],
|
|
352
|
+
maxlength: [ 514 ],
|
|
353
|
+
multiple: [ 516 ],
|
|
354
|
+
pattern: [ 513 ],
|
|
355
|
+
mask: [ 513 ],
|
|
356
|
+
step: [ 514 ],
|
|
357
|
+
actionLabel: [ 513, "action-label" ],
|
|
358
|
+
isPasswordVisible: [ 32 ],
|
|
359
|
+
internalState: [ 32 ],
|
|
360
|
+
hasIconSlot: [ 32 ],
|
|
361
|
+
hasActionSlot: [ 32 ],
|
|
362
|
+
hasFeedbackSlot: [ 32 ]
|
|
363
|
+
}, undefined, {
|
|
364
|
+
value: [ "handleValueChange" ],
|
|
365
|
+
mask: [ "handleMaskChange" ]
|
|
366
|
+
} ]);
|
|
367
|
+
|
|
368
|
+
let c = 0;
|
|
369
|
+
|
|
370
|
+
function defineCustomElement() {
|
|
371
|
+
if (typeof customElements === "undefined") {
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
const t = [ "br-input", "br-button", "br-icon" ];
|
|
375
|
+
t.forEach((t => {
|
|
376
|
+
switch (t) {
|
|
377
|
+
case "br-input":
|
|
378
|
+
if (!customElements.get(n(t))) {
|
|
379
|
+
customElements.define(n(t), l);
|
|
380
|
+
}
|
|
381
|
+
break;
|
|
382
|
+
|
|
383
|
+
case "br-button":
|
|
384
|
+
if (!customElements.get(n(t))) {
|
|
385
|
+
o();
|
|
386
|
+
}
|
|
387
|
+
break;
|
|
388
|
+
|
|
389
|
+
case "br-icon":
|
|
390
|
+
if (!customElements.get(n(t))) {
|
|
391
|
+
s();
|
|
392
|
+
}
|
|
393
|
+
break;
|
|
394
|
+
}
|
|
395
|
+
}));
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export { l as I, defineCustomElement as d };
|
|
399
|
+
//# sourceMappingURL=p-CcJHd-EX.js.map
|
|
400
|
+
//# sourceMappingURL=p-CcJHd-EX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["inputCss","Input","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","density","disabled","isInline","isHighlight","customId","inputId","readonly","required","borderless","autocorrect","multiple","isPasswordVisible","internalState","hasIconSlot","hasActionSlot","hasFeedbackSlot","handleInput","event","inputElement","target","nextValue","_a","value","hasMaskConfigured","maskedValue","applyMask","valueChange","emit","renderLabel","label","length","h","class","part","htmlFor","renderInput","id","style","controlWidth","undefined","width","autocomplete","autoCorrect","min","max","minLength","minlength","maxLength","maxlength","name","pattern","step","onInput","placeholder","title","el","renderHelpText","helpText","renderIconPassword","iconName","togglePasswordVisibility","input","shadowRoot","querySelector","renderInlineInputContent","renderInputWithIcon","renderInputWithoutIcon","renderInputContent","renderIconSlot","renderButton","componentWillLoad","hasSlotContent","state","applyMaskToValue","initializeStateWithFeedback","componentDidLoad","setupSlotFeedbackListener","initialMessageElement","messageState","getAttribute","slot","addEventListener","syncStateWithSlotFeedback","messageElement","getInputCssClassMap","small","large","medium","success","danger","info","warning","handleValueChange","newValue","handleMaskChange","slotName","shape","onClick","actionLabel","renderFeedback","digits","replace","digitIndex","i","mask","maskChar","render","Host","key"],"sources":["../../packages/webcomponents/src/components/input/input.scss?tag=br-input&encapsulation=shadow","../../packages/webcomponents/src/components/input/input.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/input/input\";\n\n:host {\n display: inline-block;\n\n .br-input .input-icon {\n margin: 0 var(--spacing-scale-2x);\n }\n\n .br-input .input-icon + input {\n padding-left: var(--spacing-scale-6x);\n }\n}\n\n.br-input {\n br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n\n &.button-transform {\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n }\n\n .input-label {\n margin-top: 0 !important;\n }\n\n &.input-inline {\n display: flex;\n align-items: center;\n }\n}\n\n/* Estilo borderless para composições contextuais */\n:host([borderless]) {\n .br-input input {\n border-color: transparent;\n }\n\n .br-input input:focus,\n .br-input input:focus-visible {\n border-color: var(--border-color-alternative);\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n * @slot feedback - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n *\n * @example\n * ```html\n * <br-input label=\"Nome\" placeholder=\"Digite seu nome\"></br-input>\n * ```\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\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: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) readonly type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) readonly autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) readonly isHighlight: boolean = false\n\n /**\n * Define o estado do input\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'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: 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-input-${inputId++}`\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) readonly required: boolean = false\n\n /**\n * Valor exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Largura do campo de entrada (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100%.\n */\n @Prop({ reflect: true }) readonly controlWidth?: string\n\n /**\n * Remove a borda do input quando não está em foco.\n * Útil para composições contextuais (ex.: paginação).\n */\n @Prop({ reflect: true }) readonly borderless: boolean = false\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) readonly helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) readonly autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) readonly pattern: string\n\n /**\n * Máscara aplicada ao valor digitado (use `#` para marcar posições numéricas).\n */\n @Prop({ reflect: true }) readonly mask?: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly step: number\n\n /**\n * Texto exibido no botão de ação à direita do input.\n */\n @Prop({ reflect: true }) readonly actionLabel: string\n\n @State() isPasswordVisible: boolean = false\n\n @State() internalState: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n @State() hasFeedbackSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.hasFeedbackSlot = this.hasSlotContent('feedback')\n this.internalState = this.state\n this.applyMaskToValue()\n\n if (this.hasFeedbackSlot) {\n this.initializeStateWithFeedback()\n }\n }\n\n componentDidLoad() {\n if (this.hasFeedbackSlot) {\n this.setupSlotFeedbackListener()\n }\n }\n\n private initializeStateWithFeedback() {\n const initialMessageElement = this.el.querySelector('br-message')\n\n if (initialMessageElement !== null || initialMessageElement !== undefined) {\n const messageState = initialMessageElement.getAttribute('state')\n this.internalState = (messageState as 'info' | 'warning' | 'danger' | 'success') || this.state\n } else {\n this.internalState = this.state\n }\n }\n\n private setupSlotFeedbackListener() {\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"feedback\"]')\n if (slot !== null && slot !== undefined) {\n slot.addEventListener('slotchange', () => {\n this.syncStateWithSlotFeedback()\n })\n }\n }\n\n private syncStateWithSlotFeedback() {\n const messageElement = this.el.querySelector('br-message')\n\n if (messageElement !== null && messageElement !== undefined) {\n this.internalState = messageElement.getAttribute('state') as 'info' | 'warning' | 'danger' | 'success'\n } else {\n this.internalState = this.state\n }\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.internalState === 'success',\n danger: this.internalState === 'danger',\n info: this.internalState === 'info',\n warning: this.internalState === 'warning',\n }\n }\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange: EventEmitter<string>\n\n @Watch('value')\n protected handleValueChange(newValue: string) {\n if (!this.hasMaskConfigured()) {\n return\n }\n\n const maskedValue = this.applyMask(newValue ?? '')\n if (maskedValue !== newValue) {\n this.value = maskedValue\n }\n }\n\n @Watch('mask')\n protected handleMaskChange() {\n this.applyMaskToValue()\n }\n\n private readonly handleInput = (event: Event) => {\n const inputElement = event.target as HTMLInputElement\n let nextValue = inputElement.value ?? ''\n\n if (this.hasMaskConfigured()) {\n const maskedValue = this.applyMask(nextValue)\n if (maskedValue !== nextValue) {\n inputElement.value = maskedValue\n }\n nextValue = maskedValue\n }\n\n this.value = nextValue\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label part=\"label\" class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return (\n <label part=\"label\" htmlFor={this.customId}>\n {this.label}\n </label>\n )\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n style={this.controlWidth !== undefined && this.controlWidth !== null ? { width: this.controlWidth } : undefined}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label={this.isPasswordVisible ? 'Esconder senha' : 'Mostrar senha'}\n aria-pressed={this.isPasswordVisible ? 'true' : 'false'}\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button class=\"button-transform\" shape=\"circle\" density=\"small\" aria-label={this.actionLabel}>\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n private renderFeedback() {\n if (this.hasFeedbackSlot) {\n return <slot name=\"feedback\"></slot>\n }\n }\n\n private applyMaskToValue() {\n if (!this.hasMaskConfigured() || this.value === undefined || this.value === null) {\n return\n }\n\n const maskedValue = this.applyMask(this.value)\n if (this.value !== maskedValue) {\n this.value = maskedValue\n }\n }\n\n private applyMask(value: string): string {\n if (!this.hasMaskConfigured()) {\n return value ?? ''\n }\n\n const digits = (value ?? '').replace(/\\D/g, '')\n if (digits.length === 0) {\n return ''\n }\n\n let maskedValue = ''\n let digitIndex = 0\n\n for (let i = 0; i < this.mask.length && digitIndex < digits.length; i++) {\n const maskChar = this.mask[i]\n\n if (maskChar === '#') {\n maskedValue += digits[digitIndex]\n digitIndex++\n } else {\n maskedValue += maskChar\n }\n }\n\n return maskedValue\n }\n\n private hasMaskConfigured(): boolean {\n return typeof this.mask === 'string' && this.mask.length > 0\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n\n {this.renderFeedback()}\n </div>\n </Host>\n )\n }\n}\n\nlet inputId = 0\n"],"mappings":"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","ignoreList":[]}
|