@govbr-ds/webcomponents 2.0.0-next.20 → 2.0.0-next.21
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 +2 -2
- package/dist/cjs/br-avatar.cjs.entry.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_4.cjs.entry.js +346 -0
- package/dist/cjs/br-checkbox_4.cjs.entry.js.map +1 -0
- package/dist/cjs/br-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/br-dropdown.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-loading.cjs.entry.js +2 -2
- package/dist/cjs/br-loading.cjs.entry.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-select.cjs.entry.js +281 -0
- package/dist/cjs/br-select.cjs.entry.js.map +1 -0
- package/dist/cjs/br-switch.cjs.entry.js +3 -3
- package/dist/cjs/br-switch.cjs.entry.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-textarea.cjs.entry.js +3 -3
- package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/br-upload.cjs.entry.js +3 -3
- package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-81c11ce2.js → index-86e7422e.js} +16 -24
- package/dist/cjs/index-86e7422e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/webcomponents.cjs.js +3 -3
- package/dist/cjs/webcomponents.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/avatar/avatar.css +3 -1
- package/dist/collection/components/button/button.css +3 -1
- package/dist/collection/components/checkbox/checkbox.css +3 -1
- package/dist/collection/components/dropdown/dropdown.css +3 -1
- package/dist/collection/components/icon/icon.css +3 -1
- package/dist/collection/components/input/input.css +3 -1
- package/dist/collection/components/item/item.css +3 -1
- package/dist/collection/components/list/list.css +3 -1
- package/dist/collection/components/loading/loading.css +3 -1
- package/dist/collection/components/message/message.css +3 -1
- package/dist/collection/components/radio/radio.css +3 -1
- package/dist/collection/components/radio/radio.js +1 -1
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/select/select.css +857 -0
- package/dist/collection/components/select/select.js +491 -0
- package/dist/collection/components/select/select.js.map +1 -0
- package/dist/collection/components/switch/switch.css +3 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tag/tag.css +3 -1
- package/dist/collection/components/tag/tag.js +1 -1
- package/dist/collection/components/textarea/textarea.css +3 -1
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/upload/upload.css +3 -1
- package/dist/collection/components/upload/upload.js +1 -1
- package/dist/collection/pages/components/select/index.js +18 -0
- package/dist/collection/pages/scripts/menu.js +5 -0
- package/dist/collection/scripts/menu.js +5 -0
- package/dist/components/br-avatar.js +1 -1
- package/dist/components/br-avatar.js.map +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkbox.js.map +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-dropdown.js.map +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-input.js.map +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-item.js.map +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-list.js.map +1 -1
- package/dist/components/br-loading.js +1 -1
- package/dist/components/br-loading.js.map +1 -1
- package/dist/components/br-message.js +1 -1
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-radio.js.map +1 -1
- package/dist/components/br-select.d.ts +11 -0
- package/dist/components/br-select.js +6 -0
- package/dist/components/br-select.js.map +1 -0
- package/dist/components/br-switch.js +1 -1
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-tag.js.map +1 -1
- package/dist/components/br-textarea.js +1 -1
- package/dist/components/br-textarea.js.map +1 -1
- package/dist/components/br-upload.js +1 -1
- package/dist/components/br-upload.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-22068d3c.js +6 -0
- package/dist/components/p-22068d3c.js.map +1 -0
- package/dist/components/p-62776355.js +6 -0
- package/dist/components/p-62776355.js.map +1 -0
- package/dist/components/p-67617725.js +6 -0
- package/dist/components/{p-e4af8eac.js.map → p-67617725.js.map} +1 -1
- package/dist/components/p-7882cb21.js +6 -0
- package/dist/components/p-7882cb21.js.map +1 -0
- package/dist/components/p-7aca304a.js +6 -0
- package/dist/components/p-7aca304a.js.map +1 -0
- package/dist/components/{p-64831033.js → p-b4b55ab7.js} +3 -3
- package/dist/components/{p-64831033.js.map → p-b4b55ab7.js.map} +1 -1
- package/dist/components/{p-2d8e59f6.js → p-fabd9bdd.js} +2 -2
- package/dist/components/p-fabd9bdd.js.map +1 -0
- package/dist/esm/br-avatar.entry.js +2 -2
- package/dist/esm/br-avatar.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_4.entry.js +339 -0
- package/dist/esm/br-checkbox_4.entry.js.map +1 -0
- package/dist/esm/br-dropdown.entry.js +2 -2
- package/dist/esm/br-dropdown.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 +277 -0
- package/dist/esm/br-select.entry.js.map +1 -0
- package/dist/esm/br-switch.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-upload.entry.js +3 -3
- package/dist/esm/br-upload.entry.js.map +1 -1
- package/dist/esm/{index-aab4a630.js → index-14721f44.js} +16 -24
- package/dist/esm/index-14721f44.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/webcomponents.js +4 -4
- package/dist/esm/webcomponents.js.map +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-button_2.entry.js +2 -2
- package/dist/esm-es5/br-button_2.entry.js.map +1 -1
- package/dist/esm-es5/br-checkbox_4.entry.js +6 -0
- package/dist/esm-es5/br-checkbox_4.entry.js.map +1 -0
- package/dist/esm-es5/br-dropdown.entry.js +2 -2
- package/dist/esm-es5/br-dropdown.entry.js.map +1 -1
- 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-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 +6 -0
- package/dist/esm-es5/br-select.entry.js.map +1 -0
- package/dist/esm-es5/br-switch.entry.js +2 -2
- package/dist/esm-es5/br-switch.entry.js.map +1 -1
- package/dist/esm-es5/br-tag.entry.js +1 -1
- package/dist/esm-es5/br-tag.entry.js.map +1 -1
- package/dist/esm-es5/br-textarea.entry.js +2 -2
- package/dist/esm-es5/br-textarea.entry.js.map +1 -1
- package/dist/esm-es5/br-upload.entry.js +1 -1
- package/dist/esm-es5/br-upload.entry.js.map +1 -1
- package/dist/esm-es5/index-14721f44.js +6 -0
- package/dist/esm-es5/index-14721f44.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -2
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/webcomponents.js +2 -2
- package/dist/esm-es5/webcomponents.js.map +1 -1
- package/dist/types/components/select/select.d.ts +98 -0
- package/dist/types/components.d.ts +108 -0
- package/dist/webcomponents/p-11e8c72f.entry.js +6 -0
- package/dist/webcomponents/{p-842b2513.entry.js.map → p-11e8c72f.entry.js.map} +1 -1
- package/dist/webcomponents/p-1accc2ab.system.entry.js +6 -0
- package/dist/webcomponents/{p-55604b7f.system.entry.js.map → p-1accc2ab.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-36e48582.system.entry.js +6 -0
- package/dist/webcomponents/p-36e48582.system.entry.js.map +1 -0
- package/dist/webcomponents/p-37440256.entry.js +6 -0
- package/dist/webcomponents/{p-dcf41d91.entry.js.map → p-37440256.entry.js.map} +1 -1
- package/dist/webcomponents/p-44554246.system.entry.js +6 -0
- package/dist/webcomponents/p-44554246.system.entry.js.map +1 -0
- package/dist/webcomponents/p-55f80a96.system.entry.js +6 -0
- package/dist/webcomponents/{p-baad00f8.system.entry.js.map → p-55f80a96.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-563bea26.entry.js +6 -0
- package/dist/webcomponents/{p-3f00a196.entry.js.map → p-563bea26.entry.js.map} +1 -1
- package/dist/webcomponents/{p-71be2e3f.system.entry.js → p-58d37ac2.entry.js} +3 -3
- package/dist/webcomponents/{p-626fe2cb.entry.js.map → p-58d37ac2.entry.js.map} +1 -1
- package/dist/webcomponents/p-64f4ecea.system.entry.js +6 -0
- package/dist/webcomponents/{p-71be2e3f.system.entry.js.map → p-64f4ecea.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-703a633a.system.js +6 -0
- package/dist/webcomponents/p-703a633a.system.js.map +1 -0
- package/dist/webcomponents/p-76326737.system.entry.js +6 -0
- package/dist/webcomponents/{p-6a8226b3.system.entry.js.map → p-76326737.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-797376a2.system.entry.js +17 -0
- package/dist/webcomponents/{p-d83e2172.system.entry.js.map → p-797376a2.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-7f8c5016.entry.js +6 -0
- package/dist/webcomponents/{p-d174c8cd.entry.js.map → p-7f8c5016.entry.js.map} +1 -1
- package/dist/webcomponents/p-a44ad074.entry.js +6 -0
- package/dist/webcomponents/p-a44ad074.entry.js.map +1 -0
- package/dist/webcomponents/p-aaa17439.entry.js +6 -0
- package/dist/webcomponents/p-aaa17439.entry.js.map +1 -0
- package/dist/webcomponents/{p-430afeb5.system.js → p-aaca726d.system.js} +2 -2
- package/dist/webcomponents/p-aaca726d.system.js.map +1 -0
- package/dist/webcomponents/p-aec894fa.system.entry.js +6 -0
- package/dist/webcomponents/{p-28476b17.system.entry.js.map → p-aec894fa.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-b16b1de5.entry.js +6 -0
- package/dist/webcomponents/{p-447c8036.entry.js.map → p-b16b1de5.entry.js.map} +1 -1
- package/dist/webcomponents/p-b6af61ad.entry.js +6 -0
- package/dist/webcomponents/{p-5539ffa8.entry.js.map → p-b6af61ad.entry.js.map} +1 -1
- package/dist/webcomponents/p-c696c385.entry.js +17 -0
- package/dist/webcomponents/{p-e6d921ef.entry.js.map → p-c696c385.entry.js.map} +1 -1
- package/dist/webcomponents/p-d1e0a8ff.entry.js +6 -0
- package/dist/webcomponents/{p-24da392a.entry.js.map → p-d1e0a8ff.entry.js.map} +1 -1
- package/dist/webcomponents/p-d31732da.system.entry.js +6 -0
- package/dist/webcomponents/{p-05343155.system.entry.js.map → p-d31732da.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-db4b272c.system.entry.js +6 -0
- package/dist/webcomponents/{p-ae629243.system.entry.js.map → p-db4b272c.system.entry.js.map} +1 -1
- package/dist/webcomponents/{p-2c2c8629.js → p-dbd35139.js} +2 -2
- package/dist/webcomponents/p-dbd35139.js.map +1 -0
- package/dist/webcomponents/p-e76f7113.system.entry.js +6 -0
- package/dist/webcomponents/{p-7a4e1265.system.entry.js.map → p-e76f7113.system.entry.js.map} +1 -1
- package/dist/webcomponents/p-f05d11f7.entry.js +6 -0
- package/dist/webcomponents/{p-61523bc9.entry.js.map → p-f05d11f7.entry.js.map} +1 -1
- package/dist/webcomponents/p-f5412db6.system.entry.js +6 -0
- package/dist/webcomponents/{p-8039a644.system.entry.js.map → p-f5412db6.system.entry.js.map} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/dist/webcomponents/webcomponents.esm.js.map +1 -1
- package/dist/webcomponents/webcomponents.js +1 -1
- package/hydrate/index.js +324 -30
- package/hydrate/index.mjs +324 -30
- package/package.json +1 -1
- package/vscode-data.json +45 -0
- package/dist/cjs/br-checkbox.cjs.entry.js +0 -76
- package/dist/cjs/br-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/br-input.cjs.entry.js +0 -150
- package/dist/cjs/br-input.cjs.entry.js.map +0 -1
- package/dist/cjs/br-list.cjs.entry.js +0 -82
- package/dist/cjs/br-list.cjs.entry.js.map +0 -1
- package/dist/cjs/br-radio.cjs.entry.js +0 -79
- package/dist/cjs/br-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/index-81c11ce2.js.map +0 -1
- package/dist/components/p-2d8e59f6.js.map +0 -1
- package/dist/components/p-e4af8eac.js +0 -6
- package/dist/esm/br-checkbox.entry.js +0 -72
- package/dist/esm/br-checkbox.entry.js.map +0 -1
- package/dist/esm/br-input.entry.js +0 -146
- package/dist/esm/br-input.entry.js.map +0 -1
- package/dist/esm/br-list.entry.js +0 -78
- package/dist/esm/br-list.entry.js.map +0 -1
- package/dist/esm/br-radio.entry.js +0 -75
- package/dist/esm/br-radio.entry.js.map +0 -1
- package/dist/esm/index-aab4a630.js.map +0 -1
- package/dist/esm-es5/br-checkbox.entry.js +0 -6
- package/dist/esm-es5/br-checkbox.entry.js.map +0 -1
- package/dist/esm-es5/br-input.entry.js +0 -6
- package/dist/esm-es5/br-input.entry.js.map +0 -1
- package/dist/esm-es5/br-list.entry.js +0 -6
- package/dist/esm-es5/br-list.entry.js.map +0 -1
- package/dist/esm-es5/br-radio.entry.js +0 -6
- package/dist/esm-es5/br-radio.entry.js.map +0 -1
- package/dist/esm-es5/index-aab4a630.js +0 -6
- package/dist/esm-es5/index-aab4a630.js.map +0 -1
- package/dist/webcomponents/p-05343155.system.entry.js +0 -6
- package/dist/webcomponents/p-183614c8.system.entry.js +0 -6
- package/dist/webcomponents/p-183614c8.system.entry.js.map +0 -1
- package/dist/webcomponents/p-2083ff7b.entry.js +0 -6
- package/dist/webcomponents/p-2083ff7b.entry.js.map +0 -1
- package/dist/webcomponents/p-24da392a.entry.js +0 -6
- package/dist/webcomponents/p-28476b17.system.entry.js +0 -6
- package/dist/webcomponents/p-2c2c8629.js.map +0 -1
- package/dist/webcomponents/p-3f00a196.entry.js +0 -6
- package/dist/webcomponents/p-430afeb5.system.js.map +0 -1
- package/dist/webcomponents/p-447c8036.entry.js +0 -6
- package/dist/webcomponents/p-5539ffa8.entry.js +0 -6
- package/dist/webcomponents/p-55604b7f.system.entry.js +0 -6
- package/dist/webcomponents/p-61523bc9.entry.js +0 -6
- package/dist/webcomponents/p-626fe2cb.entry.js +0 -6
- package/dist/webcomponents/p-6a8226b3.system.entry.js +0 -6
- package/dist/webcomponents/p-7a4e1265.system.entry.js +0 -6
- package/dist/webcomponents/p-8039a644.system.entry.js +0 -6
- package/dist/webcomponents/p-842b2513.entry.js +0 -6
- package/dist/webcomponents/p-8f156fc4.system.entry.js +0 -6
- package/dist/webcomponents/p-8f156fc4.system.entry.js.map +0 -1
- package/dist/webcomponents/p-9f0d01d1.entry.js +0 -6
- package/dist/webcomponents/p-9f0d01d1.entry.js.map +0 -1
- package/dist/webcomponents/p-ae629243.system.entry.js +0 -6
- package/dist/webcomponents/p-b88a5d9a.system.js +0 -6
- package/dist/webcomponents/p-b88a5d9a.system.js.map +0 -1
- package/dist/webcomponents/p-b9fd2bc0.system.entry.js +0 -6
- package/dist/webcomponents/p-b9fd2bc0.system.entry.js.map +0 -1
- package/dist/webcomponents/p-baad00f8.system.entry.js +0 -6
- package/dist/webcomponents/p-d174c8cd.entry.js +0 -6
- package/dist/webcomponents/p-d83e2172.system.entry.js +0 -17
- package/dist/webcomponents/p-dcf41d91.entry.js +0 -6
- package/dist/webcomponents/p-e027fca2.entry.js +0 -6
- package/dist/webcomponents/p-e027fca2.entry.js.map +0 -1
- package/dist/webcomponents/p-e6d921ef.entry.js +0 -17
- package/dist/webcomponents/p-e8b5b14f.entry.js +0 -6
- package/dist/webcomponents/p-e8b5b14f.entry.js.map +0 -1
- package/dist/webcomponents/p-f5e674ba.system.entry.js +0 -6
- package/dist/webcomponents/p-f5e674ba.system.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["uploadCss","BrUploadStyle0","UploadState","Upload","proxyCustomElement","H","this","inheritedAttributes","INFO","connectedCallback","brConnectedCallback","emit","componentWillLoad","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getCssClassMap","handleRemoveFileSelection","file","newArrayFilter","Array","from","filesSelected","filter","f","fileInput","shadowRoot","getElementById","value","renderFilesUploaded","fileSizes","_calculateFileSize","map","size","h","class","key","name","shape","type","onClick","onInputChange","files","length","console","error","sOutput","aMultiples","nMultiple","nApprox","toFixed","handleDrop","event","preventDefault","_a","dataTransfer","handleDragOver","handleFileSelection","click","render","Host","label","tabIndex","onDrop","onDragOver","height","Object","assign","id","onChange","$event","target","multiple","accept"],"sources":["src/components/upload/upload.scss?tag=br-upload&encapsulation=shadow","src/components/upload/upload.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/upload/upload.scss\";\n\n:host {\n display: block;\n}\n","// Start of Selection\nimport { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum UploadState {\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).\n *\n * @slot default - Descrição do slot\n */\n@Component({\n tag: 'br-upload',\n styleUrl: 'upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Upload {\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!: HTMLBrUploadElement\n\n /**\n * Tipos de arquivo permitidos (ex: 'image/*').\n * Esta propriedade define quais tipos de arquivos podem ser selecionados para upload.\n */\n @Prop() accept: string = ''\n\n /**\n * **[OBRIGATÓRIO]** Texto descritivo do campo de upload.\n * Este é o texto que é mostrado no label do textarea.\n */\n @Prop() label: string = 'Envio de arquivo'\n\n /**\n * Evento emitido quando um arquivo é selecionado.\n * Este estado armazena os arquivos que foram selecionados pelo usuário.\n */\n @State() filesSelected: FileList | null = null\n\n /**\n * Referência ao elemento de arquivo selecionado.\n * Este estado armazena o arquivo que foi selecionado para upload.\n */\n @State() file: File | null = null\n\n /**\n * Indica se o componente está desativado.\n * Quando definido como `true`, o campo de upload se torna não interativo,\n * impedindo que o usuário selecione ou envie arquivos.\n * Isso é útil para controlar a interação do usuário em situações específicas,\n * como durante o carregamento de dados ou quando o formulário está em um estado inválido.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * **[OBRIGATÓRIO]** Define o estado visual da mensagem.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) state: string = UploadState.INFO\n\n /**\n * Indica se o componente permite a seleção de múltiplos arquivos.\n * Quando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.\n */\n @Prop() multiple: boolean = false\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brConnectedCallback: EventEmitter<void>\n connectedCallback() {\n this.brConnectedCallback.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-upload': true,\n [this.state]: true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n private handleRemoveFileSelection(file: File) {\n const newArrayFilter = Array.from(this.filesSelected).filter((f) => f !== file)\n this.filesSelected = newArrayFilter as unknown as FileList\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.value = ''\n }\n\n private renderFilesUploaded() {\n const fileSizes = this._calculateFileSize(this.filesSelected)\n\n return fileSizes.map(({ file, size }) => {\n return (\n <div class=\"br-item d-flex\" key={file.name}>\n <div class=\"content text-primary-default mr-auto\">{file.name}</div>\n <div class=\"support mr-n2\">\n <span class=\"\">{size}</span>\n <br-button\n shape=\"circle\"\n type=\"button\"\n aria-label=\"Remover arquivo\"\n onClick={() => this.handleRemoveFileSelection(file)}\n >\n <br-icon icon-name=\"fa-solid:trash\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n </div>\n )\n })\n }\n\n private onInputChange(files: FileList) {\n if (files.length === 1) {\n this.filesSelected = files\n } else if (files.length > 0) {\n this.filesSelected = files\n } else {\n console.error(files.length === 0 ? 'NENHUM ARQUIVO ENVIADO' : 'VOCÊ SÓ PODE ENVIAR UM ARQUIVO POR VEZ')\n\n return false\n }\n }\n\n private _calculateFileSize(files: FileList) {\n return Array.from(files).map((file) => {\n let sOutput = ''\n const aMultiples = ['KB', 'MB', 'GB', 'TB']\n let nMultiple = 0\n let nApprox = file.size / 1024\n\n if (nApprox < 1) {\n sOutput = `${file.size} bytes`\n } else {\n while (nApprox > 1 && nMultiple < aMultiples.length) {\n sOutput = `${nApprox.toFixed(2)} ${aMultiples[nMultiple]}`\n nApprox /= 1024\n nMultiple++\n }\n }\n\n return { file: file, size: sOutput || 0 }\n })\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault()\n const files = event.dataTransfer?.files\n if (files && files.length > 0) {\n this.onInputChange(files)\n }\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault()\n }\n\n private handleFileSelection() {\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.click()\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <label class=\"upload-label\" form=\"single-file\">\n <span>{this.label}</span>\n </label>\n <button\n class=\"upload-button\"\n type=\"button\"\n aria-hidden=\"true\"\n tabIndex={this.disabled ? -1 : 0}\n disabled={this.disabled}\n aria-label=\"Selecionar arquivo para upload\"\n onClick={() => this.handleFileSelection()}\n onDrop={(event) => this.handleDrop(event)}\n onDragOver={(event) => this.handleDragOver(event)}\n >\n <br-icon icon-name=\"fa-solid:upload\" height=\"16\" aria-hidden=\"true\"></br-icon>\n <span>Selecione o arquivo</span>\n </button>\n\n <input\n class=\"upload-input\"\n id=\"single-file\"\n type=\"file\"\n aria-hidden=\"null\"\n aria-label=\"enviar arquivo\"\n onChange={($event: any) => this.onInputChange($event.target.files)}\n {...this.inheritedAttributes}\n multiple={this.multiple}\n disabled={this.disabled}\n accept={this.accept}\n />\n <div id=\"list-files\" class=\"upload-list\">\n {this.filesSelected ? this.renderFilesUploaded() : null}\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["uploadCss","BrUploadStyle0","UploadState","Upload","proxyCustomElement","H","this","inheritedAttributes","INFO","connectedCallback","brConnectedCallback","emit","componentWillLoad","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getCssClassMap","handleRemoveFileSelection","file","newArrayFilter","Array","from","filesSelected","filter","f","fileInput","shadowRoot","getElementById","value","renderFilesUploaded","fileSizes","_calculateFileSize","map","size","h","class","key","name","shape","type","onClick","onInputChange","files","length","console","error","sOutput","aMultiples","nMultiple","nApprox","toFixed","handleDrop","event","preventDefault","_a","dataTransfer","handleDragOver","handleFileSelection","click","render","Host","label","tabIndex","onDrop","onDragOver","height","Object","assign","id","onChange","$event","target","multiple","accept"],"sources":["src/components/upload/upload.scss?tag=br-upload&encapsulation=shadow","src/components/upload/upload.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/upload/upload.scss\";\n\n:host {\n display: block;\n}\n","// Start of Selection\nimport { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum UploadState {\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).\n *\n * @slot default - Descrição do slot\n */\n@Component({\n tag: 'br-upload',\n styleUrl: 'upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Upload {\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!: HTMLBrUploadElement\n\n /**\n * Tipos de arquivo permitidos (ex: 'image/*').\n * Esta propriedade define quais tipos de arquivos podem ser selecionados para upload.\n */\n @Prop() accept: string = ''\n\n /**\n * **[OBRIGATÓRIO]** Texto descritivo do campo de upload.\n * Este é o texto que é mostrado no label do textarea.\n */\n @Prop() label: string = 'Envio de arquivo'\n\n /**\n * Evento emitido quando um arquivo é selecionado.\n * Este estado armazena os arquivos que foram selecionados pelo usuário.\n */\n @State() filesSelected: FileList | null = null\n\n /**\n * Referência ao elemento de arquivo selecionado.\n * Este estado armazena o arquivo que foi selecionado para upload.\n */\n @State() file: File | null = null\n\n /**\n * Indica se o componente está desativado.\n * Quando definido como `true`, o campo de upload se torna não interativo,\n * impedindo que o usuário selecione ou envie arquivos.\n * Isso é útil para controlar a interação do usuário em situações específicas,\n * como durante o carregamento de dados ou quando o formulário está em um estado inválido.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * **[OBRIGATÓRIO]** Define o estado visual da mensagem.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) state: string = UploadState.INFO\n\n /**\n * Indica se o componente permite a seleção de múltiplos arquivos.\n * Quando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.\n */\n @Prop() multiple: boolean = false\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brConnectedCallback: EventEmitter<void>\n connectedCallback() {\n this.brConnectedCallback.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-upload': true,\n [this.state]: true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n private handleRemoveFileSelection(file: File) {\n const newArrayFilter = Array.from(this.filesSelected).filter((f) => f !== file)\n this.filesSelected = newArrayFilter as unknown as FileList\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.value = ''\n }\n\n private renderFilesUploaded() {\n const fileSizes = this._calculateFileSize(this.filesSelected)\n\n return fileSizes.map(({ file, size }) => {\n return (\n <div class=\"br-item d-flex\" key={file.name}>\n <div class=\"content text-primary-default mr-auto\">{file.name}</div>\n <div class=\"support mr-n2\">\n <span class=\"\">{size}</span>\n <br-button\n shape=\"circle\"\n type=\"button\"\n aria-label=\"Remover arquivo\"\n onClick={() => this.handleRemoveFileSelection(file)}\n >\n <br-icon icon-name=\"fa-solid:trash\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n </div>\n )\n })\n }\n\n private onInputChange(files: FileList) {\n if (files.length === 1) {\n this.filesSelected = files\n } else if (files.length > 0) {\n this.filesSelected = files\n } else {\n console.error(files.length === 0 ? 'NENHUM ARQUIVO ENVIADO' : 'VOCÊ SÓ PODE ENVIAR UM ARQUIVO POR VEZ')\n\n return false\n }\n }\n\n private _calculateFileSize(files: FileList) {\n return Array.from(files).map((file) => {\n let sOutput = ''\n const aMultiples = ['KB', 'MB', 'GB', 'TB']\n let nMultiple = 0\n let nApprox = file.size / 1024\n\n if (nApprox < 1) {\n sOutput = `${file.size} bytes`\n } else {\n while (nApprox > 1 && nMultiple < aMultiples.length) {\n sOutput = `${nApprox.toFixed(2)} ${aMultiples[nMultiple]}`\n nApprox /= 1024\n nMultiple++\n }\n }\n\n return { file: file, size: sOutput || 0 }\n })\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault()\n const files = event.dataTransfer?.files\n if (files && files.length > 0) {\n this.onInputChange(files)\n }\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault()\n }\n\n private handleFileSelection() {\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.click()\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <label class=\"upload-label\" form=\"single-file\">\n <span>{this.label}</span>\n </label>\n <button\n class=\"upload-button\"\n type=\"button\"\n aria-hidden=\"true\"\n tabIndex={this.disabled ? -1 : 0}\n disabled={this.disabled}\n aria-label=\"Selecionar arquivo para upload\"\n onClick={() => this.handleFileSelection()}\n onDrop={(event) => this.handleDrop(event)}\n onDragOver={(event) => this.handleDragOver(event)}\n >\n <br-icon icon-name=\"fa-solid:upload\" height=\"16\" aria-hidden=\"true\"></br-icon>\n <span>Selecione o arquivo</span>\n </button>\n\n <input\n class=\"upload-input\"\n id=\"single-file\"\n type=\"file\"\n aria-hidden=\"null\"\n aria-label=\"enviar arquivo\"\n onChange={($event: any) => this.onInputChange($event.target.files)}\n {...this.inheritedAttributes}\n multiple={this.multiple}\n disabled={this.disabled}\n accept={this.accept}\n />\n <div id=\"list-files\" class=\"upload-list\">\n {this.filesSelected ? this.renderFilesUploaded() : null}\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/components/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Construído com @govbr-ds/webcomponents
|
|
3
3
|
* Padrão Digital de Governo.
|
|
4
4
|
*/
|
|
5
|
-
export{g as getAssetPath,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-
|
|
5
|
+
export{g as getAssetPath,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-fabd9bdd.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído com @govbr-ds/webcomponents
|
|
3
|
+
* Padrão Digital de Governo.
|
|
4
|
+
*/
|
|
5
|
+
import{p as r,H as a,d as t,h as e,c as i}from"./p-fabd9bdd.js";import{i as o}from"./p-74a4eb38.js";import{v as n}from"./p-d5a8d30c.js";const l='*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-radio{--radio-size:24px;--radio-bullet-size:16px;--radio-bullet-position:calc((var(--radio-size) - var(--radio-bullet-size)) * 0.5);display:block}.br-radio+.br-radio{margin-top:var(--spacing-scale-base)}.br-radio input{opacity:0;position:absolute}.br-radio input+label{cursor:pointer;display:inline-block;margin-bottom:0;min-height:var(--radio-size);min-width:var(--radio-size);padding-left:calc(var(--spacing-scale-base) + var(--radio-size));position:relative}.br-radio input+label::before{background:var(--background);border:1px solid var(--border-color);border-radius:50%;content:"";height:var(--radio-size);left:0;position:absolute;top:-1px;width:var(--radio-size)}.br-radio input+label:empty{padding:0}.br-radio input+label:empty::before{top:0}.br-radio label{font-weight:var(--font-weight-medium)}.br-radio input:checked+label::after{background:var(--selected);border:7px solid var(--selected);border-radius:50%;content:"";height:var(--radio-bullet-size);left:var(--radio-bullet-position);position:absolute;right:0;top:calc(var(--radio-bullet-position) - 1px);width:var(--radio-bullet-size)}.br-radio input:checked+label:empty::after{top:var(--radio-bullet-position)}.br-radio.valid input+label::before,.br-radio[valid] input+label::before{border-color:var(--success)}.br-radio.invalid input+label::before,.br-radio[invalid] input+label::before{border-color:var(--danger)}.br-radio.small input+label,.br-radio[small] input+label{line-height:var(--spacing-scale-2xh);min-height:var(--spacing-scale-2xh)}.br-radio.small input+label::before,.br-radio[small] input+label::before{height:var(--spacing-scale-2xh);width:var(--spacing-scale-2xh)}.br-radio.small input:checked+label::after,.br-radio[small] input:checked+label::after{border-width:4px;height:10px;width:10px}.br-radio input:invalid+label::before{border-color:var(--danger)}.br-radio input:focus-visible:checked+label::before,.br-radio input:focus-visible+label::before{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-radio input:hover:not(:disabled)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-radio.dark-mode,.br-radio.dark-mode label{color:var(--color-dark)}:host{display:block}.br-radio.hidden-label label{padding-left:calc(var(--checkbox-size) + var(--surface-width-md) * 2);text-indent:-10000px;white-space:nowrap;width:0}';const s=l;const d=r(class r extends a{constructor(){super();this.__registerHost();this.__attachShadow();this.brDidChange=t(this,"brDidChange",7);this.elementInternals=this.attachInternals();this.inheritedAttributes={};this.onClick=r=>{r.stopPropagation();this.checked=r.target.checked};this.onChange=()=>{this.brDidChange.emit({id:this.customId,name:this.name,value:this.value,checked:this.checked})};this.checked=false;this.disabled=false;this.state=undefined;this.hasHiddenLabel=false;this.name=undefined;this.label=undefined;this.value=undefined;this.customId=`br-input-${n()}`}componentWillLoad(){this.inheritedAttributes=o(this.el)}onBrDidChange(r){if(r.detail.id!==this.customId&&r.detail.name===this.name){this.checked=false}}getCssClassMap(){return{"br-radio":true,valid:this.state==="valid",invalid:this.state==="invalid",disabled:this.disabled,"hidden-label":this.hasHiddenLabel}}render(){return e(i,{key:"3ed11ae0e5323aff8b2704f777edf22bad5def84","aria-disabled":this.disabled?"true":null},e("div",{key:"dc8eae8863c64195594ad5222128901af5abb71f",class:this.getCssClassMap()},e("input",Object.assign({key:"a633acde19c80bbd5a59c5e180b635abb57f8b92",part:"radio-input","aria-label":this.label,type:"radio",id:this.customId,name:this.name,checked:this.checked,disabled:this.disabled,value:this.value,onClick:this.onClick,onChange:this.onChange},this.inheritedAttributes)),e("label",{key:"1cc157f04674556b249d210f06e89eb0069964ba",part:"radio-label",htmlFor:this.customId},e("slot",{key:"3705e625ef30be9265f89cd67fb07c108ff10708"},this.label))))}static get formAssociated(){return true}get el(){return this}static get style(){return s}},[65,"br-radio",{checked:[1540],disabled:[516],state:[513],hasHiddenLabel:[516,"has-hidden-label"],name:[513],label:[513],value:[520],customId:[513,"id"]},[[8,"brDidChange","onBrDidChange"]]]);function c(){if(typeof customElements==="undefined"){return}const r=["br-radio"];r.forEach((r=>{switch(r){case"br-radio":if(!customElements.get(r)){customElements.define(r,d)}break}}))}c();export{d as R,c as d};
|
|
6
|
+
//# sourceMappingURL=p-22068d3c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["radioCss","BrRadioStyle0","Radio","proxyCustomElement","H","this","inheritedAttributes","onClick","event","stopPropagation","checked","target","onChange","brDidChange","emit","id","customId","name","value","uuidv4","componentWillLoad","inheritAriaAttributes","el","onBrDidChange","detail","getCssClassMap","valid","state","invalid","disabled","hasHiddenLabel","render","h","Host","key","class","Object","assign","part","label","type","htmlFor"],"sources":["src/components/radio/radio.scss?tag=br-radio&encapsulation=shadow","src/components/radio/radio.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/radio/radio.scss\";\n\n:host {\n display: block;\n}\n\n.br-radio.hidden-label {\n label {\n padding-left: calc(var(--checkbox-size) + var(--surface-width-md)* 2);\n text-indent: -10000px;\n white-space: nowrap;\n width: 0;\n }\n}\n ","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\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: HTMLBrRadioElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é 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 }) state: 'valid' | 'invalid'\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, attribute: 'has-hidden-label' }) hasHiddenLabel: boolean = false\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios 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\n @Prop({ reflect: true }) name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n /**\n * Identificador único do input.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Componente teve seu estado \"checked\" alterado\n */\n @Event({ bubbles: true, composed: true }) brDidChange: EventEmitter\n\n // Ouvinte para o evento \"brDidChange\"\n @Listen('brDidChange', { target: 'window' })\n onBrDidChange(event: CustomEvent) {\n if (event.detail.id !== this.customId && event.detail.name === this.name) {\n this.checked = false\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': 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 inheritedAttributes: Attributes = {}\n\n /**\n * Handler para o event \"click\"\n * @param event Objeto Event\n */\n private readonly onClick = (event: MouseEvent) => {\n event.stopPropagation()\n this.checked = (event.target as HTMLInputElement).checked\n }\n\n /**\n * Handler para o evento \"change\"\n */\n private readonly onChange = () => {\n this.brDidChange.emit({ id: this.customId, name: this.name, value: this.value, checked: this.checked })\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()}>\n <input\n part=\"radio-input\"\n aria-label={this.label}\n type=\"radio\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={this.onClick}\n onChange={this.onChange}\n {...this.inheritedAttributes}\n />\n <label part=\"radio-label\" htmlFor={this.customId}>\n <slot>{this.label}</slot>\n </label>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":";;;;wIAAA,MAAMA,EAAW,mgYACjB,MAAAC,EAAeD,E,MCgBFE,EAAKC,EAAA,MAAAD,UAAAE,E,wJAwFRC,KAAAC,oBAAkC,GAMzBD,KAAAE,QAAWC,IAC1BA,EAAMC,kBACNJ,KAAKK,QAAWF,EAAMG,OAA4BD,OAAO,EAM1CL,KAAAO,SAAW,KAC1BP,KAAKQ,YAAYC,KAAK,CAAEC,GAAIV,KAAKW,SAAUC,KAAMZ,KAAKY,KAAMC,MAAOb,KAAKa,MAAOR,QAASL,KAAKK,SAAU,E,aA1F9C,M,cAKd,M,yCAeqC,M,4EA0BrB,YAAYS,K,CAEzE,iBAAAC,GACEf,KAAKC,oBAAsBe,EAAsBhB,KAAKiB,G,CAUxD,aAAAC,CAAcf,GACZ,GAAIA,EAAMgB,OAAOT,KAAOV,KAAKW,UAAYR,EAAMgB,OAAOP,OAASZ,KAAKY,KAAM,CACxEZ,KAAKK,QAAU,K,EAIX,cAAAe,GACN,MAAO,CACL,WAAY,KACZC,MAAOrB,KAAKsB,QAAU,QACtBC,QAASvB,KAAKsB,QAAU,UACxBE,SAAUxB,KAAKwB,SACf,eAAgBxB,KAAKyB,e,CAsBzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DAAgB7B,KAAKwB,SAAW,OAAS,MAC5CG,EAAA,OAAAE,IAAA,2CAAKC,MAAO9B,KAAKoB,kBACfO,EAAA,QAAAI,OAAAC,OAAA,CAAAH,IAAA,2CACEI,KAAK,cAAa,aACNjC,KAAKkC,MACjBC,KAAK,QACLzB,GAAIV,KAAKW,SACTC,KAAMZ,KAAKY,KACXP,QAASL,KAAKK,QACdmB,SAAUxB,KAAKwB,SACfX,MAAOb,KAAKa,MACZX,QAASF,KAAKE,QACdK,SAAUP,KAAKO,UACXP,KAAKC,sBAEX0B,EAAA,SAAAE,IAAA,2CAAOI,KAAK,cAAcG,QAASpC,KAAKW,UACtCgB,EAAA,QAAAE,IAAA,4CAAO7B,KAAKkC,S","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído com @govbr-ds/webcomponents
|
|
3
|
+
* Padrão Digital de Governo.
|
|
4
|
+
*/
|
|
5
|
+
import{p as e,H as r,d as a,h as t,c as i}from"./p-fabd9bdd.js";import{i as o}from"./p-74a4eb38.js";import{v as n}from"./p-d5a8d30c.js";const l='*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-checkbox{--checkbox-padding:var(--spacing-scale-base);--checkbox-size:24px;display:-ms-flexbox;display:flex;position:relative}.br-checkbox+.br-checkbox{margin-top:var(--spacing-scale-base)}.br-checkbox input{margin:0;opacity:0;position:absolute}.br-checkbox input+label{cursor:pointer;display:inline-block;margin-bottom:0;min-height:var(--checkbox-size);min-width:var(--checkbox-size);padding-left:calc(var(--spacing-scale-base) + var(--checkbox-size));position:relative}.br-checkbox input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:4px;content:"";height:var(--checkbox-size);left:0;position:absolute;width:var(--checkbox-size)}.br-checkbox input+label:empty{padding:0}.br-checkbox label{font-weight:var(--font-weight-medium)}.br-checkbox.hidden-label label{padding-left:calc(var(--checkbox-size) + var(--surface-width-md) * 2);text-indent:-10000px;white-space:nowrap;width:0}.br-checkbox input:checked+label::after,.br-checkbox input:indeterminate+label::after{border:solid var(--selected);border-width:0 3px 3px 0;content:"";height:var(--icon-size-sm);left:8px;position:absolute;top:4px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:8px}.br-checkbox input[indeterminate]+label::before,.br-checkbox input:indeterminate+label::before{--interactive-rgb:var(--color-rgb);background:var(--selected);border-color:var(--selected)}.br-checkbox input[indeterminate]:hover:not(:disabled)+label::before,.br-checkbox input:indeterminate:hover:not(:disabled)+label::before{--interactive-rgb:var(--color-dark-rgb)}.br-checkbox input[indeterminate]:checked+label::after,.br-checkbox input[indeterminate]+label::after,.br-checkbox input:indeterminate:checked+label::after,.br-checkbox input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;top:2px;-webkit-transform:none;transform:none}.br-checkbox.invalid input+label::before,.br-checkbox[invalid] input+label::before{--border-color:var(--danger)}.br-checkbox.invalid input:focus-visible:checked+label::before,.br-checkbox.invalid input:focus-visible+label::before,.br-checkbox[invalid] input:focus-visible:checked+label::before,.br-checkbox[invalid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.invalid input:checked+label::before,.br-checkbox[invalid] input:checked+label::before{--border-color:var(--danger)}.br-checkbox.valid input+label::before,.br-checkbox[valid] input+label::before{--border-color:var(--success)}.br-checkbox.valid input:focus-visible:checked+label::before,.br-checkbox.valid input:focus-visible+label::before,.br-checkbox[valid] input:focus-visible:checked+label::before,.br-checkbox[valid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.valid input:checked+label::before,.br-checkbox[valid] input:checked+label::before{--border-color:var(--success)}.br-checkbox.small input+label,.br-checkbox[small] input+label{line-height:var(--spacing-scale-2xh);min-height:var(--spacing-scale-2xh)}.br-checkbox.small input+label::before,.br-checkbox[small] input+label::before{height:var(--spacing-scale-2xh);width:var(--spacing-scale-2xh)}.br-checkbox.small input:checked+label::after,.br-checkbox[small] input:checked+label::after{border-width:0 2px 2px 0;height:var(--icon-size-sm);left:7px;top:4px;width:6px}.br-checkbox.small input[indeterminate]+label::after,.br-checkbox.small input:indeterminate+label::after,.br-checkbox[small] input[indeterminate]+label::after,.br-checkbox[small] input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;left:7px;top:1px;-webkit-transform:none;transform:none;width:6px}.br-checkbox input:invalid+label::before{--border-color:var(--danger)}.br-checkbox input:focus-visible:checked+label::before,.br-checkbox input:focus-visible+label::before{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-checkbox input:hover:not(:disabled)+label::before{--interactive-rgb:var(--interactive-light-rgb);background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-checkbox:not(.disabled) input:disabled+label{cursor:not-allowed;opacity:var(--disabled)}.br-checkbox:not(.disabled) input:disabled+label *{pointer-events:none}.br-checkbox.dark-mode,.br-checkbox.dark-mode label{color:var(--color-dark)}:host{display:block}';const c=l;const s=e(class e extends r{constructor(){super();this.__registerHost();this.__attachShadow();this.brDidCheckedChange=a(this,"brDidCheckedChange",7);this.elementInternals=this.attachInternals();this.inheritedAttributes={};this.handleCheckedChange=e=>{this.checked=e.target.checked;this.brDidCheckedChange.emit(this.checked)};this.indeterminate=false;this.checked=false;this.customId=`br-input-${n()}`;this.disabled=false;this.hasHiddenLabel=false;this.label=undefined;this.name=undefined;this.state=undefined;this.value=undefined;this._slotDefault=false}componentWillLoad(){this.inheritedAttributes=o(this.el);this.hasSlotContentDefault()}hasSlotContentDefault(){this._slotDefault=this.el.innerHTML!==""}getCssClassMap(){return{"br-checkbox":true,valid:this.state==="valid",invalid:this.state==="invalid",disabled:this.disabled,"hidden-label":this.hasHiddenLabel}}async toggleChecked(){this.checked=!this.checked;this.brDidCheckedChange.emit(this.checked)}render(){return t(i,{key:"a4a2241b6ebf30cb2a443bea2c5d8b0a1b28f2c5"},t("div",{key:"b21dda9eee24e48f9c5fbbc85cbb1419f24897f7",class:this.getCssClassMap()},t("input",Object.assign({key:"1ebffc2b476181f66f1e5ade165a1b6b087d9040",type:"checkbox",id:this.customId,name:this.name,checked:this.checked,disabled:this.disabled,indeterminate:this.indeterminate,value:this.value,onChange:this.handleCheckedChange},this.inheritedAttributes)),t("label",{key:"8d2f67677ee74c4ff8a833ba46013286dff25f45",htmlFor:this.customId},this._slotDefault?t("slot",null):this.label)))}static get formAssociated(){return true}get el(){return this}static get style(){return c}},[65,"br-checkbox",{indeterminate:[516],checked:[1540],customId:[513,"id"],disabled:[516],hasHiddenLabel:[516,"has-hidden-label"],label:[513],name:[513],state:[513],value:[520],_slotDefault:[32],toggleChecked:[64]}]);function b(){if(typeof customElements==="undefined"){return}const e=["br-checkbox"];e.forEach((e=>{switch(e){case"br-checkbox":if(!customElements.get(e)){customElements.define(e,s)}break}}))}b();export{s as C,b as d};
|
|
6
|
+
//# sourceMappingURL=p-62776355.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["checkboxCss","BrCheckboxStyle0","Checkbox","proxyCustomElement","H","this","inheritedAttributes","handleCheckedChange","event","checked","target","brDidCheckedChange","emit","uuidv4","componentWillLoad","inheritAriaAttributes","el","hasSlotContentDefault","_slotDefault","innerHTML","getCssClassMap","valid","state","invalid","disabled","hasHiddenLabel","toggleChecked","render","h","Host","key","class","Object","assign","type","id","customId","name","indeterminate","value","onChange","htmlFor","label"],"sources":["src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox.scss\";\n\n:host {\n display: block;\n}\n\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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 * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\n\n /**\n * 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 do input.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) 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 }) 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 }) 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 }) 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 }) 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 }) value: any\n\n @State() _slotDefault: boolean = false\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.hasSlotContentDefault()\n }\n\n private hasSlotContentDefault(): any {\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 inheritedAttributes: Attributes = {}\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidCheckedChange: EventEmitter<boolean>\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.brDidCheckedChange.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 indeterminate={this.indeterminate}\n value={this.value}\n onChange={this.handleCheckedChange}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.customId}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":";;;;wIAAA,MAAMA,EAAc,u8bACpB,MAAAC,EAAeD,E,MCeFE,EAAQC,EAAA,MAAAD,UAAAE,E,sKAwFXC,KAAAC,oBAAkC,GAMzBD,KAAAE,oBAAuBC,IACtCH,KAAKI,QAAWD,EAAME,OAA4BD,QAClDJ,KAAKM,mBAAmBC,KAAKP,KAAKI,QAAQ,E,mBAlFM,M,aAMS,M,cAME,YAAYI,M,cAK5B,M,oBAMM,M,qGA8BlB,K,CAEjC,iBAAAC,GACET,KAAKC,oBAAsBS,EAAsBV,KAAKW,IACtDX,KAAKY,uB,CAGC,qBAAAA,GACNZ,KAAKa,aAAeb,KAAKW,GAAGG,YAAc,E,CAGpC,cAAAC,GACN,MAAO,CACL,cAAe,KACfC,MAAOhB,KAAKiB,QAAU,QACtBC,QAASlB,KAAKiB,QAAU,UACxBE,SAAUnB,KAAKmB,SACf,eAAgBnB,KAAKoB,e,CAmBzB,mBAAMC,GACJrB,KAAKI,SAAWJ,KAAKI,QACrBJ,KAAKM,mBAAmBC,KAAKP,KAAKI,Q,CAGpC,MAAAkB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAO1B,KAAKe,kBACfQ,EAAA,QAAAI,OAAAC,OAAA,CAAAH,IAAA,2CACEI,KAAK,WACLC,GAAI9B,KAAK+B,SACTC,KAAMhC,KAAKgC,KACX5B,QAASJ,KAAKI,QACde,SAAUnB,KAAKmB,SACfc,cAAejC,KAAKiC,cACpBC,MAAOlC,KAAKkC,MACZC,SAAUnC,KAAKE,qBACXF,KAAKC,sBAEXsB,EAAA,SAAAE,IAAA,2CAAOW,QAASpC,KAAK+B,UAAW/B,KAAKa,aAAeU,EAAA,aAAgBvB,KAAKqC,Q","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído com @govbr-ds/webcomponents
|
|
3
|
+
* Padrão Digital de Governo.
|
|
4
|
+
*/
|
|
5
|
+
import{p as r,H as a,h as t,c as o}from"./p-fabd9bdd.js";import{i}from"./p-74a4eb38.js";const e='*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-button{--button-radius:100em;--button-xsmall:24px;--button-small:32px;--button-medium:40px;--button-large:48px;--button-size:var(--button-medium);-ms-flex-align:center;align-items:center;background-color:transparent;border:0;border-radius:var(--button-radius);color:var(--interactive);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);height:var(--button-size);-ms-flex-pack:center;justify-content:center;overflow:hidden;padding:0 var(--spacing-scale-3x);position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.br-button.block{width:100%}.br-button.circle,.br-button[circle]{border-radius:50%;padding:0;width:var(--button-size)}.br-button.small,.br-button[small]{--button-size:var(--button-small)}.br-button.medium,.br-button[medium],.br-button.is-medium{--button-size:var(--button-medium)}.br-button.large,.br-button[large]{--button-size:var(--button-large)}.br-button.primary,.br-button[primary]{--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);color:var(--color-dark)}.br-button.secondary,.br-button[secondary]{background-color:var(--background-light);border:1px solid var(--interactive)}.br-button.danger,.br-button[danger]{background-color:var(--danger);--interactive-rgb:var(--color-dark-rgb);color:var(--color-dark)}.br-button.success,.br-button[success]{background-color:var(--success);--interactive-rgb:var(--color-dark-rgb);color:var(--color-dark)}.br-button.warning,.br-button[warning]{background-color:var(--warning);--interactive-rgb:var(--color-light-rgb);color:var(--color-light)}.br-button.info,.br-button[info]{background-color:var(--info);--interactive-rgb:var(--color-dark-rgb);color:var(--color-dark)}.br-button:disabled{cursor:not-allowed}.br-button:not(:disabled){--focus-offset:var(--spacing-scale-half)}.br-button:not(:disabled):focus{outline:none}.br-button:not(:disabled):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button:not(:disabled):not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-button:not(:disabled):not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-button.active,.br-button.is-active,.br-button[active]{--hover:var(--hover-dark);background-color:var(--active);color:var(--color-dark)}.br-button.loading{color:transparent !important;cursor:progress}.br-button.loading:not(:disabled):hover{background-image:none}.br-button.loading::before{border-color:var(--interactive) var(--interactive) transparent;border-style:solid}.br-button.loading.primary::before,.br-button.loading.danger::before,.br-button.loading.success::before,.br-button.loading.info::before{border-color:var(--background) var(--background) transparent}.br-button.dark-mode{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);color:var(--interactive-dark)}.br-button.dark-mode.primary,.br-button.dark-mode[primary]{--interactive-rgb:var(--background-dark-rgb);background-color:var(--interactive-dark);color:var(--background-dark)}.br-button.dark-mode.secondary,.br-button.dark-mode[secondary]{background-color:var(--background-dark)}.br-button.dark-mode.active{--hover:var(--hover-light);--interactive-rgb:var(--active-rgb);background-color:var(--background-light);color:var(--active)}a.br-button{font-weight:var(--font-weight-semi-bold);text-decoration:none !important}.loading,.br-loading{--loading-size:var(--loading-indetermined-diameter-sm);--loading-diameter:84px;--loading-stroke:5px;--loading-indetermined-color:var(--interactive);--loading-indetermined-diameter-md:44px;--loading-indetermined-diameter-sm:24px;position:relative;z-index:var(--z-index-layer-4)}.loading[data-progress]:not(:empty),.br-loading[data-progress]:not(:empty){background-color:var(--border-color);border-radius:50%}.loading[data-progress]:not(:empty)::before,.br-loading[data-progress]:not(:empty)::before{content:none}.loading[data-progress]::after,.br-loading[data-progress]::after{--loading-size:calc(var(--loading-diameter) - var(--loading-stroke) * 2);background:var(--background);border-radius:50%;color:var(--interactive);content:attr(data-progress) "%";font-size:var(--font-size-scale-up-02);font-weight:var(--font-weight-semi-bold);height:var(--loading-size);line-height:var(--loading-size);margin:var(--loading-stroke);position:absolute;text-align:center;width:var(--loading-size)}.loading[data-progress] .br-loading-mask,.loading[data-progress] .br-loading-fill,.br-loading[data-progress] .br-loading-mask,.br-loading[data-progress] .br-loading-fill{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:50%;clip:rect(0, var(--loading-diameter), var(--loading-diameter), calc(var(--loading-diameter) * 0.5));height:var(--loading-diameter);overflow:hidden;position:absolute;width:var(--loading-diameter)}.loading[data-progress] .br-loading-fill,.br-loading[data-progress] .br-loading-fill{background:var(--interactive);clip:rect(0, calc(var(--loading-diameter) * 0.5), var(--loading-diameter), 0)}.loading::before,.br-loading::before{-webkit-animation:spinAround 1.3s infinite linear;animation:spinAround 1.3s infinite linear;border:2px solid var(--loading-indetermined-color);border-radius:50%;border-right-color:transparent;content:"";display:block;height:var(--loading-size);left:calc(50% - var(--loading-size) * 0.5);position:absolute;top:calc(50% - var(--loading-size) * 0.5);width:var(--loading-size)}.loading:not(.br-button),.br-loading:not(.br-button){height:var(--loading-size);width:var(--loading-size)}.loading:not(.br-button).medium,.br-loading:not(.br-button).medium{--loading-size:var(--loading-indetermined-diameter-md)}.loading:not(.br-button).medium::before,.br-loading:not(.br-button).medium::before{border-width:4px}.loading:not(.br-button)[data-progress],.br-loading:not(.br-button)[data-progress]{--loading-size:var(--loading-diameter)}.loading:not(.br-button)[data-progress]::before,.br-loading:not(.br-button)[data-progress]::before{border-width:var(--loading-stroke)}.loading[data-progress="1"] .br-loading-mask.full,.loading[data-progress="1"] .br-loading-fill,.br-loading[data-progress="1"] .br-loading-mask.full,.br-loading[data-progress="1"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(1.8deg);transform:rotate(1.8deg)}.loading[data-progress="2"] .br-loading-mask.full,.loading[data-progress="2"] .br-loading-fill,.br-loading[data-progress="2"] .br-loading-mask.full,.br-loading[data-progress="2"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(3.6deg);transform:rotate(3.6deg)}.loading[data-progress="3"] .br-loading-mask.full,.loading[data-progress="3"] .br-loading-fill,.br-loading[data-progress="3"] .br-loading-mask.full,.br-loading[data-progress="3"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(5.4deg);transform:rotate(5.4deg)}.loading[data-progress="5"] .br-loading-mask.full,.loading[data-progress="5"] .br-loading-fill,.br-loading[data-progress="5"] .br-loading-mask.full,.br-loading[data-progress="5"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(9deg);transform:rotate(9deg)}.loading[data-progress="10"] .br-loading-mask.full,.loading[data-progress="10"] .br-loading-fill,.br-loading[data-progress="10"] .br-loading-mask.full,.br-loading[data-progress="10"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(18deg);transform:rotate(18deg)}.loading[data-progress="16"] .br-loading-mask.full,.loading[data-progress="16"] .br-loading-fill,.br-loading[data-progress="16"] .br-loading-mask.full,.br-loading[data-progress="16"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(28.8deg);transform:rotate(28.8deg)}.loading[data-progress="20"] .br-loading-mask.full,.loading[data-progress="20"] .br-loading-fill,.br-loading[data-progress="20"] .br-loading-mask.full,.br-loading[data-progress="20"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(36deg);transform:rotate(36deg)}.loading[data-progress="24"] .br-loading-mask.full,.loading[data-progress="24"] .br-loading-fill,.br-loading[data-progress="24"] .br-loading-mask.full,.br-loading[data-progress="24"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(43.2deg);transform:rotate(43.2deg)}.loading[data-progress="48"] .br-loading-mask.full,.loading[data-progress="48"] .br-loading-fill,.br-loading[data-progress="48"] .br-loading-mask.full,.br-loading[data-progress="48"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(86.4deg);transform:rotate(86.4deg)}.loading[data-progress="50"] .br-loading-mask.full,.loading[data-progress="50"] .br-loading-fill,.br-loading[data-progress="50"] .br-loading-mask.full,.br-loading[data-progress="50"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.loading[data-progress="70"] .br-loading-mask.full,.loading[data-progress="70"] .br-loading-fill,.br-loading[data-progress="70"] .br-loading-mask.full,.br-loading[data-progress="70"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(126deg);transform:rotate(126deg)}.loading[data-progress="72"] .br-loading-mask.full,.loading[data-progress="72"] .br-loading-fill,.br-loading[data-progress="72"] .br-loading-mask.full,.br-loading[data-progress="72"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(129.6deg);transform:rotate(129.6deg)}.loading[data-progress="100"] .br-loading-mask.full,.loading[data-progress="100"] .br-loading-fill,.br-loading[data-progress="100"] .br-loading-mask.full,.br-loading[data-progress="100"] .br-loading-fill{-webkit-animation:fill ease-in-out 2s;animation:fill ease-in-out 2s;-webkit-transform:rotate(180deg);transform:rotate(180deg)}@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes fill{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fill{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}:host{display:block}button{display:-ms-flexbox;display:flex}button.icon-right{-ms-flex-direction:row-reverse;flex-direction:row-reverse}button.icon-left{-ms-flex-direction:row;flex-direction:row}';const n=e;const l=r(class r extends a{constructor(){super();this.__registerHost();this.__attachShadow();this.elementInternals=this.attachInternals();this.handleClick=()=>{if(this.type==="submit"){const r=new SubmitEvent("submit",{submitter:this.elementInternals.form,composed:true,cancelable:true,bubbles:true});this.elementInternals.form.dispatchEvent(r)}if(this.type==="reset"){this.elementInternals.form.reset()}};this.inheritedAttributes={};this.colorMode=undefined;this.density="medium";this.disabled=false;this.emphasis=undefined;this.isActive=false;this.isLoading=false;this.shape=undefined;this.type=undefined;this.value=undefined}componentWillLoad(){this.inheritedAttributes=i(this.el)}getCssClassMap(){return{"br-button":true,primary:this.emphasis==="primary",secondary:this.emphasis==="secondary",large:this.density==="large",small:this.density==="small",block:this.shape==="block",circle:this.shape==="circle",active:this.isActive,loading:this.isLoading,"dark-mode":this.colorMode==="dark"}}render(){return t(o,{key:"163d419411ac143f3743228d16fe833aa1b71c30","aria-disabled":this.disabled?"true":null},t("button",Object.assign({key:"b461c13bea0b05b7c20dcc62ecbb74c96b9d5097",class:this.getCssClassMap(),type:this.type,disabled:this.disabled,value:this.value,onClick:this.handleClick},this.inheritedAttributes),t("slot",{key:"50e37710881cb6c421184e5fede1888985c19e64"})))}static get formAssociated(){return true}get el(){return this}static get style(){return n}},[65,"br-button",{colorMode:[513,"color-mode"],density:[513],disabled:[516],emphasis:[513],isActive:[516,"is-active"],isLoading:[516,"is-loading"],shape:[513],type:[513],value:[513]}]);function s(){if(typeof customElements==="undefined"){return}const r=["br-button"];r.forEach((r=>{switch(r){case"br-button":if(!customElements.get(r)){customElements.define(r,l)}break}}))}s();export{l as B,s as d};
|
|
6
|
+
//# sourceMappingURL=p-67617725.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["buttonCss","BrButtonStyle0","Button","proxyCustomElement","H","this","handleClick","type","submitEvent","SubmitEvent","submitter","elementInternals","form","composed","cancelable","bubbles","dispatchEvent","reset","inheritedAttributes","componentWillLoad","inheritAriaAttributes","el","getCssClassMap","primary","emphasis","secondary","large","density","small","block","shape","circle","active","isActive","loading","isLoading","colorMode","render","h","Host","key","disabled","Object","assign","class","value","onClick"],"sources":["src/components/button/button.scss?tag=br-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/button/button.scss\";\n@import \"../../../../../node_modules/@govbr-ds/core/src/components/loading/loading.scss\";\n\n:host {\n display: block;\n}\n\nbutton {\n display: flex;\n &.icon-right {\n flex-direction: row-reverse;\n }\n &.icon-left {\n flex-direction: row;\n }\n}\n","import { AttachInternals, Component, Element, Host, Prop, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/button?tab=designer).\n *\n * @slot default - Espaço de conteúdo do button. Geralmente usado para incluir o rótulo.\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\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: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) colorMode: 'dark'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n * Valores possíveis:\n * - 'circle': Botão com formato circular.\n * - 'block': Botão com formato ovalado ocupando toda a largura disponível.\n * - 'pill': Botão com formato ovalado, com bordas arredondadas.\n */\n @Prop({ reflect: true }) shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n * Valores possíveis:\n * - 'button': Um botão padrão.\n * - 'reset': Um botão para redefinir o formulário.\n * - 'submit': Um botão para enviar o formulário.\n */\n @Prop({ reflect: true }) type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) value: string\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n class={this.getCssClassMap()}\n type={this.type}\n disabled={this.disabled}\n value={this.value}\n onClick={this.handleClick}\n {...this.inheritedAttributes}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n"],"mappings":";;;;wFAAA,MAAMA,EAAY,
|
|
1
|
+
{"version":3,"names":["buttonCss","BrButtonStyle0","Button","proxyCustomElement","H","this","handleClick","type","submitEvent","SubmitEvent","submitter","elementInternals","form","composed","cancelable","bubbles","dispatchEvent","reset","inheritedAttributes","componentWillLoad","inheritAriaAttributes","el","getCssClassMap","primary","emphasis","secondary","large","density","small","block","shape","circle","active","isActive","loading","isLoading","colorMode","render","h","Host","key","disabled","Object","assign","class","value","onClick"],"sources":["src/components/button/button.scss?tag=br-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/button/button.scss\";\n@import \"../../../../../node_modules/@govbr-ds/core/src/components/loading/loading.scss\";\n\n:host {\n display: block;\n}\n\nbutton {\n display: flex;\n &.icon-right {\n flex-direction: row-reverse;\n }\n &.icon-left {\n flex-direction: row;\n }\n}\n","import { AttachInternals, Component, Element, Host, Prop, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/button?tab=designer).\n *\n * @slot default - Espaço de conteúdo do button. Geralmente usado para incluir o rótulo.\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\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: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) colorMode: 'dark'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n * Valores possíveis:\n * - 'circle': Botão com formato circular.\n * - 'block': Botão com formato ovalado ocupando toda a largura disponível.\n * - 'pill': Botão com formato ovalado, com bordas arredondadas.\n */\n @Prop({ reflect: true }) shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n * Valores possíveis:\n * - 'button': Um botão padrão.\n * - 'reset': Um botão para redefinir o formulário.\n * - 'submit': Um botão para enviar o formulário.\n */\n @Prop({ reflect: true }) type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) value: string\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n class={this.getCssClassMap()}\n type={this.type}\n disabled={this.disabled}\n value={this.value}\n onClick={this.handleClick}\n {...this.inheritedAttributes}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n"],"mappings":";;;;wFAAA,MAAMA,EAAY,o3pBAClB,MAAAC,EAAeD,E,MCcFE,EAAMC,EAAA,MAAAD,UAAAE,E,+GAoEAC,KAAAC,YAAc,KAC7B,GAAID,KAAKE,OAAS,SAAU,CAC1B,MAAMC,EAAc,IAAIC,YAAY,SAAU,CAC5CC,UAAWL,KAAKM,iBAAiBC,KACjCC,SAAU,KACVC,WAAY,KACZC,QAAS,OAEXV,KAAKM,iBAAiBC,KAAKI,cAAcR,E,CAG3C,GAAIH,KAAKE,OAAS,QAAS,CACzBF,KAAKM,iBAAiBC,KAAKK,O,GAmBvBZ,KAAAa,oBAAkC,G,sCAlFuB,S,cAKpB,M,sCAWA,M,eAMC,M,8DAyB9C,iBAAAC,GACEd,KAAKa,oBAAsBE,EAAsBf,KAAKgB,G,CAmBhD,cAAAC,GACN,MAAO,CACL,YAAa,KACbC,QAASlB,KAAKmB,WAAa,UAC3BC,UAAWpB,KAAKmB,WAAa,YAC7BE,MAAOrB,KAAKsB,UAAY,QACxBC,MAAOvB,KAAKsB,UAAY,QACxBE,MAAOxB,KAAKyB,QAAU,QACtBC,OAAQ1B,KAAKyB,QAAU,SACvBE,OAAQ3B,KAAK4B,SACbC,QAAS7B,KAAK8B,UACd,YAAa9B,KAAK+B,YAAc,O,CAMpC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DAAgBnC,KAAKoC,SAAW,OAAS,MAC5CH,EAAA,SAAAI,OAAAC,OAAA,CAAAH,IAAA,2CACEI,MAAOvC,KAAKiB,iBACZf,KAAMF,KAAKE,KACXkC,SAAUpC,KAAKoC,SACfI,MAAOxC,KAAKwC,MACZC,QAASzC,KAAKC,aACVD,KAAKa,qBAEToB,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído com @govbr-ds/webcomponents
|
|
3
|
+
* Padrão Digital de Governo.
|
|
4
|
+
*/
|
|
5
|
+
import{p as r,H as t,h as e,c as i}from"./p-fabd9bdd.js";import{i as a}from"./p-74a4eb38.js";const o='*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-list{background-color:var(--background)}.br-list.horizontal{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.br-list.horizontal>.header{-ms-flex-positive:1;flex-grow:1;width:100%}.br-list.horizontal>.header+.br-divider{border-top:1px solid var(--border-color);width:100%}.br-list.horizontal>.br-item{-ms-flex:1;flex:1;height:auto;min-height:56px;width:auto}.br-list.horizontal>.br-item+.br-divider{border-width:0 1px 0 0;width:1px}.br-list.horizontal[data-toggle]>.br-item,.br-list.horizontal.toggle>.br-item{display:block}.br-list .br-item{text-align:left;width:100%}.br-list .br-item>.content{-ms-flex-align:var(--spacing-vertical-top);align-items:var(--spacing-vertical-top);display:-ms-flexbox;display:flex}.br-list .br-item>.content>.content{-ms-flex:1;flex:1}.br-list .br-item .content:hover button.br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-list .br-item[data-toggle]{cursor:pointer}.br-list .br-item[data-toggle]~.br-list .br-item{padding:var(--spacing-scale-base) var(--spacing-scale-3x)}.br-list .br-list{overflow:hidden;-webkit-transition:all 400ms ease-in-out;transition:all 400ms ease-in-out}.br-list .header{-ms-flex-align:var(--spacing-vertical-center);align-items:var(--spacing-vertical-center);display:-ms-flexbox;display:flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-bold);-ms-flex-pack:justify;justify-content:space-between;padding:var(--spacing-scale-base) var(--spacing-scale-2x)}.br-divider{--divider-size:var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content{-ms-flex-align:center;align-items:center;border:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.br-divider.content::after,.br-divider.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";-ms-flex:1;flex:1}.br-divider.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical{-ms-flex-item-align:stretch;align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content{-ms-flex-direction:column;flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.dark-mode{--border-color:var(--pure-0)}:host{display:block}:host .br-list.horizontal ::slotted(br-item){-ms-flex:1;flex:1;height:auto;min-height:56px;width:auto}';const n=o;const l=r(class r extends t{constructor(){super();this.__registerHost();this.__attachShadow();this.elementInternals=this.attachInternals();this.inheritedAttributes={};this.renderHeader=()=>{var r;if(((r=this.header)===null||r===void 0?void 0:r.length)>0||this.hasSlotContent("header")){return e("div",{class:"header"},this.header&&e("div",{class:"title"},this.header),this.hasSlotContent("header")&&e("div",{class:"d-flex"},e("slot",{name:"header"})))}return null};this.header=undefined;this.isHorizontal=false;this.hideHeaderDivider=false}componentWillLoad(){this.inheritedAttributes=a(this.el)}componentDidLoad(){if(this.isHorizontal){const r=Array.from(this.el.querySelectorAll("br-item"));r.forEach((r=>{const t=r.nextElementSibling;if(t===null||t===void 0?void 0:t.classList.contains("br-divider")){const r=t;r.style.borderWidth="0 1px 0 0";r.style.width="1px"}}))}const r=Array.from(this.el.querySelectorAll("br-item"));r.forEach((r=>{r.setAttribute("role","listitem")}))}getCssClassMap(){return{"br-list":true,horizontal:this.isHorizontal}}hasSlotContent(r){return this.el.querySelector(`[slot="${r}"]`)!==null}renderDivider(){if((this.header||this.hasSlotContent("header"))&&!this.hideHeaderDivider){return e("div",{class:"br-divider"})}return null}render(){return e(i,{key:"278e1c81fca5d8789ee8d6c2bf8dfac723135246"},e("div",Object.assign({key:"2772b9ef20bb4537f2de28395261b2eb273dd396",class:this.getCssClassMap()},this.inheritedAttributes,{role:"list"}),this.renderHeader(),this.renderDivider(),e("slot",{key:"5fe5afdd6081641872b63d9a9a9a5909e72d6f0b"})))}static get formAssociated(){return true}get el(){return this}static get style(){return n}},[65,"br-list",{header:[513],isHorizontal:[516,"is-horizontal"],hideHeaderDivider:[516,"hide-header-divider"]}]);function s(){if(typeof customElements==="undefined"){return}const r=["br-list"];r.forEach((r=>{switch(r){case"br-list":if(!customElements.get(r)){customElements.define(r,l)}break}}))}s();export{l as L,s as d};
|
|
6
|
+
//# sourceMappingURL=p-7882cb21.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["listCss","BrListStyle0","List","proxyCustomElement","H","this","inheritedAttributes","renderHeader","_a","header","length","hasSlotContent","h","class","name","componentWillLoad","inheritAriaAttributes","el","componentDidLoad","isHorizontal","slotItems","Array","from","querySelectorAll","forEach","item","nextElement","nextElementSibling","classList","contains","divider","style","borderWidth","width","items","setAttribute","getCssClassMap","horizontal","slotName","querySelector","renderDivider","hideHeaderDivider","render","Host","key","Object","assign","role"],"sources":["src/components/list/list.scss?tag=br-list&encapsulation=shadow","src/components/list/list.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/list/list.scss\";\n@import \"../../../../../node_modules/@govbr-ds/core/src/components/divider/divider.scss\";\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}\n","import { AttachInternals, Component, Element, Host, Prop, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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 }) header: string\n\n /**\n * Indica se a lista será horizontal. Por padrão, a lista é vertical.\n */\n @Prop({ reflect: true }) isHorizontal: boolean = false\n\n /**\n * Indica que o divider para o título da lista estará oculto.\n */\n @Prop({ reflect: true }) hideHeaderDivider: boolean = false\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\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 inheritedAttributes: Attributes = {}\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()} {...this.inheritedAttributes} role=\"list\">\n {this.renderHeader()}\n {this.renderDivider()}\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":";;;;6FAAA,MAAMA,EAAU,2rYAChB,MAAAC,EAAeD,E,MCeFE,EAAIC,EAAA,MAAAD,UAAAE,E,+GAuDPC,KAAAC,oBAAkC,GAKzBD,KAAAE,aAAe,K,MAC9B,KAAIC,EAAAH,KAAKI,UAAM,MAAAD,SAAA,SAAAA,EAAEE,QAAS,GAAKL,KAAKM,eAAe,UAAW,CAC5D,OACEC,EAAA,OAAKC,MAAM,UACRR,KAAKI,QAAUG,EAAA,OAAKC,MAAM,SAASR,KAAKI,QACxCJ,KAAKM,eAAe,WACnBC,EAAA,OAAKC,MAAM,UACTD,EAAA,QAAME,KAAK,Y,CAMrB,OAAO,IAAI,E,wCAxDoC,M,uBAKK,K,CAEtD,iBAAAC,GACEV,KAAKC,oBAAsBU,EAAsBX,KAAKY,G,CAGxD,gBAAAC,GACE,GAAIb,KAAKc,aAAc,CACrB,MAAMC,EAAYC,MAAMC,KAAKjB,KAAKY,GAAGM,iBAAiB,YAEtDH,EAAUI,SAASC,IACjB,MAAMC,EAAcD,EAAKE,mBACzB,GAAID,IAAW,MAAXA,SAAW,SAAXA,EAAaE,UAAUC,SAAS,cAAe,CACjD,MAAMC,EAAUJ,EAChBI,EAAQC,MAAMC,YAAc,YAC5BF,EAAQC,MAAME,MAAQ,K,KAK5B,MAAMC,EAAQb,MAAMC,KAAKjB,KAAKY,GAAGM,iBAAiB,YAClDW,EAAMV,SAASC,IACbA,EAAKU,aAAa,OAAQ,WAAW,G,CAIjC,cAAAC,GACN,MAAO,CACL,UAAW,KACXC,WAAYhC,KAAKc,a,CAMb,cAAAR,CAAe2B,GACrB,OAAOjC,KAAKY,GAAGsB,cAAc,UAAUD,SAAkB,I,CAkBnD,aAAAE,GACN,IAAKnC,KAAKI,QAAUJ,KAAKM,eAAe,aAAeN,KAAKoC,kBAAmB,CAC7E,OAAO7B,EAAA,OAAKC,MAAM,c,CAEpB,OAAO,I,CAGT,MAAA6B,GACE,OACE9B,EAAC+B,EAAI,CAAAC,IAAA,4CACHhC,EAAA,MAAAiC,OAAAC,OAAA,CAAAF,IAAA,2CAAK/B,MAAOR,KAAK+B,kBAAsB/B,KAAKC,oBAAmB,CAAEyC,KAAK,SACnE1C,KAAKE,eACLF,KAAKmC,gBACN5B,EAAA,QAAAgC,IAAA,8C","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Construído com @govbr-ds/webcomponents
|
|
3
|
+
* Padrão Digital de Governo.
|
|
4
|
+
*/
|
|
5
|
+
import{p as t,H as r,d as i,h as a,c as e}from"./p-fabd9bdd.js";import{i as o}from"./p-74a4eb38.js";import{d as n}from"./p-67617725.js";import{d as s}from"./p-b4b55ab7.js";import{v as l}from"./p-d5a8d30c.js";const c="*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-input{--input-button-margin:var(--spacing-scale-half);--input-padding:0 var(--spacing-scale-2x);--input-padding-button:var(--spacing-scale-5x);--input-padding-icon:var(--spacing-scale-5x);--input-size:var(--input-medium);--input-small:32px;--input-medium:40px;--input-large:48px;--input-highlight:56px;--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);color:var(--color);position:relative}.br-input input{background-color:var(--background-light);border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width);color:var(--color-light);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);height:var(--input-size);margin-top:var(--spacing-scale-half);padding-bottom:0;padding-left:var(--spacing-scale-2x);padding-right:var(--spacing-scale-2x);padding-top:0;width:100%}.br-input input::-ms-reveal,.br-input input::-ms-clear,.br-input input::-webkit-calendar-picker-indicator{display:none}.br-input input[type=search]::-webkit-search-decoration,.br-input input[type=search]::-webkit-search-cancel-button,.br-input input[type=search]::-webkit-search-results-button,.br-input input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.br-input.input-inline{display:-ms-flexbox;display:flex}.br-input.input-inline .input-label{margin-right:var(--spacing-scale-baseh);margin-top:calc(var(--input-size) * 0.5 - var(--spacing-scale-half))}.br-input.input-inline .input-content{-ms-flex:1;flex:1}.br-input .input-group{position:relative}.br-input .input-icon{-ms-flex-align:center;align-items:center;color:var(--border-color-alternative);display:-ms-flexbox;display:flex;height:var(--input-size);margin-left:var(--spacing-scale-baseh);position:absolute}.br-input .input-icon+input{padding-left:var(--input-padding-icon)}.br-input .br-button{--button-size:var(--button-small);--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);border-radius:50%;float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half)) * -1);padding:0;position:relative;-webkit-transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));width:var(--button-size)}.br-input.input-button input{padding-right:var(--input-padding-button)}.br-input.has-icon input{padding-right:var(--input-padding-icon)}.br-input.has-icon .br-button.circle{float:right;margin-right:var(--spacing-scale-half);margin-top:calc((var(--button-size) + var(--spacing-scale-half) + var(--spacing-scale-half)) * -1);-webkit-transform:translateY(0);transform:translateY(0)}.br-input.has-icon.small .br-button.circle{margin-top:calc((var(--button-size) + var(--spacing-scale-base)) * -1)}.br-input.has-icon.large .br-button.circle{margin-top:calc(var(--button-size) * -1)}.br-input.input-highlight{--input-button-margin:var(--spacing-scale-2x);--input-padding:0 var(--spacing-scale-3x);--input-padding-button:var(--spacing-scale-7x);--input-padding-icon:var(--spacing-scale-7x);--input-size:var(--input-highlight)}.br-input.input-highlight input{background-color:var(--gray-2);border-color:transparent;padding-left:var(--spacing-scale-3x);padding-right:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon{margin-left:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon+input{padding-left:var(--spacing-scale-7x)}.br-input .br-list{-webkit-box-shadow:var(--surface-shadow-md);box-shadow:var(--surface-shadow-md);max-height:530px;overflow:auto;position:absolute;width:100%;z-index:var(--z-index-layer-2)}.br-input .br-list::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}.br-input .br-list::-webkit-scrollbar-track{background:var(--gray-10)}.br-input .br-list::-webkit-scrollbar-thumb{background:var(--gray-30)}.br-input .br-list:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}.br-input .br-list .br-item{--item-padding-y:var(--spacing-scale-2x)}.br-input .br-list .br-item:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input .br-list .br-item:not(:first-child){border-top:var(--surface-width-sm) solid var(--border-color)}.br-input.success input{border-color:var(--success);border-width:2px}.br-input.danger input{border-color:var(--danger);border-width:2px}.br-input.warning input{border-color:var(--warning);border-width:2px}.br-input.info input{border-color:var(--info);border-width:2px}.br-input input:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input input:focus,.br-input input:focus-visible{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-input .feedback{margin-bottom:var(--spacing-scale-half)}.br-input.small{--input-size:var(--input-small)}.br-input.medium{--input-size:var(--input-medium)}.br-input.large{--input-size:var(--input-large)}.br-input.dark-mode,.br-input.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}:host{display:block}:host .br-input .input-icon{margin-top:0.1em;margin-left:var(--spacing-scale-base)}:host .br-input .input-icon+input{padding-left:calc(var(--input-padding-icon) + 3px)}.br-input br-button{float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half)) * -1);padding:0;position:relative}.button-transform{-webkit-transform:translateY(calc((var(--input-size) - 32px) * 0.5));transform:translateY(calc((var(--input-size) - 32px) * 0.5))}";const g=c;const p=t(class t extends r{constructor(){super();this.__registerHost();this.__attachShadow();this.valueChange=i(this,"valueChange",7);this.elementInternals=this.attachInternals();this.inheritedAttributes={};this.handleInput=t=>{this.value=t.target.value;this.valueChange.emit(this.value)};this.renderLabel=()=>{var t;if(((t=this.label)===null||t===void 0?void 0:t.length)>0){if(this.isInline){return a("div",{class:"input-label"},a("label",{class:"text-nowrap",htmlFor:this.customId},this.label))}else{return a("label",{htmlFor:this.customId},this.label)}}};this.renderInput=()=>a("input",Object.assign({class:this.isHighlight?"input-highlight":null,id:this.customId,autocomplete:this.autocomplete,disabled:this.disabled,autoCorrect:this.autocorrect,min:this.min,max:this.max,minLength:this.minlength,maxLength:this.maxlength,multiple:this.multiple,name:this.name,pattern:this.pattern,step:this.step,onInput:this.handleInput,placeholder:this.placeholder,readonly:this.readonly,required:this.required,title:this.el.title,type:this.type,value:this.value},this.inheritedAttributes));this.renderHelpText=()=>{var t;return((t=this.helpText)===null||t===void 0?void 0:t.length)>0?a("p",null,this.helpText):a("slot",{name:"help-text"})};this.renderIconPassword=()=>{const t=this.isPasswordVisible?"fa-solid:eye-slash":"fa-solid:eye";return a("br-icon",{"icon-name":t})};this.togglePasswordVisibility=()=>{const t=this.el.shadowRoot.querySelector("input");this.isPasswordVisible=!this.isPasswordVisible;t.type=this.isPasswordVisible?"text":"password"};this.renderInlineInputContent=()=>{if(this.hasIconSlot){return a("div",{class:"input-content"},this.renderInputWithIcon())}else{return a("div",{class:"input-content"},this.renderInputWithoutIcon())}};this.renderInputContent=()=>this.hasIconSlot?this.renderInputWithIcon():this.renderInputWithoutIcon();this.renderInputWithIcon=()=>a("div",{class:"input-group"},this.renderIconSlot(),this.renderInput(),this.renderButton(),this.renderHelpText());this.renderInputWithoutIcon=()=>[this.renderInput(),this.renderButton(),this.renderHelpText()];this.customId=`br-input-${l()}`;this.type="text";this.autocomplete=undefined;this.density="medium";this.disabled=false;this.isInline=false;this.isHighlight=false;this.state=undefined;this.label=undefined;this.name=undefined;this.placeholder=undefined;this.readonly=false;this.required=false;this.value=undefined;this.helpText=undefined;this.autocorrect="off";this.min=undefined;this.max=undefined;this.minlength=undefined;this.maxlength=undefined;this.multiple=false;this.pattern=undefined;this.step=undefined;this.isPasswordVisible=false;this.hasIconSlot=false;this.hasActionSlot=false}componentWillLoad(){this.hasIconSlot=this.hasSlotContent("icon");this.hasActionSlot=this.hasSlotContent("action");this.inheritedAttributes=o(this.el)}getInputCssClassMap(){return{"br-input":true,"input-button":this.hasActionSlot,small:this.density==="small",large:this.density==="large",medium:this.density==="medium","input-inline":this.isInline,"input-highlight":this.isHighlight,success:this.state==="success",danger:this.state==="danger",info:this.state==="info",warning:this.state==="warning"}}hasSlotContent(t){return this.el.querySelector(`[slot="${t}"]`)!==null}renderIconSlot(){if(this.hasSlotContent("icon")){return a("div",{class:"input-icon"},a("slot",{name:"icon"}))}}renderButton(){if(this.type==="password"){return a("br-button",{class:"button-transform",shape:"circle",density:"small","aria-label":"botão de ação do ícone",onClick:this.togglePasswordVisibility},this.renderIconPassword())}else if(this.hasSlotContent("action")){return a("br-button",{class:"button-transform",shape:"circle",density:"small","aria-label":"botão de ação do ícone"},a("slot",{name:"action"}))}return null}render(){return a(e,{key:"d5e8fec1c09589e9c9e9aa206b3c1669ef1f04f8"},a("div",{key:"431430f8d91e3086b114d4bc7fa3b43e9b5b9eab",class:this.getInputCssClassMap()},this.renderLabel(),this.isInline?this.renderInlineInputContent():this.renderInputContent()))}static get formAssociated(){return true}get el(){return this}static get style(){return g}},[65,"br-input",{customId:[513,"id"],type:[513],autocomplete:[513],density:[513],disabled:[516],isInline:[516,"is-inline"],isHighlight:[516,"is-highlight"],state:[513],label:[513],name:[513],placeholder:[513],readonly:[516],required:[516],value:[1537],helpText:[513,"help-text"],autocorrect:[513],min:[514],max:[514],minlength:[514],maxlength:[514],multiple:[516],pattern:[513],step:[514],isPasswordVisible:[32],hasIconSlot:[32],hasActionSlot:[32]}]);function d(){if(typeof customElements==="undefined"){return}const t=["br-input","br-button","br-icon"];t.forEach((t=>{switch(t){case"br-input":if(!customElements.get(t)){customElements.define(t,p)}break;case"br-button":if(!customElements.get(t)){n()}break;case"br-icon":if(!customElements.get(t)){s()}break}}))}d();export{p as I,d};
|
|
6
|
+
//# sourceMappingURL=p-7aca304a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["inputCss","BrInputStyle0","Input","proxyCustomElement","H","this","inheritedAttributes","handleInput","event","value","target","valueChange","emit","renderLabel","_a","label","length","isInline","h","class","htmlFor","customId","renderInput","Object","assign","isHighlight","id","autocomplete","disabled","autoCorrect","autocorrect","min","max","minLength","minlength","maxLength","maxlength","multiple","name","pattern","step","onInput","placeholder","readonly","required","title","el","type","renderHelpText","helpText","renderIconPassword","iconName","isPasswordVisible","togglePasswordVisibility","input","shadowRoot","querySelector","renderInlineInputContent","hasIconSlot","renderInputWithIcon","renderInputWithoutIcon","renderInputContent","renderIconSlot","renderButton","uuidv4","componentWillLoad","hasSlotContent","hasActionSlot","inheritAriaAttributes","getInputCssClassMap","small","density","large","medium","success","state","danger","info","warning","slotName","shape","onClick","render","Host","key"],"sources":["src/components/input/input.scss?tag=br-input&encapsulation=shadow","src/components/input/input.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/input/input.scss\";\n\n:host {\n display: block;\n\n .br-input .input-icon {\n margin-top: 0.1em;\n margin-left: var(--spacing-scale-base);\n }\n\n .br-input .input-icon + input {\n padding-left: calc(var(--input-padding-icon) + 3px);\n }\n}\n\n\n.br-input br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n}\n\n .button-transform{\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único do input.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) isHighlight: boolean = false\n\n /**\n * Define o estado do input\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) state: 'info' | 'warning' | 'danger' | 'success'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) required: boolean = false\n\n /**\n * Valor inicial exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) pattern: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) step: number\n\n @State() isPasswordVisible: boolean = false\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.state === 'success',\n danger: this.state === 'danger',\n info: this.state === 'info',\n warning: this.state === 'warning',\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange!: EventEmitter<string>\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return <label htmlFor={this.customId}>{this.label}</label>\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n {...this.inheritedAttributes}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n // onClick={this.onIconAction}\n >\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|