@govbr-ds/webcomponents 2.0.0-next.61 → 2.0.0-next.63
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-checkbox.br-input.br-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/br-checkbox_3.cjs.entry.js +17 -28
- package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +10 -15
- package/dist/cjs/br-datetime-picker.cjs.entry.js +18 -31
- package/dist/cjs/br-datetime-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +1 -1
- package/dist/cjs/br-dropdown_2.cjs.entry.js +73 -56
- package/dist/cjs/br-header-list.cjs.entry.js +6 -13
- package/dist/cjs/br-header-list.entry.cjs.js.map +1 -1
- package/dist/cjs/br-header.cjs.entry.js +2 -5
- package/dist/cjs/br-header.entry.cjs.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +3 -6
- package/dist/cjs/br-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +13 -16
- package/dist/cjs/br-message.entry.cjs.js.map +1 -1
- package/dist/cjs/br-modal.cjs.entry.js +123 -24
- package/dist/cjs/br-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/br-scrim.cjs.entry.js +108 -25
- package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +24 -29
- package/dist/cjs/br-skip-link.entry.cjs.js.map +1 -1
- package/dist/cjs/br-skiplink-item.cjs.entry.js +32 -37
- package/dist/cjs/br-skiplink-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step.br-step-item.entry.cjs.js.map +1 -1
- package/dist/cjs/br-step_2.cjs.entry.js +33 -56
- package/dist/cjs/br-switch.cjs.entry.js +3 -6
- package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +5 -8
- package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/br-tooltip.cjs.entry.js +1 -2
- package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard-panel.cjs.entry.js +6 -13
- package/dist/cjs/br-wizard-panel.entry.cjs.js.map +1 -1
- package/dist/cjs/br-wizard.cjs.entry.js +147 -182
- package/dist/cjs/br-wizard.entry.cjs.js.map +1 -1
- package/dist/cjs/{floating-ui-D_WzFT9x.js → floating-ui-CkTJEp-y.js} +11 -15
- package/dist/{esm/floating-ui-DBIzWbO2.js.map → cjs/floating-ui-CkTJEp-y.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +9 -16
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/collapse/collapse.js +10 -15
- package/dist/collection/components/collapse/collapse.js.map +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +18 -31
- package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +13 -20
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/header/header-list/header-list.js +6 -13
- package/dist/collection/components/header/header-list/header-list.js.map +1 -1
- package/dist/collection/components/header/header.js +2 -5
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/item/item.js +3 -6
- package/dist/collection/components/item/item.js.map +1 -1
- package/dist/collection/components/message/message.js +13 -16
- package/dist/collection/components/message/message.js.map +1 -1
- package/dist/collection/components/modal/modal.js +156 -46
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/radio/radio.js +8 -13
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/scrim/scrim.js +108 -25
- package/dist/collection/components/scrim/scrim.js.map +1 -1
- package/dist/collection/components/select/select.js +79 -36
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +32 -37
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -1
- package/dist/collection/components/skip-link/skip-link.js +24 -29
- package/dist/collection/components/skip-link/skip-link.js.map +1 -1
- package/dist/collection/components/step/step-item/step-item.js +13 -26
- package/dist/collection/components/step/step-item/step-item.js.map +1 -1
- package/dist/collection/components/step/step.js +20 -31
- package/dist/collection/components/step/step.js.map +1 -1
- package/dist/collection/components/switch/switch.js +3 -6
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +5 -8
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +6 -13
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js.map +1 -1
- package/dist/collection/components/wizard/wizard.js +147 -182
- package/dist/collection/components/wizard/wizard.js.map +1 -1
- package/dist/collection/pages/components/modal/index.js +1 -53
- package/dist/collection/utils/floating-ui.js +9 -12
- package/dist/collection/utils/floating-ui.js.map +1 -1
- package/dist/components/br-breadcrumb.js +3 -3
- package/dist/components/br-checkbox.js +4 -4
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.js +4 -4
- package/dist/components/br-datetime-picker.js +1981 -1995
- package/dist/components/br-datetime-picker.js.map +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.js +3 -3
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.js +31 -39
- package/dist/components/br-header-list.js.map +1 -1
- package/dist/components/br-header.js +63 -67
- package/dist/components/br-header.js.map +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-list.js +3 -3
- package/dist/components/br-message.js +28 -32
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-modal.js +140 -49
- package/dist/components/br-modal.js.map +1 -1
- package/dist/components/br-pagination.js +7 -7
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.js +112 -43
- package/dist/components/br-scrim.js.map +1 -1
- package/dist/components/br-select.js +3 -3
- package/dist/components/br-skip-link.js +38 -44
- package/dist/components/br-skip-link.js.map +1 -1
- package/dist/components/br-skiplink-item.js +55 -61
- package/dist/components/br-skiplink-item.js.map +1 -1
- package/dist/components/br-step-item.js +4 -4
- package/dist/components/br-step.js +4 -4
- package/dist/components/br-switch.js +12 -16
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/br-textarea.js +14 -18
- package/dist/components/br-textarea.js.map +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-wizard-panel.js +13 -21
- package/dist/components/br-wizard-panel.js.map +1 -1
- package/dist/components/br-wizard.js +190 -228
- package/dist/components/br-wizard.js.map +1 -1
- package/dist/components/{p-Cc75U9ZX.js → p-B_YesJM8.js} +26 -34
- package/dist/components/{p-Cc75U9ZX.js.map → p-B_YesJM8.js.map} +1 -1
- package/dist/components/{p-xFn46pdm.js → p-Bc03PTAW.js} +27 -39
- package/dist/components/{p-xFn46pdm.js.map → p-Bc03PTAW.js.map} +1 -1
- package/dist/components/{p-DzKEfDGA.js → p-Bri6ECVa.js} +27 -33
- package/dist/components/{p-DzKEfDGA.js.map → p-Bri6ECVa.js.map} +1 -1
- package/dist/components/{p-BZ8BetvD.js → p-CJSXIVVe.js} +17 -23
- package/dist/components/{p-BZ8BetvD.js.map → p-CJSXIVVe.js.map} +1 -1
- package/dist/components/{p-D9c7NikS.js → p-CWRBs6PD.js} +24 -38
- package/dist/components/{p-D9c7NikS.js.map → p-CWRBs6PD.js.map} +1 -1
- package/dist/components/{p-D0dPo1K5.js → p-CwtLw60M.js} +12 -16
- package/dist/components/{p-D0dPo1K5.js.map → p-CwtLw60M.js.map} +1 -1
- package/dist/components/{p-z1PVVVFI.js → p-DW63EY0U.js} +27 -35
- package/dist/components/{p-z1PVVVFI.js.map → p-DW63EY0U.js.map} +1 -1
- package/dist/components/{p-7kxAU6Gr.js → p-DdjKNpU3.js} +92 -72
- package/dist/components/p-DdjKNpU3.js.map +1 -0
- package/dist/{webcomponents/p-B4au_byv.js → components/p-k0WZfTfL.js} +121 -124
- package/dist/components/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
- package/dist/components/{p-OKkBxn1z.js → p-lIb35q2K.js} +3 -3
- package/dist/custom-elements.json +1613 -430
- package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +1 -1
- package/dist/esm/br-checkbox_3.entry.js +17 -28
- package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
- package/dist/esm/br-collapse_2.entry.js +10 -15
- package/dist/esm/br-datetime-picker.entry.js +18 -31
- package/dist/esm/br-datetime-picker.entry.js.map +1 -1
- package/dist/esm/br-dropdown.br-select.entry.js.map +1 -1
- package/dist/esm/br-dropdown_2.entry.js +73 -56
- package/dist/esm/br-header-list.entry.js +6 -13
- package/dist/esm/br-header-list.entry.js.map +1 -1
- package/dist/esm/br-header.entry.js +2 -5
- package/dist/esm/br-header.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +3 -6
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +13 -16
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-modal.entry.js +123 -24
- package/dist/esm/br-modal.entry.js.map +1 -1
- package/dist/esm/br-scrim.entry.js +108 -25
- package/dist/esm/br-scrim.entry.js.map +1 -1
- package/dist/esm/br-skip-link.entry.js +24 -29
- package/dist/esm/br-skip-link.entry.js.map +1 -1
- package/dist/esm/br-skiplink-item.entry.js +32 -37
- package/dist/esm/br-skiplink-item.entry.js.map +1 -1
- package/dist/esm/br-step.br-step-item.entry.js.map +1 -1
- package/dist/esm/br-step_2.entry.js +33 -56
- package/dist/esm/br-switch.entry.js +3 -6
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +5 -8
- package/dist/esm/br-textarea.entry.js.map +1 -1
- package/dist/esm/br-tooltip.entry.js +1 -2
- package/dist/esm/br-tooltip.entry.js.map +1 -1
- package/dist/esm/br-wizard-panel.entry.js +6 -13
- package/dist/esm/br-wizard-panel.entry.js.map +1 -1
- package/dist/esm/br-wizard.entry.js +147 -182
- package/dist/esm/br-wizard.entry.js.map +1 -1
- package/dist/esm/{floating-ui-DBIzWbO2.js → floating-ui-k0WZfTfL.js} +11 -15
- package/dist/{cjs/floating-ui-D_WzFT9x.js.map → esm/floating-ui-k0WZfTfL.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/hydrate/index.js +634 -578
- package/dist/hydrate/index.mjs +634 -578
- package/dist/types/components/modal/modal.d.ts +46 -4
- package/dist/types/components/scrim/scrim.d.ts +39 -1
- package/dist/types/components/select/select.d.ts +5 -0
- package/dist/types/components.d.ts +21 -11
- package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-datetime-picker.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header-list.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-header.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-modal.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skip-link.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-skiplink-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-step.br-step-item.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard-panel.entry.esm.js.map +1 -1
- package/dist/webcomponents/br-wizard.entry.esm.js.map +1 -1
- package/dist/webcomponents/{p-2fe329d6.entry.js → p-10e25a32.entry.js} +28 -34
- package/dist/webcomponents/p-10e25a32.entry.js.map +1 -0
- package/dist/webcomponents/{p-097912c2.entry.js → p-1991135d.entry.js} +30 -36
- package/dist/webcomponents/p-1991135d.entry.js.map +1 -0
- package/dist/webcomponents/{p-61e5421b.entry.js → p-27eb10f9.entry.js} +57 -61
- package/dist/webcomponents/p-27eb10f9.entry.js.map +1 -0
- package/dist/webcomponents/{p-5070161f.entry.js → p-30af66b3.entry.js} +45 -51
- package/dist/webcomponents/p-30af66b3.entry.js.map +1 -0
- package/dist/webcomponents/{p-9464b692.entry.js → p-336071a5.entry.js} +2 -4
- package/dist/webcomponents/p-336071a5.entry.js.map +1 -0
- package/dist/webcomponents/{p-8a034433.entry.js → p-462c5647.entry.js} +20 -24
- package/dist/webcomponents/p-462c5647.entry.js.map +1 -0
- package/dist/webcomponents/{p-d674cee3.entry.js → p-46dfc3ee.entry.js} +12 -16
- package/dist/webcomponents/p-46dfc3ee.entry.js.map +1 -0
- package/dist/webcomponents/{p-821b896c.entry.js → p-56aabe89.entry.js} +36 -44
- package/dist/webcomponents/p-56aabe89.entry.js.map +1 -0
- package/dist/webcomponents/{p-a615baaa.entry.js → p-5710a3e9.entry.js} +41 -65
- package/dist/webcomponents/p-5710a3e9.entry.js.map +1 -0
- package/dist/webcomponents/{p-1799a082.entry.js → p-6a9d2a0b.entry.js} +1996 -2010
- package/dist/webcomponents/p-6a9d2a0b.entry.js.map +1 -0
- package/dist/webcomponents/{p-8ad1f003.entry.js → p-83001853.entry.js} +175 -213
- package/dist/webcomponents/p-83001853.entry.js.map +1 -0
- package/dist/webcomponents/{p-28dba962.entry.js → p-90401ecd.entry.js} +124 -34
- package/dist/webcomponents/p-90401ecd.entry.js.map +1 -0
- package/dist/webcomponents/{p-e7b38c63.entry.js → p-a2eec4fb.entry.js} +112 -43
- package/dist/webcomponents/p-a2eec4fb.entry.js.map +1 -0
- package/dist/webcomponents/{p-d6475852.entry.js → p-c1b0a116.entry.js} +11 -19
- package/dist/webcomponents/p-c1b0a116.entry.js.map +1 -0
- package/dist/webcomponents/{p-c90a089a.entry.js → p-ca2d95f7.entry.js} +96 -83
- package/dist/webcomponents/p-ca2d95f7.entry.js.map +1 -0
- package/dist/webcomponents/{p-7ff6698f.entry.js → p-cfa86a23.entry.js} +10 -14
- package/dist/webcomponents/p-cfa86a23.entry.js.map +1 -0
- package/dist/webcomponents/{p-abc0ecbe.entry.js → p-e5875d3d.entry.js} +10 -14
- package/dist/webcomponents/p-e5875d3d.entry.js.map +1 -0
- package/dist/webcomponents/{p-0bfb0edf.entry.js → p-f2ea0d7e.entry.js} +133 -145
- package/dist/webcomponents/p-f2ea0d7e.entry.js.map +1 -0
- package/dist/{components/p-B4au_byv.js → webcomponents/p-k0WZfTfL.js} +121 -124
- package/dist/webcomponents/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/dist/webcomponents.html-custom-data.json +1708 -349
- package/package.json +1 -1
- package/dist/cjs/tslib.es6-CF44W9Bn.js +0 -42
- package/dist/cjs/tslib.es6-CF44W9Bn.js.map +0 -1
- package/dist/components/p-7kxAU6Gr.js.map +0 -1
- package/dist/components/p-DIPMDb5E.js +0 -55
- package/dist/components/p-DIPMDb5E.js.map +0 -1
- package/dist/esm/tslib.es6-DIPMDb5E.js +0 -40
- package/dist/esm/tslib.es6-DIPMDb5E.js.map +0 -1
- package/dist/webcomponents/p-097912c2.entry.js.map +0 -1
- package/dist/webcomponents/p-0bfb0edf.entry.js.map +0 -1
- package/dist/webcomponents/p-1799a082.entry.js.map +0 -1
- package/dist/webcomponents/p-28dba962.entry.js.map +0 -1
- package/dist/webcomponents/p-2fe329d6.entry.js.map +0 -1
- package/dist/webcomponents/p-5070161f.entry.js.map +0 -1
- package/dist/webcomponents/p-61e5421b.entry.js.map +0 -1
- package/dist/webcomponents/p-7ff6698f.entry.js.map +0 -1
- package/dist/webcomponents/p-821b896c.entry.js.map +0 -1
- package/dist/webcomponents/p-8a034433.entry.js.map +0 -1
- package/dist/webcomponents/p-8ad1f003.entry.js.map +0 -1
- package/dist/webcomponents/p-9464b692.entry.js.map +0 -1
- package/dist/webcomponents/p-DIPMDb5E.js +0 -55
- package/dist/webcomponents/p-DIPMDb5E.js.map +0 -1
- package/dist/webcomponents/p-a615baaa.entry.js.map +0 -1
- package/dist/webcomponents/p-abc0ecbe.entry.js.map +0 -1
- package/dist/webcomponents/p-c90a089a.entry.js.map +0 -1
- package/dist/webcomponents/p-d6475852.entry.js.map +0 -1
- package/dist/webcomponents/p-d674cee3.entry.js.map +0 -1
- package/dist/webcomponents/p-e7b38c63.entry.js.map +0 -1
- /package/dist/components/{p-OKkBxn1z.js.map → p-lIb35q2K.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["skipLinkItemCss","SkipLinkItem","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","customId","Helpers","generateUniqueId","hideTag","itemIndex","itemTotal","mutationObserver","itemFocus","brItemElement","_a","el","shadowRoot","querySelector","Promise","resolve","requestAnimationFrame","brItemShadowRoot","focusableElement","focus","brSkiplinkItemFocus","emit","itemId","navigateToTarget","targetElement","document","target","setAttribute","scrollIntoView","behavior","block","brSkiplinkItemClick","console","warn","error","handleClick","_event","handleKeyDown","event","key","skipLink","closest","hide","preventDefault","altKey","keyNumber","toString","handleFocus","componentWillLoad","updateItemCount","componentDidLoad","MutationObserver","mutations","forEach","mutation","type","attributeName","observe","attributes","attributeFilter","disconnectedCallback","undefined","disconnect","indexAttr","getAttribute","totalAttr","parseInt","getItemCountText","render","itemCountText","h","Host","href","id","density","name","slot","class","color"],"sources":["../../packages/webcomponents/src/components/skip-link/skip-link-item/skip-link-item.scss?tag=br-skiplink-item&encapsulation=shadow","../../packages/webcomponents/src/components/skip-link/skip-link-item/skip-link-item.tsx"],"sourcesContent":[":host {\n display: contents;\n\n br-item {\n box-shadow: var(--skiplink-shadow);\n display: inline-flex;\n min-width: var(--skiplink-min-width);\n position: absolute;\n top: -100vh;\n transition: top var(--skiplink-duration) var(--skiplink-timing-function);\n white-space: nowrap;\n width: auto;\n\n &:focus-within {\n top: 0;\n }\n }\n}\n\n:host(.compound-mode) {\n br-item {\n box-shadow: none;\n min-width: 0;\n position: relative;\n top: 0;\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/skip-link?tab=designer).\n *\n * @slot default - Slot para o texto do link de navegação rápida.\n * @slot tag - Slot para personalizar a tag numérica do atalho de teclado, exibindo o valor de key-number por padrão.\n */\n@Component({\n tag: 'br-skiplink-item',\n styleUrl: 'skip-link-item.scss',\n shadow: true,\n})\nexport class SkipLinkItem {\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: HTMLBrSkiplinkItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * ID do elemento de destino ou seletor CSS.\n * Este é o elemento para o qual o usuário será levado ao ativar este item.\n */\n @Prop({ reflect: true }) readonly target!: string\n\n /**\n * Número da tecla para acesso rápido.\n * Permite que o usuário ative este item pressionando Alt+[keyNumber].\n * Aceita valores de 1 a 9.\n * Esta propriedade implementa uma alternativa ao accessKey nativa,\n * fornecendo um atalho de teclado consistente e acessível.\n */\n @Prop({ reflect: true }) readonly keyNumber?: number\n\n /**\n * ID personalizado.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Controla a visibilidade da tag numérica.\n * Quando `true`, a tag numérica não será exibida, mesmo que `keyNumber` esteja definido.\n * O atalho de teclado continua funcionando, apenas a indicação visual é ocultada.\n */\n @Prop({ reflect: true }) readonly hideTag: boolean = false\n\n /**\n * Estado interno que armazena o índice do item (1, 2, 3...).\n * Definido automaticamente pelo componente pai.\n */\n @State() private itemIndex: number | null = null\n\n /**\n * Estado interno que armazena o total de itens.\n * Definido automaticamente pelo componente pai.\n */\n @State() private itemTotal: number | null = null\n\n /**\n * MutationObserver para monitorar mudanças nos atributos de contagem.\n * Observa quando o componente pai define data-item-index e data-item-total.\n */\n private mutationObserver: MutationObserver | null = null\n\n /**\n * Evento emitido quando o item é clicado/ativado.\n * O evento contém informações sobre o item e o target.\n */\n @Event() brSkiplinkItemClick: EventEmitter<{ itemId: string; target: string }>\n\n /**\n * Evento emitido quando o item recebe foco.\n */\n @Event() brSkiplinkItemFocus: EventEmitter<{ itemId: string }>\n\n /**\n * Move o foco para este item.\n */\n @Method()\n async itemFocus(): Promise<void> {\n const brItemElement = this.el.shadowRoot?.querySelector('br-item') as HTMLElement | null\n\n if (brItemElement !== null) {\n await new Promise((resolve) => requestAnimationFrame(resolve))\n\n const brItemShadowRoot = brItemElement.shadowRoot\n if (brItemShadowRoot !== null) {\n const focusableElement = brItemShadowRoot.querySelector('a, button') as HTMLElement | null\n if (focusableElement !== null) {\n focusableElement.focus()\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n return\n }\n }\n\n brItemElement.focus()\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n }\n }\n\n /**\n * Navega para o target definido.\n * Move o foco para o elemento alvo e ajusta a rolagem da página se necessário.\n */\n @Method()\n async navigateToTarget(): Promise<void> {\n try {\n const targetElement = document.querySelector(this.target) as HTMLElement | null\n\n if (targetElement !== null) {\n targetElement.setAttribute('tabindex', '-1')\n targetElement.focus()\n\n targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' })\n\n this.brSkiplinkItemClick.emit({\n itemId: this.customId,\n target: this.target,\n })\n } else {\n console.warn(`Skip Link: Target element \"${this.target}\" not found`)\n }\n } catch (error) {\n console.error('Skip Link: Error navigating to target', error)\n }\n }\n\n /**\n * Listener para cliques no item.\n */\n @Listen('click')\n handleClick(_event: MouseEvent) {\n this.navigateToTarget()\n }\n\n /**\n * Listener para teclas Enter, Space e atalho Alt+[keyNumber].\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n const skipLink = this.el.closest('br-skip-link') as HTMLBrSkipLinkElement\n if (skipLink !== null && typeof skipLink.hide === 'function') {\n event.preventDefault()\n skipLink.hide()\n }\n return\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.navigateToTarget()\n return\n }\n\n // atalho Alt+[keyNumber]\n if (event.altKey && this.keyNumber && event.key === this.keyNumber.toString()) {\n event.preventDefault()\n this.navigateToTarget()\n return\n }\n }\n\n /**\n * Listener para foco no item.\n */\n @Listen('focus')\n handleFocus() {\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n }\n\n componentWillLoad() {\n this.updateItemCount()\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n (mutation.attributeName === 'data-item-index' || mutation.attributeName === 'data-item-total')\n ) {\n this.updateItemCount()\n }\n })\n })\n\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: ['data-item-index', 'data-item-total'],\n })\n }\n\n disconnectedCallback() {\n if (this.mutationObserver !== null && this.mutationObserver !== undefined) {\n this.mutationObserver.disconnect()\n this.mutationObserver = null\n }\n }\n\n /**\n * Atualiza a contagem de itens lendo os atributos definidos pelo componente pai.\n */\n private updateItemCount() {\n const indexAttr = this.el.getAttribute('data-item-index')\n const totalAttr = this.el.getAttribute('data-item-total')\n\n if (indexAttr !== null && totalAttr !== null) {\n this.itemIndex = parseInt(indexAttr, 10)\n this.itemTotal = parseInt(totalAttr, 10)\n } else {\n this.itemIndex = null\n this.itemTotal = null\n }\n }\n\n /**\n * Retorna a string de contagem no formato (X/Y) se disponível.\n */\n private getItemCountText(): string | null {\n if (this.itemIndex !== null && this.itemTotal !== null) {\n return ` (${this.itemIndex}/${this.itemTotal})`\n }\n return null\n }\n\n render() {\n const itemCountText = this.getItemCountText()\n\n return (\n <Host>\n <br-item\n href={this.target}\n id={this.customId}\n density=\"large\"\n aria-keyshortcuts={this.keyNumber !== undefined ? `Alt+${this.keyNumber}` : undefined}\n >\n <slot></slot>\n {itemCountText && <span aria-hidden=\"true\">{itemCountText}</span>}\n {this.keyNumber && !this.hideTag && (\n <slot name=\"tag\" slot=\"end\">\n <br-tag class=\"ml-1 text\" color=\"bg-interactive\">\n {this.keyNumber}\n </br-tag>\n </slot>\n )}\n </br-item>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["skipLinkItemCss","SkipLinkItem","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","customId","Helpers","generateUniqueId","hideTag","itemIndex","itemTotal","mutationObserver","itemFocus","brItemElement","_a","el","shadowRoot","querySelector","Promise","resolve","requestAnimationFrame","brItemShadowRoot","focusableElement","focus","brSkiplinkItemFocus","emit","itemId","navigateToTarget","targetElement","document","target","setAttribute","scrollIntoView","behavior","block","brSkiplinkItemClick","console","warn","error","handleClick","_event","handleKeyDown","event","key","skipLink","closest","hide","preventDefault","altKey","keyNumber","toString","handleFocus","componentWillLoad","updateItemCount","componentDidLoad","MutationObserver","mutations","forEach","mutation","type","attributeName","observe","attributes","attributeFilter","disconnectedCallback","undefined","disconnect","indexAttr","getAttribute","totalAttr","parseInt","getItemCountText","render","itemCountText","h","Host","href","id","density","name","slot","class","color"],"sources":["../../packages/webcomponents/src/components/skip-link/skip-link-item/skip-link-item.scss?tag=br-skiplink-item&encapsulation=shadow","../../packages/webcomponents/src/components/skip-link/skip-link-item/skip-link-item.tsx"],"sourcesContent":[":host {\n display: contents;\n\n br-item {\n box-shadow: var(--skiplink-shadow);\n display: inline-flex;\n min-width: var(--skiplink-min-width);\n position: absolute;\n top: -100vh;\n transition: top var(--skiplink-duration) var(--skiplink-timing-function);\n white-space: nowrap;\n width: auto;\n\n &:focus-within {\n top: 0;\n }\n }\n}\n\n:host(.compound-mode) {\n br-item {\n box-shadow: none;\n min-width: 0;\n position: relative;\n top: 0;\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/skip-link?tab=designer).\n *\n * @slot default - Slot para o texto do link de navegação rápida.\n * @slot tag - Slot para personalizar a tag numérica do atalho de teclado, exibindo o valor de key-number por padrão.\n */\n@Component({\n tag: 'br-skiplink-item',\n styleUrl: 'skip-link-item.scss',\n shadow: true,\n})\nexport class SkipLinkItem {\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: HTMLBrSkiplinkItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * ID do elemento de destino ou seletor CSS.\n * Este é o elemento para o qual o usuário será levado ao ativar este item.\n */\n @Prop({ reflect: true }) readonly target!: string\n\n /**\n * Número da tecla para acesso rápido.\n * Permite que o usuário ative este item pressionando Alt+[keyNumber].\n * Aceita valores de 1 a 9.\n * Esta propriedade implementa uma alternativa ao accessKey nativa,\n * fornecendo um atalho de teclado consistente e acessível.\n */\n @Prop({ reflect: true }) readonly keyNumber?: number\n\n /**\n * ID personalizado.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Controla a visibilidade da tag numérica.\n * Quando `true`, a tag numérica não será exibida, mesmo que `keyNumber` esteja definido.\n * O atalho de teclado continua funcionando, apenas a indicação visual é ocultada.\n */\n @Prop({ reflect: true }) readonly hideTag: boolean = false\n\n /**\n * Estado interno que armazena o índice do item (1, 2, 3...).\n * Definido automaticamente pelo componente pai.\n */\n @State() private itemIndex: number | null = null\n\n /**\n * Estado interno que armazena o total de itens.\n * Definido automaticamente pelo componente pai.\n */\n @State() private itemTotal: number | null = null\n\n /**\n * MutationObserver para monitorar mudanças nos atributos de contagem.\n * Observa quando o componente pai define data-item-index e data-item-total.\n */\n private mutationObserver: MutationObserver | null = null\n\n /**\n * Evento emitido quando o item é clicado/ativado.\n * O evento contém informações sobre o item e o target.\n */\n @Event() brSkiplinkItemClick: EventEmitter<{ itemId: string; target: string }>\n\n /**\n * Evento emitido quando o item recebe foco.\n */\n @Event() brSkiplinkItemFocus: EventEmitter<{ itemId: string }>\n\n /**\n * Move o foco para este item.\n */\n @Method()\n async itemFocus(): Promise<void> {\n const brItemElement = this.el.shadowRoot?.querySelector('br-item') as HTMLElement | null\n\n if (brItemElement !== null) {\n await new Promise((resolve) => requestAnimationFrame(resolve))\n\n const brItemShadowRoot = brItemElement.shadowRoot\n if (brItemShadowRoot !== null) {\n const focusableElement = brItemShadowRoot.querySelector('a, button') as HTMLElement | null\n if (focusableElement !== null) {\n focusableElement.focus()\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n return\n }\n }\n\n brItemElement.focus()\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n }\n }\n\n /**\n * Navega para o target definido.\n * Move o foco para o elemento alvo e ajusta a rolagem da página se necessário.\n */\n @Method()\n async navigateToTarget(): Promise<void> {\n try {\n const targetElement = document.querySelector(this.target) as HTMLElement | null\n\n if (targetElement !== null) {\n targetElement.setAttribute('tabindex', '-1')\n targetElement.focus()\n\n targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' })\n\n this.brSkiplinkItemClick.emit({\n itemId: this.customId,\n target: this.target,\n })\n } else {\n console.warn(`Skip Link: Target element \"${this.target}\" not found`)\n }\n } catch (error) {\n console.error('Skip Link: Error navigating to target', error)\n }\n }\n\n /**\n * Listener para cliques no item.\n */\n @Listen('click')\n handleClick(_event: MouseEvent) {\n this.navigateToTarget()\n }\n\n /**\n * Listener para teclas Enter, Space e atalho Alt+[keyNumber].\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n const skipLink = this.el.closest('br-skip-link') as HTMLBrSkipLinkElement\n if (skipLink !== null && typeof skipLink.hide === 'function') {\n event.preventDefault()\n skipLink.hide()\n }\n return\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.navigateToTarget()\n return\n }\n\n // atalho Alt+[keyNumber]\n if (event.altKey && this.keyNumber && event.key === this.keyNumber.toString()) {\n event.preventDefault()\n this.navigateToTarget()\n return\n }\n }\n\n /**\n * Listener para foco no item.\n */\n @Listen('focus')\n handleFocus() {\n this.brSkiplinkItemFocus.emit({ itemId: this.customId })\n }\n\n componentWillLoad() {\n this.updateItemCount()\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n (mutation.attributeName === 'data-item-index' || mutation.attributeName === 'data-item-total')\n ) {\n this.updateItemCount()\n }\n })\n })\n\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: ['data-item-index', 'data-item-total'],\n })\n }\n\n disconnectedCallback() {\n if (this.mutationObserver !== null && this.mutationObserver !== undefined) {\n this.mutationObserver.disconnect()\n this.mutationObserver = null\n }\n }\n\n /**\n * Atualiza a contagem de itens lendo os atributos definidos pelo componente pai.\n */\n private updateItemCount() {\n const indexAttr = this.el.getAttribute('data-item-index')\n const totalAttr = this.el.getAttribute('data-item-total')\n\n if (indexAttr !== null && totalAttr !== null) {\n this.itemIndex = parseInt(indexAttr, 10)\n this.itemTotal = parseInt(totalAttr, 10)\n } else {\n this.itemIndex = null\n this.itemTotal = null\n }\n }\n\n /**\n * Retorna a string de contagem no formato (X/Y) se disponível.\n */\n private getItemCountText(): string | null {\n if (this.itemIndex !== null && this.itemTotal !== null) {\n return ` (${this.itemIndex}/${this.itemTotal})`\n }\n return null\n }\n\n render() {\n const itemCountText = this.getItemCountText()\n\n return (\n <Host>\n <br-item\n href={this.target}\n id={this.customId}\n density=\"large\"\n aria-keyshortcuts={this.keyNumber !== undefined ? `Alt+${this.keyNumber}` : undefined}\n >\n <slot></slot>\n {itemCountText && <span aria-hidden=\"true\">{itemCountText}</span>}\n {this.keyNumber && !this.hideTag && (\n <slot name=\"tag\" slot=\"end\">\n <br-tag class=\"ml-1 text\" color=\"bg-interactive\">\n {this.keyNumber}\n </br-tag>\n </slot>\n )}\n </br-item>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Construído por SERPRO
|
|
3
3
|
* © https://serpro.gov.br/ - MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { S as
|
|
5
|
+
import { S as s, d as o } from "./p-CWRBs6PD.js";
|
|
6
6
|
|
|
7
|
-
const t =
|
|
7
|
+
const t = s;
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const p = o;
|
|
10
10
|
|
|
11
|
-
export { t as BrStepItem,
|
|
11
|
+
export { t as BrStepItem, p as defineCustomElement };
|
|
12
12
|
//# sourceMappingURL=br-step-item.js.map
|
|
13
13
|
//# sourceMappingURL=br-step-item.js.map
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Construído por SERPRO
|
|
3
3
|
* © https://serpro.gov.br/ - MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { S as o, d as s } from "./p-
|
|
5
|
+
import { S as o, d as s } from "./p-Bc03PTAW.js";
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const t = o;
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const c = s;
|
|
10
10
|
|
|
11
|
-
export {
|
|
11
|
+
export { t as BrStep, c as defineCustomElement };
|
|
12
12
|
//# sourceMappingURL=br-step.js.map
|
|
13
13
|
//# sourceMappingURL=br-step.js.map
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { p as t, H as e, d as i, h as a, c as r } from "./p-DSkSDmzD.js";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { H as o } from "./p-D4N4PPot.js";
|
|
8
8
|
|
|
9
|
-
import { H as n } from "./p-D4N4PPot.js";
|
|
9
|
+
const n = '*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-switch{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium);--switch-height-small:24px;--switch-height-medium:30px;--switch-height-large:36px;--switch-width-small:40px;--switch-width-medium:52px;--switch-width-large:64px;--switch-toggle-small:16px;--switch-toggle-medium:22px;--switch-toggle-large:28px;--switch-icon-small:var(--icon-size-xs);--switch-icon-medium:var(--icon-size-sm);--switch-icon-large:var(--icon-size-base);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-height:var(--switch-height)}.br-switch input{opacity:0;position:absolute}.br-switch input+label{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--color);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-base);margin-bottom:0;position:relative}.br-switch input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:100em;content:"";height:var(--switch-height);position:absolute;width:var(--switch-width)}.br-switch input+label::after{background-color:var(--off);border-radius:50%;content:"";height:var(--switch-toggle-size);position:absolute;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;width:var(--switch-toggle-size)}.br-switch input:checked+label::after{background-color:var(--on)}.br-switch input+label{padding-right:calc(var(--spacing-scale-2x) + var(--switch-width))}.br-switch input+label:empty{padding-right:var(--switch-width)}.br-switch input+label::before{right:0}.br-switch input+label::after{right:calc(4px + var(--switch-toggle-size))}.br-switch input:checked+label::after{right:4px}.br-switch.right input+label{padding-left:calc(var(--spacing-scale-2x) + var(--switch-width));padding-right:0}.br-switch.right input+label::before{left:0}.br-switch.right input+label::after{left:4px}.br-switch.right input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.top{min-height:calc(var(--switch-height)*2)}.br-switch.top input+label{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding-right:0}.br-switch.top input+label::before{bottom:0;left:0}.br-switch.top input+label::after{bottom:4px;left:4px}.br-switch.top input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.small{--switch-height:var(--switch-height-small);--switch-width:var(--switch-width-small);--switch-toggle-size:var(--switch-toggle-small);--switch-icon-size:var(--switch-icon-small)}.br-switch.medium{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium)}.br-switch.large{--switch-height:var(--switch-height-large);--switch-width:var(--switch-width-large);--switch-toggle-size:var(--switch-toggle-large);--switch-icon-size:var(--switch-icon-large)}.br-switch input~.switch-data{-ms-flex-item-align:center;align-self:center;color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);margin-left:8px}.br-switch input~.switch-data::before{content:attr(data-disabled)}.br-switch input:checked~.switch-data{color:var(--color)}.br-switch input:checked~.switch-data::before{content:attr(data-enabled)}.br-switch.icon input+label::after{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--color-dark);content:"";display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:"Font Awesome 5 Free",sans-serif;font-size:var(--switch-icon-size);font-weight:var(--font-weight-black);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.br-switch.icon input:checked+label::after{content:""}.br-switch 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-switch input:hover:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--hover))), to(rgba(var(--on-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--on-rgb), var(--hover)), rgba(var(--on-rgb), var(--hover)))}.br-switch input:hover:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--hover))), to(rgba(var(--off-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--off-rgb), var(--hover)), rgba(var(--off-rgb), var(--hover)))}.br-switch input:active:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--pressed))), to(rgba(var(--on-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--on-rgb), var(--pressed)), rgba(var(--on-rgb), var(--pressed)))}.br-switch input:active:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--pressed))), to(rgba(var(--off-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--off-rgb), var(--pressed)), rgba(var(--off-rgb), var(--pressed)))}.br-switch.inverted,.br-switch.inverted label,.br-switch.dark-mode,.br-switch.dark-mode label{color:var(--color-dark)}:host{display:inline-block}:host([disabled]) .br-switch,:host([disabled]) .br-switch label,:host([disabled]) .br-switch input{cursor:not-allowed}';
|
|
10
10
|
|
|
11
|
-
const l = '*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-switch{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium);--switch-height-small:24px;--switch-height-medium:30px;--switch-height-large:36px;--switch-width-small:40px;--switch-width-medium:52px;--switch-width-large:64px;--switch-toggle-small:16px;--switch-toggle-medium:22px;--switch-toggle-large:28px;--switch-icon-small:var(--icon-size-xs);--switch-icon-medium:var(--icon-size-sm);--switch-icon-large:var(--icon-size-base);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-height:var(--switch-height)}.br-switch input{opacity:0;position:absolute}.br-switch input+label{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--color);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-base);margin-bottom:0;position:relative}.br-switch input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:100em;content:"";height:var(--switch-height);position:absolute;width:var(--switch-width)}.br-switch input+label::after{background-color:var(--off);border-radius:50%;content:"";height:var(--switch-toggle-size);position:absolute;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;width:var(--switch-toggle-size)}.br-switch input:checked+label::after{background-color:var(--on)}.br-switch input+label{padding-right:calc(var(--spacing-scale-2x) + var(--switch-width))}.br-switch input+label:empty{padding-right:var(--switch-width)}.br-switch input+label::before{right:0}.br-switch input+label::after{right:calc(4px + var(--switch-toggle-size))}.br-switch input:checked+label::after{right:4px}.br-switch.right input+label{padding-left:calc(var(--spacing-scale-2x) + var(--switch-width));padding-right:0}.br-switch.right input+label::before{left:0}.br-switch.right input+label::after{left:4px}.br-switch.right input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.top{min-height:calc(var(--switch-height)*2)}.br-switch.top input+label{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding-right:0}.br-switch.top input+label::before{bottom:0;left:0}.br-switch.top input+label::after{bottom:4px;left:4px}.br-switch.top input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.small{--switch-height:var(--switch-height-small);--switch-width:var(--switch-width-small);--switch-toggle-size:var(--switch-toggle-small);--switch-icon-size:var(--switch-icon-small)}.br-switch.medium{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium)}.br-switch.large{--switch-height:var(--switch-height-large);--switch-width:var(--switch-width-large);--switch-toggle-size:var(--switch-toggle-large);--switch-icon-size:var(--switch-icon-large)}.br-switch input~.switch-data{-ms-flex-item-align:center;align-self:center;color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);margin-left:8px}.br-switch input~.switch-data::before{content:attr(data-disabled)}.br-switch input:checked~.switch-data{color:var(--color)}.br-switch input:checked~.switch-data::before{content:attr(data-enabled)}.br-switch.icon input+label::after{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--color-dark);content:"";display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-family:"Font Awesome 5 Free",sans-serif;font-size:var(--switch-icon-size);font-weight:var(--font-weight-black);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.br-switch.icon input:checked+label::after{content:""}.br-switch 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-switch input:hover:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--hover))), to(rgba(var(--on-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--on-rgb), var(--hover)), rgba(var(--on-rgb), var(--hover)))}.br-switch input:hover:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--hover))), to(rgba(var(--off-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--off-rgb), var(--hover)), rgba(var(--off-rgb), var(--hover)))}.br-switch input:active:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--pressed))), to(rgba(var(--on-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--on-rgb), var(--pressed)), rgba(var(--on-rgb), var(--pressed)))}.br-switch input:active:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--pressed))), to(rgba(var(--off-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--off-rgb), var(--pressed)), rgba(var(--off-rgb), var(--pressed)))}.br-switch.inverted,.br-switch.inverted label,.br-switch.dark-mode,.br-switch.dark-mode label{color:var(--color-dark)}:host{display:inline-block}:host([disabled]) .br-switch,:host([disabled]) .br-switch label,:host([disabled]) .br-switch input{cursor:not-allowed}';
|
|
12
|
-
|
|
13
|
-
const s = t(class t extends e {
|
|
11
|
+
const l = t(class t extends e {
|
|
14
12
|
constructor(t) {
|
|
15
13
|
super();
|
|
16
14
|
if (t !== false) {
|
|
@@ -28,7 +26,7 @@ const s = t(class t extends e {
|
|
|
28
26
|
*/ this.checked = false;
|
|
29
27
|
/**
|
|
30
28
|
* Identificador único; gerado automaticamente quando omitido.
|
|
31
|
-
*/ this.customId =
|
|
29
|
+
*/ this.customId = o.generateUniqueId("br-switch");
|
|
32
30
|
/**
|
|
33
31
|
* Posição do rótulo em relação ao switch.
|
|
34
32
|
*/ this.labelPosition = "left";
|
|
@@ -69,11 +67,9 @@ const s = t(class t extends e {
|
|
|
69
67
|
}
|
|
70
68
|
/**
|
|
71
69
|
* Inverte o valor da prop `checked`
|
|
72
|
-
*/ toggleChecked() {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
this.checkedChange.emit(this.checked);
|
|
76
|
-
}));
|
|
70
|
+
*/ async toggleChecked() {
|
|
71
|
+
this.checked = !this.checked;
|
|
72
|
+
this.checkedChange.emit(this.checked);
|
|
77
73
|
}
|
|
78
74
|
/**
|
|
79
75
|
* Verifica se o componente tem texto visível (via slot ou label)
|
|
@@ -128,7 +124,7 @@ const s = t(class t extends e {
|
|
|
128
124
|
return this;
|
|
129
125
|
}
|
|
130
126
|
static get style() {
|
|
131
|
-
return
|
|
127
|
+
return n;
|
|
132
128
|
}
|
|
133
129
|
}, [ 321, "br-switch", {
|
|
134
130
|
disabled: [ 516 ],
|
|
@@ -155,17 +151,17 @@ function defineCustomElement$1() {
|
|
|
155
151
|
switch (t) {
|
|
156
152
|
case "br-switch":
|
|
157
153
|
if (!customElements.get(t)) {
|
|
158
|
-
customElements.define(t,
|
|
154
|
+
customElements.define(t, l);
|
|
159
155
|
}
|
|
160
156
|
break;
|
|
161
157
|
}
|
|
162
158
|
}));
|
|
163
159
|
}
|
|
164
160
|
|
|
165
|
-
const
|
|
161
|
+
const s = l;
|
|
166
162
|
|
|
167
|
-
const
|
|
163
|
+
const c = defineCustomElement$1;
|
|
168
164
|
|
|
169
|
-
export {
|
|
165
|
+
export { s as BrSwitch, c as defineCustomElement };
|
|
170
166
|
//# sourceMappingURL=br-switch.js.map
|
|
171
167
|
//# sourceMappingURL=br-switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["switchCss","Switch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","disabled","checked","customId","Helpers","generateUniqueId","labelPosition","hasIcon","density","_slotDefault","handleCheckedChange","event","target","checkedChange","emit","handleClick","stopPropagation","componentWillLoad","_hasSlotContentDefault","el","innerHTML","getAccessibilityLabel","hostAriaLabel","getAttribute","trim","label","labelOn","labelOff","toggleChecked","hasVisibleText","undefined","getCssClassMap","icon","top","right","large","small","render","h","Host","key","class","Object","assign","id","type","name","role","onChange","onClick","htmlFor"],"sources":["../../packages/webcomponents/src/components/switch/switch.scss?tag=br-switch&encapsulation=shadow","../../packages/webcomponents/src/components/switch/switch.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/switch/switch\";\n\n:host {\n display: inline-block;\n}\n\n:host([disabled]) .br-switch,\n:host([disabled]) .br-switch label,\n:host([disabled]) .br-switch input {\n cursor: not-allowed;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/switch?tab=designer).\n *\n * @slot default - Slot para o rótulo do switch, com prioridade sobre a propriedade label.\n */\n@Component({\n tag: 'br-switch',\n styleUrl: 'switch.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\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: HTMLBrSwitchElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o switch, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: 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; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-switch')\n\n /**\n * Texto descritivo.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop() readonly label: string\n\n /**\n * Posição do rótulo em relação ao switch.\n */\n @Prop({ reflect: true }) readonly labelPosition: 'right' | 'left' | 'top' = 'left'\n\n /**\n * Texto exibido quando o switch está ativado.\n */\n @Prop({ reflect: true }) readonly labelOn: string\n\n /**\n * Texto exibido quando o switch está desativado.\n */\n @Prop({ reflect: true }) readonly labelOff: string\n\n /**\n * Adiciona um ícone ao switch para indicar a mudança de estado.\n */\n @Prop({ reflect: true }) readonly hasIcon: boolean = false\n\n /**\n * Define o nome do switch, que é utilizado para agrupar switches em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Define o valor associado ao switch quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o switch está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o switch está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /** O ajuste da densidade consiste em aumentar ou reduzir a área de interação do switch. Quanto menor for a densidade, maior a área de interação. */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() _slotDefault: boolean = false\n\n componentWillLoad() {\n this._hasSlotContentDefault()\n }\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() checkedChange: EventEmitter<boolean>\n private _hasSlotContentDefault(): void {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n /**\n * Determina o texto a ser usado para acessibilidade quando não há label visível\n */\n private getAccessibilityLabel(): string {\n const hostAriaLabel = this.el.getAttribute('aria-label')\n\n if (hostAriaLabel && hostAriaLabel.trim() !== '') {\n return hostAriaLabel\n }\n\n if (this.label && this.label.trim() !== '') {\n return this.label\n }\n\n if (\n typeof this.labelOn === 'string' &&\n this.labelOn.trim() !== '' &&\n typeof this.labelOff === 'string' &&\n this.labelOff.trim() !== ''\n ) {\n return `Alternar entre ${this.labelOff} e ${this.labelOn}`\n }\n\n return 'Alternar seleção'\n }\n\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.checkedChange.emit(this.checked)\n }\n\n private readonly handleClick = (event: Event) => {\n event.stopPropagation()\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n /**\n * Verifica se o componente tem texto visível (via slot ou label)\n */\n private hasVisibleText(): boolean {\n return this._slotDefault || (this.label !== undefined && this.label !== null && this.label.trim() !== '')\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-switch': true,\n icon: this.hasIcon,\n top: this.labelPosition === 'top',\n right: this.labelPosition === 'right',\n large: this.density === 'large',\n small: this.density === 'small',\n }\n }\n\n render() {\n const hasVisibleText = this.hasVisibleText()\n\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n id={this.customId}\n type=\"checkbox\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n onChange={this.handleCheckedChange}\n onClick={this.handleClick}\n {...(!hasVisibleText ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n />\n <label htmlFor={this.customId}>{this._slotDefault ? <slot></slot> : this.label || ''}</label>\n {this.labelOn && this.labelOff && (\n <div class=\"switch-data\" data-enabled={this.labelOn} data-disabled={this.labelOff} aria-hidden=\"true\"></div>\n )}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["switchCss","Switch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","disabled","checked","customId","Helpers","generateUniqueId","labelPosition","hasIcon","density","_slotDefault","handleCheckedChange","event","target","checkedChange","emit","handleClick","stopPropagation","componentWillLoad","_hasSlotContentDefault","el","innerHTML","getAccessibilityLabel","hostAriaLabel","getAttribute","trim","label","labelOn","labelOff","toggleChecked","hasVisibleText","undefined","getCssClassMap","icon","top","right","large","small","render","h","Host","key","class","Object","assign","id","type","name","role","onChange","onClick","htmlFor"],"sources":["../../packages/webcomponents/src/components/switch/switch.scss?tag=br-switch&encapsulation=shadow","../../packages/webcomponents/src/components/switch/switch.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/switch/switch\";\n\n:host {\n display: inline-block;\n}\n\n:host([disabled]) .br-switch,\n:host([disabled]) .br-switch label,\n:host([disabled]) .br-switch input {\n cursor: not-allowed;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/switch?tab=designer).\n *\n * @slot default - Slot para o rótulo do switch, com prioridade sobre a propriedade label.\n */\n@Component({\n tag: 'br-switch',\n styleUrl: 'switch.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\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: HTMLBrSwitchElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o switch, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: 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; gerado automaticamente quando omitido.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-switch')\n\n /**\n * Texto descritivo.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop() readonly label: string\n\n /**\n * Posição do rótulo em relação ao switch.\n */\n @Prop({ reflect: true }) readonly labelPosition: 'right' | 'left' | 'top' = 'left'\n\n /**\n * Texto exibido quando o switch está ativado.\n */\n @Prop({ reflect: true }) readonly labelOn: string\n\n /**\n * Texto exibido quando o switch está desativado.\n */\n @Prop({ reflect: true }) readonly labelOff: string\n\n /**\n * Adiciona um ícone ao switch para indicar a mudança de estado.\n */\n @Prop({ reflect: true }) readonly hasIcon: boolean = false\n\n /**\n * Define o nome do switch, que é utilizado para agrupar switches em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Define o valor associado ao switch quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o switch está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o switch está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /** O ajuste da densidade consiste em aumentar ou reduzir a área de interação do switch. Quanto menor for a densidade, maior a área de interação. */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() _slotDefault: boolean = false\n\n componentWillLoad() {\n this._hasSlotContentDefault()\n }\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() checkedChange: EventEmitter<boolean>\n private _hasSlotContentDefault(): void {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n /**\n * Determina o texto a ser usado para acessibilidade quando não há label visível\n */\n private getAccessibilityLabel(): string {\n const hostAriaLabel = this.el.getAttribute('aria-label')\n\n if (hostAriaLabel && hostAriaLabel.trim() !== '') {\n return hostAriaLabel\n }\n\n if (this.label && this.label.trim() !== '') {\n return this.label\n }\n\n if (\n typeof this.labelOn === 'string' &&\n this.labelOn.trim() !== '' &&\n typeof this.labelOff === 'string' &&\n this.labelOff.trim() !== ''\n ) {\n return `Alternar entre ${this.labelOff} e ${this.labelOn}`\n }\n\n return 'Alternar seleção'\n }\n\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.checkedChange.emit(this.checked)\n }\n\n private readonly handleClick = (event: Event) => {\n event.stopPropagation()\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n /**\n * Verifica se o componente tem texto visível (via slot ou label)\n */\n private hasVisibleText(): boolean {\n return this._slotDefault || (this.label !== undefined && this.label !== null && this.label.trim() !== '')\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-switch': true,\n icon: this.hasIcon,\n top: this.labelPosition === 'top',\n right: this.labelPosition === 'right',\n large: this.density === 'large',\n small: this.density === 'small',\n }\n }\n\n render() {\n const hasVisibleText = this.hasVisibleText()\n\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n id={this.customId}\n type=\"checkbox\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n onChange={this.handleCheckedChange}\n onClick={this.handleClick}\n {...(!hasVisibleText ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n />\n <label htmlFor={this.customId}>{this._slotDefault ? <slot></slot> : this.label || ''}</label>\n {this.labelOn && this.labelOff && (\n <div class=\"switch-data\" data-enabled={this.labelOn} data-disabled={this.labelOff} aria-hidden=\"true\"></div>\n )}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":";;;;;;;;AAAA,MAAMA,IAAY;;MCkBLC,KAAMC,EAAA,MAAAD,UAAAE;EANnB,WAAAC,CAAAC;;;;;;;;;;eAkBoCC,KAAQC,WAAY;;;;eAMdD,KAAOE,UAAY;;;eAKzBF,KAAAG,WAAmBC,EAAQC,iBAAiB;;;eAW5CL,KAAaM,gBAA6B;;;eAe1CN,KAAOO,UAAY;4JAgBnBP,KAAOQ,UAAiC;;QAGjER,KAAYS,eAAY;IAwChBT,KAAAU,sBAAuBC;MACtCX,KAAKE,UAAWS,EAAMC,OAA4BV;MAClDF,KAAKa,cAAcC,KAAKd,KAAKE;AAAQ;IAGtBF,KAAAe,cAAeJ;MAC9BA,EAAMK;AAAiB;AAwD1B;EApGC,iBAAAC;IACEjB,KAAKkB;;EAOC,sBAAAA;IACNlB,KAAKS,eAAeT,KAAKmB,GAAGC,cAAc;;;;SAMpC,qBAAAC;IACN,MAAMC,IAAgBtB,KAAKmB,GAAGI,aAAa;IAE3C,IAAID,KAAiBA,EAAcE,WAAW,IAAI;MAChD,OAAOF;;IAGT,IAAItB,KAAKyB,SAASzB,KAAKyB,MAAMD,WAAW,IAAI;MAC1C,OAAOxB,KAAKyB;;IAGd,WACSzB,KAAK0B,YAAY,YACxB1B,KAAK0B,QAAQF,WAAW,aACjBxB,KAAK2B,aAAa,YACzB3B,KAAK2B,SAASH,WAAW,IACzB;MACA,OAAO,kBAAkBxB,KAAK2B,cAAc3B,KAAK0B;;IAGnD,OAAO;;;;SAgBT,mBAAME;IACJ5B,KAAKE,WAAWF,KAAKE;IACrBF,KAAKa,cAAcC,KAAKd,KAAKE;;;;SAMvB,cAAA2B;IACN,OAAO7B,KAAKS,gBAAiBT,KAAKyB,UAAUK,aAAa9B,KAAKyB,UAAU,QAAQzB,KAAKyB,MAAMD,WAAW;;EAGhG,cAAAO;IACN,OAAO;MACL,aAAa;MACbC,MAAMhC,KAAKO;MACX0B,KAAKjC,KAAKM,kBAAkB;MAC5B4B,OAAOlC,KAAKM,kBAAkB;MAC9B6B,OAAOnC,KAAKQ,YAAY;MACxB4B,OAAOpC,KAAKQ,YAAY;;;EAI5B,MAAA6B;IACE,MAAMR,IAAiB7B,KAAK6B;IAE5B,OACES,EAACC,GAAI;MAAAC,KAAA;OACHF,EAAA;MAAAE,KAAA;MAAKC,OAAOzC,KAAK+B;OACfO,EAAA,SAAAI,OAAAC,OAAA;MAAAH,KAAA;MACEI,IAAI5C,KAAKG;MACT0C,MAAK;MACLC,MAAM9C,KAAK8C;MACX5C,SAASF,KAAKE;MACdD,UAAUD,KAAKC;MACf8C,MAAK;MAAQ,gBACC/C,KAAKE,UAAU,SAAS;MACtC8C,UAAUhD,KAAKU;MACfuC,SAASjD,KAAKe;QACRc,IAAiB;MAAE,cAAc7B,KAAKqB;QAA4B,MAE1EiB,EAAO;MAAAE,KAAA;MAAAU,SAASlD,KAAKG;OAAWH,KAAKS,eAAe6B,EAAA,gBAAgBtC,KAAKyB,SAAS,KACjFzB,KAAK0B,WAAW1B,KAAK2B,YACpBW,EAAA;MAAAE,KAAA;MAAKC,OAAM;MAAa,gBAAezC,KAAK0B;MAAO,iBAAiB1B,KAAK2B;MAAQ,eAAc","ignoreList":[]}
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { p as t, H as a, d as e, h as r, c as i } from "./p-DSkSDmzD.js";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { H as o } from "./p-D4N4PPot.js";
|
|
8
8
|
|
|
9
|
-
import { H as n } from "./p-D4N4PPot.js";
|
|
9
|
+
const n = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-textarea{--textarea-padding:var(--textarea-medium);--textarea-small:var(--spacing-scale-base);--textarea-medium:var(--spacing-scale-baseh);--textarea-large:var(--spacing-scale-2x);color:var(--color)}.br-textarea label{display:inline-block;margin-bottom:var(--spacing-scale-half)}.br-textarea textarea{background:var(--background-light);border:1px solid var(--border-color-alternative);border-radius:6px;color:var(--color);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);padding:var(--textarea-padding);width:100%}.br-textarea.small textarea{--textarea-padding:var(--textarea-small)}.br-textarea.medium textarea{--textarea-padding:var(--textarea-medium)}.br-textarea.large textarea{--textarea-padding:var(--textarea-large)}.br-textarea.success textarea{border-color:var(--success);border-width:2px}.br-textarea.danger textarea{border-color:var(--danger);border-width:2px}.br-textarea.warning textarea{border-color:var(--warning);border-width:2px}.br-textarea.info textarea{border-color:var(--info);border-width:2px}.br-textarea textarea:focus,.br-textarea textarea: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-textarea textarea:hover: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-textarea.inverted,.br-textarea.inverted label,.br-textarea.dark-mode,.br-textarea.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-textarea.inverted textarea,.br-textarea.dark-mode textarea{color:var(--color-light)}:host{display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Rawline,Raleway,sans-serif}";
|
|
10
10
|
|
|
11
|
-
const l = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-textarea{--textarea-padding:var(--textarea-medium);--textarea-small:var(--spacing-scale-base);--textarea-medium:var(--spacing-scale-baseh);--textarea-large:var(--spacing-scale-2x);color:var(--color)}.br-textarea label{display:inline-block;margin-bottom:var(--spacing-scale-half)}.br-textarea textarea{background:var(--background-light);border:1px solid var(--border-color-alternative);border-radius:6px;color:var(--color);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);padding:var(--textarea-padding);width:100%}.br-textarea.small textarea{--textarea-padding:var(--textarea-small)}.br-textarea.medium textarea{--textarea-padding:var(--textarea-medium)}.br-textarea.large textarea{--textarea-padding:var(--textarea-large)}.br-textarea.success textarea{border-color:var(--success);border-width:2px}.br-textarea.danger textarea{border-color:var(--danger);border-width:2px}.br-textarea.warning textarea{border-color:var(--warning);border-width:2px}.br-textarea.info textarea{border-color:var(--info);border-width:2px}.br-textarea textarea:focus,.br-textarea textarea: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-textarea textarea:hover: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-textarea.inverted,.br-textarea.inverted label,.br-textarea.dark-mode,.br-textarea.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-textarea.inverted textarea,.br-textarea.dark-mode textarea{color:var(--color-light)}:host{display:inline-block;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Rawline,Raleway,sans-serif}";
|
|
12
|
-
|
|
13
|
-
const s = t(class t extends a {
|
|
11
|
+
const l = t(class t extends a {
|
|
14
12
|
constructor(t) {
|
|
15
13
|
super();
|
|
16
14
|
if (t !== false) {
|
|
@@ -22,7 +20,7 @@ const s = t(class t extends a {
|
|
|
22
20
|
/**
|
|
23
21
|
* Identificador único.
|
|
24
22
|
* Caso não seja fornecido, um ID gerado automaticamente será usado.
|
|
25
|
-
*/ this.customId =
|
|
23
|
+
*/ this.customId = o.generateUniqueId("br-textarea");
|
|
26
24
|
/**
|
|
27
25
|
* Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.
|
|
28
26
|
*/ this.disabled = false;
|
|
@@ -70,13 +68,11 @@ const s = t(class t extends a {
|
|
|
70
68
|
/**
|
|
71
69
|
* Define um novo valor para o textarea.
|
|
72
70
|
* @param newValue - O novo valor a ser definido.
|
|
73
|
-
*/ setValue(t) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.valueChange.emit(this.value);
|
|
79
|
-
}));
|
|
71
|
+
*/ async setValue(t) {
|
|
72
|
+
var a;
|
|
73
|
+
this.value = t;
|
|
74
|
+
this.currentLength = ((a = this.value) === null || a === void 0 ? void 0 : a.length) || 0;
|
|
75
|
+
this.valueChange.emit(this.value);
|
|
80
76
|
}
|
|
81
77
|
/**
|
|
82
78
|
* Retorna os ids para o atributo aria-describedby do textarea
|
|
@@ -194,7 +190,7 @@ const s = t(class t extends a {
|
|
|
194
190
|
};
|
|
195
191
|
}
|
|
196
192
|
static get style() {
|
|
197
|
-
return
|
|
193
|
+
return n;
|
|
198
194
|
}
|
|
199
195
|
}, [ 321, "br-textarea", {
|
|
200
196
|
value: [ 1537 ],
|
|
@@ -226,17 +222,17 @@ function defineCustomElement$1() {
|
|
|
226
222
|
switch (t) {
|
|
227
223
|
case "br-textarea":
|
|
228
224
|
if (!customElements.get(t)) {
|
|
229
|
-
customElements.define(t,
|
|
225
|
+
customElements.define(t, l);
|
|
230
226
|
}
|
|
231
227
|
break;
|
|
232
228
|
}
|
|
233
229
|
}));
|
|
234
230
|
}
|
|
235
231
|
|
|
236
|
-
const
|
|
232
|
+
const s = l;
|
|
237
233
|
|
|
238
|
-
const
|
|
234
|
+
const c = defineCustomElement$1;
|
|
239
235
|
|
|
240
|
-
export {
|
|
236
|
+
export { s as BrTextarea, c as defineCustomElement };
|
|
241
237
|
//# sourceMappingURL=br-textarea.js.map
|
|
242
238
|
//# sourceMappingURL=br-textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["textareaCss","Textarea","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","customId","Helpers","generateUniqueId","disabled","maxlength","showCounter","density","isInline","hasDefaultSlot","handleInput","event","value","target","currentLength","_a","length","valueChange","emit","componentWillLoad","checkSlotContent","Array","from","el","childNodes","some","node","nodeType","Node","ELEMENT_NODE","hasAttribute","TEXT_NODE","textContent","trim","valueChanged","setValue","newValue","getDescribedBy","filter","Boolean","join","getAccessibilityLabel","hostAriaLabel","getAttribute","ariaLabel","placeholder","getCssClassMap","small","medium","large","success","state","danger","warning","render","caracteresRestantes","mostrarLimite","hasLabel","label","h","Host","key","class","htmlFor","Object","assign","id","onInput","rows","cols","maxLength","role"],"sources":["../../packages/webcomponents/src/components/textarea/textarea.scss?tag=br-textarea&encapsulation=shadow","../../packages/webcomponents/src/components/textarea/textarea.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/textarea/textarea\";\n\n:host {\n display: inline-block;\n vertical-align: top;\n box-sizing: border-box;\n font-family: Rawline, Raleway, sans-serif;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/textarea?tab=designer).\n *\n * @slot default - Slot para texto adicional ou instruções a serem exibidos junto ao textarea.\n */\n@Component({\n tag: 'br-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el: HTMLBrTextareaElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Valor exibido no textarea.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ mutable: true, reflect: true }) value: string\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Texto alternativo para acessibilidade quando não há label visível.\n * Fornece um rótulo para tecnologias assistivas sem exibir visualmente.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-textarea')\n\n /**\n * Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.\n */\n @Prop({ reflect: true }) readonly maxlength: number = 0\n\n /**\n * Mostra o contador com a quantidade máxima de caracteres.\n */\n @Prop({ reflect: true }) readonly showCounter: boolean = false\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) readonly state: 'danger' | 'success' | 'warning'\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) readonly density: 'small' | 'medium' | 'large' = 'medium'\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Número de linhas visíveis no textarea.\n * Define a altura do componente em relação ao número de linhas de texto exibidas.\n */\n @Prop({ reflect: true }) readonly rows: number\n\n /**\n * Número de colunas (caracteres) visíveis no textarea.\n * Define a largura do componente em relação ao número de caracteres por linha.\n */\n @Prop({ reflect: true }) readonly cols: number\n\n /**\n * Comprimento atual do texto no textarea. É atualizado sempre que o valor do textarea muda.\n */\n @State() currentLength: number\n\n /**\n * Indica se o slot padrão possui conteúdo.\n */\n @State() hasDefaultSlot: boolean = false\n\n componentWillLoad() {\n this.currentLength = this.value?.length || 0\n this.checkSlotContent()\n }\n\n private checkSlotContent() {\n this.hasDefaultSlot = Array.from(this.el.childNodes).some((node) => {\n // Ignora nós que têm atributo slot (pertencem a outros slots)\n if (node.nodeType === Node.ELEMENT_NODE && (node as Element).hasAttribute('slot')) {\n return false\n }\n // Verifica se é elemento ou texto não vazio\n return (\n node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== '')\n )\n })\n }\n\n /**\n * Valor atualizado do textarea\n */\n @Event() valueChange: EventEmitter<string>\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value?.length || 0\n }\n\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.currentLength = this.value?.length || 0\n this.valueChange.emit(this.value)\n }\n\n /**\n * Define um novo valor para o textarea.\n * @param newValue - O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string) {\n this.value = newValue\n this.currentLength = this.value?.length || 0\n this.valueChange.emit(this.value)\n }\n\n /**\n * Retorna os ids para o atributo aria-describedby do textarea\n */\n private getDescribedBy(): string {\n return [this.showCounter ? `${this.customId}-limitMax` : null, `${this.customId}-slotInfo`]\n .filter(Boolean)\n .join(' ')\n }\n\n /**\n * Determina o texto a ser usado para acessibilidade quando não há label\n * Ordem de prioridade:\n * - aria-label do elemento host\n * - propriedade ariaLabel do componente\n * - placeholder\n * - texto padrão (\"Campo de texto\")\n */\n private getAccessibilityLabel(): string {\n const hostAriaLabel = this.el.getAttribute('aria-label')\n\n return hostAriaLabel && hostAriaLabel.trim() !== ''\n ? hostAriaLabel\n : this.ariaLabel && this.ariaLabel.trim() !== ''\n ? this.ariaLabel\n : this.placeholder && this.placeholder.trim() !== ''\n ? this.placeholder\n : 'Campo de texto'\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-textarea': true,\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n success: this.state === 'success',\n danger: this.state === 'danger',\n warning: this.state === 'warning',\n }\n }\n\n render() {\n const caracteresRestantes: number = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength > 0\n const hasLabel = !!this.label\n\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n {this.isInline ? (\n <div class=\"row\">\n {hasLabel && (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.customId}>{this.label}</label>\n </div>\n )}\n <div class=\"col\">\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleInput}\n {...(this.rows > 0 ? { rows: this.rows } : {})}\n {...(this.cols > 0 ? { cols: this.cols } : {})}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n aria-describedby={this.getDescribedBy()}\n {...(!hasLabel ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n ></textarea>\n {this.showCounter && (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id={`${this.customId}-limitMax`}>\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\" id={`${this.customId}-limitMax`}>\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n )}\n {this.hasDefaultSlot && (\n <div id={`${this.customId}-slotInfo`} aria-live=\"polite\">\n <slot></slot>\n </div>\n )}\n </div>\n </div>\n ) : (\n [\n hasLabel ? <label htmlFor={this.customId}>{this.label}</label> : null,\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleInput}\n {...(this.rows > 0 ? { rows: this.rows } : {})}\n {...(this.cols > 0 ? { cols: this.cols } : {})}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n aria-describedby={this.getDescribedBy()}\n {...(!hasLabel ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n ></textarea>,\n this.showCounter ? (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id={`${this.customId}-limitMax`}>\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\" id={`${this.customId}-limitMax`}>\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n ) : null,\n this.hasDefaultSlot ? (\n <div id={`${this.customId}-slotInfo`} aria-live=\"polite\">\n <slot></slot>\n </div>\n ) : null,\n ]\n )}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["textareaCss","Textarea","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","customId","Helpers","generateUniqueId","disabled","maxlength","showCounter","density","isInline","hasDefaultSlot","handleInput","event","value","target","currentLength","_a","length","valueChange","emit","componentWillLoad","checkSlotContent","Array","from","el","childNodes","some","node","nodeType","Node","ELEMENT_NODE","hasAttribute","TEXT_NODE","textContent","trim","valueChanged","setValue","newValue","getDescribedBy","filter","Boolean","join","getAccessibilityLabel","hostAriaLabel","getAttribute","ariaLabel","placeholder","getCssClassMap","small","medium","large","success","state","danger","warning","render","caracteresRestantes","mostrarLimite","hasLabel","label","h","Host","key","class","htmlFor","Object","assign","id","onInput","rows","cols","maxLength","role"],"sources":["../../packages/webcomponents/src/components/textarea/textarea.scss?tag=br-textarea&encapsulation=shadow","../../packages/webcomponents/src/components/textarea/textarea.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/textarea/textarea\";\n\n:host {\n display: inline-block;\n vertical-align: top;\n box-sizing: border-box;\n font-family: Rawline, Raleway, sans-serif;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/textarea?tab=designer).\n *\n * @slot default - Slot para texto adicional ou instruções a serem exibidos junto ao textarea.\n */\n@Component({\n tag: 'br-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el: HTMLBrTextareaElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Valor exibido no textarea.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ mutable: true, reflect: true }) value: string\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Texto alternativo para acessibilidade quando não há label visível.\n * Fornece um rótulo para tecnologias assistivas sem exibir visualmente.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId('br-textarea')\n\n /**\n * Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.\n */\n @Prop({ reflect: true }) readonly maxlength: number = 0\n\n /**\n * Mostra o contador com a quantidade máxima de caracteres.\n */\n @Prop({ reflect: true }) readonly showCounter: boolean = false\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) readonly state: 'danger' | 'success' | 'warning'\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) readonly density: 'small' | 'medium' | 'large' = 'medium'\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Número de linhas visíveis no textarea.\n * Define a altura do componente em relação ao número de linhas de texto exibidas.\n */\n @Prop({ reflect: true }) readonly rows: number\n\n /**\n * Número de colunas (caracteres) visíveis no textarea.\n * Define a largura do componente em relação ao número de caracteres por linha.\n */\n @Prop({ reflect: true }) readonly cols: number\n\n /**\n * Comprimento atual do texto no textarea. É atualizado sempre que o valor do textarea muda.\n */\n @State() currentLength: number\n\n /**\n * Indica se o slot padrão possui conteúdo.\n */\n @State() hasDefaultSlot: boolean = false\n\n componentWillLoad() {\n this.currentLength = this.value?.length || 0\n this.checkSlotContent()\n }\n\n private checkSlotContent() {\n this.hasDefaultSlot = Array.from(this.el.childNodes).some((node) => {\n // Ignora nós que têm atributo slot (pertencem a outros slots)\n if (node.nodeType === Node.ELEMENT_NODE && (node as Element).hasAttribute('slot')) {\n return false\n }\n // Verifica se é elemento ou texto não vazio\n return (\n node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== '')\n )\n })\n }\n\n /**\n * Valor atualizado do textarea\n */\n @Event() valueChange: EventEmitter<string>\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value?.length || 0\n }\n\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.currentLength = this.value?.length || 0\n this.valueChange.emit(this.value)\n }\n\n /**\n * Define um novo valor para o textarea.\n * @param newValue - O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string) {\n this.value = newValue\n this.currentLength = this.value?.length || 0\n this.valueChange.emit(this.value)\n }\n\n /**\n * Retorna os ids para o atributo aria-describedby do textarea\n */\n private getDescribedBy(): string {\n return [this.showCounter ? `${this.customId}-limitMax` : null, `${this.customId}-slotInfo`]\n .filter(Boolean)\n .join(' ')\n }\n\n /**\n * Determina o texto a ser usado para acessibilidade quando não há label\n * Ordem de prioridade:\n * - aria-label do elemento host\n * - propriedade ariaLabel do componente\n * - placeholder\n * - texto padrão (\"Campo de texto\")\n */\n private getAccessibilityLabel(): string {\n const hostAriaLabel = this.el.getAttribute('aria-label')\n\n return hostAriaLabel && hostAriaLabel.trim() !== ''\n ? hostAriaLabel\n : this.ariaLabel && this.ariaLabel.trim() !== ''\n ? this.ariaLabel\n : this.placeholder && this.placeholder.trim() !== ''\n ? this.placeholder\n : 'Campo de texto'\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-textarea': true,\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n success: this.state === 'success',\n danger: this.state === 'danger',\n warning: this.state === 'warning',\n }\n }\n\n render() {\n const caracteresRestantes: number = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength > 0\n const hasLabel = !!this.label\n\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n {this.isInline ? (\n <div class=\"row\">\n {hasLabel && (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.customId}>{this.label}</label>\n </div>\n )}\n <div class=\"col\">\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleInput}\n {...(this.rows > 0 ? { rows: this.rows } : {})}\n {...(this.cols > 0 ? { cols: this.cols } : {})}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n aria-describedby={this.getDescribedBy()}\n {...(!hasLabel ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n ></textarea>\n {this.showCounter && (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id={`${this.customId}-limitMax`}>\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\" id={`${this.customId}-limitMax`}>\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n )}\n {this.hasDefaultSlot && (\n <div id={`${this.customId}-slotInfo`} aria-live=\"polite\">\n <slot></slot>\n </div>\n )}\n </div>\n </div>\n ) : (\n [\n hasLabel ? <label htmlFor={this.customId}>{this.label}</label> : null,\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleInput}\n {...(this.rows > 0 ? { rows: this.rows } : {})}\n {...(this.cols > 0 ? { cols: this.cols } : {})}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n aria-describedby={this.getDescribedBy()}\n {...(!hasLabel ? { 'aria-label': this.getAccessibilityLabel() } : {})}\n ></textarea>,\n this.showCounter ? (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id={`${this.customId}-limitMax`}>\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\" id={`${this.customId}-limitMax`}>\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n ) : null,\n this.hasDefaultSlot ? (\n <div id={`${this.customId}-slotInfo`} aria-live=\"polite\">\n <slot></slot>\n </div>\n ) : null,\n ]\n )}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|