@govbr-ds/webcomponents 2.0.0-next.34 → 2.0.0-next.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/br-avatar.cjs.entry.js +1 -1
- package/dist/cjs/br-avatar.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 +2 -2
- package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +1 -1
- 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.cjs.entry.js +1 -1
- package/dist/cjs/br-collapse.cjs.entry.js.map +1 -1
- package/dist/cjs/br-collapse.entry.cjs.js.map +1 -1
- 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-input.br-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/br-input_2.cjs.entry.js +2 -2
- package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +1 -1
- 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-list.cjs.entry.js +1 -1
- package/dist/cjs/br-list.cjs.entry.js.map +1 -1
- package/dist/cjs/br-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +1 -1
- 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 +1 -1
- 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 +69 -42
- 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 +244 -0
- package/dist/cjs/br-step-item.cjs.entry.js.map +1 -0
- package/dist/cjs/br-step-item.entry.cjs.js.map +1 -0
- package/dist/cjs/br-step.cjs.entry.js +282 -0
- package/dist/cjs/br-step.cjs.entry.js.map +1 -0
- package/dist/cjs/br-step.entry.cjs.js.map +1 -0
- 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-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/index-C5PKqcRm.js +8 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/button/button.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/divider/divider.css +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +72 -45
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/{webcomponents/p-df5400e2.entry.js → collection/components/step/step.css} +1 -140
- package/dist/collection/components/step/step.js +545 -0
- package/dist/collection/components/step/step.js.map +1 -0
- package/dist/{webcomponents/p-cc4c57d8.entry.js → collection/components/step-item/step-item.css} +1 -144
- package/dist/collection/components/step-item/step-item.js +550 -0
- package/dist/collection/components/step-item/step-item.js.map +1 -0
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- 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/textarea/textarea.js.map +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/select/index.js +18 -0
- package/dist/collection/pages/components/step/index.js +33 -0
- package/dist/collection/pages/scripts/menu.js +7 -1
- package/dist/collection/pages/scripts/pageLoader.js +3 -16
- package/dist/components/br-avatar.js +6 -6
- package/dist/components/br-breadcrumb.js +5 -5
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-checkbox.js +3 -3
- package/dist/components/br-checkgroup.js +5 -5
- package/dist/components/br-collapse.js +2 -2
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-icon.js +3 -3
- package/dist/components/br-input.js +4 -4
- package/dist/components/br-item.js +3 -3
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.js +4 -4
- package/dist/components/br-message.js +3 -3
- package/dist/components/br-radio.js +3 -3
- package/dist/components/br-select.js +81 -50
- package/dist/components/br-select.js.map +1 -1
- package/dist/components/br-step-item.d.ts +11 -0
- package/dist/components/br-step-item.js +335 -0
- package/dist/components/br-step-item.js.map +1 -0
- package/dist/components/br-step.d.ts +11 -0
- package/dist/components/br-step.js +312 -0
- package/dist/components/br-step.js.map +1 -0
- package/dist/components/br-switch.js +6 -6
- package/dist/components/br-tag.js +14 -14
- package/dist/components/br-textarea.js +10 -10
- package/dist/components/br-textarea.js.map +1 -1
- package/dist/components/br-upload.js +12 -12
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/p-BUAXx2fX.js +129 -0
- package/dist/components/p-C1G4wYL7.js +173 -0
- package/dist/components/p-Cf1VoqB7.js +197 -0
- package/dist/components/p-D3sFUq_f.js +284 -0
- package/dist/components/p-DJC0NAoD.js +153 -0
- package/dist/components/p-DlpHRT0g.js +385 -0
- package/dist/components/{p-BPq5El3u.js → p-Dne-S1Hl.js} +3 -3
- 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 +2 -2
- package/dist/esm/br-button_2.entry.js.map +1 -1
- package/dist/esm/br-checkbox.entry.js +1 -1
- 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.entry.js +1 -1
- package/dist/esm/br-collapse.entry.js.map +1 -1
- 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-input.br-radio.entry.js.map +1 -1
- package/dist/esm/br-input_2.entry.js +2 -2
- package/dist/esm/br-input_2.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +1 -1
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-list.entry.js +1 -1
- package/dist/esm/br-list.entry.js.map +1 -1
- package/dist/esm/br-loading.entry.js +1 -1
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +1 -1
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-select.entry.js +69 -42
- package/dist/esm/br-select.entry.js.map +1 -1
- package/dist/esm/br-step-item.entry.js +242 -0
- package/dist/esm/br-step-item.entry.js.map +1 -0
- package/dist/esm/br-step.entry.js +280 -0
- package/dist/esm/br-step.entry.js.map +1 -0
- package/dist/esm/br-switch.entry.js +2 -2
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-tag.entry.js +3 -3
- package/dist/esm/br-tag.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +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/index-CAyrQrUt.js +8 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/esm-es5/br-avatar.entry.js +1 -1
- package/dist/esm-es5/br-avatar.entry.js.map +1 -1
- package/dist/esm-es5/br-breadcrumb.entry.js +1 -1
- package/dist/esm-es5/br-breadcrumb.entry.js.map +1 -1
- package/dist/esm-es5/br-button.br-icon.entry.js.map +1 -1
- package/dist/esm-es5/br-button_2.entry.js +158 -158
- package/dist/esm-es5/br-checkbox.entry.js +1 -1
- package/dist/esm-es5/br-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/br-checkgroup.entry.js +1 -1
- package/dist/esm-es5/br-checkgroup.entry.js.map +1 -1
- package/dist/esm-es5/br-collapse.entry.js +1 -1
- package/dist/esm-es5/br-collapse.entry.js.map +1 -1
- package/dist/esm-es5/br-divider.entry.js +1 -1
- package/dist/esm-es5/br-divider.entry.js.map +1 -1
- package/dist/esm-es5/br-dropdown.entry.js +1 -1
- package/dist/esm-es5/br-dropdown.entry.js.map +1 -1
- package/dist/esm-es5/br-input.br-radio.entry.js.map +1 -1
- package/dist/esm-es5/br-input_2.entry.js +23 -23
- package/dist/esm-es5/br-item.entry.js +1 -1
- package/dist/esm-es5/br-item.entry.js.map +1 -1
- package/dist/esm-es5/br-list.entry.js +1 -1
- package/dist/esm-es5/br-list.entry.js.map +1 -1
- package/dist/esm-es5/br-loading.entry.js +1 -1
- package/dist/esm-es5/br-loading.entry.js.map +1 -1
- package/dist/esm-es5/br-message.entry.js +1 -1
- package/dist/esm-es5/br-message.entry.js.map +1 -1
- package/dist/esm-es5/br-select.entry.js +120 -69
- package/dist/esm-es5/br-select.entry.js.map +1 -1
- package/dist/esm-es5/br-step-item.entry.js +419 -0
- package/dist/esm-es5/br-step-item.entry.js.map +1 -0
- package/dist/esm-es5/br-step.entry.js +431 -0
- package/dist/esm-es5/br-step.entry.js.map +1 -0
- package/dist/esm-es5/br-switch.entry.js +6 -6
- package/dist/esm-es5/br-switch.entry.js.map +1 -1
- package/dist/esm-es5/br-tag.entry.js +7 -7
- package/dist/esm-es5/br-tag.entry.js.map +1 -1
- package/dist/esm-es5/br-textarea.entry.js +10 -10
- package/dist/esm-es5/br-textarea.entry.js.map +1 -1
- package/dist/esm-es5/br-upload.entry.js +10 -10
- package/dist/esm-es5/br-upload.entry.js.map +1 -1
- package/dist/esm-es5/index-CAyrQrUt.js +23 -13
- package/dist/esm-es5/loader.js +37 -1
- package/dist/esm-es5/webcomponents.js +61 -25
- package/dist/hydrate/index.js +659 -66
- package/dist/hydrate/index.mjs +659 -66
- package/dist/types/components/select/select.d.ts +30 -4
- package/dist/types/components/step/step.d.ts +103 -0
- package/dist/types/components/step-item/step-item.d.ts +102 -0
- package/dist/types/components.d.ts +253 -4
- 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.entry.esm.js.map +1 -1
- 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-input.br-radio.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-list.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 -0
- package/dist/webcomponents/br-step.entry.esm.js.map +1 -0
- package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
- package/dist/webcomponents/p-019ce02a.entry.js +163 -0
- package/dist/webcomponents/p-0e81892b.system.entry.js +280 -0
- package/dist/webcomponents/p-121547cd.entry.js +87 -0
- package/dist/webcomponents/p-1e63a10d.system.entry.js +293 -0
- package/dist/webcomponents/{p-6b505a38.system.entry.js.map → p-1e63a10d.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-302f5fbd.system.entry.js +428 -0
- package/dist/webcomponents/p-302f5fbd.system.entry.js.map +1 -0
- package/dist/webcomponents/p-3221d882.entry.js +281 -0
- package/dist/webcomponents/p-3221d882.entry.js.map +1 -0
- package/dist/webcomponents/p-32ca900a.entry.js +166 -0
- package/dist/webcomponents/{p-6e166dac.entry.js.map → p-32ca900a.entry.js.map} +1 -1
- package/dist/webcomponents/p-352c7312.system.entry.js +235 -0
- package/dist/webcomponents/p-36194f7c.entry.js +254 -0
- package/dist/webcomponents/p-3e073649.system.entry.js +121 -0
- package/dist/webcomponents/p-4c3c46ca.entry.js +152 -0
- package/dist/webcomponents/p-4c6733a1.system.entry.js +440 -0
- package/dist/webcomponents/p-4c6733a1.system.entry.js.map +1 -0
- package/dist/webcomponents/p-58a6aab1.system.entry.js +157 -0
- package/dist/webcomponents/p-69b18bcc.entry.js +104 -0
- package/dist/webcomponents/p-76426a2e.entry.js +144 -0
- package/dist/webcomponents/p-79aa414c.system.entry.js +425 -0
- package/dist/webcomponents/p-79e747c1.entry.js +168 -0
- package/dist/webcomponents/p-7dd4f2a5.system.entry.js +93 -0
- package/dist/webcomponents/{p-1dcPc0rI.system.js.map → p-7tDq9qWy.system.js.map} +1 -1
- package/dist/webcomponents/p-83f55139.entry.js +148 -0
- package/dist/webcomponents/p-84f8edae.entry.js +110 -0
- package/dist/webcomponents/p-928b76d0.entry.js +209 -0
- package/dist/webcomponents/{p-Ct3ex90V.system.js.map → p-9wCtgwp6.system.js.map} +1 -1
- package/dist/webcomponents/{p-thasv5yZ.system.js.map → p-B3wPFyS5.system.js.map} +1 -1
- package/dist/webcomponents/{p-BqvdZkL7.system.js.map → p-B9GHNpiJ.system.js.map} +1 -1
- package/dist/webcomponents/{p-usq43hTj.system.js.map → p-BXpIEO27.system.js.map} +1 -1
- package/dist/webcomponents/{p-D86s8ueb.system.js.map → p-BXsqNLmg.system.js.map} +1 -1
- package/dist/webcomponents/p-Bhwl8CRi.system.js +77 -41
- package/dist/webcomponents/{p-C_4ySWyP.system.js.map → p-BoK6TcDE.system.js.map} +1 -1
- package/dist/webcomponents/p-BwFsTqJ9.system.js.map +1 -0
- package/dist/webcomponents/{p-MDfQKKJ3.system.js.map → p-ByHGgMEG.system.js.map} +1 -1
- package/dist/webcomponents/p-CD1bwFZi.system.js.map +1 -0
- package/dist/webcomponents/{p-wytm5zt0.system.js.map → p-CVHsq8dp.system.js.map} +1 -1
- package/dist/webcomponents/{p-B90gByRD.system.js.map → p-CgEwLRss.system.js.map} +1 -1
- package/dist/webcomponents/{p-DFVDihQu.system.js.map → p-CgegvyhC.system.js.map} +1 -1
- package/dist/webcomponents/{p-BNl1VeC2.system.js.map → p-D5FcCD9L.system.js.map} +1 -1
- package/dist/webcomponents/{p-mh9IZoxC.system.js.map → p-DFnGIoqM.system.js.map} +1 -1
- package/dist/webcomponents/{p-YAlbMep3.system.js.map → p-DTG-5_9_.system.js.map} +1 -1
- package/dist/webcomponents/{p-dwDliNFd.system.js.map → p-K5tFZU2o.system.js.map} +1 -1
- package/dist/webcomponents/p-X9v1LZix.system.js.map +1 -0
- package/dist/webcomponents/p-a29ef881.system.entry.js +2386 -0
- package/dist/webcomponents/p-b3e7180f.system.entry.js +515 -0
- package/dist/webcomponents/p-b9b466b2.system.entry.js +116 -0
- package/dist/webcomponents/p-ba1c6153.system.entry.js +278 -0
- package/dist/webcomponents/p-c0a85892.entry.js +398 -0
- package/dist/webcomponents/p-c2f4ab31.entry.js +144 -0
- package/dist/webcomponents/p-c422755c.entry.js +388 -0
- package/dist/webcomponents/p-c422755c.entry.js.map +1 -0
- package/dist/webcomponents/p-cb5ebcb6.system.entry.js +254 -0
- package/dist/webcomponents/p-d33ec3ae.entry.js +140 -0
- package/dist/webcomponents/p-d36f650d.system.entry.js +155 -0
- package/dist/webcomponents/p-d52fbba3.system.entry.js +251 -0
- package/dist/webcomponents/p-dbba1627.system.entry.js +282 -0
- package/dist/webcomponents/p-ddce5a0b.entry.js +467 -0
- package/dist/webcomponents/p-e4e2fd4f.entry.js +257 -0
- package/dist/webcomponents/p-eb06a6e1.entry.js +2361 -0
- package/dist/webcomponents/p-ee3853d3.system.entry.js +151 -0
- package/dist/webcomponents/p-f8262121.system.entry.js +251 -0
- package/dist/webcomponents/p-fd191bf0.entry.js +278 -0
- package/dist/webcomponents/p-fd191bf0.entry.js.map +1 -0
- package/dist/webcomponents/p-fe37ebb6.system.entry.js +575 -0
- package/dist/webcomponents/p-fe37ebb6.system.entry.js.map +1 -0
- package/dist/webcomponents/{p-BeMhoFbq.system.js.map → p-gTDesSZK.system.js.map} +1 -1
- package/dist/webcomponents/{p-Dde15d6z.system.js.map → p-oLikpHRj.system.js.map} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +56 -20
- package/package.json +1 -1
- package/dist/components/p-4n7uz3ik.js +0 -173
- package/dist/components/p-B27qgEvJ.js +0 -284
- package/dist/components/p-D27CYIFW.js +0 -153
- package/dist/components/p-D6xl9W7Q.js +0 -385
- package/dist/components/p-DGRJ0cGS.js +0 -197
- package/dist/components/p-Dt9PiOfU.js +0 -129
- package/dist/webcomponents/p-06f7eeff.system.entry.js +0 -254
- package/dist/webcomponents/p-0b4b4c3c.system.entry.js +0 -235
- package/dist/webcomponents/p-0baea87b.system.entry.js +0 -157
- package/dist/webcomponents/p-15208deb.system.entry.js +0 -282
- package/dist/webcomponents/p-24ffcc2b.system.entry.js +0 -524
- package/dist/webcomponents/p-24ffcc2b.system.entry.js.map +0 -1
- package/dist/webcomponents/p-27378f51.system.entry.js +0 -251
- package/dist/webcomponents/p-37837c94.entry.js +0 -144
- package/dist/webcomponents/p-3a508420.system.entry.js +0 -425
- package/dist/webcomponents/p-3f0965c1.entry.js +0 -168
- package/dist/webcomponents/p-4c5b3ba6.entry.js +0 -254
- package/dist/webcomponents/p-5417fc76.system.entry.js +0 -121
- package/dist/webcomponents/p-55be3a1b.entry.js +0 -87
- package/dist/webcomponents/p-58c537dc.system.entry.js +0 -155
- package/dist/webcomponents/p-5e68b68a.system.entry.js +0 -515
- package/dist/webcomponents/p-64088f4f.entry.js +0 -398
- package/dist/webcomponents/p-689dffab.entry.js +0 -257
- package/dist/webcomponents/p-6b505a38.system.entry.js +0 -293
- package/dist/webcomponents/p-6e166dac.entry.js +0 -166
- package/dist/webcomponents/p-703d9fdd.entry.js +0 -209
- package/dist/webcomponents/p-70b7a2e1.system.entry.js +0 -93
- package/dist/webcomponents/p-817f83ec.entry.js +0 -148
- package/dist/webcomponents/p-8326e9aa.entry.js +0 -110
- package/dist/webcomponents/p-91c947d6.entry.js +0 -152
- package/dist/webcomponents/p-9e243fa3.entry.js +0 -2361
- package/dist/webcomponents/p-be24a356.entry.js +0 -357
- package/dist/webcomponents/p-be24a356.entry.js.map +0 -1
- package/dist/webcomponents/p-c17f8737.entry.js +0 -104
- package/dist/webcomponents/p-c50854a2.system.entry.js +0 -151
- package/dist/webcomponents/p-c51e88c5.system.entry.js +0 -280
- package/dist/webcomponents/p-d335142c.entry.js +0 -467
- package/dist/webcomponents/p-da852ece.system.entry.js +0 -278
- package/dist/webcomponents/p-daf44e2e.system.entry.js +0 -116
- package/dist/webcomponents/p-de7e8ab8.entry.js +0 -163
- package/dist/webcomponents/p-fa6f51fa.system.entry.js +0 -251
- package/dist/webcomponents/p-fcb2845b.system.entry.js +0 -2386
- package/dist/webcomponents/p-s9klvrRa.system.js.map +0 -1
- /package/dist/components/{p-Dt9PiOfU.js.map → p-BUAXx2fX.js.map} +0 -0
- /package/dist/components/{p-4n7uz3ik.js.map → p-C1G4wYL7.js.map} +0 -0
- /package/dist/components/{p-DGRJ0cGS.js.map → p-Cf1VoqB7.js.map} +0 -0
- /package/dist/components/{p-B27qgEvJ.js.map → p-D3sFUq_f.js.map} +0 -0
- /package/dist/components/{p-D27CYIFW.js.map → p-DJC0NAoD.js.map} +0 -0
- /package/dist/components/{p-D6xl9W7Q.js.map → p-DlpHRT0g.js.map} +0 -0
- /package/dist/components/{p-BPq5El3u.js.map → p-Dne-S1Hl.js.map} +0 -0
- /package/dist/webcomponents/{p-de7e8ab8.entry.js.map → p-019ce02a.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c51e88c5.system.entry.js.map → p-0e81892b.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-55be3a1b.entry.js.map → p-121547cd.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-0b4b4c3c.system.entry.js.map → p-352c7312.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-4c5b3ba6.entry.js.map → p-36194f7c.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-5417fc76.system.entry.js.map → p-3e073649.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-91c947d6.entry.js.map → p-4c3c46ca.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-0baea87b.system.entry.js.map → p-58a6aab1.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c17f8737.entry.js.map → p-69b18bcc.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-37837c94.entry.js.map → p-76426a2e.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-3a508420.system.entry.js.map → p-79aa414c.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-3f0965c1.entry.js.map → p-79e747c1.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-70b7a2e1.system.entry.js.map → p-7dd4f2a5.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-817f83ec.entry.js.map → p-83f55139.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8326e9aa.entry.js.map → p-84f8edae.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-703d9fdd.entry.js.map → p-928b76d0.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-fcb2845b.system.entry.js.map → p-a29ef881.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-5e68b68a.system.entry.js.map → p-b3e7180f.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-daf44e2e.system.entry.js.map → p-b9b466b2.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-da852ece.system.entry.js.map → p-ba1c6153.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-64088f4f.entry.js.map → p-c0a85892.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-cc4c57d8.entry.js.map → p-c2f4ab31.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-06f7eeff.system.entry.js.map → p-cb5ebcb6.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-df5400e2.entry.js.map → p-d33ec3ae.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-58c537dc.system.entry.js.map → p-d36f650d.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-27378f51.system.entry.js.map → p-d52fbba3.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-15208deb.system.entry.js.map → p-dbba1627.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-d335142c.entry.js.map → p-ddce5a0b.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-689dffab.entry.js.map → p-e4e2fd4f.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-9e243fa3.entry.js.map → p-eb06a6e1.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-c50854a2.system.entry.js.map → p-ee3853d3.system.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-fa6f51fa.system.entry.js.map → p-f8262121.system.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-wytm5zt0.system.js","sources":["../../packages/webcomponents/src/components/breadcrumb/breadcrumb.scss?tag=br-breadcrumb&encapsulation=shadow","../../packages/webcomponents/src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/breadcrumb/breadcrumb\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n}\n\n:host(:hover) {\n .tooltip-box {\n opacity: 1;\n }\n}\n\n.br-breadcrumb {\n .br-icon {\n color: #cccccc;\n }\n\n .br-icon,\n .mobile-active-page {\n display: flex;\n align-items: center;\n }\n\n .mobile-crumb-list {\n display: none;\n position: absolute;\n width: 200px;\n box-shadow: var(--surface-shadow-sm);\n }\n\n .mobile-crumb-list.show {\n display: block;\n top: 100%;\n z-index: 999;\n }\n\n .buttonFolderGroup,\n .buttonFolderGroup span {\n display: flex;\n align-items: center;\n }\n\n .mobile-active-page span:focus:focus-visible {\n outline-color: var(--focus);\n outline-offset: var(--focus-offset);\n outline-style: var(--focus-style);\n outline-width: var(--focus-width);\n }\n}\n\n.crumb {\n display: flex;\n align-items: center;\n\n span {\n display: flex;\n align-items: center;\n }\n}\n\n// tooltip\n\n.tooltip-box {\n position: fixed;\n background: #1351b4;\n color: #fff;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translate(-50%, -100%);\n pointer-events: none;\n z-index: 9999;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid #1351b4;\n }\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\ninterface BreadcrumbItem {\n label: string\n url?: string\n target?: string\n home?: boolean\n active?: boolean\n}\n@Component({\n tag: 'br-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb {\n @Element() el: HTMLBrBreadcrumbElement\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-breadcrumb-${breadcrumbId++}`\n\n /**\n * URL para home.\n * Caso não seja fornecido, o valor padrão será /.\n */\n @Prop() homeUrl: string = '/'\n\n /**\n * Define o array de objetos que receberá os nomes e links do breadcrumb.\n * Define valor padrão do breadcrumb 'defaultCrumbs'.\n */\n @Prop() crumbs: string | BreadcrumbItem[]\n\n private defaultCrumbs: BreadcrumbItem[] = [\n { label: 'Página 01', url: '/pagina-01' },\n { label: 'Página 02', url: '/pagina-02' },\n { label: 'Página Atual', active: true },\n ]\n\n /**\n * Define o estado oculto ou visível do tooltip.\n */\n @State() showTooltip: boolean = false\n\n /**\n * Define o posicionamento do tooltip na tela.\n */\n @State() tooltipPosition: { x: number; y: number } = { x: 0, y: 0 }\n\n /**\n * Define o texto do tooltip.\n */\n @State() tooltipText: string = ''\n\n /**\n * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile.\n * No formato mobile o breadcrumb apresenta um comportamento específico.\n */\n @State() isSmallScreen: boolean = false\n\n /**\n * Define se o breadcrumb deve truncar os itens por falta de espaço.\n */\n @State() isTruncate: boolean = false\n\n /**\n * Largura interna dos itens do breadcrumb.\n */\n @State() larguraInterna: number = 0\n\n /**\n * Largura do container pai do breadcrumb.\n */\n @State() larguraPai: number = 0\n\n /**\n * Define o estado do botão 'Folder'.\n * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'.\n * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'.\n */\n @State() isFolderOpen: boolean = false\n\n /**\n * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo.\n * O número de caracteres pode ser configurado na variável 'charactersNumberTruncate'.\n */\n private trunc(word: string) {\n return word.length > charactersNumberTruncate ? `${word.slice(0, charactersNumberTruncate)}...` : word\n }\n\n /**\n * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'.\n */\n private handleMouseOver(event: MouseEvent, text: string) {\n const target = event.target as HTMLElement | null\n if (!target) return\n\n const rect = target.getBoundingClientRect()\n this.tooltipPosition = { x: rect.left + rect.width / 2, y: rect.top - 10 }\n\n if (text.length > charactersNumberTruncate) {\n this.tooltipText = text\n this.showTooltip = true\n }\n }\n\n /**\n * Esconde o tooltip caso o usuário realize o 'mouse out'.\n */\n private handleMouseOut() {\n this.showTooltip = false\n }\n\n /**\n * Converte de string para JSON o valor passado na propriedade 'crumbs'.\n * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido\n */\n private getParsedItems(): BreadcrumbItem[] {\n if (!this.crumbs || this.crumbs === '') {\n return this.defaultCrumbs\n }\n\n try {\n const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs\n return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs\n } catch {\n console.error('Invalid JSON format for crumbs:', this.crumbs)\n return this.defaultCrumbs\n }\n }\n\n /**\n * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'.\n */\n private handleHomeClick() {\n window.location.href = this.homeUrl\n }\n\n /**\n * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada.\n */\n private toggleFolder() {\n this.isFolderOpen = !this.isFolderOpen\n }\n\n /**\n * Define as classes CSS usadas no breadcrumb.\n */\n private getCssClassMap(): { [key: string]: boolean } {\n return {\n 'br-breadcrumb': true,\n small: this.isSmallScreen,\n }\n }\n\n /**\n * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px.\n */\n private resizeObserver: ResizeObserver\n\n /**\n * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai.\n */\n private updateContainerSize = (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const containerWidth = entry.contentRect.width\n this.isSmallScreen = containerWidth < 570\n this.larguraPai = containerWidth\n this.calcularLarguraItens()\n }\n }\n\n /**\n * Adiciona o 'resizeObserver' para checar o tamanho do container pai.\n */\n connectedCallback() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.updateContainerSize)\n if (this.el.parentElement !== null) {\n this.resizeObserver.observe(this.el.parentElement)\n }\n }\n }\n\n /**\n * Remove o 'resizeObserver'.\n */\n disconnectedCallback() {\n if (this.resizeObserver != null) {\n this.resizeObserver.disconnect()\n }\n }\n\n /**\n * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento.\n */\n private calcularLarguraItens() {\n requestAnimationFrame(() => {\n const itens = this.el.shadowRoot?.querySelectorAll('.crumb, .mobile-active-page, br-item')\n if (itens) {\n let totalWidth = 0\n itens.forEach((item) => {\n totalWidth += (item as HTMLElement).getBoundingClientRect().width\n })\n this.larguraInterna = totalWidth\n this.isTruncate = this.larguraInterna > this.larguraPai\n }\n })\n }\n\n /**\n * Executa cálculos de largura após o componente ser carregado.\n */\n componentDidLoad() {\n this.calcularLarguraItens()\n }\n\n /**\n * Renderiza botão Home\n */\n private renderHomeButton() {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isSmallScreen ? 'Exibir lista de páginas' : 'Voltar para Home'}\n onClick={this.isSmallScreen ? () => this.toggleFolder() : () => this.handleHomeClick()}\n >\n <br-icon icon-name={`${this.isSmallScreen ? buttonFolderClass : 'fa6-solid:house'}`}></br-icon>\n </br-button>\n )\n }\n\n /**\n * Renderiza botão Folder no comportamento truncado\n */\n private renderTruncateButton() {\n if (this.isTruncate && !this.isSmallScreen) {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <div class=\"buttonFolderGroup\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas'}\n onClick={() => this.toggleFolder()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <br-icon icon-name={buttonFolderClass}></br-icon>\n </br-button>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza itens do Breadcrumb no comportamento mobile ou truncado\n */\n private renderBreadcrumbItems() {\n const parsedItems = this.getParsedItems()\n const lastItem = parsedItems[parsedItems.length - 2]\n\n return this.isSmallScreen || this.isTruncate ? (\n <div class=\"buttonFolderGroup\">\n {this.isTruncate && !this.isSmallScreen && lastItem ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n id=\"nextCrumb\"\n href={lastItem.url || 'javascript:void(0)'}\n target={lastItem.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, lastItem.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(lastItem.label)}\n </a>\n </span>\n ) : null}\n {this.renderMobileActiveItem(parsedItems)}\n {this.renderBreadcrumbList(parsedItems)}\n </div>\n ) : (\n parsedItems.map((item, index) => (\n <li\n key={index}\n class={`crumb ${item.home ? 'home' : ''}`}\n data-active={item.active ? 'active' : null}\n aria-label={`Página ${index + 1} de ${parsedItems.length}`}\n >\n {this.renderBreadcrumbLink(item)}\n </li>\n ))\n )\n }\n\n /**\n * Renderiza item da página atual\n */\n private renderMobileActiveItem(parsedItems: BreadcrumbItem[]) {\n const activeItem = parsedItems.find((item) => item.active)\n if (!activeItem) return null\n return (\n <span class=\"mobile-active-page\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" data-active=\"active\" tabindex=\"0\">\n {activeItem.label}\n </span>\n </span>\n )\n }\n\n /**\n * Renderiza Lista dropdown contendo os itens do Breadcrumb\n */\n private renderBreadcrumbList(parsedItems: BreadcrumbItem[]) {\n return (\n <br-list class={this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list'}>\n {this.isSmallScreen && (\n <div aria-label={`Página 1 de ${parsedItems.length}`}>\n <br-item>\n <a href={this.homeUrl} target=\"_self\">\n Página Inicial\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )}\n {parsedItems.map((item, index) => {\n if (this.isTruncate && !this.isSmallScreen && index === parsedItems.length - 2) {\n return null\n }\n return (\n !item.active && (\n <div\n key={index}\n aria-label={\n this.isTruncate && !this.isSmallScreen\n ? `Página ${index + 1} de ${parsedItems.length - 2}`\n : `Página ${index + 2} de ${parsedItems.length}`\n }\n >\n <br-item>\n <a\n id={index == 0 ? 'firstElementList' : ''}\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n onKeyDown={\n index == parsedItems.length - 3 && this.isFolderOpen && this.isTruncate && !this.isSmallScreen\n ? (event) => {\n if (event.key === 'Tab') {\n this.handleKeyDownOut(event)\n this.toggleFolder()\n }\n }\n : null\n }\n >\n {this.trunc(item.label)}\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )\n )\n })}\n </br-list>\n )\n }\n\n /**\n * Renderiza itens do Breadcrumb no formato desktop\n */\n private renderBreadcrumbLink(item: BreadcrumbItem) {\n return item.active ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" tabindex=\"0\">\n {item.label}\n </span>\n </span>\n ) : (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(item.label)}\n </a>\n </span>\n )\n }\n\n /**\n * Renderiza Tooltip\n */\n private renderTooltip() {\n if (!this.showTooltip) return null\n return (\n <div class=\"tooltip-box\" style={{ left: `${this.tooltipPosition.x}px`, top: `${this.tooltipPosition.y}px` }}>\n {this.tooltipText}\n </div>\n )\n }\n\n /**\n * Controla navegação pelo teclado após lista de itens aberta\n * Dispara foco no primeiro item da lista flutuante\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('firstElementList')\n if (element) {\n element.focus()\n }\n }, 0) // Aguarda um ciclo de renderização\n }\n }\n }\n\n /**\n * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante\n */\n private handleKeyDownOut(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('nextCrumb')\n if (element) {\n element.focus()\n }\n }, 0)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <nav class={this.getCssClassMap()} aria-label=\"Breadcrumbs\">\n <ol class=\"crumb-list\">\n {this.renderHomeButton()}\n {this.renderTruncateButton()}\n {this.renderBreadcrumbItems()}\n </ol>\n </nav>\n {this.renderTooltip()}\n </Host>\n )\n }\n}\n\n/**\n * ID do Breadcrumb\n */\nlet breadcrumbId = 0\n\n/**\n * Limite de caracteres para o truncamento\n */\nconst charactersNumberTruncate = 20\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-CVHsq8dp.system.js","sources":["../../packages/webcomponents/src/components/breadcrumb/breadcrumb.scss?tag=br-breadcrumb&encapsulation=shadow","../../packages/webcomponents/src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/breadcrumb/breadcrumb\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n}\n\n:host(:hover) {\n .tooltip-box {\n opacity: 1;\n }\n}\n\n.br-breadcrumb {\n .br-icon {\n color: #cccccc;\n }\n\n .br-icon,\n .mobile-active-page {\n display: flex;\n align-items: center;\n }\n\n .mobile-crumb-list {\n display: none;\n position: absolute;\n width: 200px;\n box-shadow: var(--surface-shadow-sm);\n }\n\n .mobile-crumb-list.show {\n display: block;\n top: 100%;\n z-index: 999;\n }\n\n .buttonFolderGroup,\n .buttonFolderGroup span {\n display: flex;\n align-items: center;\n }\n\n .mobile-active-page span:focus:focus-visible {\n outline-color: var(--focus);\n outline-offset: var(--focus-offset);\n outline-style: var(--focus-style);\n outline-width: var(--focus-width);\n }\n}\n\n.crumb {\n display: flex;\n align-items: center;\n\n span {\n display: flex;\n align-items: center;\n }\n}\n\n// tooltip\n\n.tooltip-box {\n position: fixed;\n background: #1351b4;\n color: #fff;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translate(-50%, -100%);\n pointer-events: none;\n z-index: 9999;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid #1351b4;\n }\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\ninterface BreadcrumbItem {\n label: string\n url?: string\n target?: string\n home?: boolean\n active?: boolean\n}\n@Component({\n tag: 'br-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb {\n @Element() el: HTMLBrBreadcrumbElement\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-breadcrumb-${breadcrumbId++}`\n\n /**\n * URL para home.\n * Caso não seja fornecido, o valor padrão será /.\n */\n @Prop() homeUrl: string = '/'\n\n /**\n * Define o array de objetos que receberá os nomes e links do breadcrumb.\n * Define valor padrão do breadcrumb 'defaultCrumbs'.\n */\n @Prop() crumbs: string | BreadcrumbItem[]\n\n private defaultCrumbs: BreadcrumbItem[] = [\n { label: 'Página 01', url: '/pagina-01' },\n { label: 'Página 02', url: '/pagina-02' },\n { label: 'Página Atual', active: true },\n ]\n\n /**\n * Define o estado oculto ou visível do tooltip.\n */\n @State() showTooltip: boolean = false\n\n /**\n * Define o posicionamento do tooltip na tela.\n */\n @State() tooltipPosition: { x: number; y: number } = { x: 0, y: 0 }\n\n /**\n * Define o texto do tooltip.\n */\n @State() tooltipText: string = ''\n\n /**\n * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile.\n * No formato mobile o breadcrumb apresenta um comportamento específico.\n */\n @State() isSmallScreen: boolean = false\n\n /**\n * Define se o breadcrumb deve truncar os itens por falta de espaço.\n */\n @State() isTruncate: boolean = false\n\n /**\n * Largura interna dos itens do breadcrumb.\n */\n @State() larguraInterna: number = 0\n\n /**\n * Largura do container pai do breadcrumb.\n */\n @State() larguraPai: number = 0\n\n /**\n * Define o estado do botão 'Folder'.\n * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'.\n * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'.\n */\n @State() isFolderOpen: boolean = false\n\n /**\n * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo.\n * O número de caracteres pode ser configurado na variável 'charactersNumberTruncate'.\n */\n private trunc(word: string) {\n return word.length > charactersNumberTruncate ? `${word.slice(0, charactersNumberTruncate)}...` : word\n }\n\n /**\n * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'.\n */\n private handleMouseOver(event: MouseEvent, text: string) {\n const target = event.target as HTMLElement | null\n if (!target) return\n\n const rect = target.getBoundingClientRect()\n this.tooltipPosition = { x: rect.left + rect.width / 2, y: rect.top - 10 }\n\n if (text.length > charactersNumberTruncate) {\n this.tooltipText = text\n this.showTooltip = true\n }\n }\n\n /**\n * Esconde o tooltip caso o usuário realize o 'mouse out'.\n */\n private handleMouseOut() {\n this.showTooltip = false\n }\n\n /**\n * Converte de string para JSON o valor passado na propriedade 'crumbs'.\n * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido\n */\n private getParsedItems(): BreadcrumbItem[] {\n if (!this.crumbs || this.crumbs === '') {\n return this.defaultCrumbs\n }\n\n try {\n const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs\n return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs\n } catch {\n console.error('Invalid JSON format for crumbs:', this.crumbs)\n return this.defaultCrumbs\n }\n }\n\n /**\n * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'.\n */\n private handleHomeClick() {\n window.location.href = this.homeUrl\n }\n\n /**\n * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada.\n */\n private toggleFolder() {\n this.isFolderOpen = !this.isFolderOpen\n }\n\n /**\n * Define as classes CSS usadas no breadcrumb.\n */\n private getCssClassMap(): { [key: string]: boolean } {\n return {\n 'br-breadcrumb': true,\n small: this.isSmallScreen,\n }\n }\n\n /**\n * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px.\n */\n private resizeObserver: ResizeObserver\n\n /**\n * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai.\n */\n private updateContainerSize = (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const containerWidth = entry.contentRect.width\n this.isSmallScreen = containerWidth < 570\n this.larguraPai = containerWidth\n this.calcularLarguraItens()\n }\n }\n\n /**\n * Adiciona o 'resizeObserver' para checar o tamanho do container pai.\n */\n connectedCallback() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.updateContainerSize)\n if (this.el.parentElement !== null) {\n this.resizeObserver.observe(this.el.parentElement)\n }\n }\n }\n\n /**\n * Remove o 'resizeObserver'.\n */\n disconnectedCallback() {\n if (this.resizeObserver != null) {\n this.resizeObserver.disconnect()\n }\n }\n\n /**\n * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento.\n */\n private calcularLarguraItens() {\n requestAnimationFrame(() => {\n const itens = this.el.shadowRoot?.querySelectorAll('.crumb, .mobile-active-page, br-item')\n if (itens) {\n let totalWidth = 0\n itens.forEach((item) => {\n totalWidth += (item as HTMLElement).getBoundingClientRect().width\n })\n this.larguraInterna = totalWidth\n this.isTruncate = this.larguraInterna > this.larguraPai\n }\n })\n }\n\n /**\n * Executa cálculos de largura após o componente ser carregado.\n */\n componentDidLoad() {\n this.calcularLarguraItens()\n }\n\n /**\n * Renderiza botão Home\n */\n private renderHomeButton() {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isSmallScreen ? 'Exibir lista de páginas' : 'Voltar para Home'}\n onClick={this.isSmallScreen ? () => this.toggleFolder() : () => this.handleHomeClick()}\n >\n <br-icon icon-name={`${this.isSmallScreen ? buttonFolderClass : 'fa6-solid:house'}`}></br-icon>\n </br-button>\n )\n }\n\n /**\n * Renderiza botão Folder no comportamento truncado\n */\n private renderTruncateButton() {\n if (this.isTruncate && !this.isSmallScreen) {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <div class=\"buttonFolderGroup\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas'}\n onClick={() => this.toggleFolder()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <br-icon icon-name={buttonFolderClass}></br-icon>\n </br-button>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza itens do Breadcrumb no comportamento mobile ou truncado\n */\n private renderBreadcrumbItems() {\n const parsedItems = this.getParsedItems()\n const lastItem = parsedItems[parsedItems.length - 2]\n\n return this.isSmallScreen || this.isTruncate ? (\n <div class=\"buttonFolderGroup\">\n {this.isTruncate && !this.isSmallScreen && lastItem ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n id=\"nextCrumb\"\n href={lastItem.url || 'javascript:void(0)'}\n target={lastItem.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, lastItem.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(lastItem.label)}\n </a>\n </span>\n ) : null}\n {this.renderMobileActiveItem(parsedItems)}\n {this.renderBreadcrumbList(parsedItems)}\n </div>\n ) : (\n parsedItems.map((item, index) => (\n <li\n key={index}\n class={`crumb ${item.home ? 'home' : ''}`}\n data-active={item.active ? 'active' : null}\n aria-label={`Página ${index + 1} de ${parsedItems.length}`}\n >\n {this.renderBreadcrumbLink(item)}\n </li>\n ))\n )\n }\n\n /**\n * Renderiza item da página atual\n */\n private renderMobileActiveItem(parsedItems: BreadcrumbItem[]) {\n const activeItem = parsedItems.find((item) => item.active)\n if (!activeItem) return null\n return (\n <span class=\"mobile-active-page\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" data-active=\"active\" tabindex=\"0\">\n {activeItem.label}\n </span>\n </span>\n )\n }\n\n /**\n * Renderiza Lista dropdown contendo os itens do Breadcrumb\n */\n private renderBreadcrumbList(parsedItems: BreadcrumbItem[]) {\n return (\n <br-list class={this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list'}>\n {this.isSmallScreen && (\n <div aria-label={`Página 1 de ${parsedItems.length}`}>\n <br-item>\n <a href={this.homeUrl} target=\"_self\">\n Página Inicial\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )}\n {parsedItems.map((item, index) => {\n if (this.isTruncate && !this.isSmallScreen && index === parsedItems.length - 2) {\n return null\n }\n return (\n !item.active && (\n <div\n key={index}\n aria-label={\n this.isTruncate && !this.isSmallScreen\n ? `Página ${index + 1} de ${parsedItems.length - 2}`\n : `Página ${index + 2} de ${parsedItems.length}`\n }\n >\n <br-item>\n <a\n id={index == 0 ? 'firstElementList' : ''}\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n onKeyDown={\n index == parsedItems.length - 3 && this.isFolderOpen && this.isTruncate && !this.isSmallScreen\n ? (event) => {\n if (event.key === 'Tab') {\n this.handleKeyDownOut(event)\n this.toggleFolder()\n }\n }\n : null\n }\n >\n {this.trunc(item.label)}\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )\n )\n })}\n </br-list>\n )\n }\n\n /**\n * Renderiza itens do Breadcrumb no formato desktop\n */\n private renderBreadcrumbLink(item: BreadcrumbItem) {\n return item.active ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" tabindex=\"0\">\n {item.label}\n </span>\n </span>\n ) : (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(item.label)}\n </a>\n </span>\n )\n }\n\n /**\n * Renderiza Tooltip\n */\n private renderTooltip() {\n if (!this.showTooltip) return null\n return (\n <div class=\"tooltip-box\" style={{ left: `${this.tooltipPosition.x}px`, top: `${this.tooltipPosition.y}px` }}>\n {this.tooltipText}\n </div>\n )\n }\n\n /**\n * Controla navegação pelo teclado após lista de itens aberta\n * Dispara foco no primeiro item da lista flutuante\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('firstElementList')\n if (element) {\n element.focus()\n }\n }, 0) // Aguarda um ciclo de renderização\n }\n }\n }\n\n /**\n * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante\n */\n private handleKeyDownOut(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('nextCrumb')\n if (element) {\n element.focus()\n }\n }, 0)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <nav class={this.getCssClassMap()} aria-label=\"Breadcrumbs\">\n <ol class=\"crumb-list\">\n {this.renderHomeButton()}\n {this.renderTruncateButton()}\n {this.renderBreadcrumbItems()}\n </ol>\n </nav>\n {this.renderTooltip()}\n </Host>\n )\n }\n}\n\n/**\n * ID do Breadcrumb\n */\nlet breadcrumbId = 0\n\n/**\n * Limite de caracteres para o truncamento\n */\nconst charactersNumberTruncate = 20\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-CgEwLRss.system.js","sources":["../../packages/webcomponents/src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","../../packages/webcomponents/src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox\";\n\n:host {\n display: block;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/checkbox?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n@Component({\n tag: 'br-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox {\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: HTMLBrCheckboxElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado intermediário do checkbox.\n * Quando verdadeiro, exibe uma marcação parcial visual que indica seleção parcial.\n * Útil para representar grupos onde alguns itens estão selecionados, mas não todos.\n * Ao clicar no checkbox neste estado, ele será automaticamente alterado para marcado.\n */\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: 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-checkbox-${checkboxId++}`\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define se o label associado ao checkbox deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.\n */\n @Prop({ reflect: true }) readonly hasHiddenLabel: boolean = false\n\n /**\n * Texto descritivo exibido à direita do checkbox.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) readonly name!: string\n\n /**\n * Indica a validade do checkbox.\n * Valores possíveis:\n * 'valid': O checkbox é considerado válido.\n * 'invalid': O checkbox é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) readonly state: 'valid' | 'invalid'\n\n /**\n * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o checkbox está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n @State() slotDefault: boolean = false\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() checkedChange: EventEmitter<boolean>\n\n /**\n * Disparado depois que o valor do `indeterminate` foi alterado.\n */\n @Event() indeterminateChange: EventEmitter<boolean>\n\n @Watch('indeterminate')\n updateIndeterminate(newValue: boolean) {\n const input = this.el.shadowRoot.querySelector('input')\n if (input !== null) {\n input.indeterminate = newValue\n }\n }\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n }\n\n private hasSlotContentDefault(): void {\n this.slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkbox': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private readonly handleCheckedChange = () => {\n if (this.indeterminate) {\n // Sai do estado indeterminado ao clicar e define como marcado\n this.indeterminate = false\n this.checked = true\n this.indeterminateChange.emit(this.indeterminate)\n } else {\n // Alterna entre marcado e desmarcado\n this.checked = !this.checked\n }\n this.checkedChange.emit(this.checked)\n }\n\n /**\n * Define o estado indeterminado do checkbox.\n * @param value Novo valor para o estado indeterminado.\n */\n @Method()\n async setIndeterminate(value: boolean) {\n this.indeterminate = value\n this.updateIndeterminate(value)\n this.indeterminateChange.emit(this.indeterminate)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n type=\"checkbox\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onChange={this.handleCheckedChange}\n ref={(el) => el && (el.indeterminate = this.indeterminate)}\n />\n <label htmlFor={this.customId}>{this.slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n\nlet checkboxId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-DFVDihQu.system.js","sources":["../../packages/webcomponents/src/components/tag/tag.scss?tag=br-tag&encapsulation=shadow","../../packages/webcomponents/src/components/tag/tag.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox\";\n@import \"~@govbr-ds/core/src/components/input/input\";\n@import \"~@govbr-ds/core/src/components/tag/tag\";\n\n:host {\n display: block;\n\n .tag-position {\n display: flex;\n justify-content: space-around;\n align-items: center;\n }\n\n .tag-spacing-status {\n margin-left: var(--spacing-scale-half) !important;\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/tag?tab=designer).\n *\n * @slot default - Espaço de conteúdo do tag. Geralmente usado para incluir o rótulo ou um ícone.\n */\n\n// Constantes para valores fixos\nconst DENSITY_SMALL = 'small'\nconst DENSITY_MEDIUM = 'medium'\nconst DENSITY_LARGE = 'large'\n\nconst SHAPE_CIRCLE = 'circle'\nconst SHAPE_ROUNDED = 'rounded'\nconst SHAPE_DEFAULT = 'default'\n\n@Component({\n tag: 'br-tag',\n styleUrl: 'tag.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Tag {\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: HTMLBrTagElement\n\n /** API de controle de formulário nativa */\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * A propriedade 'label' é uma string que representa o texto a ser exibido no componente.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) readonly label: string = ''\n\n /**\n * A propriedade 'iconName' define o nome do ícone que será exibido ao lado do texto.\n * O valor padrão é 'fa-solid:car', que corresponde a um ícone de carro da biblioteca Font Awesome.\n */\n @Prop({ reflect: true }) readonly iconName: string = ''\n\n /**\n * A propriedade 'name' é uma string que representa o nome do grupo da tag para seleção.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) readonly name: string = ''\n\n /**\n * A tag permite seleção múltipla.\n * */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * A tag está selecionada.\n * */\n @Prop({ reflect: true, mutable: true }) selected: 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-tag-${tagId++}`\n\n /**\n * A propriedade 'color' permite definir a cor do componente.\n * Aceita valores como 'red', 'blue', entre outros, e é refletida no DOM.\n */\n @Prop({ reflect: true }) readonly color: string = ''\n\n /**\n * A propriedade 'density' permite definir a densidade do componente.\n * Aceita valores como 'small', 'medium' e 'large', e é refletida no DOM.\n */\n @Prop({ reflect: true }) readonly density: 'small' | 'medium' | 'large' = DENSITY_SMALL\n\n /**\n * A propriedade 'shape' define o formato do componente.\n * Valores possíveis:\n * - 'circle': Componente com formato circular.\n * - 'rounded': Componente com bordas arredondadas.\n * - 'default': Componente com formato padrão.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'rounded' | 'default' = SHAPE_DEFAULT\n\n /**\n * Status deve ser exibido.\n */\n @Prop({ reflect: true }) readonly status: boolean = false\n\n /**\n * Interação deve ser habilitada.\n */\n @Prop({ reflect: true, mutable: true }) interaction: boolean = false\n\n /**\n * Interação de seleção deve ser habilitada.\n * */\n @Prop({ reflect: true }) interactionSelect: boolean = false\n\n /**\n * Tag deve estar desabilitado.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Tag está selecionada.\n */\n @State() selectedClassValue: boolean = false\n\n /**\n * Evento emitido quando a tag é selecionada.\n */\n @Event() radioSelected: EventEmitter<string>\n\n @Watch('interaction')\n handleInteractionChange(newValue: boolean) {\n if (newValue && this.interactionSelect) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n\n @Watch('interactionSelect')\n handleInteractionSelectChange(newValue: boolean) {\n if (newValue && this.interaction) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n\n componentWillLoad() {\n if (this.interaction && this.interactionSelect) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n connectedCallback() {\n this.selectedClassValue = this.selected\n }\n\n @Watch('selected')\n handleSelectedChange(newValue: boolean) {\n this.selectedClassValue = newValue\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-tag': true,\n interaction: this.interaction,\n 'interaction-select': this.interactionSelect,\n selected: this.selectedClassValue,\n [this.color]: !!this.color,\n [DENSITY_SMALL]: this.density === DENSITY_SMALL,\n [DENSITY_MEDIUM]: this.density === DENSITY_MEDIUM,\n [DENSITY_LARGE]: this.density === DENSITY_LARGE,\n count: this.shape === SHAPE_ROUNDED,\n icon: this.shape === SHAPE_CIRCLE,\n status: this.status,\n }\n }\n\n private renderIcon() {\n return this.iconName && this.iconName.trim() !== '' ? (\n <br-icon icon-name={this.iconName} aria-hidden=\"true\" />\n ) : null\n }\n\n private renderLabel() {\n return this.shape !== SHAPE_CIRCLE && !this.status ? <span>{this.label}</span> : null\n }\n\n private renderCloseButton() {\n if (!this.interaction) return null\n return (\n <br-button\n type=\"button\"\n shape=\"circle\"\n emphasis=\"primary\"\n aria-label=\"Fechar\"\n onClick={this.handleClose}\n disabled={this.disabled}\n >\n <br-icon icon-name=\"fa-solid:times\"></br-icon>\n </br-button>\n )\n }\n\n private renderStatusLabel() {\n return this.status ? <span class=\"tag-spacing-status\">{this.label}</span> : null\n }\n\n private handleClose = () => {\n this.el.remove()\n }\n\n private handleChangeValueChecked = () => {\n if (!this.multiple) {\n this.radioSelected.emit(this.name)\n }\n this.selected = !this.selected\n }\n\n private handleChangeRadioValue = (event: MouseEvent) => {\n if (!this.multiple) {\n this.radioSelected.emit(this.name)\n this.selected = (event.target as HTMLInputElement).checked\n }\n }\n\n @Listen('radioSelected', { target: 'document' })\n handleCheckedChange(event: CustomEvent) {\n if (event.detail === this.name && this.el !== event.target) {\n this.selected = false\n }\n }\n\n render() {\n const mainTagContent = (\n <span class={this.getCssClassMap()} id={this.customId}>\n {this.renderIcon()}\n {this.renderLabel()}\n {this.renderCloseButton()}\n <slot></slot>\n </span>\n )\n\n return (\n <Host>\n {!this.status ? (\n mainTagContent\n ) : (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {mainTagContent}\n {this.renderStatusLabel()}\n </div>\n )}\n\n {this.interactionSelect && (\n <span class={this.getCssClassMap()} id={this.customId}>\n {this.multiple ? (\n <input\n id={this.label}\n type=\"checkbox\"\n name={this.name}\n value={this.label}\n checked={this.selected}\n onClick={this.handleChangeValueChecked}\n disabled={this.disabled}\n />\n ) : (\n <input\n id={this.label}\n type=\"radio\"\n name={this.name}\n value={this.label}\n checked={this.selected}\n onClick={this.handleChangeRadioValue}\n disabled={this.disabled}\n />\n )}\n <label htmlFor={this.label}>\n {this.renderIcon()}\n <span>{this.label}</span>\n </label>\n </span>\n )}\n </Host>\n )\n }\n}\n\nlet tagId = 0\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-CgegvyhC.system.js","sources":["../../packages/webcomponents/src/components/tag/tag.scss?tag=br-tag&encapsulation=shadow","../../packages/webcomponents/src/components/tag/tag.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox\";\n@import \"~@govbr-ds/core/src/components/input/input\";\n@import \"~@govbr-ds/core/src/components/tag/tag\";\n\n:host {\n display: block;\n\n .tag-position {\n display: flex;\n justify-content: space-around;\n align-items: center;\n }\n\n .tag-spacing-status {\n margin-left: var(--spacing-scale-half) !important;\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/tag?tab=designer).\n *\n * @slot default - Espaço de conteúdo do tag. Geralmente usado para incluir o rótulo ou um ícone.\n */\n\n// Constantes para valores fixos\nconst DENSITY_SMALL = 'small'\nconst DENSITY_MEDIUM = 'medium'\nconst DENSITY_LARGE = 'large'\n\nconst SHAPE_CIRCLE = 'circle'\nconst SHAPE_ROUNDED = 'rounded'\nconst SHAPE_DEFAULT = 'default'\n\n@Component({\n tag: 'br-tag',\n styleUrl: 'tag.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Tag {\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: HTMLBrTagElement\n\n /** API de controle de formulário nativa */\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * A propriedade 'label' é uma string que representa o texto a ser exibido no componente.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) readonly label: string = ''\n\n /**\n * A propriedade 'iconName' define o nome do ícone que será exibido ao lado do texto.\n * O valor padrão é 'fa-solid:car', que corresponde a um ícone de carro da biblioteca Font Awesome.\n */\n @Prop({ reflect: true }) readonly iconName: string = ''\n\n /**\n * A propriedade 'name' é uma string que representa o nome do grupo da tag para seleção.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) readonly name: string = ''\n\n /**\n * A tag permite seleção múltipla.\n * */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * A tag está selecionada.\n * */\n @Prop({ reflect: true, mutable: true }) selected: 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-tag-${tagId++}`\n\n /**\n * A propriedade 'color' permite definir a cor do componente.\n * Aceita valores como 'red', 'blue', entre outros, e é refletida no DOM.\n */\n @Prop({ reflect: true }) readonly color: string = ''\n\n /**\n * A propriedade 'density' permite definir a densidade do componente.\n * Aceita valores como 'small', 'medium' e 'large', e é refletida no DOM.\n */\n @Prop({ reflect: true }) readonly density: 'small' | 'medium' | 'large' = DENSITY_SMALL\n\n /**\n * A propriedade 'shape' define o formato do componente.\n * Valores possíveis:\n * - 'circle': Componente com formato circular.\n * - 'rounded': Componente com bordas arredondadas.\n * - 'default': Componente com formato padrão.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'rounded' | 'default' = SHAPE_DEFAULT\n\n /**\n * Status deve ser exibido.\n */\n @Prop({ reflect: true }) readonly status: boolean = false\n\n /**\n * Interação deve ser habilitada.\n */\n @Prop({ reflect: true, mutable: true }) interaction: boolean = false\n\n /**\n * Interação de seleção deve ser habilitada.\n * */\n @Prop({ reflect: true }) interactionSelect: boolean = false\n\n /**\n * Tag deve estar desabilitado.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Tag está selecionada.\n */\n @State() selectedClassValue: boolean = false\n\n /**\n * Evento emitido quando a tag é selecionada.\n */\n @Event() radioSelected: EventEmitter<string>\n\n @Watch('interaction')\n handleInteractionChange(newValue: boolean) {\n if (newValue && this.interactionSelect) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n\n @Watch('interactionSelect')\n handleInteractionSelectChange(newValue: boolean) {\n if (newValue && this.interaction) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n\n componentWillLoad() {\n if (this.interaction && this.interactionSelect) {\n console.warn(\n \"Aviso: 'interaction' e 'interactionSelect' não podem ser usados ao mesmo tempo. Alterando o 'interaction' para 'false'.\"\n )\n this.interaction = false\n }\n }\n connectedCallback() {\n this.selectedClassValue = this.selected\n }\n\n @Watch('selected')\n handleSelectedChange(newValue: boolean) {\n this.selectedClassValue = newValue\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-tag': true,\n interaction: this.interaction,\n 'interaction-select': this.interactionSelect,\n selected: this.selectedClassValue,\n [this.color]: !!this.color,\n [DENSITY_SMALL]: this.density === DENSITY_SMALL,\n [DENSITY_MEDIUM]: this.density === DENSITY_MEDIUM,\n [DENSITY_LARGE]: this.density === DENSITY_LARGE,\n count: this.shape === SHAPE_ROUNDED,\n icon: this.shape === SHAPE_CIRCLE,\n status: this.status,\n }\n }\n\n private renderIcon() {\n return this.iconName && this.iconName.trim() !== '' ? (\n <br-icon icon-name={this.iconName} aria-hidden=\"true\" />\n ) : null\n }\n\n private renderLabel() {\n return this.shape !== SHAPE_CIRCLE && !this.status ? <span>{this.label}</span> : null\n }\n\n private renderCloseButton() {\n if (!this.interaction) return null\n return (\n <br-button\n type=\"button\"\n shape=\"circle\"\n emphasis=\"primary\"\n aria-label=\"Fechar\"\n onClick={this.handleClose}\n disabled={this.disabled}\n >\n <br-icon icon-name=\"fa-solid:times\"></br-icon>\n </br-button>\n )\n }\n\n private renderStatusLabel() {\n return this.status ? <span class=\"tag-spacing-status\">{this.label}</span> : null\n }\n\n private handleClose = () => {\n this.el.remove()\n }\n\n private handleChangeValueChecked = () => {\n if (!this.multiple) {\n this.radioSelected.emit(this.name)\n }\n this.selected = !this.selected\n }\n\n private handleChangeRadioValue = (event: MouseEvent) => {\n if (!this.multiple) {\n this.radioSelected.emit(this.name)\n this.selected = (event.target as HTMLInputElement).checked\n }\n }\n\n @Listen('radioSelected', { target: 'document' })\n handleCheckedChange(event: CustomEvent) {\n if (event.detail === this.name && this.el !== event.target) {\n this.selected = false\n }\n }\n\n render() {\n const mainTagContent = (\n <span class={this.getCssClassMap()} id={this.customId}>\n {this.renderIcon()}\n {this.renderLabel()}\n {this.renderCloseButton()}\n <slot></slot>\n </span>\n )\n\n return (\n <Host>\n {!this.status ? (\n mainTagContent\n ) : (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {mainTagContent}\n {this.renderStatusLabel()}\n </div>\n )}\n\n {this.interactionSelect && (\n <span class={this.getCssClassMap()} id={this.customId}>\n {this.multiple ? (\n <input\n id={this.label}\n type=\"checkbox\"\n name={this.name}\n value={this.label}\n checked={this.selected}\n onClick={this.handleChangeValueChecked}\n disabled={this.disabled}\n />\n ) : (\n <input\n id={this.label}\n type=\"radio\"\n name={this.name}\n value={this.label}\n checked={this.selected}\n onClick={this.handleChangeRadioValue}\n disabled={this.disabled}\n />\n )}\n <label htmlFor={this.label}>\n {this.renderIcon()}\n <span>{this.label}</span>\n </label>\n </span>\n )}\n </Host>\n )\n }\n}\n\nlet tagId = 0\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-D5FcCD9L.system.js","sources":["../../packages/webcomponents/src/components/list/list.scss?tag=br-list&encapsulation=shadow","../../packages/webcomponents/src/components/list/list.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n\n .br-list.horizontal ::slotted(br-item) {\n flex: 1;\n height: auto;\n min-height: 56px;\n width: auto;\n }\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/list?tab=designer).\n *\n * @slot default - Slot padrão para inclusão dos itens da lista.\n * @slot header - Slot nomeado para inclusão de ações relacionadas ao cabeçalho do list (uso de botões por exemplo).\n */\n@Component({\n tag: 'br-list',\n styleUrl: 'list.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class List {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrListElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o cabeçalho para a lista.\n */\n @Prop({ reflect: true }) readonly header: string\n\n /**\n * Indica se a lista será horizontal. Por padrão, a lista é vertical.\n */\n @Prop({ reflect: true }) readonly isHorizontal: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-list-${listId++}`\n\n /**\n * Indica que o divider para o título da lista estará oculto.\n */\n @Prop({ reflect: true }) readonly hideHeaderDivider: boolean = false\n\n componentDidLoad() {\n if (this.isHorizontal) {\n const slotItems = Array.from(this.el.querySelectorAll('br-item'))\n\n slotItems.forEach((item) => {\n const nextElement = item.nextElementSibling\n if (nextElement?.classList.contains('br-divider')) {\n const divider = nextElement as HTMLElement\n divider.style.borderWidth = '0 1px 0 0'\n divider.style.width = '1px'\n }\n })\n }\n\n const items = Array.from(this.el.querySelectorAll('br-item'))\n items.forEach((item) => {\n item.setAttribute('role', 'listitem')\n })\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-list': true,\n horizontal: this.isHorizontal,\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n private readonly renderHeader = () => {\n if (this.header?.length > 0 || this.hasSlotContent('header')) {\n return (\n <div class=\"header\">\n {this.header && <div class=\"title\">{this.header}</div>}\n {this.hasSlotContent('header') && (\n <div class=\"d-flex\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n )\n }\n return null\n }\n\n private renderDivider() {\n if ((this.header || this.hasSlotContent('header')) && !this.hideHeaderDivider) {\n return <div class=\"br-divider\"></div>\n }\n return null\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} role=\"list\" id={this.customId}>\n {this.renderHeader()}\n {this.renderDivider()}\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n\nlet listId = 0\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAAA,MAAM,OAAO,GAAG,2u5DAA2u5D;;YCgB9u5D,IAAI,sBAAA,MAAA;;;;;;;;;;;;MAOI,IAAA,gBAAgB;MAEnC;;MAEG;MAC+B,IAAA,MAAM;MAExC;;MAEG;UAC+B,YAAY,GAAY,KAAK;MAE/D;;;MAGG;MAC+B,IAAA,QAAQ,GAAW,CAAA,QAAA,EAAW,MAAM,EAAE,EAAE;MAE1E;;MAEG;UAC+B,iBAAiB,GAAY,KAAK;UAEpE,gBAAgB,GAAA;MACd,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;MAEjE,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;MACzB,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB;sBAC3C,IAAI,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;0BACjD,MAAM,OAAO,GAAG,WAA0B;MAC1C,oBAAA,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW;MACvC,oBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;;MAE/B,aAAC,CAAC;;MAGJ,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;MAC7D,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;MACrB,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;MACvC,SAAC,CAAC;;UAGI,cAAc,GAAA;cACpB,OAAO;MACL,YAAA,SAAS,EAAE,IAAI;kBACf,UAAU,EAAE,IAAI,CAAC,YAAY;eAC9B;;MAGK,IAAA,cAAc,CAAC,QAAgB,EAAA;MACrC,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAU,OAAA,EAAA,QAAQ,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI;;UAE9C,YAAY,GAAG,MAAK;MACnC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;MAC5D,YAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,QAAQ,EAAA,EAChB,IAAI,CAAC,MAAM,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,MAAM,CAAO,EACrD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAC5B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACP,CACG;;MAGV,QAAA,OAAO,IAAI;MACb,KAAC;UAEO,aAAa,GAAA;MACnB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE;kBAC7E,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,GAAO;;MAEvC,QAAA,OAAO,IAAI;;UAGb,MAAM,GAAA;MACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,MAAM,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAA,EAC7D,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,aAAa,EAAE,EACrB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;MAKb,IAAI,MAAM,GAAG,CAAC;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-DFnGIoqM.system.js","sources":["../../packages/webcomponents/src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","../../packages/webcomponents/src/components/dropdown/dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n }\n\n #target {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-dropdown-${dropdownId++}`\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\n\n connectedCallback() {\n document.addEventListener('click', this.onClickOutside.bind(this))\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} id={this.customId}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n\nlet dropdownId = 0\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAAA,MAAM,WAAW,GAAG,4yyDAA4yyD;;YCgBnzyD,QAAQ,0BAAA,MAAA;;;;;;;;;;;;;MAOA,IAAA,gBAAgB;MAEnC;;;;MAIG;UACqC,MAAM,GAAY,KAAK;MAE/D;;;MAGG;MAC+B,IAAA,QAAQ,GAAW,CAAA,YAAA,EAAe,UAAU,EAAE,EAAE;MAElF;;;MAGG;UAEH,aAAa,GAAA;MACX,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;UAG1D,iBAAiB,GAAA;MACf,QAAA,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;UAGpE,oBAAoB,GAAA;MAClB,QAAA,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;MAGvE;;MAEG;MACM,IAAA,gBAAgB;UAEjB,cAAc,GAAA;cACpB,OAAO;MACL,YAAA,aAAa,EAAE,IAAI;eACpB;;MAGH;;MAEG;MACc,IAAA,MAAM,GAAG,CAAC,KAAY,KAAI;cACzC,KAAK,CAAC,eAAe,EAAE;MACvB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;MAC5B,KAAC;MAED;;;;MAIG;MACK,IAAA,cAAc,CAAC,KAAiB,EAAA;MACtC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE;MACjC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;cAEnE,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;kBACtD,IAAI,CAAC,IAAI,EAAE;;;MAIf;;;;MAIG;MAEH,IAAA,MAAM,IAAI,GAAA;MACR,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;cAClB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;;MAGhC;;;;MAIG;MAEH,IAAA,MAAM,IAAI,GAAA;MACR,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;cACnB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;;UAGhC,MAAM,GAAA;MACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAU,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAA,EAAA,IAAI,CAAC,MAAM,EAAA,EACxB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAA,EAClD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAC,SAAS,EACZ,OAAO,EAAE,IAAI,CAAC,MAAM,EAAA,eAAA,EACN,QAAQ,EACR,eAAA,EAAA,MAAM,EACL,eAAA,EAAA,IAAI,CAAC,MAAM,EAAA,EAE1B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,EAAE,EAAC,QAAQ,iBAAc,CAAC,IAAI,CAAC,MAAM,EAAA,EACxC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACF,CACD;;;;;;;MAKb,IAAI,UAAU,GAAG,CAAC;;;;;;;;;"}
|