@drivenets/design-system 0.9.1 → 0.11.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 (176) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/index.cjs +1182 -716
  3. package/dist/index.d.cts +1806 -636
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts +1809 -639
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1189 -726
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.css +1 -1
  10. package/package.json +11 -13
  11. package/src/components/ds-alert-banner/ds-alert-banner.module.scss +25 -25
  12. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +29 -29
  13. package/src/components/ds-avatar/_mixins.scss +7 -7
  14. package/src/components/ds-avatar/ds-avatar.module.scss +2 -2
  15. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +6 -6
  16. package/src/components/ds-breadcrumb/ds-breadcrumb.module.scss +14 -14
  17. package/src/components/ds-breadcrumb/ds-breadcrumb.types.ts +40 -6
  18. package/src/components/ds-button/ds-button.types.ts +13 -2
  19. package/src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.module.scss +17 -17
  20. package/src/components/ds-button/versions/ds-button-new/ds-button-new.module.scss +135 -135
  21. package/src/components/ds-button-v3/ds-button-v3.module.scss +113 -114
  22. package/src/components/ds-button-v3/ds-button-v3.types.ts +7 -0
  23. package/src/components/ds-card/ds-card.module.scss +12 -12
  24. package/src/components/ds-card/ds-card.types.ts +3 -1
  25. package/src/components/ds-checkbox/ds-checkbox.module.scss +106 -123
  26. package/src/components/ds-checkbox/ds-checkbox.tsx +24 -35
  27. package/src/components/ds-checkbox/ds-checkbox.types.ts +12 -11
  28. package/src/components/ds-checkbox-group/ds-checkbox-group.module.scss +13 -0
  29. package/src/components/ds-checkbox-group/ds-checkbox-group.tsx +20 -0
  30. package/src/components/ds-checkbox-group/ds-checkbox-group.types.ts +8 -0
  31. package/src/components/ds-checkbox-group/hooks/index.ts +6 -0
  32. package/src/components/ds-checkbox-group/hooks/use-checkbox-select-all.ts +65 -0
  33. package/src/components/ds-checkbox-group/index.ts +3 -0
  34. package/src/components/ds-chip/ds-chip.module.scss +17 -17
  35. package/src/components/ds-chip-group/ds-chip-group.module.scss +12 -12
  36. package/src/components/ds-comment-bubble/components/ds-comment-thread/ds-comment-thread.module.scss +3 -3
  37. package/src/components/ds-comment-bubble/components/ds-comment-thread/ds-comment-thread.types.ts +26 -0
  38. package/src/components/ds-comment-bubble/components/ds-thread-item/ds-thread-item.module.scss +18 -18
  39. package/src/components/ds-comment-bubble/components/ds-thread-item/ds-thread-item.types.ts +38 -0
  40. package/src/components/ds-comment-bubble/ds-comment-bubble.module.scss +43 -43
  41. package/src/components/ds-comment-bubble/ds-comment-bubble.types.ts +78 -0
  42. package/src/components/ds-comment-card/ds-comment-card.module.scss +34 -34
  43. package/src/components/ds-comment-card/ds-comment-card.types.ts +114 -0
  44. package/src/components/ds-comment-indicator/ds-comment-indicator.module.scss +9 -9
  45. package/src/components/ds-comment-indicator/ds-comment-indicator.types.ts +26 -0
  46. package/src/components/ds-comments-drawer/comments-filters.types.ts +33 -0
  47. package/src/components/ds-comments-drawer/components/comments-filter-modal/comments-filter-modal.module.scss +10 -10
  48. package/src/components/ds-comments-drawer/components/comments-filter-modal/comments-filter-modal.types.ts +37 -1
  49. package/src/components/ds-comments-drawer/ds-comments-drawer.module.scss +11 -11
  50. package/src/components/ds-comments-drawer/ds-comments-drawer.types.ts +64 -0
  51. package/src/components/ds-date-input/ds-date-input.module.scss +42 -42
  52. package/src/components/ds-date-input/ds-date-input.types.ts +23 -0
  53. package/src/components/ds-date-picker/components/calendar-table.module.scss +17 -17
  54. package/src/components/ds-date-picker/components/calendar-view-control/calendar-view-control.module.scss +8 -8
  55. package/src/components/ds-date-picker/components/day-view/day-view.module.scss +1 -1
  56. package/src/components/ds-date-picker/ds-date-picker.module.scss +1 -1
  57. package/src/components/ds-date-picker/ds-date-picker.tsx +3 -0
  58. package/src/components/ds-date-picker/ds-date-picker.types.ts +20 -0
  59. package/src/components/ds-date-range-picker/ds-date-range-picker.module.scss +1 -1
  60. package/src/components/ds-date-range-picker/ds-date-range-picker.types.ts +28 -0
  61. package/src/components/ds-dialog/ds-dialog.module.scss +3 -3
  62. package/src/components/ds-dialog/ds-dialog.types.ts +10 -1
  63. package/src/components/ds-divider/ds-divider.module.scss +1 -1
  64. package/src/components/ds-drawer/ds-drawer.module.scss +12 -12
  65. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +22 -14
  66. package/src/components/ds-dropdown-menu/ds-dropdown-menu.tsx +2 -0
  67. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.ts +33 -0
  68. package/src/components/ds-expandable-text-input/ds-expandable-text-input.module.scss +1 -1
  69. package/src/components/ds-file-upload/components/file-upload/file-upload.module.scss +22 -22
  70. package/src/components/ds-file-upload/components/file-upload/file-upload.types.ts +1 -0
  71. package/src/components/ds-file-upload/components/file-upload-item/file-upload-item.module.scss +23 -23
  72. package/src/components/ds-file-upload/ds-file-upload-api.types.ts +55 -0
  73. package/src/components/ds-filter-status-icon/ds-filter-status-icon.module.scss +5 -5
  74. package/src/components/ds-form-control/ds-form-control.module.scss +13 -13
  75. package/src/components/ds-form-control/ds-form-control.types.ts +3 -0
  76. package/src/components/ds-grid/ds-grid.tsx +29 -12
  77. package/src/components/ds-grid/ds-grid.types.ts +16 -13
  78. package/src/components/ds-grid/index.ts +10 -2
  79. package/src/components/ds-icon/custom-icons/index.ts +2 -0
  80. package/src/components/ds-icon/custom-icons/special-leading-icon.tsx +11 -0
  81. package/src/components/ds-icon/ds-icon.module.scss +8 -0
  82. package/src/components/ds-icon/ds-icon.tsx +10 -4
  83. package/src/components/ds-icon/ds-icon.types.ts +30 -0
  84. package/src/components/ds-key-value-pair/ds-key-value-pair.module.scss +7 -7
  85. package/src/components/ds-key-value-pair/ds-key-value-pair.types.ts +12 -2
  86. package/src/components/ds-modal/ds-modal.module.scss +9 -9
  87. package/src/components/ds-modal/ds-modal.types.ts +16 -0
  88. package/src/components/ds-panel/ds-panel.module.scss +16 -16
  89. package/src/components/ds-panel/ds-panel.types.ts +39 -0
  90. package/src/components/ds-popover/ds-popover.module.scss +2 -2
  91. package/src/components/ds-progress-arc/ds-progress-arc.module.scss +7 -7
  92. package/src/components/ds-progress-donut/ds-progress-donut.module.scss +7 -7
  93. package/src/components/ds-progress-linear/ds-progress-linear.module.scss +15 -15
  94. package/src/components/ds-radio-group/ds-radio-group.module.scss +58 -56
  95. package/src/components/ds-radio-group/ds-radio-group.tsx +35 -28
  96. package/src/components/ds-radio-group/ds-radio-group.types.ts +38 -7
  97. package/src/components/ds-segment-group/ds-segment-group.module.scss +18 -18
  98. package/src/components/ds-segment-group/ds-segment-group.types.ts +17 -0
  99. package/src/components/ds-select/ds-select.module.scss +8 -8
  100. package/src/components/ds-select/ds-select.types.ts +32 -0
  101. package/src/components/ds-skeleton/ds-skeleton.module.scss +1 -1
  102. package/src/components/ds-smart-tabs/ds-smart-tabs.module.scss +12 -12
  103. package/src/components/ds-smart-tabs/ds-smart-tabs.tsx +9 -9
  104. package/src/components/ds-spinner/ds-spinner.module.scss +1 -1
  105. package/src/components/ds-split-button/ds-split-button.module.scss +7 -7
  106. package/src/components/ds-split-button/ds-split-button.types.ts +28 -0
  107. package/src/components/ds-stack/ds-stack.types.ts +23 -0
  108. package/src/components/ds-status-badge/ds-status-badge.module.scss +21 -25
  109. package/src/components/ds-stepper/ds-stepper.module.scss +55 -55
  110. package/src/components/ds-stepper/ds-stepper.types.ts +34 -1
  111. package/src/components/ds-system-status/ds-system-status.module.scss +22 -22
  112. package/src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.types.ts +27 -0
  113. package/src/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.module.scss +9 -9
  114. package/src/components/ds-table/components/ds-table-cell/ds-table-cell.module.scss +4 -4
  115. package/src/components/ds-table/components/ds-table-header/ds-table-header.module.scss +5 -10
  116. package/src/components/ds-table/components/ds-table-header/ds-table-header.tsx +6 -9
  117. package/src/components/ds-table/components/ds-table-row/ds-table-row.module.scss +13 -22
  118. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +11 -18
  119. package/src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.module.scss +0 -7
  120. package/src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.tsx +19 -28
  121. package/src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.types.ts +7 -1
  122. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx +3 -8
  123. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.types.ts +11 -0
  124. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.module.scss +15 -11
  125. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx +9 -4
  126. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.types.ts +27 -0
  127. package/src/components/ds-table/ds-table.module.scss +9 -2
  128. package/src/components/ds-table/ds-table.tsx +26 -4
  129. package/src/components/ds-table/filters/components/range-filter/range-filter.module.scss +1 -1
  130. package/src/components/ds-table/filters/types/filter-adapter.types.ts +6 -0
  131. package/src/components/ds-table/styles/_mixins.scss +1 -1
  132. package/src/components/ds-table/styles/_variables.scss +5 -6
  133. package/src/components/ds-table/utils/constants.ts +10 -0
  134. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +1 -1
  135. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-indicator.module.scss +1 -1
  136. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss +3 -3
  137. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss +55 -55
  138. package/src/components/ds-tabs/ds-tabs.module.scss +1 -1
  139. package/src/components/ds-tag/ds-tag.module.scss +22 -22
  140. package/src/components/ds-tag/ds-tag.types.ts +6 -0
  141. package/src/components/ds-tag-filter/ds-tag-filter.module.scss +10 -10
  142. package/src/components/ds-tag-filter/ds-tag-filter.types.ts +16 -0
  143. package/src/components/ds-text-input/ds-text-input.module.scss +1 -1
  144. package/src/components/ds-text-input/ds-text-input.types.ts +3 -0
  145. package/src/components/ds-time-picker/components/time-item/time-item.module.scss +8 -8
  146. package/src/components/ds-time-picker/components/time-item/time-item.types.ts +19 -0
  147. package/src/components/ds-time-picker/components/time-scroller/time-scroller.module.scss +3 -3
  148. package/src/components/ds-time-picker/components/time-scroller/time-scroller.types.ts +29 -0
  149. package/src/components/ds-time-picker/ds-time-picker.module.scss +7 -0
  150. package/src/components/ds-time-picker/ds-time-picker.tsx +8 -1
  151. package/src/components/ds-time-picker/ds-time-picker.types.ts +80 -0
  152. package/src/components/ds-toast/ds-toast.module.scss +11 -11
  153. package/src/components/ds-toggle/ds-toggle.module.scss +18 -18
  154. package/src/components/ds-tooltip/ds-tooltip.module.scss +5 -5
  155. package/src/components/ds-tooltip/ds-tooltip.types.ts +6 -0
  156. package/src/components/ds-tree/ds-tree.module.scss +27 -27
  157. package/src/components/ds-tree/ds-tree.types.ts +84 -2
  158. package/src/components/ds-typography/ds-typography.config.ts +46 -27
  159. package/src/components/ds-typography/ds-typography.tsx +22 -7
  160. package/src/components/ds-typography/ds-typography.types.ts +15 -4
  161. package/src/components/ds-vertical-tabs/ds-vertical-tabs.module.scss +13 -13
  162. package/src/components/ds-workspace/ds-workspace.module.scss +55 -0
  163. package/src/components/ds-workspace/ds-workspace.tsx +37 -0
  164. package/src/components/ds-workspace/ds-workspace.types.ts +17 -0
  165. package/src/components/ds-workspace/index.ts +8 -0
  166. package/src/index.ts +2 -0
  167. package/src/styles/_grid.scss +2 -2
  168. package/src/styles/_root.scss +0 -18
  169. package/src/styles/_root_new.scss +449 -0
  170. package/src/styles/_scrollbars.scss +5 -5
  171. package/src/styles/_typography.scss +18 -14
  172. package/src/styles/mixins/_list.scss +8 -8
  173. package/src/styles/shared/_dropdown.scss +9 -9
  174. package/src/styles/shared/_input.scss +47 -49
  175. package/src/styles/styles.scss +1 -0
  176. package/src/styles/_root_updated.scss +0 -593
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drivenets/design-system",
3
- "version": "0.9.1",
3
+ "version": "0.11.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.cts",
@@ -41,13 +41,10 @@
41
41
  "@dnd-kit/modifiers": "^9.0.0",
42
42
  "@dnd-kit/sortable": "^10.0.0",
43
43
  "@dnd-kit/utilities": "^3.2.2",
44
- "@radix-ui/react-checkbox": "^1.3.3",
45
44
  "@radix-ui/react-collapsible": "^1.1.12",
46
45
  "@radix-ui/react-dialog": "^1.1.15",
47
46
  "@radix-ui/react-dropdown-menu": "^2.1.16",
48
47
  "@radix-ui/react-popover": "^1.1.15",
49
- "@radix-ui/react-radio-group": "^1.3.8",
50
- "@radix-ui/react-slot": "^1.2.4",
51
48
  "@radix-ui/react-tooltip": "^1.2.8",
52
49
  "@radix-ui/react-visually-hidden": "^1.2.4",
53
50
  "@tanstack/react-table": "^8.21.3",
@@ -79,10 +76,10 @@
79
76
  "@types/eslint-plugin-jsx-a11y": "^6.10.1",
80
77
  "@types/react": "^19.2.14",
81
78
  "@types/react-dom": "^19.2.3",
82
- "@typescript/native-preview": "7.0.0-dev.20260331.1",
79
+ "@typescript/native-preview": "7.0.0-dev.20260426.1",
83
80
  "@vitejs/plugin-react": "^6.0.1",
84
81
  "@vitest/browser-playwright": "^4.1.0",
85
- "@vitest/coverage-v8": "^4.1.0",
82
+ "@vitest/coverage-v8": "^4.1.5",
86
83
  "babel-plugin-react-compiler": "^1.0.0",
87
84
  "eslint": "^10.0.1",
88
85
  "eslint-plugin-jsx-a11y": "^6.10.2",
@@ -95,27 +92,29 @@
95
92
  "react": "^19.2.4",
96
93
  "react-dom": "^19.2.4",
97
94
  "react-hook-form": "^7.71.2",
95
+ "remark-gfm": "^4.0.1",
98
96
  "sass-embedded": "^1.97.3",
99
97
  "storybook": "^10.2.19",
100
- "tsdown": "^0.21.6",
98
+ "tsdown": "^0.21.10",
101
99
  "typed-scss-modules": "^8.1.1",
102
- "typescript": "^6.0.2",
100
+ "typescript": "^6.0.3",
103
101
  "typescript-plugin-css-modules": "^5.2.0",
104
102
  "vite": "8.0.5",
105
- "vitest": "^4.1.0",
103
+ "vitest": "^4.1.5",
106
104
  "vitest-browser-react": "^2.1.0",
107
105
  "zod": "^4.3.6",
108
106
  "@drivenets/eslint-plugin-internal": "0.0.0",
109
- "@drivenets/vite-plugin-design-system": "0.0.7"
107
+ "@drivenets/vite-plugin-design-system": "0.0.8"
110
108
  },
111
109
  "scripts": {
110
+ "start": "storybook dev -p 6006",
112
111
  "install:playwright": "pnpm exec playwright install chromium --with-deps",
113
112
  "lint": "pnpm generate-scss-dts && eslint --max-warnings=0 ${ESLINT_ARGS-} .; EXIT_CODE=$?; rm -rf .scss-dts; exit $EXIT_CODE",
114
113
  "//": "ESLINT_ARGS is used to pass arguments to eslint. We're using it so we don't need to duplicate the lint script.",
115
114
  "lint:fix": "ESLINT_ARGS=--fix pnpm lint",
115
+ "lint:build": "publint && attw --pack",
116
116
  "typecheck": "pnpm generate-scss-dts && tsgo; EXIT_CODE=$?; rm -rf .scss-dts; exit $EXIT_CODE",
117
117
  "generate-scss-dts": "typed-scss-modules ./src -o ./.scss-dts --nameFormat all --exportType default > /dev/null 2>&1",
118
- "storybook": "storybook dev -p 6006",
119
118
  "test": "vitest --project=\"!requires-build\"",
120
119
  "test:coverage": "pnpm test --coverage",
121
120
  "test:unit": "vitest --project=unit",
@@ -123,7 +122,6 @@
123
122
  "test:requires-build": "vitest --project=requires-build",
124
123
  "build": "tsdown",
125
124
  "build:watch": "pnpm build --watch",
126
- "build:storybook": "storybook build",
127
- "build:lint": "publint && attw --pack"
125
+ "build:storybook": "storybook build"
128
126
  }
129
127
  }
@@ -10,11 +10,11 @@
10
10
  'icon description close'
11
11
  'icon actions close';
12
12
  align-items: start;
13
- padding: var(--spacing-standard);
13
+ padding: var(--standard);
14
14
  border-radius: 4px;
15
15
  border: 1px solid;
16
- column-gap: var(--spacing-xs);
17
- row-gap: var(--spacing-4xs);
16
+ column-gap: var(--xs);
17
+ row-gap: var(--4xs);
18
18
 
19
19
  &:not(:has(.title)) {
20
20
  align-items: center;
@@ -24,8 +24,8 @@
24
24
  &.global {
25
25
  display: flex;
26
26
  align-items: center;
27
- padding: var(--spacing-sm) var(--spacing-standard);
28
- gap: var(--spacing-2xs);
27
+ padding: var(--sm) var(--standard);
28
+ gap: var(--2xs);
29
29
  border-bottom: 2px solid;
30
30
 
31
31
  .title {
@@ -48,69 +48,69 @@
48
48
 
49
49
  .title {
50
50
  grid-area: title;
51
- color: var(--color-font-main);
51
+ color: var(--font-main);
52
52
  }
53
53
 
54
54
  .description {
55
55
  grid-area: description;
56
- color: var(--color-font-secondary);
57
- margin-top: var(--spacing-4xs);
56
+ color: var(--font-secondary);
57
+ margin-top: var(--4xs);
58
58
  }
59
59
 
60
60
  .actions {
61
61
  grid-area: actions;
62
62
  display: inline-flex;
63
- gap: var(--spacing-xs);
63
+ gap: var(--xs);
64
64
  }
65
65
 
66
66
  .closeButton {
67
67
  grid-area: close;
68
68
  display: flex;
69
- color: var(--color-background-action);
69
+ color: var(--background-action);
70
70
  }
71
71
 
72
72
  &.infoNeutral {
73
- background-color: var(--color-background-secondary);
74
- border-color: var(--color-border);
73
+ background-color: var(--background-secondary);
74
+ border-color: var(--border);
75
75
 
76
76
  .icon {
77
- color: var(--color-icon-secondary);
77
+ color: var(--icon-action-secondary);
78
78
  }
79
79
  }
80
80
 
81
81
  &.infoBlue {
82
- background-color: var(--color-background-info);
83
- border-color: var(--color-border-action-primary);
82
+ background-color: var(--background-info);
83
+ border-color: var(--border-action-primary);
84
84
 
85
85
  .icon {
86
- color: var(--color-icon-primary);
86
+ color: var(--icon-action);
87
87
  }
88
88
  }
89
89
 
90
90
  &.warning {
91
- background-color: var(--color-background-warning);
92
- border-color: var(--color-background-warning-strong);
91
+ background-color: var(--background-warning);
92
+ border-color: var(--background-warning-strong);
93
93
 
94
94
  .icon {
95
- color: var(--color-icon-warning);
95
+ color: var(--icon-warning);
96
96
  }
97
97
  }
98
98
 
99
99
  &.error {
100
- background-color: var(--color-background-danger-weak);
101
- border-color: var(--color-border-danger-strong);
100
+ background-color: var(--background-error-secondary-hover);
101
+ border-color: var(--border-error);
102
102
 
103
103
  .icon {
104
- color: var(--color-icon-danger);
104
+ color: var(--icon-error);
105
105
  }
106
106
  }
107
107
 
108
108
  &.success {
109
- background-color: var(--color-background-success);
110
- border-color: var(--color-border-success);
109
+ background-color: var(--background-success);
110
+ border-color: var(--border-success);
111
111
 
112
112
  .icon {
113
- color: var(--color-icon-success);
113
+ color: var(--icon-success);
114
114
  }
115
115
  }
116
116
  }
@@ -28,17 +28,17 @@ $autocomplete-opacity-visible: 1;
28
28
  @include input.input-container-states;
29
29
  display: flex;
30
30
  align-items: center;
31
- gap: var(--spacing-3xs);
31
+ gap: var(--3xs);
32
32
  height: $autocomplete-input-height;
33
33
  min-height: $autocomplete-input-height;
34
34
  max-height: $autocomplete-input-height;
35
35
 
36
36
  &[data-focus] {
37
- border-color: var(--form-control-border-color, var(--color-border-action-primary)) !important;
37
+ border-color: var(--form-control-border-color, var(--border-action-primary)) !important;
38
38
  }
39
39
 
40
40
  &[data-invalid] {
41
- border-color: var(--color-background-danger-strong);
41
+ border-color: var(--background-error);
42
42
  }
43
43
  }
44
44
 
@@ -49,7 +49,7 @@ $autocomplete-opacity-visible: 1;
49
49
  outline: none;
50
50
 
51
51
  &::placeholder {
52
- color: var(--color-font-disabled);
52
+ color: var(--font-disabled);
53
53
  }
54
54
  }
55
55
 
@@ -57,14 +57,14 @@ $autocomplete-opacity-visible: 1;
57
57
  display: flex;
58
58
  align-items: center;
59
59
  justify-content: center;
60
- color: var(--color-background-action);
60
+ color: var(--background-action);
61
61
  flex-shrink: 0;
62
62
  }
63
63
 
64
64
  .iconContainer {
65
65
  display: flex;
66
66
  align-items: center;
67
- gap: var(--spacing-3xs);
67
+ gap: var(--3xs);
68
68
  flex-shrink: 0;
69
69
  }
70
70
 
@@ -76,7 +76,7 @@ $autocomplete-opacity-visible: 1;
76
76
  transition: opacity $autocomplete-animation-duration ease;
77
77
 
78
78
  &:hover {
79
- color: var(--color-background-action-hover);
79
+ color: var(--background-action-hover);
80
80
  }
81
81
  }
82
82
 
@@ -90,7 +90,7 @@ $autocomplete-opacity-visible: 1;
90
90
  display: flex;
91
91
  align-items: center;
92
92
  justify-content: center;
93
- color: var(--color-background-deselected);
93
+ color: var(--background-deselected);
94
94
  transition:
95
95
  transform $autocomplete-animation-duration ease-in-out,
96
96
  background-color $autocomplete-animation-duration ease,
@@ -104,14 +104,14 @@ $autocomplete-opacity-visible: 1;
104
104
  height: $autocomplete-trigger-size;
105
105
 
106
106
  &:hover {
107
- color: var(--color-background-deselected-hover);
108
- background: var(--color-background-action-hover-weak);
107
+ color: var(--background-deselected-hover);
108
+ background: var(--background-action-hover-weak);
109
109
  }
110
110
 
111
111
  &[data-state='open'] {
112
112
  transform: rotate($autocomplete-rotation-open);
113
- color: var(--color-background-deselected-hover);
114
- background: var(--color-background-action-hover-weak);
113
+ color: var(--background-deselected-hover);
114
+ background: var(--background-action-hover-weak);
115
115
  }
116
116
 
117
117
  &:focus-visible {
@@ -121,8 +121,8 @@ $autocomplete-opacity-visible: 1;
121
121
  }
122
122
 
123
123
  .control[data-focus] .trigger {
124
- color: var(--color-background-deselected-hover);
125
- background: var(--color-background-action-hover-weak);
124
+ color: var(--background-deselected-hover);
125
+ background: var(--background-action-hover-weak);
126
126
  }
127
127
 
128
128
  .positioner {
@@ -158,17 +158,17 @@ $autocomplete-opacity-visible: 1;
158
158
  @include dropdown.dropdown-item;
159
159
  display: flex;
160
160
  align-items: center;
161
- gap: var(--spacing-xs);
161
+ gap: var(--xs);
162
162
  height: $autocomplete-item-height;
163
163
  min-height: $autocomplete-item-height;
164
164
 
165
165
  &[data-highlighted] {
166
- background: var(--color-background-secondary-selected-weak);
166
+ background: var(--background-secondary-selected-weak);
167
167
  }
168
168
  }
169
169
 
170
170
  .itemIcon {
171
- color: var(--color-background-deselected);
171
+ color: var(--background-deselected);
172
172
  flex-shrink: 0;
173
173
  display: flex;
174
174
  align-items: center;
@@ -181,8 +181,8 @@ $autocomplete-opacity-visible: 1;
181
181
  white-space: nowrap;
182
182
 
183
183
  mark {
184
- background-color: var(--color-data-yellow);
185
- color: var(--color-font-main);
184
+ background-color: var(--color-dap-data-yellow);
185
+ color: var(--font-main);
186
186
  font-weight: var(--font-weight-medium);
187
187
  padding: 0;
188
188
  border-radius: $autocomplete-highlight-border-radius;
@@ -191,31 +191,31 @@ $autocomplete-opacity-visible: 1;
191
191
 
192
192
  .noMatches,
193
193
  .loading {
194
- padding: var(--spacing-xs);
195
- color: var(--color-font-disabled);
194
+ padding: var(--xs);
195
+ color: var(--font-disabled);
196
196
  text-align: center;
197
- font-size: var(--font-size-sm);
197
+ font-size: var(--body-font-size-sm);
198
198
  }
199
199
 
200
200
  .disabled {
201
201
  .control {
202
- color: var(--color-background-deselected);
203
- border-color: var(--color-border-disabled);
202
+ color: var(--background-deselected);
203
+ border-color: var(--border-disabled);
204
204
  cursor: not-allowed;
205
205
 
206
206
  .input {
207
- color: var(--color-font-disabled);
207
+ color: var(--font-disabled);
208
208
  cursor: not-allowed;
209
209
  }
210
210
 
211
211
  .trigger {
212
- color: var(--color-background-disable);
212
+ color: var(--background-disable);
213
213
  cursor: not-allowed;
214
214
  background: transparent;
215
215
 
216
216
  &:hover {
217
217
  background: transparent;
218
- color: var(--color-background-disable);
218
+ color: var(--background-disable);
219
219
  }
220
220
  }
221
221
  }
@@ -223,11 +223,11 @@ $autocomplete-opacity-visible: 1;
223
223
 
224
224
  .invalid {
225
225
  .control {
226
- border-color: var(--color-background-danger-strong);
226
+ border-color: var(--background-error);
227
227
 
228
228
  &:hover,
229
229
  &[data-focus] {
230
- border-color: var(--color-background-danger-strong) !important;
230
+ border-color: var(--background-error) !important;
231
231
  }
232
232
  }
233
233
  }
@@ -5,9 +5,9 @@ $avatar-size-md: 48px;
5
5
  $avatar-size-lg: 80px;
6
6
  $avatar-size-xl: 144px;
7
7
 
8
- $avatar-border-width: var(--spacing-4xs);
9
- $avatar-border-radius-small: var(--spacing-3xs);
10
- $avatar-border-radius-large: var(--spacing-xs);
8
+ $avatar-border-width: var(--4xs);
9
+ $avatar-border-radius-small: var(--3xs);
10
+ $avatar-border-radius-large: var(--xs);
11
11
  $avatar-overlap-xsm: -4px;
12
12
  $avatar-overlap-sm: -6px;
13
13
  $avatar-overlap-default: -8px;
@@ -28,18 +28,18 @@ $avatar-overlap-default: -8px;
28
28
  }
29
29
 
30
30
  &.regular {
31
- @include avatar-size($avatar-size-regular, var(--font-size-xs));
31
+ @include avatar-size($avatar-size-regular, var(--body-font-size-xs));
32
32
  }
33
33
 
34
34
  &.md {
35
- @include avatar-size($avatar-size-md, var(--font-size-md));
35
+ @include avatar-size($avatar-size-md, var(--body-font-size-md));
36
36
  }
37
37
 
38
38
  &.lg {
39
- @include avatar-size($avatar-size-lg, var(--font-size-2xl));
39
+ @include avatar-size($avatar-size-lg, var(--heading-font-size-2xl));
40
40
  }
41
41
 
42
42
  &.xl {
43
- @include avatar-size($avatar-size-xl, var(--font-size-3xl));
43
+ @include avatar-size($avatar-size-xl, var(--heading-font-size-3xl));
44
44
  }
45
45
  }
@@ -6,8 +6,8 @@
6
6
  justify-content: center;
7
7
  position: relative;
8
8
  overflow: hidden;
9
- background-color: var(--color-background-deselected);
10
- color: var(--color-font-on-action);
9
+ background-color: var(--background-deselected);
10
+ color: var(--font-on-action);
11
11
  flex-shrink: 0;
12
12
  user-select: none;
13
13
 
@@ -5,7 +5,7 @@
5
5
  align-items: center;
6
6
 
7
7
  .avatarItem {
8
- border: $avatar-border-width solid var(--color-background);
8
+ border: $avatar-border-width solid var(--background);
9
9
 
10
10
  &:not(:first-child) {
11
11
  margin-left: $avatar-overlap-default;
@@ -24,9 +24,9 @@
24
24
  display: flex;
25
25
  align-items: center;
26
26
  justify-content: center;
27
- background-color: var(--color-background);
28
- color: var(--color-font-action);
29
- border: $avatar-border-width solid var(--color-background);
27
+ background-color: var(--background);
28
+ color: var(--font-action);
29
+ border: $avatar-border-width solid var(--background);
30
30
  margin-left: $avatar-overlap-default;
31
31
  font-weight: var(--font-weight-medium);
32
32
  z-index: 1;
@@ -64,7 +64,7 @@
64
64
  .tooltipList {
65
65
  display: flex;
66
66
  flex-direction: column;
67
- gap: var(--spacing-3xs);
68
- padding: var(--spacing-3xs) 0;
67
+ gap: var(--3xs);
68
+ padding: var(--3xs) 0;
69
69
  }
70
70
  }
@@ -2,32 +2,32 @@
2
2
 
3
3
  @mixin breadcrumb-item {
4
4
  @include typography.body-sm-reg;
5
- color: var(--color-background-action);
5
+ color: var(--background-action);
6
6
  text-decoration: none;
7
7
  outline: none;
8
- padding: var(--exo-spacing-2x-small) var(--spacing-sm);
9
- gap: var(--exo-spacing-2x-small);
10
- border-radius: var(--exo-spacing-2x-small);
8
+ padding: var(--3xs) var(--sm);
9
+ gap: var(--3xs);
10
+ border-radius: var(--3xs);
11
11
  display: flex;
12
12
  align-items: center;
13
13
 
14
14
  &:hover {
15
- color: var(--color-background-selected);
16
- background: var(--color-background-action-tertiary);
15
+ color: var(--background-primary);
16
+ background: var(--background-action-tertiary-hover);
17
17
  }
18
18
 
19
19
  &:active {
20
- color: var(--color-background-selected-hover);
21
- background: var(--color-background-action-secondary-hover);
20
+ color: var(--background-primary-hover);
21
+ background: var(--background-action-secondary-hover);
22
22
  }
23
23
 
24
24
  &:focus {
25
- outline: 2px solid var(--color-background-selected);
25
+ outline: 2px solid var(--background-primary);
26
26
  outline-offset: 0;
27
27
  }
28
28
 
29
29
  &:disabled {
30
- color: var(--color-background-disable);
30
+ color: var(--background-disable);
31
31
  }
32
32
  }
33
33
 
@@ -53,7 +53,7 @@
53
53
  display: flex;
54
54
  justify-content: center;
55
55
  align-items: center;
56
- color: var(--color-font-disabled);
56
+ color: var(--font-disabled);
57
57
  width: var(--icon-width-small);
58
58
  height: var(--icon-width-small);
59
59
  }
@@ -82,18 +82,18 @@
82
82
  }
83
83
 
84
84
  .icon {
85
- margin-right: var(--exo-spacing-2x-small);
85
+ margin-right: var(--3xs);
86
86
  display: flex;
87
87
  align-items: center;
88
88
  }
89
89
 
90
90
  .dropdownIcon {
91
- margin-left: var(--exo-spacing-2x-small);
91
+ margin-left: var(--3xs);
92
92
  display: flex;
93
93
  align-items: center;
94
94
  }
95
95
 
96
96
  .itemLabel {
97
97
  @include typography.ellipsis;
98
- color: var(--color-font-main);
98
+ color: var(--font-main);
99
99
  }
@@ -2,31 +2,65 @@ import type { IconType } from '../ds-icon';
2
2
 
3
3
  export type DsBreadcrumbItem =
4
4
  | {
5
+ /**
6
+ * Renders the item as a direct navigation link to `href`.
7
+ */
5
8
  type: 'link';
9
+ /**
10
+ * Visible text for the breadcrumb segment
11
+ */
6
12
  label: string;
13
+ /**
14
+ * Destination URL navigated to when the segment is clicked
15
+ */
7
16
  href: string;
17
+ /**
18
+ * Optional icon rendered before the label
19
+ */
8
20
  icon?: IconType;
9
21
  }
10
22
  | {
23
+ /**
24
+ * Renders the item as a dropdown trigger that reveals sibling destinations.
25
+ */
11
26
  type: 'dropdown';
27
+ /**
28
+ * Visible text for the dropdown trigger
29
+ */
12
30
  label: string;
13
- options: { label: string; href: string }[];
31
+ /**
32
+ * Sibling destinations shown in the dropdown. Each option navigates to its
33
+ * `href` when selected.
34
+ */
35
+ options: {
36
+ /**
37
+ * Visible text for the dropdown option
38
+ */
39
+ label: string;
40
+ /**
41
+ * Destination URL navigated to when the option is selected
42
+ */
43
+ href: string;
44
+ }[];
45
+ /**
46
+ * Optional icon rendered before the label
47
+ */
14
48
  icon?: IconType;
15
49
  };
16
50
 
17
51
  export interface DsBreadcrumbProps {
18
52
  /**
19
- * The items to be displayed in the breadcrumb
53
+ * Ordered breadcrumb segments rendered left-to-right. The last item is typically
54
+ * the current page.
20
55
  */
21
56
  items: DsBreadcrumbItem[];
22
57
  /**
23
- * The event handler to be called when an option is selected
24
- *
25
- * @param href
58
+ * Called when the user activates any link segment or picks a destination from a
59
+ * dropdown segment. Receives the selected `href`.
26
60
  */
27
61
  onSelect?: (href: string) => void;
28
62
  /**
29
- * Additional CSS class name to be applied to the breadcrumb
63
+ * Additional CSS class name applied to the breadcrumb root
30
64
  */
31
65
  className?: string;
32
66
  }
@@ -2,5 +2,16 @@ import type { DsButtonProps as DsButtonLegacyProps } from './versions/ds-button-
2
2
  import type { DsButtonProps as DsButtonNewProps } from './versions/ds-button-new/ds-button-new.types';
3
3
 
4
4
  export type DsButtonUnifiedProps =
5
- | (DsButtonLegacyProps & { design?: undefined | 'legacy' })
6
- | (DsButtonNewProps & { design: 'v1.2' });
5
+ | (DsButtonLegacyProps & {
6
+ /**
7
+ * Selects the legacy button implementation. Accepts `DsButtonLegacyProps`.
8
+ * Omit or pass `'legacy'` to opt into this branch.
9
+ */
10
+ design?: undefined | 'legacy';
11
+ })
12
+ | (DsButtonNewProps & {
13
+ /**
14
+ * Selects the new (v1.2) button implementation. Accepts `DsButtonNewProps`.
15
+ */
16
+ design: 'v1.2';
17
+ });
@@ -1,22 +1,22 @@
1
1
  @use '../../../../styles/typography';
2
2
 
3
- $color-primary-default: var(--action-cta1);
4
- $color-primary-hover: var(--action-hover-light);
5
- $color-primary-active: var(--action-active-light);
6
- $color-primary-disabled: var(--action-disabled);
7
-
8
- $color-secondary-default: var(--action-cta3);
9
- $color-secondary-hover: var(--neutral-4);
10
- $color-secondary-disabled: var(--action-disabled);
11
-
12
- $color-error-default: var(--system-status-error);
13
- $color-error-hover: var(--utility-error);
14
- $color-error-active: var(--utility-error);
15
- $color-error-disabled: var(--action-disabled);
16
-
17
- $color-white: var(--white);
18
- $color-neutral-6: var(--utility-disabled);
19
- $color-neutral-4: var(--neutral-4);
3
+ $color-primary-default: var(--color-dap-blue-600);
4
+ $color-primary-hover: var(--background-active-status);
5
+ $color-primary-active: var(--color-dap-purple-200);
6
+ $color-primary-disabled: var(--color-dap-gray-400);
7
+
8
+ $color-secondary-default: var(--color-dap-brand-300);
9
+ $color-secondary-hover: var(--color-dap-gray-500);
10
+ $color-secondary-disabled: var(--color-dap-gray-400);
11
+
12
+ $color-error-default: var(--background-error);
13
+ $color-error-hover: var(--color-dap-red-100);
14
+ $color-error-active: var(--color-dap-red-100);
15
+ $color-error-disabled: var(--color-dap-gray-400);
16
+
17
+ $color-white: var(--color-dap-gray-050);
18
+ $color-neutral-6: var(--color-dap-gray-200);
19
+ $color-neutral-4: var(--color-dap-gray-500);
20
20
 
21
21
  @mixin button-filled($background, $hover, $active, $disabled) {
22
22
  background: $background;