@govbr-ds/webcomponents 2.1.3 → 2.2.0
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/README.md +87 -46
- package/cem/custom-elements.json +6359 -1133
- package/cem/webcomponents.html-custom-data.json +398 -285
- package/dist/cjs/br-avatar.cjs.entry.js +21 -14
- package/dist/cjs/br-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/br-breadcrumb.cjs.entry.js +49 -22
- package/dist/cjs/br-button_2.cjs.entry.js +72 -35
- package/dist/cjs/br-card.cjs.entry.js +6 -5
- package/dist/cjs/br-carousel-page.cjs.entry.js +3 -3
- package/dist/cjs/br-carousel.cjs.entry.js +77 -21
- package/dist/cjs/br-checkbox-group.cjs.entry.js +157 -27
- package/dist/cjs/br-checkbox.cjs.entry.js +85 -15
- package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
- package/dist/cjs/br-collapse_2.cjs.entry.js +85 -26
- package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-group.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-header.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-link.cjs.entry.js +14 -6
- package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +3 -5
- package/dist/cjs/br-cookiebar-note.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar.cjs.entry.js +38 -25
- package/dist/cjs/br-crumb.cjs.entry.js +2 -2
- package/dist/cjs/br-date-picker_3.cjs.entry.js +246 -88
- package/dist/cjs/br-datetime-picker.cjs.entry.js +115 -527
- package/dist/cjs/br-divider.cjs.entry.js +70 -17
- package/dist/cjs/br-dropdown_2.cjs.entry.js +301 -128
- package/dist/cjs/br-footer-category.cjs.entry.js +10 -6
- package/dist/cjs/br-footer-item.cjs.entry.js +9 -4
- package/dist/cjs/br-footer-legal.cjs.entry.js +4 -4
- package/dist/cjs/br-footer-logo.cjs.entry.js +22 -10
- package/dist/cjs/br-footer-social.cjs.entry.js +14 -6
- package/dist/cjs/br-footer.cjs.entry.js +16 -7
- package/dist/cjs/br-header-function.cjs.entry.js +28 -7
- package/dist/cjs/br-header-link.cjs.entry.js +25 -4
- package/dist/cjs/br-header-list.cjs.entry.js +6 -17
- package/dist/cjs/br-header-logo.cjs.entry.js +18 -7
- package/dist/cjs/br-header.cjs.entry.js +72 -17
- package/dist/cjs/br-icon.cjs.entry.js +160 -23
- package/dist/cjs/br-input.cjs.entry.js +130 -39
- package/dist/cjs/br-item.cjs.entry.js +96 -48
- package/dist/cjs/br-link.cjs.entry.js +20 -7
- package/dist/cjs/br-loading.cjs.entry.js +100 -38
- package/dist/cjs/br-magic-button.cjs.entry.js +26 -9
- package/dist/cjs/br-menu-group.cjs.entry.js +14 -3
- package/dist/cjs/br-menu-header.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-info.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-item.cjs.entry.js +27 -5
- package/dist/cjs/br-menu-link.cjs.entry.js +14 -6
- package/dist/cjs/br-menu-list.cjs.entry.js +23 -27
- package/dist/cjs/br-menu-logo.cjs.entry.js +4 -4
- package/dist/cjs/br-menu-social.cjs.entry.js +16 -6
- package/dist/cjs/br-menu.cjs.entry.js +38 -57
- package/dist/cjs/br-modal.cjs.entry.js +26 -40
- package/dist/cjs/br-notification-body.cjs.entry.js +4 -4
- package/dist/cjs/br-notification-header.cjs.entry.js +4 -4
- package/dist/cjs/br-notification-item.cjs.entry.js +14 -8
- package/dist/cjs/br-notification.cjs.entry.js +23 -8
- package/dist/cjs/br-pagination.cjs.entry.js +119 -87
- package/dist/cjs/br-radio-group.cjs.entry.js +106 -57
- package/dist/cjs/br-radio.cjs.entry.js +61 -11
- package/dist/cjs/br-scrim.cjs.entry.js +161 -67
- package/dist/cjs/br-select-input_3.cjs.entry.js +283 -90
- package/dist/cjs/br-sign-in.cjs.entry.js +34 -15
- package/dist/cjs/br-skip-link-item.cjs.entry.js +39 -2
- package/dist/cjs/br-skip-link.cjs.entry.js +50 -33
- package/dist/cjs/br-skiplink-item.cjs.entry.js +22 -6
- package/dist/cjs/br-slider.cjs.entry.js +521 -99
- package/dist/cjs/br-step_2.cjs.entry.js +98 -44
- package/dist/cjs/br-switch.cjs.entry.js +20 -11
- package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
- package/dist/cjs/br-tab.cjs.entry.js +57 -44
- package/dist/cjs/br-table-body.cjs.entry.js +3 -3
- package/dist/cjs/br-table-cell.cjs.entry.js +30 -13
- package/dist/cjs/br-table-header-cell.cjs.entry.js +23 -7
- package/dist/cjs/br-table-header.cjs.entry.js +3 -3
- package/dist/cjs/br-table-row.cjs.entry.js +17 -3
- package/dist/cjs/br-table.cjs.entry.js +67 -21
- package/dist/cjs/br-tag.cjs.entry.js +48 -30
- package/dist/cjs/br-textarea.cjs.entry.js +117 -12
- package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
- package/dist/cjs/br-upload.cjs.entry.js +83 -24
- package/dist/cjs/br-wizard-panel.cjs.entry.js +16 -3
- package/dist/cjs/br-wizard.cjs.entry.js +52 -28
- package/dist/cjs/{isValid-Fu3kaWNn.js → datetime-picker-props-validation-DmNKSXsy.js} +481 -4
- package/dist/cjs/{floating-ui-MBI1osio.js → floating-ui-B6nsdYUU.js} +24 -1
- package/dist/cjs/{floating-ui.dom-BUSTaaxR.js → floating-ui.dom-wzdGZjyG.js} +201 -113
- package/dist/cjs/{focus-DuywwJPR.js → focus-BhfJnFgJ.js} +21 -0
- package/dist/cjs/header-context-CdawuLsH.js +17 -0
- package/dist/cjs/id-DE4jSi-L.js +36 -0
- package/dist/cjs/{index-CRdcutym.js → index-CGgZBuyy.js} +68 -752
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/motion-CgIooxWS.js +29 -0
- package/dist/cjs/ownership-UnpufyCx.js +116 -0
- package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
- package/dist/cjs/props-D8dybmr0.js +124 -0
- package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
- package/dist/cjs/webcomponents.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/avatar/avatar.js +48 -16
- package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
- package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button/button.js +88 -24
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/card/card.js +33 -5
- package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
- package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
- package/dist/collection/components/carousel/carousel.css +1 -1
- package/dist/collection/components/carousel/carousel.js +107 -21
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +134 -20
- package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
- package/dist/collection/components/checkgroup/checkgroup.js +42 -4
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +48 -8
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
- package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
- package/dist/collection/components/cookiebar/cookiebar.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar.js +67 -32
- package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
- package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
- package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
- package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
- package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
- package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/divider/divider.js +101 -26
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +166 -18
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/footer/footer.js +48 -7
- package/dist/collection/components/header/header-context.js +13 -0
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-function/header-function.js +51 -8
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-link/header-link.js +52 -2
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-list/header-list.js +20 -23
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header-logo/header-logo.js +33 -8
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +110 -24
- package/dist/collection/components/icon/default-icons-cache.js +111 -3
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/icon/icon.js +80 -33
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +169 -54
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/item/item.js +134 -51
- package/dist/collection/components/link/link.css +1 -1
- package/dist/collection/components/link/link.js +48 -15
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/list/list.js +106 -25
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/loading/loading.js +131 -43
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/magic-button/magic-button.js +51 -9
- package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
- package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
- package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +71 -60
- package/dist/collection/components/menu/menu.utils.js +8 -18
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/message/message.js +50 -24
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/modal/modal.js +54 -41
- package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
- package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
- package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
- package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
- package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
- package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
- package/dist/collection/components/notification/notification.css +1 -1
- package/dist/collection/components/notification/notification.js +54 -10
- package/dist/collection/components/pagination/pagination.css +1 -1
- package/dist/collection/components/pagination/pagination.js +161 -74
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio/radio.js +109 -14
- package/dist/collection/components/radio-group/radio-group.css +1 -1
- package/dist/collection/components/radio-group/radio-group.js +153 -63
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/scrim/scrim.js +215 -74
- package/dist/collection/components/scrim/scrim.utils.js +5 -51
- package/dist/collection/components/select/select-input/select-input.css +1 -1
- package/dist/collection/components/select/select-input/select-input.js +58 -5
- package/dist/collection/components/select/select-list/select-list.css +1 -1
- package/dist/collection/components/select/select-list/select-list.js +247 -52
- package/dist/collection/components/select/select-option/select-option.css +1 -1
- package/dist/collection/components/select/select-option/select-option.js +108 -46
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +320 -124
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +55 -16
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/skip-link/skip-link.js +78 -39
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/slider/slider.js +530 -132
- package/dist/collection/components/slider/slider.utils.js +178 -0
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step-item/step-item.js +29 -12
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/step/step.js +119 -44
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/switch/switch.js +48 -15
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +89 -46
- package/dist/collection/components/table/table-body/table-body.css +1 -1
- package/dist/collection/components/table/table-body/table-body.js +11 -7
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +36 -17
- package/dist/collection/components/table/table-header/table-header.css +1 -1
- package/dist/collection/components/table/table-header/table-header.js +11 -7
- package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
- package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table-row/table-row.js +24 -7
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/table/table.js +107 -31
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +86 -36
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +222 -19
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/tooltip/tooltip.js +134 -45
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +135 -33
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/collection/components/wizard/wizard.js +82 -28
- package/dist/collection/pages/scripts/component-controls-core.js +95 -0
- package/dist/collection/pages/scripts/component-controls.js +217 -153
- package/dist/collection/pages/scripts/dev-event-console.js +5 -1
- package/dist/collection/pages/scripts/menu.js +90 -5
- package/dist/collection/pages/scripts/pageLoader.js +1470 -584
- package/dist/collection/pages/scripts/pageloader-preview.js +787 -0
- package/dist/collection/pages/scripts/playground-core.js +173 -0
- package/dist/collection/shared/utils/cssVariables.js +2 -0
- package/dist/collection/shared/utils/date.js +8 -4
- package/dist/collection/shared/utils/floating-ui.js +24 -1
- package/dist/collection/shared/utils/focus.js +31 -0
- package/dist/collection/shared/utils/getRandom.js +16 -1
- package/dist/collection/shared/utils/helpers.js +4 -11
- package/dist/collection/shared/utils/id.js +23 -7
- package/dist/collection/shared/utils/index.js +6 -1
- package/dist/collection/shared/utils/isEmpty.js +5 -3
- package/dist/collection/shared/utils/motion.js +25 -0
- package/dist/collection/shared/utils/ownership.js +113 -0
- package/dist/collection/shared/utils/prop-warning.js +47 -0
- package/dist/collection/shared/utils/props.js +79 -0
- package/dist/collection/shared/utils/swipe.js +11 -1
- package/dist/collection/shared/utils/transition.js +3 -0
- package/dist/collection/shared/utils/virtual-scroll.js +24 -0
- package/dist/components/br-avatar.d.ts +1 -1
- package/dist/components/br-avatar.js +1 -1
- package/dist/components/br-breadcrumb-item.d.ts +1 -1
- package/dist/components/br-breadcrumb-item.js +1 -1
- package/dist/components/br-breadcrumb.d.ts +1 -1
- package/dist/components/br-breadcrumb.js +1 -1
- package/dist/components/br-button.d.ts +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-card.d.ts +1 -1
- package/dist/components/br-card.js +1 -1
- package/dist/components/br-carousel-page.d.ts +1 -1
- package/dist/components/br-carousel-page.js +1 -1
- package/dist/components/br-carousel.d.ts +1 -1
- package/dist/components/br-carousel.js +1 -1
- package/dist/components/br-checkbox-group.d.ts +1 -1
- package/dist/components/br-checkbox-group.js +1 -1
- package/dist/components/br-checkbox.d.ts +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkgroup.d.ts +1 -1
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.d.ts +1 -1
- package/dist/components/br-collapse.js +1 -1
- package/dist/components/br-cookiebar-cookie.d.ts +1 -1
- package/dist/components/br-cookiebar-cookie.js +1 -1
- package/dist/components/br-cookiebar-group.d.ts +1 -1
- package/dist/components/br-cookiebar-group.js +1 -1
- package/dist/components/br-cookiebar-header.d.ts +1 -1
- package/dist/components/br-cookiebar-header.js +1 -1
- package/dist/components/br-cookiebar-link.d.ts +1 -1
- package/dist/components/br-cookiebar-link.js +1 -1
- package/dist/components/br-cookiebar-note-group.d.ts +1 -1
- package/dist/components/br-cookiebar-note-group.js +1 -1
- package/dist/components/br-cookiebar-note.d.ts +1 -1
- package/dist/components/br-cookiebar-note.js +1 -1
- package/dist/components/br-cookiebar.d.ts +1 -1
- package/dist/components/br-cookiebar.js +1 -1
- package/dist/components/br-crumb.d.ts +1 -1
- package/dist/components/br-crumb.js +1 -1
- package/dist/components/br-date-picker.d.ts +1 -1
- package/dist/components/br-date-picker.js +1 -1
- package/dist/components/br-datetime-input.d.ts +1 -1
- package/dist/components/br-datetime-input.js +1 -1
- package/dist/components/br-datetime-picker.d.ts +1 -1
- package/dist/components/br-datetime-picker.js +1 -1
- package/dist/components/br-divider.d.ts +1 -1
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.d.ts +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.d.ts +1 -1
- package/dist/components/br-footer-category.js +1 -1
- package/dist/components/br-footer-item.d.ts +1 -1
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-footer-legal.d.ts +1 -1
- package/dist/components/br-footer-legal.js +1 -1
- package/dist/components/br-footer-logo.d.ts +1 -1
- package/dist/components/br-footer-logo.js +1 -1
- package/dist/components/br-footer-social.d.ts +1 -1
- package/dist/components/br-footer-social.js +1 -1
- package/dist/components/br-footer.d.ts +1 -1
- package/dist/components/br-footer.js +1 -1
- package/dist/components/br-header-function.d.ts +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.d.ts +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.d.ts +1 -1
- package/dist/components/br-header-list.js +1 -1
- package/dist/components/br-header-logo.d.ts +1 -1
- package/dist/components/br-header-logo.js +1 -1
- package/dist/components/br-header.d.ts +1 -1
- package/dist/components/br-header.js +1 -1
- package/dist/components/br-icon.d.ts +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.d.ts +1 -1
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-item.d.ts +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-link.d.ts +1 -1
- package/dist/components/br-link.js +1 -1
- package/dist/components/br-list.d.ts +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.d.ts +1 -1
- package/dist/components/br-loading.js +1 -1
- package/dist/components/br-magic-button.d.ts +1 -1
- package/dist/components/br-magic-button.js +1 -1
- package/dist/components/br-menu-group.d.ts +1 -1
- package/dist/components/br-menu-group.js +1 -1
- package/dist/components/br-menu-header.d.ts +1 -1
- package/dist/components/br-menu-header.js +1 -1
- package/dist/components/br-menu-info.d.ts +1 -1
- package/dist/components/br-menu-info.js +1 -1
- package/dist/components/br-menu-item.d.ts +1 -1
- package/dist/components/br-menu-item.js +1 -1
- package/dist/components/br-menu-link.d.ts +1 -1
- package/dist/components/br-menu-link.js +1 -1
- package/dist/components/br-menu-list.d.ts +1 -1
- package/dist/components/br-menu-list.js +1 -1
- package/dist/components/br-menu-logo.d.ts +1 -1
- package/dist/components/br-menu-logo.js +1 -1
- package/dist/components/br-menu-social.d.ts +1 -1
- package/dist/components/br-menu-social.js +1 -1
- package/dist/components/br-menu.d.ts +1 -1
- package/dist/components/br-menu.js +1 -1
- package/dist/components/br-message.d.ts +1 -1
- package/dist/components/br-message.js +1 -1
- package/dist/components/br-modal.d.ts +1 -1
- package/dist/components/br-modal.js +1 -1
- package/dist/components/br-notification-body.d.ts +1 -1
- package/dist/components/br-notification-body.js +1 -1
- package/dist/components/br-notification-header.d.ts +1 -1
- package/dist/components/br-notification-header.js +1 -1
- package/dist/components/br-notification-item.d.ts +1 -1
- package/dist/components/br-notification-item.js +1 -1
- package/dist/components/br-notification.d.ts +1 -1
- package/dist/components/br-notification.js +1 -1
- package/dist/components/br-pagination.d.ts +1 -1
- package/dist/components/br-pagination.js +1 -1
- package/dist/components/br-radio-group.d.ts +1 -1
- package/dist/components/br-radio-group.js +1 -1
- package/dist/components/br-radio.d.ts +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.d.ts +1 -1
- package/dist/components/br-scrim.js +1 -1
- package/dist/components/br-select-input.d.ts +1 -1
- package/dist/components/br-select-input.js +1 -1
- package/dist/components/br-select-list.d.ts +1 -1
- package/dist/components/br-select-list.js +1 -1
- package/dist/components/br-select-option.d.ts +1 -1
- package/dist/components/br-select-option.js +1 -1
- package/dist/components/br-select.d.ts +1 -1
- package/dist/components/br-select.js +1 -1
- package/dist/components/br-sign-in.d.ts +1 -1
- package/dist/components/br-sign-in.js +1 -1
- package/dist/components/br-skip-link-item.d.ts +1 -1
- package/dist/components/br-skip-link-item.js +1 -1
- package/dist/components/br-skip-link.d.ts +1 -1
- package/dist/components/br-skip-link.js +1 -1
- package/dist/components/br-skiplink-item.d.ts +1 -1
- package/dist/components/br-skiplink-item.js +1 -1
- package/dist/components/br-slider.d.ts +1 -1
- package/dist/components/br-slider.js +1 -1
- package/dist/components/br-step-item.d.ts +1 -1
- package/dist/components/br-step-item.js +1 -1
- package/dist/components/br-step.d.ts +1 -1
- package/dist/components/br-step.js +1 -1
- package/dist/components/br-switch.d.ts +1 -1
- package/dist/components/br-switch.js +1 -1
- package/dist/components/br-tab-item.d.ts +1 -1
- package/dist/components/br-tab-item.js +1 -1
- package/dist/components/br-tab.d.ts +1 -1
- package/dist/components/br-tab.js +1 -1
- package/dist/components/br-table-body.d.ts +1 -1
- package/dist/components/br-table-body.js +1 -1
- package/dist/components/br-table-cell.d.ts +1 -1
- package/dist/components/br-table-cell.js +1 -1
- package/dist/components/br-table-header-cell.d.ts +1 -1
- package/dist/components/br-table-header-cell.js +1 -1
- package/dist/components/br-table-header.d.ts +1 -1
- package/dist/components/br-table-header.js +1 -1
- package/dist/components/br-table-row.d.ts +1 -1
- package/dist/components/br-table-row.js +1 -1
- package/dist/components/br-table.d.ts +1 -1
- package/dist/components/br-table.js +1 -1
- package/dist/components/br-tag.d.ts +1 -1
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-textarea.d.ts +1 -1
- package/dist/components/br-textarea.js +1 -1
- package/dist/components/br-time-picker.d.ts +1 -1
- package/dist/components/br-time-picker.js +1 -1
- package/dist/components/br-tooltip.d.ts +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-upload.d.ts +1 -1
- package/dist/components/br-upload.js +1 -1
- package/dist/components/br-wizard-panel.d.ts +1 -1
- package/dist/components/br-wizard-panel.js +1 -1
- package/dist/components/br-wizard.d.ts +1 -1
- package/dist/components/br-wizard.js +1 -1
- package/dist/components/index.d.ts +89 -89
- package/dist/components/index.js +1 -1
- package/dist/components/p-B0o70fWP.js +5 -0
- package/dist/components/p-B96LROz9.js +5 -0
- package/dist/components/p-BDqef5-y.js +5 -0
- package/dist/components/p-BEJGB0Nd.js +5 -0
- package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
- package/dist/components/p-BJtdabsr.js +5 -0
- package/dist/components/p-BP5zMCxG.js +5 -0
- package/dist/components/p-BRaphxoP.js +5 -0
- package/dist/components/p-BUzBa9L1.js +5 -0
- package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
- package/dist/components/p-Bc4nAk5i.js +5 -0
- package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
- package/dist/components/p-BeJxz5TQ.js +5 -0
- package/dist/components/p-Bezou5CQ.js +5 -0
- package/dist/components/p-BrNh9KdF.js +5 -0
- package/dist/components/p-C5th2dxu.js +5 -0
- package/dist/components/p-CDtFCbKp.js +5 -0
- package/dist/components/p-CEdUp183.js +5 -0
- package/dist/components/p-CF7t0uxQ.js +5 -0
- package/dist/components/p-CFzHx6zV.js +5 -0
- package/dist/components/p-CG4em0S6.js +5 -0
- package/dist/components/p-CI4D3-pf.js +5 -0
- package/dist/components/p-CIrVPkVg.js +5 -0
- package/dist/components/p-CNwZRgyL.js +5 -0
- package/dist/components/p-CppRJiyC.js +5 -0
- package/dist/components/p-Cvk1Ggs5.js +5 -0
- package/dist/components/p-D12US39c.js +5 -0
- package/dist/components/p-D9Zo6FlV.js +5 -0
- package/dist/components/p-DGPJkJsj.js +5 -0
- package/dist/components/p-DSHbttu9.js +5 -0
- package/dist/components/p-DTGNra9m.js +5 -0
- package/dist/components/p-DWhzxlCx.js +5 -0
- package/dist/components/p-DX1wAFn4.js +5 -0
- package/dist/components/p-DiLI514I.js +5 -0
- package/dist/components/p-Dma14GVa.js +5 -0
- package/dist/components/p-DpRZ4B0d.js +5 -0
- package/dist/components/p-G35qEQZd.js +5 -0
- package/dist/components/p-Ho_IybzR.js +5 -0
- package/dist/components/p-SvVnvJdC.js +5 -0
- package/dist/components/p-emAWunES.js +5 -0
- package/dist/components/p-fB79wKCm.js +5 -0
- package/dist/components/p-k7p4QJ8a.js +5 -0
- package/dist/esm/br-avatar.entry.js +21 -14
- package/dist/esm/br-breadcrumb-item.entry.js +2 -2
- package/dist/esm/br-breadcrumb.entry.js +49 -22
- package/dist/esm/br-button_2.entry.js +72 -35
- package/dist/esm/br-card.entry.js +6 -5
- package/dist/esm/br-carousel-page.entry.js +3 -3
- package/dist/esm/br-carousel.entry.js +78 -22
- package/dist/esm/br-checkbox-group.entry.js +157 -27
- package/dist/esm/br-checkbox.entry.js +86 -16
- package/dist/esm/br-checkgroup.entry.js +5 -2
- package/dist/esm/br-collapse_2.entry.js +86 -27
- package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
- package/dist/esm/br-cookiebar-group.entry.js +4 -4
- package/dist/esm/br-cookiebar-header.entry.js +4 -4
- package/dist/esm/br-cookiebar-link.entry.js +14 -6
- package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
- package/dist/esm/br-cookiebar-note.entry.js +4 -4
- package/dist/esm/br-cookiebar.entry.js +39 -26
- package/dist/esm/br-crumb.entry.js +2 -2
- package/dist/esm/br-date-picker_3.entry.js +207 -49
- package/dist/esm/br-datetime-picker.entry.js +82 -494
- package/dist/esm/br-divider.entry.js +70 -17
- package/dist/esm/br-dropdown_2.entry.js +302 -129
- package/dist/esm/br-footer-category.entry.js +10 -6
- package/dist/esm/br-footer-item.entry.js +9 -4
- package/dist/esm/br-footer-legal.entry.js +4 -4
- package/dist/esm/br-footer-logo.entry.js +22 -10
- package/dist/esm/br-footer-social.entry.js +14 -6
- package/dist/esm/br-footer.entry.js +16 -7
- package/dist/esm/br-header-function.entry.js +28 -7
- package/dist/esm/br-header-link.entry.js +25 -4
- package/dist/esm/br-header-list.entry.js +7 -18
- package/dist/esm/br-header-logo.entry.js +18 -7
- package/dist/esm/br-header.entry.js +72 -17
- package/dist/esm/br-icon.entry.js +160 -23
- package/dist/esm/br-input.entry.js +132 -41
- package/dist/esm/br-item.entry.js +96 -48
- package/dist/esm/br-link.entry.js +20 -7
- package/dist/esm/br-loading.entry.js +100 -38
- package/dist/esm/br-magic-button.entry.js +26 -9
- package/dist/esm/br-menu-group.entry.js +14 -3
- package/dist/esm/br-menu-header.entry.js +4 -4
- package/dist/esm/br-menu-info.entry.js +4 -4
- package/dist/esm/br-menu-item.entry.js +27 -5
- package/dist/esm/br-menu-link.entry.js +14 -6
- package/dist/esm/br-menu-list.entry.js +23 -27
- package/dist/esm/br-menu-logo.entry.js +4 -4
- package/dist/esm/br-menu-social.entry.js +16 -6
- package/dist/esm/br-menu.entry.js +39 -58
- package/dist/esm/br-modal.entry.js +26 -40
- package/dist/esm/br-notification-body.entry.js +4 -4
- package/dist/esm/br-notification-header.entry.js +4 -4
- package/dist/esm/br-notification-item.entry.js +14 -8
- package/dist/esm/br-notification.entry.js +24 -9
- package/dist/esm/br-pagination.entry.js +119 -87
- package/dist/esm/br-radio-group.entry.js +107 -58
- package/dist/esm/br-radio.entry.js +62 -12
- package/dist/esm/br-scrim.entry.js +161 -67
- package/dist/esm/br-select-input_3.entry.js +283 -90
- package/dist/esm/br-sign-in.entry.js +34 -15
- package/dist/esm/br-skip-link-item.entry.js +39 -2
- package/dist/esm/br-skip-link.entry.js +50 -33
- package/dist/esm/br-skiplink-item.entry.js +22 -6
- package/dist/esm/br-slider.entry.js +519 -97
- package/dist/esm/br-step_2.entry.js +98 -44
- package/dist/esm/br-switch.entry.js +21 -12
- package/dist/esm/br-tab-item.entry.js +38 -14
- package/dist/esm/br-tab.entry.js +57 -44
- package/dist/esm/br-table-body.entry.js +3 -3
- package/dist/esm/br-table-cell.entry.js +30 -13
- package/dist/esm/br-table-header-cell.entry.js +23 -7
- package/dist/esm/br-table-header.entry.js +3 -3
- package/dist/esm/br-table-row.entry.js +17 -3
- package/dist/esm/br-table.entry.js +68 -22
- package/dist/esm/br-tag.entry.js +49 -31
- package/dist/esm/br-textarea.entry.js +118 -13
- package/dist/esm/br-tooltip.entry.js +88 -42
- package/dist/esm/br-upload.entry.js +84 -25
- package/dist/esm/br-wizard-panel.entry.js +16 -3
- package/dist/esm/br-wizard.entry.js +52 -28
- package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
- package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
- package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
- package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
- package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
- package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
- package/dist/esm/header-context-BEJGB0Nd.js +15 -0
- package/dist/esm/id-BeJxz5TQ.js +34 -0
- package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
- package/dist/esm/{index-C2RBydfd.js → index-Dcn7tRST.js} +68 -752
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/motion-DWhzxlCx.js +27 -0
- package/dist/esm/ownership-CDtFCbKp.js +111 -0
- package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
- package/dist/esm/props-D07GjR4_.js +116 -0
- package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
- package/dist/esm/webcomponents.js +4 -4
- package/dist/hydrate/index.js +7364 -2602
- package/dist/hydrate/index.mjs +7364 -2602
- package/dist/loader/index.d.ts +1 -1
- package/dist/types/components/avatar/avatar.d.ts +34 -4
- package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
- package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
- package/dist/types/components/button/button.d.ts +45 -9
- package/dist/types/components/card/card.d.ts +31 -3
- package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
- package/dist/types/components/carousel/carousel.d.ts +46 -3
- package/dist/types/components/checkbox/checkbox.d.ts +59 -6
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
- package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
- package/dist/types/components/collapse/collapse.d.ts +33 -4
- package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
- package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
- package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
- package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
- package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
- package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
- package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
- package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
- package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
- package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
- package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
- package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
- package/dist/types/components/divider/divider.d.ts +45 -8
- package/dist/types/components/dropdown/dropdown.d.ts +41 -3
- package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
- package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
- package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
- package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
- package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
- package/dist/types/components/footer/footer.d.ts +39 -3
- package/dist/types/components/header/header-context.d.ts +1 -0
- package/dist/types/components/header/header-function/header-function.d.ts +24 -2
- package/dist/types/components/header/header-link/header-link.d.ts +22 -1
- package/dist/types/components/header/header-list/header-list.d.ts +16 -8
- package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
- package/dist/types/components/header/header.d.ts +45 -7
- package/dist/types/components/icon/icon.d.ts +44 -13
- package/dist/types/components/input/input.d.ts +65 -15
- package/dist/types/components/item/item.d.ts +38 -5
- package/dist/types/components/link/link.d.ts +41 -9
- package/dist/types/components/list/list.d.ts +58 -8
- package/dist/types/components/loading/loading.d.ts +48 -8
- package/dist/types/components/magic-button/magic-button.d.ts +37 -3
- package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
- package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
- package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
- package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
- package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
- package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
- package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
- package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
- package/dist/types/components/menu/menu.d.ts +39 -6
- package/dist/types/components/menu/menu.utils.d.ts +2 -6
- package/dist/types/components/message/message.d.ts +38 -9
- package/dist/types/components/modal/modal.d.ts +34 -4
- package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
- package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
- package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
- package/dist/types/components/notification/notification.d.ts +36 -5
- package/dist/types/components/pagination/pagination.d.ts +56 -20
- package/dist/types/components/radio/radio.d.ts +49 -4
- package/dist/types/components/radio-group/radio-group.d.ts +52 -10
- package/dist/types/components/scrim/scrim.d.ts +72 -11
- package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
- package/dist/types/components/select/select-input/select-input.d.ts +22 -4
- package/dist/types/components/select/select-list/select-list.d.ts +51 -5
- package/dist/types/components/select/select-option/select-option.d.ts +31 -8
- package/dist/types/components/select/select.d.ts +152 -13
- package/dist/types/components/select/select.types.d.ts +5 -0
- package/dist/types/components/sign-in/sign-in.d.ts +30 -3
- package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
- package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
- package/dist/types/components/skip-link/skip-link.d.ts +37 -3
- package/dist/types/components/slider/slider.d.ts +147 -21
- package/dist/types/components/slider/slider.types.d.ts +7 -2
- package/dist/types/components/slider/slider.utils.d.ts +27 -0
- package/dist/types/components/step/step-item/step-item.d.ts +15 -3
- package/dist/types/components/step/step.d.ts +47 -12
- package/dist/types/components/switch/switch.d.ts +39 -6
- package/dist/types/components/tab/tab-item/tab-item.d.ts +20 -4
- package/dist/types/components/tab/tab.d.ts +41 -11
- package/dist/types/components/table/table-body/table-body.d.ts +10 -6
- package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
- package/dist/types/components/table/table-header/table-header.d.ts +10 -6
- package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
- package/dist/types/components/table/table-row/table-row.d.ts +11 -6
- package/dist/types/components/table/table.d.ts +49 -11
- package/dist/types/components/tag/tag.d.ts +55 -7
- package/dist/types/components/textarea/textarea.d.ts +75 -5
- package/dist/types/components/textarea/textarea.types.d.ts +4 -0
- package/dist/types/components/tooltip/tooltip.d.ts +46 -8
- package/dist/types/components/upload/upload.d.ts +78 -10
- package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
- package/dist/types/components/wizard/wizard.d.ts +44 -7
- package/dist/types/components.d.ts +5823 -1350
- package/dist/types/shared/utils/floating-ui.d.ts +4 -0
- package/dist/types/shared/utils/focus.d.ts +14 -0
- package/dist/types/shared/utils/getRandom.d.ts +1 -0
- package/dist/types/shared/utils/id.d.ts +1 -1
- package/dist/types/shared/utils/index.d.ts +6 -1
- package/dist/types/shared/utils/motion.d.ts +14 -0
- package/dist/types/shared/utils/ownership.d.ts +33 -0
- package/dist/types/shared/utils/prop-warning.d.ts +7 -0
- package/dist/types/shared/utils/props.d.ts +38 -0
- package/dist/types/shared/utils/swipe.d.ts +5 -0
- package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
- package/dist/types/stencil-public-runtime.d.ts +12 -0
- package/dist/webcomponents/index.esm.js +1 -1
- package/dist/webcomponents/p-01baafce.entry.js +5 -0
- package/dist/webcomponents/p-01fb0754.entry.js +5 -0
- package/dist/webcomponents/p-030c02f8.entry.js +5 -0
- package/dist/webcomponents/p-03359c92.entry.js +5 -0
- package/dist/webcomponents/p-09770c98.entry.js +5 -0
- package/dist/webcomponents/p-0b9714f1.entry.js +5 -0
- package/dist/webcomponents/p-12aa36a8.entry.js +5 -0
- package/dist/webcomponents/p-130b6e06.entry.js +5 -0
- package/dist/webcomponents/p-144f8c8d.entry.js +5 -0
- package/dist/webcomponents/p-14fe22e2.entry.js +5 -0
- package/dist/webcomponents/p-1ff9210a.entry.js +5 -0
- package/dist/webcomponents/p-2605cdc3.entry.js +5 -0
- package/dist/webcomponents/p-27afaec9.entry.js +5 -0
- package/dist/webcomponents/p-2a50e42d.entry.js +5 -0
- package/dist/webcomponents/p-327f034f.entry.js +5 -0
- package/dist/webcomponents/p-342650b8.entry.js +5 -0
- package/dist/webcomponents/p-38f6a78b.entry.js +5 -0
- package/dist/webcomponents/p-3920fe3a.entry.js +5 -0
- package/dist/webcomponents/p-3ae97345.entry.js +5 -0
- package/dist/webcomponents/p-3cce767c.entry.js +5 -0
- package/dist/webcomponents/p-3df6c5d2.entry.js +5 -0
- package/dist/webcomponents/p-3e287899.entry.js +5 -0
- package/dist/webcomponents/p-3e5580ba.entry.js +5 -0
- package/dist/webcomponents/p-403637dd.entry.js +5 -0
- package/dist/webcomponents/p-435c8ef2.entry.js +5 -0
- package/dist/webcomponents/p-59da5b55.entry.js +5 -0
- package/dist/webcomponents/p-5dd4314c.entry.js +5 -0
- package/dist/webcomponents/p-646af6a5.entry.js +5 -0
- package/dist/webcomponents/p-670e8fec.entry.js +5 -0
- package/dist/webcomponents/p-68046544.entry.js +5 -0
- package/dist/webcomponents/p-68ec76b8.entry.js +5 -0
- package/dist/webcomponents/p-6c0ea20c.entry.js +5 -0
- package/dist/webcomponents/p-6c2fe5e4.entry.js +5 -0
- package/dist/webcomponents/p-707df9b9.entry.js +5 -0
- package/dist/webcomponents/p-72b839fe.entry.js +5 -0
- package/dist/webcomponents/p-73dcc05b.entry.js +5 -0
- package/dist/webcomponents/p-7acf20d3.entry.js +5 -0
- package/dist/webcomponents/p-7b01bddb.entry.js +5 -0
- package/dist/webcomponents/p-7cd38850.entry.js +5 -0
- package/dist/webcomponents/p-82454383.entry.js +5 -0
- package/dist/webcomponents/p-91e959a8.entry.js +5 -0
- package/dist/webcomponents/p-964c01e6.entry.js +5 -0
- package/dist/webcomponents/p-9858e42a.entry.js +5 -0
- package/dist/webcomponents/p-9c4200b0.entry.js +5 -0
- package/dist/webcomponents/p-9d9c87b1.entry.js +5 -0
- package/dist/webcomponents/p-B0PbhaxL.js +5 -0
- package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
- package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
- package/dist/webcomponents/p-BJtdabsr.js +5 -0
- package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
- package/dist/webcomponents/p-BlGV-x0w.js +5 -0
- package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
- package/dist/webcomponents/p-CDtFCbKp.js +5 -0
- package/dist/webcomponents/p-CNwZRgyL.js +5 -0
- package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
- package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
- package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
- package/dist/webcomponents/p-DWhzxlCx.js +5 -0
- package/dist/webcomponents/p-Dcn7tRST.js +7 -0
- package/dist/webcomponents/p-EbtQZm5s.js +5 -0
- package/dist/webcomponents/p-a0931550.entry.js +5 -0
- package/dist/webcomponents/p-a212fd85.entry.js +5 -0
- package/dist/webcomponents/p-a2e75143.entry.js +5 -0
- package/dist/webcomponents/p-a3bb98c9.entry.js +5 -0
- package/dist/webcomponents/p-a8b5dba0.entry.js +5 -0
- package/dist/webcomponents/p-aa909443.entry.js +5 -0
- package/dist/webcomponents/p-abaf2365.entry.js +5 -0
- package/dist/webcomponents/p-aeb16645.entry.js +5 -0
- package/dist/webcomponents/p-b287c384.entry.js +5 -0
- package/dist/webcomponents/p-b506b0a1.entry.js +5 -0
- package/dist/webcomponents/p-b520c08c.entry.js +5 -0
- package/dist/webcomponents/p-b94c3f84.entry.js +5 -0
- package/dist/webcomponents/p-bda62f90.entry.js +5 -0
- package/dist/webcomponents/p-c201ae16.entry.js +5 -0
- package/dist/webcomponents/p-c7e899a1.entry.js +5 -0
- package/dist/webcomponents/p-c8b7bbab.entry.js +5 -0
- package/dist/webcomponents/p-cbf3e251.entry.js +5 -0
- package/dist/webcomponents/{p-7f7506f0.entry.js → p-cff24492.entry.js} +1 -1
- package/dist/webcomponents/p-d35cf5b4.entry.js +5 -0
- package/dist/webcomponents/p-d45ffe9c.entry.js +5 -0
- package/dist/webcomponents/p-d719a4af.entry.js +5 -0
- package/dist/webcomponents/p-d826c052.entry.js +5 -0
- package/dist/webcomponents/p-da21a60d.entry.js +5 -0
- package/dist/webcomponents/p-de0c7f26.entry.js +5 -0
- package/dist/webcomponents/p-e20188c0.entry.js +5 -0
- package/dist/webcomponents/p-e27882e1.entry.js +5 -0
- package/dist/webcomponents/p-e3de5bb3.entry.js +5 -0
- package/dist/webcomponents/p-e624ff04.entry.js +5 -0
- package/dist/webcomponents/p-ed5af0e4.entry.js +5 -0
- package/dist/webcomponents/p-edc6da0e.entry.js +5 -0
- package/dist/webcomponents/p-f24fcf3d.entry.js +5 -0
- package/dist/webcomponents/p-f52ef0dc.entry.js +5 -0
- package/dist/webcomponents/{p-12286e73.entry.js → p-f558d7b9.entry.js} +1 -1
- package/dist/webcomponents/p-fcab1428.entry.js +5 -0
- package/dist/webcomponents/p-fe1729a7.entry.js +5 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +18 -3
- package/dist/cjs/clamp-Co_hWptd.js +0 -25
- package/dist/cjs/id-CjRFMzf6.js +0 -20
- package/dist/cjs/props-CScmBvKd.js +0 -24
- package/dist/collection/pages/components/cookiebar/index.js +0 -26
- package/dist/collection/pages/components/link/index.js +0 -29
- package/dist/collection/pages/components/pagination/index.js +0 -12
- package/dist/collection/pages/components/slider/index.js +0 -18
- package/dist/components/p-6OdfnwnK.js +0 -5
- package/dist/components/p-AmOh1cks.js +0 -5
- package/dist/components/p-B4ylcipx.js +0 -5
- package/dist/components/p-BCv4PCOx.js +0 -5
- package/dist/components/p-BLOyd_iF.js +0 -5
- package/dist/components/p-BODem6tr.js +0 -5
- package/dist/components/p-Bb-nLtTG.js +0 -5
- package/dist/components/p-BeFK-82z.js +0 -5
- package/dist/components/p-BkS6ujyf.js +0 -5
- package/dist/components/p-BloE-KAN.js +0 -5
- package/dist/components/p-BoSc_kmY.js +0 -5
- package/dist/components/p-BrH3r7eL.js +0 -5
- package/dist/components/p-BsZ0Ny88.js +0 -5
- package/dist/components/p-ByHVf7zy.js +0 -5
- package/dist/components/p-CdF-gmk1.js +0 -5
- package/dist/components/p-CfyjGPGI.js +0 -5
- package/dist/components/p-CjF7pBVQ.js +0 -5
- package/dist/components/p-ClqtllDH.js +0 -5
- package/dist/components/p-CqW2Yh34.js +0 -5
- package/dist/components/p-DIK54tTj.js +0 -5
- package/dist/components/p-DLE5ioJN.js +0 -5
- package/dist/components/p-DQRSHR-D.js +0 -5
- package/dist/components/p-DRVMm1Py.js +0 -5
- package/dist/components/p-DRnCpVrL.js +0 -5
- package/dist/components/p-DVdlaP7z.js +0 -5
- package/dist/components/p-DeeF6ok0.js +0 -5
- package/dist/components/p-Dim2PnUm.js +0 -5
- package/dist/components/p-Dk8rfQjL.js +0 -5
- package/dist/components/p-DkmEpoef.js +0 -5
- package/dist/components/p-DwfAYaEv.js +0 -5
- package/dist/components/p-DxZJrIyL.js +0 -5
- package/dist/components/p-P2Z_MmH6.js +0 -5
- package/dist/components/p-Xa0Mj4pP.js +0 -5
- package/dist/components/p-_vsQvdxD.js +0 -5
- package/dist/components/p-aNjo4Alx.js +0 -5
- package/dist/components/p-gvnfuTjd.js +0 -5
- package/dist/components/p-rB-s1M3Q.js +0 -5
- package/dist/esm/clamp-gvnfuTjd.js +0 -23
- package/dist/esm/id-BkS6ujyf.js +0 -18
- package/dist/esm/props-DRVMm1Py.js +0 -22
- package/dist/webcomponents/p-00cc31f9.entry.js +0 -5
- package/dist/webcomponents/p-026475bd.entry.js +0 -5
- package/dist/webcomponents/p-0291ab28.entry.js +0 -5
- package/dist/webcomponents/p-03e5a7dc.entry.js +0 -5
- package/dist/webcomponents/p-060df8ee.entry.js +0 -5
- package/dist/webcomponents/p-09fce2a5.entry.js +0 -5
- package/dist/webcomponents/p-1002bbff.entry.js +0 -5
- package/dist/webcomponents/p-1124de33.entry.js +0 -5
- package/dist/webcomponents/p-12e97d80.entry.js +0 -5
- package/dist/webcomponents/p-1580beee.entry.js +0 -5
- package/dist/webcomponents/p-1b19b191.entry.js +0 -5
- package/dist/webcomponents/p-2baf353b.entry.js +0 -5
- package/dist/webcomponents/p-2eb9a42c.entry.js +0 -5
- package/dist/webcomponents/p-30c82805.entry.js +0 -5
- package/dist/webcomponents/p-31bd1c74.entry.js +0 -5
- package/dist/webcomponents/p-31db2313.entry.js +0 -5
- package/dist/webcomponents/p-33a3dc63.entry.js +0 -5
- package/dist/webcomponents/p-3889c51f.entry.js +0 -5
- package/dist/webcomponents/p-3f2c179a.entry.js +0 -5
- package/dist/webcomponents/p-470eb770.entry.js +0 -5
- package/dist/webcomponents/p-4ae387ae.entry.js +0 -5
- package/dist/webcomponents/p-4e65df84.entry.js +0 -5
- package/dist/webcomponents/p-51a62876.entry.js +0 -5
- package/dist/webcomponents/p-5860b96b.entry.js +0 -5
- package/dist/webcomponents/p-5b9c01e9.entry.js +0 -5
- package/dist/webcomponents/p-5df2f1dd.entry.js +0 -5
- package/dist/webcomponents/p-5f3f7b3f.entry.js +0 -5
- package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
- package/dist/webcomponents/p-5f9c28a7.entry.js +0 -5
- package/dist/webcomponents/p-62511921.entry.js +0 -5
- package/dist/webcomponents/p-63b52947.entry.js +0 -5
- package/dist/webcomponents/p-67a8e0b7.entry.js +0 -5
- package/dist/webcomponents/p-6OdfnwnK.js +0 -5
- package/dist/webcomponents/p-7b2a5fec.entry.js +0 -5
- package/dist/webcomponents/p-7f95e2f5.entry.js +0 -5
- package/dist/webcomponents/p-8128833c.entry.js +0 -5
- package/dist/webcomponents/p-8200ccb1.entry.js +0 -5
- package/dist/webcomponents/p-82b100fd.entry.js +0 -5
- package/dist/webcomponents/p-8806df15.entry.js +0 -5
- package/dist/webcomponents/p-881eb81a.entry.js +0 -5
- package/dist/webcomponents/p-8bd3d541.entry.js +0 -5
- package/dist/webcomponents/p-90648343.entry.js +0 -5
- package/dist/webcomponents/p-9100a5f7.entry.js +0 -5
- package/dist/webcomponents/p-91313d77.entry.js +0 -5
- package/dist/webcomponents/p-946b2ac0.entry.js +0 -5
- package/dist/webcomponents/p-98e7ccb9.entry.js +0 -5
- package/dist/webcomponents/p-99f2bddb.entry.js +0 -5
- package/dist/webcomponents/p-9adbdb0a.entry.js +0 -5
- package/dist/webcomponents/p-9c260049.entry.js +0 -5
- package/dist/webcomponents/p-9ed51017.entry.js +0 -5
- package/dist/webcomponents/p-BkS6ujyf.js +0 -5
- package/dist/webcomponents/p-C2RBydfd.js +0 -6
- package/dist/webcomponents/p-CO5cOQQU.js +0 -5
- package/dist/webcomponents/p-DIK54tTj.js +0 -5
- package/dist/webcomponents/p-DRVMm1Py.js +0 -5
- package/dist/webcomponents/p-DxZJrIyL.js +0 -5
- package/dist/webcomponents/p-a0b299dd.entry.js +0 -5
- package/dist/webcomponents/p-a2c5fad0.entry.js +0 -5
- package/dist/webcomponents/p-a3e044d7.entry.js +0 -5
- package/dist/webcomponents/p-a9f23aa7.entry.js +0 -5
- package/dist/webcomponents/p-a9f2fcbc.entry.js +0 -5
- package/dist/webcomponents/p-b6c68136.entry.js +0 -5
- package/dist/webcomponents/p-b6e9b8d1.entry.js +0 -5
- package/dist/webcomponents/p-c333eac6.entry.js +0 -5
- package/dist/webcomponents/p-c3732fd6.entry.js +0 -5
- package/dist/webcomponents/p-c458ed0e.entry.js +0 -5
- package/dist/webcomponents/p-c91000ff.entry.js +0 -5
- package/dist/webcomponents/p-c9c6ab2d.entry.js +0 -5
- package/dist/webcomponents/p-cd2550d6.entry.js +0 -5
- package/dist/webcomponents/p-cf42613f.entry.js +0 -5
- package/dist/webcomponents/p-d0b0b420.entry.js +0 -5
- package/dist/webcomponents/p-d1b32ee8.entry.js +0 -5
- package/dist/webcomponents/p-db65b083.entry.js +0 -5
- package/dist/webcomponents/p-de7c101d.entry.js +0 -5
- package/dist/webcomponents/p-dfb77dd0.entry.js +0 -5
- package/dist/webcomponents/p-e258da78.entry.js +0 -5
- package/dist/webcomponents/p-e31ddd42.entry.js +0 -5
- package/dist/webcomponents/p-e8d82227.entry.js +0 -5
- package/dist/webcomponents/p-e988cf1d.entry.js +0 -5
- package/dist/webcomponents/p-ed9122a1.entry.js +0 -5
- package/dist/webcomponents/p-ee347d2e.entry.js +0 -5
- package/dist/webcomponents/p-f1c01d52.entry.js +0 -5
- package/dist/webcomponents/p-f5baf8be.entry.js +0 -5
- package/dist/webcomponents/p-fb593739.entry.js +0 -5
- package/dist/webcomponents/p-fff9acd4.entry.js +0 -5
- package/dist/webcomponents/p-gvnfuTjd.js +0 -5
|
@@ -5,19 +5,45 @@
|
|
|
5
5
|
import { Host, h, } from "@stencil/core";
|
|
6
6
|
import { generateUniqueId } from "../../shared/utils/id";
|
|
7
7
|
import { handleNavigationClick } from "../../shared/utils/navigation";
|
|
8
|
+
import { findComposedOwner } from "../../shared/utils/ownership";
|
|
9
|
+
import { resolveAllowedPropValue, resolveDensity } from "../../shared/utils/props";
|
|
8
10
|
import { hasDefaultLightDomContent, hasNamedLightDomSlot } from "../../shared/utils/slot";
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* O componente `br-item` é o elemento flexível e padronizado do GovBR-DS para construção de linhas navegáveis, selecionáveis ou de exibição em listas, menus contextuais e painéis suspensos.
|
|
11
13
|
*
|
|
14
|
+
* ### Para que serve
|
|
15
|
+
*
|
|
16
|
+
* - **Padronização de linhas interativas:** Garante espaçamento, tipografia, contraste e efeitos de estado (hover, foco visível, seleção e desativação) em conformidade com os tokens do design system.
|
|
17
|
+
* - **Polimorfismo semântico:** Pode renderizar internamente um botão interativo (`<button>`), um hiperlink navegável (`<a>`) ou uma divisão semântica (`<div>`) dependendo dos atributos fornecidos (`href`, `clickable`).
|
|
18
|
+
* - **Suporte a seleção visual:** Oferece suporte a estados de seleção (`selected`), marcas de verificação e densidades ajustáveis.
|
|
19
|
+
*
|
|
20
|
+
* ### Quando utilizar
|
|
21
|
+
*
|
|
22
|
+
* - **Utilize quando:**
|
|
23
|
+
* - Estiver montando linhas de conteúdo em listas (`br-list`), painéis flutuantes (`br-dropdown`) ou agrupamentos verticais.
|
|
24
|
+
* - Cada entrada representar um item de dado ou uma ação com estilo homogêneo.
|
|
25
|
+
* - **Evite e prefira outro componente quando:**
|
|
26
|
+
* - O item pertencer especificamente à navegação de abas (use `br-tab-item`), etapas de fluxo (use `br-step-item`) ou seleção em formulário (use `br-select-option`).
|
|
27
|
+
*
|
|
28
|
+
* ### Estrutura e Slots
|
|
29
|
+
*
|
|
30
|
+
* O `br-item` é um componente estrutural direto:
|
|
31
|
+
* - `default`: Slot para inserção do conteúdo livre da linha (textos, ícones, badges ou metadados).
|
|
32
|
+
*
|
|
33
|
+
* Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/item?tab=designer).
|
|
34
|
+
*
|
|
35
|
+
|
|
36
|
+
|
|
12
37
|
* @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).
|
|
13
38
|
*
|
|
14
39
|
* @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.
|
|
15
40
|
*
|
|
16
41
|
* @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.
|
|
17
42
|
*
|
|
18
|
-
* @category Conteúdo
|
|
43
|
+
* @category Conteúdo, Navegação
|
|
19
44
|
* @status stable
|
|
20
45
|
* @part item - Elemento principal do item (botão, link ou div).
|
|
46
|
+
*
|
|
21
47
|
*/
|
|
22
48
|
export class Item {
|
|
23
49
|
constructor() {
|
|
@@ -87,6 +113,7 @@ export class Item {
|
|
|
87
113
|
* - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
|
|
88
114
|
* - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
|
|
89
115
|
*
|
|
116
|
+
* Valores inválidos usam `medium`.
|
|
90
117
|
*/
|
|
91
118
|
this.density = 'medium';
|
|
92
119
|
this.hasRadios = false;
|
|
@@ -119,14 +146,13 @@ export class Item {
|
|
|
119
146
|
return;
|
|
120
147
|
if (this.getTagType() !== 'div')
|
|
121
148
|
return;
|
|
122
|
-
if (!this.
|
|
149
|
+
if (!this.effectiveInteractive && !this.effectiveButton)
|
|
123
150
|
return;
|
|
124
151
|
if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {
|
|
125
152
|
event.preventDefault();
|
|
126
153
|
this.activate();
|
|
127
154
|
}
|
|
128
155
|
};
|
|
129
|
-
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: mantém em uma transação os modos standalone, controlado, radio e checkbox.
|
|
130
156
|
this.handleClick = (event) => {
|
|
131
157
|
if (this.disabled) {
|
|
132
158
|
event.preventDefault();
|
|
@@ -137,13 +163,15 @@ export class Item {
|
|
|
137
163
|
handleNavigationClick({
|
|
138
164
|
event,
|
|
139
165
|
href: this.href,
|
|
140
|
-
target: this.
|
|
141
|
-
navigationMode: this.
|
|
166
|
+
target: this.effectiveTarget,
|
|
167
|
+
navigationMode: this.effectiveNavigationMode,
|
|
142
168
|
brNavigate: this.brNavigate,
|
|
143
169
|
});
|
|
144
170
|
if (this.effectiveButton) {
|
|
145
171
|
this.brDidClick.emit();
|
|
146
172
|
this.brItemClick.emit();
|
|
173
|
+
if (this.selectionEnabled)
|
|
174
|
+
this.toggleSelection();
|
|
147
175
|
}
|
|
148
176
|
else if (this.selectionEnabled &&
|
|
149
177
|
this.effectiveInteractive &&
|
|
@@ -151,39 +179,39 @@ export class Item {
|
|
|
151
179
|
if (this.hasRadios) {
|
|
152
180
|
// Só existe um alvo inequívoco quando há exatamente um radio no item; com múltiplos
|
|
153
181
|
// radios não há como saber qual o clique na superfície pretendia selecionar.
|
|
154
|
-
const radios =
|
|
182
|
+
const radios = this.getOwnedControls('br-radio');
|
|
155
183
|
if (radios.length === 1 && !radios[0].checked) {
|
|
156
184
|
radios[0].toggleChecked();
|
|
157
185
|
}
|
|
158
186
|
}
|
|
159
187
|
else {
|
|
160
|
-
|
|
161
|
-
const previousSelectedValue = this.hasControlledSelection ? Boolean(this.selected) : this.selectedValue;
|
|
162
|
-
const nextSelected = !previousSelectedValue;
|
|
163
|
-
if (!this.hasControlledSelection)
|
|
164
|
-
this.selectedValue = nextSelected;
|
|
165
|
-
if (previousSelectedValue !== nextSelected) {
|
|
166
|
-
const detail = { selected: nextSelected };
|
|
167
|
-
this.brDidSelect.emit(detail);
|
|
168
|
-
this.brItemSelect.emit(detail);
|
|
169
|
-
}
|
|
170
|
-
if (!this.hasControlledSelection)
|
|
171
|
-
this.updateCheckboxes();
|
|
188
|
+
this.toggleSelection();
|
|
172
189
|
}
|
|
173
190
|
}
|
|
174
191
|
event.stopPropagation();
|
|
175
192
|
};
|
|
176
193
|
}
|
|
194
|
+
get effectiveTarget() {
|
|
195
|
+
return resolveAllowedPropValue(this.el, 'target', this.target, ['_self', '_blank', '_parent', '_top'], undefined, {
|
|
196
|
+
allowUndefined: true,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
get effectiveNavigationMode() {
|
|
200
|
+
return resolveAllowedPropValue(this.el, 'navigationMode', this.navigationMode, ['native', 'event'], 'native');
|
|
201
|
+
}
|
|
202
|
+
get effectiveType() {
|
|
203
|
+
return resolveAllowedPropValue(this.el, 'type', this.type, ['button', 'submit', 'reset'], 'button');
|
|
204
|
+
}
|
|
177
205
|
componentWillLoad() {
|
|
178
206
|
this.hasSlotContentDefault();
|
|
179
207
|
this.hasSlotStart = this.hasSlotContent('start');
|
|
180
208
|
this.hasSlotEnd = this.hasSlotContent('end');
|
|
181
209
|
this.selectedValue = this.effectiveSelected;
|
|
182
210
|
if (this.effectiveButton) {
|
|
183
|
-
this.type = this.
|
|
211
|
+
this.type = this.effectiveType;
|
|
184
212
|
}
|
|
185
|
-
const radios =
|
|
186
|
-
const checkboxes =
|
|
213
|
+
const radios = this.getOwnedControls('br-radio');
|
|
214
|
+
const checkboxes = this.getOwnedControls('br-checkbox');
|
|
187
215
|
this.hasRadios = radios.length > 0;
|
|
188
216
|
this.hasCheckboxes = checkboxes.length > 0;
|
|
189
217
|
this.isManagedByList = Boolean(this.el.closest('br-list'));
|
|
@@ -202,15 +230,34 @@ export class Item {
|
|
|
202
230
|
this.updateCheckboxSelectionState(false);
|
|
203
231
|
}
|
|
204
232
|
}
|
|
233
|
+
componentDidRender() {
|
|
234
|
+
const hasSlotStart = this.hasSlotContent('start');
|
|
235
|
+
const hasSlotEnd = this.hasSlotContent('end');
|
|
236
|
+
if (this.hasSlotStart !== hasSlotStart)
|
|
237
|
+
this.hasSlotStart = hasSlotStart;
|
|
238
|
+
if (this.hasSlotEnd !== hasSlotEnd)
|
|
239
|
+
this.hasSlotEnd = hasSlotEnd;
|
|
240
|
+
}
|
|
205
241
|
// Sincroniza selectedValue quando a prop é alterada externamente (ex.: toggleAllOptions)
|
|
206
242
|
handleSelectedPropChange() {
|
|
207
243
|
this.selectedValue = this.effectiveSelected;
|
|
208
244
|
}
|
|
209
245
|
handleCheckedChange(event) {
|
|
246
|
+
this.syncSelectionFromChildEvent(event);
|
|
247
|
+
}
|
|
248
|
+
handleInternalChildStateChange(event) {
|
|
249
|
+
this.syncSelectionFromChildEvent(event);
|
|
250
|
+
}
|
|
251
|
+
syncSelectionFromChildEvent(event) {
|
|
210
252
|
if (!this.selectionEnabled)
|
|
211
253
|
return;
|
|
212
|
-
const target = event
|
|
213
|
-
|
|
254
|
+
const target = event
|
|
255
|
+
.composedPath()
|
|
256
|
+
.find((node) => node.tagName?.toLowerCase() === 'br-checkbox' ||
|
|
257
|
+
node.tagName?.toLowerCase() === 'br-radio');
|
|
258
|
+
if (!(target instanceof HTMLElement) || findComposedOwner(target, 'br-item') !== this.el)
|
|
259
|
+
return;
|
|
260
|
+
if (target.tagName.toLowerCase() === 'br-checkbox')
|
|
214
261
|
this.updateCheckboxSelectionState();
|
|
215
262
|
requestAnimationFrame(() => this.updateRadioSelectionState());
|
|
216
263
|
}
|
|
@@ -220,7 +267,7 @@ export class Item {
|
|
|
220
267
|
* internamente pelo próprio item quando standalone (fora de br-list).
|
|
221
268
|
*/
|
|
222
269
|
async activate() {
|
|
223
|
-
if (this.
|
|
270
|
+
if (this.effectiveButton) {
|
|
224
271
|
this.focusableElement?.click();
|
|
225
272
|
return;
|
|
226
273
|
}
|
|
@@ -247,9 +294,6 @@ export class Item {
|
|
|
247
294
|
get effectiveSelected() {
|
|
248
295
|
return this.selected ?? this.isSelected;
|
|
249
296
|
}
|
|
250
|
-
get hasControlledSelection() {
|
|
251
|
-
return this.selected !== undefined;
|
|
252
|
-
}
|
|
253
297
|
get effectiveInteractive() {
|
|
254
298
|
return (this.interactive ??
|
|
255
299
|
(this.isInteractive ||
|
|
@@ -268,14 +312,15 @@ export class Item {
|
|
|
268
312
|
return hasNamedLightDomSlot(this.el, slotName);
|
|
269
313
|
}
|
|
270
314
|
getCssClassMap() {
|
|
315
|
+
const density = resolveDensity(this.el, this.density);
|
|
271
316
|
return {
|
|
272
317
|
'br-item': true,
|
|
273
318
|
disabled: this.disabled,
|
|
274
319
|
active: this.effectiveActive,
|
|
275
|
-
selected: this.
|
|
276
|
-
small:
|
|
277
|
-
medium:
|
|
278
|
-
large:
|
|
320
|
+
selected: this.selectedValue,
|
|
321
|
+
small: density === 'small',
|
|
322
|
+
medium: density === 'medium',
|
|
323
|
+
large: density === 'large',
|
|
279
324
|
'no-text-selection': this.effectiveButton || Boolean(this.href?.length) || this.disabled,
|
|
280
325
|
};
|
|
281
326
|
}
|
|
@@ -292,31 +337,32 @@ export class Item {
|
|
|
292
337
|
const TagType = this.getTagType();
|
|
293
338
|
const baseAttributes = TagType === 'button'
|
|
294
339
|
? {
|
|
295
|
-
type: this.
|
|
340
|
+
type: this.effectiveType,
|
|
296
341
|
value: this.value,
|
|
297
342
|
disabled: this.disabled ? true : null,
|
|
298
343
|
}
|
|
299
|
-
: { href: this.href, target: this.
|
|
300
|
-
const isInteractiveDiv = TagType === 'div' && this.
|
|
301
|
-
const isFocusableItem = this.
|
|
344
|
+
: { href: this.href, target: this.effectiveTarget };
|
|
345
|
+
const isInteractiveDiv = TagType === 'div' && this.effectiveInteractive && !this.hasRadios && !this.hasCheckboxes;
|
|
346
|
+
const isFocusableItem = this.effectiveInteractive || this.effectiveButton || Boolean(this.href?.length);
|
|
302
347
|
return {
|
|
303
348
|
...baseAttributes,
|
|
304
349
|
role: isInteractiveDiv ? 'button' : null,
|
|
305
|
-
'aria-pressed': isInteractiveDiv
|
|
350
|
+
'aria-pressed': isInteractiveDiv || this.effectiveButton ? String(this.selectedValue) : null,
|
|
306
351
|
tabIndex: this.disabled || !isFocusableItem ? -1 : this.rovingTabIndex,
|
|
307
352
|
'aria-disabled': this.disabled ? 'true' : null,
|
|
308
353
|
'aria-current': this.effectiveActive ? 'true' : null,
|
|
309
354
|
'data-toggle': this.effectiveInteractive ? 'selection' : null,
|
|
310
|
-
'is-selected':
|
|
355
|
+
'is-selected': this.selectedValue ? true : null,
|
|
311
356
|
};
|
|
312
357
|
}
|
|
313
358
|
updateCheckboxSelectionState(emitEvent = true) {
|
|
314
359
|
if (this.hasRadios)
|
|
315
360
|
return;
|
|
316
|
-
const checkboxes =
|
|
361
|
+
const checkboxes = this.getOwnedControls('br-checkbox');
|
|
362
|
+
if (checkboxes.length === 0)
|
|
363
|
+
return;
|
|
317
364
|
const nextSelected = checkboxes.some((checkbox) => checkbox.checked);
|
|
318
|
-
|
|
319
|
-
this.selectedValue = nextSelected;
|
|
365
|
+
this.setSelectionState(nextSelected, emitEvent);
|
|
320
366
|
if (emitEvent && this.effectiveInteractive) {
|
|
321
367
|
const detail = { selected: nextSelected };
|
|
322
368
|
this.brDidSelect.emit(detail);
|
|
@@ -326,10 +372,11 @@ export class Item {
|
|
|
326
372
|
updateRadioSelectionState(emitEvent = true) {
|
|
327
373
|
if (!this.hasRadios)
|
|
328
374
|
return;
|
|
329
|
-
const radios =
|
|
375
|
+
const radios = this.getOwnedControls('br-radio');
|
|
376
|
+
if (radios.length === 0)
|
|
377
|
+
return;
|
|
330
378
|
const nextSelected = radios.some((radio) => radio.checked);
|
|
331
|
-
|
|
332
|
-
this.selectedValue = nextSelected;
|
|
379
|
+
this.setSelectionState(nextSelected, emitEvent);
|
|
333
380
|
if (emitEvent && this.effectiveInteractive) {
|
|
334
381
|
const detail = { selected: nextSelected };
|
|
335
382
|
this.brDidSelect.emit(detail);
|
|
@@ -338,20 +385,44 @@ export class Item {
|
|
|
338
385
|
}
|
|
339
386
|
isClickInsideInteractiveElement(target) {
|
|
340
387
|
const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea';
|
|
341
|
-
const interactiveElements = this.
|
|
388
|
+
const interactiveElements = this.getOwnedControls(interactiveSelectors);
|
|
342
389
|
return Array.from(interactiveElements).some((el) => el.contains(target) || target === el);
|
|
343
390
|
}
|
|
344
391
|
updateCheckboxes() {
|
|
345
|
-
const checkboxes =
|
|
392
|
+
const checkboxes = this.getOwnedControls('br-checkbox');
|
|
346
393
|
checkboxes.forEach((checkbox) => {
|
|
347
394
|
checkbox.checked = this.selectedValue;
|
|
348
395
|
});
|
|
349
396
|
}
|
|
397
|
+
setSelectionState(selected, reflect = true) {
|
|
398
|
+
this.selectedValue = selected;
|
|
399
|
+
if (reflect)
|
|
400
|
+
this.selected = selected;
|
|
401
|
+
}
|
|
402
|
+
toggleSelection() {
|
|
403
|
+
const previousSelectedValue = this.selectedValue;
|
|
404
|
+
this.setSelectionState(!previousSelectedValue);
|
|
405
|
+
this.updateCheckboxes();
|
|
406
|
+
if (previousSelectedValue !== this.selectedValue) {
|
|
407
|
+
const detail = { selected: this.selectedValue };
|
|
408
|
+
this.brDidSelect.emit(detail);
|
|
409
|
+
this.brItemSelect.emit(detail);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
getOwnedControls(selector) {
|
|
413
|
+
return Array.from(this.el.querySelectorAll(selector)).filter((element) => findComposedOwner(element, 'br-item') === this.el);
|
|
414
|
+
}
|
|
350
415
|
render() {
|
|
351
416
|
const TagType = this.getTagType();
|
|
352
417
|
const attributes = this.getAttributes();
|
|
353
418
|
const classList = this.getCssClassMap();
|
|
354
|
-
|
|
419
|
+
// O conteúdo nomeado pode ser inserido pelo componente pai durante a
|
|
420
|
+
// primeira renderização. A leitura atualizada evita que o item comece
|
|
421
|
+
// usando apenas o slot default e só adote o layout em uma interação
|
|
422
|
+
// posterior.
|
|
423
|
+
const hasSlotStart = this.hasSlotStart || this.hasSlotContent('start');
|
|
424
|
+
const hasSlotEnd = this.hasSlotEnd || this.hasSlotContent('end');
|
|
425
|
+
return (h(Host, { key: 'd32344a7ca9d0d9a3e6c06d5f4f4247785ce6ce7', tabindex: this.effectiveInteractive || this.effectiveButton ? (this.disabled ? -1 : 0) : undefined }, h(TagType, { key: '4da387479e9f0dad915185210e55ad1386adf046', class: classList, ...attributes, tabindex: this.effectiveInteractive || this.effectiveButton ? (this.disabled ? -1 : 0) : undefined, onClick: this.handleClick, onKeyDown: this.handleKeydown, id: this.customId, ref: (el) => (this.focusableElement = el), onMouseDown: this.handleMouseDown, part: "item" }, hasSlotStart || hasSlotEnd ? (h("div", { class: "row align-items-center" }, hasSlotStart && (h("div", { class: "col-auto" }, h("slot", { name: "start" }))), h("div", { class: "col" }, h("slot", null)), hasSlotEnd && (h("div", { class: "col-auto" }, h("slot", { name: "end" }))))) : (h("slot", null)))));
|
|
355
426
|
}
|
|
356
427
|
static get is() { return "br-item"; }
|
|
357
428
|
static get encapsulation() { return "shadow"; }
|
|
@@ -475,7 +546,7 @@ export class Item {
|
|
|
475
546
|
},
|
|
476
547
|
"selected": {
|
|
477
548
|
"type": "boolean",
|
|
478
|
-
"mutable":
|
|
549
|
+
"mutable": true,
|
|
479
550
|
"complexType": {
|
|
480
551
|
"original": "boolean",
|
|
481
552
|
"resolved": "boolean",
|
|
@@ -485,7 +556,7 @@ export class Item {
|
|
|
485
556
|
"optional": true,
|
|
486
557
|
"docs": {
|
|
487
558
|
"tags": [],
|
|
488
|
-
"text": "Estado selecionado can\u00F4nico.
|
|
559
|
+
"text": "Estado selecionado can\u00F4nico. Em itens interativos, tamb\u00E9m \u00E9 atualizado pelo acionamento."
|
|
489
560
|
},
|
|
490
561
|
"getter": false,
|
|
491
562
|
"setter": false,
|
|
@@ -712,7 +783,7 @@ export class Item {
|
|
|
712
783
|
"optional": false,
|
|
713
784
|
"docs": {
|
|
714
785
|
"tags": [],
|
|
715
|
-
"text": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espa\u00E7amento).\n- `medium`: Densidade intermedi\u00E1ria, padr\u00E3o recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espa\u00E7amento e altura)
|
|
786
|
+
"text": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espa\u00E7amento).\n- `medium`: Densidade intermedi\u00E1ria, padr\u00E3o recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espa\u00E7amento e altura).\n\nValores inv\u00E1lidos usam `medium`."
|
|
716
787
|
},
|
|
717
788
|
"getter": false,
|
|
718
789
|
"setter": false,
|
|
@@ -909,7 +980,19 @@ export class Item {
|
|
|
909
980
|
return [{
|
|
910
981
|
"name": "checkedChange",
|
|
911
982
|
"method": "handleCheckedChange",
|
|
912
|
-
"target":
|
|
983
|
+
"target": undefined,
|
|
984
|
+
"capture": false,
|
|
985
|
+
"passive": false
|
|
986
|
+
}, {
|
|
987
|
+
"name": "brInternalCheckboxStateChange",
|
|
988
|
+
"method": "handleInternalChildStateChange",
|
|
989
|
+
"target": undefined,
|
|
990
|
+
"capture": false,
|
|
991
|
+
"passive": false
|
|
992
|
+
}, {
|
|
993
|
+
"name": "brInternalRadioStateChange",
|
|
994
|
+
"method": "handleInternalChildStateChange",
|
|
995
|
+
"target": undefined,
|
|
913
996
|
"capture": false,
|
|
914
997
|
"passive": false
|
|
915
998
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}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]{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}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media(min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.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)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin: var(--grid-portrait-margin);--grid-maxwidth: var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter: var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media(min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media(min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-desktop-margin)}.row{--grid-gutter: var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media(min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tv-margin)}.row{--grid-gutter: var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.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}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media(min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{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}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media(min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media(min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset: var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,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:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media(min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background: var(--background);--table-color: var(--color);--table-border-color: var(--gray-20);--table-border-style: solid;--table-border-width: 1px;--table-hover: var(--color-rgb);--table-padding: var(--spacing-scale-3x);--table-font-weight: var(--font-weight-medium);--table-th-background: var(--background-alternative);--table-th-font-weight: var(--font-weight-semi-bold);--table-row-size: var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-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)}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)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::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)}.help{font-size:var(--font-size-scale-base)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button{--button-radius: 100em;--button-xsmall: 24px;--button-small: 32px;--button-medium: 40px;--button-large: 48px;--button-size: var(--button-medium);align-items:center;background-color:rgba(0,0,0,0);border:0;border-radius:var(--button-radius);color:var(--interactive);cursor:pointer;display:inline-flex;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);height:var(--button-size);justify-content:center;overflow:hidden;padding:0 var(--spacing-scale-3x);position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.br-button.block{width:100%}.br-button.circle,.br-button[circle]{border-radius:50%;padding:0;width:var(--button-size)}.br-button.xsmall,.br-button[xsmall]{--button-size: var(--button-xsmall)}.br-button.small,.br-button[small]{--button-size: var(--button-small)}.br-button.medium,.br-button[medium]{--button-size: var(--button-medium)}.br-button.large,.br-button[large]{--button-size: var(--button-large)}.br-button.primary,.br-button[primary]{--interactive-rgb: var(--color-dark-rgb);background-color:var(--interactive-light);color:var(--color-dark)}.br-button.secondary,.br-button[secondary]{background-color:var(--background-light);border:1px solid var(--interactive)}.br-button.danger,.br-button[danger]{background-color:var(--danger);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.success,.br-button[success]{background-color:var(--success);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.warning,.br-button[warning]{background-color:var(--warning);--interactive-rgb: var(--color-light-rgb);color:var(--color-light)}.br-button.info,.br-button[info]{background-color:var(--info);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button:disabled{cursor:not-allowed}.br-button:not(:disabled){--focus-offset: var(--spacing-scale-half)}.br-button:not(:disabled):focus{outline:none}.br-button:not(:disabled).focus-visible,.br-button:not(:disabled):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button:not(:disabled):not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-button:not(:disabled):not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-button.active,.br-button.is-active,.br-button[active]{--hover: var(--hover-dark);background-color:var(--active);color:var(--color-dark)}.br-button.loading{color:rgba(0,0,0,0) !important;cursor:progress}.br-button.loading:not(:disabled):hover{background-image:none}.br-button.loading::before{border-color:var(--interactive) var(--interactive) rgba(0,0,0,0);border-style:solid}.br-button.loading.primary::before,.br-button.loading.danger::before,.br-button.loading.success::before,.br-button.loading.info::before{border-color:var(--background) var(--background) rgba(0,0,0,0)}.br-button.inverted,.br-button[inverted],.br-button.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);color:var(--interactive-dark)}.br-button.inverted.primary,.br-button.inverted[primary],.br-button[inverted].primary,.br-button[inverted][primary],.br-button.dark-mode.primary,.br-button.dark-mode[primary]{--interactive-rgb: var(--background-dark-rgb);background-color:var(--interactive-dark);color:var(--background-dark)}.br-button.inverted.secondary,.br-button.inverted[secondary],.br-button[inverted].secondary,.br-button[inverted][secondary],.br-button.dark-mode.secondary,.br-button.dark-mode[secondary]{background-color:var(--background-dark)}.br-button.inverted.active,.br-button[inverted].active,.br-button.dark-mode.active{--hover: var(--hover-light);--interactive-rgb: var(--active-rgb);background-color:var(--background-light);color:var(--active)}a.br-button{font-weight:var(--font-weight-semi-bold);text-decoration:none !important}:host{display:contents}:host([hidden]){display:none !important}:host([disabled]) a{cursor:not-allowed;opacity:.5}:host([disabled]) a:hover{background-image:none}
|
|
1
|
+
*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,optgroup,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]{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}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media(min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.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)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin: var(--grid-portrait-margin);--grid-maxwidth: var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter: var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media(min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media(min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-desktop-margin)}.row{--grid-gutter: var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media(min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tv-margin)}.row{--grid-gutter: var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-out{animation-timing-function:cubic-bezier(0, 0, 0.58, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fast{animation-duration:var(--duration-fast)}.slow{animation-duration:var(--duration-slow)}.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}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media(min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{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}fieldset[disabled]{opacity:1}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media(min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media(min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset: var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,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:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media(min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background: var(--background);--table-color: var(--color);--table-border-color: var(--gray-20);--table-border-style: solid;--table-border-width: 1px;--table-hover: var(--color-rgb);--table-padding: var(--spacing-scale-3x);--table-font-weight: var(--font-weight-medium);--table-th-background: var(--background-alternative);--table-th-font-weight: var(--font-weight-semi-bold);--table-row-size: var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-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)}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)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::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)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}pre,.pre{background:var(--gray-5);margin:var(--spacing-scale-2x) 0 var(--spacing-scale-4x);padding:var(--spacing-scale-2x)}pre code,.pre code{display:inline;padding:0}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}@media(prefers-reduced-motion: reduce){:host,:host::before,:host::after,:host *,:host *::before,:host *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}}:host-context([data-wbc-reduced-motion=true])::before,:host-context([data-wbc-reduced-motion=true])::after,:host-context([data-wbc-reduced-motion=true]) *,:host-context([data-wbc-reduced-motion=true]) *::before,:host-context([data-wbc-reduced-motion=true]) *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}.br-button{--button-radius: 100em;--button-xsmall: 24px;--button-small: 32px;--button-medium: 40px;--button-large: 48px;--button-size: var(--button-medium);align-items:center;background-color:rgba(0,0,0,0);border:0;border-radius:var(--button-radius);color:var(--interactive);cursor:pointer;display:inline-flex;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);height:var(--button-size);justify-content:center;overflow:hidden;padding:0 var(--spacing-scale-3x);position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.br-button.block{width:100%}.br-button.circle,.br-button[circle]{border-radius:50%;padding:0;width:var(--button-size)}.br-button.xsmall,.br-button[xsmall]{--button-size: var(--button-xsmall)}.br-button.small,.br-button[small]{--button-size: var(--button-small)}.br-button.medium,.br-button[medium]{--button-size: var(--button-medium)}.br-button.large,.br-button[large]{--button-size: var(--button-large)}.br-button.primary,.br-button[primary]{--interactive-rgb: var(--color-dark-rgb);background-color:var(--interactive-light);color:var(--color-dark)}.br-button.secondary,.br-button[secondary]{background-color:var(--background-light);border:1px solid var(--interactive)}.br-button.danger,.br-button[danger]{background-color:var(--danger);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.success,.br-button[success]{background-color:var(--success);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.warning,.br-button[warning]{background-color:var(--warning);--interactive-rgb: var(--color-light-rgb);color:var(--color-light)}.br-button.info,.br-button[info]{background-color:var(--info);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button:disabled{cursor:not-allowed}.br-button:not(:disabled){--focus-offset: var(--spacing-scale-half)}.br-button:not(:disabled):focus{outline:none}.br-button:not(:disabled).focus-visible,.br-button:not(:disabled):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button:not(:disabled):not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-button:not(:disabled):not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-button.active,.br-button.is-active,.br-button[active]{--hover: var(--hover-dark);background-color:var(--active);color:var(--color-dark)}.br-button.loading{color:rgba(0,0,0,0) !important;cursor:progress}.br-button.loading:not(:disabled):hover{background-image:none}.br-button.loading::before{border-color:var(--interactive) var(--interactive) rgba(0,0,0,0);border-style:solid}.br-button.loading.primary::before,.br-button.loading.danger::before,.br-button.loading.success::before,.br-button.loading.info::before{border-color:var(--background) var(--background) rgba(0,0,0,0)}.br-button.inverted,.br-button[inverted],.br-button.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);color:var(--interactive-dark)}.br-button.inverted.primary,.br-button.inverted[primary],.br-button[inverted].primary,.br-button[inverted][primary],.br-button.dark-mode.primary,.br-button.dark-mode[primary]{--interactive-rgb: var(--background-dark-rgb);background-color:var(--interactive-dark);color:var(--background-dark)}.br-button.inverted.secondary,.br-button.inverted[secondary],.br-button[inverted].secondary,.br-button[inverted][secondary],.br-button.dark-mode.secondary,.br-button.dark-mode[secondary]{background-color:var(--background-dark)}.br-button.inverted.active,.br-button[inverted].active,.br-button.dark-mode.active{--hover: var(--hover-light);--interactive-rgb: var(--active-rgb);background-color:var(--background-light);color:var(--active)}a.br-button{font-weight:var(--font-weight-semi-bold);text-decoration:none !important}:host{display:contents}:host([hidden]){display:none !important}:host([disabled]) a{cursor:not-allowed;opacity:.5}:host([disabled]) a:hover{background-image:none}
|
|
@@ -4,15 +4,37 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
6
|
import { handleNavigationClick } from "../../shared/utils/navigation";
|
|
7
|
+
import { resolveAllowedPropValue } from "../../shared/utils/props";
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
+
* O componente `br-link` é o controle oficial de hiperlink do GovBR-DS, projetado para orientar e conduzir a pessoa usuária em navegações internas entre páginas ou encaminhamentos para destinos externos.
|
|
9
10
|
*
|
|
10
|
-
* Para
|
|
11
|
+
* ### Para que serve
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
+
* - **Navegação estruturada:** Conduz o usuário para novas URLs, rotas de aplicação, âncoras dentro da mesma página ou arquivos para download.
|
|
14
|
+
* - **Identificação de links externos:** Permite sinalizar visualmente que o link aponta para um domínio externo ou abre em nova aba/janela, adicionando os atributos de segurança e acessibilidade necessários (`target="_blank"`, `rel="noopener noreferrer"`).
|
|
15
|
+
* - **Estilos inline e de bloco:** Adapta-se ao fluxo de leitura textual em parágrafos ou como elemento de navegação isolado com suporte a ícones.
|
|
16
|
+
*
|
|
17
|
+
* ### Quando utilizar
|
|
18
|
+
*
|
|
19
|
+
* - **Utilize quando:**
|
|
20
|
+
* - A ação resultar na alteração da URL do navegador, navegação para outra página ou download de arquivo.
|
|
21
|
+
* - **Evite e prefira outro componente quando:**
|
|
22
|
+
* - A ação disparar um comportamento na interface sem alterar a URL (como abrir modal, submeter formulário ou acionar filtro): prefira `br-button`.
|
|
23
|
+
*
|
|
24
|
+
* ### Estrutura e Slots
|
|
25
|
+
*
|
|
26
|
+
* O `br-link` é um componente autônomo:
|
|
27
|
+
* - `default`: Slot para o texto do link, ícones auxiliares ou elementos combinados.
|
|
28
|
+
*
|
|
29
|
+
* Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/link?tab=designer).
|
|
30
|
+
*
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
* @category Navegação, Ações
|
|
13
34
|
* @status stable
|
|
14
35
|
* @slot default - Conteúdo do link (texto, ícones ou outros elementos).
|
|
15
36
|
* @part anchor - Parte exposta para o elemento âncora interno, usada para estilos customizados via `::part(anchor)`.
|
|
37
|
+
*
|
|
16
38
|
*/
|
|
17
39
|
export class Link {
|
|
18
40
|
constructor() {
|
|
@@ -28,6 +50,9 @@ export class Link {
|
|
|
28
50
|
*/
|
|
29
51
|
this.navigationMode = 'native';
|
|
30
52
|
/**
|
|
53
|
+
* Ativa o comportamento legado de navegação SPA, interceptando cliques simples
|
|
54
|
+
* para atualizar o histórico e emitir `brSpaNavigate`.
|
|
55
|
+
*
|
|
31
56
|
* @deprecated Use `navigationMode="event"` e o evento `brNavigate`.
|
|
32
57
|
*/
|
|
33
58
|
this.isSpaLinkBehavior = false;
|
|
@@ -64,7 +89,7 @@ export class Link {
|
|
|
64
89
|
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
|
|
65
90
|
return;
|
|
66
91
|
}
|
|
67
|
-
if (this.isSpaLinkBehavior && this.
|
|
92
|
+
if (this.isSpaLinkBehavior && this.effectiveNavigationMode === 'native') {
|
|
68
93
|
event.preventDefault();
|
|
69
94
|
const spaEvent = this.brSpaNavigate.emit({ event, href: this.href });
|
|
70
95
|
if (!spaEvent.defaultPrevented && typeof window !== 'undefined')
|
|
@@ -74,8 +99,8 @@ export class Link {
|
|
|
74
99
|
handleNavigationClick({
|
|
75
100
|
event,
|
|
76
101
|
href: this.href,
|
|
77
|
-
target: this.
|
|
78
|
-
navigationMode: this.
|
|
102
|
+
target: this.effectiveTarget,
|
|
103
|
+
navigationMode: this.effectiveNavigationMode,
|
|
79
104
|
brNavigate: this.brNavigate,
|
|
80
105
|
});
|
|
81
106
|
};
|
|
@@ -104,7 +129,7 @@ export class Link {
|
|
|
104
129
|
return attrs;
|
|
105
130
|
};
|
|
106
131
|
this.getRel = () => {
|
|
107
|
-
if (this.
|
|
132
|
+
if (this.effectiveTarget === '_blank') {
|
|
108
133
|
// Garante noopener e noreferrer mesmo com rel customizado (mitiga tabnabbing).
|
|
109
134
|
const parts = new Set([...(this.rel ?? '').split(' ').filter(Boolean), 'noopener', 'noreferrer']);
|
|
110
135
|
return [...parts].join(' ');
|
|
@@ -112,6 +137,14 @@ export class Link {
|
|
|
112
137
|
return this.rel;
|
|
113
138
|
};
|
|
114
139
|
}
|
|
140
|
+
get effectiveTarget() {
|
|
141
|
+
return resolveAllowedPropValue(this.el, 'target', this.target, ['_self', '_blank', '_parent', '_top'], undefined, {
|
|
142
|
+
allowUndefined: true,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
get effectiveNavigationMode() {
|
|
146
|
+
return resolveAllowedPropValue(this.el, 'navigationMode', this.navigationMode, ['native', 'event'], 'native');
|
|
147
|
+
}
|
|
115
148
|
handleDisabledChange(isDisabled) {
|
|
116
149
|
// Remove o foco se o link for desativado enquanto focado: tabindex/href
|
|
117
150
|
// removidos não retiram um foco já aplicado.
|
|
@@ -120,7 +153,7 @@ export class Link {
|
|
|
120
153
|
}
|
|
121
154
|
}
|
|
122
155
|
render() {
|
|
123
|
-
return (h(Host, { key: '
|
|
156
|
+
return (h(Host, { key: '735d6e0d48cb55199a14f32c3d0d86c234e4cd61' }, h("a", { key: '54b489e59820264b3a5367af6195b6bd06e06712', part: "anchor", class: { 'br-button': this.button }, href: this.disabled ? undefined : this.href, target: this.effectiveTarget, rel: this.getRel(), download: this.download, hreflang: this.hreflang, referrerPolicy: this.referrerPolicy, type: this.type, "aria-disabled": this.disabled ? 'true' : null, onClick: this.handleClick, ...this.getAnchorAttrs() }, h("slot", { key: 'c1e47475dd6c47eba68bfe97ce77a08594d3800a' }))));
|
|
124
157
|
}
|
|
125
158
|
static get is() { return "br-link"; }
|
|
126
159
|
static get encapsulation() { return "shadow"; }
|
|
@@ -318,7 +351,7 @@ export class Link {
|
|
|
318
351
|
"name": "deprecated",
|
|
319
352
|
"text": "Use `navigationMode=\"event\"` e o evento `brNavigate`."
|
|
320
353
|
}],
|
|
321
|
-
"text": ""
|
|
354
|
+
"text": "Ativa o comportamento legado de navega\u00E7\u00E3o SPA, interceptando cliques simples\npara atualizar o hist\u00F3rico e emitir `brSpaNavigate`."
|
|
322
355
|
},
|
|
323
356
|
"getter": false,
|
|
324
357
|
"setter": false,
|
|
@@ -400,7 +433,7 @@ export class Link {
|
|
|
400
433
|
"name": "deprecated",
|
|
401
434
|
"text": "Use `ariaExpanded`."
|
|
402
435
|
}],
|
|
403
|
-
"text": ""
|
|
436
|
+
"text": "Encaminhamento de `aria-expanded` para o elemento \u00E2ncora interno."
|
|
404
437
|
},
|
|
405
438
|
"getter": false,
|
|
406
439
|
"setter": false,
|
|
@@ -442,7 +475,7 @@ export class Link {
|
|
|
442
475
|
"name": "deprecated",
|
|
443
476
|
"text": "Use `ariaSelected`."
|
|
444
477
|
}],
|
|
445
|
-
"text": ""
|
|
478
|
+
"text": "Encaminhamento de `aria-selected` para o elemento \u00E2ncora interno."
|
|
446
479
|
},
|
|
447
480
|
"getter": false,
|
|
448
481
|
"setter": false,
|
|
@@ -484,7 +517,7 @@ export class Link {
|
|
|
484
517
|
"name": "deprecated",
|
|
485
518
|
"text": "Use `ariaHasPopup`."
|
|
486
519
|
}],
|
|
487
|
-
"text": ""
|
|
520
|
+
"text": "Encaminhamento de `aria-haspopup` para o elemento \u00E2ncora interno."
|
|
488
521
|
},
|
|
489
522
|
"getter": false,
|
|
490
523
|
"setter": false,
|
|
@@ -526,7 +559,7 @@ export class Link {
|
|
|
526
559
|
"name": "deprecated",
|
|
527
560
|
"text": "Use `ariaCurrent`."
|
|
528
561
|
}],
|
|
529
|
-
"text": ""
|
|
562
|
+
"text": "Encaminhamento de `aria-current` para o elemento \u00E2ncora interno.\nIndica o item ativo em um conjunto de navega\u00E7\u00E3o (breadcrumb, menu, pagina\u00E7\u00E3o).\nValores comuns: `\"page\"` (link da p\u00E1gina atual), `\"step\"` (etapa ativa), `\"true\"`.\nRefer\u00EAncia: WCAG 1.3.1 e ARIA `aria-current`."
|
|
530
563
|
},
|
|
531
564
|
"getter": false,
|
|
532
565
|
"setter": false,
|
|
@@ -568,7 +601,7 @@ export class Link {
|
|
|
568
601
|
"name": "deprecated",
|
|
569
602
|
"text": "Use `ariaLabel`."
|
|
570
603
|
}],
|
|
571
|
-
"text": ""
|
|
604
|
+
"text": "Encaminhamento de `aria-label` para o elemento \u00E2ncora interno.\nFornece nome acess\u00EDvel ao link quando o conte\u00FAdo do slot n\u00E3o \u00E9 descritivo\npor si s\u00F3 (ex.: link com \u00EDcone sem texto vis\u00EDvel)."
|
|
572
605
|
},
|
|
573
606
|
"getter": false,
|
|
574
607
|
"setter": false,
|
|
@@ -610,7 +643,7 @@ export class Link {
|
|
|
610
643
|
"name": "deprecated",
|
|
611
644
|
"text": "Use `ariaDescribedBy`."
|
|
612
645
|
}],
|
|
613
|
-
"text": ""
|
|
646
|
+
"text": "Encaminhamento de `aria-describedby` para o elemento \u00E2ncora interno.\nReferencia o `id` de um elemento externo que descreve o link."
|
|
614
647
|
},
|
|
615
648
|
"getter": false,
|
|
616
649
|
"setter": false,
|