@govbr-ds/webcomponents 2.0.0-next.22 → 2.0.0-next.23
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/LICENSE +1 -1
- package/README.md +99 -90
- package/package.json +15 -51
- package/dist/cjs/app-globals-77a217c6.js +0 -11
- package/dist/cjs/app-globals-77a217c6.js.map +0 -1
- package/dist/cjs/br-avatar.cjs.entry.js +0 -77
- package/dist/cjs/br-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/br-button_2.cjs.entry.js +0 -2610
- package/dist/cjs/br-button_2.cjs.entry.js.map +0 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +0 -76
- package/dist/cjs/br-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/br-checkgroup.cjs.entry.js +0 -101
- package/dist/cjs/br-checkgroup.cjs.entry.js.map +0 -1
- package/dist/cjs/br-dropdown.cjs.entry.js +0 -100
- package/dist/cjs/br-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/br-input_3.cjs.entry.js +0 -284
- package/dist/cjs/br-input_3.cjs.entry.js.map +0 -1
- package/dist/cjs/br-item.cjs.entry.js +0 -166
- package/dist/cjs/br-item.cjs.entry.js.map +0 -1
- package/dist/cjs/br-loading.cjs.entry.js +0 -43
- package/dist/cjs/br-loading.cjs.entry.js.map +0 -1
- package/dist/cjs/br-message.cjs.entry.js +0 -68
- package/dist/cjs/br-message.cjs.entry.js.map +0 -1
- package/dist/cjs/br-select.cjs.entry.js +0 -281
- package/dist/cjs/br-select.cjs.entry.js.map +0 -1
- package/dist/cjs/br-switch.cjs.entry.js +0 -84
- package/dist/cjs/br-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/br-tag.cjs.entry.js +0 -88
- package/dist/cjs/br-tag.cjs.entry.js.map +0 -1
- package/dist/cjs/br-textarea.cjs.entry.js +0 -102
- package/dist/cjs/br-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/br-upload.cjs.entry.js +0 -168
- package/dist/cjs/br-upload.cjs.entry.js.map +0 -1
- package/dist/cjs/index-4fc1aab1.js +0 -2091
- package/dist/cjs/index-4fc1aab1.js.map +0 -1
- package/dist/cjs/index.cjs.js +0 -8
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/inherited-attributes-16f7d388.js +0 -107
- package/dist/cjs/inherited-attributes-16f7d388.js.map +0 -1
- package/dist/cjs/loader.cjs.js +0 -21
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/v4-2a0fe526.js +0 -74
- package/dist/cjs/v4-2a0fe526.js.map +0 -1
- package/dist/cjs/webcomponents.cjs.js +0 -52
- package/dist/cjs/webcomponents.cjs.js.map +0 -1
- package/dist/collection/collection-manifest.json +0 -28
- package/dist/collection/components/avatar/avatar.css +0 -548
- package/dist/collection/components/avatar/avatar.js +0 -238
- package/dist/collection/components/avatar/avatar.js.map +0 -1
- package/dist/collection/components/button/button.css +0 -810
- package/dist/collection/components/button/button.js +0 -254
- package/dist/collection/components/button/button.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.css +0 -605
- package/dist/collection/components/checkbox/checkbox.js +0 -297
- package/dist/collection/components/checkbox/checkbox.js.map +0 -1
- package/dist/collection/components/checkgroup/checkgroup.css +0 -605
- package/dist/collection/components/checkgroup/checkgroup.js +0 -197
- package/dist/collection/components/checkgroup/checkgroup.js.map +0 -1
- package/dist/collection/components/dropdown/dropdown.css +0 -475
- package/dist/collection/components/dropdown/dropdown.js +0 -187
- package/dist/collection/components/dropdown/dropdown.js.map +0 -1
- package/dist/collection/components/icon/icon.css +0 -460
- package/dist/collection/components/icon/icon.js +0 -190
- package/dist/collection/components/icon/icon.js.map +0 -1
- package/dist/collection/components/input/input.css +0 -681
- package/dist/collection/components/input/input.js +0 -626
- package/dist/collection/components/input/input.js.map +0 -1
- package/dist/collection/components/item/item.css +0 -670
- package/dist/collection/components/item/item.js +0 -422
- package/dist/collection/components/item/item.js.map +0 -1
- package/dist/collection/components/list/list.css +0 -572
- package/dist/collection/components/list/list.js +0 -144
- package/dist/collection/components/list/list.js.map +0 -1
- package/dist/collection/components/loading/loading.css +0 -661
- package/dist/collection/components/loading/loading.js +0 -127
- package/dist/collection/components/loading/loading.js.map +0 -1
- package/dist/collection/components/message/message.css +0 -608
- package/dist/collection/components/message/message.js +0 -225
- package/dist/collection/components/message/message.js.map +0 -1
- package/dist/collection/components/radio/radio.css +0 -560
- package/dist/collection/components/radio/radio.js +0 -263
- package/dist/collection/components/radio/radio.js.map +0 -1
- package/dist/collection/components/select/select.css +0 -865
- package/dist/collection/components/select/select.js +0 -509
- package/dist/collection/components/select/select.js.map +0 -1
- package/dist/collection/components/switch/switch.css +0 -631
- package/dist/collection/components/switch/switch.js +0 -345
- package/dist/collection/components/switch/switch.js.map +0 -1
- package/dist/collection/components/tag/tag.css +0 -653
- package/dist/collection/components/tag/tag.js +0 -272
- package/dist/collection/components/tag/tag.js.map +0 -1
- package/dist/collection/components/textarea/textarea.css +0 -526
- package/dist/collection/components/textarea/textarea.js +0 -316
- package/dist/collection/components/textarea/textarea.js.map +0 -1
- package/dist/collection/components/upload/upload.css +0 -570
- package/dist/collection/components/upload/upload.js +0 -479
- package/dist/collection/components/upload/upload.js.map +0 -1
- package/dist/collection/index.js +0 -2
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/pages/components/button/index.js +0 -18
- package/dist/collection/pages/components/checkbox/index.js +0 -18
- package/dist/collection/pages/components/checkgroup/index.js +0 -20
- package/dist/collection/pages/components/dropdown/index.js +0 -18
- package/dist/collection/pages/components/icon/index.js +0 -18
- package/dist/collection/pages/components/input/index.js +0 -27
- package/dist/collection/pages/components/item/index.js +0 -18
- package/dist/collection/pages/components/list/index.js +0 -19
- package/dist/collection/pages/components/message/index.js +0 -18
- package/dist/collection/pages/components/radio/index.js +0 -18
- package/dist/collection/pages/components/select/index.js +0 -18
- package/dist/collection/pages/components/switch/index.js +0 -18
- package/dist/collection/pages/components/tag/index.js +0 -18
- package/dist/collection/pages/components/textarea/index.js +0 -19
- package/dist/collection/pages/components/upload/index.js +0 -19
- package/dist/collection/pages/scripts/menu.js +0 -241
- package/dist/collection/pages/scripts/pageLoader.js +0 -180
- package/dist/collection/utils/inherited-attributes.js +0 -102
- package/dist/collection/utils/inherited-attributes.js.map +0 -1
- package/dist/collection/utils/interfaces.js +0 -2
- package/dist/collection/utils/interfaces.js.map +0 -1
- package/dist/collection/utils/unique-id-generator.js +0 -13
- package/dist/collection/utils/unique-id-generator.js.map +0 -1
- package/dist/components/br-avatar.d.ts +0 -11
- package/dist/components/br-avatar.js +0 -6
- package/dist/components/br-avatar.js.map +0 -1
- package/dist/components/br-button.d.ts +0 -11
- package/dist/components/br-button.js +0 -6
- package/dist/components/br-button.js.map +0 -1
- package/dist/components/br-checkbox.d.ts +0 -11
- package/dist/components/br-checkbox.js +0 -6
- package/dist/components/br-checkbox.js.map +0 -1
- package/dist/components/br-checkgroup.d.ts +0 -11
- package/dist/components/br-checkgroup.js +0 -6
- package/dist/components/br-checkgroup.js.map +0 -1
- package/dist/components/br-dropdown.d.ts +0 -11
- package/dist/components/br-dropdown.js +0 -6
- package/dist/components/br-dropdown.js.map +0 -1
- package/dist/components/br-icon.d.ts +0 -11
- package/dist/components/br-icon.js +0 -6
- package/dist/components/br-icon.js.map +0 -1
- package/dist/components/br-input.d.ts +0 -11
- package/dist/components/br-input.js +0 -6
- package/dist/components/br-input.js.map +0 -1
- package/dist/components/br-item.d.ts +0 -11
- package/dist/components/br-item.js +0 -6
- package/dist/components/br-item.js.map +0 -1
- package/dist/components/br-list.d.ts +0 -11
- package/dist/components/br-list.js +0 -6
- package/dist/components/br-list.js.map +0 -1
- package/dist/components/br-loading.d.ts +0 -11
- package/dist/components/br-loading.js +0 -6
- package/dist/components/br-loading.js.map +0 -1
- package/dist/components/br-message.d.ts +0 -11
- package/dist/components/br-message.js +0 -6
- package/dist/components/br-message.js.map +0 -1
- package/dist/components/br-radio.d.ts +0 -11
- package/dist/components/br-radio.js +0 -6
- package/dist/components/br-radio.js.map +0 -1
- package/dist/components/br-select.d.ts +0 -11
- package/dist/components/br-select.js +0 -6
- package/dist/components/br-select.js.map +0 -1
- package/dist/components/br-switch.d.ts +0 -11
- package/dist/components/br-switch.js +0 -6
- package/dist/components/br-switch.js.map +0 -1
- package/dist/components/br-tag.d.ts +0 -11
- package/dist/components/br-tag.js +0 -6
- package/dist/components/br-tag.js.map +0 -1
- package/dist/components/br-textarea.d.ts +0 -11
- package/dist/components/br-textarea.js +0 -6
- package/dist/components/br-textarea.js.map +0 -1
- package/dist/components/br-upload.d.ts +0 -11
- package/dist/components/br-upload.js +0 -6
- package/dist/components/br-upload.js.map +0 -1
- package/dist/components/index.d.ts +0 -33
- package/dist/components/index.js +0 -6
- package/dist/components/index.js.map +0 -1
- package/dist/components/p-126ad66d.js +0 -17
- package/dist/components/p-126ad66d.js.map +0 -1
- package/dist/components/p-184a3074.js +0 -6
- package/dist/components/p-184a3074.js.map +0 -1
- package/dist/components/p-5cb170a7.js +0 -6
- package/dist/components/p-5cb170a7.js.map +0 -1
- package/dist/components/p-65616dbd.js +0 -7
- package/dist/components/p-65616dbd.js.map +0 -1
- package/dist/components/p-65c54cc8.js +0 -6
- package/dist/components/p-65c54cc8.js.map +0 -1
- package/dist/components/p-74a4eb38.js +0 -6
- package/dist/components/p-74a4eb38.js.map +0 -1
- package/dist/components/p-a6dcabb0.js +0 -6
- package/dist/components/p-a6dcabb0.js.map +0 -1
- package/dist/components/p-ace62688.js +0 -6
- package/dist/components/p-ace62688.js.map +0 -1
- package/dist/components/p-d5a8d30c.js +0 -6
- package/dist/components/p-d5a8d30c.js.map +0 -1
- package/dist/esm/app-globals-72548b13.js +0 -9
- package/dist/esm/app-globals-72548b13.js.map +0 -1
- package/dist/esm/br-avatar.entry.js +0 -73
- package/dist/esm/br-avatar.entry.js.map +0 -1
- package/dist/esm/br-button_2.entry.js +0 -2605
- package/dist/esm/br-button_2.entry.js.map +0 -1
- package/dist/esm/br-checkbox.entry.js +0 -72
- package/dist/esm/br-checkbox.entry.js.map +0 -1
- package/dist/esm/br-checkgroup.entry.js +0 -97
- package/dist/esm/br-checkgroup.entry.js.map +0 -1
- package/dist/esm/br-dropdown.entry.js +0 -96
- package/dist/esm/br-dropdown.entry.js.map +0 -1
- package/dist/esm/br-input_3.entry.js +0 -278
- package/dist/esm/br-input_3.entry.js.map +0 -1
- package/dist/esm/br-item.entry.js +0 -162
- package/dist/esm/br-item.entry.js.map +0 -1
- package/dist/esm/br-loading.entry.js +0 -39
- package/dist/esm/br-loading.entry.js.map +0 -1
- package/dist/esm/br-message.entry.js +0 -64
- package/dist/esm/br-message.entry.js.map +0 -1
- package/dist/esm/br-select.entry.js +0 -277
- package/dist/esm/br-select.entry.js.map +0 -1
- package/dist/esm/br-switch.entry.js +0 -80
- package/dist/esm/br-switch.entry.js.map +0 -1
- package/dist/esm/br-tag.entry.js +0 -84
- package/dist/esm/br-tag.entry.js.map +0 -1
- package/dist/esm/br-textarea.entry.js +0 -98
- package/dist/esm/br-textarea.entry.js.map +0 -1
- package/dist/esm/br-upload.entry.js +0 -164
- package/dist/esm/br-upload.entry.js.map +0 -1
- package/dist/esm/index-45af9b53.js +0 -2061
- package/dist/esm/index-45af9b53.js.map +0 -1
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/inherited-attributes-553a7c36.js +0 -105
- package/dist/esm/inherited-attributes-553a7c36.js.map +0 -1
- package/dist/esm/loader.js +0 -17
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/v4-c99c1585.js +0 -72
- package/dist/esm/v4-c99c1585.js.map +0 -1
- package/dist/esm/webcomponents.js +0 -47
- package/dist/esm/webcomponents.js.map +0 -1
- package/dist/esm-es5/app-globals-72548b13.js +0 -6
- package/dist/esm-es5/app-globals-72548b13.js.map +0 -1
- package/dist/esm-es5/br-avatar.entry.js +0 -6
- package/dist/esm-es5/br-avatar.entry.js.map +0 -1
- package/dist/esm-es5/br-button_2.entry.js +0 -17
- package/dist/esm-es5/br-button_2.entry.js.map +0 -1
- package/dist/esm-es5/br-checkbox.entry.js +0 -6
- package/dist/esm-es5/br-checkbox.entry.js.map +0 -1
- package/dist/esm-es5/br-checkgroup.entry.js +0 -6
- package/dist/esm-es5/br-checkgroup.entry.js.map +0 -1
- package/dist/esm-es5/br-dropdown.entry.js +0 -6
- package/dist/esm-es5/br-dropdown.entry.js.map +0 -1
- package/dist/esm-es5/br-input_3.entry.js +0 -6
- package/dist/esm-es5/br-input_3.entry.js.map +0 -1
- package/dist/esm-es5/br-item.entry.js +0 -6
- package/dist/esm-es5/br-item.entry.js.map +0 -1
- package/dist/esm-es5/br-loading.entry.js +0 -6
- package/dist/esm-es5/br-loading.entry.js.map +0 -1
- package/dist/esm-es5/br-message.entry.js +0 -6
- package/dist/esm-es5/br-message.entry.js.map +0 -1
- package/dist/esm-es5/br-select.entry.js +0 -6
- package/dist/esm-es5/br-select.entry.js.map +0 -1
- package/dist/esm-es5/br-switch.entry.js +0 -6
- package/dist/esm-es5/br-switch.entry.js.map +0 -1
- package/dist/esm-es5/br-tag.entry.js +0 -6
- package/dist/esm-es5/br-tag.entry.js.map +0 -1
- package/dist/esm-es5/br-textarea.entry.js +0 -6
- package/dist/esm-es5/br-textarea.entry.js.map +0 -1
- package/dist/esm-es5/br-upload.entry.js +0 -6
- package/dist/esm-es5/br-upload.entry.js.map +0 -1
- package/dist/esm-es5/index-45af9b53.js +0 -6
- package/dist/esm-es5/index-45af9b53.js.map +0 -1
- package/dist/esm-es5/index.js +0 -5
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/inherited-attributes-553a7c36.js +0 -6
- package/dist/esm-es5/inherited-attributes-553a7c36.js.map +0 -1
- package/dist/esm-es5/loader.js +0 -6
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/v4-c99c1585.js +0 -6
- package/dist/esm-es5/v4-c99c1585.js.map +0 -1
- package/dist/esm-es5/webcomponents.js +0 -6
- package/dist/esm-es5/webcomponents.js.map +0 -1
- package/dist/index.cjs.js +0 -1
- package/dist/index.js +0 -1
- package/dist/types/components/avatar/avatar.d.ts +0 -60
- package/dist/types/components/button/button.d.ts +0 -64
- package/dist/types/components/checkbox/checkbox.d.ts +0 -78
- package/dist/types/components/checkgroup/checkgroup.d.ts +0 -52
- package/dist/types/components/dropdown/dropdown.d.ts +0 -64
- package/dist/types/components/icon/icon.d.ts +0 -58
- package/dist/types/components/input/input.d.ts +0 -151
- package/dist/types/components/item/item.d.ts +0 -98
- package/dist/types/components/list/list.d.ts +0 -34
- package/dist/types/components/loading/loading.d.ts +0 -34
- package/dist/types/components/message/message.d.ts +0 -62
- package/dist/types/components/radio/radio.d.ts +0 -75
- package/dist/types/components/select/select.d.ts +0 -98
- package/dist/types/components/switch/switch.d.ts +0 -79
- package/dist/types/components/tag/tag.d.ts +0 -73
- package/dist/types/components/textarea/textarea.d.ts +0 -66
- package/dist/types/components/upload/upload.d.ts +0 -160
- package/dist/types/components.d.ts +0 -1847
- package/dist/types/index.d.ts +0 -10
- package/dist/types/stencil-public-runtime.d.ts +0 -1680
- package/dist/types/utils/inherited-attributes.d.ts +0 -20
- package/dist/types/utils/interfaces.d.ts +0 -3
- package/dist/types/utils/unique-id-generator.d.ts +0 -1
- package/dist/webcomponents/index.esm.js +0 -6
- package/dist/webcomponents/index.esm.js.map +0 -1
- package/dist/webcomponents/p-04a3d24e.system.entry.js +0 -6
- package/dist/webcomponents/p-04a3d24e.system.entry.js.map +0 -1
- package/dist/webcomponents/p-057dcb7c.system.entry.js +0 -6
- package/dist/webcomponents/p-057dcb7c.system.entry.js.map +0 -1
- package/dist/webcomponents/p-19b77f11.entry.js +0 -6
- package/dist/webcomponents/p-19b77f11.entry.js.map +0 -1
- package/dist/webcomponents/p-1acbc680.entry.js +0 -6
- package/dist/webcomponents/p-1acbc680.entry.js.map +0 -1
- package/dist/webcomponents/p-254a2b7c.js +0 -6
- package/dist/webcomponents/p-254a2b7c.js.map +0 -1
- package/dist/webcomponents/p-25d82c85.system.entry.js +0 -6
- package/dist/webcomponents/p-25d82c85.system.entry.js.map +0 -1
- package/dist/webcomponents/p-27b820ac.system.entry.js +0 -6
- package/dist/webcomponents/p-27b820ac.system.entry.js.map +0 -1
- package/dist/webcomponents/p-2b0430f4.entry.js +0 -6
- package/dist/webcomponents/p-2b0430f4.entry.js.map +0 -1
- package/dist/webcomponents/p-2ff5f694.system.entry.js +0 -6
- package/dist/webcomponents/p-2ff5f694.system.entry.js.map +0 -1
- package/dist/webcomponents/p-357e1105.system.entry.js +0 -6
- package/dist/webcomponents/p-357e1105.system.entry.js.map +0 -1
- package/dist/webcomponents/p-35f07e4b.entry.js +0 -6
- package/dist/webcomponents/p-35f07e4b.entry.js.map +0 -1
- package/dist/webcomponents/p-3e449bd5.system.entry.js +0 -6
- package/dist/webcomponents/p-3e449bd5.system.entry.js.map +0 -1
- package/dist/webcomponents/p-46a75920.system.js +0 -6
- package/dist/webcomponents/p-46a75920.system.js.map +0 -1
- package/dist/webcomponents/p-491cdd00.entry.js +0 -6
- package/dist/webcomponents/p-491cdd00.entry.js.map +0 -1
- package/dist/webcomponents/p-52e5bcdd.entry.js +0 -6
- package/dist/webcomponents/p-52e5bcdd.entry.js.map +0 -1
- package/dist/webcomponents/p-60879543.system.entry.js +0 -6
- package/dist/webcomponents/p-60879543.system.entry.js.map +0 -1
- package/dist/webcomponents/p-6bfb8eb6.entry.js +0 -6
- package/dist/webcomponents/p-6bfb8eb6.entry.js.map +0 -1
- package/dist/webcomponents/p-6d0d2846.system.js +0 -7
- package/dist/webcomponents/p-6d0d2846.system.js.map +0 -1
- package/dist/webcomponents/p-6e286eba.system.js +0 -6
- package/dist/webcomponents/p-6e286eba.system.js.map +0 -1
- package/dist/webcomponents/p-74a4eb38.js +0 -6
- package/dist/webcomponents/p-74a4eb38.js.map +0 -1
- package/dist/webcomponents/p-7c3554a7.system.entry.js +0 -17
- package/dist/webcomponents/p-7c3554a7.system.entry.js.map +0 -1
- package/dist/webcomponents/p-8fd11f97.system.entry.js +0 -6
- package/dist/webcomponents/p-8fd11f97.system.entry.js.map +0 -1
- package/dist/webcomponents/p-907fab5d.entry.js +0 -6
- package/dist/webcomponents/p-907fab5d.entry.js.map +0 -1
- package/dist/webcomponents/p-90e2e623.system.js +0 -6
- package/dist/webcomponents/p-90e2e623.system.js.map +0 -1
- package/dist/webcomponents/p-929db2b8.entry.js +0 -17
- package/dist/webcomponents/p-929db2b8.entry.js.map +0 -1
- package/dist/webcomponents/p-98e6f0c1.system.entry.js +0 -6
- package/dist/webcomponents/p-98e6f0c1.system.entry.js.map +0 -1
- package/dist/webcomponents/p-9b0f20d7.entry.js +0 -6
- package/dist/webcomponents/p-9b0f20d7.entry.js.map +0 -1
- package/dist/webcomponents/p-a71689a5.system.js +0 -6
- package/dist/webcomponents/p-a71689a5.system.js.map +0 -1
- package/dist/webcomponents/p-ad5a7b8b.system.entry.js +0 -6
- package/dist/webcomponents/p-ad5a7b8b.system.entry.js.map +0 -1
- package/dist/webcomponents/p-c3811f09.js +0 -7
- package/dist/webcomponents/p-c3811f09.js.map +0 -1
- package/dist/webcomponents/p-c6a9c8ac.entry.js +0 -6
- package/dist/webcomponents/p-c6a9c8ac.entry.js.map +0 -1
- package/dist/webcomponents/p-d46495d5.system.entry.js +0 -6
- package/dist/webcomponents/p-d46495d5.system.entry.js.map +0 -1
- package/dist/webcomponents/p-d5a8d30c.js +0 -6
- package/dist/webcomponents/p-d5a8d30c.js.map +0 -1
- package/dist/webcomponents/p-dc3d284a.entry.js +0 -6
- package/dist/webcomponents/p-dc3d284a.entry.js.map +0 -1
- package/dist/webcomponents/p-e751c991.system.js +0 -6
- package/dist/webcomponents/p-e751c991.system.js.map +0 -1
- package/dist/webcomponents/p-e98418a4.entry.js +0 -6
- package/dist/webcomponents/p-e98418a4.entry.js.map +0 -1
- package/dist/webcomponents/p-ef89bcc9.system.entry.js +0 -6
- package/dist/webcomponents/p-ef89bcc9.system.entry.js.map +0 -1
- package/dist/webcomponents/p-fc11eac9.entry.js +0 -6
- package/dist/webcomponents/p-fc11eac9.entry.js.map +0 -1
- package/dist/webcomponents/webcomponents.esm.js +0 -6
- package/dist/webcomponents/webcomponents.esm.js.map +0 -1
- package/dist/webcomponents/webcomponents.js +0 -127
- package/hydrate/index.d.ts +0 -242
- package/hydrate/index.js +0 -22909
- package/hydrate/index.mjs +0 -22901
- package/hydrate/package.json +0 -12
- package/loader/cdn.js +0 -6
- package/loader/index.cjs.js +0 -6
- package/loader/index.d.ts +0 -24
- package/loader/index.es2017.js +0 -6
- package/loader/index.js +0 -7
- package/loader/package.json +0 -11
- package/vscode-data.json +0 -985
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"br-select.entry.cjs.js","mappings":"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","names":["uuidv4","inheritAriaAttributes","h","index"],"sources":["src/components/select/select.scss?tag=br-select&encapsulation=shadow","src/components/select/select.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/select/select.scss\";\n@import \"../../../../../node_modules/@govbr-ds/core/src/components/item/item.scss\";\n\n:host {\n display: block;\n\n .br-select br-list {\n background-color: var(--bg-color);\n box-shadow: var(--select-shadow);\n margin-top: -2px;\n max-height: 404px;\n overflow: auto;\n position: absolute;\n resize: none;\n width: 100%;\n z-index: 1;\n\n @include scrollbar;\n\n &:focus,\n &:active {\n color: var(--color-secondary-09);\n outline: none;\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--color-secondary-07);\n }\n }\n\n\n .br-item br-radio::part(radio-input) {\n visibility: hidden;\n height: 0;\n width: 0;\n }\n\n .br-item br-radio::part(radio-label) {\n padding-left: var(--spacing-scale-base);\n position: relative;\n\n &::before,\n &::after {\n display: none;\n }\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces';\n\n@Component({\n tag: 'br-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrSelectElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Rótulo que indica o tipo de informação que deve ser selecionada.\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Texto auxiliar exibido antes de uma seleção.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n\n /**\n * Habilita o modo múltiplo para selecionar várias opções.\n */\n @Prop({ reflect: true }) isMultiple: boolean = false;\n\n /**\n * JSON contendo as opções do select.\n */\n @Prop({ reflect: true }) options: string = '[]';\n\n /**\n * Rótulo para selecionar todas as opções.\n */\n @Prop({ reflect: true }) selectAllLabel: string = 'Selecionar todos';\n\n /**\n * Rótulo para desmarcar todas as opções.\n */\n @Prop({ reflect: true }) unselectAllLabel: string = 'Desselecionar todos';\n\n /**\n * Exibe o ícone de busca no campo de entrada.\n */\n @Prop({ reflect: true }) showSearchIcon: boolean = false;\n\n /**\n * Indica se a listagem de itens do select está expandida\n */\n @Prop({ reflect: true }) isOpen: boolean = false;\n\n /**\n * Especifica o ID do componente.\n * Se não for fornecido, o ID será gerado automaticamente e de forma aleatória\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Contém o id gerado aleatoriamente\n */\n private readonly idDefault = `${uuidv4()}`\n\n // Representa as opções do select disponíveis para renderização.\n // Cada opção contém `label`, `value` e o estado de seleção (`selected`).\n @State() parsedOptions: { label: string; value: string; selected: boolean }[] = [];\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = '';\n\n // Indica se todas as opções estão selecionadas. Comportamento do checkbox \"Selecionar Todos\".\n @State() isAllSelected: boolean = false;\n\n // Controla se a lista de opções do select está expandida (aberta) ou colapsada (fechada).\n @State() isExpanded: boolean = false;\n\n // Armazena o índice do item atualmente focado, usado para navegação por teclado.\n @State() focusedIndex: number = -1;\n\n /**\n * Evento emitido sempre que houver atualização nos itens selecionados.\n */\n @Event() brDidSelectChange: EventEmitter;\n\n @Watch('options')\n synchronizeSelect() {\n try {\n const rawOptions = JSON.parse(this.options);\n this.parsedOptions = this.sanitizeOptions(rawOptions);\n this.updateSelectedOptions();\n this.updateSelectedAllState();\n this.emitSelectedOptions();\n } catch (error) {\n console.error('Erro ao processar as opções do select:', error);\n this.parsedOptions = [];\n }\n }\n\n componentWillLoad() {\n this.isExpanded = this.isOpen;\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.synchronizeSelect();\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n disconnectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private sanitizeOptions(rawOptions: any[]): { label: string; value: string; selected: boolean }[] {\n const validOptions = [];\n const invalidOptions = [];\n\n rawOptions.forEach(option => {\n if (typeof option.label === 'string' && option.label.trim() !== '') {\n validOptions.push({\n label: option.label.trim(),\n value: typeof option.value === 'string' ? option.value : '',\n selected: typeof option.selected === 'boolean' ? option.selected : false,\n });\n } else {\n invalidOptions.push(option);\n }\n });\n\n if (invalidOptions.length > 0) {\n console.warn('Opções inválidas descartadas:', invalidOptions);\n }\n\n return validOptions;\n }\n\n private readonly handleClickOutside = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n if (this.isExpanded && !this.el.contains(target)) {\n this.isExpanded = false;\n }\n }\n\n private handleKeydownOnInput(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n this.closeSelect();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isExpanded) {\n this.openSelect();\n }\n this.focusItemInDirection('next');\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (!this.isExpanded) {\n this.openSelect();\n }\n this.focusItemInDirection('previous');\n break;\n case 'Escape':\n this.closeSelect();\n this.resetFocus();\n break;\n case 'Enter':\n this.toggleOpen();\n break;\n default:\n }\n }\n\n private handleKeydownOnList(event: KeyboardEvent) {\n event.preventDefault();\n switch (event.key) {\n case 'Tab':\n case 'Escape':\n this.resetFocus();\n break;\n case 'ArrowUp':\n this.focusItemInDirection('previous');\n break;\n case 'ArrowDown':\n this.focusItemInDirection('next');\n break;\n default:\n break;\n }\n }\n\n private handleKeydownOnItem(event: KeyboardEvent, index: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleSelection(index); // Garante que o índice correto será usado\n } else if (event.key === 'Escape') {\n this.closeSelect();\n }\n }\n\n private handleSelectAllKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.toggleSelectAll();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.closeSelect();\n }\n }\n\n private resetFocus() {\n const input = this.el.shadowRoot.querySelector('br-input') as HTMLElement;\n input.focus();\n }\n\n private focusItemInDirection(direction: 'next' | 'previous') {\n let itemCount = this.parsedOptions.length;\n if (this.isMultiple) itemCount += 1;\n\n this.focusedIndex = direction === 'next'\n ? (this.focusedIndex + 1) % itemCount\n : (this.focusedIndex - 1 + itemCount) % itemCount;\n\n this.focusItem(this.focusedIndex);\n }\n\n private focusItem(index: number) {\n const items = this.el.shadowRoot.querySelectorAll('.br-item');\n const item = items[index] as HTMLElement;\n item.focus();\n }\n\n private openSelect() {\n this.isExpanded = true;\n }\n\n private closeSelect() {\n this.isExpanded = false;\n }\n\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.parsedOptions.length) {\n return;\n }\n\n if (this.isMultiple) {\n this.parsedOptions[index].selected = !this.parsedOptions[index].selected;\n } else {\n this.parsedOptions.forEach(option => option.selected = false);\n this.parsedOptions[index].selected = true;\n this.isExpanded = false;\n }\n this.updateSelectedOptions();\n this.emitSelectedOptions();\n this.updateSelectedAllState();\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter(option => option.selected));\n }\n\n private getStringValue(options) {\n if (options.length > 0) {\n const firstSelected = options[0].label || options[0].value;\n if (this.isMultiple) {\n const howManySelected = options.length > 1 ? ` + (${options.length - 1})` : '';\n return `${firstSelected}${howManySelected}`;\n } else {\n return firstSelected;\n }\n }\n return '';\n }\n\n private emitSelectedOptions() {\n const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value);\n\n this.brDidSelectChange.emit(selectedOptions);\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every(option => option.selected);\n this.isAllSelected = allSelected;\n }\n\n private toggleSelectAll() {\n if (this.isAllSelected) {\n this.parsedOptions.forEach(option => option.selected = false);\n this.isAllSelected = false;\n } else {\n this.parsedOptions.forEach(option => option.selected = true);\n this.isAllSelected = true;\n }\n\n this.updateSelectedOptions();\n this.emitSelectedOptions();\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\n onKeyDown={(event) => this.handleKeydownOnInput(event)}\n >\n {this.showSearchIcon && <br-icon slot=\"icon\" icon-name=\"fa-solid:search\" aria-hidden=\"true\"></br-icon>}\n <br-icon slot=\"action\"\n icon-name={this.isExpanded ? 'fa-solid:angle-up' : 'fa-solid:angle-down'}\n height=\"16\"\n aria-hidden=\"true\">\n </br-icon>\n </br-input>\n );\n }\n\n private renderSelectAllCheckbox() {\n return (\n <div class={`br-item highlighted ${this.isAllSelected ? 'selected' : ''}`}\n data-all=\"data-all\"\n tabindex=\"-1\"\n role=\"option\"\n aria-selected={this.isAllSelected}\n onKeyDown={(event) => this.handleSelectAllKeyDown(event)}\n >\n <br-checkbox\n name={`checkbox-${this.idDefault}`}\n label={this.isAllSelected ? this.unselectAllLabel : this.selectAllLabel}\n checked={this.isAllSelected}\n onBrDidCheckedChange={() => this.toggleSelectAll()}\n ></br-checkbox>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n this.parsedOptions.map((option, index) => (\n <div\n class={`br-item ${option.selected ? 'selected' : ''}`}\n key={`${option.label}-${this.idDefault}`}\n role=\"option\"\n tabindex={this.focusedIndex === index ? 0 : -1}\n aria-selected={option.selected}\n onClick={() => this.handleSelection(index)}\n onKeyDown={(event) => this.handleKeydownOnItem(event, index)}\n >\n {this.isMultiple ?\n (\n <br-checkbox\n name={`checkbox-${index}-${this.idDefault}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onBrDidCheckedChange={() => this.handleSelection(index)}\n />\n )\n :\n (<br-radio\n exportparts=\"radio-input, radio-label\"\n name={`radio-${index}-${this.idDefault}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onBrDidChange={() => this.handleSelection(index)}\n />)\n }\n </div>\n ))\n );\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId() {\n return this.customId?.length > 0 ? this.customId : `br-select-${this.idDefault}`;\n }\n\n /**\n * Inverte o valor da prop `isOpen`\n */\n @Method()\n async toggleOpen() {\n this.isExpanded = !this.isExpanded\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <div class={this.getCssClassMap()} {...this.inheritedAttributes} id={this.getComputedId()}>\n {this.renderInput()}\n\n {this.isExpanded &&\n <br-list tabindex={-1} onKeyDown={(event) => this.handleKeydownOnList(event)}>\n {this.isMultiple && (this.renderSelectAllCheckbox())}\n {this.renderOptions()}\n </br-list>\n }\n </div>\n );\n }\n}\n\n"],"version":3}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Construído com @govbr-ds/webcomponents
|
|
3
|
-
* Padrão Digital de Governo.
|
|
4
|
-
*/
|
|
5
|
-
'use strict';
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8
|
-
|
|
9
|
-
const index = require('./index-4fc1aab1.js');
|
|
10
|
-
const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
|
|
11
|
-
const v4 = require('./v4-2a0fe526.js');
|
|
12
|
-
|
|
13
|
-
const switchCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-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:-ms-inline-flexbox;display:inline-flex;min-height:var(--switch-height);}.br-switch input{opacity:0;position:absolute}.br-switch input+label{-ms-flex-align:center;align-items:center;color:var(--color);cursor:pointer;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 0.3s ease-in-out;transition:all 0.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{-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{-ms-flex-align:center;align-items:center;color:var(--color-dark);content:\"\\f00d\";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);-ms-flex-pack:center;justify-content:center}.br-switch.icon input:checked+label::after{content:\"\\f00c\"}.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.dark-mode,.br-switch.dark-mode label{color:var(--color-dark)}:host{display:block}";
|
|
14
|
-
const BrSwitchStyle0 = switchCss;
|
|
15
|
-
|
|
16
|
-
const Switch = class {
|
|
17
|
-
constructor(hostRef) {
|
|
18
|
-
index.registerInstance(this, hostRef);
|
|
19
|
-
this.brDidSwitchToggle = index.createEvent(this, "brDidSwitchToggle", 7);
|
|
20
|
-
if (hostRef.$hostElement$["s-ei"]) {
|
|
21
|
-
this.elementInternals = hostRef.$hostElement$["s-ei"];
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
this.elementInternals = hostRef.$hostElement$.attachInternals();
|
|
25
|
-
hostRef.$hostElement$["s-ei"] = this.elementInternals;
|
|
26
|
-
}
|
|
27
|
-
this.handleCheckedChange = (event) => {
|
|
28
|
-
this._checkedValue = event.target.checked;
|
|
29
|
-
this.brDidSwitchToggle.emit(this._checkedValue);
|
|
30
|
-
};
|
|
31
|
-
this.handleClick = (event) => {
|
|
32
|
-
event.stopPropagation();
|
|
33
|
-
};
|
|
34
|
-
this.inheritedAttributes = {};
|
|
35
|
-
this.disabled = false;
|
|
36
|
-
this.checked = false;
|
|
37
|
-
this.customId = `br-input-${v4.v4()}`;
|
|
38
|
-
this.label = undefined;
|
|
39
|
-
this.labelPosition = 'left';
|
|
40
|
-
this.labelOn = undefined;
|
|
41
|
-
this.labelOff = undefined;
|
|
42
|
-
this.hasIcon = false;
|
|
43
|
-
this.name = undefined;
|
|
44
|
-
this.value = undefined;
|
|
45
|
-
this.density = 'medium';
|
|
46
|
-
this._slotDefault = false;
|
|
47
|
-
this._checkedValue = undefined;
|
|
48
|
-
}
|
|
49
|
-
componentWillLoad() {
|
|
50
|
-
this._hasSlotContentDefault();
|
|
51
|
-
this._checkedValue = this.checked;
|
|
52
|
-
this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
|
|
53
|
-
}
|
|
54
|
-
_hasSlotContentDefault() {
|
|
55
|
-
this._slotDefault = this.el.innerHTML !== '';
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Inverte o valor da prop `checked`
|
|
59
|
-
*/
|
|
60
|
-
async toggleChecked() {
|
|
61
|
-
this._checkedValue = !this._checkedValue;
|
|
62
|
-
this.brDidSwitchToggle.emit(this._checkedValue);
|
|
63
|
-
}
|
|
64
|
-
getCssClassMap() {
|
|
65
|
-
return {
|
|
66
|
-
'br-switch': true,
|
|
67
|
-
icon: this.hasIcon,
|
|
68
|
-
top: this.labelPosition === 'top',
|
|
69
|
-
right: this.labelPosition === 'right',
|
|
70
|
-
large: this.density === 'large',
|
|
71
|
-
small: this.density === 'small',
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
render() {
|
|
75
|
-
return (index.h(index.Host, { key: '0c550accde86f8f6bf23d0c13a0abaeca6422123' }, index.h("div", Object.assign({ key: 'c63172ea2696799e3f3ae55a98598341785bfcce', class: this.getCssClassMap() }, this.inheritedAttributes), index.h("input", { key: 'ac86ee46e8ac44de1b9a70bd335822369eabf417', id: this.customId, type: "checkbox", name: this.name, checked: this._checkedValue, disabled: this.disabled, role: "switch", "aria-checked": this._checkedValue.toString(), "aria-disabled": this.disabled ? 'true' : null, onChange: this.handleCheckedChange, onClick: this.handleClick }), index.h("label", { key: '637d8dbdd7ffc4618a3b5627691c767d7a542134', htmlFor: this.customId }, this._slotDefault ? index.h("slot", null) : this.label), this.labelOn && this.labelOff && (index.h("div", { key: 'c201c7a56eee2bce5c41c79bf6df84fb493fe56a', class: "switch-data", "data-enabled": this.labelOn, "data-disabled": this.labelOff })))));
|
|
76
|
-
}
|
|
77
|
-
static get formAssociated() { return true; }
|
|
78
|
-
get el() { return index.getElement(this); }
|
|
79
|
-
};
|
|
80
|
-
Switch.style = BrSwitchStyle0;
|
|
81
|
-
|
|
82
|
-
exports.br_switch = Switch;
|
|
83
|
-
|
|
84
|
-
//# sourceMappingURL=br-switch.cjs.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"br-switch.entry.cjs.js","mappings":";;;;;;;;;;;;AAAA,MAAM,SAAS,GAAG,gtdAAgtd,CAAC;AACnud,uBAAe,SAAS;;MCeX,MAAM;;;;;;;;;;;QAuFA,wBAAmB,GAAG,CAAC,KAAY;YAClD,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAA;YAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SAChD,CAAA;QAEgB,gBAAW,GAAG,CAAC,KAAY;YAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB,CAAA;QAsBO,wBAAmB,GAAe,EAAE,CAAA;wBAxGC,KAAK;uBAMN,KAAK;wBAMY,YAAYA,KAAM,EAAE,EAAE;;6BAWhB,MAAM;;;uBAe7B,KAAK;;;uBAgBgB,QAAQ;4BAGxC,KAAK;;;IAItC,iBAAiB;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,mBAAmB,GAAGC,yCAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC1D;IAMO,sBAAsB;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAA;KAC7C;;;;IAeD,MAAM,aAAa;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAA;QACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KAChD;IAEO,cAAc;QACpB,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,GAAG,EAAE,IAAI,CAAC,aAAa,KAAK,KAAK;YACjC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,OAAO;YACrC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;YAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;SAChC,CAAA;KACF;IAID,MAAM;QACJ,QACEC,QAACC,UAAI,uDACHD,gFAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB,GAC7DA,oEACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,kBACC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,mBAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAClC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACFA,oEAAO,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,YAAY,GAAGA,qBAAa,GAAG,IAAI,CAAC,KAAK,CAAS,EACtF,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAC5BA,kEAAK,KAAK,EAAC,aAAa,kBAAe,IAAI,CAAC,OAAO,mBAAiB,IAAI,CAAC,QAAQ,GAAQ,CAC1F,CACG,CACD,EACR;KACF;;;;;;;;","names":["uuidv4","inheritAriaAttributes","h","Host"],"sources":["src/components/switch/switch.scss?tag=br-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/switch/switch.scss\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/switch?tab=designer).\n *\n * @slot default - Descreve o que o switch faz quando a alternância estiver ativada. A label passada por slot tem precedência 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 }) 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 }) checked: boolean = false\n\n /**\n * Identificador único do switch.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n /**\n * Texto descritivo.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop() label: string\n\n /**\n * Posição do rótulo em relação ao switch.\n */\n @Prop({ reflect: true }) labelPosition: 'right' | 'left' | 'top' = 'left'\n\n /**\n * Texto exibido quando o switch está ativado.\n */\n @Prop({ reflect: true }) labelOn: string\n\n /**\n * Texto exibido quando o switch está desativado.\n */\n @Prop({ reflect: true }) labelOff: string\n\n /**\n * Adiciona um ícone ao switch para indicar a mudança de estado.\n */\n @Prop({ reflect: true }) 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 }) 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 }) 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 }) 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 @State() _checkedValue: boolean\n\n componentWillLoad() {\n this._hasSlotContentDefault()\n this._checkedValue = this.checked\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidSwitchToggle: EventEmitter<boolean>\n private _hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private readonly handleCheckedChange = (event: Event) => {\n this._checkedValue = (event.target as HTMLInputElement).checked\n this.brDidSwitchToggle.emit(this._checkedValue)\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._checkedValue = !this._checkedValue\n this.brDidSwitchToggle.emit(this._checkedValue)\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 private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <input\n id={this.customId}\n type=\"checkbox\"\n name={this.name}\n checked={this._checkedValue}\n disabled={this.disabled}\n role=\"switch\"\n aria-checked={this._checkedValue.toString()}\n aria-disabled={this.disabled ? 'true' : null}\n onChange={this.handleCheckedChange}\n onClick={this.handleClick}\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}></div>\n )}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Construído com @govbr-ds/webcomponents
|
|
3
|
-
* Padrão Digital de Governo.
|
|
4
|
-
*/
|
|
5
|
-
'use strict';
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8
|
-
|
|
9
|
-
const index = require('./index-4fc1aab1.js');
|
|
10
|
-
const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
|
|
11
|
-
|
|
12
|
-
const tagCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-tag{--tag-size:var(--tag-medium);--tag-small:var(--spacing-scale-2xh);--tag-medium:var(--spacing-scale-3xh);--tag-large:var(--spacing-scale-4xh);-ms-flex-align:center;align-items:center;background:var(--background-dark);border-radius:var(--surface-rounder-sm);color:var(--color-dark);display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);-ms-flex-pack:center;justify-content:center;margin:0;min-height:var(--tag-size);padding:0 var(--spacing-scale-baseh);align-items:center;background:var(--background-dark);border-radius:var(--surface-rounder-sm);color:var(--color-dark);display:inline-flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);justify-content:center;margin:0;min-height:var(--tag-size);padding:0 var(--spacing-scale-baseh)}.br-tag+.br-tag{margin-left:var(--spacing-scale-half)}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag.status{--tag-small:var(--spacing-scale-baseh);--tag-medium:var(--spacing-scale-2x);--tag-large:var(--spacing-scale-3x);border:1px solid var(--background-light);border-radius:50%;min-width:var(--tag-size);padding:0}.br-tag.count{--tag-small:var(--spacing-scale-2xh);--tag-medium:var(--spacing-scale-3x);--tag-large:var(--spacing-scale-3xh);border:1px solid var(--background-light);border-radius:100em;min-width:var(--tag-size);padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-tag.icon{--tag-small:var(--spacing-scale-3xh);--tag-medium:var(--spacing-scale-4x);--tag-large:var(--spacing-scale-5xh);border-radius:50%;min-width:var(--tag-size);padding:0}.br-tag.small{--tag-size:var(--tag-small)}.br-tag.medium{--tag-size:var(--tag-medium)}.br-tag.large{--tag-size:var(--tag-large)}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag+.br-tag{margin-left:var(--spacing-scale-half)}.br-tag.small{--tag-size:var(--tag-small)}.br-tag.medium{--tag-size:var(--tag-medium)}.br-tag.large{--tag-size:var(--tag-large)}.br-tag.is-highlight,.br-tag.highlight,.br-tag[highlight]{background-color:#268744}.br-tag.success,.br-tag[success]{background-color:var(--success)}.br-tag.danger,.br-tag[danger]{background-color:var(--danger)}.br-tag.warning,.br-tag[warning]{background-color:var(--warning)}.br-tag.info,.br-tag[info]{background-color:var(--info)}:host{display:block}:host .tag-position{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center}:host .tag-spacing-status{margin-left:var(--spacing-scale-half) !important}";
|
|
13
|
-
const BrTagStyle0 = tagCss;
|
|
14
|
-
|
|
15
|
-
const Tag = class {
|
|
16
|
-
constructor(hostRef) {
|
|
17
|
-
index.registerInstance(this, hostRef);
|
|
18
|
-
this.brWillLoad = index.createEvent(this, "brWillLoad", 7);
|
|
19
|
-
if (hostRef.$hostElement$["s-ei"]) {
|
|
20
|
-
this.elementInternals = hostRef.$hostElement$["s-ei"];
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.elementInternals = hostRef.$hostElement$.attachInternals();
|
|
24
|
-
hostRef.$hostElement$["s-ei"] = this.elementInternals;
|
|
25
|
-
}
|
|
26
|
-
this.inheritedAttributes = {};
|
|
27
|
-
this.handleClose = () => {
|
|
28
|
-
this.el.remove();
|
|
29
|
-
};
|
|
30
|
-
this.label = '';
|
|
31
|
-
this.iconName = '';
|
|
32
|
-
this.color = '';
|
|
33
|
-
this.density = 'small';
|
|
34
|
-
this.shape = 'default';
|
|
35
|
-
this.status = false;
|
|
36
|
-
this.interaction = false;
|
|
37
|
-
this.disabled = false;
|
|
38
|
-
this.stateIconName = 'fa-solid:car';
|
|
39
|
-
}
|
|
40
|
-
componentWillLoad() {
|
|
41
|
-
this.brWillLoad.emit();
|
|
42
|
-
this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
|
|
43
|
-
}
|
|
44
|
-
getCssClassMap() {
|
|
45
|
-
const classes = {
|
|
46
|
-
'br-tag': true,
|
|
47
|
-
interaction: this.interaction,
|
|
48
|
-
[this.color]: this.color !== '',
|
|
49
|
-
small: this.density === 'small',
|
|
50
|
-
medium: this.density === 'medium',
|
|
51
|
-
large: this.density === 'large',
|
|
52
|
-
count: this.shape === 'rounded' ? true : false,
|
|
53
|
-
icon: this.shape === 'circle' ? true : false,
|
|
54
|
-
status: this.status,
|
|
55
|
-
};
|
|
56
|
-
return classes;
|
|
57
|
-
}
|
|
58
|
-
renderIcon() {
|
|
59
|
-
if (this.iconName.trim().length === 0)
|
|
60
|
-
return null;
|
|
61
|
-
return index.h("br-icon", { style: { fontSize: 'var(--icon-size-base)' }, "icon-name": this.iconName, "aria-hidden": "true" });
|
|
62
|
-
}
|
|
63
|
-
renderLabel() {
|
|
64
|
-
if (this.shape === 'circle' || this.status)
|
|
65
|
-
return null;
|
|
66
|
-
return (index.h("span", { id: "interactivetag1", "aria-label": this.label }, this.label));
|
|
67
|
-
}
|
|
68
|
-
renderCloseButton() {
|
|
69
|
-
if (!this.interaction)
|
|
70
|
-
return null;
|
|
71
|
-
return (index.h("br-button", { type: "button", shape: "circle", emphasis: !this.interaction ? 'tertiary' : 'primary', "aria-label": "Fechar", colorMode: !this.interaction ? 'dark' : null, "aria-describedby": "interactivetag1", onClick: this.handleClose, disabled: this.disabled }, index.h("br-icon", { "icon-name": "fa-solid:times" })));
|
|
72
|
-
}
|
|
73
|
-
renderStatusLabel() {
|
|
74
|
-
if (!this.status)
|
|
75
|
-
return null;
|
|
76
|
-
return (index.h("span", { class: "tag-spacing-status", id: "interactivetag1", "aria-label": this.label }, this.label));
|
|
77
|
-
}
|
|
78
|
-
render() {
|
|
79
|
-
return (index.h(index.Host, { key: '4e078895032e633b6c111bd633222938e6b00a95' }, index.h("div", { key: '3dd682ccfe5eb9533ad82f9d1fd39a2b1357774f', class: "tag-position" }, index.h("span", Object.assign({ key: '09f68d7a0a6820f590cfdb04bc75956ee276f426', class: this.getCssClassMap() }, this.inheritedAttributes, { role: "alert", "aria-live": "assertive" }), this.renderIcon(), this.renderLabel(), this.renderCloseButton(), index.h("slot", { key: '04a14d8b19926d9d18f3a4f2abe66061c85f5446' })), this.renderStatusLabel())));
|
|
80
|
-
}
|
|
81
|
-
static get formAssociated() { return true; }
|
|
82
|
-
get el() { return index.getElement(this); }
|
|
83
|
-
};
|
|
84
|
-
Tag.style = BrTagStyle0;
|
|
85
|
-
|
|
86
|
-
exports.br_tag = Tag;
|
|
87
|
-
|
|
88
|
-
//# sourceMappingURL=br-tag.cjs.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"br-tag.entry.cjs.js","mappings":"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","names":["inheritAriaAttributes","h","Host"],"sources":["src/components/tag/tag.scss?tag=br-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/tag/tag.scss\";\n\n:host {\n display: block;\n\n .tag-position {\n display: flex;\n justify-content: space-around;\n align-items: center;\n }\n .tag-spacing-status {\n margin-left: var(--spacing-scale-half) !important;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/tag?tab=designer).\n *\n * @slot default - Slot utilizado para inserir conteúdo adicional na tag, como texto ou elementos HTML extras.\n */\n@Component({\n tag: 'br-tag',\n styleUrl: 'tag.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Tag {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrTagElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * A propriedade 'label' é uma string que representa o texto a ser exibido no componente.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * A propriedade 'iconName' define o nome do ícone que será exibido ao lado do texto.\n * O valor padrão é 'fa-solid:car', que corresponde a um ícone de carro da biblioteca Font Awesome.\n */\n @Prop({ reflect: true }) iconName: string = ''\n\n /**\n * A propriedade 'color' permite definir a cor do componente.\n * Aceita valores como 'red', 'blue', entre outros, e é refletida no DOM.\n */\n @Prop({ reflect: true }) color: string = ''\n\n /**\n * A propriedade 'density' permite definir a densidade do componente.\n * Aceita valores como 'small', 'medium' e 'large', e é refletida no DOM.\n */\n @Prop({ reflect: true }) density: 'small' | 'medium' | 'large' = 'small'\n\n /**\n * A propriedade 'shape' define o formato do componente.\n * Valores possíveis:\n * - 'circle': Componente com formato circular.\n * - 'rounded': Componente com bordas arredondadas.\n * - 'default': Componente com formato padrão.\n */\n @Prop({ reflect: true }) shape: 'circle' | 'rounded' | 'default' = 'default'\n\n /**\n * A propriedade 'status' é um booleano que indica se o status deve ser exibido.\n * Se definido como true, o status será mostrado ao lado do texto.\n */\n @Prop({ reflect: true }) status: boolean = false\n\n /**\n * A propriedade 'interaction' é um booleano que indica se a interação deve ser habilitada.\n * Se definido como true, o componente permitirá interações do usuário.\n */\n @Prop({ reflect: true }) interaction: boolean = false\n\n /**\n * A propriedade 'disabled' é um booleano que indica se o componente deve estar desabilitado.\n * Se definido como true, o componente não permitirá interações do usuário.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n @State() stateIconName: string = 'fa-solid:car'\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n private getCssClassMap(): CssClassMap {\n const classes: CssClassMap = {\n 'br-tag': true,\n interaction: this.interaction,\n [this.color]: this.color !== '',\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n count: this.shape === 'rounded' ? true : false,\n icon: this.shape === 'circle' ? true : false,\n status: this.status,\n }\n\n return classes\n }\n\n private inheritedAttributes: Attributes = {}\n\n private renderIcon() {\n if (this.iconName.trim().length === 0) return null\n return <br-icon style={{ fontSize: 'var(--icon-size-base)' }} icon-name={this.iconName} aria-hidden=\"true\" />\n }\n\n private renderLabel() {\n if (this.shape === 'circle' || this.status) return null\n return (\n <span id=\"interactivetag1\" aria-label={this.label}>\n {this.label}\n </span>\n )\n }\n\n private renderCloseButton() {\n if (!this.interaction) return null\n return (\n <br-button\n type=\"button\"\n shape=\"circle\"\n emphasis={!this.interaction ? 'tertiary' : 'primary'}\n aria-label=\"Fechar\"\n colorMode={!this.interaction ? 'dark' : null}\n aria-describedby=\"interactivetag1\"\n onClick={this.handleClose}\n disabled={this.disabled}\n >\n <br-icon icon-name=\"fa-solid:times\"></br-icon>\n </br-button>\n )\n }\n\n private renderStatusLabel() {\n if (!this.status) return null\n return (\n <span class=\"tag-spacing-status\" id=\"interactivetag1\" aria-label={this.label}>\n {this.label}\n </span>\n )\n }\n\n private handleClose = () => {\n this.el.remove()\n }\n\n render() {\n return (\n <Host>\n <div class=\"tag-position\">\n <span class={this.getCssClassMap()} {...this.inheritedAttributes} role=\"alert\" aria-live=\"assertive\">\n {this.renderIcon()}\n {this.renderLabel()}\n {this.renderCloseButton()}\n <slot></slot>\n </span>\n {this.renderStatusLabel()}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Construído com @govbr-ds/webcomponents
|
|
3
|
-
* Padrão Digital de Governo.
|
|
4
|
-
*/
|
|
5
|
-
'use strict';
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8
|
-
|
|
9
|
-
const index = require('./index-4fc1aab1.js');
|
|
10
|
-
const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
|
|
11
|
-
const v4 = require('./v4-2a0fe526.js');
|
|
12
|
-
|
|
13
|
-
const textareaCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-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.dark-mode,.br-textarea.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-textarea.dark-mode textarea{color:var(--color-light)}:host{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Rawline, Raleway, sans-serif}";
|
|
14
|
-
const BrTextareaStyle0 = textareaCss;
|
|
15
|
-
|
|
16
|
-
const Textarea = class {
|
|
17
|
-
constructor(hostRef) {
|
|
18
|
-
index.registerInstance(this, hostRef);
|
|
19
|
-
if (hostRef.$hostElement$["s-ei"]) {
|
|
20
|
-
this.elementInternals = hostRef.$hostElement$["s-ei"];
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.elementInternals = hostRef.$hostElement$.attachInternals();
|
|
24
|
-
hostRef.$hostElement$["s-ei"] = this.elementInternals;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.
|
|
28
|
-
* @param event - O evento de entrada do textarea.
|
|
29
|
-
*/
|
|
30
|
-
this.handleChange = (event) => {
|
|
31
|
-
var _a;
|
|
32
|
-
const textarea = event.target;
|
|
33
|
-
this.value = textarea.value;
|
|
34
|
-
this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
|
|
35
|
-
this.emitValueChange();
|
|
36
|
-
};
|
|
37
|
-
this.inheritedAttributes = {};
|
|
38
|
-
this.value = undefined;
|
|
39
|
-
this.label = undefined;
|
|
40
|
-
this.placeholder = undefined;
|
|
41
|
-
this.disabled = false;
|
|
42
|
-
this.maxlength = 0;
|
|
43
|
-
this.state = undefined;
|
|
44
|
-
this.density = 'medium';
|
|
45
|
-
this.isInline = false;
|
|
46
|
-
this.currentLength = undefined;
|
|
47
|
-
this.customId = `br-textarea-${v4.v4()}`;
|
|
48
|
-
}
|
|
49
|
-
componentWillLoad() {
|
|
50
|
-
var _a;
|
|
51
|
-
this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
|
|
52
|
-
this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
|
|
53
|
-
}
|
|
54
|
-
valueChanged() {
|
|
55
|
-
var _a;
|
|
56
|
-
this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Define um novo valor para o textarea.
|
|
60
|
-
* @param newValue - O novo valor a ser definido.
|
|
61
|
-
*/
|
|
62
|
-
async setValue(newValue) {
|
|
63
|
-
var _a;
|
|
64
|
-
this.value = newValue;
|
|
65
|
-
this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
|
|
66
|
-
this.emitValueChange();
|
|
67
|
-
}
|
|
68
|
-
emitValueChange() {
|
|
69
|
-
const changeEvent = new CustomEvent('valueChange', {
|
|
70
|
-
detail: { value: this.value },
|
|
71
|
-
bubbles: true,
|
|
72
|
-
composed: true,
|
|
73
|
-
});
|
|
74
|
-
this.el.dispatchEvent(changeEvent);
|
|
75
|
-
}
|
|
76
|
-
getCssClassMap() {
|
|
77
|
-
return {
|
|
78
|
-
'br-textarea': true,
|
|
79
|
-
small: this.density === 'small',
|
|
80
|
-
medium: this.density === 'medium',
|
|
81
|
-
large: this.density === 'large',
|
|
82
|
-
success: this.state === 'success',
|
|
83
|
-
danger: this.state === 'danger',
|
|
84
|
-
warning: this.state === 'warning',
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
render() {
|
|
88
|
-
const caracteresRestantes = this.maxlength - this.currentLength;
|
|
89
|
-
const mostrarLimite = this.currentLength > 0;
|
|
90
|
-
return (index.h(index.Host, { key: '9bfb06666d1c2b474e44b9a8c5ee68a1b435199f' }, index.h("div", Object.assign({ key: '977244962b6d2423ace8ec5f5fff9a234d238c3b', class: this.getCssClassMap() }, this.inheritedAttributes), index.h("div", { key: 'b7568e2fcdc00447862e96287989e05afa8ea22f', class: this.isInline ? 'row' : '' }, this.isInline ? (index.h("div", { class: "col-auto pt-half" }, index.h("label", { htmlFor: this.customId }, this.label))) : (index.h("label", { htmlFor: this.customId }, this.label)), index.h("div", { key: '56ef7055c6a4f48e50bbd359f0c1b70c70a5b310', class: this.isInline ? 'col' : '' }, index.h("textarea", Object.assign({ key: 'e10d4ea67079a82976195b1ee931d132ad699b38', id: this.customId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleChange }, (this.maxlength > 0 ? { maxLength: this.maxlength } : {}))), index.h("div", { key: 'dfb7790e95c1ec6c3f4202ebe6a56fd52c8cc037', class: "text-base mt-1" }, this.maxlength > 0 && (index.h("div", { key: '28e5410a07385118ffcbeb82c5a9a3906e8c199d' }, mostrarLimite ? (index.h("span", { class: "restantes", "aria-live": "polite", role: "status", id: "limitmax" }, "Restam ", index.h("strong", null, caracteresRestantes), " caracteres")) : (index.h("span", { class: "limit", "aria-live": "polite" }, "Limite m\u00E1ximo de ", index.h("strong", null, this.maxlength), " caracteres"))))), index.h("slot", { key: '6a6ff1012fdd6fa62b3a9175220b466db904a148' }))))));
|
|
91
|
-
}
|
|
92
|
-
static get formAssociated() { return true; }
|
|
93
|
-
get el() { return index.getElement(this); }
|
|
94
|
-
static get watchers() { return {
|
|
95
|
-
"value": ["valueChanged"]
|
|
96
|
-
}; }
|
|
97
|
-
};
|
|
98
|
-
Textarea.style = BrTextareaStyle0;
|
|
99
|
-
|
|
100
|
-
exports.br_textarea = Textarea;
|
|
101
|
-
|
|
102
|
-
//# sourceMappingURL=br-textarea.cjs.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"br-textarea.entry.cjs.js","mappings":"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","names":["uuidv4","inheritAriaAttributes","h","Host"],"sources":["src/components/textarea/textarea.scss?tag=br-textarea&encapsulation=shadow","src/components/textarea/textarea.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/textarea/textarea.scss\";\n:host {\n display: block;\n box-sizing: border-box;\n font-family: Rawline, Raleway, sans-serif;\n}\n","import { AttachInternals, Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/textarea?tab=designer).\n *\n * @slot default - Espaço de conteúdo do textarea. Geralmente usado para incluir texto adicional ou instruções para o usuário.\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 atual do textarea. Este valor pode ser alterado programaticamente.\n */\n @Prop({ mutable: true, reflect: true }) value: string\n\n /**\n * Texto do rótulo associado ao textarea. Este rótulo é exibido acima do campo de entrada.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Texto exibido quando o textarea está vazio. Ajuda a guiar o usuário sobre o que deve ser inserido.\n */\n @Prop({ reflect: true }) placeholder: string\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 }) 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 }) maxlength: number = 0\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) state: 'danger' | 'success' | 'warning'\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) 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 }) isInline: boolean = false\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 * Identificador único do textarea.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-textarea-${uuidv4()}`\n\n componentWillLoad() {\n this.currentLength = this.value?.length\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value?.length\n }\n\n /**\n * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.\n * @param event - O evento de entrada do textarea.\n */\n private readonly handleChange = (event: Event) => {\n const textarea = event.target as HTMLTextAreaElement\n this.value = textarea.value\n this.currentLength = this.value?.length\n this.emitValueChange()\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\n this.emitValueChange()\n }\n\n private emitValueChange() {\n const changeEvent = new CustomEvent('valueChange', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n })\n this.el.dispatchEvent(changeEvent)\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 private inheritedAttributes: Attributes = {}\n\n render() {\n const caracteresRestantes: number = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength > 0\n\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div class={this.isInline ? 'row' : ''}>\n {this.isInline ? (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.customId}>{this.label}</label>\n </div>\n ) : (\n <label htmlFor={this.customId}>{this.label}</label>\n )}\n <div class={this.isInline ? 'col' : ''}>\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleChange}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n ></textarea>\n <div class=\"text-base mt-1\">\n {this.maxlength > 0 && (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id=\"limitmax\">\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\">\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n )}\n </div>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|