@drivenets/design-system 0.2.0 → 0.4.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 +26 -0
- package/README.md +1 -1
- package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
- package/dist/components/ds-alert-banner/ds-alert-banner.d.ts.map +1 -1
- package/dist/components/ds-autocomplete/ds-autocomplete.cjs +218 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.d.cts +22 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.d.cts.map +1 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.d.ts +22 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.d.ts.map +1 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.js +217 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.js.map +1 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.module.cjs +27 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.module.js +27 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.module.js.map +1 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts +79 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts.map +1 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts +80 -0
- package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts.map +1 -0
- package/dist/components/ds-autocomplete/index.cjs +1 -0
- package/dist/components/ds-autocomplete/index.d.ts +2 -0
- package/dist/components/ds-autocomplete/index.js +1 -0
- package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -1
- package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -1
- package/dist/components/ds-button/ds-button.d.cts +2 -2
- package/dist/components/ds-button/ds-button.d.cts.map +1 -1
- package/dist/components/ds-button/ds-button.d.ts +2 -2
- package/dist/components/ds-button/ds-button.d.ts.map +1 -1
- 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-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.cjs +20 -221
- package/dist/components/ds-confirmation/ds-confirmation.d.cts +22 -27
- package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.d.ts +22 -27
- package/dist/components/ds-confirmation/ds-confirmation.d.ts.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.js +21 -221
- package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.types.d.cts +2 -1
- package/dist/components/ds-confirmation/ds-confirmation.types.d.cts.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.types.d.ts +2 -1
- package/dist/components/ds-confirmation/ds-confirmation.types.d.ts.map +1 -1
- package/dist/components/ds-date-input/ds-date-input.cjs +1 -1
- package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
- package/dist/components/ds-date-input/ds-date-input.d.cts.map +1 -1
- package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
- package/dist/components/ds-date-input/ds-date-input.js +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 +4 -4
- 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 +4 -4
- package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.cjs +20 -20
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js +20 -20
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.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/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.d.ts +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 +47 -48
- package/dist/components/ds-modal/ds-modal.d.cts +11 -10
- package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
- package/dist/components/ds-modal/ds-modal.d.ts +11 -10
- package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
- package/dist/components/ds-modal/ds-modal.js +47 -48
- package/dist/components/ds-modal/ds-modal.js.map +1 -1
- package/dist/components/ds-modal/ds-modal.module.cjs +24 -24
- package/dist/components/ds-modal/ds-modal.module.js +24 -24
- package/dist/components/ds-modal/ds-modal.module.js.map +1 -1
- package/dist/components/ds-modal/ds-modal.types.d.cts +10 -5
- package/dist/components/ds-modal/ds-modal.types.d.cts.map +1 -1
- package/dist/components/ds-modal/ds-modal.types.d.ts +10 -5
- package/dist/components/ds-modal/ds-modal.types.d.ts.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 +2 -2
- 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 +2 -2
- 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/index.d.ts +1 -1
- package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +180 -178
- package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts +58 -25
- package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts.map +1 -1
- package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts +58 -25
- package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts.map +1 -1
- package/dist/components/ds-table/filters/hooks/use-table-filters.js +180 -178
- package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
- package/dist/components/ds-table/filters/index.d.ts +1 -1
- package/dist/components/ds-table/index.d.ts +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.d.cts +2 -2
- package/dist/components/ds-tag/ds-tag.d.ts +2 -2
- package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
- package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +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 +24 -1
- package/dist/index.d.cts +15 -4
- package/dist/index.d.ts +20 -5
- package/dist/index.js +15 -2
- package/dist/index.min.css +1 -1
- package/package.json +5 -3
- package/src/components/ds-autocomplete/ds-autocomplete.module.scss +257 -0
- package/src/components/ds-autocomplete/ds-autocomplete.tsx +130 -0
- package/src/components/ds-autocomplete/ds-autocomplete.types.tsx +76 -0
- package/src/components/ds-autocomplete/index.ts +2 -0
- package/src/components/ds-avatar/ds-avatar.module.scss +1 -1
- package/src/components/ds-avatar-group/ds-avatar-group.module.scss +1 -1
- 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-group/hooks/use-chip-row-calculation.ts +5 -0
- package/src/components/ds-confirmation/ds-confirmation.tsx +11 -115
- package/src/components/ds-confirmation/ds-confirmation.types.tsx +2 -1
- 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.module.scss +0 -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.module.scss +123 -60
- package/src/components/ds-modal/ds-modal.tsx +12 -3
- package/src/components/ds-modal/ds-modal.types.tsx +14 -5
- 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/index.ts +1 -1
- package/src/components/ds-table/filters/hooks/use-table-filters.ts +118 -112
- 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 +22 -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/index.ts +4 -0
- package/src/styles/shared/_modal.scss +0 -123
- package/dist/components/ds-confirmation/ds-confirmation.module.cjs +0 -21
- package/dist/components/ds-confirmation/ds-confirmation.module.js +0 -21
- package/dist/components/ds-confirmation/ds-confirmation.module.js.map +0 -1
- package/src/components/ds-confirmation/ds-confirmation.module.scss +0 -58
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import type { DsSkeletonTextProps } from './ds-skeleton.types';
|
|
4
|
+
import { typographyHeightMap, DEFAULT_LINE_GAP, radiusMap } from './ds-skeleton.config';
|
|
5
|
+
import styles from './ds-skeleton.module.scss';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Text skeleton component - matches typography variants
|
|
9
|
+
* It renders pill-shaped lines that match the height of text content
|
|
10
|
+
*/
|
|
11
|
+
const DsSkeletonText = ({
|
|
12
|
+
typographyVariant = 'body-sm-reg',
|
|
13
|
+
color = 'gray',
|
|
14
|
+
lines = 1,
|
|
15
|
+
width,
|
|
16
|
+
radius = 'default',
|
|
17
|
+
className,
|
|
18
|
+
style,
|
|
19
|
+
}: DsSkeletonTextProps) => {
|
|
20
|
+
const height = typographyHeightMap[typographyVariant];
|
|
21
|
+
const borderRadius = typeof radius === 'number' ? radius : radiusMap[radius];
|
|
22
|
+
|
|
23
|
+
const getLineWidth = (): string | number => {
|
|
24
|
+
if (width !== undefined) {
|
|
25
|
+
return width;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return '100%';
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const lineClassName = classNames(styles.skeleton, styles.text, styles[color], className);
|
|
32
|
+
|
|
33
|
+
const createLineStyle = (lineWidth: string | number): CSSProperties => ({
|
|
34
|
+
height,
|
|
35
|
+
width: typeof lineWidth === 'number' ? String(lineWidth) + 'px' : lineWidth,
|
|
36
|
+
borderRadius,
|
|
37
|
+
...style,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<div aria-hidden="true" className={styles.container} style={{ gap: DEFAULT_LINE_GAP }}>
|
|
42
|
+
{Array.from({ length: lines }, (_, index) => (
|
|
43
|
+
<span key={index} className={lineClassName} style={createLineStyle(getLineWidth())} />
|
|
44
|
+
))}
|
|
45
|
+
</div>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default DsSkeletonText;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { DsAvatarSize } from '../ds-avatar';
|
|
2
|
+
import type { SemanticVariant } from '../ds-typography';
|
|
3
|
+
import type { SkeletonRadiusVariant } from './ds-skeleton.types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Circle size mapping matching DsAvatar component
|
|
7
|
+
* Maps semantic size names to pixel values
|
|
8
|
+
*/
|
|
9
|
+
export const circleSizeMap: Record<DsAvatarSize, number> = Object.freeze({
|
|
10
|
+
xsm: 24,
|
|
11
|
+
sm: 32,
|
|
12
|
+
regular: 40,
|
|
13
|
+
md: 48,
|
|
14
|
+
lg: 64,
|
|
15
|
+
xl: 80,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Typography variant height mapping
|
|
20
|
+
* Maps semantic variants to approximate heights in pixels
|
|
21
|
+
* Based on line-height values from design system
|
|
22
|
+
*/
|
|
23
|
+
export const typographyHeightMap: Record<SemanticVariant, number> = Object.freeze({
|
|
24
|
+
// Body variants - based on line-height
|
|
25
|
+
'body-md-reg': 20,
|
|
26
|
+
'body-md-md': 20,
|
|
27
|
+
'body-md-semi-bold': 20,
|
|
28
|
+
'body-md-bold': 20,
|
|
29
|
+
'body-md-link': 20,
|
|
30
|
+
|
|
31
|
+
'body-sm-reg': 18,
|
|
32
|
+
'body-sm-md': 18,
|
|
33
|
+
'body-sm-semi-bold': 18,
|
|
34
|
+
'body-sm-bold': 18,
|
|
35
|
+
'body-sm-link': 18,
|
|
36
|
+
|
|
37
|
+
'body-xs-reg': 16,
|
|
38
|
+
'body-xs-md': 16,
|
|
39
|
+
'body-xs-semi-bold': 16,
|
|
40
|
+
'body-xs-bold': 16,
|
|
41
|
+
'body-xs-link': 16,
|
|
42
|
+
|
|
43
|
+
// Code variants
|
|
44
|
+
'code-sm-reg': 18,
|
|
45
|
+
'code-sm-semi-bold': 18,
|
|
46
|
+
'code-xs-reg': 16,
|
|
47
|
+
'code-xs-semi-bold': 16,
|
|
48
|
+
|
|
49
|
+
// Heading variants - based on line-height
|
|
50
|
+
heading1: 64,
|
|
51
|
+
heading2: 54,
|
|
52
|
+
heading3: 48,
|
|
53
|
+
heading4: 36,
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Border radius mapping
|
|
58
|
+
* Maps semantic radius names to pixel values
|
|
59
|
+
*/
|
|
60
|
+
export const radiusMap: Record<SkeletonRadiusVariant, number> = Object.freeze({
|
|
61
|
+
default: 4, // Standard button/card radius
|
|
62
|
+
round: 999, // Pill-shaped (fully rounded)
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Default gap between skeleton lines in pixels
|
|
67
|
+
*/
|
|
68
|
+
export const DEFAULT_LINE_GAP = 8;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
.skeleton {
|
|
2
|
+
animation: shimmer 2s linear infinite;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.gray {
|
|
6
|
+
--skeleton-gray-base: #f3f5fa;
|
|
7
|
+
--skeleton-gray-accent: #e3e3e3;
|
|
8
|
+
|
|
9
|
+
background: linear-gradient(
|
|
10
|
+
90deg,
|
|
11
|
+
var(--skeleton-gray-base) 0%,
|
|
12
|
+
var(--skeleton-gray-base) 33%,
|
|
13
|
+
var(--skeleton-gray-accent) 50%,
|
|
14
|
+
var(--skeleton-gray-base) 66%,
|
|
15
|
+
var(--skeleton-gray-base) 100%
|
|
16
|
+
);
|
|
17
|
+
background-size: 300% 100%;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.blue {
|
|
21
|
+
--skeleton-blue-accent: #759cec;
|
|
22
|
+
--skeleton-blue-base: #dfe9ff;
|
|
23
|
+
|
|
24
|
+
background: linear-gradient(
|
|
25
|
+
90deg,
|
|
26
|
+
var(--skeleton-blue-base) 0%,
|
|
27
|
+
var(--skeleton-blue-base) 33%,
|
|
28
|
+
var(--skeleton-blue-accent) 50%,
|
|
29
|
+
var(--skeleton-blue-base) 66%,
|
|
30
|
+
var(--skeleton-blue-base) 100%
|
|
31
|
+
);
|
|
32
|
+
background-size: 300% 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.text {
|
|
36
|
+
display: block;
|
|
37
|
+
margin-bottom: var(--spacing-xs);
|
|
38
|
+
|
|
39
|
+
&:last-child {
|
|
40
|
+
margin-bottom: 0;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.circle {
|
|
45
|
+
display: inline-block;
|
|
46
|
+
border-radius: 50%;
|
|
47
|
+
flex-shrink: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.rectangle {
|
|
51
|
+
display: inline-block;
|
|
52
|
+
flex-shrink: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.container {
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@keyframes shimmer {
|
|
61
|
+
0% {
|
|
62
|
+
background-position: 100% 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
60% {
|
|
66
|
+
background-position: 0 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
100% {
|
|
70
|
+
background-position: 0 0;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { CSSProperties, Ref } from 'react';
|
|
2
|
+
import type { DsAvatarSize } from '../ds-avatar';
|
|
3
|
+
import type { SemanticVariant } from '../ds-typography';
|
|
4
|
+
|
|
5
|
+
export const skeletonColorVariants = ['gray', 'blue'] as const;
|
|
6
|
+
export type SkeletonColorVariant = (typeof skeletonColorVariants)[number];
|
|
7
|
+
|
|
8
|
+
export const skeletonRadiusVariants = ['default', 'round'] as const;
|
|
9
|
+
export type SkeletonRadiusVariant = (typeof skeletonRadiusVariants)[number];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Shared base props for all skeleton components
|
|
13
|
+
*/
|
|
14
|
+
export interface DsSkeletonBaseProps {
|
|
15
|
+
/**
|
|
16
|
+
* Color variant of the skeleton
|
|
17
|
+
* @default 'gray'
|
|
18
|
+
*/
|
|
19
|
+
color?: SkeletonColorVariant;
|
|
20
|
+
/**
|
|
21
|
+
* Additional CSS class names
|
|
22
|
+
*/
|
|
23
|
+
className?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Additional inline styles
|
|
26
|
+
*/
|
|
27
|
+
style?: CSSProperties;
|
|
28
|
+
/**
|
|
29
|
+
* Ref to the skeleton element
|
|
30
|
+
*/
|
|
31
|
+
ref?: Ref<HTMLSpanElement>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Props for DsSkeleton.Text component
|
|
36
|
+
* Typography-based text skeleton with configurable lines
|
|
37
|
+
*/
|
|
38
|
+
export interface DsSkeletonTextProps extends DsSkeletonBaseProps {
|
|
39
|
+
/**
|
|
40
|
+
* Typography variant - determines the height of the skeleton
|
|
41
|
+
* @default 'body-sm-reg'
|
|
42
|
+
*/
|
|
43
|
+
typographyVariant?: SemanticVariant;
|
|
44
|
+
/**
|
|
45
|
+
* Number of lines to render
|
|
46
|
+
* @default 1
|
|
47
|
+
*/
|
|
48
|
+
lines?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Width of skeleton. Last line will have varied width if not specified.
|
|
51
|
+
* Can be a number (px) or string ('50%', '200px')
|
|
52
|
+
* @default '100%' (last line varies between 40-80%)
|
|
53
|
+
*/
|
|
54
|
+
width?: string | number;
|
|
55
|
+
/**
|
|
56
|
+
* Border radius: 'default' (4px), 'round' (pill-shaped), or custom px value
|
|
57
|
+
* @default 'default'
|
|
58
|
+
*/
|
|
59
|
+
radius?: SkeletonRadiusVariant | number;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Props for DsSkeleton.Circle component
|
|
64
|
+
* Circular skeleton for avatars and icons
|
|
65
|
+
*/
|
|
66
|
+
export interface DsSkeletonCircleProps extends DsSkeletonBaseProps {
|
|
67
|
+
/**
|
|
68
|
+
* Size of the circle - matches DsAvatar sizes or custom pixel value
|
|
69
|
+
* @default 'regular'
|
|
70
|
+
*/
|
|
71
|
+
size?: DsAvatarSize | number;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Props for DsSkeleton.Rect component
|
|
76
|
+
* Rectangular skeleton for buttons, images, and custom shapes
|
|
77
|
+
*/
|
|
78
|
+
export interface DsSkeletonRectProps extends DsSkeletonBaseProps {
|
|
79
|
+
/**
|
|
80
|
+
* Width of rectangle. Can be number (px) or string ('50%', '200px')
|
|
81
|
+
*/
|
|
82
|
+
width: string | number;
|
|
83
|
+
/**
|
|
84
|
+
* Height of rectangle. Can be number (px) or string ('50%', '200px')
|
|
85
|
+
*/
|
|
86
|
+
height: string | number;
|
|
87
|
+
/**
|
|
88
|
+
* Border radius: 'default' (4px), 'round' (pill-shaped), or custom px value
|
|
89
|
+
* @default 'default'
|
|
90
|
+
*/
|
|
91
|
+
radius?: SkeletonRadiusVariant | number;
|
|
92
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './ds-skeleton.types';
|
|
2
|
+
export { default as DsSkeleton } from './ds-skeleton';
|
|
3
|
+
export { default as DsSkeletonText } from './ds-skeleton-text';
|
|
4
|
+
export { default as DsSkeletonCircle } from './ds-skeleton-circle';
|
|
5
|
+
export { default as DsSkeletonRect } from './ds-skeleton-rect';
|
|
@@ -26,7 +26,7 @@ const DsSpinner: React.FC<DsSpinnerProps> = ({ size = 'medium', className, style
|
|
|
26
26
|
const strokeDasharray = `${String(0.25 * circumference)} ${String(circumference)}`;
|
|
27
27
|
|
|
28
28
|
return (
|
|
29
|
-
<div className={classNames(styles.spinnerContainer,
|
|
29
|
+
<div className={classNames(styles.spinnerContainer, className)} style={style} {...props}>
|
|
30
30
|
<svg
|
|
31
31
|
className={classNames(styles.progressCircle, styles.spin)}
|
|
32
32
|
width={actualSize}
|
|
@@ -4,8 +4,8 @@ import styles from './core-table.module.scss';
|
|
|
4
4
|
|
|
5
5
|
type TableProps = HTMLAttributes<HTMLTableElement> & { ref?: Ref<HTMLTableElement> };
|
|
6
6
|
|
|
7
|
-
function Table({ className,
|
|
8
|
-
return <table
|
|
7
|
+
function Table({ className, ...props }: TableProps) {
|
|
8
|
+
return <table className={classnames(styles.table, className)} {...props} />;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
Table.displayName = 'Table';
|
|
@@ -14,8 +14,8 @@ type TableHeaderProps = HTMLAttributes<HTMLTableSectionElement> & {
|
|
|
14
14
|
ref?: Ref<HTMLTableSectionElement>;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
function TableHeader(
|
|
18
|
-
return <thead
|
|
17
|
+
function TableHeader(props: TableHeaderProps) {
|
|
18
|
+
return <thead {...props} />;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
TableHeader.displayName = 'TableHeader';
|
|
@@ -24,8 +24,8 @@ type TableBodyProps = HTMLAttributes<HTMLTableSectionElement> & {
|
|
|
24
24
|
ref?: Ref<HTMLTableSectionElement>;
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
function TableBody(
|
|
28
|
-
return <tbody
|
|
27
|
+
function TableBody(props: TableBodyProps) {
|
|
28
|
+
return <tbody {...props} />;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
TableBody.displayName = 'TableBody';
|
|
@@ -34,8 +34,8 @@ type TableFooterProps = HTMLAttributes<HTMLTableSectionElement> & {
|
|
|
34
34
|
ref?: Ref<HTMLTableSectionElement>;
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
function TableFooter({ className,
|
|
38
|
-
return <tfoot
|
|
37
|
+
function TableFooter({ className, ...props }: TableFooterProps) {
|
|
38
|
+
return <tfoot className={classnames(styles.tableFooter, className)} {...props} />;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
TableFooter.displayName = 'TableFooter';
|
|
@@ -44,8 +44,8 @@ type TableRowProps = HTMLAttributes<HTMLTableRowElement> & {
|
|
|
44
44
|
ref?: Ref<HTMLTableRowElement>;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
function TableRow(
|
|
48
|
-
return <tr
|
|
47
|
+
function TableRow(props: TableRowProps) {
|
|
48
|
+
return <tr {...props} />;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
TableRow.displayName = 'TableRow';
|
|
@@ -54,8 +54,8 @@ type TableHeadProps = ThHTMLAttributes<HTMLTableCellElement> & {
|
|
|
54
54
|
ref?: Ref<HTMLTableCellElement>;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
function TableHead({ className,
|
|
58
|
-
return <th
|
|
57
|
+
function TableHead({ className, ...props }: TableHeadProps) {
|
|
58
|
+
return <th className={classnames(styles.tableHead, className)} {...props} />;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
TableHead.displayName = 'TableHead';
|
|
@@ -64,8 +64,8 @@ type TableCellProps = TdHTMLAttributes<HTMLTableCellElement> & {
|
|
|
64
64
|
ref?: Ref<HTMLTableCellElement>;
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
function TableCell({ className,
|
|
68
|
-
return <td
|
|
67
|
+
function TableCell({ className, ...props }: TableCellProps) {
|
|
68
|
+
return <td className={classnames(styles.tableCell, className)} {...props} />;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
TableCell.displayName = 'TableCell';
|
|
@@ -74,8 +74,8 @@ type TableCaptionProps = HTMLAttributes<HTMLTableCaptionElement> & {
|
|
|
74
74
|
ref?: Ref<HTMLTableCaptionElement>;
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
-
function TableCaption({ className,
|
|
78
|
-
return <caption
|
|
77
|
+
function TableCaption({ className, ...props }: TableCaptionProps) {
|
|
78
|
+
return <caption className={classnames(styles.tableCaption, className)} {...props} />;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
TableCaption.displayName = 'TableCaption';
|
|
@@ -5,6 +5,7 @@ import { DsButton } from '../../../ds-button';
|
|
|
5
5
|
import { DsIcon } from '../../../ds-icon';
|
|
6
6
|
import styles from './ds-table-bulk-actions.module.scss';
|
|
7
7
|
import type { BulkActionsProps } from './ds-table-bulk-actions.types';
|
|
8
|
+
import { DsTypography } from '../../../ds-typography';
|
|
8
9
|
|
|
9
10
|
const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actions, onClearSelection }) => {
|
|
10
11
|
const [isRendered, setIsRendered] = useState(false);
|
|
@@ -31,24 +32,21 @@ const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actio
|
|
|
31
32
|
return (
|
|
32
33
|
<div className={classnames(styles.bulkActionsContainer, animationClass)}>
|
|
33
34
|
<div className={styles.selectedCountContainer}>
|
|
34
|
-
<
|
|
35
|
+
<DsTypography variant="heading1" className={styles.selectedCountBadge}>
|
|
36
|
+
{numSelectedRows}
|
|
37
|
+
</DsTypography>
|
|
35
38
|
</div>
|
|
36
39
|
<div className={styles.bulkActionsContent}>
|
|
37
|
-
<
|
|
40
|
+
<DsTypography variant="body-md-semi-bold" className={styles.bulkActionsInfo}>
|
|
41
|
+
Items selected
|
|
42
|
+
</DsTypography>
|
|
38
43
|
|
|
39
44
|
<div className={styles.bulkActionsActions}>
|
|
40
45
|
{actions.map((action, index) => (
|
|
41
|
-
<
|
|
42
|
-
key={index}
|
|
43
|
-
variant="borderless"
|
|
44
|
-
size="small"
|
|
45
|
-
className={styles.actionButton}
|
|
46
|
-
contentClassName={styles.actionButtonContent}
|
|
47
|
-
onClick={action.onClick}
|
|
48
|
-
>
|
|
46
|
+
<button key={index} type="button" className={styles.actionButton} onClick={action.onClick}>
|
|
49
47
|
<DsIcon icon={action.icon} />
|
|
50
|
-
<
|
|
51
|
-
</
|
|
48
|
+
<DsTypography variant="body-xs-md">{action.label}</DsTypography>
|
|
49
|
+
</button>
|
|
52
50
|
))}
|
|
53
51
|
</div>
|
|
54
52
|
|
|
@@ -60,7 +58,6 @@ const DsTableBulkActions: React.FC<BulkActionsProps> = ({ numSelectedRows, actio
|
|
|
60
58
|
onClick={onClearSelection}
|
|
61
59
|
>
|
|
62
60
|
<DsIcon icon="close" />
|
|
63
|
-
<span className={(styles['p-s'], styles.medium)}>Esc</span>
|
|
64
61
|
</DsButton>
|
|
65
62
|
</div>
|
|
66
63
|
</div>
|
|
@@ -50,7 +50,6 @@ const DsTableRow = <TData,>({ ref, row, virtualRow }: DsTableRowProps<TData>) =>
|
|
|
50
50
|
renderExpandedRow,
|
|
51
51
|
virtualized,
|
|
52
52
|
bordered,
|
|
53
|
-
highlightOnHover,
|
|
54
53
|
rowSize,
|
|
55
54
|
toggleRowExpanded,
|
|
56
55
|
primaryRowActions,
|
|
@@ -100,7 +99,6 @@ const DsTableRow = <TData,>({ ref, row, virtualRow }: DsTableRowProps<TData>) =>
|
|
|
100
99
|
},
|
|
101
100
|
virtualized && styles.virtualizedRow,
|
|
102
101
|
onRowClick && styles.clickableRow,
|
|
103
|
-
highlightOnHover && styles.highlightHoverRow,
|
|
104
102
|
!bordered && styles.rowNoBorder,
|
|
105
103
|
isExpanded && styles.expanded,
|
|
106
104
|
)}
|
|
@@ -44,7 +44,6 @@ const DsTable = <TData extends { id: string }, TValue>({
|
|
|
44
44
|
stickyHeader = true,
|
|
45
45
|
bordered = true,
|
|
46
46
|
fullWidth = true,
|
|
47
|
-
highlightOnHover = true,
|
|
48
47
|
rowSize = 'medium',
|
|
49
48
|
expandable = false,
|
|
50
49
|
renderExpandedRow,
|
|
@@ -215,16 +214,13 @@ const DsTable = <TData extends { id: string }, TValue>({
|
|
|
215
214
|
|
|
216
215
|
const selectedRows = Object.entries(rowSelection)
|
|
217
216
|
.filter(([, selected]) => selected)
|
|
218
|
-
// This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.
|
|
219
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
220
217
|
.map(([key]) => rowsById[key]?.original)
|
|
221
|
-
.filter(
|
|
218
|
+
.filter((v) => !!v);
|
|
222
219
|
|
|
223
220
|
const contextValue: DsTableContextType<TData, TValue> = {
|
|
224
221
|
stickyHeader,
|
|
225
222
|
bordered,
|
|
226
223
|
fullWidth,
|
|
227
|
-
highlightOnHover,
|
|
228
224
|
rowSize,
|
|
229
225
|
expandable,
|
|
230
226
|
selectable,
|
|
@@ -279,6 +275,11 @@ const DsTable = <TData extends { id: string }, TValue>({
|
|
|
279
275
|
rowVirtualizer.getVirtualItems().length ? (
|
|
280
276
|
rowVirtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {
|
|
281
277
|
const row = rows[virtualRow.index];
|
|
278
|
+
|
|
279
|
+
if (!row) {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
|
|
282
283
|
return <DsTableRow key={row.id} row={row} virtualRow={virtualRow} />;
|
|
283
284
|
})
|
|
284
285
|
) : (
|
|
@@ -235,11 +235,6 @@ export interface DsDataTableProps<TData, TValue> {
|
|
|
235
235
|
*/
|
|
236
236
|
fullWidth?: boolean;
|
|
237
237
|
|
|
238
|
-
/**
|
|
239
|
-
* Whether the table has highlight on hover
|
|
240
|
-
*/
|
|
241
|
-
highlightOnHover?: boolean;
|
|
242
|
-
|
|
243
238
|
/**
|
|
244
239
|
* Row size variant (small: 36px, medium: 48px, large: 64px)
|
|
245
240
|
* @default 'medium'
|
|
@@ -74,9 +74,9 @@ export function createDualRangeFilterAdapter<TData>(
|
|
|
74
74
|
// Check each field's range
|
|
75
75
|
for (const [fieldKey, range] of Object.entries(filterValue)) {
|
|
76
76
|
const hasFilter = range.from !== undefined || range.to !== undefined;
|
|
77
|
+
const fieldValue = rowValue[fieldKey];
|
|
77
78
|
|
|
78
|
-
if (hasFilter) {
|
|
79
|
-
const fieldValue = rowValue[fieldKey];
|
|
79
|
+
if (hasFilter && fieldValue !== undefined) {
|
|
80
80
|
const matchesFrom = range.from === undefined || fieldValue >= range.from;
|
|
81
81
|
const matchesTo = range.to === undefined || fieldValue <= range.to;
|
|
82
82
|
|
|
@@ -147,8 +147,6 @@ export function createDualRangeFilterAdapter<TData>(
|
|
|
147
147
|
<RangeFilter
|
|
148
148
|
key={fieldKey}
|
|
149
149
|
label={fieldLabel}
|
|
150
|
-
// This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.
|
|
151
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
152
150
|
value={value[fieldKey] || {}}
|
|
153
151
|
onChange={(rangeValue) =>
|
|
154
152
|
onChange({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useTableFilters } from './use-table-filters';
|
|
2
|
-
export type { UseTableFiltersResult } from './use-table-filters';
|
|
2
|
+
export type { UseTableFiltersOptions, UseTableFiltersResult } from './use-table-filters';
|