@govbr-ds/webcomponents 2.5.0 → 2.6.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/cem/custom-elements.json +4228 -996
- package/cem/webcomponents.html-custom-data.json +354 -48
- package/dist/cjs/br-avatar.cjs.entry.js +2 -2
- package/dist/cjs/br-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/br-breadcrumb.cjs.entry.js +11 -11
- package/dist/cjs/br-button_2.cjs.entry.js +5 -5
- package/dist/cjs/br-card.cjs.entry.js +2 -2
- package/dist/cjs/br-carousel-page.cjs.entry.js +2 -2
- package/dist/cjs/br-carousel.cjs.entry.js +5 -5
- package/dist/cjs/br-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/br-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
- package/dist/cjs/br-collapse_2.cjs.entry.js +8 -8
- package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-group.cjs.entry.js +4 -4
- package/dist/cjs/br-cookiebar-header.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar-link.cjs.entry.js +3 -3
- package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +3 -3
- package/dist/cjs/br-cookiebar-note.cjs.entry.js +2 -2
- package/dist/cjs/br-cookiebar.cjs.entry.js +5 -5
- package/dist/cjs/br-crumb.cjs.entry.js +1 -1
- package/dist/cjs/br-date-picker_3.cjs.entry.js +14 -14
- package/dist/cjs/br-datetime-picker.cjs.entry.js +6 -23
- package/dist/cjs/br-divider.cjs.entry.js +2 -2
- package/dist/cjs/br-dropdown.cjs.entry.js +677 -0
- package/dist/cjs/br-footer-category.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-item.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-legal.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-footer-social.cjs.entry.js +3 -3
- package/dist/cjs/br-footer.cjs.entry.js +2 -2
- package/dist/cjs/br-header-function.cjs.entry.js +2 -2
- package/dist/cjs/br-header-link.cjs.entry.js +2 -2
- package/dist/cjs/br-header-list.cjs.entry.js +4 -4
- package/dist/cjs/br-header-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-header.cjs.entry.js +6 -6
- package/dist/cjs/br-icon.cjs.entry.js +172 -158
- package/dist/cjs/br-input_2.cjs.entry.js +1427 -0
- package/dist/cjs/br-item.cjs.entry.js +2 -2
- package/dist/cjs/br-link.cjs.entry.js +2 -2
- package/dist/cjs/br-magic-button.cjs.entry.js +11 -12
- package/dist/cjs/br-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-header.cjs.entry.js +3 -3
- package/dist/cjs/br-menu-info.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/br-menu-link.cjs.entry.js +3 -3
- package/dist/cjs/br-menu-list.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-logo.cjs.entry.js +2 -2
- package/dist/cjs/br-menu-social.cjs.entry.js +2 -2
- package/dist/cjs/br-menu.cjs.entry.js +5 -5
- package/dist/cjs/br-modal.cjs.entry.js +2 -2
- package/dist/cjs/br-notification-body.cjs.entry.js +2 -2
- package/dist/cjs/br-notification-header.cjs.entry.js +2 -2
- package/dist/cjs/br-notification-item.cjs.entry.js +2 -2
- package/dist/cjs/br-notification.cjs.entry.js +2 -2
- package/dist/cjs/{br-dropdown_2.cjs.entry.js → br-pagination_2.cjs.entry.js} +812 -557
- package/dist/cjs/br-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/br-radio.cjs.entry.js +2 -2
- package/dist/cjs/br-scrim.cjs.entry.js +2 -2
- package/dist/cjs/br-select-input_3.cjs.entry.js +16 -93
- package/dist/cjs/br-sign-in.cjs.entry.js +3 -3
- package/dist/cjs/br-skip-link-item.cjs.entry.js +1 -1
- package/dist/cjs/br-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/br-skiplink-item.cjs.entry.js +2 -2
- package/dist/cjs/br-slider.cjs.entry.js +3 -3
- package/dist/cjs/br-step_2.cjs.entry.js +3 -3
- package/dist/cjs/br-switch.cjs.entry.js +2 -2
- package/dist/cjs/br-tab-item.cjs.entry.js +3 -3
- package/dist/cjs/br-tab.cjs.entry.js +7 -7
- package/dist/cjs/br-table-action_6.cjs.entry.js +1500 -0
- package/dist/cjs/br-table-body.cjs.entry.js +4 -16
- package/dist/cjs/br-table-header.cjs.entry.js +4 -16
- package/dist/cjs/br-table.cjs.entry.js +2616 -433
- package/dist/cjs/br-tag.cjs.entry.js +4 -4
- package/dist/cjs/br-textarea.cjs.entry.js +3 -3
- package/dist/cjs/br-tooltip.cjs.entry.js +5 -29
- package/dist/cjs/br-upload.cjs.entry.js +4 -4
- package/dist/cjs/br-wizard-panel.cjs.entry.js +3 -3
- package/dist/cjs/br-wizard.cjs.entry.js +3 -3
- package/dist/cjs/helpers-DkkDubv1.js +28 -0
- package/dist/cjs/{icon.utils-DF6kMskA.js → icon.utils-CMs0ukvR.js} +1 -1
- package/dist/cjs/{index-Bc30P_6z.js → index-BP8UIQro.js} +34 -34
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/table.utils-De-9_NgJ.js +749 -0
- package/dist/cjs/webcomponents.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +9 -9
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/card/card.css +1 -1
- package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
- package/dist/collection/components/carousel/carousel.css +1 -1
- package/dist/collection/components/carousel/carousel.js +3 -3
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
- package/dist/collection/components/collapse/collapse.css +1 -1
- package/dist/collection/components/collapse/collapse.js +9 -9
- package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +2 -2
- package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +1 -1
- package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
- 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 +1 -1
- package/dist/collection/components/cookiebar/cookiebar.css +1 -1
- package/dist/collection/components/cookiebar/cookiebar.js +3 -3
- package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
- package/dist/collection/components/datetime-picker/date-picker/date-picker.js +4 -4
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +3 -3
- package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.utils.js +6 -6
- package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
- package/dist/collection/components/datetime-picker/time-picker/time-picker.js +3 -3
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +6 -8
- package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
- package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
- package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
- package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
- package/dist/collection/components/footer/footer-social/footer-social.js +2 -2
- package/dist/collection/components/footer/footer.css +1 -1
- package/dist/collection/components/header/header-function/header-function.css +1 -1
- package/dist/collection/components/header/header-link/header-link.css +1 -1
- package/dist/collection/components/header/header-list/header-list.css +1 -1
- package/dist/collection/components/header/header-list/header-list.js +2 -2
- package/dist/collection/components/header/header-logo/header-logo.css +1 -1
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +4 -4
- package/dist/collection/components/icon/default-icons-cache.js +159 -146
- package/dist/collection/components/icon/icon.css +1 -1
- package/dist/collection/components/icon/icon.js +17 -13
- package/dist/collection/components/icon/icon.utils.js +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/input/input.js +120 -2
- package/dist/collection/components/item/item.css +1 -1
- package/dist/collection/components/link/link.css +1 -1
- package/dist/collection/components/list/list.css +1 -1
- package/dist/collection/components/loading/loading.css +1 -1
- package/dist/collection/components/magic-button/magic-button.css +1 -1
- package/dist/collection/components/magic-button/magic-button.js +11 -12
- package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
- package/dist/collection/components/menu/menu-header/menu-header.js +1 -1
- package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
- package/dist/collection/components/menu/menu-item/menu-item.js +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
- package/dist/collection/components/menu/menu-link/menu-link.js +1 -1
- package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
- package/dist/collection/components/menu/menu-social/menu-social.js +1 -1
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +3 -3
- package/dist/collection/components/message/message.css +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
- package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
- package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
- package/dist/collection/components/notification/notification.css +1 -1
- package/dist/collection/components/pagination/pagination.css +1 -1
- package/dist/collection/components/pagination/pagination.js +4 -4
- package/dist/collection/components/radio/radio.css +1 -1
- package/dist/collection/components/radio-group/radio-group.css +1 -1
- package/dist/collection/components/scrim/scrim.css +1 -1
- package/dist/collection/components/select/select-input/select-input.css +1 -1
- package/dist/collection/components/select/select-input/select-input.js +6 -84
- package/dist/collection/components/select/select-list/select-list.css +1 -1
- package/dist/collection/components/select/select-option/select-option.css +1 -1
- package/dist/collection/components/select/select-option/select-option.js +8 -7
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +22 -6
- package/dist/collection/components/sign-in/sign-in.css +1 -1
- package/dist/collection/components/sign-in/sign-in.js +1 -1
- package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
- package/dist/collection/components/skip-link/skip-link.css +1 -1
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/slider/slider.js +4 -4
- package/dist/collection/components/step/step-item/step-item.css +1 -1
- package/dist/collection/components/step/step.css +1 -1
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
- package/dist/collection/components/tab/tab-item/tab-item.js +2 -2
- package/dist/collection/components/tab/tab.css +1 -1
- package/dist/collection/components/tab/tab.js +4 -4
- package/dist/collection/components/table/table-action/table-action.css +1 -0
- package/dist/collection/components/table/table-action/table-action.js +349 -0
- package/dist/collection/components/table/table-bar/table-bar.css +1 -0
- package/dist/collection/components/table/table-bar/table-bar.js +652 -0
- package/dist/collection/components/table/table-body/table-body.css +1 -1
- package/dist/collection/components/table/table-body/table-body.js +12 -17
- package/dist/collection/components/table/table-cell/table-cell.css +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +556 -83
- package/dist/collection/components/table/table-footer/table-footer.css +1 -0
- package/dist/collection/components/table/table-footer/table-footer.js +233 -0
- package/dist/collection/components/table/table-header/table-header.css +1 -1
- package/dist/collection/components/table/table-header/table-header.js +11 -17
- 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 +287 -86
- package/dist/collection/components/table/table-row/table-row.css +1 -1
- package/dist/collection/components/table/table-row/table-row.js +312 -57
- package/dist/collection/components/table/table.actions-tooltip.js +33 -0
- package/dist/collection/components/table/{table-constants.js → table.constants.js} +54 -77
- package/dist/collection/components/table/table.css +1 -1
- package/dist/collection/components/table/table.data.js +461 -0
- package/dist/collection/components/table/table.expansion.elements.js +70 -0
- package/dist/collection/components/table/table.expansion.js +179 -0
- package/dist/collection/components/table/table.grouping.js +97 -0
- package/dist/collection/components/table/table.header-height.js +47 -0
- package/dist/collection/components/table/table.js +2499 -618
- package/dist/collection/components/table/table.keyboard.js +340 -0
- package/dist/collection/components/table/table.scroll-shadows.js +36 -0
- package/dist/collection/components/table/table.selection.elements.js +63 -0
- package/dist/collection/components/table/table.selection.js +239 -0
- package/dist/collection/components/table/table.tokens.js +28 -0
- package/dist/collection/components/table/table.types.js +1 -0
- package/dist/collection/components/table/table.utils.js +75 -0
- package/dist/collection/components/table/table.virtual-list.js +342 -0
- package/dist/collection/components/tag/tag.css +1 -1
- package/dist/collection/components/tag/tag.js +2 -2
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/tooltip/tooltip.js +3 -27
- package/dist/collection/components/upload/upload.css +1 -1
- package/dist/collection/components/upload/upload.js +2 -2
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
- package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +1 -1
- package/dist/collection/components/wizard/wizard.css +1 -1
- package/dist/collection/components/wizard/wizard.js +1 -1
- package/dist/collection/pages/scripts/code-editor.js +28 -3
- package/dist/collection/pages/scripts/pageLoader.js +286 -20
- package/dist/collection/pages/scripts/pageloader-preview.js +3 -1
- package/dist/components/br-avatar.js +1 -1
- package/dist/components/br-breadcrumb-item.js +1 -1
- package/dist/components/br-breadcrumb.js +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-card.js +1 -1
- package/dist/components/br-carousel-page.js +1 -1
- package/dist/components/br-carousel.js +1 -1
- package/dist/components/br-checkbox-group.js +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkgroup.js +1 -1
- package/dist/components/br-collapse.js +1 -1
- package/dist/components/br-cookiebar-cookie.js +1 -1
- package/dist/components/br-cookiebar-group.js +1 -1
- package/dist/components/br-cookiebar-header.js +1 -1
- package/dist/components/br-cookiebar-link.js +1 -1
- package/dist/components/br-cookiebar-note-group.js +1 -1
- package/dist/components/br-cookiebar-note.js +1 -1
- package/dist/components/br-cookiebar.js +1 -1
- package/dist/components/br-crumb.js +1 -1
- package/dist/components/br-date-picker.js +1 -1
- package/dist/components/br-datetime-input.js +1 -1
- package/dist/components/br-datetime-picker.js +1 -1
- package/dist/components/br-divider.js +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-footer-category.js +1 -1
- package/dist/components/br-footer-item.js +1 -1
- package/dist/components/br-footer-legal.js +1 -1
- package/dist/components/br-footer-logo.js +1 -1
- package/dist/components/br-footer-social.js +1 -1
- package/dist/components/br-footer.js +1 -1
- package/dist/components/br-header-function.js +1 -1
- package/dist/components/br-header-link.js +1 -1
- package/dist/components/br-header-list.js +1 -1
- package/dist/components/br-header-logo.js +1 -1
- package/dist/components/br-header.js +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +1 -1
- package/dist/components/br-item.js +1 -1
- package/dist/components/br-link.js +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-loading.js +1 -1
- package/dist/components/br-magic-button.js +1 -1
- package/dist/components/br-menu-group.js +1 -1
- package/dist/components/br-menu-header.js +1 -1
- package/dist/components/br-menu-info.js +1 -1
- package/dist/components/br-menu-item.js +1 -1
- package/dist/components/br-menu-link.js +1 -1
- package/dist/components/br-menu-list.js +1 -1
- package/dist/components/br-menu-logo.js +1 -1
- package/dist/components/br-menu-social.js +1 -1
- package/dist/components/br-menu.js +1 -1
- package/dist/components/br-message.js +1 -1
- package/dist/components/br-modal.js +1 -1
- package/dist/components/br-notification-body.js +1 -1
- package/dist/components/br-notification-header.js +1 -1
- package/dist/components/br-notification-item.js +1 -1
- package/dist/components/br-notification.js +1 -1
- package/dist/components/br-pagination.js +1 -1
- package/dist/components/br-radio-group.js +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-scrim.js +1 -1
- package/dist/components/br-select-input.js +1 -1
- package/dist/components/br-select-list.js +1 -1
- package/dist/components/br-select-option.js +1 -1
- package/dist/components/br-select.js +1 -1
- package/dist/components/br-sign-in.js +1 -1
- package/dist/components/br-skip-link-item.js +1 -1
- package/dist/components/br-skip-link.js +1 -1
- package/dist/components/br-skiplink-item.js +1 -1
- package/dist/components/br-slider.js +1 -1
- package/dist/components/br-step-item.js +1 -1
- package/dist/components/br-step.js +1 -1
- package/dist/components/br-switch.js +1 -1
- package/dist/components/br-tab-item.js +1 -1
- package/dist/components/br-tab.js +1 -1
- package/dist/components/br-table-action.d.ts +11 -0
- package/dist/components/br-table-action.js +5 -0
- package/dist/components/br-table-bar.d.ts +11 -0
- package/dist/components/br-table-bar.js +5 -0
- package/dist/components/br-table-body.js +1 -1
- package/dist/components/br-table-cell.js +1 -1
- package/dist/components/br-table-footer.d.ts +11 -0
- package/dist/components/br-table-footer.js +5 -0
- package/dist/components/br-table-header-cell.js +1 -1
- package/dist/components/br-table-header.js +1 -1
- package/dist/components/br-table-row.js +1 -1
- package/dist/components/br-table.js +1 -1
- package/dist/components/br-tag.js +1 -1
- package/dist/components/br-textarea.js +1 -1
- package/dist/components/br-time-picker.js +1 -1
- package/dist/components/br-tooltip.js +1 -1
- package/dist/components/br-upload.js +1 -1
- package/dist/components/br-wizard-panel.js +1 -1
- package/dist/components/br-wizard.js +1 -1
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-082jxuTj.js +5 -0
- package/dist/components/p-381n6AwK.js +5 -0
- package/dist/components/{p-CyXVsiz9.js → p-B5_zbRAr.js} +1 -1
- package/dist/components/p-BE1gDPwC.js +5 -0
- package/dist/components/p-BV-c2pxt.js +5 -0
- package/dist/components/p-BfFbYAuJ.js +5 -0
- package/dist/components/{p-DcMjwTqu.js → p-Bi2E_w9Q.js} +1 -1
- package/dist/components/p-Bk8YcMql.js +5 -0
- package/dist/components/p-C3ISxUGw.js +5 -0
- package/dist/components/p-C3J0TVQO.js +5 -0
- package/dist/components/p-C6m13lCc.js +5 -0
- package/dist/components/{p-DBmwzG9E.js → p-CCWJ-H33.js} +1 -1
- package/dist/components/p-CJuHirYK.js +5 -0
- package/dist/components/{p-SWQlgYWR.js → p-CKS7ggLM.js} +1 -1
- package/dist/components/p-COSFBwu9.js +5 -0
- package/dist/components/p-CWPrXYam.js +5 -0
- package/dist/components/p-Ca89D_0s.js +5 -0
- package/dist/components/p-CbN58CFi.js +5 -0
- package/dist/components/p-CjjxTkKb.js +5 -0
- package/dist/components/p-Ck9t4WSb.js +5 -0
- package/dist/components/p-CvfVwD6_.js +5 -0
- package/dist/components/p-D-1sfjhG.js +5 -0
- package/dist/components/p-D-p4vLlP.js +5 -0
- package/dist/components/p-D6DArHGH.js +5 -0
- package/dist/components/p-DD3BItoS.js +5 -0
- package/dist/components/{p-448Z5r2f.js → p-DEIKwFIf.js} +1 -1
- package/dist/components/p-DHHAIESt.js +5 -0
- package/dist/components/{p-Jk_KQE5V.js → p-DMj5iO7_.js} +1 -1
- package/dist/components/p-DUI-S07G.js +5 -0
- package/dist/components/p-D_K9JH6J.js +5 -0
- package/dist/components/p-DiQp2Lap.js +5 -0
- package/dist/components/{p-DJKZ8ktB.js → p-Dvbqhybt.js} +1 -1
- package/dist/components/p-Dy7MSvt-.js +5 -0
- package/dist/components/p-DywTXNHQ.js +5 -0
- package/dist/components/p-Ft_P7Roz.js +5 -0
- package/dist/components/p-KuiFoKDl.js +5 -0
- package/dist/components/p-MiiczSWA.js +5 -0
- package/dist/components/p-Um3K2SHu.js +5 -0
- package/dist/components/p-YxddSP6q.js +5 -0
- package/dist/components/p-Zk91ebVT.js +5 -0
- package/dist/components/p-jv2oG0vH.js +5 -0
- package/dist/components/p-nrG_Gd0c.js +5 -0
- package/dist/components/p-syLEZrcg.js +5 -0
- package/dist/components/{p-jvKQA6x7.js → p-ydfWTgrA.js} +1 -1
- package/dist/esm/br-avatar.entry.js +3 -3
- package/dist/esm/br-breadcrumb-item.entry.js +1 -1
- package/dist/esm/br-breadcrumb.entry.js +12 -12
- package/dist/esm/br-button_2.entry.js +6 -6
- package/dist/esm/br-card.entry.js +2 -2
- package/dist/esm/br-carousel-page.entry.js +2 -2
- package/dist/esm/br-carousel.entry.js +6 -6
- package/dist/esm/br-checkbox-group.entry.js +3 -3
- package/dist/esm/br-checkbox.entry.js +3 -3
- package/dist/esm/br-checkgroup.entry.js +1 -1
- package/dist/esm/br-collapse_2.entry.js +9 -9
- package/dist/esm/br-cookiebar-cookie.entry.js +2 -2
- package/dist/esm/br-cookiebar-group.entry.js +4 -4
- package/dist/esm/br-cookiebar-header.entry.js +2 -2
- package/dist/esm/br-cookiebar-link.entry.js +4 -4
- package/dist/esm/br-cookiebar-note-group.entry.js +3 -3
- package/dist/esm/br-cookiebar-note.entry.js +2 -2
- package/dist/esm/br-cookiebar.entry.js +6 -6
- package/dist/esm/br-crumb.entry.js +1 -1
- package/dist/esm/br-date-picker_3.entry.js +14 -14
- package/dist/esm/br-datetime-picker.entry.js +5 -22
- package/dist/esm/br-divider.entry.js +3 -3
- package/dist/esm/br-dropdown.entry.js +675 -0
- package/dist/esm/br-footer-category.entry.js +2 -2
- package/dist/esm/br-footer-item.entry.js +3 -3
- package/dist/esm/br-footer-legal.entry.js +2 -2
- package/dist/esm/br-footer-logo.entry.js +3 -3
- package/dist/esm/br-footer-social.entry.js +4 -4
- package/dist/esm/br-footer.entry.js +3 -3
- package/dist/esm/br-header-function.entry.js +3 -3
- package/dist/esm/br-header-link.entry.js +3 -3
- package/dist/esm/br-header-list.entry.js +4 -4
- package/dist/esm/br-header-logo.entry.js +3 -3
- package/dist/esm/br-header.entry.js +7 -7
- package/dist/esm/br-icon.entry.js +173 -159
- package/dist/esm/br-input_2.entry.js +1424 -0
- package/dist/esm/br-item.entry.js +3 -3
- package/dist/esm/br-link.entry.js +3 -3
- package/dist/esm/br-magic-button.entry.js +12 -13
- package/dist/esm/br-menu-group.entry.js +2 -2
- package/dist/esm/br-menu-header.entry.js +3 -3
- package/dist/esm/br-menu-info.entry.js +2 -2
- package/dist/esm/br-menu-item.entry.js +4 -4
- package/dist/esm/br-menu-link.entry.js +4 -4
- package/dist/esm/br-menu-list.entry.js +2 -2
- package/dist/esm/br-menu-logo.entry.js +2 -2
- package/dist/esm/br-menu-social.entry.js +3 -3
- package/dist/esm/br-menu.entry.js +6 -6
- package/dist/esm/br-modal.entry.js +3 -3
- package/dist/esm/br-notification-body.entry.js +2 -2
- package/dist/esm/br-notification-header.entry.js +2 -2
- package/dist/esm/br-notification-item.entry.js +3 -3
- package/dist/esm/br-notification.entry.js +3 -3
- package/dist/esm/{br-dropdown_2.entry.js → br-pagination_2.entry.js} +813 -558
- package/dist/esm/br-radio-group.entry.js +3 -3
- package/dist/esm/br-radio.entry.js +3 -3
- package/dist/esm/br-scrim.entry.js +3 -3
- package/dist/esm/br-select-input_3.entry.js +17 -94
- package/dist/esm/br-sign-in.entry.js +4 -4
- package/dist/esm/br-skip-link-item.entry.js +1 -1
- package/dist/esm/br-skip-link.entry.js +3 -3
- package/dist/esm/br-skiplink-item.entry.js +3 -3
- package/dist/esm/br-slider.entry.js +4 -4
- package/dist/esm/br-step_2.entry.js +4 -4
- package/dist/esm/br-switch.entry.js +3 -3
- package/dist/esm/br-tab-item.entry.js +4 -4
- package/dist/esm/br-tab.entry.js +8 -8
- package/dist/esm/br-table-action_6.entry.js +1493 -0
- package/dist/esm/br-table-body.entry.js +4 -16
- package/dist/esm/br-table-header.entry.js +4 -16
- package/dist/esm/br-table.entry.js +2591 -408
- package/dist/esm/br-tag.entry.js +5 -5
- package/dist/esm/br-textarea.entry.js +4 -4
- package/dist/esm/br-tooltip.entry.js +6 -30
- package/dist/esm/br-upload.entry.js +5 -5
- package/dist/esm/br-wizard-panel.entry.js +3 -3
- package/dist/esm/br-wizard.entry.js +4 -4
- package/dist/esm/helpers-BNW9pAhl.js +26 -0
- package/dist/esm/{icon.utils-zlORkiHQ.js → icon.utils-CXDYKUBz.js} +1 -1
- package/dist/esm/{index-ConyRdJe.js → index-CwL52661.js} +34 -35
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{props-D07GjR4_.js → props-BbxNgEcJ.js} +1 -1
- package/dist/esm/table.utils-CtVdlcgI.js +706 -0
- package/dist/esm/webcomponents.js +3 -3
- package/dist/hydrate/index.js +5269 -1302
- package/dist/hydrate/index.mjs +5269 -1302
- package/dist/types/components/collapse/collapse.d.ts +2 -2
- package/dist/types/components/footer/footer-social/footer-social.d.ts +2 -3
- package/dist/types/components/icon/icon.d.ts +6 -6
- package/dist/types/components/icon/icon.utils.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +7 -1
- package/dist/types/components/input/input.types.d.ts +18 -0
- package/dist/types/components/magic-button/magic-button.d.ts +7 -8
- package/dist/types/components/menu/menu-social/menu-social.d.ts +2 -3
- package/dist/types/components/select/select-input/select-input.d.ts +1 -4
- package/dist/types/components/select/select-option/select-option.d.ts +3 -1
- package/dist/types/components/slider/slider.d.ts +4 -4
- package/dist/types/components/tab/tab-item/tab-item.d.ts +2 -2
- package/dist/types/components/tab/tab.d.ts +1 -1
- package/dist/types/components/table/table-action/table-action.d.ts +107 -0
- package/dist/types/components/table/table-bar/table-bar.d.ts +193 -0
- package/dist/types/components/table/table-body/table-body.d.ts +11 -16
- package/dist/types/components/table/table-cell/table-cell.d.ts +178 -38
- package/dist/types/components/table/table-footer/table-footer.d.ts +40 -0
- package/dist/types/components/table/table-footer/table-footer.types.d.ts +12 -0
- package/dist/types/components/table/table-header/table-header.d.ts +10 -16
- package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +102 -53
- package/dist/types/components/table/table-row/table-row.d.ts +88 -29
- package/dist/types/components/table/table.actions-tooltip.d.ts +11 -0
- package/dist/types/components/table/{table-constants.d.ts → table.constants.d.ts} +50 -77
- package/dist/types/components/table/table.d.ts +601 -222
- package/dist/types/components/table/table.data.d.ts +78 -0
- package/dist/types/components/table/table.expansion.d.ts +65 -0
- package/dist/types/components/table/table.expansion.elements.d.ts +30 -0
- package/dist/types/components/table/table.grouping.d.ts +25 -0
- package/dist/types/components/table/table.header-height.d.ts +17 -0
- package/dist/types/components/table/table.keyboard.d.ts +53 -0
- package/dist/types/components/table/table.scroll-shadows.d.ts +11 -0
- package/dist/types/components/table/table.selection.d.ts +84 -0
- package/dist/types/components/table/table.selection.elements.d.ts +42 -0
- package/dist/types/components/table/table.tokens.d.ts +24 -0
- package/dist/types/components/table/table.types.d.ts +199 -0
- package/dist/types/components/table/table.utils.d.ts +52 -0
- package/dist/types/components/table/table.virtual-list.d.ts +96 -0
- package/dist/types/components.d.ts +1401 -279
- package/dist/webcomponents/{p-85c8d060.entry.js → p-07e80bf8.entry.js} +1 -1
- package/dist/webcomponents/p-10d81622.entry.js +5 -0
- package/dist/webcomponents/{p-a9f16a65.entry.js → p-12d5f533.entry.js} +1 -1
- package/dist/webcomponents/p-15699e8a.entry.js +5 -0
- package/dist/webcomponents/{p-bbcde1ea.entry.js → p-15e2f5cc.entry.js} +1 -1
- package/dist/webcomponents/{p-5528b466.entry.js → p-16d27d5c.entry.js} +1 -1
- package/dist/webcomponents/p-18d3fab8.entry.js +5 -0
- package/dist/webcomponents/p-23c916d9.entry.js +5 -0
- package/dist/webcomponents/p-2aee69fd.entry.js +5 -0
- package/dist/webcomponents/p-2d3db296.entry.js +5 -0
- package/dist/webcomponents/p-2ed6afdd.entry.js +5 -0
- package/dist/webcomponents/{p-bbf47e78.entry.js → p-30c865e6.entry.js} +1 -1
- package/dist/webcomponents/p-32afb78c.entry.js +5 -0
- package/dist/webcomponents/p-33d24cbd.entry.js +5 -0
- package/dist/webcomponents/p-35d63edd.entry.js +5 -0
- package/dist/webcomponents/p-3b1ff55e.entry.js +5 -0
- package/dist/webcomponents/p-3c7246cf.entry.js +5 -0
- package/dist/webcomponents/{p-11d4edc5.entry.js → p-407e7b69.entry.js} +1 -1
- package/dist/webcomponents/{p-53550e8c.entry.js → p-41b12e3c.entry.js} +1 -1
- package/dist/webcomponents/p-47adc17f.entry.js +5 -0
- package/dist/webcomponents/{p-21e10074.entry.js → p-48fc8e56.entry.js} +1 -1
- package/dist/webcomponents/p-4a44c8b8.entry.js +5 -0
- package/dist/webcomponents/{p-6d58ab4f.entry.js → p-4b0f3701.entry.js} +1 -1
- package/dist/webcomponents/{p-84dfbfdd.entry.js → p-4b66200c.entry.js} +1 -1
- package/dist/webcomponents/{p-324afbce.entry.js → p-4c0a1c05.entry.js} +1 -1
- package/dist/webcomponents/p-4c72d706.entry.js +5 -0
- package/dist/webcomponents/p-505173e0.entry.js +5 -0
- package/dist/webcomponents/p-50caea68.entry.js +5 -0
- package/dist/webcomponents/p-5419fd2c.entry.js +5 -0
- package/dist/webcomponents/{p-ed3fa8ec.entry.js → p-5693e0e7.entry.js} +1 -1
- package/dist/webcomponents/p-58247764.entry.js +5 -0
- package/dist/webcomponents/{p-3926cc91.entry.js → p-5d0f4851.entry.js} +1 -1
- package/dist/webcomponents/{p-39a7826d.entry.js → p-60c949c8.entry.js} +1 -1
- package/dist/webcomponents/p-61b84035.entry.js +5 -0
- package/dist/webcomponents/{p-e121429a.entry.js → p-62a74e0a.entry.js} +1 -1
- package/dist/webcomponents/p-6450913e.entry.js +5 -0
- package/dist/webcomponents/p-66c8b8d9.entry.js +5 -0
- package/dist/webcomponents/{p-c6f2f17b.entry.js → p-67281ef1.entry.js} +1 -1
- package/dist/webcomponents/{p-087ed5e7.entry.js → p-6e128c7a.entry.js} +1 -1
- package/dist/webcomponents/p-725e92ab.entry.js +5 -0
- package/dist/webcomponents/{p-19b4b1b7.entry.js → p-74726f20.entry.js} +1 -1
- package/dist/webcomponents/{p-975ea5c7.entry.js → p-75bd655b.entry.js} +1 -1
- package/dist/webcomponents/p-7bf78e48.entry.js +5 -0
- package/dist/webcomponents/p-7cc28ecf.entry.js +5 -0
- package/dist/webcomponents/{p-913d6f28.entry.js → p-7ec01a99.entry.js} +1 -1
- package/dist/webcomponents/{p-d205f3fd.entry.js → p-7f17dbca.entry.js} +1 -1
- package/dist/webcomponents/{p-152482f9.entry.js → p-8120f3ce.entry.js} +1 -1
- package/dist/webcomponents/p-8ded7870.entry.js +5 -0
- package/dist/webcomponents/p-9ab989d1.entry.js +5 -0
- package/dist/webcomponents/p-9be642ff.entry.js +5 -0
- package/dist/webcomponents/p-9d41995a.entry.js +5 -0
- package/dist/webcomponents/{p-EbtQZm5s.js → p-CjVabz-h.js} +1 -1
- package/dist/webcomponents/{p-ConyRdJe.js → p-CwL52661.js} +2 -2
- package/dist/webcomponents/p-Zk91ebVT.js +5 -0
- package/dist/webcomponents/p-_BMaB_68.js +5 -0
- package/dist/webcomponents/p-a150b61d.entry.js +5 -0
- package/dist/webcomponents/{p-55e0822d.entry.js → p-a264acf6.entry.js} +1 -1
- package/dist/webcomponents/p-a5616523.entry.js +5 -0
- package/dist/webcomponents/{p-eb5806c7.entry.js → p-ae3dfb9c.entry.js} +1 -1
- package/dist/webcomponents/p-b1aeb805.entry.js +5 -0
- package/dist/webcomponents/p-b8eea3ef.entry.js +5 -0
- package/dist/webcomponents/p-c6952f8d.entry.js +5 -0
- package/dist/webcomponents/p-c743e5c5.entry.js +5 -0
- package/dist/webcomponents/p-d0c659c3.entry.js +5 -0
- package/dist/webcomponents/p-d3dec923.entry.js +5 -0
- package/dist/webcomponents/{p-12dd22af.entry.js → p-d5405bbe.entry.js} +1 -1
- package/dist/webcomponents/{p-c29268b5.entry.js → p-d6d3a552.entry.js} +1 -1
- package/dist/webcomponents/p-dab66328.entry.js +5 -0
- package/dist/webcomponents/{p-cb1e08b1.entry.js → p-db02533d.entry.js} +1 -1
- package/dist/webcomponents/p-dda22999.entry.js +5 -0
- package/dist/webcomponents/p-e2a46f44.entry.js +5 -0
- package/dist/webcomponents/{p-e0ccf189.entry.js → p-e3680ff8.entry.js} +1 -1
- package/dist/webcomponents/p-e5b9652d.entry.js +5 -0
- package/dist/webcomponents/p-e7f02302.entry.js +5 -0
- package/dist/webcomponents/p-f0720e23.entry.js +5 -0
- package/dist/webcomponents/p-f244009d.entry.js +5 -0
- package/dist/webcomponents/p-f32c40ee.entry.js +5 -0
- package/dist/webcomponents/{p-e4b968b5.entry.js → p-f697abbd.entry.js} +1 -1
- package/dist/webcomponents/p-f7ed35ef.entry.js +5 -0
- package/dist/webcomponents/p-f8576e0a.entry.js +5 -0
- package/dist/webcomponents/p-fcc62731.entry.js +5 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/br-input.cjs.entry.js +0 -763
- package/dist/cjs/br-loading.cjs.entry.js +0 -567
- package/dist/cjs/br-pagination.cjs.entry.js +0 -916
- package/dist/cjs/br-table-cell.cjs.entry.js +0 -201
- package/dist/cjs/br-table-header-cell.cjs.entry.js +0 -189
- package/dist/cjs/br-table-row.cjs.entry.js +0 -95
- package/dist/cjs/table-constants-BOPSay0B.js +0 -183
- package/dist/collection/components/table/table-tokens.js +0 -50
- package/dist/collection/components/table/table-utils.js +0 -44
- package/dist/components/p-AhfgJCUp.js +0 -5
- package/dist/components/p-AoNL6BaW.js +0 -5
- package/dist/components/p-B468MCYC.js +0 -5
- package/dist/components/p-B985Ov_x.js +0 -5
- package/dist/components/p-BOWQIHQA.js +0 -5
- package/dist/components/p-BPQrgCRr.js +0 -5
- package/dist/components/p-BwQT0fOJ.js +0 -5
- package/dist/components/p-CAgbUwsx.js +0 -5
- package/dist/components/p-CFXey8i8.js +0 -5
- package/dist/components/p-CW8xwk6J.js +0 -5
- package/dist/components/p-CXMwM9m4.js +0 -5
- package/dist/components/p-CYZVdKeO.js +0 -5
- package/dist/components/p-CeWbZN7V.js +0 -5
- package/dist/components/p-DDe0tQEO.js +0 -5
- package/dist/components/p-DRsZ9GNg.js +0 -5
- package/dist/components/p-DU54cqCf.js +0 -5
- package/dist/components/p-DVJlmlEX.js +0 -5
- package/dist/components/p-Dd1qCWAK.js +0 -5
- package/dist/components/p-DiLI514I.js +0 -5
- package/dist/components/p-DoWy_P8b.js +0 -5
- package/dist/components/p-HbhTnepI.js +0 -5
- package/dist/components/p-Or3FLzbz.js +0 -5
- package/dist/components/p-Zb9nyfTY.js +0 -5
- package/dist/components/p-pQb-3jFY.js +0 -5
- package/dist/components/p-qX6sHxOk.js +0 -5
- package/dist/esm/br-input.entry.js +0 -761
- package/dist/esm/br-loading.entry.js +0 -565
- package/dist/esm/br-pagination.entry.js +0 -914
- package/dist/esm/br-table-cell.entry.js +0 -199
- package/dist/esm/br-table-header-cell.entry.js +0 -187
- package/dist/esm/br-table-row.entry.js +0 -93
- package/dist/esm/table-constants-CXMwM9m4.js +0 -170
- package/dist/types/components/table/table-tokens.d.ts +0 -46
- package/dist/types/components/table/table-types.d.ts +0 -107
- package/dist/types/components/table/table-utils.d.ts +0 -47
- package/dist/webcomponents/p-031a2256.entry.js +0 -5
- package/dist/webcomponents/p-0602e5b1.entry.js +0 -5
- package/dist/webcomponents/p-079d5f69.entry.js +0 -5
- package/dist/webcomponents/p-0d5a9ebf.entry.js +0 -5
- package/dist/webcomponents/p-105b4d06.entry.js +0 -5
- package/dist/webcomponents/p-14aedf0d.entry.js +0 -5
- package/dist/webcomponents/p-1cd1126e.entry.js +0 -5
- package/dist/webcomponents/p-2271ea84.entry.js +0 -5
- package/dist/webcomponents/p-271b1ede.entry.js +0 -5
- package/dist/webcomponents/p-28f732fc.entry.js +0 -5
- package/dist/webcomponents/p-2971d38a.entry.js +0 -5
- package/dist/webcomponents/p-2ac48875.entry.js +0 -5
- package/dist/webcomponents/p-2b1a919c.entry.js +0 -5
- package/dist/webcomponents/p-2da57966.entry.js +0 -5
- package/dist/webcomponents/p-2e81b0b3.entry.js +0 -5
- package/dist/webcomponents/p-2eececed.entry.js +0 -5
- package/dist/webcomponents/p-2f904c4a.entry.js +0 -5
- package/dist/webcomponents/p-32414f1c.entry.js +0 -5
- package/dist/webcomponents/p-32ea6342.entry.js +0 -5
- package/dist/webcomponents/p-330ec8ab.entry.js +0 -5
- package/dist/webcomponents/p-374f83b1.entry.js +0 -5
- package/dist/webcomponents/p-3bcc2c58.entry.js +0 -5
- package/dist/webcomponents/p-3c7ce0e4.entry.js +0 -5
- package/dist/webcomponents/p-467842ca.entry.js +0 -5
- package/dist/webcomponents/p-53e71a8a.entry.js +0 -5
- package/dist/webcomponents/p-58bacbe1.entry.js +0 -5
- package/dist/webcomponents/p-5a5ed7d8.entry.js +0 -5
- package/dist/webcomponents/p-621f0fa8.entry.js +0 -5
- package/dist/webcomponents/p-6514a75d.entry.js +0 -5
- package/dist/webcomponents/p-678b43a6.entry.js +0 -5
- package/dist/webcomponents/p-6b6be415.entry.js +0 -5
- package/dist/webcomponents/p-6ff9b26e.entry.js +0 -5
- package/dist/webcomponents/p-992167bc.entry.js +0 -5
- package/dist/webcomponents/p-CXMwM9m4.js +0 -5
- package/dist/webcomponents/p-a21872bf.entry.js +0 -5
- package/dist/webcomponents/p-b8d4ace3.entry.js +0 -5
- package/dist/webcomponents/p-bf35e506.entry.js +0 -5
- package/dist/webcomponents/p-c09af3cd.entry.js +0 -5
- package/dist/webcomponents/p-c3e61c39.entry.js +0 -5
- package/dist/webcomponents/p-c6b2545a.entry.js +0 -5
- package/dist/webcomponents/p-cae39e13.entry.js +0 -5
- package/dist/webcomponents/p-cb690a87.entry.js +0 -5
- package/dist/webcomponents/p-d0be7243.entry.js +0 -5
- package/dist/webcomponents/p-d191c6e3.entry.js +0 -5
- package/dist/webcomponents/p-d3bd2c40.entry.js +0 -5
- package/dist/webcomponents/p-dbeea64e.entry.js +0 -5
- package/dist/webcomponents/p-df475129.entry.js +0 -5
- package/dist/webcomponents/p-e661c024.entry.js +0 -5
- package/dist/webcomponents/p-e6c6f305.entry.js +0 -5
- package/dist/webcomponents/p-e8291be2.entry.js +0 -5
- package/dist/webcomponents/p-f9084f16.entry.js +0 -5
- package/dist/webcomponents/p-fad3aa61.entry.js +0 -5
- /package/dist/collection/components/table/{table-types.js → table-footer/table-footer.types.js} +0 -0
- /package/dist/webcomponents/{p-zlORkiHQ.js → p-CXDYKUBz.js} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { TableData, TableSortState } from './table.types';
|
|
2
|
+
import type { TableVirtualRange } from './table.virtual-list';
|
|
3
|
+
export type TableVirtualColumn = {
|
|
4
|
+
element: HTMLBrTableHeaderCellElement;
|
|
5
|
+
};
|
|
6
|
+
export type TableVirtualCell = {
|
|
7
|
+
element: HTMLBrTableCellElement;
|
|
8
|
+
};
|
|
9
|
+
export type TableVirtualRow = {
|
|
10
|
+
element: HTMLBrTableRowElement;
|
|
11
|
+
cells: TableVirtualCell[];
|
|
12
|
+
originalIndex: number;
|
|
13
|
+
};
|
|
14
|
+
export type TableVirtualAction = {
|
|
15
|
+
element: HTMLBrTableActionElement;
|
|
16
|
+
};
|
|
17
|
+
export type TableVirtualData = {
|
|
18
|
+
headerRows: HTMLBrTableRowElement[];
|
|
19
|
+
columns: TableVirtualColumn[];
|
|
20
|
+
rows: TableVirtualRow[];
|
|
21
|
+
globalActions: TableVirtualAction[];
|
|
22
|
+
contextualActions: TableVirtualAction[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Gerencia o modelo lógico e a materialização virtual da tabela.
|
|
26
|
+
*
|
|
27
|
+
* Responsabilidades principais:
|
|
28
|
+
* - Capturar marcação já presente no host (`capture`).
|
|
29
|
+
* - Substituir o conjunto lógico por dados programáticos (`replace`).
|
|
30
|
+
* - Materializar a janela virtual, preservando linhas já montadas (`mount`, `renderRange`).
|
|
31
|
+
*
|
|
32
|
+
* Observação sobre materialização de conteúdo:
|
|
33
|
+
* - Quando `TableDataContent` contém nós (`Node`), esses nós são
|
|
34
|
+
* transferidos para as células usando `appendChild()` (re-anexação no DOM).
|
|
35
|
+
* Não há clonagem automática; consumidores que precisam preservar o
|
|
36
|
+
* nó original devem clonar antes de passá-lo à tabela.
|
|
37
|
+
*/
|
|
38
|
+
export declare class TableDataStore {
|
|
39
|
+
private data;
|
|
40
|
+
private body;
|
|
41
|
+
private rowElements;
|
|
42
|
+
private rowView?;
|
|
43
|
+
private renderedRows;
|
|
44
|
+
private itemGroups?;
|
|
45
|
+
private pageBoundaries?;
|
|
46
|
+
/** Invalida apenas as unidades derivadas quando uma chave de grupo muda. */
|
|
47
|
+
invalidateGroups(): void;
|
|
48
|
+
private getItemGroups;
|
|
49
|
+
capture(host: HTMLBrTableElement): void;
|
|
50
|
+
replace(data: TableData): void;
|
|
51
|
+
mount(host: HTMLBrTableElement): void;
|
|
52
|
+
/**
|
|
53
|
+
* Reordena o dataset lógico completo antes da materialização virtual.
|
|
54
|
+
* Critérios com menor `columnIndex` possuem maior prioridade no multi-sort.
|
|
55
|
+
*/
|
|
56
|
+
sortRows(sorting: TableSortState[]): void;
|
|
57
|
+
/** Retorna as colunas lógicas, sem as colunas geradas de seleção/expansão. */
|
|
58
|
+
getColumns(): HTMLBrTableHeaderCellElement[];
|
|
59
|
+
private getSortValue;
|
|
60
|
+
private generatedColumnCount;
|
|
61
|
+
/** Itens lógicos de paginação: grupos contíguos ou linhas independentes. */
|
|
62
|
+
getItemCount(): number;
|
|
63
|
+
/** Limites físicos da página, sem dividir grupos. */
|
|
64
|
+
getPageRange(startItem: number, itemCount: number): {
|
|
65
|
+
start: number;
|
|
66
|
+
end: number;
|
|
67
|
+
};
|
|
68
|
+
private compareSortValues;
|
|
69
|
+
renderRange(range: TableVirtualRange, rows?: TableVirtualRow[], indexOffset?: number): void;
|
|
70
|
+
getRows(): HTMLBrTableRowElement[];
|
|
71
|
+
/** Visão interna somente leitura, estável até a ordem, os dados ou o recorte mudarem. */
|
|
72
|
+
getRowsView(start?: number, end?: number): readonly HTMLBrTableRowElement[];
|
|
73
|
+
private refreshRowElements;
|
|
74
|
+
getRow(index: number): HTMLBrTableRowElement | undefined;
|
|
75
|
+
getRowCount(): number;
|
|
76
|
+
getRenderedRows(): HTMLBrTableRowElement[];
|
|
77
|
+
private createSpacer;
|
|
78
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { TableRowExpansionChangeDetail, TableRowExpansionChangeSource } from './table.types';
|
|
2
|
+
/**
|
|
3
|
+
* Dependências necessárias ao controller de expansão.
|
|
4
|
+
*/
|
|
5
|
+
export type TableExpansionControllerOptions = {
|
|
6
|
+
host: HTMLBrTableElement;
|
|
7
|
+
getRows?: () => HTMLBrTableRowElement[];
|
|
8
|
+
onChange: (detail: TableRowExpansionChangeDetail) => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Coordena a coluna, as ações e o estado de expansão das linhas.
|
|
12
|
+
*
|
|
13
|
+
* @remarks A coluna permanece estruturalmente alinhada mesmo em linhas desabilitadas.
|
|
14
|
+
*/
|
|
15
|
+
export declare class TableExpansionController {
|
|
16
|
+
private readonly options;
|
|
17
|
+
constructor(options: TableExpansionControllerOptions);
|
|
18
|
+
/**
|
|
19
|
+
* Sincroniza a estrutura segundo a configuração global e os overrides das linhas.
|
|
20
|
+
*
|
|
21
|
+
* @param tableEnabled Indica se a expansão está habilitada na tabela.
|
|
22
|
+
*/
|
|
23
|
+
sync(tableEnabled: boolean): void;
|
|
24
|
+
/**
|
|
25
|
+
* Consome cliques originados pelas ações internas de expansão.
|
|
26
|
+
*
|
|
27
|
+
* @param event Evento emitido por `br-table-action`.
|
|
28
|
+
* @returns `true` quando o evento foi tratado como expansão.
|
|
29
|
+
*/
|
|
30
|
+
handleActionClick(event: CustomEvent): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Define o estado de expansão de uma linha elegível.
|
|
33
|
+
*
|
|
34
|
+
* @param row Linha que receberá a mudança.
|
|
35
|
+
* @param expanded Novo estado de expansão.
|
|
36
|
+
* @param source Origem utilizada no evento público.
|
|
37
|
+
*/
|
|
38
|
+
setExpanded(row: HTMLBrTableRowElement, expanded: boolean, source?: TableRowExpansionChangeSource): void;
|
|
39
|
+
/**
|
|
40
|
+
* Recolhe todas as linhas atualmente expandidas.
|
|
41
|
+
*/
|
|
42
|
+
collapseAll(): void;
|
|
43
|
+
private getBodyRows;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve o override declarado diretamente na linha.
|
|
46
|
+
*/
|
|
47
|
+
private getRowOverride;
|
|
48
|
+
private isRowEnabled;
|
|
49
|
+
/**
|
|
50
|
+
* Garante que a coluna de expansão permaneça na primeira posição.
|
|
51
|
+
*/
|
|
52
|
+
private ensureHeaderCell;
|
|
53
|
+
/**
|
|
54
|
+
* Sincroniza ação, célula estrutural e atributos de uma linha.
|
|
55
|
+
*/
|
|
56
|
+
private syncRow;
|
|
57
|
+
/**
|
|
58
|
+
* Atualiza ícone e rótulos da ação pertencente à linha.
|
|
59
|
+
*/
|
|
60
|
+
private syncRowAction;
|
|
61
|
+
/**
|
|
62
|
+
* Remove somente os elementos e atributos gerados pela expansão.
|
|
63
|
+
*/
|
|
64
|
+
private removeColumn;
|
|
65
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CreateExpansionActionOptions } from './table.types';
|
|
2
|
+
/**
|
|
3
|
+
* Sincroniza ícone, rótulos e estado acessível da ação de expansão.
|
|
4
|
+
*
|
|
5
|
+
* @param action Componente de ação que será atualizado.
|
|
6
|
+
* @param expanded Estado atual da linha.
|
|
7
|
+
* @param rowIndex Índice da linha no corpo, começando em zero.
|
|
8
|
+
*/
|
|
9
|
+
export declare function syncExpansionAction(action: HTMLBrTableActionElement, expanded: boolean, rowIndex: number): void;
|
|
10
|
+
/**
|
|
11
|
+
* Cria uma ação de expansão reutilizando `br-table-action`.
|
|
12
|
+
*
|
|
13
|
+
* @param options Estado inicial e índice da linha.
|
|
14
|
+
* @returns Ação identificada para consumo interno do controller.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createExpansionAction({ expanded, rowIndex }: CreateExpansionActionOptions): HTMLBrTableActionElement;
|
|
17
|
+
/**
|
|
18
|
+
* Cria a célula estrutural da coluna de expansão.
|
|
19
|
+
*
|
|
20
|
+
* @param action Ação opcional; linhas desabilitadas utilizam célula vazia.
|
|
21
|
+
* @returns Célula marcada como gerada pelo controller de expansão.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createExpansionCell(action?: HTMLBrTableActionElement): HTMLBrTableCellElement;
|
|
24
|
+
/**
|
|
25
|
+
* Cria o cabeçalho vazio que define a coluna de expansão no grid.
|
|
26
|
+
*
|
|
27
|
+
* @param slotName Slot utilizado pelos demais cabeçalhos.
|
|
28
|
+
* @returns Cabeçalho com largura e alinhamentos apropriados ao chevron.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createExpansionHeaderCell(slotName?: string): HTMLBrTableHeaderCellElement;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Geometria e limites compartilhados pelo modelo e pela janela virtual da tabela. */
|
|
2
|
+
export type TableCellPlacement = {
|
|
3
|
+
cell: HTMLElement;
|
|
4
|
+
row: number;
|
|
5
|
+
column: number;
|
|
6
|
+
rowSpan: number;
|
|
7
|
+
colSpan: number;
|
|
8
|
+
};
|
|
9
|
+
/** Entradas inválidas seguem o comportamento de uma célula simples. */
|
|
10
|
+
export declare function resolveTableSpan(value: string | null): number;
|
|
11
|
+
/** Posiciona células omitidas por mesclas, sem depender da posição no array da linha. */
|
|
12
|
+
export declare function getTablePlacements(rows: readonly HTMLElement[], selector: string): TableCellPlacement[];
|
|
13
|
+
/** Colunas finais, incluindo folhas que atravessam níveis do cabeçalho. */
|
|
14
|
+
export declare function getTableLeafHeaders(rows: readonly HTMLElement[]): HTMLBrTableHeaderCellElement[];
|
|
15
|
+
/** Um grupo é uma sequência contígua com a mesma chave; linhas sem chave são unidades independentes. */
|
|
16
|
+
export declare function getTableRowGroups<T extends HTMLElement>(rows: readonly T[]): T[][];
|
|
17
|
+
/** Amplia uma faixa sem separar células mescladas ou linhas de um mesmo grupo. */
|
|
18
|
+
export declare function expandTableGroupRange(rows: readonly HTMLElement[], start: number, end: number): {
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
};
|
|
22
|
+
/** Escreve apenas tokens internos e ARIA; não modifica props públicas do consumidor. */
|
|
23
|
+
export declare function applyTablePlacements(placements: TableCellPlacement[]): void;
|
|
24
|
+
/** Configura a grade multinível e estende as colunas geradas até o último nível. */
|
|
25
|
+
export declare function applyTableHeaderLayout(header: HTMLElement | null): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Protocolo interno de medição: a célula mantém a propriedade de sua superfície. */
|
|
2
|
+
export type TableHeaderHeight = {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
height: number;
|
|
5
|
+
refresh: () => void;
|
|
6
|
+
};
|
|
7
|
+
/** Publica a altura border-box fora do ciclo de scroll. */
|
|
8
|
+
export declare class TableHeaderHeightObserver {
|
|
9
|
+
private readonly host;
|
|
10
|
+
private readonly surface;
|
|
11
|
+
private observer?;
|
|
12
|
+
constructor(host: HTMLElement, surface: HTMLElement);
|
|
13
|
+
connect(): void;
|
|
14
|
+
disconnect(): void;
|
|
15
|
+
private refresh;
|
|
16
|
+
private publish;
|
|
17
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Protocolo interno: cada célula administra sua própria superfície e controles. */
|
|
2
|
+
export type TableCellFocus = {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
surface: HTMLElement;
|
|
5
|
+
controls: () => HTMLElement[];
|
|
6
|
+
update: (active: boolean, hasGridControls: boolean) => void;
|
|
7
|
+
};
|
|
8
|
+
/** Coordena apenas o DOM pertencente à célula, sem acessar internals de controles. */
|
|
9
|
+
export declare class TableCellKeyboard {
|
|
10
|
+
private readonly host;
|
|
11
|
+
private readonly surface;
|
|
12
|
+
private originalTabIndexes;
|
|
13
|
+
private observer?;
|
|
14
|
+
private active;
|
|
15
|
+
private hasGridControls;
|
|
16
|
+
constructor(host: HTMLElement, surface: HTMLElement);
|
|
17
|
+
connect(): void;
|
|
18
|
+
disconnect(): void;
|
|
19
|
+
private candidates;
|
|
20
|
+
private controls;
|
|
21
|
+
private sync;
|
|
22
|
+
private restoreTabIndex;
|
|
23
|
+
private notifyFocusRegistration;
|
|
24
|
+
}
|
|
25
|
+
/** Gerencia a célula ativa e os dois modos de teclado de uma instância da grade. */
|
|
26
|
+
export declare class TableKeyboardController {
|
|
27
|
+
private readonly host;
|
|
28
|
+
private readonly getRows;
|
|
29
|
+
private readonly reveal;
|
|
30
|
+
private readonly pageSize;
|
|
31
|
+
private cells;
|
|
32
|
+
private active?;
|
|
33
|
+
private interacting;
|
|
34
|
+
private hasFocused;
|
|
35
|
+
private pendingFocus?;
|
|
36
|
+
private focusFrame?;
|
|
37
|
+
private transitionTabIndex?;
|
|
38
|
+
private scrollerTabIndexSet?;
|
|
39
|
+
constructor(host: HTMLElement, getRows: () => HTMLElement[][], reveal: (cell: HTMLElement) => void, pageSize: () => number);
|
|
40
|
+
register(cell: TableCellFocus): void;
|
|
41
|
+
sync(): void;
|
|
42
|
+
disconnect(): void;
|
|
43
|
+
focusIn(event: FocusEvent): void;
|
|
44
|
+
focusOut(event: FocusEvent): void;
|
|
45
|
+
keyDown(event: KeyboardEvent): void;
|
|
46
|
+
private handleInteraction;
|
|
47
|
+
private navigate;
|
|
48
|
+
private skipMergedCell;
|
|
49
|
+
private abandonPendingFocus;
|
|
50
|
+
private releaseTransitionFocus;
|
|
51
|
+
private focusPendingCell;
|
|
52
|
+
private cellFromEvent;
|
|
53
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Mantém os indicadores de conteúdo oculto sincronizados com a área rolável. */
|
|
2
|
+
export declare class TableScrollShadows {
|
|
3
|
+
private viewport;
|
|
4
|
+
private shell;
|
|
5
|
+
private observer?;
|
|
6
|
+
constructor(viewport: HTMLElement, content: HTMLElement, shell: HTMLElement);
|
|
7
|
+
/** Recalcula as bordas, tolerando arredondamento de pixels nas extremidades. */
|
|
8
|
+
update: () => void;
|
|
9
|
+
/** Remove listeners e observadores ao desmontar a superfície. */
|
|
10
|
+
disconnect(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { TableSelectionChangeDetail, TableSelectionChangeSource } from './table.types';
|
|
2
|
+
/**
|
|
3
|
+
* Dependências necessárias ao controller de seleção.
|
|
4
|
+
*/
|
|
5
|
+
export type TableSelectionControllerOptions = {
|
|
6
|
+
host: HTMLBrTableElement;
|
|
7
|
+
idPrefix: string;
|
|
8
|
+
onChange: (detail: TableSelectionChangeDetail) => void;
|
|
9
|
+
getRows?: () => HTMLBrTableRowElement[];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Coordena a estrutura e o estado da seleção sem acoplar regras ao componente raiz.
|
|
13
|
+
*
|
|
14
|
+
* @remarks O controller mantém checkbox, atributos da linha, ARIA e cabeçalho sincronizados.
|
|
15
|
+
*/
|
|
16
|
+
export declare class TableSelectionController {
|
|
17
|
+
private readonly options;
|
|
18
|
+
private isSynchronizing;
|
|
19
|
+
private checkboxDisabledStates;
|
|
20
|
+
constructor(options: TableSelectionControllerOptions);
|
|
21
|
+
/**
|
|
22
|
+
* Sincroniza a coluna de seleção com a configuração atual da tabela.
|
|
23
|
+
*
|
|
24
|
+
* @param enabled Indica se a seleção está habilitada globalmente.
|
|
25
|
+
*/
|
|
26
|
+
sync(enabled: boolean): void;
|
|
27
|
+
/**
|
|
28
|
+
* Processa eventos emitidos exclusivamente pelos checkboxes gerados.
|
|
29
|
+
*
|
|
30
|
+
* @param event Evento `checkedChange` recebido pela tabela.
|
|
31
|
+
* @returns `true` quando o evento pertencia ao subsistema de seleção.
|
|
32
|
+
*/
|
|
33
|
+
handleCheckboxChange(event: CustomEvent<boolean>): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Retorna o estado de seleção derivado das linhas do corpo.
|
|
36
|
+
*
|
|
37
|
+
* @returns Linhas que possuem `selected` ou `data-selected`.
|
|
38
|
+
*/
|
|
39
|
+
getSelectedRows(): HTMLBrTableRowElement[];
|
|
40
|
+
/**
|
|
41
|
+
* Aplica o mesmo estado a todas as linhas selecionáveis.
|
|
42
|
+
*
|
|
43
|
+
* @param selected Novo estado das linhas.
|
|
44
|
+
* @param source Origem utilizada no evento de mudança.
|
|
45
|
+
*/
|
|
46
|
+
selectAll(selected: boolean, source?: TableSelectionChangeSource): void;
|
|
47
|
+
/**
|
|
48
|
+
* Limpa todas as linhas selecionáveis.
|
|
49
|
+
*
|
|
50
|
+
* @param source Origem utilizada no evento de mudança.
|
|
51
|
+
*/
|
|
52
|
+
clear(source?: TableSelectionChangeSource): void;
|
|
53
|
+
private getCheckboxFromEvent;
|
|
54
|
+
private getBodyRows;
|
|
55
|
+
private getRowCheckbox;
|
|
56
|
+
private getSelectableEntries;
|
|
57
|
+
private getHeaderCheckbox;
|
|
58
|
+
/**
|
|
59
|
+
* Atualiza o estado visual e acessível de uma linha.
|
|
60
|
+
*/
|
|
61
|
+
private applyRowState;
|
|
62
|
+
private syncRowsFromState;
|
|
63
|
+
private syncCheckboxDisabledState;
|
|
64
|
+
/**
|
|
65
|
+
* Sincroniza o checkbox global, incluindo o estado indeterminado.
|
|
66
|
+
*/
|
|
67
|
+
private syncHeaderCheckbox;
|
|
68
|
+
/**
|
|
69
|
+
* Garante a existência do cabeçalho da coluna de seleção.
|
|
70
|
+
*/
|
|
71
|
+
private ensureHeaderCell;
|
|
72
|
+
/**
|
|
73
|
+
* Garante uma célula de seleção para cada linha do corpo.
|
|
74
|
+
*/
|
|
75
|
+
private ensureRowCells;
|
|
76
|
+
/**
|
|
77
|
+
* Remove somente os elementos e atributos gerados pela seleção.
|
|
78
|
+
*/
|
|
79
|
+
private remove;
|
|
80
|
+
/**
|
|
81
|
+
* Publica um retrato consistente da seleção após uma mudança.
|
|
82
|
+
*/
|
|
83
|
+
private notifyChange;
|
|
84
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Categoria funcional de um checkbox de seleção.
|
|
3
|
+
*
|
|
4
|
+
* @remarks `all` controla o conjunto e `row` controla uma única linha.
|
|
5
|
+
*/
|
|
6
|
+
export type TableSelectionCheckboxKind = 'all' | 'row';
|
|
7
|
+
/**
|
|
8
|
+
* Opções necessárias para criar um checkbox acessível de seleção.
|
|
9
|
+
*/
|
|
10
|
+
export type CreateSelectionCheckboxOptions = {
|
|
11
|
+
kind: TableSelectionCheckboxKind;
|
|
12
|
+
label: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Opções necessárias para criar o cabeçalho da coluna de seleção.
|
|
17
|
+
*/
|
|
18
|
+
export type CreateSelectionHeaderCellOptions = {
|
|
19
|
+
checkbox: HTMLBrCheckboxElement;
|
|
20
|
+
slotName?: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Cria uma instância configurada do componente `br-checkbox`.
|
|
24
|
+
*
|
|
25
|
+
* @param options Categoria, rótulo acessível e nome do controle.
|
|
26
|
+
* @returns Checkbox pronto para ser anexado a uma célula.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createSelectionCheckbox({ kind, label, name }: CreateSelectionCheckboxOptions): HTMLBrCheckboxElement;
|
|
29
|
+
/**
|
|
30
|
+
* Cria a célula estrutural de seleção de uma linha.
|
|
31
|
+
*
|
|
32
|
+
* @param checkbox Controle associado à linha.
|
|
33
|
+
* @returns Célula marcada como gerada pelo controller de seleção.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createSelectionCell(checkbox: HTMLBrCheckboxElement): HTMLBrTableCellElement;
|
|
36
|
+
/**
|
|
37
|
+
* Cria o cabeçalho que define largura e alinhamentos da coluna de seleção.
|
|
38
|
+
*
|
|
39
|
+
* @param options Checkbox global e slot opcional do cabeçalho.
|
|
40
|
+
* @returns Cabeçalho configurado para participar do grid da tabela.
|
|
41
|
+
*/
|
|
42
|
+
export declare function createSelectionHeaderCell({ checkbox, slotName, }: CreateSelectionHeaderCellOptions): HTMLBrTableHeaderCellElement;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom properties utilizadas para comunicar valores calculados aos componentes.
|
|
3
|
+
*
|
|
4
|
+
* @module table-tokens
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Nomes canônicos dos tokens CSS internos da tabela.
|
|
8
|
+
*
|
|
9
|
+
* @remarks Centralizar os nomes evita divergências entre TypeScript e SCSS.
|
|
10
|
+
*/
|
|
11
|
+
export declare const TABLE_TOKENS: {
|
|
12
|
+
readonly COLUMN_WIDTHS: "--br-table-column-widths";
|
|
13
|
+
readonly DENSITY: "--br-table-density";
|
|
14
|
+
readonly BAR_PADDING: "--br-table-bar-padding";
|
|
15
|
+
readonly HORIZONTAL_ALIGNMENT: "--br-table-horizontal-alignment";
|
|
16
|
+
readonly VERTICAL_ALIGNMENT: "--br-table-vertical-alignment";
|
|
17
|
+
readonly DIVIDER_STYLE: "--br-table-divider-style";
|
|
18
|
+
readonly COLUMN_DIVIDER_FACTOR: "--br-table-column-divider-factor";
|
|
19
|
+
readonly ROW_DIVIDER_FACTOR: "--br-table-row-divider-factor";
|
|
20
|
+
readonly CELL_OVERFLOW: "--br-table-cell-overflow";
|
|
21
|
+
readonly CELL_TEXT_OVERFLOW: "--br-table-cell-text-overflow";
|
|
22
|
+
readonly CELL_WHITE_SPACE: "--br-table-cell-white-space";
|
|
23
|
+
readonly EXPANDED_CONTENT_HEIGHT: "--br-table-expanded-content-height";
|
|
24
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos públicos compartilhados pelos componentes da tabela.
|
|
3
|
+
*
|
|
4
|
+
* @module table-types
|
|
5
|
+
*/
|
|
6
|
+
import type { COLUMN_WIDTH_SEMANTICS, TABLE_ALIGNMENT, TABLE_CELL_OVERFLOW, TABLE_CELL_TEXT_OVERFLOW, TABLE_CELL_WHITE_SPACE, TABLE_DENSITY, TABLE_DIVIDER_STYLE, TABLE_OVERFLOW, TABLE_ROW_EXPANSION, TABLE_SORT_DIRECTION, TABLE_SORT_MODE, TABLE_SORT_STRATEGY, TABLE_TOOLTIP_MODE, TABLE_TOOLTIP_STATE } from './table.constants';
|
|
7
|
+
type ValueOf<T> = T[keyof T];
|
|
8
|
+
type CSSFixed = `${number}px`;
|
|
9
|
+
type CSSFraction = `${number}fr`;
|
|
10
|
+
/**
|
|
11
|
+
* Largura semântica, fixa ou fracionária aceita por uma coluna.
|
|
12
|
+
*/
|
|
13
|
+
export type ColumnWidth = ValueOf<typeof COLUMN_WIDTH_SEMANTICS> | CSSFixed | CSSFraction;
|
|
14
|
+
/**
|
|
15
|
+
* Densidade visual suportada pela tabela.
|
|
16
|
+
*/
|
|
17
|
+
export type TableDensity = ValueOf<typeof TABLE_DENSITY>;
|
|
18
|
+
/**
|
|
19
|
+
* Alinhamento semântico horizontal ou vertical.
|
|
20
|
+
*/
|
|
21
|
+
export type TableAlignment = ValueOf<typeof TABLE_ALIGNMENT>;
|
|
22
|
+
export type TableDividerStyle = ValueOf<typeof TABLE_DIVIDER_STYLE>;
|
|
23
|
+
export type TableCellOverflow = ValueOf<typeof TABLE_CELL_OVERFLOW>;
|
|
24
|
+
export type TableCellTextOverflow = ValueOf<typeof TABLE_CELL_TEXT_OVERFLOW>;
|
|
25
|
+
export type TableCellWhiteSpace = ValueOf<typeof TABLE_CELL_WHITE_SPACE>;
|
|
26
|
+
/**
|
|
27
|
+
* Estratégia de tratamento do conteúdo excedente.
|
|
28
|
+
*/
|
|
29
|
+
export type TableOverflow = ValueOf<typeof TABLE_OVERFLOW>;
|
|
30
|
+
export type TableTooltipState = ValueOf<typeof TABLE_TOOLTIP_STATE>;
|
|
31
|
+
export type TableTooltipMode = ValueOf<typeof TABLE_TOOLTIP_MODE>;
|
|
32
|
+
/** Modo de ordenação utilizado pela tabela. */
|
|
33
|
+
export type TableSortMode = ValueOf<typeof TABLE_SORT_MODE>;
|
|
34
|
+
/** Estratégia de aplicação da ordenação. */
|
|
35
|
+
export type TableSortStrategy = ValueOf<typeof TABLE_SORT_STRATEGY>;
|
|
36
|
+
/** Direção aplicada a uma coluna ordenada. */
|
|
37
|
+
export type TableSortDirection = ValueOf<typeof TABLE_SORT_DIRECTION>;
|
|
38
|
+
/** Critério de ordenação ativo. */
|
|
39
|
+
export type TableSortState = {
|
|
40
|
+
columnIndex: number;
|
|
41
|
+
direction: TableSortDirection;
|
|
42
|
+
};
|
|
43
|
+
/** Detalhes publicados após uma mudança de ordenação. */
|
|
44
|
+
export type TableSortChangeDetail = {
|
|
45
|
+
mode: TableSortMode;
|
|
46
|
+
sorting: TableSortState[];
|
|
47
|
+
rows: HTMLBrTableRowElement[];
|
|
48
|
+
};
|
|
49
|
+
/** Detalhes publicados antes de aplicar uma solicitação de ordenação. */
|
|
50
|
+
export type TableSortRequestDetail = {
|
|
51
|
+
mode: TableSortMode;
|
|
52
|
+
columnIndex: number;
|
|
53
|
+
currentSorting: TableSortState[];
|
|
54
|
+
nextSorting: TableSortState[];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Origem de uma mudança no conjunto de linhas selecionadas.
|
|
58
|
+
*/
|
|
59
|
+
export type TableSelectionChangeSource = 'row' | 'all' | 'programmatic';
|
|
60
|
+
/**
|
|
61
|
+
* Detalhes publicados após uma mudança de seleção.
|
|
62
|
+
*
|
|
63
|
+
* @property selectedRows Linhas atualmente selecionadas.
|
|
64
|
+
* @property selectedIndexes Índices das linhas selecionadas no corpo.
|
|
65
|
+
* @property selectedCount Quantidade total selecionada.
|
|
66
|
+
* @property rowIndex Índice da linha que originou a mudança quando `source='row'`.
|
|
67
|
+
* @property source Origem da mudança.
|
|
68
|
+
*/
|
|
69
|
+
export type TableSelectionChangeDetail = {
|
|
70
|
+
selectedRows: HTMLBrTableRowElement[];
|
|
71
|
+
selectedIndexes: number[];
|
|
72
|
+
selectedCount: number;
|
|
73
|
+
rowIndex?: number;
|
|
74
|
+
source: TableSelectionChangeSource;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Detalhes publicados quando uma ação é acionada.
|
|
78
|
+
*
|
|
79
|
+
* @property type Contexto no qual a ação foi declarada.
|
|
80
|
+
* @property label Rótulo que identifica a ação para o consumidor.
|
|
81
|
+
* @property rowIndex Índice da linha no corpo quando a ação pertence a uma linha.
|
|
82
|
+
*/
|
|
83
|
+
export type TableActionClickDetail = {
|
|
84
|
+
type: 'global' | 'contextual' | 'row';
|
|
85
|
+
label: string;
|
|
86
|
+
rowIndex?: number;
|
|
87
|
+
};
|
|
88
|
+
/** Termo enviado por Enter, pelo botão de busca ou vazio ao fechar a busca. */
|
|
89
|
+
export type TableSearchDetail = {
|
|
90
|
+
term: string;
|
|
91
|
+
};
|
|
92
|
+
/** Detalhes publicados quando o consumidor solicita outra página pela paginação do rodapé. */
|
|
93
|
+
export type TablePageChangeDetail = {
|
|
94
|
+
page: number;
|
|
95
|
+
};
|
|
96
|
+
/** Detalhes publicados quando o consumidor solicita outra quantidade de itens por página. */
|
|
97
|
+
export type TablePageSizeChangeDetail = {
|
|
98
|
+
pageSize: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Configuração de expansão específica de uma linha.
|
|
102
|
+
*/
|
|
103
|
+
export type TableRowExpansion = ValueOf<typeof TABLE_ROW_EXPANSION>;
|
|
104
|
+
/**
|
|
105
|
+
* Origem de uma mudança no estado de expansão.
|
|
106
|
+
*/
|
|
107
|
+
export type TableRowExpansionChangeSource = 'action' | 'programmatic';
|
|
108
|
+
/**
|
|
109
|
+
* Detalhes publicados após expandir ou recolher uma linha.
|
|
110
|
+
*
|
|
111
|
+
* @property row Linha afetada pela mudança.
|
|
112
|
+
* @property rowIndex Índice da linha no corpo.
|
|
113
|
+
* @property expanded Novo estado de expansão.
|
|
114
|
+
* @property source Origem da mudança.
|
|
115
|
+
*/
|
|
116
|
+
export type TableRowExpansionChangeDetail = {
|
|
117
|
+
row: HTMLBrTableRowElement;
|
|
118
|
+
rowIndex: number;
|
|
119
|
+
expanded: boolean;
|
|
120
|
+
source: TableRowExpansionChangeSource;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Opções necessárias para criar a ação de expansão de uma linha.
|
|
124
|
+
*/
|
|
125
|
+
export type CreateExpansionActionOptions = {
|
|
126
|
+
expanded: boolean;
|
|
127
|
+
rowIndex: number;
|
|
128
|
+
};
|
|
129
|
+
/** Conteúdo aceito pela API de dados da tabela. */
|
|
130
|
+
export type TableDataContent = string | number | Node | Array<string | number | Node> | null;
|
|
131
|
+
/** Ação declarada pela API de dados. */
|
|
132
|
+
export type TableActionData = {
|
|
133
|
+
label: string;
|
|
134
|
+
iconName?: string;
|
|
135
|
+
ariaLabel?: string;
|
|
136
|
+
};
|
|
137
|
+
/** Célula declarada pela API de dados. */
|
|
138
|
+
export type TableCellData = {
|
|
139
|
+
/** Identifica a célula como cabeçalho de linha/grupo. */
|
|
140
|
+
rowHeader?: boolean;
|
|
141
|
+
/** Colunas ocupadas (1–1000); inválido usa 1. */
|
|
142
|
+
colSpan?: number;
|
|
143
|
+
/** Linhas ocupadas dentro do grupo contíguo; inválido usa 1. */
|
|
144
|
+
rowSpan?: number;
|
|
145
|
+
content?: TableDataContent;
|
|
146
|
+
actions?: TableActionData[];
|
|
147
|
+
horizontalAlignment?: TableAlignment;
|
|
148
|
+
verticalAlignment?: TableAlignment;
|
|
149
|
+
overflow?: TableOverflow;
|
|
150
|
+
tooltipState?: TableTooltipState;
|
|
151
|
+
tooltipMode?: TableTooltipMode;
|
|
152
|
+
cellActionsLimit?: number;
|
|
153
|
+
/** Valor opcional usado pela ordenação no lugar do texto renderizado. */
|
|
154
|
+
sortValue?: string | number;
|
|
155
|
+
};
|
|
156
|
+
/** Coluna declarada pela API de dados. */
|
|
157
|
+
export type TableColumnData = {
|
|
158
|
+
/** Colunas agrupadas (1–1000). Cabeçalhos com mais de uma coluna não ordenam. */
|
|
159
|
+
colSpan?: number;
|
|
160
|
+
/** Níveis ocupados no cabeçalho. */
|
|
161
|
+
rowSpan?: number;
|
|
162
|
+
content?: TableDataContent;
|
|
163
|
+
columnWidth?: ColumnWidth;
|
|
164
|
+
horizontalAlignment?: TableAlignment;
|
|
165
|
+
verticalAlignment?: TableAlignment;
|
|
166
|
+
overflow?: TableOverflow;
|
|
167
|
+
tooltipState?: TableTooltipState;
|
|
168
|
+
tooltipMode?: TableTooltipMode;
|
|
169
|
+
/** Habilita o trigger de ordenação desta coluna. */
|
|
170
|
+
sortable?: boolean;
|
|
171
|
+
};
|
|
172
|
+
/** Linha declarada pela API de dados. */
|
|
173
|
+
export type TableRowData = {
|
|
174
|
+
/** Chave do grupo contíguo; omitida mantém a linha independente. */
|
|
175
|
+
rowGroup?: string;
|
|
176
|
+
cells: TableCellData[];
|
|
177
|
+
selected?: boolean;
|
|
178
|
+
disabled?: boolean;
|
|
179
|
+
expanded?: boolean;
|
|
180
|
+
rowExpansion?: TableRowExpansion;
|
|
181
|
+
/** Altura visível da área expandida desta linha, em pixels. */
|
|
182
|
+
virtualExpandedContentHeight?: number;
|
|
183
|
+
expandedContent?: TableDataContent;
|
|
184
|
+
horizontalAlignment?: TableAlignment;
|
|
185
|
+
verticalAlignment?: TableAlignment;
|
|
186
|
+
overflow?: TableOverflow;
|
|
187
|
+
tooltipState?: TableTooltipState;
|
|
188
|
+
tooltipMode?: TableTooltipMode;
|
|
189
|
+
};
|
|
190
|
+
/** Estrutura pública utilizada para alimentar a tabela sem markup declarativo. */
|
|
191
|
+
export type TableData = {
|
|
192
|
+
/** Cabeçalho multinível completo. Quando informado e não vazio, tem precedência sobre columns. */
|
|
193
|
+
headerRows?: TableColumnData[][];
|
|
194
|
+
columns: TableColumnData[];
|
|
195
|
+
rows: TableRowData[];
|
|
196
|
+
globalActions?: TableActionData[];
|
|
197
|
+
contextualActions?: TableActionData[];
|
|
198
|
+
};
|
|
199
|
+
export {};
|