@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
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
//#region src/components/ds-modal/ds-modal.module.scss
|
|
2
2
|
var ds_modal_module_default = {
|
|
3
|
-
"overlay": "
|
|
4
|
-
"fade-in-overlay": "_fade-in-
|
|
5
|
-
"fade-out-overlay": "_fade-out-
|
|
6
|
-
"modal": "
|
|
7
|
-
"scale-in-modal": "_scale-in-
|
|
8
|
-
"scale-out-modal": "_scale-out-
|
|
9
|
-
"content": "
|
|
10
|
-
"header": "
|
|
11
|
-
"footer": "
|
|
12
|
-
"body": "
|
|
13
|
-
"title": "
|
|
14
|
-
"actions": "
|
|
15
|
-
"cols-1": "_cols-
|
|
16
|
-
"cols-2": "_cols-
|
|
17
|
-
"cols-3": "_cols-
|
|
18
|
-
"cols-4": "_cols-
|
|
19
|
-
"cols-5": "_cols-
|
|
20
|
-
"cols-6": "_cols-
|
|
21
|
-
"cols-7": "_cols-
|
|
22
|
-
"cols-8": "_cols-
|
|
23
|
-
"cols-9": "_cols-
|
|
24
|
-
"cols-10": "_cols-
|
|
25
|
-
"cols-11": "_cols-
|
|
26
|
-
"cols-12": "_cols-
|
|
3
|
+
"overlay": "_overlay_5aciv_1",
|
|
4
|
+
"fade-in-overlay": "_fade-in-overlay_5aciv_1",
|
|
5
|
+
"fade-out-overlay": "_fade-out-overlay_5aciv_1",
|
|
6
|
+
"modal": "_modal_5aciv_1",
|
|
7
|
+
"scale-in-modal": "_scale-in-modal_5aciv_1",
|
|
8
|
+
"scale-out-modal": "_scale-out-modal_5aciv_1",
|
|
9
|
+
"content": "_content_5aciv_1",
|
|
10
|
+
"header": "_header_5aciv_1",
|
|
11
|
+
"footer": "_footer_5aciv_1",
|
|
12
|
+
"body": "_body_5aciv_1",
|
|
13
|
+
"title": "_title_5aciv_1",
|
|
14
|
+
"actions": "_actions_5aciv_1",
|
|
15
|
+
"cols-1": "_cols-1_5aciv_1",
|
|
16
|
+
"cols-2": "_cols-2_5aciv_1",
|
|
17
|
+
"cols-3": "_cols-3_5aciv_1",
|
|
18
|
+
"cols-4": "_cols-4_5aciv_1",
|
|
19
|
+
"cols-5": "_cols-5_5aciv_1",
|
|
20
|
+
"cols-6": "_cols-6_5aciv_1",
|
|
21
|
+
"cols-7": "_cols-7_5aciv_1",
|
|
22
|
+
"cols-8": "_cols-8_5aciv_1",
|
|
23
|
+
"cols-9": "_cols-9_5aciv_1",
|
|
24
|
+
"cols-10": "_cols-10_5aciv_1",
|
|
25
|
+
"cols-11": "_cols-11_5aciv_1",
|
|
26
|
+
"cols-12": "_cols-12_5aciv_1"
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-modal.module.js","names":[],"sources":["../../../
|
|
1
|
+
{"version":3,"file":"ds-modal.module.js","names":[],"sources":["../../../src/components/ds-modal/ds-modal.module.scss"],"sourcesContent":["$pad-x: var(--spacing-lg);\n$pad-y: var(--spacing-standard);\n$max-width: 90vw;\n$border-size: 1px;\n$border: $border-size solid var(--color-border-secondary);\n\n.overlay {\n\tposition: fixed;\n\tinset: 0;\n\tbackground: var(--color-background-brand);\n\topacity: 0.4;\n\tz-index: 1199;\n\n\t&[data-state='open'] {\n\t\tanimation: fade-in-overlay 0.2s ease-in-out both;\n\t}\n\n\t&[data-state='closed'] {\n\t\tanimation: fade-out-overlay 0.2s 0.1s ease-in-out both;\n\t}\n}\n\n@keyframes fade-in-overlay {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 0.4;\n\t}\n}\n\n@keyframes fade-out-overlay {\n\t0% {\n\t\topacity: 0.4;\n\t}\n\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n.modal {\n\tposition: fixed;\n\tinset: 50% auto auto 50%;\n\tbackground: var(--color-background);\n\tborder-radius: 4px;\n\tbox-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);\n\tz-index: 1200;\n\toverflow: hidden;\n\tinline-size: min(var(--col-span-6), $max-width);\n\n\t&[data-state='open'] {\n\t\tanimation: scale-in-modal 0.2s 0.1s ease-in-out both;\n\t}\n\n\t&[data-state='closed'] {\n\t\tanimation: scale-out-modal 0.2s ease-in-out both;\n\t}\n}\n\n@keyframes scale-in-modal {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translate(-50%, -50%) scale(0.9);\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translate(-50%, -50%) scale(1);\n\t}\n}\n\n@keyframes scale-out-modal {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translate(-50%, -50%) scale(1);\n\t}\n\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translate(-50%, -50%) scale(0.9);\n\t}\n}\n\n.content {\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n}\n\n.header,\n.footer,\n.body {\n\tpadding: $pad-y $pad-x;\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--spacing-xs);\n\tposition: relative;\n\tbackground: inherit;\n\tflex-shrink: 0;\n\n\t&::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tleft: $pad-x;\n\t\tright: $pad-x;\n\t\theight: $border-size;\n\t\tbackground: var(--color-border-secondary);\n\t}\n}\n\n.footer {\n\tdisplay: flex;\n\tbackground: inherit;\n\tflex-shrink: 0;\n}\n\n.title {\n\tcolor: var(--color-font-main);\n\tmargin: 0;\n\tflex: 1;\n}\n\n.body {\n\tflex: 1;\n\toverflow-y: auto;\n\toverflow-x: hidden;\n\tmin-height: 0;\n}\n\n.actions {\n\tdisplay: flex;\n\tgap: var(--spacing-xs);\n\tjustify-content: flex-end;\n\tmargin-left: auto;\n}\n\n// Dividers mode: full-width borders on header and footer\n.content[data-dividers] {\n\t.header {\n\t\tborder-bottom: $border;\n\n\t\t&::after {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t.footer {\n\t\tborder-top: $border;\n\t}\n}\n\n// Width classes derived from DS grid\n@for $i from 1 through 12 {\n\t.modal.cols-#{$i} {\n\t\tinline-size: min(var(--col-span-#{$i}), $max-width);\n\t}\n}\n"],"mappings":""}
|
|
@@ -15,16 +15,16 @@ interface DsModalProps extends Pick<UseDialogProps, 'modal' | 'closeOnEscape' |
|
|
|
15
15
|
* Whether the modal is open
|
|
16
16
|
*/
|
|
17
17
|
open: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Callback when modal open state changes
|
|
20
|
-
* @param open - whether the modal is open
|
|
21
|
-
*/
|
|
22
|
-
onOpenChange: (open: boolean) => void;
|
|
23
18
|
/**
|
|
24
19
|
* Number of grid columns for modal width
|
|
25
20
|
* @default 6
|
|
26
21
|
*/
|
|
27
22
|
columns?: DsModalColumns;
|
|
23
|
+
/**
|
|
24
|
+
* Show full-width dividers between header, body, and footer sections
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
dividers?: boolean;
|
|
28
28
|
/**
|
|
29
29
|
* Optional inline styles to apply to the component
|
|
30
30
|
*/
|
|
@@ -37,6 +37,11 @@ interface DsModalProps extends Pick<UseDialogProps, 'modal' | 'closeOnEscape' |
|
|
|
37
37
|
* Modal body content
|
|
38
38
|
*/
|
|
39
39
|
children: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Callback when modal open state changes
|
|
42
|
+
* @param open - whether the modal is open
|
|
43
|
+
*/
|
|
44
|
+
onOpenChange: (open: boolean) => void;
|
|
40
45
|
}
|
|
41
46
|
//#endregion
|
|
42
47
|
export { DsModalColumns, DsModalProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-modal.types.d.cts","names":[],"sources":["../../../src/components/ds-modal/ds-modal.types.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAKiB,KALL,cAAA,GAKkB,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;
|
|
1
|
+
{"version":3,"file":"ds-modal.types.d.cts","names":[],"sources":["../../../src/components/ds-modal/ds-modal.types.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAKiB,KALL,cAAA,GAKkB,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;AAkCnB,UAlCM,YAAA,SAAqB,IAkC3B,CAjCV,cAiCU,EAAA,OAAA,GAAA,eAAA,GAAA,wBAAA,CAAA,CAAA;EAlC2B;;;;;;;;YAa3B;;;;;;;;;UAWF;;;;;;;;YAUE"}
|
|
@@ -15,16 +15,16 @@ interface DsModalProps extends Pick<UseDialogProps, 'modal' | 'closeOnEscape' |
|
|
|
15
15
|
* Whether the modal is open
|
|
16
16
|
*/
|
|
17
17
|
open: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Callback when modal open state changes
|
|
20
|
-
* @param open - whether the modal is open
|
|
21
|
-
*/
|
|
22
|
-
onOpenChange: (open: boolean) => void;
|
|
23
18
|
/**
|
|
24
19
|
* Number of grid columns for modal width
|
|
25
20
|
* @default 6
|
|
26
21
|
*/
|
|
27
22
|
columns?: DsModalColumns;
|
|
23
|
+
/**
|
|
24
|
+
* Show full-width dividers between header, body, and footer sections
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
dividers?: boolean;
|
|
28
28
|
/**
|
|
29
29
|
* Optional inline styles to apply to the component
|
|
30
30
|
*/
|
|
@@ -37,6 +37,11 @@ interface DsModalProps extends Pick<UseDialogProps, 'modal' | 'closeOnEscape' |
|
|
|
37
37
|
* Modal body content
|
|
38
38
|
*/
|
|
39
39
|
children: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Callback when modal open state changes
|
|
42
|
+
* @param open - whether the modal is open
|
|
43
|
+
*/
|
|
44
|
+
onOpenChange: (open: boolean) => void;
|
|
40
45
|
}
|
|
41
46
|
//#endregion
|
|
42
47
|
export { DsModalColumns, DsModalProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-modal.types.d.ts","names":[],"sources":["../../../src/components/ds-modal/ds-modal.types.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAKiB,KALL,cAAA,GAKkB,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;
|
|
1
|
+
{"version":3,"file":"ds-modal.types.d.ts","names":[],"sources":["../../../src/components/ds-modal/ds-modal.types.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAKiB,KALL,cAAA,GAKkB,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA;;;;AAkCnB,UAlCM,YAAA,SAAqB,IAkC3B,CAjCV,cAiCU,EAAA,OAAA,GAAA,eAAA,GAAA,wBAAA,CAAA,CAAA;EAlC2B;;;;;;;;YAa3B;;;;;;;;;UAWF;;;;;;;;YAUE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DsPanelProps } from "./ds-panel.types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime37 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/ds-panel/ds-panel.d.ts
|
|
5
5
|
declare function DsPanel({
|
|
@@ -11,7 +11,7 @@ declare function DsPanel({
|
|
|
11
11
|
variant,
|
|
12
12
|
disablePadding,
|
|
13
13
|
...props
|
|
14
|
-
}: DsPanelProps):
|
|
14
|
+
}: DsPanelProps): react_jsx_runtime37.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { DsPanel };
|
|
17
17
|
//# sourceMappingURL=ds-panel.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DsPanelProps } from "./ds-panel.types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime44 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/ds-panel/ds-panel.d.ts
|
|
5
5
|
declare function DsPanel({
|
|
@@ -11,7 +11,7 @@ declare function DsPanel({
|
|
|
11
11
|
variant,
|
|
12
12
|
disablePadding,
|
|
13
13
|
...props
|
|
14
|
-
}: DsPanelProps):
|
|
14
|
+
}: DsPanelProps): react_jsx_runtime44.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { DsPanel };
|
|
17
17
|
//# sourceMappingURL=ds-panel.d.ts.map
|
|
@@ -13,8 +13,8 @@ let react_compiler_runtime = require("react/compiler-runtime");
|
|
|
13
13
|
let classnames = require("classnames");
|
|
14
14
|
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
15
15
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
16
|
-
let react = require("react");
|
|
17
16
|
let __ark_ui_react_portal = require("@ark-ui/react/portal");
|
|
17
|
+
let react = require("react");
|
|
18
18
|
let __ark_ui_react_select = require("@ark-ui/react/select");
|
|
19
19
|
|
|
20
20
|
//#region src/components/ds-select/ds-select.tsx
|
|
@@ -60,7 +60,7 @@ const DsSelect = (t0) => {
|
|
|
60
60
|
onOpenChange: t3,
|
|
61
61
|
onValueChange: (details) => {
|
|
62
62
|
if (!multiselectProps.multiple) {
|
|
63
|
-
multiselectProps.onValueChange?.(details.value[0]);
|
|
63
|
+
multiselectProps.onValueChange?.(details.value[0] ?? "");
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
if (details.value.includes(SELECT_ALL_VALUE)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DsSelectProps } from "./ds-select.types.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime38 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/ds-select/ds-select.d.ts
|
|
5
5
|
declare const DsSelect: ({
|
|
@@ -15,7 +15,7 @@ declare const DsSelect: ({
|
|
|
15
15
|
placeholder,
|
|
16
16
|
disabled,
|
|
17
17
|
...multiselectProps
|
|
18
|
-
}: DsSelectProps) =>
|
|
18
|
+
}: DsSelectProps) => react_jsx_runtime38.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { DsSelect };
|
|
21
21
|
//# sourceMappingURL=ds-select.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DsSelectProps } from "./ds-select.types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime43 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/ds-select/ds-select.d.ts
|
|
5
5
|
declare const DsSelect: ({
|
|
@@ -15,7 +15,7 @@ declare const DsSelect: ({
|
|
|
15
15
|
placeholder,
|
|
16
16
|
disabled,
|
|
17
17
|
...multiselectProps
|
|
18
|
-
}: DsSelectProps) =>
|
|
18
|
+
}: DsSelectProps) => react_jsx_runtime43.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { DsSelect };
|
|
21
21
|
//# sourceMappingURL=ds-select.d.ts.map
|
|
@@ -11,8 +11,8 @@ import { SelectItemsChips } from "./select-items-chips.js";
|
|
|
11
11
|
import { c } from "react/compiler-runtime";
|
|
12
12
|
import classNames from "classnames";
|
|
13
13
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
import { useState } from "react";
|
|
15
14
|
import { Portal } from "@ark-ui/react/portal";
|
|
15
|
+
import { useState } from "react";
|
|
16
16
|
import { Select, createListCollection, useSelect } from "@ark-ui/react/select";
|
|
17
17
|
|
|
18
18
|
//#region src/components/ds-select/ds-select.tsx
|
|
@@ -58,7 +58,7 @@ const DsSelect = (t0) => {
|
|
|
58
58
|
onOpenChange: t3,
|
|
59
59
|
onValueChange: (details) => {
|
|
60
60
|
if (!multiselectProps.multiple) {
|
|
61
|
-
multiselectProps.onValueChange?.(details.value[0]);
|
|
61
|
+
multiselectProps.onValueChange?.(details.value[0] ?? "");
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
if (details.value.includes(SELECT_ALL_VALUE)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-select.js","names":["useState","UseSelectReturn","Select","createListCollection","useSelect","Portal","classNames","styles","DsSelectOption","DsSelectProps","DsIcon","DsCheckboxProps","DsCheckbox","SelectItemsChips","DsTypography","DsTextInput","SEARCH_THRESHOLD","SELECT_ALL_VALUE","SELECT_ALL","label","value","DsSelect","t0","$","_c","id","options","userOptions","style","size","clearable","onClear","onBlur","className","placeholder","t1","disabled","multiselectProps","undefined","searchTerm","setSearchTerm","showAllItems","setShowAllItems","internalOptions","multiple","collection","items","itemToValue","_temp","t2","option","toLowerCase","includes","filteredOptions","filter","normalizedValue","Array","isArray","_temp2","t3","Symbol","for","select","ids","trigger","onOpenChange","onValueChange","details","isSelectAllClicked","areAllOptionsSelected","selectedItems","length","newValues","map","_temp3","newValueWithoutSelectAll","_temp4","t4","small","t5","control","t6","valueText","t7","t8","triggerIcon","t9","t10","clearIcon","T0","t11","t13","t15","searchInput","e_0","e","target","_temp5","startAdornment","t16","t17","item_0","checked","getItemCheckedState","item","getItemValue","icon","itemIcon","t18","Content","t14","content","t19","Positioner","t12","viewport","t20","t21","display","open","key","isRegularItem","getItemState","selected","allSelected","someSelected","hasSelectedItems","value_0","opt","val","e_1","stopPropagation"],"sources":["../../../src/components/ds-select/ds-select.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { type UseSelectReturn, Select, createListCollection, useSelect } from '@ark-ui/react/select';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-select.module.scss';\nimport type { DsSelectOption, DsSelectProps } from './ds-select.types';\nimport { DsIcon } from '../ds-icon';\nimport { type DsCheckboxProps, DsCheckbox } from '../ds-checkbox';\nimport { SelectItemsChips } from './select-items-chips';\nimport { DsTypography } from '../ds-typography';\nimport { DsTextInput } from '../ds-text-input';\n\nconst SEARCH_THRESHOLD = 13;\nconst SELECT_ALL_VALUE = '__INTERNAL_SELECT_ALL_VALUE__';\n\nconst SELECT_ALL: DsSelectOption = {\n\tlabel: 'All',\n\tvalue: SELECT_ALL_VALUE,\n};\n\nconst DsSelect = ({\n\tid,\n\toptions: userOptions,\n\tvalue,\n\tstyle,\n\tsize,\n\tclearable,\n\tonClear,\n\tonBlur,\n\tclassName,\n\tplaceholder = 'Click to select a value',\n\tdisabled,\n\t...multiselectProps\n}: DsSelectProps) => {\n\tconst [searchTerm, setSearchTerm] = useState('');\n\tconst [showAllItems, setShowAllItems] = useState(false);\n\n\tconst internalOptions = multiselectProps.multiple ? [SELECT_ALL, ...userOptions] : userOptions;\n\n\tconst collection = createListCollection({\n\t\titems: internalOptions,\n\t\titemToValue: (item) => item.value,\n\t});\n\n\tconst filteredOptions = internalOptions.filter((option) =>\n\t\toption.label.toLowerCase().includes(searchTerm.toLowerCase()),\n\t);\n\n\tconst normalizedValue = Array.isArray(value) ? value : [value].filter((value) => !!value);\n\n\tconst select = useSelect({\n\t\tcollection,\n\t\tdisabled,\n\t\tmultiple: multiselectProps.multiple,\n\t\tvalue: normalizedValue,\n\n\t\t// Override Ark's auto-generated trigger id if an id provided by the user.\n\t\t// See: https://github.com/chakra-ui/zag/blob/f6e079095/packages/machines/select/src/select.dom.ts#L5\n\t\tids: { trigger: id },\n\n\t\tonOpenChange: () => {\n\t\t\tsetSearchTerm('');\n\t\t\tsetShowAllItems(false);\n\t\t},\n\n\t\tonValueChange: (details) => {\n\t\t\t// Single select mode.\n\t\t\tif (!multiselectProps.multiple) {\n\t\t\t\tmultiselectProps.onValueChange?.(details.value[0]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Select All\" clicked in multi select mode.\n\t\t\tconst isSelectAllClicked = details.value.includes(SELECT_ALL_VALUE);\n\n\t\t\tif (isSelectAllClicked) {\n\t\t\t\tconst areAllOptionsSelected = select.selectedItems.length === userOptions.length;\n\n\t\t\t\tconst newValues = areAllOptionsSelected ? [] : userOptions.map((opt) => opt.value);\n\n\t\t\t\tmultiselectProps.onValueChange?.(newValues);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Regular\" multi select mode.\n\t\t\tconst newValueWithoutSelectAll = details.value.filter((val) => val !== SELECT_ALL_VALUE);\n\n\t\t\tmultiselectProps.onValueChange?.(newValueWithoutSelectAll);\n\t\t},\n\t});\n\n\treturn (\n\t\t<Select.RootProvider\n\t\t\tvalue={select}\n\t\t\t// When rendering the Select inside a Modal, it has an `aria-hidden=\"true\"` attribute\n\t\t\t// which causes screen readers to ignore it.\n\t\t\t//\n\t\t\t// See: https://github.com/chakra-ui/ark/issues/3728\n\t\t\tlazyMount\n\t\t>\n\t\t\t<Select.Control\n\t\t\t\tclassName={classNames(styles.control, size === 'small' && styles.small, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (!clearable) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (select.open) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (e.key === 'Backspace' || e.key === 'Delete') {\n\t\t\t\t\t\tif (multiselectProps.multiple) {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.([]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.('');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Select.Trigger\n\t\t\t\t\tid={id}\n\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t// Ark expects a `Select.Label` component to exist and automatically label the trigger\n\t\t\t\t\t// with it. We're using the `DsFormControl` label handling instead, so we disable the\n\t\t\t\t\t// automatic labelling here.\n\t\t\t\t\taria-labelledby={null as never}\n\t\t\t\t>\n\t\t\t\t\t<DsTypography className={styles.valueText} variant=\"body-sm-reg\" asChild>\n\t\t\t\t\t\t<Select.ValueText placeholder={placeholder} />\n\t\t\t\t\t</DsTypography>\n\n\t\t\t\t\t<Select.Indicator className={styles.triggerIcon}>\n\t\t\t\t\t\t<DsIcon icon=\"keyboard_arrow_down\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.Indicator>\n\t\t\t\t</Select.Trigger>\n\n\t\t\t\t{clearable && (\n\t\t\t\t\t<Select.ClearTrigger className={styles.clearIcon} onClick={onClear}>\n\t\t\t\t\t\t<DsIcon icon=\"close\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.ClearTrigger>\n\t\t\t\t)}\n\t\t\t</Select.Control>\n\t\t\t<Portal>\n\t\t\t\t<Select.Positioner className={styles.viewport}>\n\t\t\t\t\t<Select.Content className={styles.content}>\n\t\t\t\t\t\t{userOptions.length > SEARCH_THRESHOLD && (\n\t\t\t\t\t\t\t<div className={styles.searchInput}>\n\t\t\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t// Prevent the select from opening/closing when pressing space in the search input.\n\t\t\t\t\t\t\t\t\t\tif (e.key === ' ') {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{multiselectProps.multiple && (\n\t\t\t\t\t\t\t<SelectItemsChips\n\t\t\t\t\t\t\t\tonValueChange={multiselectProps.onValueChange}\n\t\t\t\t\t\t\t\tshowAll={showAllItems}\n\t\t\t\t\t\t\t\tonShowAll={() => setShowAllItems(true)}\n\t\t\t\t\t\t\t\t// TODO: Find a way to calculate this based on the size of the select.\n\t\t\t\t\t\t\t\tcount={6}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{filteredOptions.map((item) => {\n\t\t\t\t\t\t\tconst checked = getItemCheckedState({ item, select, options: internalOptions });\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DsTypography\n\t\t\t\t\t\t\t\t\tvariant=\"body-sm-reg\"\n\t\t\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t\t\t\tkey={collection.getItemValue(item)}\n\t\t\t\t\t\t\t\t\tclassName={styles.item}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Select.Item item={item}>\n\t\t\t\t\t\t\t\t\t\t{multiselectProps.multiple && <DsCheckbox checked={checked} />}\n\t\t\t\t\t\t\t\t\t\t{item.icon && <DsIcon className={styles.itemIcon} icon={item.icon} aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t\t\t<Select.ItemText>{item.label}</Select.ItemText>\n\t\t\t\t\t\t\t\t\t</Select.Item>\n\t\t\t\t\t\t\t\t</DsTypography>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Select.Content>\n\t\t\t\t</Select.Positioner>\n\t\t\t</Portal>\n\n\t\t\t{/*\n\t\t\t\tThis element isn't properly hidden by Zag, so we hide it manually.\n\t\t\t \tFor more information, see: https://github.com/chakra-ui/zag/issues/2865\n\t\t\t*/}\n\t\t\t<Select.HiddenSelect style={{ display: 'none' }} />\n\t\t</Select.RootProvider>\n\t);\n};\n\nfunction getItemCheckedState({\n\titem,\n\tselect,\n\toptions,\n}: {\n\titem: DsSelectOption;\n\tselect: UseSelectReturn<DsSelectOption>;\n\toptions: DsSelectOption[];\n}): DsCheckboxProps['checked'] {\n\tconst isRegularItem = item.value !== SELECT_ALL_VALUE;\n\n\tif (isRegularItem) {\n\t\treturn select.getItemState({ item }).selected;\n\t}\n\n\t// Doing -1 since it contains the \"Select All\" option itself.\n\tconst allSelected = select.selectedItems.length === options.length - 1;\n\n\tif (allSelected) {\n\t\treturn true;\n\t}\n\n\tconst someSelected = select.hasSelectedItems;\n\n\treturn someSelected ? 'indeterminate' : false;\n}\n\nexport default DsSelect;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ds-select.js","names":["useState","UseSelectReturn","Select","createListCollection","useSelect","Portal","classNames","styles","DsSelectOption","DsSelectProps","DsIcon","DsCheckboxProps","DsCheckbox","SelectItemsChips","DsTypography","DsTextInput","SEARCH_THRESHOLD","SELECT_ALL_VALUE","SELECT_ALL","label","value","DsSelect","t0","$","_c","id","options","userOptions","style","size","clearable","onClear","onBlur","className","placeholder","t1","disabled","multiselectProps","undefined","searchTerm","setSearchTerm","showAllItems","setShowAllItems","internalOptions","multiple","collection","items","itemToValue","_temp","t2","option","toLowerCase","includes","filteredOptions","filter","normalizedValue","Array","isArray","_temp2","t3","Symbol","for","select","ids","trigger","onOpenChange","onValueChange","details","isSelectAllClicked","areAllOptionsSelected","selectedItems","length","newValues","map","_temp3","newValueWithoutSelectAll","_temp4","t4","small","t5","control","t6","valueText","t7","t8","triggerIcon","t9","t10","clearIcon","T0","t11","t13","t15","searchInput","e_0","e","target","_temp5","startAdornment","t16","t17","item_0","checked","getItemCheckedState","item","getItemValue","icon","itemIcon","t18","Content","t14","content","t19","Positioner","t12","viewport","t20","t21","display","open","key","isRegularItem","getItemState","selected","allSelected","someSelected","hasSelectedItems","value_0","opt","val","e_1","stopPropagation"],"sources":["../../../src/components/ds-select/ds-select.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { type UseSelectReturn, Select, createListCollection, useSelect } from '@ark-ui/react/select';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-select.module.scss';\nimport type { DsSelectOption, DsSelectProps } from './ds-select.types';\nimport { DsIcon } from '../ds-icon';\nimport { type DsCheckboxProps, DsCheckbox } from '../ds-checkbox';\nimport { SelectItemsChips } from './select-items-chips';\nimport { DsTypography } from '../ds-typography';\nimport { DsTextInput } from '../ds-text-input';\n\nconst SEARCH_THRESHOLD = 13;\nconst SELECT_ALL_VALUE = '__INTERNAL_SELECT_ALL_VALUE__';\n\nconst SELECT_ALL: DsSelectOption = {\n\tlabel: 'All',\n\tvalue: SELECT_ALL_VALUE,\n};\n\nconst DsSelect = ({\n\tid,\n\toptions: userOptions,\n\tvalue,\n\tstyle,\n\tsize,\n\tclearable,\n\tonClear,\n\tonBlur,\n\tclassName,\n\tplaceholder = 'Click to select a value',\n\tdisabled,\n\t...multiselectProps\n}: DsSelectProps) => {\n\tconst [searchTerm, setSearchTerm] = useState('');\n\tconst [showAllItems, setShowAllItems] = useState(false);\n\n\tconst internalOptions = multiselectProps.multiple ? [SELECT_ALL, ...userOptions] : userOptions;\n\n\tconst collection = createListCollection({\n\t\titems: internalOptions,\n\t\titemToValue: (item) => item.value,\n\t});\n\n\tconst filteredOptions = internalOptions.filter((option) =>\n\t\toption.label.toLowerCase().includes(searchTerm.toLowerCase()),\n\t);\n\n\tconst normalizedValue = Array.isArray(value) ? value : [value].filter((value) => !!value);\n\n\tconst select = useSelect({\n\t\tcollection,\n\t\tdisabled,\n\t\tmultiple: multiselectProps.multiple,\n\t\tvalue: normalizedValue,\n\n\t\t// Override Ark's auto-generated trigger id if an id provided by the user.\n\t\t// See: https://github.com/chakra-ui/zag/blob/f6e079095/packages/machines/select/src/select.dom.ts#L5\n\t\tids: { trigger: id },\n\n\t\tonOpenChange: () => {\n\t\t\tsetSearchTerm('');\n\t\t\tsetShowAllItems(false);\n\t\t},\n\n\t\tonValueChange: (details) => {\n\t\t\t// Single select mode.\n\t\t\tif (!multiselectProps.multiple) {\n\t\t\t\tmultiselectProps.onValueChange?.(details.value[0] ?? '');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Select All\" clicked in multi select mode.\n\t\t\tconst isSelectAllClicked = details.value.includes(SELECT_ALL_VALUE);\n\n\t\t\tif (isSelectAllClicked) {\n\t\t\t\tconst areAllOptionsSelected = select.selectedItems.length === userOptions.length;\n\n\t\t\t\tconst newValues = areAllOptionsSelected ? [] : userOptions.map((opt) => opt.value);\n\n\t\t\t\tmultiselectProps.onValueChange?.(newValues);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Regular\" multi select mode.\n\t\t\tconst newValueWithoutSelectAll = details.value.filter((val) => val !== SELECT_ALL_VALUE);\n\n\t\t\tmultiselectProps.onValueChange?.(newValueWithoutSelectAll);\n\t\t},\n\t});\n\n\treturn (\n\t\t<Select.RootProvider\n\t\t\tvalue={select}\n\t\t\t// When rendering the Select inside a Modal, it has an `aria-hidden=\"true\"` attribute\n\t\t\t// which causes screen readers to ignore it.\n\t\t\t//\n\t\t\t// See: https://github.com/chakra-ui/ark/issues/3728\n\t\t\tlazyMount\n\t\t>\n\t\t\t<Select.Control\n\t\t\t\tclassName={classNames(styles.control, size === 'small' && styles.small, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (!clearable) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (select.open) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (e.key === 'Backspace' || e.key === 'Delete') {\n\t\t\t\t\t\tif (multiselectProps.multiple) {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.([]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.('');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Select.Trigger\n\t\t\t\t\tid={id}\n\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t// Ark expects a `Select.Label` component to exist and automatically label the trigger\n\t\t\t\t\t// with it. We're using the `DsFormControl` label handling instead, so we disable the\n\t\t\t\t\t// automatic labelling here.\n\t\t\t\t\taria-labelledby={null as never}\n\t\t\t\t>\n\t\t\t\t\t<DsTypography className={styles.valueText} variant=\"body-sm-reg\" asChild>\n\t\t\t\t\t\t<Select.ValueText placeholder={placeholder} />\n\t\t\t\t\t</DsTypography>\n\n\t\t\t\t\t<Select.Indicator className={styles.triggerIcon}>\n\t\t\t\t\t\t<DsIcon icon=\"keyboard_arrow_down\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.Indicator>\n\t\t\t\t</Select.Trigger>\n\n\t\t\t\t{clearable && (\n\t\t\t\t\t<Select.ClearTrigger className={styles.clearIcon} onClick={onClear}>\n\t\t\t\t\t\t<DsIcon icon=\"close\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.ClearTrigger>\n\t\t\t\t)}\n\t\t\t</Select.Control>\n\t\t\t<Portal>\n\t\t\t\t<Select.Positioner className={styles.viewport}>\n\t\t\t\t\t<Select.Content className={styles.content}>\n\t\t\t\t\t\t{userOptions.length > SEARCH_THRESHOLD && (\n\t\t\t\t\t\t\t<div className={styles.searchInput}>\n\t\t\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t// Prevent the select from opening/closing when pressing space in the search input.\n\t\t\t\t\t\t\t\t\t\tif (e.key === ' ') {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{multiselectProps.multiple && (\n\t\t\t\t\t\t\t<SelectItemsChips\n\t\t\t\t\t\t\t\tonValueChange={multiselectProps.onValueChange}\n\t\t\t\t\t\t\t\tshowAll={showAllItems}\n\t\t\t\t\t\t\t\tonShowAll={() => setShowAllItems(true)}\n\t\t\t\t\t\t\t\t// TODO: Find a way to calculate this based on the size of the select.\n\t\t\t\t\t\t\t\tcount={6}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{filteredOptions.map((item) => {\n\t\t\t\t\t\t\tconst checked = getItemCheckedState({ item, select, options: internalOptions });\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DsTypography\n\t\t\t\t\t\t\t\t\tvariant=\"body-sm-reg\"\n\t\t\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t\t\t\tkey={collection.getItemValue(item)}\n\t\t\t\t\t\t\t\t\tclassName={styles.item}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Select.Item item={item}>\n\t\t\t\t\t\t\t\t\t\t{multiselectProps.multiple && <DsCheckbox checked={checked} />}\n\t\t\t\t\t\t\t\t\t\t{item.icon && <DsIcon className={styles.itemIcon} icon={item.icon} aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t\t\t<Select.ItemText>{item.label}</Select.ItemText>\n\t\t\t\t\t\t\t\t\t</Select.Item>\n\t\t\t\t\t\t\t\t</DsTypography>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Select.Content>\n\t\t\t\t</Select.Positioner>\n\t\t\t</Portal>\n\n\t\t\t{/*\n\t\t\t\tThis element isn't properly hidden by Zag, so we hide it manually.\n\t\t\t \tFor more information, see: https://github.com/chakra-ui/zag/issues/2865\n\t\t\t*/}\n\t\t\t<Select.HiddenSelect style={{ display: 'none' }} />\n\t\t</Select.RootProvider>\n\t);\n};\n\nfunction getItemCheckedState({\n\titem,\n\tselect,\n\toptions,\n}: {\n\titem: DsSelectOption;\n\tselect: UseSelectReturn<DsSelectOption>;\n\toptions: DsSelectOption[];\n}): DsCheckboxProps['checked'] {\n\tconst isRegularItem = item.value !== SELECT_ALL_VALUE;\n\n\tif (isRegularItem) {\n\t\treturn select.getItemState({ item }).selected;\n\t}\n\n\t// Doing -1 since it contains the \"Select All\" option itself.\n\tconst allSelected = select.selectedItems.length === options.length - 1;\n\n\tif (allSelected) {\n\t\treturn true;\n\t}\n\n\tconst someSelected = select.hasSelectedItems;\n\n\treturn someSelected ? 'indeterminate' : false;\n}\n\nexport default DsSelect;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_ds_skeleton_config = require('./ds-skeleton.config.cjs');
|
|
3
|
+
const require_ds_skeleton_module = require('./ds-skeleton.module.cjs');
|
|
4
|
+
let react_compiler_runtime = require("react/compiler-runtime");
|
|
5
|
+
let classnames = require("classnames");
|
|
6
|
+
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
|
|
9
|
+
//#region src/components/ds-skeleton/ds-skeleton-circle.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Circle skeleton component - for avatars and icons
|
|
12
|
+
* Matches DsAvatar sizes
|
|
13
|
+
*/
|
|
14
|
+
const DsSkeletonCircle = (t0) => {
|
|
15
|
+
const $ = (0, react_compiler_runtime.c)(10);
|
|
16
|
+
const { size: t1, color: t2, className, style } = t0;
|
|
17
|
+
const size = t1 === void 0 ? "regular" : t1;
|
|
18
|
+
const color = t2 === void 0 ? "gray" : t2;
|
|
19
|
+
const pixelSize = typeof size === "number" ? size : require_ds_skeleton_config.circleSizeMap[size];
|
|
20
|
+
const t3 = `${String(pixelSize)}px`;
|
|
21
|
+
const t4 = `${String(pixelSize)}px`;
|
|
22
|
+
let t5;
|
|
23
|
+
if ($[0] !== style || $[1] !== t3 || $[2] !== t4) {
|
|
24
|
+
t5 = {
|
|
25
|
+
width: t3,
|
|
26
|
+
height: t4,
|
|
27
|
+
...style
|
|
28
|
+
};
|
|
29
|
+
$[0] = style;
|
|
30
|
+
$[1] = t3;
|
|
31
|
+
$[2] = t4;
|
|
32
|
+
$[3] = t5;
|
|
33
|
+
} else t5 = $[3];
|
|
34
|
+
const circleStyle = t5;
|
|
35
|
+
const t6 = require_ds_skeleton_module.default[color];
|
|
36
|
+
let t7;
|
|
37
|
+
if ($[4] !== className || $[5] !== t6) {
|
|
38
|
+
t7 = (0, classnames.default)(require_ds_skeleton_module.default.skeleton, require_ds_skeleton_module.default.circle, t6, className);
|
|
39
|
+
$[4] = className;
|
|
40
|
+
$[5] = t6;
|
|
41
|
+
$[6] = t7;
|
|
42
|
+
} else t7 = $[6];
|
|
43
|
+
let t8;
|
|
44
|
+
if ($[7] !== circleStyle || $[8] !== t7) {
|
|
45
|
+
t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46
|
+
className: t7,
|
|
47
|
+
style: circleStyle,
|
|
48
|
+
"aria-hidden": "true"
|
|
49
|
+
});
|
|
50
|
+
$[7] = circleStyle;
|
|
51
|
+
$[8] = t7;
|
|
52
|
+
$[9] = t8;
|
|
53
|
+
} else t8 = $[9];
|
|
54
|
+
return t8;
|
|
55
|
+
};
|
|
56
|
+
var ds_skeleton_circle_default = DsSkeletonCircle;
|
|
57
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
exports.default = ds_skeleton_circle_default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DsSkeletonCircleProps } from "./ds-skeleton.types.cjs";
|
|
2
|
+
import * as react_jsx_runtime40 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ds-skeleton/ds-skeleton-circle.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Circle skeleton component - for avatars and icons
|
|
8
|
+
* Matches DsAvatar sizes
|
|
9
|
+
*/
|
|
10
|
+
declare const DsSkeletonCircle: ({
|
|
11
|
+
size,
|
|
12
|
+
color,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}: DsSkeletonCircleProps) => react_jsx_runtime40.JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DsSkeletonCircle };
|
|
18
|
+
//# sourceMappingURL=ds-skeleton-circle.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-skeleton-circle.d.cts","names":[],"sources":["../../../src/components/ds-skeleton/ds-skeleton-circle.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAEiE;cAQ3D,gBAAoB,EAAA,CAAA;EAAA,IAAA;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAAwD,qBAAxD,EAAA,GAA6E,mBAAA,CAAA,GAAA,CAAA,OAA7E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DsSkeletonCircleProps } from "./ds-skeleton.types.js";
|
|
2
|
+
import * as react_jsx_runtime26 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ds-skeleton/ds-skeleton-circle.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Circle skeleton component - for avatars and icons
|
|
8
|
+
* Matches DsAvatar sizes
|
|
9
|
+
*/
|
|
10
|
+
declare const DsSkeletonCircle: ({
|
|
11
|
+
size,
|
|
12
|
+
color,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}: DsSkeletonCircleProps) => react_jsx_runtime26.JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DsSkeletonCircle };
|
|
18
|
+
//# sourceMappingURL=ds-skeleton-circle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-skeleton-circle.d.ts","names":[],"sources":["../../../src/components/ds-skeleton/ds-skeleton-circle.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAEiE;cAQ3D,gBAAoB,EAAA,CAAA;EAAA,IAAA;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAAwD,qBAAxD,EAAA,GAA6E,mBAAA,CAAA,GAAA,CAAA,OAA7E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { circleSizeMap } from "./ds-skeleton.config.js";
|
|
2
|
+
import ds_skeleton_module_default from "./ds-skeleton.module.js";
|
|
3
|
+
import { c } from "react/compiler-runtime";
|
|
4
|
+
import classNames from "classnames";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/ds-skeleton/ds-skeleton-circle.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Circle skeleton component - for avatars and icons
|
|
10
|
+
* Matches DsAvatar sizes
|
|
11
|
+
*/
|
|
12
|
+
const DsSkeletonCircle = (t0) => {
|
|
13
|
+
const $ = c(10);
|
|
14
|
+
const { size: t1, color: t2, className, style } = t0;
|
|
15
|
+
const size = t1 === void 0 ? "regular" : t1;
|
|
16
|
+
const color = t2 === void 0 ? "gray" : t2;
|
|
17
|
+
const pixelSize = typeof size === "number" ? size : circleSizeMap[size];
|
|
18
|
+
const t3 = `${String(pixelSize)}px`;
|
|
19
|
+
const t4 = `${String(pixelSize)}px`;
|
|
20
|
+
let t5;
|
|
21
|
+
if ($[0] !== style || $[1] !== t3 || $[2] !== t4) {
|
|
22
|
+
t5 = {
|
|
23
|
+
width: t3,
|
|
24
|
+
height: t4,
|
|
25
|
+
...style
|
|
26
|
+
};
|
|
27
|
+
$[0] = style;
|
|
28
|
+
$[1] = t3;
|
|
29
|
+
$[2] = t4;
|
|
30
|
+
$[3] = t5;
|
|
31
|
+
} else t5 = $[3];
|
|
32
|
+
const circleStyle = t5;
|
|
33
|
+
const t6 = ds_skeleton_module_default[color];
|
|
34
|
+
let t7;
|
|
35
|
+
if ($[4] !== className || $[5] !== t6) {
|
|
36
|
+
t7 = classNames(ds_skeleton_module_default.skeleton, ds_skeleton_module_default.circle, t6, className);
|
|
37
|
+
$[4] = className;
|
|
38
|
+
$[5] = t6;
|
|
39
|
+
$[6] = t7;
|
|
40
|
+
} else t7 = $[6];
|
|
41
|
+
let t8;
|
|
42
|
+
if ($[7] !== circleStyle || $[8] !== t7) {
|
|
43
|
+
t8 = /* @__PURE__ */ jsx("span", {
|
|
44
|
+
className: t7,
|
|
45
|
+
style: circleStyle,
|
|
46
|
+
"aria-hidden": "true"
|
|
47
|
+
});
|
|
48
|
+
$[7] = circleStyle;
|
|
49
|
+
$[8] = t7;
|
|
50
|
+
$[9] = t8;
|
|
51
|
+
} else t8 = $[9];
|
|
52
|
+
return t8;
|
|
53
|
+
};
|
|
54
|
+
var ds_skeleton_circle_default = DsSkeletonCircle;
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { ds_skeleton_circle_default as default };
|
|
58
|
+
//# sourceMappingURL=ds-skeleton-circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-skeleton-circle.js","names":["CSSProperties","classNames","DsSkeletonCircleProps","circleSizeMap","styles","DsSkeletonCircle","t0","$","_c","size","t1","color","t2","className","style","undefined","pixelSize","t3","String","t4","t5","width","height","circleStyle","t6","t7","skeleton","circle","t8"],"sources":["../../../src/components/ds-skeleton/ds-skeleton-circle.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport type { DsSkeletonCircleProps } from './ds-skeleton.types';\nimport { circleSizeMap } from './ds-skeleton.config';\nimport styles from './ds-skeleton.module.scss';\n\n/**\n * Circle skeleton component - for avatars and icons\n * Matches DsAvatar sizes\n */\nconst DsSkeletonCircle = ({ size = 'regular', color = 'gray', className, style }: DsSkeletonCircleProps) => {\n\tconst pixelSize = typeof size === 'number' ? size : circleSizeMap[size];\n\n\tconst circleStyle: CSSProperties = {\n\t\twidth: `${String(pixelSize)}px`,\n\t\theight: `${String(pixelSize)}px`,\n\t\t...style,\n\t};\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(styles.skeleton, styles.circle, styles[color], className)}\n\t\t\tstyle={circleStyle}\n\t\t\taria-hidden=\"true\"\n\t\t/>\n\t);\n};\n\nexport default DsSkeletonCircle;\n"],"mappings":";;;;;;;;;;;AAUA,MAAMK,oBAAmBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAC,MAAAC,IAAAC,OAAAC,IAAAC,WAAAC,UAAAR;CAAE,MAAAG,OAAAC,OAAAK,SAAA,YAAAL;CAAkB,MAAAC,QAAAC,OAAAG,SAAA,SAAAH;CAC7C,MAAAI,YAAkB,OAAOP,SAAS,WAAhBA,OAAkCN,cAAcM;CAG1D,MAAAQ,KAAA,GAAGC,OAAOF,UAAU,CAAA;CACnB,MAAAG,KAAA,GAAGD,OAAOF,UAAU,CAAA;CAAI,IAAAI;AAAA,KAAAb,EAAA,OAAAO,SAAAP,EAAA,OAAAU,MAAAV,EAAA,OAAAY,IAAA;AAFEC,OAAA;GAAAC,OAC3BJ;GAAwBK,QACvBH;GAAwB,GAC7BL;GACH;AAAAP,IAAA,KAAAO;AAAAP,IAAA,KAAAU;AAAAV,IAAA,KAAAY;AAAAZ,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAJD,MAAAgB,cAAmCH;CAQqB,MAAAI,KAAApB,2BAAOO;CAAM,IAAAc;AAAA,KAAAlB,EAAA,OAAAM,aAAAN,EAAA,OAAAiB,IAAA;AAAxDC,OAAAxB,WAAWG,2BAAMsB,UAAWtB,2BAAMuB,QAASH,IAAeX,UAAU;AAAAN,IAAA,KAAAM;AAAAN,IAAA,KAAAiB;AAAAjB,IAAA,KAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,OAAAgB,eAAAhB,EAAA,OAAAkB,IAAA;AADhFG,OAAA,oBAAA;GACY,WAAAH;GACJF,OAAAA;GACK,eAAA;IACX;AAAAhB,IAAA,KAAAgB;AAAAhB,IAAA,KAAAkB;AAAAlB,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;AAAA,QAJFqB;;AAQF,iCAAevB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_ds_skeleton_config = require('./ds-skeleton.config.cjs');
|
|
3
|
+
const require_ds_skeleton_module = require('./ds-skeleton.module.cjs');
|
|
4
|
+
let react_compiler_runtime = require("react/compiler-runtime");
|
|
5
|
+
let classnames = require("classnames");
|
|
6
|
+
classnames = require_rolldown_runtime.__toESM(classnames);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
|
|
9
|
+
//#region src/components/ds-skeleton/ds-skeleton-rect.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Rectangle skeleton component - for buttons, images, and custom shapes
|
|
12
|
+
*/
|
|
13
|
+
const DsSkeletonRect = (t0) => {
|
|
14
|
+
const $ = (0, react_compiler_runtime.c)(11);
|
|
15
|
+
const { width, height, radius: t1, color: t2, className, style } = t0;
|
|
16
|
+
const radius = t1 === void 0 ? "default" : t1;
|
|
17
|
+
const color = t2 === void 0 ? "gray" : t2;
|
|
18
|
+
const borderRadius = typeof radius === "number" ? radius : require_ds_skeleton_config.radiusMap[radius];
|
|
19
|
+
const t3 = typeof width === "number" ? `${String(width)}px` : width;
|
|
20
|
+
const t4 = typeof height === "number" ? `${String(height)}px` : height;
|
|
21
|
+
const t5 = `${String(borderRadius)}px`;
|
|
22
|
+
let t6;
|
|
23
|
+
if ($[0] !== style || $[1] !== t3 || $[2] !== t4 || $[3] !== t5) {
|
|
24
|
+
t6 = {
|
|
25
|
+
width: t3,
|
|
26
|
+
height: t4,
|
|
27
|
+
borderRadius: t5,
|
|
28
|
+
...style
|
|
29
|
+
};
|
|
30
|
+
$[0] = style;
|
|
31
|
+
$[1] = t3;
|
|
32
|
+
$[2] = t4;
|
|
33
|
+
$[3] = t5;
|
|
34
|
+
$[4] = t6;
|
|
35
|
+
} else t6 = $[4];
|
|
36
|
+
const rectStyle = t6;
|
|
37
|
+
const t7 = require_ds_skeleton_module.default[color];
|
|
38
|
+
let t8;
|
|
39
|
+
if ($[5] !== className || $[6] !== t7) {
|
|
40
|
+
t8 = (0, classnames.default)(require_ds_skeleton_module.default.skeleton, require_ds_skeleton_module.default.rectangle, t7, className);
|
|
41
|
+
$[5] = className;
|
|
42
|
+
$[6] = t7;
|
|
43
|
+
$[7] = t8;
|
|
44
|
+
} else t8 = $[7];
|
|
45
|
+
let t9;
|
|
46
|
+
if ($[8] !== rectStyle || $[9] !== t8) {
|
|
47
|
+
t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
48
|
+
className: t8,
|
|
49
|
+
style: rectStyle,
|
|
50
|
+
"aria-hidden": "true"
|
|
51
|
+
});
|
|
52
|
+
$[8] = rectStyle;
|
|
53
|
+
$[9] = t8;
|
|
54
|
+
$[10] = t9;
|
|
55
|
+
} else t9 = $[10];
|
|
56
|
+
return t9;
|
|
57
|
+
};
|
|
58
|
+
var ds_skeleton_rect_default = DsSkeletonRect;
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.default = ds_skeleton_rect_default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DsSkeletonRectProps } from "./ds-skeleton.types.cjs";
|
|
2
|
+
import * as react_jsx_runtime39 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ds-skeleton/ds-skeleton-rect.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Rectangle skeleton component - for buttons, images, and custom shapes
|
|
7
|
+
*/
|
|
8
|
+
declare const DsSkeletonRect: ({
|
|
9
|
+
width,
|
|
10
|
+
height,
|
|
11
|
+
radius,
|
|
12
|
+
color,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}: DsSkeletonRectProps) => react_jsx_runtime39.JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DsSkeletonRect };
|
|
18
|
+
//# sourceMappingURL=ds-skeleton-rect.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-skeleton-rect.d.cts","names":[],"sources":["../../../src/components/ds-skeleton/ds-skeleton-rect.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAE+D,cAOzD,cAwBL,EAAA,CAAA;EAAA,KAAA;EAAA,MAAA;EAAA,MAAA;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAjBE,mBAiBF,EAAA,GAjBqB,mBAAA,CAAA,GAAA,CAAA,OAiBrB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DsSkeletonRectProps } from "./ds-skeleton.types.js";
|
|
2
|
+
import * as react_jsx_runtime13 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ds-skeleton/ds-skeleton-rect.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Rectangle skeleton component - for buttons, images, and custom shapes
|
|
7
|
+
*/
|
|
8
|
+
declare const DsSkeletonRect: ({
|
|
9
|
+
width,
|
|
10
|
+
height,
|
|
11
|
+
radius,
|
|
12
|
+
color,
|
|
13
|
+
className,
|
|
14
|
+
style
|
|
15
|
+
}: DsSkeletonRectProps) => react_jsx_runtime13.JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DsSkeletonRect };
|
|
18
|
+
//# sourceMappingURL=ds-skeleton-rect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-skeleton-rect.d.ts","names":[],"sources":["../../../src/components/ds-skeleton/ds-skeleton-rect.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAE+D,cAOzD,cAwBL,EAAA,CAAA;EAAA,KAAA;EAAA,MAAA;EAAA,MAAA;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAjBE,mBAiBF,EAAA,GAjBqB,mBAAA,CAAA,GAAA,CAAA,OAiBrB"}
|