@drivenets/design-system 0.1.0 → 0.3.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/CHANGELOG.md +22 -0
- package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
- package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
- package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
- package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
- package/dist/components/ds-avatar/ds-avatar.cjs +98 -0
- package/dist/components/ds-avatar/ds-avatar.d.cts +12 -0
- package/dist/components/ds-avatar/ds-avatar.d.cts.map +1 -0
- package/dist/components/ds-avatar/ds-avatar.d.ts +12 -0
- package/dist/components/ds-avatar/ds-avatar.d.ts.map +1 -0
- package/dist/components/ds-avatar/ds-avatar.js +97 -0
- package/dist/components/ds-avatar/ds-avatar.js.map +1 -0
- package/dist/components/ds-avatar/ds-avatar.module.cjs +17 -0
- package/dist/components/ds-avatar/ds-avatar.module.js +17 -0
- package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -0
- package/dist/components/ds-avatar/ds-avatar.types.d.cts +44 -0
- package/dist/components/ds-avatar/ds-avatar.types.d.cts.map +1 -0
- package/dist/components/ds-avatar/ds-avatar.types.d.ts +44 -0
- package/dist/components/ds-avatar/ds-avatar.types.d.ts.map +1 -0
- package/dist/components/ds-avatar/index.cjs +1 -0
- package/dist/components/ds-avatar/index.d.ts +2 -0
- package/dist/components/ds-avatar/index.js +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.cjs +93 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.d.cts +12 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.d.cts.map +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.d.ts +12 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.d.ts.map +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.js +92 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.js.map +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.module.cjs +19 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.module.js +19 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts +31 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts.map +1 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts +32 -0
- package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts.map +1 -0
- package/dist/components/ds-avatar-group/index.cjs +1 -0
- package/dist/components/ds-avatar-group/index.d.ts +2 -0
- package/dist/components/ds-avatar-group/index.js +1 -0
- package/dist/components/ds-button/ds-button.d.cts +2 -2
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +23 -24
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +23 -24
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +24 -25
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +24 -25
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
- package/dist/components/ds-chip/ds-chip.cjs +2 -1
- package/dist/components/ds-chip/ds-chip.d.cts +2 -1
- package/dist/components/ds-chip/ds-chip.d.cts.map +1 -1
- package/dist/components/ds-chip/ds-chip.d.ts +2 -1
- package/dist/components/ds-chip/ds-chip.d.ts.map +1 -1
- package/dist/components/ds-chip/ds-chip.js +2 -1
- package/dist/components/ds-chip/ds-chip.js.map +1 -1
- package/dist/components/ds-chip/ds-chip.types.d.cts +13 -0
- package/dist/components/ds-chip/ds-chip.types.d.cts.map +1 -1
- package/dist/components/ds-chip/ds-chip.types.d.ts +13 -0
- package/dist/components/ds-chip/ds-chip.types.d.ts.map +1 -1
- package/dist/components/ds-chip-group/ds-chip-group.cjs +2 -2
- package/dist/components/ds-chip-group/ds-chip-group.d.cts +2 -2
- package/dist/components/ds-chip-group/ds-chip-group.d.ts +2 -2
- package/dist/components/ds-chip-group/ds-chip-group.js +2 -2
- package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
- package/dist/components/ds-chip-group/ds-chip-group.types.d.cts +9 -0
- package/dist/components/ds-chip-group/ds-chip-group.types.d.cts.map +1 -1
- package/dist/components/ds-chip-group/ds-chip-group.types.d.ts +9 -0
- package/dist/components/ds-chip-group/ds-chip-group.types.d.ts.map +1 -1
- package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.cjs +1 -0
- package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js +1 -0
- package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
- package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
- package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
- package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
- package/dist/components/ds-date-input/ds-date-input.js +2 -2
- package/dist/components/ds-date-input/ds-date-input.js.map +1 -1
- package/dist/components/ds-date-input/ds-date-input.module.cjs +22 -22
- package/dist/components/ds-date-input/ds-date-input.module.js +22 -22
- package/dist/components/ds-date-input/ds-date-input.module.js.map +1 -1
- package/dist/components/ds-date-input/ds-date-input.utils.cjs +9 -2
- package/dist/components/ds-date-input/ds-date-input.utils.js +9 -2
- package/dist/components/ds-date-input/ds-date-input.utils.js.map +1 -1
- package/dist/components/ds-drawer/ds-drawer.cjs +3 -3
- package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
- package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
- package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
- package/dist/components/ds-drawer/ds-drawer.d.ts.map +1 -1
- package/dist/components/ds-drawer/ds-drawer.js +5 -5
- package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +3 -3
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts.map +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts.map +1 -1
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
- package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +2 -2
- package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +2 -2
- package/dist/components/ds-file-upload/utils/format-file-size.cjs +1 -1
- package/dist/components/ds-file-upload/utils/format-file-size.js +1 -1
- package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
- package/dist/components/ds-form-control/ds-form-control.cjs +2 -5
- package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
- package/dist/components/ds-form-control/ds-form-control.js +2 -5
- package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
- package/dist/components/ds-loader/ds-loader.cjs +60 -0
- package/dist/components/ds-loader/ds-loader.d.cts +15 -0
- package/dist/components/ds-loader/ds-loader.d.cts.map +1 -0
- package/dist/components/ds-loader/ds-loader.d.ts +15 -0
- package/dist/components/ds-loader/ds-loader.d.ts.map +1 -0
- package/dist/components/ds-loader/ds-loader.js +59 -0
- package/dist/components/ds-loader/ds-loader.js.map +1 -0
- package/dist/components/ds-loader/ds-loader.module.cjs +15 -0
- package/dist/components/ds-loader/ds-loader.module.js +15 -0
- package/dist/components/ds-loader/ds-loader.module.js.map +1 -0
- package/dist/components/ds-loader/ds-loader.types.cjs +6 -0
- package/dist/components/ds-loader/ds-loader.types.d.cts +27 -0
- package/dist/components/ds-loader/ds-loader.types.d.cts.map +1 -0
- package/dist/components/ds-loader/ds-loader.types.d.ts +27 -0
- package/dist/components/ds-loader/ds-loader.types.d.ts.map +1 -0
- package/dist/components/ds-loader/ds-loader.types.js +6 -0
- package/dist/components/ds-loader/ds-loader.types.js.map +1 -0
- package/dist/components/ds-loader/index.cjs +2 -0
- package/dist/components/ds-loader/index.d.ts +2 -0
- package/dist/components/ds-loader/index.js +2 -0
- package/dist/components/ds-loader/pulsing-icon.cjs +37 -0
- package/dist/components/ds-loader/pulsing-icon.js +37 -0
- package/dist/components/ds-loader/pulsing-icon.js.map +1 -0
- package/dist/components/ds-loader/spinner-icon.cjs +74 -0
- package/dist/components/ds-loader/spinner-icon.js +74 -0
- package/dist/components/ds-loader/spinner-icon.js.map +1 -0
- package/dist/components/ds-modal/ds-modal.cjs +2 -2
- package/dist/components/ds-modal/ds-modal.d.cts +8 -8
- package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
- package/dist/components/ds-modal/ds-modal.d.ts +8 -8
- package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
- package/dist/components/ds-modal/ds-modal.js +2 -2
- package/dist/components/ds-modal/ds-modal.js.map +1 -1
- package/dist/components/ds-panel/ds-panel.d.cts +2 -2
- package/dist/components/ds-panel/ds-panel.d.ts +2 -2
- package/dist/components/ds-select/ds-select.cjs +1 -1
- package/dist/components/ds-select/ds-select.d.cts +2 -2
- package/dist/components/ds-select/ds-select.d.ts +2 -2
- package/dist/components/ds-select/ds-select.js +1 -1
- package/dist/components/ds-select/ds-select.js.map +1 -1
- package/dist/components/ds-skeleton/ds-skeleton-circle.cjs +59 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +18 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +18 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.js +58 -0
- package/dist/components/ds-skeleton/ds-skeleton-circle.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.cjs +61 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +18 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +18 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.js +60 -0
- package/dist/components/ds-skeleton/ds-skeleton-rect.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.cjs +91 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +21 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.d.cts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +21 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.d.ts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.js +90 -0
- package/dist/components/ds-skeleton/ds-skeleton-text.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.cjs +13 -0
- package/dist/components/ds-skeleton/ds-skeleton.config.cjs +62 -0
- package/dist/components/ds-skeleton/ds-skeleton.config.js +59 -0
- package/dist/components/ds-skeleton/ds-skeleton.config.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.d.cts +32 -0
- package/dist/components/ds-skeleton/ds-skeleton.d.cts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.d.ts +32 -0
- package/dist/components/ds-skeleton/ds-skeleton.d.ts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.js +14 -0
- package/dist/components/ds-skeleton/ds-skeleton.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.module.cjs +15 -0
- package/dist/components/ds-skeleton/ds-skeleton.module.js +15 -0
- package/dist/components/ds-skeleton/ds-skeleton.module.js.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.cjs +8 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.d.cts +91 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.d.cts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.d.ts +93 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.d.ts.map +1 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.js +7 -0
- package/dist/components/ds-skeleton/ds-skeleton.types.js.map +1 -0
- package/dist/components/ds-skeleton/index.cjs +5 -0
- package/dist/components/ds-skeleton/index.d.ts +5 -0
- package/dist/components/ds-skeleton/index.js +5 -0
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
- package/dist/components/ds-spinner/ds-spinner.cjs +43 -45
- package/dist/components/ds-spinner/ds-spinner.js +43 -45
- package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
- package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
- package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
- package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
- package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
- package/dist/components/ds-table/components/core-table/core-table.cjs +82 -185
- package/dist/components/ds-table/components/core-table/core-table.js +82 -185
- package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +61 -72
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +61 -72
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +80 -81
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +80 -81
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
- package/dist/components/ds-table/ds-table.cjs +3 -3
- package/dist/components/ds-table/ds-table.d.cts +2 -3
- package/dist/components/ds-table/ds-table.d.cts.map +1 -1
- package/dist/components/ds-table/ds-table.d.ts +2 -3
- package/dist/components/ds-table/ds-table.d.ts.map +1 -1
- package/dist/components/ds-table/ds-table.js +3 -3
- package/dist/components/ds-table/ds-table.js.map +1 -1
- package/dist/components/ds-table/ds-table.types.d.cts +0 -4
- package/dist/components/ds-table/ds-table.types.d.cts.map +1 -1
- package/dist/components/ds-table/ds-table.types.d.ts +0 -4
- package/dist/components/ds-table/ds-table.types.d.ts.map +1 -1
- package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.cjs +7 -4
- package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js +7 -4
- package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js.map +1 -1
- package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +94 -87
- package/dist/components/ds-table/filters/hooks/use-table-filters.js +94 -87
- package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.cjs +37 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js +36 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +9 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +9 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/index.cjs +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-content/index.js +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.cjs +6 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js +6 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.cjs +41 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js +40 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.cjs +6 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js +6 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/index.cjs +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-list/index.js +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.cjs +178 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js +177 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.cjs +15 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js +15 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.js.map +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/index.cjs +1 -0
- package/dist/components/ds-tabs/components/ds-tabs-tab/index.js +1 -0
- package/dist/components/ds-tabs/ds-tabs.cjs +71 -0
- package/dist/components/ds-tabs/ds-tabs.d.cts +43 -0
- package/dist/components/ds-tabs/ds-tabs.d.cts.map +1 -0
- package/dist/components/ds-tabs/ds-tabs.d.ts +43 -0
- package/dist/components/ds-tabs/ds-tabs.d.ts.map +1 -0
- package/dist/components/ds-tabs/ds-tabs.js +70 -0
- package/dist/components/ds-tabs/ds-tabs.js.map +1 -0
- package/dist/components/ds-tabs/ds-tabs.module.cjs +6 -0
- package/dist/components/ds-tabs/ds-tabs.module.js +6 -0
- package/dist/components/ds-tabs/ds-tabs.module.js.map +1 -0
- package/dist/components/ds-tabs/ds-tabs.types.d.cts +91 -0
- package/dist/components/ds-tabs/ds-tabs.types.d.cts.map +1 -0
- package/dist/components/ds-tabs/ds-tabs.types.d.ts +92 -0
- package/dist/components/ds-tabs/ds-tabs.types.d.ts.map +1 -0
- package/dist/components/ds-tabs/index.cjs +1 -0
- package/dist/components/ds-tabs/index.d.ts +2 -0
- package/dist/components/ds-tabs/index.js +1 -0
- package/dist/components/ds-tag/ds-tag.cjs +254 -0
- package/dist/components/ds-tag/ds-tag.d.cts +25 -0
- package/dist/components/ds-tag/ds-tag.d.cts.map +1 -0
- package/dist/components/ds-tag/ds-tag.d.ts +25 -0
- package/dist/components/ds-tag/ds-tag.d.ts.map +1 -0
- package/dist/components/ds-tag/ds-tag.js +253 -0
- package/dist/components/ds-tag/ds-tag.js.map +1 -0
- package/dist/components/ds-tag/ds-tag.module.cjs +17 -0
- package/dist/components/ds-tag/ds-tag.module.js +17 -0
- package/dist/components/ds-tag/ds-tag.module.js.map +1 -0
- package/dist/components/ds-tag/ds-tag.types.d.cts +68 -0
- package/dist/components/ds-tag/ds-tag.types.d.cts.map +1 -0
- package/dist/components/ds-tag/ds-tag.types.d.ts +68 -0
- package/dist/components/ds-tag/ds-tag.types.d.ts.map +1 -0
- package/dist/components/ds-tag/index.cjs +1 -0
- package/dist/components/ds-tag/index.d.ts +2 -0
- package/dist/components/ds-tag/index.js +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.cjs +325 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +24 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.d.cts.map +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +24 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.d.ts.map +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.js +324 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.js.map +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.module.cjs +17 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.module.js +17 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.module.js.map +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts +71 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts.map +1 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts +72 -0
- package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts.map +1 -0
- package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.cjs +137 -0
- package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js +137 -0
- package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js.map +1 -0
- package/dist/components/ds-tag-filter/index.cjs +1 -0
- package/dist/components/ds-tag-filter/index.d.ts +2 -0
- package/dist/components/ds-tag-filter/index.js +1 -0
- package/dist/components/ds-tag-filter/utils.cjs +54 -0
- package/dist/components/ds-tag-filter/utils.js +52 -0
- package/dist/components/ds-tag-filter/utils.js.map +1 -0
- package/dist/components/ds-text-input/ds-text-input.js +2 -2
- package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
- package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
- package/dist/index.cjs +34 -2
- package/dist/index.d.cts +20 -3
- package/dist/index.d.ts +28 -4
- package/dist/index.js +22 -3
- package/dist/index.min.css +1 -1
- package/package.json +10 -4
- package/src/components/ds-avatar/_mixins.scss +45 -0
- package/src/components/ds-avatar/ds-avatar.module.scss +52 -0
- package/src/components/ds-avatar/ds-avatar.tsx +42 -0
- package/src/components/ds-avatar/ds-avatar.types.ts +41 -0
- package/src/components/ds-avatar/index.ts +2 -0
- package/src/components/ds-avatar-group/ds-avatar-group.module.scss +70 -0
- package/src/components/ds-avatar-group/ds-avatar-group.tsx +51 -0
- package/src/components/ds-avatar-group/ds-avatar-group.types.ts +27 -0
- package/src/components/ds-avatar-group/index.ts +2 -0
- package/src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.tsx +1 -7
- package/src/components/ds-button/versions/ds-button-new/ds-button-new.tsx +4 -2
- package/src/components/ds-chip/ds-chip.tsx +2 -1
- package/src/components/ds-chip/ds-chip.types.tsx +13 -0
- package/src/components/ds-chip/index.tsx +8 -0
- package/src/components/ds-chip-group/ds-chip-group.tsx +2 -2
- package/src/components/ds-chip-group/ds-chip-group.types.ts +8 -0
- package/src/components/ds-chip-group/hooks/use-chip-row-calculation.ts +5 -0
- package/src/components/ds-chip-group/index.ts +1 -0
- package/src/components/ds-date-input/ds-date-input.module.scss +1 -0
- package/src/components/ds-date-input/ds-date-input.utils.ts +16 -2
- package/src/components/ds-drawer/ds-drawer.tsx +4 -1
- package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.tsx +4 -1
- package/src/components/ds-file-upload/utils/format-file-size.ts +1 -1
- package/src/components/ds-form-control/ds-form-control.tsx +9 -2
- package/src/components/ds-loader/ds-loader.module.scss +57 -0
- package/src/components/ds-loader/ds-loader.tsx +18 -0
- package/src/components/ds-loader/ds-loader.types.ts +24 -0
- package/src/components/ds-loader/index.ts +2 -0
- package/src/components/ds-loader/pulsing-icon.tsx +17 -0
- package/src/components/ds-loader/spinner-icon.tsx +37 -0
- package/src/components/ds-modal/ds-modal.tsx +7 -1
- package/src/components/ds-select/ds-select.tsx +1 -1
- package/src/components/ds-skeleton/ds-skeleton-circle.tsx +29 -0
- package/src/components/ds-skeleton/ds-skeleton-rect.tsx +36 -0
- package/src/components/ds-skeleton/ds-skeleton-text.tsx +49 -0
- package/src/components/ds-skeleton/ds-skeleton.config.ts +68 -0
- package/src/components/ds-skeleton/ds-skeleton.module.scss +72 -0
- package/src/components/ds-skeleton/ds-skeleton.tsx +9 -0
- package/src/components/ds-skeleton/ds-skeleton.types.ts +92 -0
- package/src/components/ds-skeleton/index.ts +5 -0
- package/src/components/ds-spinner/ds-spinner.tsx +1 -1
- package/src/components/ds-table/components/core-table/core-table.tsx +16 -16
- package/src/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.tsx +10 -13
- package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +0 -2
- package/src/components/ds-table/ds-table.tsx +6 -5
- package/src/components/ds-table/ds-table.types.ts +0 -5
- package/src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx +2 -4
- package/src/components/ds-table/filters/hooks/use-table-filters.ts +10 -5
- package/src/components/ds-table/utils/story-data-generator.ts +7 -7
- package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +18 -0
- package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx +12 -0
- package/src/components/ds-tabs/components/ds-tabs-content/index.ts +1 -0
- package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.scss +31 -0
- package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss +27 -0
- package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.tsx +14 -0
- package/src/components/ds-tabs/components/ds-tabs-list/index.ts +1 -0
- package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss +242 -0
- package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.tsx +130 -0
- package/src/components/ds-tabs/components/ds-tabs-tab/index.ts +1 -0
- package/src/components/ds-tabs/ds-tabs.module.scss +14 -0
- package/src/components/ds-tabs/ds-tabs.tsx +46 -0
- package/src/components/ds-tabs/ds-tabs.types.ts +97 -0
- package/src/components/ds-tabs/index.ts +2 -0
- package/src/components/ds-tag/ds-tag.module.scss +112 -0
- package/src/components/ds-tag/ds-tag.tsx +124 -0
- package/src/components/ds-tag/ds-tag.types.tsx +67 -0
- package/src/components/ds-tag/index.tsx +2 -0
- package/src/components/ds-tag-filter/ds-tag-filter.module.scss +72 -0
- package/src/components/ds-tag-filter/ds-tag-filter.tsx +178 -0
- package/src/components/ds-tag-filter/ds-tag-filter.types.ts +68 -0
- package/src/components/ds-tag-filter/hooks/use-tag-overflow-calculation.ts +135 -0
- package/src/components/ds-tag-filter/index.ts +2 -0
- package/src/components/ds-tag-filter/utils.test.ts +401 -0
- package/src/components/ds-tag-filter/utils.ts +65 -0
- package/src/index.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dual-range-filter-adapter.js","names":["Row","ChipItem","FilterAdapter","RangeFilter","createFilterAdapter","RangeValue","from","to","DualRangeFilterValue","fieldName","DualRangeFilterAdapterConfig","id","label","fields","Record","formatNumber","num","getRowValue","row","TData","createDualRangeFilterAdapter","config","toLocaleString","getValue","initialValue","Object","keys","forEach","key","filterFn","columnId","filterValue","rowValue","fieldKey","range","entries","hasFilter","undefined","fieldValue","matchesFrom","matchesTo","cellRenderer","toChips","value","chips","fieldLabel","fromText","toText","push","metadata","field","fromChip","chip","currentValue","getActiveFiltersCount","count","values","renderFilter","onChange","map","rangeValue"],"sources":["../../../../../src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type { FilterAdapter } from '../types/filter-adapter.types';\nimport { RangeFilter } from '../components/range-filter';\nimport { createFilterAdapter } from './create-filter-adapter';\n\nexport interface RangeValue {\n\tfrom?: number;\n\tto?: number;\n}\n\nexport interface DualRangeFilterValue {\n\t[fieldName: string]: RangeValue;\n}\n\nexport interface DualRangeFilterAdapterConfig<TData> {\n\t/**\n\t * Unique identifier (should match column accessorKey)\n\t */\n\tid: string;\n\n\t/**\n\t * Display label for filter navigation\n\t */\n\tlabel: string;\n\n\t/**\n\t * Field configurations: { fieldKey: displayLabel }\n\t * Example: { running: 'Running', completed: 'Completed' }\n\t */\n\tfields: Record<string, string>;\n\n\t/**\n\t * Optional formatter for chip display\n\t * @default (num) => num.toLocaleString('en-US')\n\t */\n\tformatNumber?: (num: number) => string;\n\n\t/**\n\t * How to extract the value object from a row\n\t * @default (row) => row.getValue(id)\n\t */\n\tgetRowValue?: (row: Row<TData>) => Record<string, number>;\n}\n\n/**\n * Factory function to create a dual-range filter adapter\n * Handles filtering on multiple numeric ranges within a single column\n */\nexport function createDualRangeFilterAdapter<TData>(\n\tconfig: DualRangeFilterAdapterConfig<TData>,\n): FilterAdapter<TData, DualRangeFilterValue, Record<string, number>> {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\tfields,\n\t\tformatNumber = (num) => num.toLocaleString('en-US'),\n\t\tgetRowValue = (row) => row.getValue(id),\n\t} = config;\n\n\tconst initialValue: DualRangeFilterValue = {};\n\tObject.keys(fields).forEach((key) => {\n\t\tinitialValue[key] = {};\n\t});\n\n\treturn createFilterAdapter<TData, DualRangeFilterValue, Record<string, number>>({\n\t\tid,\n\t\tlabel,\n\t\tinitialValue,\n\n\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\tconst rowValue = getRowValue(row);\n\n\t\t\t// Check each field's range\n\t\t\tfor (const [fieldKey, range] of Object.entries(filterValue)) {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\
|
|
1
|
+
{"version":3,"file":"create-dual-range-filter-adapter.js","names":["Row","ChipItem","FilterAdapter","RangeFilter","createFilterAdapter","RangeValue","from","to","DualRangeFilterValue","fieldName","DualRangeFilterAdapterConfig","id","label","fields","Record","formatNumber","num","getRowValue","row","TData","createDualRangeFilterAdapter","config","toLocaleString","getValue","initialValue","Object","keys","forEach","key","filterFn","columnId","filterValue","rowValue","fieldKey","range","entries","hasFilter","undefined","fieldValue","matchesFrom","matchesTo","cellRenderer","toChips","value","chips","fieldLabel","fromText","toText","push","metadata","field","fromChip","chip","currentValue","getActiveFiltersCount","count","values","renderFilter","onChange","map","rangeValue"],"sources":["../../../../../src/components/ds-table/filters/adapters/create-dual-range-filter-adapter.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type { FilterAdapter } from '../types/filter-adapter.types';\nimport { RangeFilter } from '../components/range-filter';\nimport { createFilterAdapter } from './create-filter-adapter';\n\nexport interface RangeValue {\n\tfrom?: number;\n\tto?: number;\n}\n\nexport interface DualRangeFilterValue {\n\t[fieldName: string]: RangeValue;\n}\n\nexport interface DualRangeFilterAdapterConfig<TData> {\n\t/**\n\t * Unique identifier (should match column accessorKey)\n\t */\n\tid: string;\n\n\t/**\n\t * Display label for filter navigation\n\t */\n\tlabel: string;\n\n\t/**\n\t * Field configurations: { fieldKey: displayLabel }\n\t * Example: { running: 'Running', completed: 'Completed' }\n\t */\n\tfields: Record<string, string>;\n\n\t/**\n\t * Optional formatter for chip display\n\t * @default (num) => num.toLocaleString('en-US')\n\t */\n\tformatNumber?: (num: number) => string;\n\n\t/**\n\t * How to extract the value object from a row\n\t * @default (row) => row.getValue(id)\n\t */\n\tgetRowValue?: (row: Row<TData>) => Record<string, number>;\n}\n\n/**\n * Factory function to create a dual-range filter adapter\n * Handles filtering on multiple numeric ranges within a single column\n */\nexport function createDualRangeFilterAdapter<TData>(\n\tconfig: DualRangeFilterAdapterConfig<TData>,\n): FilterAdapter<TData, DualRangeFilterValue, Record<string, number>> {\n\tconst {\n\t\tid,\n\t\tlabel,\n\t\tfields,\n\t\tformatNumber = (num) => num.toLocaleString('en-US'),\n\t\tgetRowValue = (row) => row.getValue(id),\n\t} = config;\n\n\tconst initialValue: DualRangeFilterValue = {};\n\tObject.keys(fields).forEach((key) => {\n\t\tinitialValue[key] = {};\n\t});\n\n\treturn createFilterAdapter<TData, DualRangeFilterValue, Record<string, number>>({\n\t\tid,\n\t\tlabel,\n\t\tinitialValue,\n\n\t\tfilterFn: (row, columnId, filterValue) => {\n\t\t\tconst rowValue = getRowValue(row);\n\n\t\t\t// Check each field's range\n\t\t\tfor (const [fieldKey, range] of Object.entries(filterValue)) {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\t\t\t\tconst fieldValue = rowValue[fieldKey];\n\n\t\t\t\tif (hasFilter && fieldValue !== undefined) {\n\t\t\t\t\tconst matchesFrom = range.from === undefined || fieldValue >= range.from;\n\t\t\t\t\tconst matchesTo = range.to === undefined || fieldValue <= range.to;\n\n\t\t\t\t\tif (!matchesFrom || !matchesTo) {\n\t\t\t\t\t\treturn false; // AND logic: all ranges must match\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tcellRenderer: undefined, // Let the column definition handle rendering\n\n\t\ttoChips: (value) => {\n\t\t\tconst chips: ChipItem[] = [];\n\n\t\t\tObject.entries(value).forEach(([fieldKey, range]) => {\n\t\t\t\tconst hasFilter = range.from !== undefined || range.to !== undefined;\n\n\t\t\t\tif (hasFilter) {\n\t\t\t\t\tconst fieldLabel = fields[fieldKey] || fieldKey;\n\t\t\t\t\tconst fromText = range.from !== undefined ? formatNumber(range.from) : '';\n\t\t\t\t\tconst toText = range.to !== undefined ? formatNumber(range.to) : '';\n\n\t\t\t\t\tchips.push({\n\t\t\t\t\t\tid: `${id}_${fieldKey}`,\n\t\t\t\t\t\tlabel: `${fieldLabel}: From ${fromText} to ${toText}`,\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tkey: id,\n\t\t\t\t\t\t\tfield: fieldKey,\n\t\t\t\t\t\t\tfrom: range.from,\n\t\t\t\t\t\t\tto: range.to,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn chips;\n\t\t},\n\n\t\tfromChip: (chip, currentValue) => {\n\t\t\tconst fieldKey = chip.metadata?.field as string;\n\t\t\tif (!fieldKey) {\n\t\t\t\treturn currentValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...currentValue,\n\t\t\t\t[fieldKey]: {},\n\t\t\t};\n\t\t},\n\n\t\tgetActiveFiltersCount: (value) => {\n\t\t\tlet count = 0;\n\t\t\tObject.values(value).forEach((range) => {\n\t\t\t\tif (range.from !== undefined || range.to !== undefined) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn count;\n\t\t},\n\n\t\trenderFilter: (value, onChange) => {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t{Object.entries(fields).map(([fieldKey, fieldLabel]) => (\n\t\t\t\t\t\t<RangeFilter\n\t\t\t\t\t\t\tkey={fieldKey}\n\t\t\t\t\t\t\tlabel={fieldLabel}\n\t\t\t\t\t\t\tvalue={value[fieldKey] || {}}\n\t\t\t\t\t\t\tonChange={(rangeValue) =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: rangeValue,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClear={() =>\n\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t...value,\n\t\t\t\t\t\t\t\t\t[fieldKey]: {},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t});\n}\n"],"mappings":";;;;;;;;;;AAiDA,SAAgBoB,6BACfC,QACqE;CACrE,MAAM,EACLV,IACAC,OACAC,QACAE,gBAAgBC,QAAQA,IAAIM,eAAe,QAAQ,EACnDL,eAAeC,QAAQA,IAAIK,SAASZ,GAAE,KACnCU;CAEJ,MAAMG,eAAqC,EAAE;AAC7CC,QAAOC,KAAKb,OAAO,CAACc,SAASC,QAAQ;AACpCJ,eAAaI,OAAO,EAAE;GACrB;AAEF,QAAOxB,oBAAyE;EAC/EO;EACAC;EACAY;EAEAK,WAAWX,KAAKY,UAAUC,gBAAgB;GACzC,MAAMC,WAAWf,YAAYC,IAAI;AAGjC,QAAK,MAAM,CAACe,UAAUC,UAAUT,OAAOU,QAAQJ,YAAY,EAAE;IAC5D,MAAMK,YAAYF,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B;IAC3D,MAAMC,aAAaN,SAASC;AAE5B,QAAIG,aAAaE,eAAeD,QAAW;KAC1C,MAAME,cAAcL,MAAM5B,SAAS+B,UAAaC,cAAcJ,MAAM5B;KACpE,MAAMkC,YAAYN,MAAM3B,OAAO8B,UAAaC,cAAcJ,MAAM3B;AAEhE,SAAI,CAACgC,eAAe,CAACC,UACpB,QAAO;;;AAKV,UAAO;;EAGRC,cAAcJ;EAEdK,UAAUC,UAAU;GACnB,MAAMC,QAAoB,EAAE;AAE5BnB,UAAOU,QAAQQ,MAAM,CAAChB,SAAS,CAACM,UAAUC,WAAW;AAGpD,QAFkBA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,QAE5C;KACd,MAAMQ,aAAahC,OAAOoB,aAAaA;KACvC,MAAMa,WAAWZ,MAAM5B,SAAS+B,SAAYtB,aAAamB,MAAM5B,KAAK,GAAG;KACvE,MAAMyC,SAASb,MAAM3B,OAAO8B,SAAYtB,aAAamB,MAAM3B,GAAG,GAAG;AAEjEqC,WAAMI,KAAK;MACVrC,IAAI,GAAGA,GAAE,GAAIsB;MACbrB,OAAO,GAAGiC,WAAU,SAAUC,SAAQ,MAAOC;MAC7CE,UAAU;OACTrB,KAAKjB;OACLuC,OAAOjB;OACP3B,MAAM4B,MAAM5B;OACZC,IAAI2B,MAAM3B;OACX;MACA,CAAC;;KAEF;AAEF,UAAOqC;;EAGRO,WAAWC,MAAMC,iBAAiB;GACjC,MAAMpB,WAAWmB,KAAKH,UAAUC;AAChC,OAAI,CAACjB,SACJ,QAAOoB;AAGR,UAAO;IACN,GAAGA;KACFpB,WAAW,EAAC;IACb;;EAGFqB,wBAAwBX,UAAU;GACjC,IAAIY,QAAQ;AACZ9B,UAAO+B,OAAOb,MAAM,CAAChB,SAASO,UAAU;AACvC,QAAIA,MAAM5B,SAAS+B,UAAaH,MAAM3B,OAAO8B,OAC5CkB;KAEA;AACF,UAAOA;;EAGRE,eAAed,OAAOe,aAAa;AAClC,UACC,oBAAC,mBACCjC,OAAOU,QAAQtB,OAAO,CAAC8C,KAAK,CAAC1B,UAAUY,gBACvC,oBAAC;IAEA,OAAOA;IACP,OAAOF,MAAMV,aAAa,EAAE;IAC5B,WAAW2B,eACVF,SAAS;KACR,GAAGf;MACFV,WAAW2B;KACZ,CACF;IACA,eACCF,SAAS;KACR,GAAGf;MACFV,WAAW,EAAC;KACb,CACF;MAdKA,SAgBN,CAAC,GACG;;EAGR,CAAC"}
|
|
@@ -12,7 +12,7 @@ let react = require("react");
|
|
|
12
12
|
* @returns Complete filter management system
|
|
13
13
|
*/
|
|
14
14
|
function useTableFilters(filterAdapters, baseColumns) {
|
|
15
|
-
const $ = (0, react_compiler_runtime.c)(
|
|
15
|
+
const $ = (0, react_compiler_runtime.c)(39);
|
|
16
16
|
const _filterAdapters = filterAdapters;
|
|
17
17
|
let initialState;
|
|
18
18
|
if ($[0] !== _filterAdapters) {
|
|
@@ -37,26 +37,33 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
37
37
|
} else t1 = $[3];
|
|
38
38
|
const [filterChips, setFilterChips] = (0, react.useState)(t1);
|
|
39
39
|
let t2;
|
|
40
|
-
if ($[4] !==
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
if ($[4] !== filterState) {
|
|
41
|
+
t2 = (adapterId) => filterState[adapterId];
|
|
42
|
+
$[4] = filterState;
|
|
43
|
+
$[5] = t2;
|
|
44
|
+
} else t2 = $[5];
|
|
45
|
+
const getValueByAdapterId = t2;
|
|
46
|
+
let t3;
|
|
47
|
+
if ($[6] !== _filterAdapters || $[7] !== getValueByAdapterId) {
|
|
48
|
+
let t4$1;
|
|
49
|
+
if ($[9] !== getValueByAdapterId) {
|
|
50
|
+
t4$1 = (adapter_0) => ({
|
|
44
51
|
id: adapter_0.id,
|
|
45
52
|
label: adapter_0.label,
|
|
46
|
-
count: adapter_0.getActiveFiltersCount(
|
|
53
|
+
count: adapter_0.getActiveFiltersCount(getValueByAdapterId(adapter_0.id))
|
|
47
54
|
});
|
|
48
|
-
$[
|
|
49
|
-
$[
|
|
50
|
-
} else
|
|
51
|
-
|
|
52
|
-
$[
|
|
53
|
-
$[
|
|
54
|
-
$[
|
|
55
|
-
} else
|
|
56
|
-
const filterNavItems =
|
|
57
|
-
let
|
|
58
|
-
if ($[
|
|
59
|
-
|
|
55
|
+
$[9] = getValueByAdapterId;
|
|
56
|
+
$[10] = t4$1;
|
|
57
|
+
} else t4$1 = $[10];
|
|
58
|
+
t3 = _filterAdapters.map(t4$1);
|
|
59
|
+
$[6] = _filterAdapters;
|
|
60
|
+
$[7] = getValueByAdapterId;
|
|
61
|
+
$[8] = t3;
|
|
62
|
+
} else t3 = $[8];
|
|
63
|
+
const filterNavItems = t3;
|
|
64
|
+
let t4;
|
|
65
|
+
if ($[11] !== _filterAdapters || $[12] !== baseColumns) {
|
|
66
|
+
t4 = !baseColumns ? [] : baseColumns.map((col) => {
|
|
60
67
|
const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
|
|
61
68
|
if (adapter_1) {
|
|
62
69
|
const cellRenderer = adapter_1.cellRenderer;
|
|
@@ -68,29 +75,29 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
68
75
|
}
|
|
69
76
|
return col;
|
|
70
77
|
});
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
74
|
-
} else
|
|
75
|
-
const enhancedColumns =
|
|
76
|
-
let
|
|
77
|
-
if ($[
|
|
78
|
-
|
|
78
|
+
$[11] = _filterAdapters;
|
|
79
|
+
$[12] = baseColumns;
|
|
80
|
+
$[13] = t4;
|
|
81
|
+
} else t4 = $[13];
|
|
82
|
+
const enhancedColumns = t4;
|
|
83
|
+
let t5;
|
|
84
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
85
|
+
t5 = (filterId, value) => {
|
|
79
86
|
setFilterState((prev) => ({
|
|
80
87
|
...prev,
|
|
81
88
|
[filterId]: value
|
|
82
89
|
}));
|
|
83
90
|
};
|
|
84
|
-
$[
|
|
85
|
-
} else
|
|
86
|
-
const updateFilter =
|
|
87
|
-
let
|
|
88
|
-
if ($[
|
|
89
|
-
|
|
91
|
+
$[14] = t5;
|
|
92
|
+
} else t5 = $[14];
|
|
93
|
+
const updateFilter = t5;
|
|
94
|
+
let t6;
|
|
95
|
+
if ($[15] !== _filterAdapters || $[16] !== getValueByAdapterId) {
|
|
96
|
+
t6 = () => {
|
|
90
97
|
const filters = [];
|
|
91
98
|
const chips = [];
|
|
92
99
|
_filterAdapters.forEach((adapter_2) => {
|
|
93
|
-
const value_0 =
|
|
100
|
+
const value_0 = getValueByAdapterId(adapter_2.id);
|
|
94
101
|
if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
|
|
95
102
|
id: adapter_2.id,
|
|
96
103
|
value: value_0
|
|
@@ -101,14 +108,14 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
101
108
|
setColumnFilters(filters);
|
|
102
109
|
setFilterChips(chips);
|
|
103
110
|
};
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
} else
|
|
108
|
-
const applyFilters =
|
|
109
|
-
let
|
|
110
|
-
if ($[
|
|
111
|
-
|
|
111
|
+
$[15] = _filterAdapters;
|
|
112
|
+
$[16] = getValueByAdapterId;
|
|
113
|
+
$[17] = t6;
|
|
114
|
+
} else t6 = $[17];
|
|
115
|
+
const applyFilters = t6;
|
|
116
|
+
let t7;
|
|
117
|
+
if ($[18] !== _filterAdapters) {
|
|
118
|
+
t7 = () => {
|
|
112
119
|
const resetState = {};
|
|
113
120
|
_filterAdapters.forEach((adapter_3) => {
|
|
114
121
|
resetState[adapter_3.id] = adapter_3.reset();
|
|
@@ -117,22 +124,22 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
117
124
|
setColumnFilters([]);
|
|
118
125
|
setFilterChips([]);
|
|
119
126
|
};
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
} else
|
|
123
|
-
const clearAll =
|
|
124
|
-
let
|
|
125
|
-
if ($[
|
|
126
|
-
|
|
127
|
+
$[18] = _filterAdapters;
|
|
128
|
+
$[19] = t7;
|
|
129
|
+
} else t7 = $[19];
|
|
130
|
+
const clearAll = t7;
|
|
131
|
+
let t8;
|
|
132
|
+
if ($[20] !== _filterAdapters || $[21] !== clearAll || $[22] !== getValueByAdapterId) {
|
|
133
|
+
t8 = (chip) => {
|
|
127
134
|
const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
|
|
128
135
|
if (!filterKey) return;
|
|
129
136
|
const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
|
|
130
137
|
if (!adapter_4) return;
|
|
131
|
-
const currentValue =
|
|
138
|
+
const currentValue = getValueByAdapterId(filterKey);
|
|
132
139
|
const newValue = adapter_4.fromChip(chip, currentValue);
|
|
133
140
|
const chips_0 = [];
|
|
134
141
|
_filterAdapters.forEach((adapter_5) => {
|
|
135
|
-
const value_1 = adapter_5.id === filterKey ? newValue :
|
|
142
|
+
const value_1 = adapter_5.id === filterKey ? newValue : getValueByAdapterId(adapter_5.id);
|
|
136
143
|
const adapterChips_0 = adapter_5.toChips(value_1);
|
|
137
144
|
chips_0.push(...adapterChips_0);
|
|
138
145
|
});
|
|
@@ -151,60 +158,60 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
151
158
|
} : cf_0));
|
|
152
159
|
setFilterChips(chips_0);
|
|
153
160
|
};
|
|
154
|
-
$[
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
} else
|
|
159
|
-
const deleteChip =
|
|
160
|
-
let
|
|
161
|
-
if ($[
|
|
162
|
-
|
|
161
|
+
$[20] = _filterAdapters;
|
|
162
|
+
$[21] = clearAll;
|
|
163
|
+
$[22] = getValueByAdapterId;
|
|
164
|
+
$[23] = t8;
|
|
165
|
+
} else t8 = $[23];
|
|
166
|
+
const deleteChip = t8;
|
|
167
|
+
let t9;
|
|
168
|
+
if ($[24] !== _filterAdapters || $[25] !== getValueByAdapterId) {
|
|
169
|
+
t9 = (selectedFilter) => {
|
|
163
170
|
const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
|
|
164
171
|
if (!adapter_6) return null;
|
|
165
|
-
const value_2 =
|
|
172
|
+
const value_2 = getValueByAdapterId(adapter_6.id);
|
|
166
173
|
const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
|
|
167
174
|
return adapter_6.renderFilter(value_2, onChange);
|
|
168
175
|
};
|
|
169
|
-
$[
|
|
170
|
-
$[
|
|
171
|
-
$[
|
|
172
|
-
} else
|
|
173
|
-
const renderFilterContent =
|
|
174
|
-
let
|
|
175
|
-
if ($[
|
|
176
|
-
|
|
176
|
+
$[24] = _filterAdapters;
|
|
177
|
+
$[25] = getValueByAdapterId;
|
|
178
|
+
$[26] = t9;
|
|
179
|
+
} else t9 = $[26];
|
|
180
|
+
const renderFilterContent = t9;
|
|
181
|
+
let t10;
|
|
182
|
+
if ($[27] !== applyFilters || $[28] !== clearAll || $[29] !== deleteChip) {
|
|
183
|
+
t10 = {
|
|
177
184
|
updateFilter,
|
|
178
185
|
applyFilters,
|
|
179
186
|
clearAll,
|
|
180
187
|
deleteChip
|
|
181
188
|
};
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
185
|
-
$[
|
|
186
|
-
} else
|
|
187
|
-
let
|
|
188
|
-
if ($[
|
|
189
|
-
|
|
189
|
+
$[27] = applyFilters;
|
|
190
|
+
$[28] = clearAll;
|
|
191
|
+
$[29] = deleteChip;
|
|
192
|
+
$[30] = t10;
|
|
193
|
+
} else t10 = $[30];
|
|
194
|
+
let t11;
|
|
195
|
+
if ($[31] !== columnFilters || $[32] !== enhancedColumns || $[33] !== filterChips || $[34] !== filterNavItems || $[35] !== filterState || $[36] !== renderFilterContent || $[37] !== t10) {
|
|
196
|
+
t11 = {
|
|
190
197
|
filterState,
|
|
191
198
|
columnFilters,
|
|
192
199
|
filterChips,
|
|
193
200
|
filterNavItems,
|
|
194
201
|
enhancedColumns,
|
|
195
|
-
handlers:
|
|
202
|
+
handlers: t10,
|
|
196
203
|
renderFilterContent
|
|
197
204
|
};
|
|
198
|
-
$[
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
$[
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
} else
|
|
207
|
-
return
|
|
205
|
+
$[31] = columnFilters;
|
|
206
|
+
$[32] = enhancedColumns;
|
|
207
|
+
$[33] = filterChips;
|
|
208
|
+
$[34] = filterNavItems;
|
|
209
|
+
$[35] = filterState;
|
|
210
|
+
$[36] = renderFilterContent;
|
|
211
|
+
$[37] = t10;
|
|
212
|
+
$[38] = t11;
|
|
213
|
+
} else t11 = $[38];
|
|
214
|
+
return t11;
|
|
208
215
|
}
|
|
209
216
|
|
|
210
217
|
//#endregion
|
|
@@ -11,7 +11,7 @@ import { useState } from "react";
|
|
|
11
11
|
* @returns Complete filter management system
|
|
12
12
|
*/
|
|
13
13
|
function useTableFilters(filterAdapters, baseColumns) {
|
|
14
|
-
const $ = c(
|
|
14
|
+
const $ = c(39);
|
|
15
15
|
const _filterAdapters = filterAdapters;
|
|
16
16
|
let initialState;
|
|
17
17
|
if ($[0] !== _filterAdapters) {
|
|
@@ -36,26 +36,33 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
36
36
|
} else t1 = $[3];
|
|
37
37
|
const [filterChips, setFilterChips] = useState(t1);
|
|
38
38
|
let t2;
|
|
39
|
-
if ($[4] !==
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
if ($[4] !== filterState) {
|
|
40
|
+
t2 = (adapterId) => filterState[adapterId];
|
|
41
|
+
$[4] = filterState;
|
|
42
|
+
$[5] = t2;
|
|
43
|
+
} else t2 = $[5];
|
|
44
|
+
const getValueByAdapterId = t2;
|
|
45
|
+
let t3;
|
|
46
|
+
if ($[6] !== _filterAdapters || $[7] !== getValueByAdapterId) {
|
|
47
|
+
let t4$1;
|
|
48
|
+
if ($[9] !== getValueByAdapterId) {
|
|
49
|
+
t4$1 = (adapter_0) => ({
|
|
43
50
|
id: adapter_0.id,
|
|
44
51
|
label: adapter_0.label,
|
|
45
|
-
count: adapter_0.getActiveFiltersCount(
|
|
52
|
+
count: adapter_0.getActiveFiltersCount(getValueByAdapterId(adapter_0.id))
|
|
46
53
|
});
|
|
47
|
-
$[
|
|
48
|
-
$[
|
|
49
|
-
} else
|
|
50
|
-
|
|
51
|
-
$[
|
|
52
|
-
$[
|
|
53
|
-
$[
|
|
54
|
-
} else
|
|
55
|
-
const filterNavItems =
|
|
56
|
-
let
|
|
57
|
-
if ($[
|
|
58
|
-
|
|
54
|
+
$[9] = getValueByAdapterId;
|
|
55
|
+
$[10] = t4$1;
|
|
56
|
+
} else t4$1 = $[10];
|
|
57
|
+
t3 = _filterAdapters.map(t4$1);
|
|
58
|
+
$[6] = _filterAdapters;
|
|
59
|
+
$[7] = getValueByAdapterId;
|
|
60
|
+
$[8] = t3;
|
|
61
|
+
} else t3 = $[8];
|
|
62
|
+
const filterNavItems = t3;
|
|
63
|
+
let t4;
|
|
64
|
+
if ($[11] !== _filterAdapters || $[12] !== baseColumns) {
|
|
65
|
+
t4 = !baseColumns ? [] : baseColumns.map((col) => {
|
|
59
66
|
const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
|
|
60
67
|
if (adapter_1) {
|
|
61
68
|
const cellRenderer = adapter_1.cellRenderer;
|
|
@@ -67,29 +74,29 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
67
74
|
}
|
|
68
75
|
return col;
|
|
69
76
|
});
|
|
70
|
-
$[
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
} else
|
|
74
|
-
const enhancedColumns =
|
|
75
|
-
let
|
|
76
|
-
if ($[
|
|
77
|
-
|
|
77
|
+
$[11] = _filterAdapters;
|
|
78
|
+
$[12] = baseColumns;
|
|
79
|
+
$[13] = t4;
|
|
80
|
+
} else t4 = $[13];
|
|
81
|
+
const enhancedColumns = t4;
|
|
82
|
+
let t5;
|
|
83
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
84
|
+
t5 = (filterId, value) => {
|
|
78
85
|
setFilterState((prev) => ({
|
|
79
86
|
...prev,
|
|
80
87
|
[filterId]: value
|
|
81
88
|
}));
|
|
82
89
|
};
|
|
83
|
-
$[
|
|
84
|
-
} else
|
|
85
|
-
const updateFilter =
|
|
86
|
-
let
|
|
87
|
-
if ($[
|
|
88
|
-
|
|
90
|
+
$[14] = t5;
|
|
91
|
+
} else t5 = $[14];
|
|
92
|
+
const updateFilter = t5;
|
|
93
|
+
let t6;
|
|
94
|
+
if ($[15] !== _filterAdapters || $[16] !== getValueByAdapterId) {
|
|
95
|
+
t6 = () => {
|
|
89
96
|
const filters = [];
|
|
90
97
|
const chips = [];
|
|
91
98
|
_filterAdapters.forEach((adapter_2) => {
|
|
92
|
-
const value_0 =
|
|
99
|
+
const value_0 = getValueByAdapterId(adapter_2.id);
|
|
93
100
|
if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
|
|
94
101
|
id: adapter_2.id,
|
|
95
102
|
value: value_0
|
|
@@ -100,14 +107,14 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
100
107
|
setColumnFilters(filters);
|
|
101
108
|
setFilterChips(chips);
|
|
102
109
|
};
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
} else
|
|
107
|
-
const applyFilters =
|
|
108
|
-
let
|
|
109
|
-
if ($[
|
|
110
|
-
|
|
110
|
+
$[15] = _filterAdapters;
|
|
111
|
+
$[16] = getValueByAdapterId;
|
|
112
|
+
$[17] = t6;
|
|
113
|
+
} else t6 = $[17];
|
|
114
|
+
const applyFilters = t6;
|
|
115
|
+
let t7;
|
|
116
|
+
if ($[18] !== _filterAdapters) {
|
|
117
|
+
t7 = () => {
|
|
111
118
|
const resetState = {};
|
|
112
119
|
_filterAdapters.forEach((adapter_3) => {
|
|
113
120
|
resetState[adapter_3.id] = adapter_3.reset();
|
|
@@ -116,22 +123,22 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
116
123
|
setColumnFilters([]);
|
|
117
124
|
setFilterChips([]);
|
|
118
125
|
};
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
} else
|
|
122
|
-
const clearAll =
|
|
123
|
-
let
|
|
124
|
-
if ($[
|
|
125
|
-
|
|
126
|
+
$[18] = _filterAdapters;
|
|
127
|
+
$[19] = t7;
|
|
128
|
+
} else t7 = $[19];
|
|
129
|
+
const clearAll = t7;
|
|
130
|
+
let t8;
|
|
131
|
+
if ($[20] !== _filterAdapters || $[21] !== clearAll || $[22] !== getValueByAdapterId) {
|
|
132
|
+
t8 = (chip) => {
|
|
126
133
|
const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
|
|
127
134
|
if (!filterKey) return;
|
|
128
135
|
const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
|
|
129
136
|
if (!adapter_4) return;
|
|
130
|
-
const currentValue =
|
|
137
|
+
const currentValue = getValueByAdapterId(filterKey);
|
|
131
138
|
const newValue = adapter_4.fromChip(chip, currentValue);
|
|
132
139
|
const chips_0 = [];
|
|
133
140
|
_filterAdapters.forEach((adapter_5) => {
|
|
134
|
-
const value_1 = adapter_5.id === filterKey ? newValue :
|
|
141
|
+
const value_1 = adapter_5.id === filterKey ? newValue : getValueByAdapterId(adapter_5.id);
|
|
135
142
|
const adapterChips_0 = adapter_5.toChips(value_1);
|
|
136
143
|
chips_0.push(...adapterChips_0);
|
|
137
144
|
});
|
|
@@ -150,60 +157,60 @@ function useTableFilters(filterAdapters, baseColumns) {
|
|
|
150
157
|
} : cf_0));
|
|
151
158
|
setFilterChips(chips_0);
|
|
152
159
|
};
|
|
153
|
-
$[
|
|
154
|
-
$[
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
} else
|
|
158
|
-
const deleteChip =
|
|
159
|
-
let
|
|
160
|
-
if ($[
|
|
161
|
-
|
|
160
|
+
$[20] = _filterAdapters;
|
|
161
|
+
$[21] = clearAll;
|
|
162
|
+
$[22] = getValueByAdapterId;
|
|
163
|
+
$[23] = t8;
|
|
164
|
+
} else t8 = $[23];
|
|
165
|
+
const deleteChip = t8;
|
|
166
|
+
let t9;
|
|
167
|
+
if ($[24] !== _filterAdapters || $[25] !== getValueByAdapterId) {
|
|
168
|
+
t9 = (selectedFilter) => {
|
|
162
169
|
const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
|
|
163
170
|
if (!adapter_6) return null;
|
|
164
|
-
const value_2 =
|
|
171
|
+
const value_2 = getValueByAdapterId(adapter_6.id);
|
|
165
172
|
const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
|
|
166
173
|
return adapter_6.renderFilter(value_2, onChange);
|
|
167
174
|
};
|
|
168
|
-
$[
|
|
169
|
-
$[
|
|
170
|
-
$[
|
|
171
|
-
} else
|
|
172
|
-
const renderFilterContent =
|
|
173
|
-
let
|
|
174
|
-
if ($[
|
|
175
|
-
|
|
175
|
+
$[24] = _filterAdapters;
|
|
176
|
+
$[25] = getValueByAdapterId;
|
|
177
|
+
$[26] = t9;
|
|
178
|
+
} else t9 = $[26];
|
|
179
|
+
const renderFilterContent = t9;
|
|
180
|
+
let t10;
|
|
181
|
+
if ($[27] !== applyFilters || $[28] !== clearAll || $[29] !== deleteChip) {
|
|
182
|
+
t10 = {
|
|
176
183
|
updateFilter,
|
|
177
184
|
applyFilters,
|
|
178
185
|
clearAll,
|
|
179
186
|
deleteChip
|
|
180
187
|
};
|
|
181
|
-
$[
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
185
|
-
} else
|
|
186
|
-
let
|
|
187
|
-
if ($[
|
|
188
|
-
|
|
188
|
+
$[27] = applyFilters;
|
|
189
|
+
$[28] = clearAll;
|
|
190
|
+
$[29] = deleteChip;
|
|
191
|
+
$[30] = t10;
|
|
192
|
+
} else t10 = $[30];
|
|
193
|
+
let t11;
|
|
194
|
+
if ($[31] !== columnFilters || $[32] !== enhancedColumns || $[33] !== filterChips || $[34] !== filterNavItems || $[35] !== filterState || $[36] !== renderFilterContent || $[37] !== t10) {
|
|
195
|
+
t11 = {
|
|
189
196
|
filterState,
|
|
190
197
|
columnFilters,
|
|
191
198
|
filterChips,
|
|
192
199
|
filterNavItems,
|
|
193
200
|
enhancedColumns,
|
|
194
|
-
handlers:
|
|
201
|
+
handlers: t10,
|
|
195
202
|
renderFilterContent
|
|
196
203
|
};
|
|
197
|
-
$[
|
|
198
|
-
$[
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
$[
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
} else
|
|
206
|
-
return
|
|
204
|
+
$[31] = columnFilters;
|
|
205
|
+
$[32] = enhancedColumns;
|
|
206
|
+
$[33] = filterChips;
|
|
207
|
+
$[34] = filterNavItems;
|
|
208
|
+
$[35] = filterState;
|
|
209
|
+
$[36] = renderFilterContent;
|
|
210
|
+
$[37] = t10;
|
|
211
|
+
$[38] = t11;
|
|
212
|
+
} else t11 = $[38];
|
|
213
|
+
return t11;
|
|
207
214
|
}
|
|
208
215
|
|
|
209
216
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-filters.js","names":["ReactNode","useState","CellContext","ColumnDef","ChipItem","AnyAdapter","ColumnFilterState","FilterAdapter","FilterNavItem","FilterState","UseTableFiltersResult","filterState","TValue","columnFilters","filterChips","filterNavItems","enhancedColumns","TData","handlers","updateFilter","filterId","value","applyFilters","clearAll","deleteChip","chip","renderFilterContent","selectedFilter","useTableFilters","filterAdapters","baseColumns","$","_c","_filterAdapters","TCellValue","initialState","forEach","adapter","id","initialValue","setFilterState","t0","Symbol","for","setColumnFilters","t1","setFilterChips","t2","t3","adapter_0","label","count","getActiveFiltersCount","map","col","adapter_1","find","a","cellRenderer","filterFn","columnFilterFn","cell","info","getValue","t4","prev","t5","filters","chips","adapter_2","value_0","push","adapterChips","toChips","t6","resetState","adapter_3","reset","t7","filterKey","metadata","key","undefined","adapter_4","a_0","currentValue","newValue","fromChip","chips_0","adapter_5","value_1","adapterChips_0","length","prev_0","prev_1","filter","cf","prev_2","cf_0","t8","adapter_6","a_1","value_2","onChange","newValue_0","renderFilter","t9","t10"],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport type { CellContext, ColumnDef } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type {\n\tAnyAdapter,\n\tColumnFilterState,\n\tFilterAdapter,\n\tFilterNavItem,\n\tFilterState,\n} from '../types/filter-adapter.types';\n\nexport interface UseTableFiltersResult<TData, TValue> {\n\t/**\n\t * Current filter state\n\t */\n\tfilterState: FilterState<TValue>;\n\n\t/**\n\t * Column filters for TanStack Table\n\t */\n\tcolumnFilters: ColumnFilterState<TValue>[];\n\n\t/**\n\t * Filter chips for display\n\t */\n\tfilterChips: ChipItem[];\n\n\t/**\n\t * Filter navigation items with counts\n\t */\n\tfilterNavItems: FilterNavItem[];\n\n\t/**\n\t * Enhanced column definitions with filter functions\n\t */\n\tenhancedColumns: ColumnDef<TData>[];\n\n\t/**\n\t * Handlers\n\t */\n\thandlers: {\n\t\t/**\n\t\t * Update a specific filter's value\n\t\t */\n\t\tupdateFilter: (filterId: string, value: TValue) => void;\n\n\t\t/**\n\t\t * Apply all filters (converts to TanStack format)\n\t\t */\n\t\tapplyFilters: () => void;\n\n\t\t/**\n\t\t * Clear all filters\n\t\t */\n\t\tclearAll: () => void;\n\n\t\t/**\n\t\t * Delete a specific chip\n\t\t */\n\t\tdeleteChip: (chip: ChipItem) => void;\n\t};\n\n\t/**\n\t * Render function for filter modal content\n\t */\n\trenderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;\n}\n\n/**\n * Hook to orchestrate table filtering with adapters\n * Manages filter state, generates chips, handles column definitions\n *\n * @param filterAdapters Array of filter adapters\n * @param baseColumns Base column definitions (optional)\n * @returns Complete filter management system\n */\nexport function useTableFilters<TData, TValue, TCellValue>(\n\tfilterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[],\n\tbaseColumns?: ColumnDef<TData>[],\n): UseTableFiltersResult<TData, TValue> {\n\t// Internal variable just to avoid assignment issues of `any`.\n\tconst _filterAdapters = filterAdapters as FilterAdapter<TData, TValue, TCellValue>[];\n\n\t// Initialize filter state from adapters\n\tconst initialState: FilterState<TValue> = {};\n\t_filterAdapters.forEach((adapter) => {\n\t\tinitialState[adapter.id] = adapter.initialValue;\n\t});\n\n\tconst [filterState, setFilterState] = useState<FilterState<TValue>>(initialState);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFilterState<TValue>[]>([]);\n\tconst [filterChips, setFilterChips] = useState<ChipItem[]>([]);\n\n\t// Generate filter nav items with counts (updates as user changes filters in modal)\n\tconst filterNavItems: FilterNavItem[] = _filterAdapters.map((adapter) => ({\n\t\tid: adapter.id,\n\t\tlabel: adapter.label,\n\t\tcount: adapter.getActiveFiltersCount(filterState[adapter.id]),\n\t}));\n\n\t// Enhance column definitions with filter functions and renderers\n\tconst enhancedColumns: ColumnDef<TData>[] = !baseColumns\n\t\t? []\n\t\t: baseColumns.map((col) => {\n\t\t\t\tconst adapter = _filterAdapters.find((a) => a.id === col.id);\n\n\t\t\t\tif (adapter) {\n\t\t\t\t\tconst cellRenderer = adapter.cellRenderer;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...col,\n\t\t\t\t\t\tfilterFn: adapter.columnFilterFn,\n\t\t\t\t\t\t...(cellRenderer && {\n\t\t\t\t\t\t\tcell: (info: CellContext<TData, TCellValue>) => cellRenderer(info.getValue()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn col;\n\t\t\t});\n\n\t// Handlers\n\tconst updateFilter = (filterId: string, value: TValue) => {\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterId]: value,\n\t\t}));\n\t};\n\n\tconst applyFilters = () => {\n\t\tconst filters: ColumnFilterState<TValue>[] = [];\n\t\tconst chips: ChipItem[] = [];\n\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = filterState[adapter.id];\n\n\t\t\tif (adapter.getActiveFiltersCount(value) > 0) {\n\t\t\t\tfilters.push({\n\t\t\t\t\tid: adapter.id,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generate chips from current filter value\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\tsetColumnFilters(filters);\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst clearAll = () => {\n\t\tconst resetState: FilterState<TValue> = {};\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tresetState[adapter.id] = adapter.reset();\n\t\t});\n\t\tsetFilterState(resetState);\n\t\tsetColumnFilters([]);\n\t\tsetFilterChips([]);\n\t};\n\n\tconst deleteChip = (chip: ChipItem) => {\n\t\tconst filterKey = typeof chip.metadata?.key === 'string' ? chip.metadata.key : undefined;\n\t\tif (!filterKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst adapter = _filterAdapters.find((a) => a.id === filterKey);\n\t\tif (!adapter) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentValue = filterState[filterKey];\n\t\tconst newValue = adapter.fromChip(chip, currentValue);\n\n\t\t// Regenerate chips to check if this was the last one\n\t\tconst chips: ChipItem[] = [];\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = adapter.id === filterKey ? newValue : filterState[adapter.id];\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\t// If no chips left, clear all filters\n\t\tif (chips.length === 0) {\n\t\t\tclearAll();\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, update state and filters\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterKey]: newValue,\n\t\t}));\n\n\t\t// Update column filters\n\t\tif (adapter.getActiveFiltersCount(newValue) === 0) {\n\t\t\tsetColumnFilters((prev) => prev.filter((cf) => cf.id !== filterKey));\n\t\t} else {\n\t\t\tsetColumnFilters((prev) =>\n\t\t\t\tprev.map((cf) => (cf.id === filterKey ? { id: filterKey, value: newValue } : cf)),\n\t\t\t);\n\t\t}\n\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst renderFilterContent = (selectedFilter: FilterNavItem) => {\n\t\tconst adapter = _filterAdapters.find((a) => a.id === selectedFilter.id);\n\t\tif (!adapter) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst value = filterState[adapter.id];\n\t\tconst onChange = (newValue: TValue) => updateFilter(adapter.id, newValue);\n\n\t\treturn adapter.renderFilter(value, onChange);\n\t};\n\n\treturn {\n\t\tfilterState,\n\t\tcolumnFilters,\n\t\tfilterChips,\n\t\tfilterNavItems,\n\t\tenhancedColumns,\n\t\thandlers: {\n\t\t\tupdateFilter,\n\t\t\tapplyFilters,\n\t\t\tclearAll,\n\t\t\tdeleteChip,\n\t\t},\n\t\trenderFilterContent,\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-table-filters.js","names":["ReactNode","useState","CellContext","ColumnDef","ChipItem","AnyAdapter","ColumnFilterState","FilterAdapter","FilterNavItem","FilterState","UseTableFiltersResult","filterState","TValue","columnFilters","filterChips","filterNavItems","enhancedColumns","TData","handlers","updateFilter","filterId","value","applyFilters","clearAll","deleteChip","chip","renderFilterContent","selectedFilter","useTableFilters","filterAdapters","baseColumns","$","_c","_filterAdapters","TCellValue","initialState","forEach","adapter","id","initialValue","setFilterState","t0","Symbol","for","setColumnFilters","t1","setFilterChips","t2","adapterId","getValueByAdapterId","t3","t4","adapter_0","label","count","getActiveFiltersCount","map","col","adapter_1","find","a","cellRenderer","filterFn","columnFilterFn","cell","info","getValue","t5","prev","t6","filters","chips","adapter_2","value_0","push","adapterChips","toChips","t7","resetState","adapter_3","reset","t8","filterKey","metadata","key","undefined","adapter_4","a_0","currentValue","newValue","fromChip","chips_0","adapter_5","value_1","adapterChips_0","length","prev_0","prev_1","filter","cf","prev_2","cf_0","t9","adapter_6","a_1","value_2","onChange","newValue_0","renderFilter","t10","t11"],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":["import { type ReactNode, useState } from 'react';\nimport type { CellContext, ColumnDef } from '@tanstack/react-table';\nimport type { ChipItem } from '../../../ds-chip-group';\nimport type {\n\tAnyAdapter,\n\tColumnFilterState,\n\tFilterAdapter,\n\tFilterNavItem,\n\tFilterState,\n} from '../types/filter-adapter.types';\n\nexport interface UseTableFiltersResult<TData, TValue> {\n\t/**\n\t * Current filter state\n\t */\n\tfilterState: FilterState<TValue>;\n\n\t/**\n\t * Column filters for TanStack Table\n\t */\n\tcolumnFilters: ColumnFilterState<TValue>[];\n\n\t/**\n\t * Filter chips for display\n\t */\n\tfilterChips: ChipItem[];\n\n\t/**\n\t * Filter navigation items with counts\n\t */\n\tfilterNavItems: FilterNavItem[];\n\n\t/**\n\t * Enhanced column definitions with filter functions\n\t */\n\tenhancedColumns: ColumnDef<TData>[];\n\n\t/**\n\t * Handlers\n\t */\n\thandlers: {\n\t\t/**\n\t\t * Update a specific filter's value\n\t\t */\n\t\tupdateFilter: (filterId: string, value: TValue) => void;\n\n\t\t/**\n\t\t * Apply all filters (converts to TanStack format)\n\t\t */\n\t\tapplyFilters: () => void;\n\n\t\t/**\n\t\t * Clear all filters\n\t\t */\n\t\tclearAll: () => void;\n\n\t\t/**\n\t\t * Delete a specific chip\n\t\t */\n\t\tdeleteChip: (chip: ChipItem) => void;\n\t};\n\n\t/**\n\t * Render function for filter modal content\n\t */\n\trenderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;\n}\n\n/**\n * Hook to orchestrate table filtering with adapters\n * Manages filter state, generates chips, handles column definitions\n *\n * @param filterAdapters Array of filter adapters\n * @param baseColumns Base column definitions (optional)\n * @returns Complete filter management system\n */\nexport function useTableFilters<TData, TValue, TCellValue>(\n\tfilterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[],\n\tbaseColumns?: ColumnDef<TData>[],\n): UseTableFiltersResult<TData, TValue> {\n\t// Internal variable just to avoid assignment issues of `any`.\n\tconst _filterAdapters = filterAdapters as FilterAdapter<TData, TValue, TCellValue>[];\n\n\t// Initialize filter state from adapters\n\tconst initialState: FilterState<TValue> = {};\n\t_filterAdapters.forEach((adapter) => {\n\t\tinitialState[adapter.id] = adapter.initialValue;\n\t});\n\n\tconst [filterState, setFilterState] = useState<FilterState<TValue>>(initialState);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFilterState<TValue>[]>([]);\n\tconst [filterChips, setFilterChips] = useState<ChipItem[]>([]);\n\n\tconst getValueByAdapterId = (adapterId: string) => {\n\t\t// Should be safe to cast because it's being filled in the initialState\n\t\treturn filterState[adapterId] as TValue;\n\t};\n\n\t// Generate filter nav items with counts (updates as user changes filters in modal)\n\tconst filterNavItems: FilterNavItem[] = _filterAdapters.map((adapter) => ({\n\t\tid: adapter.id,\n\t\tlabel: adapter.label,\n\t\tcount: adapter.getActiveFiltersCount(getValueByAdapterId(adapter.id)),\n\t}));\n\n\t// Enhance column definitions with filter functions and renderers\n\tconst enhancedColumns: ColumnDef<TData>[] = !baseColumns\n\t\t? []\n\t\t: baseColumns.map((col) => {\n\t\t\t\tconst adapter = _filterAdapters.find((a) => a.id === col.id);\n\n\t\t\t\tif (adapter) {\n\t\t\t\t\tconst cellRenderer = adapter.cellRenderer;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...col,\n\t\t\t\t\t\tfilterFn: adapter.columnFilterFn,\n\t\t\t\t\t\t...(cellRenderer && {\n\t\t\t\t\t\t\tcell: (info: CellContext<TData, TCellValue>) => cellRenderer(info.getValue()),\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn col;\n\t\t\t});\n\n\t// Handlers\n\tconst updateFilter = (filterId: string, value: TValue) => {\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterId]: value,\n\t\t}));\n\t};\n\n\tconst applyFilters = () => {\n\t\tconst filters: ColumnFilterState<TValue>[] = [];\n\t\tconst chips: ChipItem[] = [];\n\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = getValueByAdapterId(adapter.id);\n\n\t\t\tif (adapter.getActiveFiltersCount(value) > 0) {\n\t\t\t\tfilters.push({\n\t\t\t\t\tid: adapter.id,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generate chips from current filter value\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\tsetColumnFilters(filters);\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst clearAll = () => {\n\t\tconst resetState: FilterState<TValue> = {};\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tresetState[adapter.id] = adapter.reset();\n\t\t});\n\t\tsetFilterState(resetState);\n\t\tsetColumnFilters([]);\n\t\tsetFilterChips([]);\n\t};\n\n\tconst deleteChip = (chip: ChipItem) => {\n\t\tconst filterKey = typeof chip.metadata?.key === 'string' ? chip.metadata.key : undefined;\n\t\tif (!filterKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst adapter = _filterAdapters.find((a) => a.id === filterKey);\n\t\tif (!adapter) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentValue = getValueByAdapterId(filterKey);\n\t\tconst newValue = adapter.fromChip(chip, currentValue);\n\n\t\t// Regenerate chips to check if this was the last one\n\t\tconst chips: ChipItem[] = [];\n\t\t_filterAdapters.forEach((adapter) => {\n\t\t\tconst value = adapter.id === filterKey ? newValue : getValueByAdapterId(adapter.id);\n\t\t\tconst adapterChips = adapter.toChips(value);\n\t\t\tchips.push(...adapterChips);\n\t\t});\n\n\t\t// If no chips left, clear all filters\n\t\tif (chips.length === 0) {\n\t\t\tclearAll();\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, update state and filters\n\t\tsetFilterState((prev) => ({\n\t\t\t...prev,\n\t\t\t[filterKey]: newValue,\n\t\t}));\n\n\t\t// Update column filters\n\t\tif (adapter.getActiveFiltersCount(newValue) === 0) {\n\t\t\tsetColumnFilters((prev) => prev.filter((cf) => cf.id !== filterKey));\n\t\t} else {\n\t\t\tsetColumnFilters((prev) =>\n\t\t\t\tprev.map((cf) => (cf.id === filterKey ? { id: filterKey, value: newValue } : cf)),\n\t\t\t);\n\t\t}\n\n\t\tsetFilterChips(chips);\n\t};\n\n\tconst renderFilterContent = (selectedFilter: FilterNavItem) => {\n\t\tconst adapter = _filterAdapters.find((a) => a.id === selectedFilter.id);\n\t\tif (!adapter) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst value = getValueByAdapterId(adapter.id);\n\t\tconst onChange = (newValue: TValue) => updateFilter(adapter.id, newValue);\n\n\t\treturn adapter.renderFilter(value, onChange);\n\t};\n\n\treturn {\n\t\tfilterState,\n\t\tcolumnFilters,\n\t\tfilterChips,\n\t\tfilterNavItems,\n\t\tenhancedColumns,\n\t\thandlers: {\n\t\t\tupdateFilter,\n\t\t\tapplyFilters,\n\t\t\tclearAll,\n\t\t\tdeleteChip,\n\t\t},\n\t\trenderFilterContent,\n\t};\n}\n"],"mappings":"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"}
|