@govbr-ds/webcomponents 2.0.0-next.37 → 2.0.0-next.39
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/README.md +69 -23
- package/dist/cjs/br-avatar.cjs.entry.js +1 -1
- package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +3 -3
- package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +9 -2
- package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
- package/dist/cjs/br-checkgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
- package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -0
- package/dist/cjs/br-collapse_2.cjs.entry.js +286 -0
- package/dist/cjs/br-collapse_2.cjs.entry.js.map +1 -0
- package/dist/cjs/br-divider.cjs.entry.js +1 -1
- package/dist/cjs/br-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/br-footer-category.cjs.entry.js +110 -0
- package/dist/cjs/br-footer-category.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer-category.entry.cjs.js.map +1 -0
- package/dist/cjs/br-footer-item.cjs.entry.js +52 -0
- package/dist/cjs/br-footer-item.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer-item.entry.cjs.js.map +1 -0
- package/dist/cjs/br-footer-legal.cjs.entry.js +43 -0
- package/dist/cjs/br-footer-legal.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer-legal.entry.cjs.js.map +1 -0
- package/dist/cjs/br-footer-logo.cjs.entry.js +74 -0
- package/dist/cjs/br-footer-logo.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer-logo.entry.cjs.js.map +1 -0
- package/dist/cjs/br-footer-social.cjs.entry.js +57 -0
- package/dist/cjs/br-footer-social.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer-social.entry.cjs.js.map +1 -0
- package/dist/cjs/br-footer.cjs.entry.js +49 -0
- package/dist/cjs/br-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/br-footer.entry.cjs.js.map +1 -0
- package/dist/cjs/br-input.br-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/br-input_2.cjs.entry.js +33 -4
- package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +2 -2
- package/dist/cjs/br-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +2 -2
- package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +2 -2
- package/dist/cjs/br-message.cjs.entry.js.map +1 -1
- package/dist/cjs/br-message.entry.cjs.js.map +1 -1
- package/dist/cjs/br-select.cjs.entry.js +2 -2
- package/dist/cjs/br-select.cjs.entry.js.map +1 -1
- package/dist/cjs/br-select.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step-item.cjs.entry.js +2 -2
- package/dist/cjs/br-step-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-step-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step.cjs.entry.js +2 -2
- package/dist/cjs/br-step.cjs.entry.js.map +1 -1
- package/dist/cjs/br-step.entry.cjs.js.map +1 -1
- package/dist/cjs/br-switch.cjs.entry.js +2 -2
- package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
- package/dist/cjs/br-tab-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-tab-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tab.cjs.entry.js +2 -2
- package/dist/cjs/br-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/br-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/br-table-cell.cjs.entry.js +81 -0
- package/dist/cjs/br-table-cell.cjs.entry.js.map +1 -0
- package/dist/cjs/br-table-cell.entry.cjs.js.map +1 -0
- package/dist/cjs/br-table-header-cell.cjs.entry.js +70 -0
- package/dist/cjs/br-table-header-cell.cjs.entry.js.map +1 -0
- package/dist/cjs/br-table-header-cell.entry.cjs.js.map +1 -0
- package/dist/cjs/br-table-header-row.cjs.entry.js +44 -0
- package/dist/cjs/br-table-header-row.cjs.entry.js.map +1 -0
- package/dist/cjs/br-table-header-row.entry.cjs.js.map +1 -0
- package/dist/cjs/br-table-row.cjs.entry.js +36 -0
- package/dist/cjs/br-table-row.cjs.entry.js.map +1 -0
- package/dist/cjs/br-table-row.entry.cjs.js.map +1 -0
- package/dist/cjs/br-table.cjs.entry.js +44 -0
- package/dist/cjs/br-table.cjs.entry.js.map +1 -0
- package/dist/cjs/br-table.entry.cjs.js.map +1 -0
- package/dist/cjs/br-tag.cjs.entry.js +3 -3
- package/dist/cjs/br-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +2 -2
- package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/br-upload.cjs.entry.js +2 -2
- package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
- package/dist/cjs/helpers-BOXIHVCc.js +23 -0
- package/dist/cjs/helpers-BOXIHVCc.js.map +1 -0
- package/dist/cjs/index-DAOr34NM.js +50 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +11 -0
- 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/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +8 -1
- package/dist/collection/components/checkbox/checkbox.js.map +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 +131 -43
- 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.css +1 -0
- package/dist/collection/components/footer/footer.js +128 -0
- package/dist/collection/components/footer/footer.js.map +1 -0
- package/dist/collection/components/footer-category/footer-category.css +1 -0
- package/dist/collection/components/footer-category/footer-category.js +178 -0
- package/dist/collection/components/footer-category/footer-category.js.map +1 -0
- package/dist/collection/components/footer-item/footer-item.css +1 -0
- package/dist/collection/components/footer-item/footer-item.js +117 -0
- package/dist/collection/components/footer-item/footer-item.js.map +1 -0
- package/dist/collection/components/footer-legal/footer-legal.css +1 -0
- package/dist/collection/components/footer-legal/footer-legal.js +77 -0
- package/dist/collection/components/footer-legal/footer-legal.js.map +1 -0
- package/dist/collection/components/footer-logo/footer-logo.css +1 -0
- package/dist/collection/components/footer-logo/footer-logo.js +188 -0
- package/dist/collection/components/footer-logo/footer-logo.js.map +1 -0
- package/dist/collection/components/footer-social/footer-social.css +1 -0
- package/dist/collection/components/footer-social/footer-social.js +147 -0
- package/dist/collection/components/footer-social/footer-social.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 +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 +91 -8
- package/dist/collection/components/list/list.js.map +1 -1
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/loading/loading.js +1 -1
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/message/message.js +1 -1
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio/radio.js +36 -1
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.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/step-item/step-item.css +1 -1
- package/dist/collection/components/step-item/step-item.js +2 -2
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab-item/tab-item.js +1 -1
- package/dist/collection/components/table/table.css +1 -0
- package/dist/collection/components/table/table.js +77 -0
- package/dist/collection/components/table/table.js.map +1 -0
- package/dist/collection/components/table-cell/table-cell.css +1 -0
- package/dist/collection/components/table-cell/table-cell.js +171 -0
- package/dist/collection/components/table-cell/table-cell.js.map +1 -0
- package/dist/collection/components/table-header-cell/table-header-cell.css +1 -0
- package/dist/collection/components/table-header-cell/table-header-cell.js +164 -0
- package/dist/collection/components/table-header-cell/table-header-cell.js.map +1 -0
- package/dist/collection/components/table-header-row/table-header-row.css +1 -0
- package/dist/collection/components/table-header-row/table-header-row.js +77 -0
- package/dist/collection/components/table-header-row/table-header-row.js.map +1 -0
- package/dist/collection/components/table-row/table-row.css +1 -0
- package/dist/collection/components/table-row/table-row.js +69 -0
- package/dist/collection/components/table-row/table-row.js.map +1 -0
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +2 -2
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +1 -1
- package/dist/collection/pages/components/footer/index.js +18 -0
- package/dist/collection/pages/components/table/index.js +18 -0
- package/dist/collection/pages/scripts/menu.js +12 -2
- package/dist/collection/utils/css-variables.js +10 -0
- package/dist/collection/utils/css-variables.js.map +1 -0
- package/dist/collection/utils/helpers.js +17 -0
- package/dist/collection/utils/helpers.js.map +1 -0
- package/dist/collection/utils/types.js +2 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/components/br-avatar.js +3 -3
- package/dist/components/br-breadcrumb.js +29 -21
- package/dist/components/br-breadcrumb.js.map +1 -1
- package/dist/components/br-button.js +3 -3
- package/dist/components/br-checkbox.js +3 -3
- package/dist/components/br-checkgroup.js +3 -3
- package/dist/components/br-collapse.js +4 -171
- package/dist/components/br-collapse.js.map +1 -1
- package/dist/components/br-divider.js +4 -131
- package/dist/components/br-divider.js.map +1 -1
- package/dist/components/br-dropdown.js +2 -2
- package/dist/components/br-footer-category.d.ts +11 -0
- package/dist/components/br-footer-category.js +169 -0
- package/dist/components/br-footer-category.js.map +1 -0
- package/dist/components/br-footer-item.d.ts +11 -0
- package/dist/components/br-footer-item.js +95 -0
- package/dist/components/br-footer-item.js.map +1 -0
- package/dist/components/br-footer-legal.d.ts +11 -0
- package/dist/components/br-footer-legal.js +85 -0
- package/dist/components/br-footer-legal.js.map +1 -0
- package/dist/components/br-footer-logo.d.ts +11 -0
- package/dist/components/br-footer-logo.js +112 -0
- package/dist/components/br-footer-logo.js.map +1 -0
- package/dist/components/br-footer-social.d.ts +11 -0
- package/dist/components/br-footer-social.js +116 -0
- package/dist/components/br-footer-social.js.map +1 -0
- package/dist/components/br-footer.d.ts +11 -0
- package/dist/components/br-footer.js +113 -0
- package/dist/components/br-footer.js.map +1 -0
- package/dist/components/br-icon.js +4 -4
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-item.js +4 -4
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.js +3 -3
- package/dist/components/br-message.js +7 -7
- package/dist/components/br-radio.js +4 -4
- package/dist/components/br-select.js +33 -25
- package/dist/components/br-select.js.map +1 -1
- package/dist/components/br-step-item.js +18 -18
- package/dist/components/br-step.js +9 -9
- package/dist/components/br-switch.js +7 -7
- package/dist/components/br-tab-item.js +11 -11
- package/dist/components/br-tab.js +8 -8
- package/dist/components/br-table-cell.d.ts +11 -0
- package/dist/components/br-table-cell.js +118 -0
- package/dist/components/br-table-cell.js.map +1 -0
- package/dist/components/br-table-header-cell.d.ts +11 -0
- package/dist/components/br-table-header-cell.js +108 -0
- package/dist/components/br-table-header-cell.js.map +1 -0
- package/dist/components/br-table-header-row.d.ts +11 -0
- package/dist/components/br-table-header-row.js +76 -0
- package/dist/components/br-table-header-row.js.map +1 -0
- package/dist/components/br-table-row.d.ts +11 -0
- package/dist/components/br-table-row.js +69 -0
- package/dist/components/br-table-row.js.map +1 -0
- package/dist/components/br-table.d.ts +11 -0
- package/dist/components/br-table.js +86 -0
- package/dist/components/br-table.js.map +1 -0
- package/dist/components/br-tag.js +10 -10
- package/dist/components/br-textarea.js +10 -10
- package/dist/components/br-upload.js +13 -13
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.js +23 -1
- package/dist/components/p-6zXKXi1G.js +386 -0
- package/dist/components/{p-CyMSBO1R.js → p-BBbnZnbw.js} +3 -3
- package/dist/components/p-BRKK5nMe.js +22 -0
- package/dist/components/p-BRKK5nMe.js.map +1 -0
- package/dist/components/p-BUstn93c.js +190 -0
- package/dist/components/p-BUstn93c.js.map +1 -0
- package/dist/components/p-BccYWJTM.js +285 -0
- package/dist/components/p-C69qzP4f.js +2270 -0
- package/dist/components/p-YVVBeyHg.js +183 -0
- package/dist/components/p-YVVBeyHg.js.map +1 -0
- package/dist/components/p-ci-A1Ja3.js +207 -0
- package/dist/components/p-ci-A1Ja3.js.map +1 -0
- package/dist/components/p-fXOTnsCB.js +237 -0
- package/dist/components/p-fXOTnsCB.js.map +1 -0
- package/dist/components/p-lS-a0O7q.js +161 -0
- package/dist/components/p-lS-a0O7q.js.map +1 -0
- package/dist/components/p-netcRdpj.js +136 -0
- package/dist/components/p-netcRdpj.js.map +1 -0
- package/dist/custom-elements.json +3553 -2061
- package/dist/esm/br-avatar.entry.js +1 -1
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-breadcrumb.entry.js +1 -1
- package/dist/esm/br-breadcrumb.entry.js.map +1 -1
- package/dist/esm/br-button.br-icon.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +3 -3
- package/dist/esm/br-button_2.entry.js.map +1 -1
- package/dist/esm/br-checkbox.entry.js +9 -2
- package/dist/esm/br-checkbox.entry.js.map +1 -1
- package/dist/esm/br-checkgroup.entry.js +1 -1
- package/dist/esm/br-checkgroup.entry.js.map +1 -1
- package/dist/esm/br-collapse.br-list.entry.js.map +1 -0
- package/dist/esm/br-collapse_2.entry.js +283 -0
- package/dist/esm/br-collapse_2.entry.js.map +1 -0
- package/dist/esm/br-divider.entry.js +1 -1
- package/dist/esm/br-divider.entry.js.map +1 -1
- package/dist/esm/br-dropdown.entry.js +1 -1
- package/dist/esm/br-dropdown.entry.js.map +1 -1
- package/dist/esm/br-footer-category.entry.js +108 -0
- package/dist/esm/br-footer-category.entry.js.map +1 -0
- package/dist/esm/br-footer-item.entry.js +50 -0
- package/dist/esm/br-footer-item.entry.js.map +1 -0
- package/dist/esm/br-footer-legal.entry.js +41 -0
- package/dist/esm/br-footer-legal.entry.js.map +1 -0
- package/dist/esm/br-footer-logo.entry.js +72 -0
- package/dist/esm/br-footer-logo.entry.js.map +1 -0
- package/dist/esm/br-footer-social.entry.js +55 -0
- package/dist/esm/br-footer-social.entry.js.map +1 -0
- package/dist/esm/br-footer.entry.js +47 -0
- package/dist/esm/br-footer.entry.js.map +1 -0
- package/dist/esm/br-input.br-radio.entry.js.map +1 -1
- package/dist/esm/br-input_2.entry.js +33 -4
- package/dist/esm/br-input_2.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +2 -2
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-loading.entry.js +2 -2
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +2 -2
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-select.entry.js +2 -2
- package/dist/esm/br-select.entry.js.map +1 -1
- package/dist/esm/br-step-item.entry.js +2 -2
- package/dist/esm/br-step-item.entry.js.map +1 -1
- package/dist/esm/br-step.entry.js +2 -2
- package/dist/esm/br-step.entry.js.map +1 -1
- package/dist/esm/br-switch.entry.js +2 -2
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-tab-item.entry.js +2 -2
- package/dist/esm/br-tab-item.entry.js.map +1 -1
- package/dist/esm/br-tab.entry.js +2 -2
- package/dist/esm/br-tab.entry.js.map +1 -1
- package/dist/esm/br-table-cell.entry.js +79 -0
- package/dist/esm/br-table-cell.entry.js.map +1 -0
- package/dist/esm/br-table-header-cell.entry.js +68 -0
- package/dist/esm/br-table-header-cell.entry.js.map +1 -0
- package/dist/esm/br-table-header-row.entry.js +42 -0
- package/dist/esm/br-table-header-row.entry.js.map +1 -0
- package/dist/esm/br-table-row.entry.js +34 -0
- package/dist/esm/br-table-row.entry.js.map +1 -0
- package/dist/esm/br-table.entry.js +42 -0
- package/dist/esm/br-table.entry.js.map +1 -0
- package/dist/esm/br-tag.entry.js +3 -3
- package/dist/esm/br-tag.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +2 -2
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-upload.entry.js +2 -2
- package/dist/esm/br-upload.entry.js.map +1 -1
- package/dist/esm/helpers-BRKK5nMe.js +21 -0
- package/dist/esm/helpers-BRKK5nMe.js.map +1 -0
- package/dist/esm/index-ClsF4De3.js +50 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/hydrate/index.js +987 -104
- package/dist/hydrate/index.mjs +987 -104
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/collapse/collapse.d.ts +73 -9
- package/dist/types/components/footer/footer.d.ts +37 -0
- package/dist/types/components/footer-category/footer-category.d.ts +81 -0
- package/dist/types/components/footer-item/footer-item.d.ts +39 -0
- package/dist/types/components/footer-legal/footer-legal.d.ts +24 -0
- package/dist/types/components/footer-logo/footer-logo.d.ts +49 -0
- package/dist/types/components/footer-social/footer-social.d.ts +38 -0
- package/dist/types/components/list/list.d.ts +39 -1
- package/dist/types/components/radio/radio.d.ts +8 -0
- package/dist/types/components/table/table.d.ts +27 -0
- package/dist/types/components/table-cell/table-cell.d.ts +50 -0
- package/dist/types/components/table-header-cell/table-header-cell.d.ts +39 -0
- package/dist/types/components/table-header-row/table-header-row.d.ts +27 -0
- package/dist/types/components/table-row/table-row.d.ts +19 -0
- package/dist/types/components.d.ts +604 -10
- package/dist/types/utils/css-variables.d.ts +5 -0
- package/dist/types/utils/helpers.d.ts +8 -0
- package/dist/types/utils/types.d.ts +1 -0
- package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-checkbox.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-footer-category.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-footer-item.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-footer-legal.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-footer-logo.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-footer-social.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-footer.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-select.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-step-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-step.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tab-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tab.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-table-cell.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-table-header-row.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-table-row.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-table.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
- package/dist/webcomponents/p-0d558b53.entry.js +164 -0
- package/dist/webcomponents/p-1bb87e44.entry.js +178 -0
- package/dist/webcomponents/p-1bb87e44.entry.js.map +1 -0
- package/dist/webcomponents/p-264546b9.entry.js +72 -0
- package/dist/webcomponents/p-264546b9.entry.js.map +1 -0
- package/dist/webcomponents/p-290d85de.entry.js +61 -0
- package/dist/webcomponents/p-290d85de.entry.js.map +1 -0
- package/dist/webcomponents/p-2c34874f.entry.js +210 -0
- package/dist/webcomponents/p-2d0ea474.entry.js +52 -0
- package/dist/webcomponents/p-2d0ea474.entry.js.map +1 -0
- package/dist/webcomponents/p-2f53eae4.entry.js +79 -0
- package/dist/webcomponents/p-2f53eae4.entry.js.map +1 -0
- package/dist/webcomponents/p-329b8988.entry.js +167 -0
- package/dist/webcomponents/p-3565a60d.entry.js +153 -0
- package/dist/webcomponents/p-356d2ed1.entry.js +399 -0
- package/dist/webcomponents/p-356d2ed1.entry.js.map +1 -0
- package/dist/webcomponents/p-39b2018d.entry.js +149 -0
- package/dist/webcomponents/p-3dede3fc.entry.js +145 -0
- package/dist/webcomponents/p-43d52598.entry.js +376 -0
- package/dist/webcomponents/p-4a7f95ce.entry.js +255 -0
- package/dist/webcomponents/p-4f7a4a8c.entry.js +83 -0
- package/dist/webcomponents/p-4f7a4a8c.entry.js.map +1 -0
- package/dist/webcomponents/p-52f26deb.entry.js +484 -0
- package/dist/webcomponents/p-52f26deb.entry.js.map +1 -0
- package/dist/webcomponents/p-564e2ed1.entry.js +89 -0
- package/dist/webcomponents/p-564e2ed1.entry.js.map +1 -0
- package/dist/webcomponents/p-59eecde7.entry.js +343 -0
- package/dist/webcomponents/p-59eecde7.entry.js.map +1 -0
- package/dist/webcomponents/p-62527cde.entry.js +258 -0
- package/dist/webcomponents/p-774ba96e.entry.js +51 -0
- package/dist/webcomponents/p-774ba96e.entry.js.map +1 -0
- package/dist/webcomponents/p-7a41ff6c.entry.js +61 -0
- package/dist/webcomponents/p-7a41ff6c.entry.js.map +1 -0
- package/dist/webcomponents/p-7e15d753.entry.js +282 -0
- package/dist/webcomponents/p-8939b230.entry.js +297 -0
- package/dist/webcomponents/p-923d0ee2.entry.js +2369 -0
- package/dist/webcomponents/p-923d0ee2.entry.js.map +1 -0
- package/dist/webcomponents/p-9c435cb9.entry.js +88 -0
- package/dist/webcomponents/p-BRKK5nMe.js +22 -0
- package/dist/webcomponents/p-BRKK5nMe.js.map +1 -0
- package/dist/webcomponents/p-bf7f634f.entry.js +86 -0
- package/dist/webcomponents/p-bf7f634f.entry.js.map +1 -0
- package/dist/webcomponents/p-c473e6fd.entry.js +277 -0
- package/dist/webcomponents/p-c47722eb.entry.js +44 -0
- package/dist/webcomponents/p-c47722eb.entry.js.map +1 -0
- package/dist/webcomponents/p-ccbd8201.entry.js +105 -0
- package/dist/webcomponents/p-d8efe09f.entry.js +108 -0
- package/dist/webcomponents/p-e267327f.entry.js +141 -0
- package/dist/webcomponents/p-ee273dde.entry.js +117 -0
- package/dist/webcomponents/p-ee273dde.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +118 -73
- package/dist/webcomponents.html-custom-data.json +117 -4
- package/package.json +1 -1
- package/dist/cjs/br-collapse.cjs.entry.js +0 -100
- package/dist/cjs/br-collapse.cjs.entry.js.map +0 -1
- package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
- package/dist/cjs/br-list.cjs.entry.js +0 -90
- package/dist/cjs/br-list.cjs.entry.js.map +0 -1
- package/dist/cjs/br-list.entry.cjs.js.map +0 -1
- package/dist/components/p--CgLOCRx.js +0 -161
- package/dist/components/p--CgLOCRx.js.map +0 -1
- package/dist/components/p-BHVw1goI.js +0 -130
- package/dist/components/p-BHVw1goI.js.map +0 -1
- package/dist/components/p-BJMTHoO1.js +0 -166
- package/dist/components/p-BJMTHoO1.js.map +0 -1
- package/dist/components/p-BnUE1zRr.js +0 -2270
- package/dist/components/p-D8kzJA95.js +0 -386
- package/dist/components/p-UBBZzYz0.js +0 -285
- package/dist/components/p-XihAdNcR.js +0 -198
- package/dist/components/p-XihAdNcR.js.map +0 -1
- package/dist/esm/br-collapse.entry.js +0 -98
- package/dist/esm/br-collapse.entry.js.map +0 -1
- package/dist/esm/br-list.entry.js +0 -88
- package/dist/esm/br-list.entry.js.map +0 -1
- package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
- package/dist/webcomponents/br-list.entry.esm.js.map +0 -1
- package/dist/webcomponents/p-042418c1.entry.js +0 -282
- package/dist/webcomponents/p-266fd1cc.entry.js +0 -210
- package/dist/webcomponents/p-26a06008.entry.js +0 -277
- package/dist/webcomponents/p-39a05b09.entry.js +0 -105
- package/dist/webcomponents/p-4904fcbd.entry.js +0 -255
- package/dist/webcomponents/p-5ba2ffff.entry.js +0 -258
- package/dist/webcomponents/p-5c6f6d89.entry.js +0 -145
- package/dist/webcomponents/p-5c6f6d89.entry.js.map +0 -1
- package/dist/webcomponents/p-6e345cc1.entry.js +0 -164
- package/dist/webcomponents/p-74a30dda.entry.js +0 -145
- package/dist/webcomponents/p-8073b5fe.entry.js +0 -376
- package/dist/webcomponents/p-82421cdf.entry.js +0 -108
- package/dist/webcomponents/p-8525c0c3.entry.js +0 -149
- package/dist/webcomponents/p-86a0426b.entry.js +0 -111
- package/dist/webcomponents/p-86a0426b.entry.js.map +0 -1
- package/dist/webcomponents/p-ba1a8a96.entry.js +0 -141
- package/dist/webcomponents/p-c0c4e877.entry.js +0 -88
- package/dist/webcomponents/p-c9d64f24.entry.js +0 -169
- package/dist/webcomponents/p-c9d64f24.entry.js.map +0 -1
- package/dist/webcomponents/p-cb6a0614.entry.js +0 -153
- package/dist/webcomponents/p-e2ea234c.entry.js +0 -460
- package/dist/webcomponents/p-e2ea234c.entry.js.map +0 -1
- package/dist/webcomponents/p-e3880c54.entry.js +0 -167
- package/dist/webcomponents/p-e9979a59.entry.js +0 -2369
- package/dist/webcomponents/p-e9979a59.entry.js.map +0 -1
- package/dist/webcomponents/p-ebe00c81.entry.js +0 -297
- package/dist/webcomponents/p-fddc4ef2.entry.js +0 -399
- package/dist/webcomponents/p-fddc4ef2.entry.js.map +0 -1
- /package/dist/components/{p-D8kzJA95.js.map → p-6zXKXi1G.js.map} +0 -0
- /package/dist/components/{p-CyMSBO1R.js.map → p-BBbnZnbw.js.map} +0 -0
- /package/dist/components/{p-UBBZzYz0.js.map → p-BccYWJTM.js.map} +0 -0
- /package/dist/components/{p-BnUE1zRr.js.map → p-C69qzP4f.js.map} +0 -0
- /package/dist/webcomponents/{p-6e345cc1.entry.js.map → p-0d558b53.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-266fd1cc.entry.js.map → p-2c34874f.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-e3880c54.entry.js.map → p-329b8988.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-cb6a0614.entry.js.map → p-3565a60d.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8525c0c3.entry.js.map → p-39b2018d.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-74a30dda.entry.js.map → p-3dede3fc.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8073b5fe.entry.js.map → p-43d52598.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-4904fcbd.entry.js.map → p-4a7f95ce.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-5ba2ffff.entry.js.map → p-62527cde.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-042418c1.entry.js.map → p-7e15d753.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-ebe00c81.entry.js.map → p-8939b230.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c0c4e877.entry.js.map → p-9c435cb9.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-26a06008.entry.js.map → p-c473e6fd.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-39a05b09.entry.js.map → p-ccbd8201.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-82421cdf.entry.js.map → p-d8efe09f.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-ba1a8a96.entry.js.map → p-e267327f.entry.js.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* © https://serpro.gov.br/ - MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { h, Host } from "@stencil/core";
|
|
6
|
-
|
|
6
|
+
import Helpers from "../../utils/helpers";
|
|
7
7
|
/**
|
|
8
8
|
* O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.
|
|
9
9
|
*
|
|
@@ -24,68 +24,132 @@ export class Collapse {
|
|
|
24
24
|
* Identificador único.
|
|
25
25
|
* Caso não seja fornecido, um ID gerado automaticamente será usado.
|
|
26
26
|
*/
|
|
27
|
-
customId =
|
|
28
|
-
/**
|
|
27
|
+
customId = Helpers.generateUniqueId('clp');
|
|
28
|
+
/**
|
|
29
|
+
* Define se o collapse está aberto ou fechado.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
29
32
|
open = false;
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Define se o collapse faz parte de um accordion
|
|
35
|
+
* @default null
|
|
36
|
+
*/
|
|
37
|
+
accordionGroup = null;
|
|
38
|
+
/**
|
|
39
|
+
* Classe CSS para o ícone de expansão
|
|
40
|
+
* @default 'fa6-solid:chevron-down'
|
|
41
|
+
*/
|
|
33
42
|
iconToShow = 'fa6-solid:chevron-down';
|
|
34
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Classe CSS para o ícone de recolhimento
|
|
45
|
+
* @default 'fa6-solid:chevron-up'
|
|
46
|
+
*/
|
|
35
47
|
iconToHide = 'fa6-solid:chevron-up';
|
|
36
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Define a posição do ícone: 'left' ou 'right'
|
|
50
|
+
* @default 'right'
|
|
51
|
+
*/
|
|
37
52
|
iconPosition = 'right';
|
|
38
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* Evento emitido ao expandir.
|
|
55
|
+
*/
|
|
39
56
|
brDidOpen;
|
|
40
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Evento emitido ao recolher.
|
|
59
|
+
*/
|
|
41
60
|
brDidClose;
|
|
61
|
+
/**
|
|
62
|
+
* Evento disparado quando o componente é aberto.
|
|
63
|
+
* @param event Evento disparado quando o componente é aberto.
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* Handler para o evento de abertura do componente.
|
|
67
|
+
* Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.
|
|
68
|
+
* @param event Evento disparado quando o componente é aberto.
|
|
69
|
+
*/
|
|
70
|
+
handleOpen(event) {
|
|
71
|
+
if (this.accordionGroup &&
|
|
72
|
+
this.accordionGroup === event.detail.accordionGroup &&
|
|
73
|
+
event.detail.id !== this.customId) {
|
|
74
|
+
this.closeCollapse();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.
|
|
79
|
+
*/
|
|
42
80
|
componentWillLoad() {
|
|
43
81
|
this.syncDetailsWithOpen();
|
|
44
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Ciclo de vida do componente. Chamado quando o componente é removido do DOM.
|
|
85
|
+
*/
|
|
86
|
+
disconnectedCallback() {
|
|
87
|
+
const details = this.el.shadowRoot?.querySelector('details');
|
|
88
|
+
if (details !== null) {
|
|
89
|
+
details.removeEventListener('toggle', this.handleCollapse);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Sincroniza o estado do elemento <details> com a propriedade open.
|
|
94
|
+
* Isso garante que o estado visual do componente corresponda ao estado interno.
|
|
95
|
+
*/
|
|
45
96
|
syncDetailsWithOpen() {
|
|
46
97
|
const details = this.el.shadowRoot?.querySelector('details');
|
|
47
98
|
if (details !== null) {
|
|
48
99
|
details.open = this.open;
|
|
49
100
|
}
|
|
50
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Método chamado quando o elemento <details> é aberto ou fechado.
|
|
104
|
+
* Atualiza o estado interno do componente e emite eventos apropriados.
|
|
105
|
+
* @param event O evento de toggle do elemento <details>.
|
|
106
|
+
*/
|
|
51
107
|
handleCollapse = (event) => {
|
|
52
108
|
const details = event.target;
|
|
53
109
|
const isOpen = details.open;
|
|
54
|
-
if (this.accordionGroup && isOpen) {
|
|
55
|
-
const allItems = document.querySelectorAll(`br-collapse[accordion-group="${this.accordionGroup}"]`);
|
|
56
|
-
allItems.forEach((item) => {
|
|
57
|
-
if (item !== this.el) {
|
|
58
|
-
;
|
|
59
|
-
item.closeCollapse();
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
110
|
this.open = isOpen;
|
|
64
111
|
if (this.open) {
|
|
65
|
-
this.brDidOpen.emit({ id: this.customId });
|
|
112
|
+
this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
|
|
66
113
|
}
|
|
67
114
|
else {
|
|
68
|
-
this.brDidClose.emit({ id: this.customId });
|
|
115
|
+
this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
|
|
69
116
|
}
|
|
70
117
|
};
|
|
71
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* Método público para abrir.
|
|
120
|
+
* Este método pode ser chamado externamente para abrir o componente.
|
|
121
|
+
*/
|
|
72
122
|
async openCollapse() {
|
|
73
123
|
this.open = true;
|
|
74
124
|
this.syncDetailsWithOpen();
|
|
75
|
-
this.brDidOpen.emit({ id: this.customId });
|
|
125
|
+
this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
|
|
76
126
|
}
|
|
77
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Método público para fechar.
|
|
129
|
+
* Este método pode ser chamado externamente para fechar o componente.
|
|
130
|
+
*/
|
|
78
131
|
async closeCollapse() {
|
|
79
132
|
this.open = false;
|
|
80
133
|
this.syncDetailsWithOpen();
|
|
81
|
-
this.brDidClose.emit({ id: this.customId });
|
|
134
|
+
this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
|
|
82
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Renderiza o ícone de acordo com o estado do collapse.
|
|
138
|
+
* Se o collapse estiver aberto, renderiza o ícone para ocultar.
|
|
139
|
+
* Caso contrário, renderiza o ícone para mostrar.
|
|
140
|
+
* @returns JSX do ícone
|
|
141
|
+
*/
|
|
83
142
|
renderIcon() {
|
|
84
143
|
return h("br-icon", { "icon-name": this.open ? this.iconToHide : this.iconToShow });
|
|
85
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Renderiza o componente.
|
|
147
|
+
* O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.
|
|
148
|
+
* @returns JSX do componente.
|
|
149
|
+
*/
|
|
86
150
|
render() {
|
|
87
151
|
const itemCount = this.el.querySelectorAll('br-item').length;
|
|
88
|
-
return (h(Host, { key: '
|
|
152
|
+
return (h(Host, { key: '1a832a24006eb9f9a430783b5ba5f76e647b4ced' }, h("details", { key: 'c3daa16f5d23b0c9074b2c090b6c24db26bc36dc', class: "br-collapse", open: this.open, onToggle: this.handleCollapse, id: this.customId }, h("summary", { key: '1477adb677338705749b7fa5e6a0dd12e4cd1d3b', class: "trigger", role: "button", "aria-expanded": String(this.open), "aria-controls": `content-${this.customId}`, "aria-labelledby": `label-${this.customId}`, tabindex: "0", "aria-live": "polite" }, this.iconPosition === 'left' && this.renderIcon(), h("div", { key: '5478d4af34f5d76c6944fb164b7046f92fd92abc', class: "trigger-content", id: `label-${this.customId}` }, h("slot", { key: 'cc9b393aa5555e23037926f6d7fb3bd7a897b47b', name: "trigger" })), this.iconPosition === 'right' && this.renderIcon()), h("div", { key: 'b5b53ae0a57a603795e5ed3ee848c6325431d829', class: "content", id: `content-${this.customId}`, "aria-live": "polite", "aria-labelledby": `label-${this.customId}` }, this.open && itemCount > 0 && (h("div", { key: 'c394cf7b1d2f15ace669aecb5c1d1b9374cd77d9', class: "visually-hidden" }, itemCount, " ", itemCount === 1 ? 'item' : 'itens', " na lista")), h("slot", { key: 'ecbc97ea6ba79611b03c4d81103913ab7693c18c' })))));
|
|
89
153
|
}
|
|
90
154
|
static get is() { return "br-collapse"; }
|
|
91
155
|
static get encapsulation() { return "shadow"; }
|
|
@@ -120,7 +184,7 @@ export class Collapse {
|
|
|
120
184
|
"setter": false,
|
|
121
185
|
"attribute": "custom-id",
|
|
122
186
|
"reflect": true,
|
|
123
|
-
"defaultValue": "
|
|
187
|
+
"defaultValue": "Helpers.generateUniqueId('clp')"
|
|
124
188
|
},
|
|
125
189
|
"open": {
|
|
126
190
|
"type": "boolean",
|
|
@@ -133,8 +197,11 @@ export class Collapse {
|
|
|
133
197
|
"required": false,
|
|
134
198
|
"optional": false,
|
|
135
199
|
"docs": {
|
|
136
|
-
"tags": [
|
|
137
|
-
|
|
200
|
+
"tags": [{
|
|
201
|
+
"name": "default",
|
|
202
|
+
"text": "false"
|
|
203
|
+
}],
|
|
204
|
+
"text": "Define se o collapse est\u00E1 aberto ou fechado."
|
|
138
205
|
},
|
|
139
206
|
"getter": false,
|
|
140
207
|
"setter": false,
|
|
@@ -153,13 +220,17 @@ export class Collapse {
|
|
|
153
220
|
"required": false,
|
|
154
221
|
"optional": true,
|
|
155
222
|
"docs": {
|
|
156
|
-
"tags": [
|
|
223
|
+
"tags": [{
|
|
224
|
+
"name": "default",
|
|
225
|
+
"text": "null"
|
|
226
|
+
}],
|
|
157
227
|
"text": "Define se o collapse faz parte de um accordion"
|
|
158
228
|
},
|
|
159
229
|
"getter": false,
|
|
160
230
|
"setter": false,
|
|
161
231
|
"attribute": "accordion-group",
|
|
162
|
-
"reflect": false
|
|
232
|
+
"reflect": false,
|
|
233
|
+
"defaultValue": "null"
|
|
163
234
|
},
|
|
164
235
|
"iconToShow": {
|
|
165
236
|
"type": "string",
|
|
@@ -172,7 +243,10 @@ export class Collapse {
|
|
|
172
243
|
"required": false,
|
|
173
244
|
"optional": false,
|
|
174
245
|
"docs": {
|
|
175
|
-
"tags": [
|
|
246
|
+
"tags": [{
|
|
247
|
+
"name": "default",
|
|
248
|
+
"text": "'fa6-solid:chevron-down'"
|
|
249
|
+
}],
|
|
176
250
|
"text": "Classe CSS para o \u00EDcone de expans\u00E3o"
|
|
177
251
|
},
|
|
178
252
|
"getter": false,
|
|
@@ -192,7 +266,10 @@ export class Collapse {
|
|
|
192
266
|
"required": false,
|
|
193
267
|
"optional": false,
|
|
194
268
|
"docs": {
|
|
195
|
-
"tags": [
|
|
269
|
+
"tags": [{
|
|
270
|
+
"name": "default",
|
|
271
|
+
"text": "'fa6-solid:chevron-up'"
|
|
272
|
+
}],
|
|
196
273
|
"text": "Classe CSS para o \u00EDcone de recolhimento"
|
|
197
274
|
},
|
|
198
275
|
"getter": false,
|
|
@@ -212,7 +289,10 @@ export class Collapse {
|
|
|
212
289
|
"required": false,
|
|
213
290
|
"optional": false,
|
|
214
291
|
"docs": {
|
|
215
|
-
"tags": [
|
|
292
|
+
"tags": [{
|
|
293
|
+
"name": "default",
|
|
294
|
+
"text": "'right'"
|
|
295
|
+
}],
|
|
216
296
|
"text": "Define a posi\u00E7\u00E3o do \u00EDcone: 'left' ou 'right'"
|
|
217
297
|
},
|
|
218
298
|
"getter": false,
|
|
@@ -232,11 +312,11 @@ export class Collapse {
|
|
|
232
312
|
"composed": true,
|
|
233
313
|
"docs": {
|
|
234
314
|
"tags": [],
|
|
235
|
-
"text": "Evento emitido ao expandir"
|
|
315
|
+
"text": "Evento emitido ao expandir."
|
|
236
316
|
},
|
|
237
317
|
"complexType": {
|
|
238
|
-
"original": "{ id: string }",
|
|
239
|
-
"resolved": "{ id: string; }",
|
|
318
|
+
"original": "{ id: string; accordionGroup: string }",
|
|
319
|
+
"resolved": "{ id: string; accordionGroup: string; }",
|
|
240
320
|
"references": {}
|
|
241
321
|
}
|
|
242
322
|
}, {
|
|
@@ -247,11 +327,11 @@ export class Collapse {
|
|
|
247
327
|
"composed": true,
|
|
248
328
|
"docs": {
|
|
249
329
|
"tags": [],
|
|
250
|
-
"text": "Evento emitido ao recolher"
|
|
330
|
+
"text": "Evento emitido ao recolher."
|
|
251
331
|
},
|
|
252
332
|
"complexType": {
|
|
253
|
-
"original": "{ id: string }",
|
|
254
|
-
"resolved": "{ id: string; }",
|
|
333
|
+
"original": "{ id: string; accordionGroup: string }",
|
|
334
|
+
"resolved": "{ id: string; accordionGroup: string; }",
|
|
255
335
|
"references": {}
|
|
256
336
|
}
|
|
257
337
|
}];
|
|
@@ -271,7 +351,7 @@ export class Collapse {
|
|
|
271
351
|
"return": "Promise<void>"
|
|
272
352
|
},
|
|
273
353
|
"docs": {
|
|
274
|
-
"text": "M\u00E9todo p\u00FAblico para abrir",
|
|
354
|
+
"text": "M\u00E9todo p\u00FAblico para abrir.\nEste m\u00E9todo pode ser chamado externamente para abrir o componente.",
|
|
275
355
|
"tags": []
|
|
276
356
|
}
|
|
277
357
|
},
|
|
@@ -288,14 +368,22 @@ export class Collapse {
|
|
|
288
368
|
"return": "Promise<void>"
|
|
289
369
|
},
|
|
290
370
|
"docs": {
|
|
291
|
-
"text": "M\u00E9todo p\u00FAblico para fechar",
|
|
371
|
+
"text": "M\u00E9todo p\u00FAblico para fechar.\nEste m\u00E9todo pode ser chamado externamente para fechar o componente.",
|
|
292
372
|
"tags": []
|
|
293
373
|
}
|
|
294
374
|
}
|
|
295
375
|
};
|
|
296
376
|
}
|
|
297
377
|
static get elementRef() { return "el"; }
|
|
378
|
+
static get listeners() {
|
|
379
|
+
return [{
|
|
380
|
+
"name": "brDidOpen",
|
|
381
|
+
"method": "handleOpen",
|
|
382
|
+
"target": "document",
|
|
383
|
+
"capture": false,
|
|
384
|
+
"passive": false
|
|
385
|
+
}];
|
|
386
|
+
}
|
|
298
387
|
static get attachInternalsMemberName() { return "elementInternals"; }
|
|
299
388
|
}
|
|
300
|
-
let collapseId = 0;
|
|
301
389
|
//# sourceMappingURL=collapse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/collapse/collapse.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core'\n// import { CssClassMap } from '../../utils/interfaces'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCollapseElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-collapse-${collapseId++}`\n\n /** Define se o item está inicialmente aberto */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /** Define se o collapse faz parte de um accordion */\n @Prop() accordionGroup?: string\n\n /** Classe CSS para o ícone de expansão */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /** Classe CSS para o ícone de recolhimento */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /** Define a posição do ícone: 'left' ou 'right' */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /** Evento emitido ao expandir */\n @Event() brDidOpen: EventEmitter<{ id: string }>\n\n /** Evento emitido ao recolher */\n @Event() brDidClose: EventEmitter<{ id: string }>\n\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n if (this.accordionGroup && isOpen) {\n const allItems = document.querySelectorAll(`br-collapse[accordion-group=\"${this.accordionGroup}\"]`)\n allItems.forEach((item) => {\n if (item !== this.el) {\n ;(item as HTMLBrCollapseElement).closeCollapse()\n }\n })\n }\n this.open = isOpen\n if (this.open) {\n this.brDidOpen.emit({ id: this.customId })\n } else {\n this.brDidClose.emit({ id: this.customId })\n }\n }\n\n /** Método público para abrir */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n this.brDidOpen.emit({ id: this.customId })\n }\n\n /** Método público para fechar */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId })\n }\n\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n\nlet collapseId = 0\n"]}
|
|
1
|
+
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/collapse/collapse.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCollapseElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('clp')\n\n /**\n * Define se o collapse está aberto ou fechado.\n * @default false\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /**\n * Define se o collapse faz parte de um accordion\n * @default null\n */\n @Prop() accordionGroup?: string = null\n\n /**\n * Classe CSS para o ícone de expansão\n * @default 'fa6-solid:chevron-down'\n */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /**\n * Classe CSS para o ícone de recolhimento\n * @default 'fa6-solid:chevron-up'\n */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /**\n * Define a posição do ícone: 'left' ou 'right'\n * @default 'right'\n */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /**\n * Evento emitido ao expandir.\n */\n @Event() brDidOpen: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento emitido ao recolher.\n */\n @Event() brDidClose: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento disparado quando o componente é aberto.\n * @param event Evento disparado quando o componente é aberto.\n */\n @Listen('brDidOpen', { target: 'document' })\n /**\n * Handler para o evento de abertura do componente.\n * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.\n * @param event Evento disparado quando o componente é aberto.\n */\n handleOpen(event: CustomEvent) {\n if (\n this.accordionGroup &&\n this.accordionGroup === event.detail.accordionGroup &&\n event.detail.id !== this.customId\n ) {\n this.closeCollapse()\n }\n }\n\n /**\n * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.\n */\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n /**\n * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.removeEventListener('toggle', this.handleCollapse)\n }\n }\n\n /**\n * Sincroniza o estado do elemento <details> com a propriedade open.\n * Isso garante que o estado visual do componente corresponda ao estado interno.\n */\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n /**\n * Método chamado quando o elemento <details> é aberto ou fechado.\n * Atualiza o estado interno do componente e emite eventos apropriados.\n * @param event O evento de toggle do elemento <details>.\n */\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n this.open = isOpen\n if (this.open) {\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n } else {\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n }\n\n /**\n * Método público para abrir.\n * Este método pode ser chamado externamente para abrir o componente.\n */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Método público para fechar.\n * Este método pode ser chamado externamente para fechar o componente.\n */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Renderiza o ícone de acordo com o estado do collapse.\n * Se o collapse estiver aberto, renderiza o ícone para ocultar.\n * Caso contrário, renderiza o ícone para mostrar.\n * @returns JSX do ícone\n */\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n /**\n * Renderiza o componente.\n * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.\n * @returns JSX do componente.\n */\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n"]}
|