@drivenets/design-system 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  3. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts +2 -2
  4. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts.map +1 -1
  5. package/dist/components/ds-button/ds-button.d.ts +2 -2
  6. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.d.ts +2 -0
  7. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.types.d.ts +1 -1
  8. package/dist/components/ds-button/versions/ds-button-legacy/index.d.ts +2 -0
  9. package/dist/components/ds-card/ds-card.d.cts +5 -5
  10. package/dist/components/ds-card/ds-card.d.cts.map +1 -1
  11. package/dist/components/ds-card/ds-card.d.ts +5 -5
  12. package/dist/components/ds-card/ds-card.module.cjs +4 -4
  13. package/dist/components/ds-card/ds-card.module.js +4 -4
  14. package/dist/components/ds-card/ds-card.module.js.map +1 -1
  15. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  16. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  17. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  18. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  19. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  20. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  21. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  22. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts.map +1 -1
  23. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  24. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  25. package/dist/components/ds-icon/ds-icon.d.cts +2 -2
  26. package/dist/components/ds-icon/ds-icon.d.ts +2 -2
  27. package/dist/components/ds-icon/ds-icon.d.ts.map +1 -1
  28. package/dist/components/ds-loader/ds-loader.d.cts +2 -2
  29. package/dist/components/ds-loader/ds-loader.d.ts +2 -2
  30. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  31. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  32. package/dist/components/ds-panel/ds-panel.cjs +112 -33
  33. package/dist/components/ds-panel/ds-panel.d.cts +3 -2
  34. package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
  35. package/dist/components/ds-panel/ds-panel.d.ts +3 -2
  36. package/dist/components/ds-panel/ds-panel.d.ts.map +1 -1
  37. package/dist/components/ds-panel/ds-panel.js +112 -33
  38. package/dist/components/ds-panel/ds-panel.js.map +1 -1
  39. package/dist/components/ds-panel/ds-panel.module.cjs +7 -6
  40. package/dist/components/ds-panel/ds-panel.module.js +7 -6
  41. package/dist/components/ds-panel/ds-panel.module.js.map +1 -1
  42. package/dist/components/ds-panel/ds-panel.types.d.cts +1 -0
  43. package/dist/components/ds-panel/ds-panel.types.d.cts.map +1 -1
  44. package/dist/components/ds-panel/ds-panel.types.d.ts +1 -0
  45. package/dist/components/ds-panel/ds-panel.types.d.ts.map +1 -1
  46. package/dist/components/ds-select/ds-select.d.cts +2 -2
  47. package/dist/components/ds-select/ds-select.d.ts +2 -2
  48. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +2 -2
  49. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +2 -2
  50. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +2 -2
  51. package/dist/components/ds-skeleton/ds-skeleton.d.cts +4 -4
  52. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  53. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  54. package/dist/components/ds-stepper/components/ds-step-content.cjs +31 -35
  55. package/dist/components/ds-stepper/components/ds-step-content.d.cts +5 -5
  56. package/dist/components/ds-stepper/components/ds-step-content.d.cts.map +1 -1
  57. package/dist/components/ds-stepper/components/ds-step-content.d.ts +5 -5
  58. package/dist/components/ds-stepper/components/ds-step-content.d.ts.map +1 -1
  59. package/dist/components/ds-stepper/components/ds-step-content.js +32 -36
  60. package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
  61. package/dist/components/ds-stepper/components/ds-step-next-button.cjs +34 -17
  62. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +8 -5
  63. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts.map +1 -1
  64. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +9 -5
  65. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts.map +1 -1
  66. package/dist/components/ds-stepper/components/ds-step-next-button.js +34 -17
  67. package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
  68. package/dist/components/ds-stepper/components/ds-step-separator.cjs +36 -0
  69. package/dist/components/ds-stepper/components/ds-step-separator.js +36 -0
  70. package/dist/components/ds-stepper/components/ds-step-separator.js.map +1 -0
  71. package/dist/components/ds-stepper/components/ds-step.cjs +145 -90
  72. package/dist/components/ds-stepper/components/ds-step.d.cts +24 -5
  73. package/dist/components/ds-stepper/components/ds-step.d.cts.map +1 -1
  74. package/dist/components/ds-stepper/components/ds-step.d.ts +24 -5
  75. package/dist/components/ds-stepper/components/ds-step.d.ts.map +1 -1
  76. package/dist/components/ds-stepper/components/ds-step.js +145 -90
  77. package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
  78. package/dist/components/ds-stepper/ds-stepper.cjs +75 -48
  79. package/dist/components/ds-stepper/ds-stepper.d.cts +7 -3
  80. package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
  81. package/dist/components/ds-stepper/ds-stepper.d.ts +7 -3
  82. package/dist/components/ds-stepper/ds-stepper.d.ts.map +1 -1
  83. package/dist/components/ds-stepper/ds-stepper.js +76 -49
  84. package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
  85. package/dist/components/ds-stepper/ds-stepper.module.cjs +17 -11
  86. package/dist/components/ds-stepper/ds-stepper.module.js +17 -11
  87. package/dist/components/ds-stepper/ds-stepper.module.js.map +1 -1
  88. package/dist/components/ds-stepper/ds-stepper.types.d.cts +11 -2
  89. package/dist/components/ds-stepper/ds-stepper.types.d.cts.map +1 -1
  90. package/dist/components/ds-stepper/ds-stepper.types.d.ts +11 -2
  91. package/dist/components/ds-stepper/ds-stepper.types.d.ts.map +1 -1
  92. package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
  93. package/dist/components/ds-stepper/hooks/use-steps.cjs +13 -11
  94. package/dist/components/ds-stepper/hooks/use-steps.js +13 -11
  95. package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
  96. package/dist/components/ds-stepper/index.d.ts +4 -4
  97. package/dist/components/ds-table/ds-table.d.cts +2 -2
  98. package/dist/components/ds-tabs/ds-tabs.d.cts +5 -5
  99. package/dist/components/ds-tag/ds-tag.d.cts +2 -2
  100. package/dist/components/ds-tag/ds-tag.d.ts +2 -2
  101. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
  102. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +2 -2
  103. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  104. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  105. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  106. package/dist/index.d.cts +5 -5
  107. package/dist/index.d.ts +5 -5
  108. package/dist/index.min.css +1 -1
  109. package/package.json +1 -1
  110. package/src/components/ds-card/ds-card.module.scss +3 -11
  111. package/src/components/ds-panel/ds-panel.module.scss +6 -0
  112. package/src/components/ds-panel/ds-panel.tsx +85 -0
  113. package/src/components/ds-panel/ds-panel.types.ts +1 -0
  114. package/src/components/ds-stepper/components/ds-step-content.tsx +25 -7
  115. package/src/components/ds-stepper/components/ds-step-next-button.tsx +8 -3
  116. package/src/components/ds-stepper/components/ds-step-separator.tsx +22 -0
  117. package/src/components/ds-stepper/components/ds-step.tsx +69 -10
  118. package/src/components/ds-stepper/ds-stepper.module.scss +193 -31
  119. package/src/components/ds-stepper/ds-stepper.tsx +29 -5
  120. package/src/components/ds-stepper/ds-stepper.types.ts +11 -1
  121. package/src/components/ds-stepper/hooks/use-stepper.ts +3 -1
  122. package/src/components/ds-stepper/hooks/use-steps.ts +3 -2
  123. package/src/components/ds-stepper/index.tsx +4 -4
  124. package/src/styles/_mixin.scss +1 -0
  125. package/src/styles/mixins/_disabled.scss +18 -0
@@ -7,27 +7,51 @@ import type { DsStepperProps } from './ds-stepper.types';
7
7
  export function DsStepper({
8
8
  count,
9
9
  variant,
10
+ orientation = 'vertical',
11
+ floating = false,
10
12
  activeStep,
11
13
  onStepChange,
12
14
  onComplete,
13
15
  children,
16
+ className,
17
+ actions,
14
18
  }: DsStepperProps) {
15
- const stepsApi = useSteps({ count, activeStep, onStepChange, onComplete });
19
+ const stepsApi = useSteps({ count, activeStep, onStepChange, onComplete, orientation });
20
+
21
+ const isHorizontal = orientation === 'horizontal';
16
22
 
17
23
  return (
18
24
  <StepperContext.Provider
19
25
  value={{
20
26
  stepsApi,
21
27
  variant,
28
+ orientation,
29
+ floating,
22
30
  }}
23
31
  >
24
32
  <div
25
33
  {...stepsApi.getRootProps()}
26
- className={classnames(styles.root, {
27
- [styles.variantSingle]: variant === 'single',
28
- })}
34
+ className={classnames(
35
+ styles.root,
36
+ {
37
+ [styles.variantSingle]: variant === 'single',
38
+ },
39
+ className,
40
+ )}
29
41
  >
30
- {children}
42
+ {isHorizontal ? (
43
+ <>
44
+ <div className={styles.stepsContainer}>{children}</div>
45
+
46
+ {actions && <div className={styles.horizontalActions}>{actions}</div>}
47
+ </>
48
+ ) : (
49
+ <>
50
+ {children}
51
+
52
+ {actions && <div className={styles.verticalActions}>{actions}</div>}
53
+ </>
54
+ )}
31
55
  </div>
32
56
  </StepperContext.Provider>
33
57
  );
@@ -1,12 +1,22 @@
1
- import type { PropsWithChildren } from 'react';
1
+ import type { PropsWithChildren, ReactNode } from 'react';
2
2
  import type * as steps from '@zag-js/steps';
3
3
 
4
4
  export type DsStepperVariant = 'single';
5
5
 
6
+ export type DsStepperOrientation = 'horizontal' | 'vertical';
7
+
6
8
  export type DsStepperProps = PropsWithChildren<
7
9
  {
8
10
  variant?: DsStepperVariant;
11
+ orientation?: DsStepperOrientation;
12
+ floating?: boolean;
9
13
  onComplete?: steps.Props['onStepComplete'];
10
14
  activeStep?: steps.Props['step'];
15
+ className?: string;
16
+ /**
17
+ * Optional actions rendered at the end of the stepper.
18
+ * Horizontal: displayed after the steps. Vertical: displayed at the bottom.
19
+ */
20
+ actions?: ReactNode;
11
21
  } & Pick<steps.Props, 'onStepChange' | 'count'>
12
22
  >;
@@ -1,10 +1,12 @@
1
1
  import { createContext, useContext } from 'react';
2
- import type { DsStepperVariant } from '../ds-stepper.types';
2
+ import type { DsStepperOrientation, DsStepperVariant } from '../ds-stepper.types';
3
3
  import type { useSteps } from './use-steps';
4
4
 
5
5
  type StepsContext = {
6
6
  stepsApi: ReturnType<typeof useSteps>;
7
7
  variant: DsStepperVariant | undefined;
8
+ orientation: DsStepperOrientation;
9
+ floating: boolean;
8
10
  };
9
11
 
10
12
  export const StepperContext = createContext<StepsContext | null>(null);
@@ -3,15 +3,16 @@ import * as steps from '@zag-js/steps';
3
3
  import { normalizeProps, useMachine } from '@zag-js/react';
4
4
  import type { DsStepperProps } from '../ds-stepper.types';
5
5
 
6
- type UseSteps = Pick<DsStepperProps, 'activeStep' | 'onStepChange' | 'count' | 'onComplete'>;
6
+ type UseSteps = Pick<DsStepperProps, 'activeStep' | 'onStepChange' | 'count' | 'onComplete' | 'orientation'>;
7
7
 
8
- export function useSteps({ count, activeStep, onStepChange, onComplete }: UseSteps) {
8
+ export function useSteps({ count, activeStep, onStepChange, onComplete, orientation }: UseSteps) {
9
9
  const service = useMachine(steps.machine, {
10
10
  id: useId(),
11
11
  count,
12
12
  step: activeStep,
13
13
  onStepChange,
14
14
  onStepComplete: onComplete,
15
+ orientation,
15
16
  });
16
17
 
17
18
  return steps.connect(service, normalizeProps);
@@ -1,6 +1,6 @@
1
1
  export { DsStepper } from './ds-stepper';
2
- export { DsStep } from './components/ds-step';
3
- export { DsStepContent } from './components/ds-step-content';
4
- export { DsNextStepButton } from './components/ds-step-next-button';
2
+ export { DsStep, type DsStepProps } from './components/ds-step';
3
+ export { DsStepContent, type DsStepContentProps } from './components/ds-step-content';
4
+ export { DsNextStepButton, type DsNextStepButtonProps } from './components/ds-step-next-button';
5
5
 
6
- export type { DsStepperProps, DsStepperVariant } from './ds-stepper.types';
6
+ export type { DsStepperProps, DsStepperVariant, DsStepperOrientation } from './ds-stepper.types';
@@ -1 +1,2 @@
1
+ @import './mixins/disabled';
1
2
  @import './mixins/list';
@@ -0,0 +1,18 @@
1
+ // Disabled state overlay mixin
2
+ // Creates a semi-transparent overlay on disabled elements
3
+
4
+ @mixin disabled-overlay {
5
+ &[data-disabled] {
6
+ position: relative;
7
+ cursor: not-allowed;
8
+
9
+ &::after {
10
+ content: '';
11
+ position: absolute;
12
+ inset: 0;
13
+ background: rgba(255, 255, 255, 0.6);
14
+ pointer-events: none;
15
+ border-radius: inherit;
16
+ }
17
+ }
18
+ }