@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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.loaderContainer {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.loader {
|
|
8
|
+
animation: spin 1s linear infinite;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@keyframes spin {
|
|
12
|
+
0% {
|
|
13
|
+
transform: rotate(0deg);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
100% {
|
|
17
|
+
transform: rotate(360deg);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.pulsingIcon {
|
|
22
|
+
--loader-pulsing-color: #5452f6;
|
|
23
|
+
|
|
24
|
+
color: var(--loader-pulsing-color);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.pulsingOuter {
|
|
28
|
+
fill: currentcolor;
|
|
29
|
+
opacity: 0.3;
|
|
30
|
+
transform-origin: center;
|
|
31
|
+
animation: pulse 1.4s ease-in-out infinite;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.pulsingInner {
|
|
35
|
+
fill: currentcolor;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@keyframes pulse {
|
|
39
|
+
0%,
|
|
40
|
+
100% {
|
|
41
|
+
transform: scale(0.7);
|
|
42
|
+
opacity: 0.3;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
50% {
|
|
46
|
+
transform: scale(1.1);
|
|
47
|
+
opacity: 0.15;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.spinnerGradient {
|
|
52
|
+
--loader-spinner-color: #4192f6;
|
|
53
|
+
|
|
54
|
+
background: conic-gradient(from 90deg, var(--loader-spinner-color) 0deg, transparent 360deg);
|
|
55
|
+
height: 100%;
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import styles from './ds-loader.module.scss';
|
|
3
|
+
import type { DsLoaderProps } from './ds-loader.types';
|
|
4
|
+
import PulsingIcon from './pulsing-icon';
|
|
5
|
+
import SpinnerIcon from './spinner-icon';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Design system Loader component
|
|
9
|
+
*/
|
|
10
|
+
const DsLoader = ({ variant = 'spinner', className, ...props }: DsLoaderProps) => {
|
|
11
|
+
return (
|
|
12
|
+
<div className={classNames(styles.loaderContainer, className)} {...props}>
|
|
13
|
+
{variant === 'pulsing' ? <PulsingIcon /> : <SpinnerIcon />}
|
|
14
|
+
</div>
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default DsLoader;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
|
|
3
|
+
export const loaderVariants = ['spinner', 'pulsing'] as const;
|
|
4
|
+
export type LoaderVariant = (typeof loaderVariants)[number];
|
|
5
|
+
|
|
6
|
+
export interface DsLoaderProps {
|
|
7
|
+
/**
|
|
8
|
+
* Loader variant
|
|
9
|
+
* @default 'spinner'
|
|
10
|
+
*/
|
|
11
|
+
variant?: LoaderVariant;
|
|
12
|
+
/**
|
|
13
|
+
* Additional CSS class names
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Additional styles to apply to the component
|
|
18
|
+
*/
|
|
19
|
+
style?: React.CSSProperties;
|
|
20
|
+
/**
|
|
21
|
+
* Ref to the loader container element
|
|
22
|
+
*/
|
|
23
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styles from './ds-loader.module.scss';
|
|
2
|
+
|
|
3
|
+
const PulsingIcon = () => (
|
|
4
|
+
<svg
|
|
5
|
+
className={styles.pulsingIcon}
|
|
6
|
+
width="24"
|
|
7
|
+
height="24"
|
|
8
|
+
viewBox="0 0 24 24"
|
|
9
|
+
fill="none"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
>
|
|
12
|
+
<circle className={styles.pulsingOuter} cx="12" cy="12" r="8" />
|
|
13
|
+
<circle className={styles.pulsingInner} cx="12" cy="12" r="5.5" />
|
|
14
|
+
</svg>
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
export default PulsingIcon;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import styles from './ds-loader.module.scss';
|
|
2
|
+
|
|
3
|
+
const SpinnerIcon = () => (
|
|
4
|
+
<svg
|
|
5
|
+
className={styles.loader}
|
|
6
|
+
width="24"
|
|
7
|
+
height="24"
|
|
8
|
+
viewBox="0 0 24 24"
|
|
9
|
+
fill="none"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
>
|
|
12
|
+
<mask id="path-2-inside-1_14836_15182" fill="white">
|
|
13
|
+
<path d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4Z" />
|
|
14
|
+
</mask>
|
|
15
|
+
<g clipPath="url(#paint0_angular_14836_15182_clip_path)" mask="url(#path-2-inside-1_14836_15182)">
|
|
16
|
+
<g transform="matrix(-0.008 0 0 0.008 12 12)">
|
|
17
|
+
<foreignObject x="-1375" y="-1375" width="2750" height="2750">
|
|
18
|
+
<div className={styles.spinnerGradient} />
|
|
19
|
+
</foreignObject>
|
|
20
|
+
</g>
|
|
21
|
+
</g>
|
|
22
|
+
<path
|
|
23
|
+
d="M12 4L12 7C9.23858 7 7 9.23858 7 12L4 12L1 12C1 5.92487 5.92487 1 12 1L12 4ZM4 12L7 12C7 14.7614 9.23858 17 12 17L12 20L12 23C5.92487 23 1 18.0751 1 12L4 12ZM12 20L12 17C14.7614 17 17 14.7614 17 12L20 12L23 12C23 18.0751 18.0751 23 12 23L12 20ZM20 12L17 12C17 9.23858 14.7614 7 12 7L12 4L12 1C18.0751 1 23 5.92487 23 12L20 12Z"
|
|
24
|
+
mask="url(#path-2-inside-1_14836_15182)"
|
|
25
|
+
/>
|
|
26
|
+
<defs>
|
|
27
|
+
<clipPath id="paint0_angular_14836_15182_clip_path">
|
|
28
|
+
<path
|
|
29
|
+
d="M12 4L12 7C9.23858 7 7 9.23858 7 12L4 12L1 12C1 5.92487 5.92487 1 12 1L12 4ZM4 12L7 12C7 14.7614 9.23858 17 12 17L12 20L12 23C5.92487 23 1 18.0751 1 12L4 12ZM12 20L12 17C14.7614 17 17 14.7614 17 12L20 12L23 12C23 18.0751 18.0751 23 12 23L12 20ZM20 12L17 12C17 9.23858 14.7614 7 12 7L12 4L12 1C18.0751 1 23 5.92487 23 12L20 12Z"
|
|
30
|
+
mask="url(#path-2-inside-1_14836_15182)"
|
|
31
|
+
/>
|
|
32
|
+
</clipPath>
|
|
33
|
+
</defs>
|
|
34
|
+
</svg>
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
export default SpinnerIcon;
|
|
@@ -40,7 +40,13 @@ const DsModal = ({
|
|
|
40
40
|
<Dialog.Positioner>
|
|
41
41
|
<Dialog.Content
|
|
42
42
|
style={style}
|
|
43
|
-
className={classNames(
|
|
43
|
+
className={classNames(
|
|
44
|
+
styles.modal,
|
|
45
|
+
className,
|
|
46
|
+
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
48
|
+
styles[`cols-${columns}`],
|
|
49
|
+
)}
|
|
44
50
|
>
|
|
45
51
|
<div className={classNames(styles.content)}>{children}</div>
|
|
46
52
|
</Dialog.Content>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import type { DsSkeletonCircleProps } from './ds-skeleton.types';
|
|
4
|
+
import { circleSizeMap } from './ds-skeleton.config';
|
|
5
|
+
import styles from './ds-skeleton.module.scss';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Circle skeleton component - for avatars and icons
|
|
9
|
+
* Matches DsAvatar sizes
|
|
10
|
+
*/
|
|
11
|
+
const DsSkeletonCircle = ({ size = 'regular', color = 'gray', className, style }: DsSkeletonCircleProps) => {
|
|
12
|
+
const pixelSize = typeof size === 'number' ? size : circleSizeMap[size];
|
|
13
|
+
|
|
14
|
+
const circleStyle: CSSProperties = {
|
|
15
|
+
width: `${String(pixelSize)}px`,
|
|
16
|
+
height: `${String(pixelSize)}px`,
|
|
17
|
+
...style,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<span
|
|
22
|
+
className={classNames(styles.skeleton, styles.circle, styles[color], className)}
|
|
23
|
+
style={circleStyle}
|
|
24
|
+
aria-hidden="true"
|
|
25
|
+
/>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default DsSkeletonCircle;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import type { DsSkeletonRectProps } from './ds-skeleton.types';
|
|
4
|
+
import { radiusMap } from './ds-skeleton.config';
|
|
5
|
+
import styles from './ds-skeleton.module.scss';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Rectangle skeleton component - for buttons, images, and custom shapes
|
|
9
|
+
*/
|
|
10
|
+
const DsSkeletonRect = ({
|
|
11
|
+
width,
|
|
12
|
+
height,
|
|
13
|
+
radius = 'default',
|
|
14
|
+
color = 'gray',
|
|
15
|
+
className,
|
|
16
|
+
style,
|
|
17
|
+
}: DsSkeletonRectProps) => {
|
|
18
|
+
const borderRadius = typeof radius === 'number' ? radius : radiusMap[radius];
|
|
19
|
+
|
|
20
|
+
const rectStyle: React.CSSProperties = {
|
|
21
|
+
width: typeof width === 'number' ? `${String(width)}px` : width,
|
|
22
|
+
height: typeof height === 'number' ? `${String(height)}px` : height,
|
|
23
|
+
borderRadius: `${String(borderRadius)}px`,
|
|
24
|
+
...style,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<span
|
|
29
|
+
className={classNames(styles.skeleton, styles.rectangle, styles[color], className)}
|
|
30
|
+
style={rectStyle}
|
|
31
|
+
aria-hidden="true"
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export default DsSkeletonRect;
|
|
@@ -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';
|