@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
|
@@ -4,12 +4,38 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
6
|
import { generateUniqueId } from "../../shared/utils/id";
|
|
7
|
-
import {
|
|
7
|
+
import { resolveAllowedPropValue, resolveDensity } from "../../shared/utils/props";
|
|
8
8
|
import { hasNamedLightDomSlot } from "../../shared/utils/slot";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* O componente `br-avatar` é a representação visual compacta de um usuário, pessoa ou entidade no GovBR-DS. Ele exibe fotos de perfil, ícones institucionais ou iniciais textuais com suporte a múltiplos tamanhos, temas e indicador de status contextual.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* ### Para que serve
|
|
13
|
+
*
|
|
14
|
+
* - **Identificação visual de perfil:** Exibe a foto do usuário logado em barras de cabeçalho, cartões de perfil, listas de contatos ou comentários.
|
|
15
|
+
* - **Resiliência e fallback visual:** Caso a imagem informada falhe ao carregar (`src`), o componente passa suavemente para o ícone padrão ou texto alternativo sem quebrar o leiaute.
|
|
16
|
+
* - **Indicador de status integrado:** Informa estados operacionais (online, offline, ocupado, ausente) através do slot dedicado `status`.
|
|
17
|
+
* - **Acessibilidade:** Garante descrição textual adequada através da propriedade `alt`, essencial para pessoas que utilizam leitores de tela.
|
|
18
|
+
*
|
|
19
|
+
* ### Quando utilizar
|
|
20
|
+
*
|
|
21
|
+
* - **Utilize quando:**
|
|
22
|
+
* - For necessário identificar a pessoa autenticada no cabeçalho ou menu da aplicação.
|
|
23
|
+
* - Exibir listas de contatos, autores de publicações, membros de equipe ou participantes de um fluxo colaborativo.
|
|
24
|
+
* - Indicar o status de disponibilidade de um usuário ou atendente no sistema.
|
|
25
|
+
* - **Evite e prefira outro componente quando:**
|
|
26
|
+
* - For necessária uma exibição de imagem ilustrativa ampla ou promocional (prefira tags HTML `<img>` semânticas ou contêineres ilustrativos do design).
|
|
27
|
+
* - O elemento requerer interações ricas com múltiplas ações (prefira compor com `br-card`).
|
|
28
|
+
*
|
|
29
|
+
* ### Estrutura e Slots
|
|
30
|
+
*
|
|
31
|
+
* O `br-avatar` é um componente autônomo e direto:
|
|
32
|
+
* - `default`: Conteúdo interno livre (quando não for utilizada imagem via prop `src`), permitindo inserir ícones como `br-icon` ou texto de iniciais.
|
|
33
|
+
* - `status`: Slot posicionado para inserção de um indicador visual de status sobreposto ao avatar.
|
|
34
|
+
*
|
|
35
|
+
* 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/avatar?tab=designer).
|
|
36
|
+
*
|
|
37
|
+
|
|
38
|
+
* @category Identidade, Conteúdo
|
|
13
39
|
* @status stable
|
|
14
40
|
* @part container - Elemento externo do avatar.
|
|
15
41
|
* @part content - Conteúdo interno do avatar (imagem, ícone ou texto).
|
|
@@ -30,6 +56,7 @@ export class Avatar {
|
|
|
30
56
|
* - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
|
|
31
57
|
* - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
|
|
32
58
|
*
|
|
59
|
+
* Valores inválidos usam `medium`.
|
|
33
60
|
*/
|
|
34
61
|
this.density = 'medium';
|
|
35
62
|
/**
|
|
@@ -53,8 +80,9 @@ export class Avatar {
|
|
|
53
80
|
/**
|
|
54
81
|
* Força a exibição do ícone padrão, sobrescreve outras opções (texto ou imagem).
|
|
55
82
|
* Útil para manter consistência visual ou quando se deseja um avatar neutro independente do conteúdo disponível.
|
|
83
|
+
*
|
|
84
|
+
* @deprecated Use `iconic`.
|
|
56
85
|
*/
|
|
57
|
-
/** @deprecated Use `iconic`. */
|
|
58
86
|
this.isIconic = false;
|
|
59
87
|
/**
|
|
60
88
|
* Conteúdo textual do avatar.
|
|
@@ -95,7 +123,8 @@ export class Avatar {
|
|
|
95
123
|
*/
|
|
96
124
|
this.statusSize = '12px';
|
|
97
125
|
/**
|
|
98
|
-
* Posição do indicador de status sobre o avatar.
|
|
126
|
+
* Posição do indicador de status sobre o avatar. Aceita `top-right`, `bottom-right`, `top-left` ou `bottom-left`.
|
|
127
|
+
* Valores inválidos usam `top-right`.
|
|
99
128
|
*/
|
|
100
129
|
this.statusPosition = 'top-right';
|
|
101
130
|
this.handleImageError = () => {
|
|
@@ -103,15 +132,15 @@ export class Avatar {
|
|
|
103
132
|
console.error(`Erro ao carregar imagem do avatar: ${this.src}`);
|
|
104
133
|
};
|
|
105
134
|
}
|
|
135
|
+
get effectiveStatusPosition() {
|
|
136
|
+
return resolveAllowedPropValue(this.el, 'statusPosition', this.statusPosition, ['top-right', 'bottom-right', 'top-left', 'bottom-left'], 'top-right');
|
|
137
|
+
}
|
|
106
138
|
/**
|
|
107
139
|
* Observa mudanças na propriedade density para validação e sincronização com atributo DOM.
|
|
108
140
|
* Garante que apenas valores válidos sejam aceitos e atualiza o atributo no elemento host.
|
|
109
141
|
*/
|
|
110
142
|
handleDensityChange(newValue) {
|
|
111
|
-
this.density =
|
|
112
|
-
component: 'br-avatar',
|
|
113
|
-
property: 'density',
|
|
114
|
-
});
|
|
143
|
+
this.density = resolveDensity(this.el, newValue);
|
|
115
144
|
if (this.statusSize === '12px') {
|
|
116
145
|
this.statusSize = { small: '12px', medium: '14px', large: '16px' }[this.density];
|
|
117
146
|
}
|
|
@@ -138,9 +167,10 @@ export class Avatar {
|
|
|
138
167
|
* @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.
|
|
139
168
|
*/
|
|
140
169
|
getCssClassMap() {
|
|
170
|
+
const density = resolveDensity(this.el, this.density);
|
|
141
171
|
return {
|
|
142
172
|
'br-avatar': true,
|
|
143
|
-
[
|
|
173
|
+
[density]: true,
|
|
144
174
|
error: this.hasError,
|
|
145
175
|
disabled: this.disabled,
|
|
146
176
|
};
|
|
@@ -210,7 +240,8 @@ export class Avatar {
|
|
|
210
240
|
* Exibe um ícone padrão (fa-solid:user) posicionado na base do avatar.
|
|
211
241
|
*/
|
|
212
242
|
renderIconAvatar() {
|
|
213
|
-
const
|
|
243
|
+
const density = resolveDensity(this.el, this.density);
|
|
244
|
+
const iconSize = { small: '32', medium: '80', large: '128' }[density];
|
|
214
245
|
return (h("br-icon", { iconName: "fa-solid:user", width: iconSize, height: iconSize, "aria-hidden": "true", class: "avatar-icon" }));
|
|
215
246
|
}
|
|
216
247
|
/**
|
|
@@ -233,10 +264,11 @@ export class Avatar {
|
|
|
233
264
|
if (!this.status && !this.hasStatusSlot()) {
|
|
234
265
|
return null;
|
|
235
266
|
}
|
|
236
|
-
|
|
267
|
+
const density = resolveDensity(this.el, this.density);
|
|
268
|
+
return (h("span", { class: `avatar-status ${this.effectiveStatusPosition} ${density}`, part: "status" }, h("slot", { name: "status" }, h("br-tag", { status: true, size: this.statusSize, bgColor: this.statusBgColor, "prop:ariaLabel": this.statusLabel }))));
|
|
237
269
|
}
|
|
238
270
|
render() {
|
|
239
|
-
return (h(Host, { key: '
|
|
271
|
+
return (h(Host, { key: 'fb320907e2ed0031913374f4c03e6f5f33eefec2' }, h("span", { key: '187ae72f1c941ef6b267dc1b34d258c983c2d676', id: this.customId, class: this.getCssClassMap(), role: "img", "aria-label": this.getAriaLabel(), part: "container" }, h("span", { key: '4dfcc23000e6d22c2cfed227b22b50543158f2e4', class: "avatar-content-wrapper" }, h("span", { key: 'edb516847bea851d5c2c8adc45a68b4fa1793763', class: this.getContentClasses(), part: "content" }, this.renderAvatar()), this.renderStatus()))));
|
|
240
272
|
}
|
|
241
273
|
static get is() { return "br-avatar"; }
|
|
242
274
|
static get encapsulation() { return "shadow"; }
|
|
@@ -271,7 +303,7 @@ export class Avatar {
|
|
|
271
303
|
"optional": false,
|
|
272
304
|
"docs": {
|
|
273
305
|
"tags": [],
|
|
274
|
-
"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)
|
|
306
|
+
"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`."
|
|
275
307
|
},
|
|
276
308
|
"getter": false,
|
|
277
309
|
"setter": false,
|
|
@@ -354,7 +386,7 @@ export class Avatar {
|
|
|
354
386
|
"name": "deprecated",
|
|
355
387
|
"text": "Use `iconic`."
|
|
356
388
|
}],
|
|
357
|
-
"text": ""
|
|
389
|
+
"text": "For\u00E7a a exibi\u00E7\u00E3o do \u00EDcone padr\u00E3o, sobrescreve outras op\u00E7\u00F5es (texto ou imagem).\n\u00DAtil para manter consist\u00EAncia visual ou quando se deseja um avatar neutro independente do conte\u00FAdo dispon\u00EDvel."
|
|
358
390
|
},
|
|
359
391
|
"getter": false,
|
|
360
392
|
"setter": false,
|
|
@@ -540,7 +572,7 @@ export class Avatar {
|
|
|
540
572
|
"optional": false,
|
|
541
573
|
"docs": {
|
|
542
574
|
"tags": [],
|
|
543
|
-
"text": "Posi\u00E7\u00E3o do indicador de status sobre o avatar."
|
|
575
|
+
"text": "Posi\u00E7\u00E3o do indicador de status sobre o avatar. Aceita `top-right`, `bottom-right`, `top-left` ou `bottom-left`.\nValores inv\u00E1lidos usam `top-right`."
|
|
544
576
|
},
|
|
545
577
|
"getter": false,
|
|
546
578
|
"setter": false,
|
|
@@ -4,9 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Subcomponente declarativo canônico de `br-breadcrumb`, utilizado para representar cada nível individual dentro da trilha hierárquica de navegação.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* ### Papel na composição
|
|
10
|
+
*
|
|
11
|
+
* - Define o rótulo legível e o destino de navegação (`href`) de um nível hierárquico específico.
|
|
12
|
+
* - Suporta a propriedade `home` para renderizar o ícone institucional da página inicial no primeiro item da trilha.
|
|
13
|
+
*
|
|
14
|
+
* ### Regra de uso e relacionamento
|
|
15
|
+
*
|
|
16
|
+
* Deve ser declarado exclusivamente dentro do slot padrão do orquestrador `br-breadcrumb`. Ele não deve ser utilizado isoladamente fora da trilha de breadcrumb. O componente pai monitora os itens para aplicar automaticamente os separadores visuais e demarcar o último item como a página atual.
|
|
17
|
+
*
|
|
18
|
+
* Para a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).
|
|
19
|
+
*
|
|
20
|
+
|
|
21
|
+
* @slot default - Conteúdo alternativo do rótulo. Quando usado, substitui o texto fornecido em `label`.
|
|
10
22
|
*/
|
|
11
23
|
export class BreadcrumbItem {
|
|
12
24
|
constructor() {
|
|
@@ -21,7 +33,7 @@ export class BreadcrumbItem {
|
|
|
21
33
|
this.brCrumbPropsChange.emit();
|
|
22
34
|
}
|
|
23
35
|
render() {
|
|
24
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: 'b649638f2c3ff84f22cef29319a66fb37b9b7c3b', style: { display: 'none' } }, h("slot", { key: '9b8ef5bc86332aaffce5e0fd5bf3c1d41f14e3d5' })));
|
|
25
37
|
}
|
|
26
38
|
static get is() { return "br-breadcrumb-item"; }
|
|
27
39
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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-breadcrumb{display:inline-grid;font-size:var(--font-size-scale-down-01);font-weight:var(--font-weight-medium);min-height:var(--spacing-scale-7x);position:relative}.br-breadcrumb .crumb-list{align-items:center;border:0;display:flex;list-style:none;margin:0;overflow-x:auto;overflow-y:hidden;padding:0 0 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{align-items:center;display:flex;height:var(--spacing-scale-5x)}.br-breadcrumb .crumb .icon{color:var(--border-color);font-size:var(--icon-size-sm);margin-right:-6px}.br-breadcrumb .crumb a{max-width:180px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .crumb:last-child span{font-weight:var(--font-weight-medium);margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base);white-space:nowrap}.br-breadcrumb .crumb[data-active=active] span:focus:focus,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus{outline:none}.br-breadcrumb .crumb[data-active=active] span:focus.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus:focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-breadcrumb .crumb a:not(.br-button){margin:0 var(--spacing-scale-base)}.br-breadcrumb .home{--focus-offset: calc(var(--spacing-scale-half) * -1);margin:0 var(--spacing-scale-base) 0 0}@media(max-width: 991px){.br-breadcrumb .crumb a:not(.br-button){display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .home+.crumb{display:flex}}.br-breadcrumb .br-card{left:var(--spacing-scale-9x);min-width:fit-content;position:absolute;top:var(--spacing-scale-7x);z-index:var(--z-index-layer-1)}.br-breadcrumb .br-item{color:var(--color);cursor:pointer;padding:0}.br-breadcrumb .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.br-breadcrumb .br-item a{--interactive: var(--color);--interactive-rgb: var(--color-rgb);display:block;padding:var(--spacing-scale-2x)}@media(max-width: 575px){.br-breadcrumb .br-card{left:var(--spacing-scale-base);width:250px}}.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}.br-list.horizontal{display:flex;flex-wrap:wrap}.br-list.horizontal>.header{flex-grow:1;width:100%}.br-list.horizontal>.header+.br-divider{border-top:1px solid var(--border-color);width:100%}.br-list.horizontal>.br-item+.br-divider,.br-list.horizontal>.group+.br-divider{border-width:0 1px 0 0;width:1px}.br-list.horizontal>.br-item,.br-list.horizontal>.group{flex:1;height:auto;min-height:56px;width:auto}.br-list.horizontal[data-toggle]>.br-item,.br-list.horizontal.toggle>.br-item{display:block}.br-list{background-color:var(--background)}.br-list .br-item{text-align:left;width:100%}.br-list .br-item .fa{text-align:center}.br-list .br-item>.content{align-items:var(--spacing-vertical-top);display:flex}.br-list .br-item>.content>.content{flex:1}.br-list .br-item .content:hover button.br-button{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-list .br-item[data-toggle]{cursor:pointer}.br-list .br-item[data-toggle]~.br-list .br-item{padding:var(--spacing-scale-base) var(--spacing-scale-3x)}.br-list .br-list{overflow:hidden;transition:all 400ms ease-in-out}.br-list .header{align-items:var(--spacing-vertical-center);display:flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-bold);justify-content:space-between;padding:var(--spacing-scale-base) var(--spacing-scale-2x)}.br-item{background:var(--background);--item-padding-x: var(--spacing-scale-2x);--item-padding-y: var(--spacing-scale-base);--item-padding: var(--item-padding-y) var(--item-padding-x);--focus-offset: calc(var(--focus-width) * -1);border:0;color:var(--color);display:block;font-weight:var(--font-weight);padding:var(--item-padding);text-align:left;width:100%}.br-item .row{margin-left:calc(-1*var(--spacing-scale-base));margin-right:calc(-1*var(--spacing-scale-base))}.br-item .row .col,.br-item .row [class*=col-]{padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-item::after{clear:both;content:"";display:block}.br-item[data-toggle]{cursor:pointer}.br-item[data-toggle=selection]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item>.br-checkbox:not(.hidden-label),.br-item>.br-radio:not(.hidden-label){margin-bottom:calc(var(--item-padding-y)*-1);margin-left:calc(var(--item-padding-x)*-1);margin-right:calc(var(--item-padding-x)*-1);margin-top:calc(var(--item-padding-y)*-1)}.br-item>.br-checkbox:not(.hidden-label) input+label,.br-item>.br-radio:not(.hidden-label) input+label{padding-bottom:var(--item-padding-y);padding-top:var(--item-padding-y);top:1px;width:100%}.br-item>.br-checkbox:not(.hidden-label) input+label::before,.br-item>.br-radio:not(.hidden-label) input+label::before{left:var(--item-padding-x);top:calc(var(--item-padding-y) - 1px)}.br-item>.br-checkbox:not(.hidden-label) input+label:empty,.br-item>.br-radio:not(.hidden-label) input+label:empty{left:0;top:1px}.br-item>.br-checkbox:not(.hidden-label) input:hover:not(:disabled)+label::before,.br-item>.br-radio:not(.hidden-label) input:hover:not(:disabled)+label::before{background-image:none}.br-item>.br-checkbox input:not(:indeterminate)+label{min-height:calc(var(--checkbox-size) + var(--item-padding-y)*2)}.br-item>.br-checkbox input:not(:indeterminate)+label:not(:empty){padding-left:calc(var(--checkbox-padding) + var(--checkbox-size) + var(--item-padding-x))}.br-item>.br-checkbox input:not(:indeterminate)+label::after{left:calc(var(--item-padding-x) + 8px);top:calc(var(--item-padding-y) + 4px)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty{min-height:var(--checkbox-size)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty::after{left:8px;top:4px}.br-item .br-radio input+label{min-height:calc(var(--radio-size) + var(--item-padding-y)*2);padding-left:calc(var(--spacing-scale-base) + var(--radio-size) + var(--item-padding-x))}.br-item .br-radio input+label::after{left:calc(var(--item-padding-x) + var(--radio-bullet-position));top:calc(var(--item-padding-y) + var(--radio-bullet-position) - 1px)}.br-item .br-radio input+label:empty{min-height:var(--radio-size)}.br-item .br-radio input+label:empty::after{left:var(--radio-bullet-position);top:var(--radio-bullet-position)}.br-item.highlight{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-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);background-color:var(--selected)}.br-item.active{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--active);color:var(--color)}.br-item.inverted,.br-item.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)}.br-item.inverted.active,.br-item.dark-mode.active{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--active-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);background-color:var(--background-light);color:var(--active)}.br-item[data-toggle]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item[data-toggle] .content i{color:var(--interactive)}.br-item .content{align-items:center;display:flex}.br-item [class*=fa-]{height:16px;width:14px !important}a.br-item{color:var(--interactive)}a.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button.br-item{background-color:rgba(0,0,0,0);color:var(--color)}button.br-item:focus{outline:none}button.br-item.focus-visible,button.br-item:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}button.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}button.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--color-rgb), var(--pressed)), rgba(var(--color-rgb), var(--pressed)))}.br-divider,hr{--divider-size: var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content,hr.content{align-items:center;border:0;display:flex;justify-content:center}.br-divider.content::after,.br-divider.content::before,hr.content::after,hr.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";flex:1}.br-divider.content::after,hr.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before,hr.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical,hr.vertical{align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content,hr.vertical.content{flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before,hr.vertical.content::after,hr.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.inverted,.br-divider.dark-mode,hr.inverted,hr.dark-mode{--border-color: var(--pure-0)}.br-divider.dashed,hr.dashed{border-style:dashed}.br-divider.sm,hr.sm{--divider-size: var(--surface-width-sm)}hr{--divider-padding: var(--spacing-scale-2x);margin:var(--divider-padding) 0}:host{display:block;position:relative}.br-breadcrumb .br-icon{color:#ccc}.br-breadcrumb .br-icon,.br-breadcrumb .mobile-active-page{display:flex;align-items:center}.br-breadcrumb .mobile-crumb-list{display:none;position:absolute;z-index:var(--z-index-layer-1);width:200px;box-shadow:var(--surface-shadow-sm);--interactive: var(--color);--interactive-rgb: var(--color-rgb)}.br-breadcrumb .mobile-crumb-list.show{display:block;top:100%}.br-breadcrumb .buttonFolderGroup,.br-breadcrumb .buttonFolderGroup span{display:flex;align-items:center}.br-breadcrumb .mobile-active-page span:focus:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus);outline-offset:var(--focus-offset)}.br-breadcrumb .mobile-active-page [data-active]{margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{display:flex;align-items:center}.br-breadcrumb .crumb span{display:flex;align-items:center}.tooltip-box{position:absolute;z-index:var(--z-index-layer-1);background:#1351b4;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:break-word;pointer-events:none;box-shadow:var(--surface-shadow-sm);width:max-content}.tooltip-box[data-placement^=top] .tooltip-arrow{bottom:-4px}.tooltip-box[data-placement^=bottom] .tooltip-arrow{top:-5px}.tooltip-box[data-placement^=left] .tooltip-arrow{right:-4px}.tooltip-box[data-placement^=right] .tooltip-arrow{left:-4px}.tooltip-box .tooltip-arrow{position:absolute;width:8px;height:8px;background:#1351b4;transform:rotate(45deg)}
|
|
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-breadcrumb{display:inline-grid;font-size:var(--font-size-scale-down-01);font-weight:var(--font-weight-medium);min-height:var(--spacing-scale-7x);position:relative}.br-breadcrumb .crumb-list{align-items:center;border:0;display:flex;list-style:none;margin:0;overflow-x:auto;overflow-y:hidden;padding:0 0 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{align-items:center;display:flex;height:var(--spacing-scale-5x)}.br-breadcrumb .crumb .icon{color:var(--border-color);font-size:var(--icon-size-sm);margin-right:-6px}.br-breadcrumb .crumb a{max-width:180px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .crumb:last-child span{font-weight:var(--font-weight-medium);margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base);white-space:nowrap}.br-breadcrumb .crumb[data-active=active] span:focus:focus,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus{outline:none}.br-breadcrumb .crumb[data-active=active] span:focus.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus:focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-breadcrumb .crumb a:not(.br-button){margin:0 var(--spacing-scale-base)}.br-breadcrumb .home{--focus-offset: calc(var(--spacing-scale-half) * -1);margin:0 var(--spacing-scale-base) 0 0}@media(max-width: 991px){.br-breadcrumb .crumb a:not(.br-button){display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .home+.crumb{display:flex}}.br-breadcrumb .br-card{left:var(--spacing-scale-9x);min-width:fit-content;position:absolute;top:var(--spacing-scale-7x);z-index:var(--z-index-layer-1)}.br-breadcrumb .br-item{color:var(--color);cursor:pointer;padding:0}.br-breadcrumb .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.br-breadcrumb .br-item a{--interactive: var(--color);--interactive-rgb: var(--color-rgb);display:block;padding:var(--spacing-scale-2x)}@media(max-width: 575px){.br-breadcrumb .br-card{left:var(--spacing-scale-base);width:250px}}.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}.br-list.horizontal{display:flex;flex-wrap:wrap}.br-list.horizontal>.header{flex-grow:1;width:100%}.br-list.horizontal>.header+.br-divider{border-top:1px solid var(--border-color);width:100%}.br-list.horizontal>.br-item+.br-divider,.br-list.horizontal>.group+.br-divider{border-width:0 1px 0 0;width:1px}.br-list.horizontal>.br-item,.br-list.horizontal>.group{flex:1;height:auto;min-height:56px;width:auto}.br-list.horizontal[data-toggle]>.br-item,.br-list.horizontal.toggle>.br-item{display:block}.br-list{background-color:var(--background)}.br-list .br-item{text-align:left;width:100%}.br-list .br-item .fa,.br-list .br-item .fas{text-align:center}.br-list .br-item>.content{align-items:var(--spacing-vertical-top);display:flex}.br-list .br-item>.content>.content{flex:1}.br-list .br-item .content:hover button.br-button{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-list .br-item[data-toggle]{cursor:pointer}.br-list .br-item[data-toggle]~.br-list .br-item{padding:var(--spacing-scale-base) var(--spacing-scale-3x)}.br-list .br-list{overflow:hidden;transition:all 400ms ease-in-out}.br-list .header{align-items:var(--spacing-vertical-center);display:flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-bold);justify-content:space-between;padding:var(--spacing-scale-base) var(--spacing-scale-2x)}.br-item{background:var(--background);--item-padding-x: var(--spacing-scale-2x);--item-padding-y: var(--spacing-scale-base);--item-padding: var(--item-padding-y) var(--item-padding-x);--focus-offset: calc(var(--focus-width) * -1);border:0;color:var(--color);display:block;font-weight:var(--font-weight);padding:var(--item-padding);text-align:left;width:100%}.br-item .row{margin-left:calc(-1*var(--spacing-scale-base));margin-right:calc(-1*var(--spacing-scale-base))}.br-item .row .col,.br-item .row [class*=col-]{padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-item::after{clear:both;content:"";display:block}.br-item[data-toggle]{cursor:pointer}.br-item[data-toggle=selection]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item>.br-checkbox:not(.hidden-label),.br-item>.br-radio:not(.hidden-label){margin-bottom:calc(var(--item-padding-y)*-1);margin-left:calc(var(--item-padding-x)*-1);margin-right:calc(var(--item-padding-x)*-1);margin-top:calc(var(--item-padding-y)*-1)}.br-item>.br-checkbox:not(.hidden-label) input+label,.br-item>.br-radio:not(.hidden-label) input+label{padding-bottom:var(--item-padding-y);padding-top:var(--item-padding-y);top:1px;width:100%}.br-item>.br-checkbox:not(.hidden-label) input+label::before,.br-item>.br-radio:not(.hidden-label) input+label::before{left:var(--item-padding-x);top:calc(var(--item-padding-y) - 1px)}.br-item>.br-checkbox:not(.hidden-label) input+label:empty,.br-item>.br-radio:not(.hidden-label) input+label:empty{left:0;top:1px}.br-item>.br-checkbox:not(.hidden-label) input:hover:not(:disabled)+label::before,.br-item>.br-radio:not(.hidden-label) input:hover:not(:disabled)+label::before{background-image:none}.br-item>.br-checkbox input:not(:indeterminate)+label{min-height:calc(var(--checkbox-size) + var(--item-padding-y)*2)}.br-item>.br-checkbox input:not(:indeterminate)+label:not(:empty){padding-left:calc(var(--checkbox-padding) + var(--checkbox-size) + var(--item-padding-x))}.br-item>.br-checkbox input:not(:indeterminate)+label::after{left:calc(var(--item-padding-x) + 8px);top:calc(var(--item-padding-y) + 4px)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty{min-height:var(--checkbox-size)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty::after{left:8px;top:4px}.br-item .br-radio input+label{min-height:calc(var(--radio-size) + var(--item-padding-y)*2);padding-left:calc(var(--spacing-scale-base) + var(--radio-size) + var(--item-padding-x))}.br-item .br-radio input+label::after{left:calc(var(--item-padding-x) + var(--radio-bullet-position));top:calc(var(--item-padding-y) + var(--radio-bullet-position) - 1px)}.br-item .br-radio input+label:empty{min-height:var(--radio-size)}.br-item .br-radio input+label:empty::after{left:var(--radio-bullet-position);top:var(--radio-bullet-position)}.br-item.highlight{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-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);background-color:var(--selected)}.br-item.active{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--active);color:var(--color)}.br-item.inverted,.br-item.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)}.br-item.inverted.active,.br-item.dark-mode.active{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--active-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);background-color:var(--background-light);color:var(--active)}.br-item[data-toggle]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item[data-toggle] .content i{color:var(--interactive)}.br-item .content{align-items:center;display:flex}.br-item [class*=fa-]{height:16px;width:14px !important}a.br-item{color:var(--interactive)}a.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button.br-item{background-color:rgba(0,0,0,0);color:var(--color)}button.br-item:focus{outline:none}button.br-item.focus-visible,button.br-item:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}button.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}button.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--color-rgb), var(--pressed)), rgba(var(--color-rgb), var(--pressed)))}.br-divider,hr{--divider-size: var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content,hr.content{align-items:center;border:0;display:flex;justify-content:center}.br-divider.content::after,.br-divider.content::before,hr.content::after,hr.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";flex:1}.br-divider.content::after,hr.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before,hr.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical,hr.vertical{align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content,hr.vertical.content{flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before,hr.vertical.content::after,hr.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.inverted,.br-divider.dark-mode,hr.inverted,hr.dark-mode{--border-color: var(--pure-0)}.br-divider.dashed,hr.dashed{border-style:dashed}.br-divider.sm,hr.sm{--divider-size: var(--surface-width-sm)}hr{--divider-padding: var(--spacing-scale-2x);margin:var(--divider-padding) 0}:host{display:block;position:relative}.br-breadcrumb .br-icon{color:#ccc}.br-breadcrumb .br-icon,.br-breadcrumb .mobile-active-page{display:flex;align-items:center}.br-breadcrumb .mobile-crumb-list{display:none;position:absolute;z-index:var(--z-index-layer-1);width:200px;box-shadow:var(--surface-shadow-sm);--interactive: var(--color);--interactive-rgb: var(--color-rgb)}.br-breadcrumb .mobile-crumb-list.show{display:block;top:100%;animation:none}@media(prefers-reduced-motion: no-preference){.br-breadcrumb .mobile-crumb-list.show{animation:breadcrumb-list-open var(--duration-fast, 300ms) var(--animation-ease-out, ease-out) both}}.br-breadcrumb .buttonFolderGroup,.br-breadcrumb .buttonFolderGroup span{display:flex;align-items:center}.br-breadcrumb .mobile-active-page span:focus:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus);outline-offset:var(--focus-offset)}.br-breadcrumb .mobile-active-page [data-active]{margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{display:flex;align-items:center}.br-breadcrumb .crumb span{display:flex;align-items:center}@keyframes breadcrumb-list-open{from{opacity:0}to{opacity:1}}.tooltip-box{position:absolute;z-index:var(--z-index-layer-1);background:#1351b4;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:break-word;pointer-events:none;box-shadow:var(--surface-shadow-sm);width:max-content}.tooltip-box[data-placement^=top] .tooltip-arrow{bottom:-4px}.tooltip-box[data-placement^=bottom] .tooltip-arrow{top:-5px}.tooltip-box[data-placement^=left] .tooltip-arrow{right:-4px}.tooltip-box[data-placement^=right] .tooltip-arrow{left:-4px}.tooltip-box .tooltip-arrow{position:absolute;width:8px;height:8px;background:#1351b4;transform:rotate(45deg)}
|
|
@@ -6,12 +6,47 @@ import { Host, h } from "@stencil/core";
|
|
|
6
6
|
import { FloatingUIManager } from "../../shared/utils/floating-ui";
|
|
7
7
|
import { generateUniqueId } from "../../shared/utils/id";
|
|
8
8
|
import { handleNavigationClick } from "../../shared/utils/navigation";
|
|
9
|
+
import { reportInvalidPropValue } from "../../shared/utils/prop-warning";
|
|
10
|
+
import { resolveAllowedPropValue, resolveIntegerPropValue } from "../../shared/utils/props";
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* O componente `br-breadcrumb` é o controle de navegação estrutural do GovBR-DS, desenvolvido para exibir o caminho hierárquico até a página atual e permitir que a pessoa usuária retorne facilmente a níveis anteriores da aplicação.
|
|
11
13
|
*
|
|
14
|
+
* ### Para que serve
|
|
15
|
+
*
|
|
16
|
+
* - **Localização contextual:** Informa em qual nível da arquitetura de informação o usuário se encontra dentro do portal ou sistema.
|
|
17
|
+
* - **Navegação de retorno:** Oferece atalhos diretos para páginas ancestrais sem a necessidade de recorrer repetidamente ao botão "Voltar" do navegador.
|
|
18
|
+
* - **Acessibilidade estruturada WAI-ARIA:** Utiliza a semântica nativa de `<nav aria-label="Breadcrumb">`, identifica a página atual com `aria-current="page"` e gera separadores visuais acessíveis.
|
|
19
|
+
*
|
|
20
|
+
* ### Quando utilizar
|
|
21
|
+
*
|
|
22
|
+
* - **Utilize quando:**
|
|
23
|
+
* - A aplicação possuir estrutura hierárquica com dois ou mais níveis de profundidade (ex.: Início > Serviços > Cidadão > Solicitar documento).
|
|
24
|
+
* - **Evite e prefira outro componente quando:**
|
|
25
|
+
* - A aplicação possuir navegação plana (flat) de nível único sem hierarquia.
|
|
26
|
+
* - O fluxo for linear com etapas progressivas de um formulário (prefira `br-step` ou `br-wizard`).
|
|
27
|
+
*
|
|
28
|
+
* ### Composição e Subcomponentes
|
|
29
|
+
*
|
|
30
|
+
* O ecossistema do Breadcrumb é composto pelo orquestrador e seus itens:
|
|
31
|
+
*
|
|
32
|
+
* | Subcomponente | Papel | Regra de uso |
|
|
33
|
+
* | --- | --- | --- |
|
|
34
|
+
* | `br-breadcrumb` | **Orquestrador principal.** Gerencia a trilha de navegação, insere separadores visuais e controla acessibilidade. | Deve ser o contêiner raiz declarado no template da página. |
|
|
35
|
+
* | `br-breadcrumb-item` | **Item declarativo canônico.** Representa cada nível do caminho hierárquico. | Declarado dentro do slot padrão do `br-breadcrumb`. |
|
|
36
|
+
* | `br-crumb` | **Item legado de compatibilidade.** Equivalente ao `br-breadcrumb-item`. | Mantido para compatibilidade; prefira `br-breadcrumb-item` em novos códigos. |
|
|
37
|
+
*
|
|
38
|
+
* ### Como os subcomponentes se relacionam
|
|
39
|
+
*
|
|
40
|
+
* O `br-breadcrumb` atua como container pai que monitora os itens declarados em seu slot padrão:
|
|
41
|
+
* 1. **Identificação da página atual:** O último item da lista é automaticamente identificado como o destino atual, recebendo destaque visual e `aria-current="page"` sem link ativo.
|
|
42
|
+
* 2. **Separação visual padronizada:** O componente pai insere e padroniza os ícones separadores entre os níveis sem poluir a árvore do leitor de tela.
|
|
43
|
+
*
|
|
44
|
+
* 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/breadcrumb?tab=designer).
|
|
45
|
+
*
|
|
46
|
+
|
|
12
47
|
* @category Navegação
|
|
13
48
|
* @status stable
|
|
14
|
-
* @slot default - Itens de breadcrumb declarados via elementos br-crumb.
|
|
49
|
+
* @slot default - Itens de breadcrumb declarados via elementos br-breadcrumb-item. O elemento br-crumb é aceito apenas por compatibilidade.
|
|
15
50
|
*
|
|
16
51
|
* @part nav - Elemento nav do breadcrumb.
|
|
17
52
|
* @part list - Lista ordenada de itens do breadcrumb.
|
|
@@ -71,6 +106,7 @@ export class Breadcrumb {
|
|
|
71
106
|
* - `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.
|
|
72
107
|
* - `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.
|
|
73
108
|
* Cliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.
|
|
109
|
+
* Valores inválidos usam `native`.
|
|
74
110
|
*/
|
|
75
111
|
this.navigationMode = 'native';
|
|
76
112
|
this.hasLoaded = false;
|
|
@@ -85,7 +121,7 @@ export class Breadcrumb {
|
|
|
85
121
|
this.registerCrumbItems = () => {
|
|
86
122
|
const assignedElements = this.slotElement
|
|
87
123
|
? this.slotElement.assignedElements()
|
|
88
|
-
: Array.from(this.el.
|
|
124
|
+
: Array.from(this.el.children).filter((element) => ['br-crumb', 'br-breadcrumb-item'].includes(element.tagName.toLowerCase()));
|
|
89
125
|
const crumbElements = assignedElements.filter((el) => ['br-crumb', 'br-breadcrumb-item'].includes(el.tagName?.toLowerCase()));
|
|
90
126
|
this.innerCrumbs = crumbElements.map((element) => {
|
|
91
127
|
const el = element;
|
|
@@ -109,7 +145,7 @@ export class Breadcrumb {
|
|
|
109
145
|
handleNavigationClick({
|
|
110
146
|
event,
|
|
111
147
|
href,
|
|
112
|
-
navigationMode: this.
|
|
148
|
+
navigationMode: this.effectiveNavigationMode,
|
|
113
149
|
brNavigate: this.brNavigate,
|
|
114
150
|
});
|
|
115
151
|
};
|
|
@@ -127,6 +163,9 @@ export class Breadcrumb {
|
|
|
127
163
|
}
|
|
128
164
|
};
|
|
129
165
|
}
|
|
166
|
+
get effectiveNavigationMode() {
|
|
167
|
+
return resolveAllowedPropValue(this.el, 'navigationMode', this.navigationMode, ['native', 'event'], 'native');
|
|
168
|
+
}
|
|
130
169
|
/**
|
|
131
170
|
* Adiciona o 'resizeObserver' para checar o tamanho do container pai.
|
|
132
171
|
*/
|
|
@@ -167,6 +206,19 @@ export class Breadcrumb {
|
|
|
167
206
|
get effectiveHomeHref() {
|
|
168
207
|
return this.homeHref ?? this.homeUrl;
|
|
169
208
|
}
|
|
209
|
+
get effectiveTruncateAfter() {
|
|
210
|
+
const value = resolveIntegerPropValue(this.el, 'truncateAfter', this.truncateAfter, 1, Number.MAX_SAFE_INTEGER, 0, {
|
|
211
|
+
allowUndefined: true,
|
|
212
|
+
});
|
|
213
|
+
return typeof value === 'number' && value > 0 ? value : undefined;
|
|
214
|
+
}
|
|
215
|
+
get shouldTruncateByCount() {
|
|
216
|
+
const limit = this.effectiveTruncateAfter;
|
|
217
|
+
return limit !== undefined && this.getParsedItems().length > limit;
|
|
218
|
+
}
|
|
219
|
+
get shouldRenderTruncated() {
|
|
220
|
+
return this.isTruncate || this.shouldTruncateByCount;
|
|
221
|
+
}
|
|
170
222
|
normalizeTarget(target) {
|
|
171
223
|
const allowedTargets = ['_blank', '_self', '_parent', '_top'];
|
|
172
224
|
return allowedTargets.includes(target) ? target : undefined;
|
|
@@ -231,7 +283,15 @@ export class Breadcrumb {
|
|
|
231
283
|
}
|
|
232
284
|
try {
|
|
233
285
|
const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs;
|
|
234
|
-
|
|
286
|
+
if (!Array.isArray(parsed) || parsed.length === 0)
|
|
287
|
+
return this.defaultCrumbs;
|
|
288
|
+
const validItems = parsed.filter((item) => typeof item === 'object' && item !== null && typeof item.label === 'string');
|
|
289
|
+
if (validItems.length !== parsed.length) {
|
|
290
|
+
reportInvalidPropValue(this.el, 'crumbs', this.crumbs, 'Cada crumb deve ser um objeto com `label` string e `href`, `target`, `home` e `active` opcionais.', validItems.length > 0
|
|
291
|
+
? 'Ignorando crumbs inválidos.'
|
|
292
|
+
: 'Aplicando os crumbs padrão porque nenhum item válido foi encontrado.');
|
|
293
|
+
}
|
|
294
|
+
return validItems.length > 0 ? validItems : this.defaultCrumbs;
|
|
235
295
|
}
|
|
236
296
|
catch {
|
|
237
297
|
console.error('Invalid JSON format for crumbs:', this.crumbs);
|
|
@@ -253,7 +313,7 @@ export class Breadcrumb {
|
|
|
253
313
|
if (handleNavigationClick({
|
|
254
314
|
event,
|
|
255
315
|
href: this.effectiveHomeHref,
|
|
256
|
-
navigationMode: this.
|
|
316
|
+
navigationMode: this.effectiveNavigationMode,
|
|
257
317
|
brNavigate: this.brNavigate,
|
|
258
318
|
})) {
|
|
259
319
|
return;
|
|
@@ -286,7 +346,7 @@ export class Breadcrumb {
|
|
|
286
346
|
if (this.parentWidth <= 0 || this.isSmallScreen)
|
|
287
347
|
return;
|
|
288
348
|
if (this.isTruncate) {
|
|
289
|
-
if (this.contentWidth <= this.parentWidth) {
|
|
349
|
+
if (!this.shouldTruncateByCount && this.contentWidth <= this.parentWidth) {
|
|
290
350
|
this.isTruncate = false;
|
|
291
351
|
requestAnimationFrame(() => this.calculateItemsWidth());
|
|
292
352
|
}
|
|
@@ -314,7 +374,7 @@ export class Breadcrumb {
|
|
|
314
374
|
* Renderiza botão Folder no comportamento truncado
|
|
315
375
|
*/
|
|
316
376
|
renderTruncateButton() {
|
|
317
|
-
if (this.
|
|
377
|
+
if (this.shouldRenderTruncated && !this.isSmallScreen) {
|
|
318
378
|
const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus';
|
|
319
379
|
return (h("li", { class: "buttonFolderGroup" }, h("br-icon", { class: "br-icon", iconName: "fa6-solid:chevron-right", width: "12", height: "12" }), h("br-button", { id: `${this.customId}-folder-trigger`, shape: "circle", "prop:ariaLabel": this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas', onClick: () => this.toggleFolder(), onKeyDown: (event) => this.handleKeyDown(event) }, h("br-icon", { iconName: buttonFolderClass, width: "12", height: "12" }))));
|
|
320
380
|
}
|
|
@@ -325,14 +385,14 @@ export class Breadcrumb {
|
|
|
325
385
|
*/
|
|
326
386
|
renderBreadcrumbItems() {
|
|
327
387
|
const parsedItems = this.getParsedItems();
|
|
328
|
-
if (this.isSmallScreen || this.
|
|
388
|
+
if (this.isSmallScreen || this.shouldRenderTruncated) {
|
|
329
389
|
return this.renderCollapsedBreadcrumbItems(parsedItems);
|
|
330
390
|
}
|
|
331
391
|
return this.renderDesktopBreadcrumbItems(parsedItems);
|
|
332
392
|
}
|
|
333
393
|
renderCollapsedBreadcrumbItems(parsedItems) {
|
|
334
394
|
const lastItem = parsedItems[parsedItems.length - 2];
|
|
335
|
-
return (h("li", { class: "buttonFolderGroup" }, this.
|
|
395
|
+
return (h("li", { class: "buttonFolderGroup" }, this.shouldRenderTruncated && !this.isSmallScreen && lastItem ? (h("span", null, h("br-icon", { class: "br-icon", iconName: "fa6-solid:chevron-right", width: "12", height: "12" }), h("a", { id: `${this.customId}-next-crumb`, href: lastItem.href || 'javascript:void(0)', target: lastItem.target || '_self', onClick: (event) => this.handleNavigation(event, lastItem.href), onMouseOver: (event) => this.handleMouseOver(event, lastItem.label), onMouseOut: () => this.handleMouseOut(), onFocus: (event) => this.handleMouseOver(event, lastItem.label), onBlur: () => this.handleMouseOut() }, this.truncateText(lastItem.label)))) : null, this.renderMobileActiveItem(parsedItems), this.renderBreadcrumbList(parsedItems)));
|
|
336
396
|
}
|
|
337
397
|
renderDesktopBreadcrumbItems(parsedItems) {
|
|
338
398
|
return parsedItems.map((item, index) => (h("li", { key: this.getCrumbKey(item), class: `crumb ${item.home ? 'home' : ''}`, "data-active": item.active ? 'active' : null, "aria-label": `Página ${index + 1} de ${parsedItems.length}` }, this.renderBreadcrumbLink(item))));
|
|
@@ -350,13 +410,13 @@ export class Breadcrumb {
|
|
|
350
410
|
* Renderiza lista dropdown contendo os itens do Breadcrumb
|
|
351
411
|
*/
|
|
352
412
|
renderBreadcrumbList(parsedItems) {
|
|
353
|
-
return (h("br-list", { class: this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list' }, this.isSmallScreen && (h("div", { role: "group", "aria-label": `Página 1 de ${parsedItems.length}` }, h("br-item", { isInteractive: true, href: this.effectiveHomeHref, target: "_self", navigationMode: this.
|
|
413
|
+
return (h("br-list", { class: this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list' }, this.isSmallScreen && (h("div", { role: "group", "aria-label": `Página 1 de ${parsedItems.length}` }, h("br-item", { isInteractive: true, href: this.effectiveHomeHref, target: "_self", navigationMode: this.effectiveNavigationMode }, "P\u00E1gina Inicial"), h("span", { class: "br-divider" }))), parsedItems.map((item, index) => this.renderBreadcrumbListItem(item, index, parsedItems.length))));
|
|
354
414
|
}
|
|
355
415
|
shouldSkipFloatingListItem(index, totalItems) {
|
|
356
|
-
return this.
|
|
416
|
+
return this.shouldRenderTruncated && !this.isSmallScreen && index === totalItems - 2;
|
|
357
417
|
}
|
|
358
418
|
getListItemAriaLabel(index, totalItems) {
|
|
359
|
-
if (this.
|
|
419
|
+
if (this.shouldRenderTruncated && !this.isSmallScreen) {
|
|
360
420
|
return `Página ${index + 1} de ${totalItems - 2}`;
|
|
361
421
|
}
|
|
362
422
|
return `Página ${index + 2} de ${totalItems}`;
|
|
@@ -367,7 +427,7 @@ export class Breadcrumb {
|
|
|
367
427
|
* necessariamente o de índice `totalItems - 3` como antes, quando todo item era
|
|
368
428
|
* um tab stop nativo e Tab sempre percorria a lista em ordem sequencial. Por isso
|
|
369
429
|
* o handler de saída é anexado a todo item; `handleKeyDownOut` já valida internamente
|
|
370
|
-
* se a saída deve de fato ocorrer (`isFolderOpen &&
|
|
430
|
+
* se a saída deve de fato ocorrer (`isFolderOpen && shouldRenderTruncated && !isSmallScreen`).
|
|
371
431
|
*/
|
|
372
432
|
getListItemKeyDownHandler() {
|
|
373
433
|
return (event) => {
|
|
@@ -382,7 +442,7 @@ export class Breadcrumb {
|
|
|
382
442
|
if (item.active || this.shouldSkipFloatingListItem(index, totalItems)) {
|
|
383
443
|
return null;
|
|
384
444
|
}
|
|
385
|
-
return (h("div", { key: this.getCrumbKey(item), role: "group", "aria-label": this.getListItemAriaLabel(index, totalItems) }, h("br-item", { customId: index === 0 ? 'firstElementList' : undefined, "aria-label": this.isTruncatedLabel(item.label) ? item.label : null, isInteractive: true, href: item.href || 'javascript:void(0)', target: item.target ?? '_self', navigationMode: this.
|
|
445
|
+
return (h("div", { key: this.getCrumbKey(item), role: "group", "aria-label": this.getListItemAriaLabel(index, totalItems) }, h("br-item", { customId: index === 0 ? 'firstElementList' : undefined, "aria-label": this.isTruncatedLabel(item.label) ? item.label : null, isInteractive: true, href: item.href || 'javascript:void(0)', target: item.target ?? '_self', navigationMode: this.effectiveNavigationMode, onMouseOver: (event) => this.handleMouseOver(event, item.label), onFocus: (event) => this.handleMouseOver(event, item.label), onMouseOut: () => this.handleMouseOut(), onBlur: () => this.handleMouseOut(), onKeyDown: this.getListItemKeyDownHandler() }, this.truncateText(item.label)), h("span", { class: "br-divider" })));
|
|
386
446
|
}
|
|
387
447
|
/**
|
|
388
448
|
* Renderiza itens do Breadcrumb no formato desktop
|
|
@@ -407,7 +467,7 @@ export class Breadcrumb {
|
|
|
407
467
|
* Dispara foco no primeiro item da lista flutuante
|
|
408
468
|
*/
|
|
409
469
|
handleKeyDown(event) {
|
|
410
|
-
if (event.key === 'Tab' && this.isFolderOpen && this.
|
|
470
|
+
if (event.key === 'Tab' && this.isFolderOpen && this.shouldRenderTruncated && !this.isSmallScreen) {
|
|
411
471
|
setTimeout(() => {
|
|
412
472
|
const element = this.el.shadowRoot?.getElementById('firstElementList');
|
|
413
473
|
if (element) {
|
|
@@ -420,7 +480,7 @@ export class Breadcrumb {
|
|
|
420
480
|
* Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante
|
|
421
481
|
*/
|
|
422
482
|
handleKeyDownOut(event) {
|
|
423
|
-
if (event.key === 'Tab' && this.isFolderOpen && this.
|
|
483
|
+
if (event.key === 'Tab' && this.isFolderOpen && this.shouldRenderTruncated && !this.isSmallScreen) {
|
|
424
484
|
setTimeout(() => {
|
|
425
485
|
const element = this.el.shadowRoot?.getElementById('nextCrumb');
|
|
426
486
|
if (element) {
|
|
@@ -430,9 +490,9 @@ export class Breadcrumb {
|
|
|
430
490
|
}
|
|
431
491
|
}
|
|
432
492
|
render() {
|
|
433
|
-
return (h(Host, { key: '
|
|
493
|
+
return (h(Host, { key: '180bbf1d9b68b28d40f4c46d460c1768d119f9f8' }, h("div", { key: 'd1caadd6b34821130026e957ac469a17b5c0108b', style: { display: 'none' } }, h("slot", { key: '9befe6ceb93dce83110fb3bf0a599e4f0cff49ad', ref: (el) => {
|
|
434
494
|
this.slotElement = el;
|
|
435
|
-
}, onSlotchange: this.registerCrumbItems })), h("nav", { key: '
|
|
495
|
+
}, onSlotchange: this.registerCrumbItems })), h("nav", { key: 'fe4e0324eb9280157eba9100cb6b1103b28ad81a', class: this.getCssClassMap(), "aria-label": "Breadcrumbs", part: "nav" }, h("ol", { key: '5b00c51c967e823b7969a049d5da95f2c9c59762', class: "crumb-list", part: "list" }, this.renderHomeButton(), this.renderTruncateButton(), this.renderBreadcrumbItems())), this.renderTooltip()));
|
|
436
496
|
}
|
|
437
497
|
static get is() { return "br-breadcrumb"; }
|
|
438
498
|
static get encapsulation() { return "shadow"; }
|
|
@@ -510,6 +570,25 @@ export class Breadcrumb {
|
|
|
510
570
|
"reflect": false,
|
|
511
571
|
"attribute": "home-href"
|
|
512
572
|
},
|
|
573
|
+
"truncateAfter": {
|
|
574
|
+
"type": "number",
|
|
575
|
+
"mutable": false,
|
|
576
|
+
"complexType": {
|
|
577
|
+
"original": "number",
|
|
578
|
+
"resolved": "number",
|
|
579
|
+
"references": {}
|
|
580
|
+
},
|
|
581
|
+
"required": false,
|
|
582
|
+
"optional": true,
|
|
583
|
+
"docs": {
|
|
584
|
+
"tags": [],
|
|
585
|
+
"text": "Quantidade m\u00E1xima de crumbs exibidos antes de ativar o modo truncado.\nQuando omitida, o truncamento continua sendo decidido apenas pelo espa\u00E7o dispon\u00EDvel.\nValores inv\u00E1lidos s\u00E3o ignorados."
|
|
586
|
+
},
|
|
587
|
+
"getter": false,
|
|
588
|
+
"setter": false,
|
|
589
|
+
"reflect": true,
|
|
590
|
+
"attribute": "truncate-after"
|
|
591
|
+
},
|
|
513
592
|
"crumbs": {
|
|
514
593
|
"type": "string",
|
|
515
594
|
"mutable": false,
|
|
@@ -528,8 +607,14 @@ export class Breadcrumb {
|
|
|
528
607
|
"required": true,
|
|
529
608
|
"optional": false,
|
|
530
609
|
"docs": {
|
|
531
|
-
"tags": [
|
|
532
|
-
|
|
610
|
+
"tags": [{
|
|
611
|
+
"name": "example",
|
|
612
|
+
"text": "```html\n<br-breadcrumb\n crumbs='[{\"label\":\"In\u00EDcio\",\"href\":\"/\"},{\"label\":\"Servi\u00E7o\",\"active\":true}]'\n></br-breadcrumb>\n```"
|
|
613
|
+
}, {
|
|
614
|
+
"name": "example",
|
|
615
|
+
"text": "```js\nconst breadcrumb = document.querySelector('br-breadcrumb');\nbreadcrumb.crumbs = [\n { label: 'In\u00EDcio', href: '/' },\n { label: 'Servi\u00E7o', active: true },\n];\n```"
|
|
616
|
+
}],
|
|
617
|
+
"text": "Fornece os nomes e links do breadcrumb.\nUse uma string JSON no atributo HTML ou um array de `BreadcrumbItem` por property binding.\nCada item deve ter `label` string e pode ter `href`, `target`, `home` e `active`.\nItens inv\u00E1lidos s\u00E3o ignorados; se nenhum item v\u00E1lido restar, usa `defaultCrumbs` e avisa no console."
|
|
533
618
|
},
|
|
534
619
|
"getter": false,
|
|
535
620
|
"setter": false,
|
|
@@ -555,7 +640,7 @@ export class Breadcrumb {
|
|
|
555
640
|
"optional": false,
|
|
556
641
|
"docs": {
|
|
557
642
|
"tags": [],
|
|
558
|
-
"text": "Controla como os links do breadcrumb integram a navega\u00E7\u00E3o mantendo `href` real nos itens naveg\u00E1veis.\n- `native` (padr\u00E3o): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navega\u00E7\u00E3o nativa para a SPA assumir.\nCliques com modificadores, bot\u00E3o do meio ou `target` diferente de `_self` permanecem nativos
|
|
643
|
+
"text": "Controla como os links do breadcrumb integram a navega\u00E7\u00E3o mantendo `href` real nos itens naveg\u00E1veis.\n- `native` (padr\u00E3o): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navega\u00E7\u00E3o nativa para a SPA assumir.\nCliques com modificadores, bot\u00E3o do meio ou `target` diferente de `_self` permanecem nativos.\nValores inv\u00E1lidos usam `native`."
|
|
559
644
|
},
|
|
560
645
|
"getter": false,
|
|
561
646
|
"setter": false,
|