@drivenets/design-system 0.0.3 → 0.0.5

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 (247) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +51 -0
  3. package/dist/components/ds-alert-banner/ds-alert-banner.cjs +157 -52
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  5. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  6. package/dist/components/ds-alert-banner/ds-alert-banner.js +157 -52
  7. package/dist/components/ds-alert-banner/ds-alert-banner.js.map +1 -1
  8. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  9. package/dist/components/ds-alert-banner/ds-alert-banner.types.js.map +1 -1
  10. package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +59 -16
  11. package/dist/components/ds-breadcrumb/ds-breadcrumb.js +59 -16
  12. package/dist/components/ds-breadcrumb/ds-breadcrumb.js.map +1 -1
  13. package/dist/components/ds-button/ds-button.cjs +18 -2
  14. package/dist/components/ds-button/ds-button.d.cts +2 -2
  15. package/dist/components/ds-button/ds-button.d.cts.map +1 -1
  16. package/dist/components/ds-button/ds-button.d.ts +2 -2
  17. package/dist/components/ds-button/ds-button.js +18 -2
  18. package/dist/components/ds-button/ds-button.js.map +1 -1
  19. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +79 -10
  20. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +79 -10
  21. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  22. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +78 -10
  23. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +78 -10
  24. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  25. package/dist/components/ds-checkbox/ds-checkbox.cjs +89 -18
  26. package/dist/components/ds-checkbox/ds-checkbox.js +89 -18
  27. package/dist/components/ds-checkbox/ds-checkbox.js.map +1 -1
  28. package/dist/components/ds-chip/ds-chip.cjs +100 -30
  29. package/dist/components/ds-chip/ds-chip.js +100 -30
  30. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  31. package/dist/components/ds-chip-group/ds-chip-group.cjs +6 -6
  32. package/dist/components/ds-chip-group/ds-chip-group.js +6 -6
  33. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  34. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  35. package/dist/components/ds-confirmation/ds-confirmation.cjs +210 -56
  36. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  37. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  38. package/dist/components/ds-confirmation/ds-confirmation.js +210 -56
  39. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  40. package/dist/components/ds-dialog/ds-dialog.js.map +1 -1
  41. package/dist/components/ds-drawer/ds-drawer.cjs +261 -61
  42. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  43. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  44. package/dist/components/ds-drawer/ds-drawer.js +261 -61
  45. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  46. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +481 -135
  47. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +481 -135
  48. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  49. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.cjs +146 -56
  50. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  51. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  52. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js +146 -56
  53. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js.map +1 -1
  54. package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +190 -69
  55. package/dist/components/ds-file-upload/components/file-upload/file-upload.js +190 -69
  56. package/dist/components/ds-file-upload/components/file-upload/file-upload.js.map +1 -1
  57. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +273 -132
  58. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +273 -132
  59. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js.map +1 -1
  60. package/dist/components/ds-file-upload/ds-file-upload.cjs +96 -16
  61. package/dist/components/ds-file-upload/ds-file-upload.js +96 -16
  62. package/dist/components/ds-file-upload/ds-file-upload.js.map +1 -1
  63. package/dist/components/ds-file-upload/errors/file-upload-errors.js.map +1 -1
  64. package/dist/components/ds-file-upload/hooks/use-file-upload.cjs +93 -93
  65. package/dist/components/ds-file-upload/hooks/use-file-upload.js +93 -93
  66. package/dist/components/ds-file-upload/hooks/use-file-upload.js.map +1 -1
  67. package/dist/components/ds-file-upload/types/accept-types.js.map +1 -1
  68. package/dist/components/ds-file-upload/utils/accept-utils.js.map +1 -1
  69. package/dist/components/ds-file-upload/utils/constants.js.map +1 -1
  70. package/dist/components/ds-file-upload/utils/file-factory.js.map +1 -1
  71. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  72. package/dist/components/ds-file-upload/utils/generate-helper-text.js.map +1 -1
  73. package/dist/components/ds-file-upload/utils/get-error-message.js.map +1 -1
  74. package/dist/components/ds-file-upload/utils/is-file-equal.js.map +1 -1
  75. package/dist/components/ds-form-control/ds-form-control.cjs +119 -34
  76. package/dist/components/ds-form-control/ds-form-control.d.cts +7 -7
  77. package/dist/components/ds-form-control/ds-form-control.d.ts +7 -7
  78. package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
  79. package/dist/components/ds-form-control/ds-form-control.js +119 -34
  80. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  81. package/dist/components/ds-form-control/ds-form-control.types.js.map +1 -1
  82. package/dist/components/ds-grid/ds-grid.js.map +1 -1
  83. package/dist/components/ds-icon/ds-icon.cjs +84 -13
  84. package/dist/components/ds-icon/ds-icon.js +84 -13
  85. package/dist/components/ds-icon/ds-icon.js.map +1 -1
  86. package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
  87. package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
  88. package/dist/components/ds-modal/ds-modal.cjs +222 -55
  89. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  90. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  91. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  92. package/dist/components/ds-modal/ds-modal.js +222 -55
  93. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  94. package/dist/components/ds-number-input/ds-number-input.cjs +136 -49
  95. package/dist/components/ds-number-input/ds-number-input.js +136 -49
  96. package/dist/components/ds-number-input/ds-number-input.js.map +1 -1
  97. package/dist/components/ds-panel/ds-panel.cjs +111 -19
  98. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  99. package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
  100. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  101. package/dist/components/ds-panel/ds-panel.js +111 -19
  102. package/dist/components/ds-panel/ds-panel.js.map +1 -1
  103. package/dist/components/ds-password-input/ds-password-input.cjs +108 -41
  104. package/dist/components/ds-password-input/ds-password-input.js +108 -41
  105. package/dist/components/ds-password-input/ds-password-input.js.map +1 -1
  106. package/dist/components/ds-popover/ds-popover.cjs +50 -12
  107. package/dist/components/ds-popover/ds-popover.js +50 -12
  108. package/dist/components/ds-popover/ds-popover.js.map +1 -1
  109. package/dist/components/ds-radio-group/ds-radio-group.cjs +209 -53
  110. package/dist/components/ds-radio-group/ds-radio-group.js +209 -53
  111. package/dist/components/ds-radio-group/ds-radio-group.js.map +1 -1
  112. package/dist/components/ds-segment-group/ds-segment-group.cjs +215 -0
  113. package/dist/components/ds-segment-group/ds-segment-group.d.cts +26 -0
  114. package/dist/components/ds-segment-group/ds-segment-group.d.cts.map +1 -0
  115. package/dist/components/ds-segment-group/ds-segment-group.d.ts +26 -0
  116. package/dist/components/ds-segment-group/ds-segment-group.d.ts.map +1 -0
  117. package/dist/components/ds-segment-group/ds-segment-group.js +214 -0
  118. package/dist/components/ds-segment-group/ds-segment-group.js.map +1 -0
  119. package/dist/components/ds-segment-group/ds-segment-group.module.cjs +12 -0
  120. package/dist/components/ds-segment-group/ds-segment-group.module.js +12 -0
  121. package/dist/components/ds-segment-group/ds-segment-group.module.js.map +1 -0
  122. package/dist/components/ds-segment-group/ds-segment-group.types.cjs +2 -0
  123. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts +52 -0
  124. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts.map +1 -0
  125. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts +52 -0
  126. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts.map +1 -0
  127. package/dist/components/ds-segment-group/ds-segment-group.types.js +2 -0
  128. package/dist/components/ds-segment-group/index.cjs +2 -0
  129. package/dist/components/ds-segment-group/index.d.ts +2 -0
  130. package/dist/components/ds-segment-group/index.js +2 -0
  131. package/dist/components/ds-select/ds-select.cjs +198 -89
  132. package/dist/components/ds-select/ds-select.d.cts +2 -2
  133. package/dist/components/ds-select/ds-select.d.cts.map +1 -1
  134. package/dist/components/ds-select/ds-select.d.ts +2 -2
  135. package/dist/components/ds-select/ds-select.js +198 -89
  136. package/dist/components/ds-select/ds-select.js.map +1 -1
  137. package/dist/components/ds-select/select-items-chips.cjs +73 -22
  138. package/dist/components/ds-select/select-items-chips.js +73 -22
  139. package/dist/components/ds-select/select-items-chips.js.map +1 -1
  140. package/dist/components/ds-smart-tabs/ds-smart-tabs.cjs +208 -46
  141. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  142. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts.map +1 -1
  143. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  144. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  145. package/dist/components/ds-smart-tabs/ds-smart-tabs.js +208 -46
  146. package/dist/components/ds-smart-tabs/ds-smart-tabs.js.map +1 -1
  147. package/dist/components/ds-smart-tabs/ds-smart-tabs.types.js.map +1 -1
  148. package/dist/components/ds-spinner/ds-spinner.cjs +90 -20
  149. package/dist/components/ds-spinner/ds-spinner.js +90 -20
  150. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  151. package/dist/components/ds-spinner/ds-spinner.types.js.map +1 -1
  152. package/dist/components/ds-status-badge/ds-status-badge.cjs +54 -11
  153. package/dist/components/ds-status-badge/ds-status-badge.js +54 -11
  154. package/dist/components/ds-status-badge/ds-status-badge.js.map +1 -1
  155. package/dist/components/ds-stepper/components/ds-step-content.cjs +59 -13
  156. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  157. package/dist/components/ds-stepper/components/ds-step-content.js +59 -13
  158. package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
  159. package/dist/components/ds-stepper/components/ds-step-description.cjs +14 -5
  160. package/dist/components/ds-stepper/components/ds-step-description.js +14 -5
  161. package/dist/components/ds-stepper/components/ds-step-description.js.map +1 -1
  162. package/dist/components/ds-stepper/components/ds-step-label.cjs +14 -5
  163. package/dist/components/ds-stepper/components/ds-step-label.js +14 -5
  164. package/dist/components/ds-stepper/components/ds-step-label.js.map +1 -1
  165. package/dist/components/ds-stepper/components/ds-step-next-button.cjs +23 -6
  166. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  167. package/dist/components/ds-stepper/components/ds-step-next-button.js +23 -6
  168. package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
  169. package/dist/components/ds-stepper/components/ds-step.cjs +106 -25
  170. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  171. package/dist/components/ds-stepper/components/ds-step.js +106 -25
  172. package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
  173. package/dist/components/ds-stepper/ds-stepper.cjs +62 -15
  174. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  175. package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
  176. package/dist/components/ds-stepper/ds-stepper.js +62 -15
  177. package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
  178. package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
  179. package/dist/components/ds-stepper/hooks/use-steps.cjs +29 -9
  180. package/dist/components/ds-stepper/hooks/use-steps.js +29 -9
  181. package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
  182. package/dist/components/ds-system-status/ds-system-status.cjs +37 -7
  183. package/dist/components/ds-system-status/ds-system-status.js +37 -7
  184. package/dist/components/ds-system-status/ds-system-status.js.map +1 -1
  185. package/dist/components/ds-system-status/ds-system-status.types.js.map +1 -1
  186. package/dist/components/ds-table/components/core-table/core-table.cjs +281 -48
  187. package/dist/components/ds-table/components/core-table/core-table.js +281 -48
  188. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  189. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +134 -50
  190. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +134 -50
  191. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  192. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +140 -43
  193. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +140 -43
  194. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
  195. package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +37 -6
  196. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js +37 -6
  197. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js.map +1 -1
  198. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +272 -100
  199. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +272 -100
  200. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  201. package/dist/components/ds-table/context/ds-table-context.js.map +1 -1
  202. package/dist/components/ds-table/ds-table.cjs +15 -15
  203. package/dist/components/ds-table/ds-table.d.cts +2 -2
  204. package/dist/components/ds-table/ds-table.js +15 -15
  205. package/dist/components/ds-table/ds-table.js.map +1 -1
  206. package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +126 -38
  207. package/dist/components/ds-table/hooks/use-drag-and-drop.js +126 -38
  208. package/dist/components/ds-table/hooks/use-drag-and-drop.js.map +1 -1
  209. package/dist/components/ds-table/utils/column-styling.js.map +1 -1
  210. package/dist/components/ds-table/utils/create-columns-grid-template.js.map +1 -1
  211. package/dist/components/ds-table/utils/merge-refs.js.map +1 -1
  212. package/dist/components/ds-text-input/ds-text-input.cjs +128 -43
  213. package/dist/components/ds-text-input/ds-text-input.js +128 -43
  214. package/dist/components/ds-text-input/ds-text-input.js.map +1 -1
  215. package/dist/components/ds-text-input/ds-text-input.types.js.map +1 -1
  216. package/dist/components/ds-textarea/ds-textarea.cjs +66 -22
  217. package/dist/components/ds-textarea/ds-textarea.js +66 -22
  218. package/dist/components/ds-textarea/ds-textarea.js.map +1 -1
  219. package/dist/components/ds-toast/ds-toast-context.cjs +62 -17
  220. package/dist/components/ds-toast/ds-toast-context.js +62 -17
  221. package/dist/components/ds-toast/ds-toast-context.js.map +1 -1
  222. package/dist/components/ds-toast/ds-toast.cjs +90 -26
  223. package/dist/components/ds-toast/ds-toast.js +90 -26
  224. package/dist/components/ds-toast/ds-toast.js.map +1 -1
  225. package/dist/components/ds-tooltip/ds-tooltip.cjs +51 -13
  226. package/dist/components/ds-tooltip/ds-tooltip.js +51 -13
  227. package/dist/components/ds-tooltip/ds-tooltip.js.map +1 -1
  228. package/dist/components/ds-typography/ds-typography.cjs +51 -7
  229. package/dist/components/ds-typography/ds-typography.config.js.map +1 -1
  230. package/dist/components/ds-typography/ds-typography.js +51 -7
  231. package/dist/components/ds-typography/ds-typography.js.map +1 -1
  232. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +91 -30
  233. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  234. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  235. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js +91 -30
  236. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js.map +1 -1
  237. package/dist/index.cjs +3 -0
  238. package/dist/index.d.cts +3 -1
  239. package/dist/index.d.ts +4 -1
  240. package/dist/index.js +3 -1
  241. package/dist/index.min.css +1 -1
  242. package/package.json +8 -2
  243. package/src/components/ds-segment-group/ds-segment-group.module.scss +99 -0
  244. package/src/components/ds-segment-group/ds-segment-group.tsx +76 -0
  245. package/src/components/ds-segment-group/ds-segment-group.types.tsx +64 -0
  246. package/src/components/ds-segment-group/index.tsx +2 -0
  247. package/src/index.ts +1 -0
@@ -2,6 +2,7 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_ds_icon = require('../ds-icon/ds-icon.cjs');
3
3
  require('../ds-icon/index.cjs');
4
4
  const require_ds_smart_tabs_module = require('./ds-smart-tabs.module.cjs');
5
+ let react_compiler_runtime = require("react/compiler-runtime");
5
6
  let classnames = require("classnames");
6
7
  classnames = require_rolldown_runtime.__toESM(classnames);
7
8
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -28,60 +29,221 @@ const useSmartTabsContext = () => {
28
29
  /**
29
30
  * Individual tab component
30
31
  */
31
- const DsSmartTab = ({ label, value, icon, content, color, disabled, className, style = {}, ...props }) => {
32
+ const DsSmartTab = (t0) => {
33
+ const $ = (0, react_compiler_runtime.c)(40);
34
+ let className;
35
+ let color;
36
+ let content;
37
+ let disabled;
38
+ let icon;
39
+ let label;
40
+ let props;
41
+ let t1;
42
+ let value;
43
+ if ($[0] !== t0) {
44
+ ({label, value, icon, content, color, disabled, className, style: t1, ...props} = t0);
45
+ $[0] = t0;
46
+ $[1] = className;
47
+ $[2] = color;
48
+ $[3] = content;
49
+ $[4] = disabled;
50
+ $[5] = icon;
51
+ $[6] = label;
52
+ $[7] = props;
53
+ $[8] = t1;
54
+ $[9] = value;
55
+ } else {
56
+ className = $[1];
57
+ color = $[2];
58
+ content = $[3];
59
+ disabled = $[4];
60
+ icon = $[5];
61
+ label = $[6];
62
+ props = $[7];
63
+ t1 = $[8];
64
+ value = $[9];
65
+ }
66
+ let t2;
67
+ if ($[10] !== t1) {
68
+ t2 = t1 === void 0 ? {} : t1;
69
+ $[10] = t1;
70
+ $[11] = t2;
71
+ } else t2 = $[11];
72
+ const style = t2;
32
73
  const { activeTab, onTabClick } = useSmartTabsContext();
33
- const tabClass = (0, classnames.default)(require_ds_smart_tabs_module.default.tab, {
34
- [require_ds_smart_tabs_module.default.active]: activeTab === value,
35
- [require_ds_smart_tabs_module.default.disabled]: disabled
36
- }, className);
37
- const tabStyle = {
38
- ...style,
39
- ...color && { "--tab-color": colorMap[color] }
40
- };
41
- const handleClick = () => {
42
- if (!disabled) onTabClick(value);
43
- };
44
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
45
- type: "button",
46
- className: tabClass,
47
- style: tabStyle,
48
- onClick: handleClick,
49
- disabled,
50
- ...props,
51
- children: [
52
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_icon.default, {
53
- className: require_ds_smart_tabs_module.default.icon,
54
- icon,
55
- size: "small"
56
- }),
57
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
58
- className: require_ds_smart_tabs_module.default.label,
59
- children: label
60
- }),
61
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
62
- className: require_ds_smart_tabs_module.default.content,
63
- children: content
64
- })
65
- ]
66
- });
74
+ const t3 = activeTab === value;
75
+ let t4;
76
+ if ($[12] !== className || $[13] !== disabled || $[14] !== t3) {
77
+ t4 = (0, classnames.default)(require_ds_smart_tabs_module.default.tab, {
78
+ [require_ds_smart_tabs_module.default.active]: t3,
79
+ [require_ds_smart_tabs_module.default.disabled]: disabled
80
+ }, className);
81
+ $[12] = className;
82
+ $[13] = disabled;
83
+ $[14] = t3;
84
+ $[15] = t4;
85
+ } else t4 = $[15];
86
+ const tabClass = t4;
87
+ let t5;
88
+ if ($[16] !== color) {
89
+ t5 = color && { "--tab-color": colorMap[color] };
90
+ $[16] = color;
91
+ $[17] = t5;
92
+ } else t5 = $[17];
93
+ let t6;
94
+ if ($[18] !== style || $[19] !== t5) {
95
+ t6 = {
96
+ ...style,
97
+ ...t5
98
+ };
99
+ $[18] = style;
100
+ $[19] = t5;
101
+ $[20] = t6;
102
+ } else t6 = $[20];
103
+ const tabStyle = t6;
104
+ let t7;
105
+ if ($[21] !== disabled || $[22] !== onTabClick || $[23] !== value) {
106
+ t7 = () => {
107
+ if (!disabled) onTabClick(value);
108
+ };
109
+ $[21] = disabled;
110
+ $[22] = onTabClick;
111
+ $[23] = value;
112
+ $[24] = t7;
113
+ } else t7 = $[24];
114
+ const handleClick = t7;
115
+ let t8;
116
+ if ($[25] !== icon) {
117
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_icon.default, {
118
+ className: require_ds_smart_tabs_module.default.icon,
119
+ icon,
120
+ size: "small"
121
+ });
122
+ $[25] = icon;
123
+ $[26] = t8;
124
+ } else t8 = $[26];
125
+ let t9;
126
+ if ($[27] !== label) {
127
+ t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
128
+ className: require_ds_smart_tabs_module.default.label,
129
+ children: label
130
+ });
131
+ $[27] = label;
132
+ $[28] = t9;
133
+ } else t9 = $[28];
134
+ let t10;
135
+ if ($[29] !== content) {
136
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
137
+ className: require_ds_smart_tabs_module.default.content,
138
+ children: content
139
+ });
140
+ $[29] = content;
141
+ $[30] = t10;
142
+ } else t10 = $[30];
143
+ let t11;
144
+ if ($[31] !== disabled || $[32] !== handleClick || $[33] !== props || $[34] !== t10 || $[35] !== t8 || $[36] !== t9 || $[37] !== tabClass || $[38] !== tabStyle) {
145
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
146
+ type: "button",
147
+ className: tabClass,
148
+ style: tabStyle,
149
+ onClick: handleClick,
150
+ disabled,
151
+ ...props,
152
+ children: [
153
+ t8,
154
+ t9,
155
+ t10
156
+ ]
157
+ });
158
+ $[31] = disabled;
159
+ $[32] = handleClick;
160
+ $[33] = props;
161
+ $[34] = t10;
162
+ $[35] = t8;
163
+ $[36] = t9;
164
+ $[37] = tabClass;
165
+ $[38] = tabStyle;
166
+ $[39] = t11;
167
+ } else t11 = $[39];
168
+ return t11;
67
169
  };
68
170
  /**
69
171
  * Design system SmartTabs component
70
172
  */
71
- const DsSmartTabs = ({ activeTab, onTabClick, className, style = {}, children, ...props }) => {
72
- const contextValue = {
73
- activeTab,
74
- onTabClick
75
- };
76
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SmartTabsContext.Provider, {
77
- value: contextValue,
78
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
79
- className: (0, classnames.default)(require_ds_smart_tabs_module.default.container, className),
173
+ const DsSmartTabs = (t0) => {
174
+ const $ = (0, react_compiler_runtime.c)(22);
175
+ let activeTab;
176
+ let children;
177
+ let className;
178
+ let onTabClick;
179
+ let props;
180
+ let t1;
181
+ if ($[0] !== t0) {
182
+ ({activeTab, onTabClick, className, style: t1, children, ...props} = t0);
183
+ $[0] = t0;
184
+ $[1] = activeTab;
185
+ $[2] = children;
186
+ $[3] = className;
187
+ $[4] = onTabClick;
188
+ $[5] = props;
189
+ $[6] = t1;
190
+ } else {
191
+ activeTab = $[1];
192
+ children = $[2];
193
+ className = $[3];
194
+ onTabClick = $[4];
195
+ props = $[5];
196
+ t1 = $[6];
197
+ }
198
+ let t2;
199
+ if ($[7] !== t1) {
200
+ t2 = t1 === void 0 ? {} : t1;
201
+ $[7] = t1;
202
+ $[8] = t2;
203
+ } else t2 = $[8];
204
+ const style = t2;
205
+ let t3;
206
+ if ($[9] !== activeTab || $[10] !== onTabClick) {
207
+ t3 = {
208
+ activeTab,
209
+ onTabClick
210
+ };
211
+ $[9] = activeTab;
212
+ $[10] = onTabClick;
213
+ $[11] = t3;
214
+ } else t3 = $[11];
215
+ const contextValue = t3;
216
+ let t4;
217
+ if ($[12] !== className) {
218
+ t4 = (0, classnames.default)(require_ds_smart_tabs_module.default.container, className);
219
+ $[12] = className;
220
+ $[13] = t4;
221
+ } else t4 = $[13];
222
+ let t5;
223
+ if ($[14] !== children || $[15] !== props || $[16] !== style || $[17] !== t4) {
224
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
225
+ className: t4,
80
226
  style,
81
227
  ...props,
82
228
  children
83
- })
84
- });
229
+ });
230
+ $[14] = children;
231
+ $[15] = props;
232
+ $[16] = style;
233
+ $[17] = t4;
234
+ $[18] = t5;
235
+ } else t5 = $[18];
236
+ let t6;
237
+ if ($[19] !== contextValue || $[20] !== t5) {
238
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SmartTabsContext.Provider, {
239
+ value: contextValue,
240
+ children: t5
241
+ });
242
+ $[19] = contextValue;
243
+ $[20] = t5;
244
+ $[21] = t6;
245
+ } else t6 = $[21];
246
+ return t6;
85
247
  };
86
248
  DsSmartTabs.Tab = DsSmartTab;
87
249
  var ds_smart_tabs_default = DsSmartTabs;
@@ -1,5 +1,5 @@
1
1
  import { DsSmartTabProps, DsSmartTabsProps } from "./ds-smart-tabs.types.cjs";
2
- import * as react_jsx_runtime7 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime35 from "react/jsx-runtime";
3
3
  import React from "react";
4
4
 
5
5
  //#region src/components/ds-smart-tabs/ds-smart-tabs.d.ts
@@ -14,7 +14,7 @@ declare const DsSmartTabs: {
14
14
  style,
15
15
  children,
16
16
  ...props
17
- }: DsSmartTabsProps): react_jsx_runtime7.JSX.Element;
17
+ }: DsSmartTabsProps): react_jsx_runtime35.JSX.Element;
18
18
  Tab: React.FC<DsSmartTabProps>;
19
19
  };
20
20
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ds-smart-tabs.d.cts","names":[],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAKsF,cAmFhF,WAoBL,EAAA;;;;;;;;KAbE,mBAAgB,kBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"ds-smart-tabs.d.cts","names":[],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAKsF,cAmFhF,WAoBL,EAAA;;;;;;;;KAbE,mBAAgB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { DsSmartTabProps, DsSmartTabsProps } from "./ds-smart-tabs.types.js";
2
- import * as react_jsx_runtime3 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime10 from "react/jsx-runtime";
3
3
  import React from "react";
4
4
 
5
5
  //#region src/components/ds-smart-tabs/ds-smart-tabs.d.ts
@@ -14,7 +14,7 @@ declare const DsSmartTabs: {
14
14
  style,
15
15
  children,
16
16
  ...props
17
- }: DsSmartTabsProps): react_jsx_runtime3.JSX.Element;
17
+ }: DsSmartTabsProps): react_jsx_runtime10.JSX.Element;
18
18
  Tab: React.FC<DsSmartTabProps>;
19
19
  };
20
20
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ds-smart-tabs.d.ts","names":[],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAKsF,cAmFhF,WAoBL,EAAA;;;;;;;;KAbE,mBAAgB,kBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"ds-smart-tabs.d.ts","names":[],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAKsF,cAmFhF,WAoBL,EAAA;;;;;;;;KAbE,mBAAgB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import ds_icon_default from "../ds-icon/ds-icon.js";
2
2
  import "../ds-icon/index.js";
3
3
  import ds_smart_tabs_module_default from "./ds-smart-tabs.module.js";
4
+ import { c } from "react/compiler-runtime";
4
5
  import classNames from "classnames";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { createContext, useContext } from "react";
@@ -26,60 +27,221 @@ const useSmartTabsContext = () => {
26
27
  /**
27
28
  * Individual tab component
28
29
  */
29
- const DsSmartTab = ({ label, value, icon, content, color, disabled, className, style = {}, ...props }) => {
30
+ const DsSmartTab = (t0) => {
31
+ const $ = c(40);
32
+ let className;
33
+ let color;
34
+ let content;
35
+ let disabled;
36
+ let icon;
37
+ let label;
38
+ let props;
39
+ let t1;
40
+ let value;
41
+ if ($[0] !== t0) {
42
+ ({label, value, icon, content, color, disabled, className, style: t1, ...props} = t0);
43
+ $[0] = t0;
44
+ $[1] = className;
45
+ $[2] = color;
46
+ $[3] = content;
47
+ $[4] = disabled;
48
+ $[5] = icon;
49
+ $[6] = label;
50
+ $[7] = props;
51
+ $[8] = t1;
52
+ $[9] = value;
53
+ } else {
54
+ className = $[1];
55
+ color = $[2];
56
+ content = $[3];
57
+ disabled = $[4];
58
+ icon = $[5];
59
+ label = $[6];
60
+ props = $[7];
61
+ t1 = $[8];
62
+ value = $[9];
63
+ }
64
+ let t2;
65
+ if ($[10] !== t1) {
66
+ t2 = t1 === void 0 ? {} : t1;
67
+ $[10] = t1;
68
+ $[11] = t2;
69
+ } else t2 = $[11];
70
+ const style = t2;
30
71
  const { activeTab, onTabClick } = useSmartTabsContext();
31
- const tabClass = classNames(ds_smart_tabs_module_default.tab, {
32
- [ds_smart_tabs_module_default.active]: activeTab === value,
33
- [ds_smart_tabs_module_default.disabled]: disabled
34
- }, className);
35
- const tabStyle = {
36
- ...style,
37
- ...color && { "--tab-color": colorMap[color] }
38
- };
39
- const handleClick = () => {
40
- if (!disabled) onTabClick(value);
41
- };
42
- return /* @__PURE__ */ jsxs("button", {
43
- type: "button",
44
- className: tabClass,
45
- style: tabStyle,
46
- onClick: handleClick,
47
- disabled,
48
- ...props,
49
- children: [
50
- /* @__PURE__ */ jsx(ds_icon_default, {
51
- className: ds_smart_tabs_module_default.icon,
52
- icon,
53
- size: "small"
54
- }),
55
- /* @__PURE__ */ jsx("span", {
56
- className: ds_smart_tabs_module_default.label,
57
- children: label
58
- }),
59
- /* @__PURE__ */ jsx("span", {
60
- className: ds_smart_tabs_module_default.content,
61
- children: content
62
- })
63
- ]
64
- });
72
+ const t3 = activeTab === value;
73
+ let t4;
74
+ if ($[12] !== className || $[13] !== disabled || $[14] !== t3) {
75
+ t4 = classNames(ds_smart_tabs_module_default.tab, {
76
+ [ds_smart_tabs_module_default.active]: t3,
77
+ [ds_smart_tabs_module_default.disabled]: disabled
78
+ }, className);
79
+ $[12] = className;
80
+ $[13] = disabled;
81
+ $[14] = t3;
82
+ $[15] = t4;
83
+ } else t4 = $[15];
84
+ const tabClass = t4;
85
+ let t5;
86
+ if ($[16] !== color) {
87
+ t5 = color && { "--tab-color": colorMap[color] };
88
+ $[16] = color;
89
+ $[17] = t5;
90
+ } else t5 = $[17];
91
+ let t6;
92
+ if ($[18] !== style || $[19] !== t5) {
93
+ t6 = {
94
+ ...style,
95
+ ...t5
96
+ };
97
+ $[18] = style;
98
+ $[19] = t5;
99
+ $[20] = t6;
100
+ } else t6 = $[20];
101
+ const tabStyle = t6;
102
+ let t7;
103
+ if ($[21] !== disabled || $[22] !== onTabClick || $[23] !== value) {
104
+ t7 = () => {
105
+ if (!disabled) onTabClick(value);
106
+ };
107
+ $[21] = disabled;
108
+ $[22] = onTabClick;
109
+ $[23] = value;
110
+ $[24] = t7;
111
+ } else t7 = $[24];
112
+ const handleClick = t7;
113
+ let t8;
114
+ if ($[25] !== icon) {
115
+ t8 = /* @__PURE__ */ jsx(ds_icon_default, {
116
+ className: ds_smart_tabs_module_default.icon,
117
+ icon,
118
+ size: "small"
119
+ });
120
+ $[25] = icon;
121
+ $[26] = t8;
122
+ } else t8 = $[26];
123
+ let t9;
124
+ if ($[27] !== label) {
125
+ t9 = /* @__PURE__ */ jsx("span", {
126
+ className: ds_smart_tabs_module_default.label,
127
+ children: label
128
+ });
129
+ $[27] = label;
130
+ $[28] = t9;
131
+ } else t9 = $[28];
132
+ let t10;
133
+ if ($[29] !== content) {
134
+ t10 = /* @__PURE__ */ jsx("span", {
135
+ className: ds_smart_tabs_module_default.content,
136
+ children: content
137
+ });
138
+ $[29] = content;
139
+ $[30] = t10;
140
+ } else t10 = $[30];
141
+ let t11;
142
+ if ($[31] !== disabled || $[32] !== handleClick || $[33] !== props || $[34] !== t10 || $[35] !== t8 || $[36] !== t9 || $[37] !== tabClass || $[38] !== tabStyle) {
143
+ t11 = /* @__PURE__ */ jsxs("button", {
144
+ type: "button",
145
+ className: tabClass,
146
+ style: tabStyle,
147
+ onClick: handleClick,
148
+ disabled,
149
+ ...props,
150
+ children: [
151
+ t8,
152
+ t9,
153
+ t10
154
+ ]
155
+ });
156
+ $[31] = disabled;
157
+ $[32] = handleClick;
158
+ $[33] = props;
159
+ $[34] = t10;
160
+ $[35] = t8;
161
+ $[36] = t9;
162
+ $[37] = tabClass;
163
+ $[38] = tabStyle;
164
+ $[39] = t11;
165
+ } else t11 = $[39];
166
+ return t11;
65
167
  };
66
168
  /**
67
169
  * Design system SmartTabs component
68
170
  */
69
- const DsSmartTabs = ({ activeTab, onTabClick, className, style = {}, children, ...props }) => {
70
- const contextValue = {
71
- activeTab,
72
- onTabClick
73
- };
74
- return /* @__PURE__ */ jsx(SmartTabsContext.Provider, {
75
- value: contextValue,
76
- children: /* @__PURE__ */ jsx("div", {
77
- className: classNames(ds_smart_tabs_module_default.container, className),
171
+ const DsSmartTabs = (t0) => {
172
+ const $ = c(22);
173
+ let activeTab;
174
+ let children;
175
+ let className;
176
+ let onTabClick;
177
+ let props;
178
+ let t1;
179
+ if ($[0] !== t0) {
180
+ ({activeTab, onTabClick, className, style: t1, children, ...props} = t0);
181
+ $[0] = t0;
182
+ $[1] = activeTab;
183
+ $[2] = children;
184
+ $[3] = className;
185
+ $[4] = onTabClick;
186
+ $[5] = props;
187
+ $[6] = t1;
188
+ } else {
189
+ activeTab = $[1];
190
+ children = $[2];
191
+ className = $[3];
192
+ onTabClick = $[4];
193
+ props = $[5];
194
+ t1 = $[6];
195
+ }
196
+ let t2;
197
+ if ($[7] !== t1) {
198
+ t2 = t1 === void 0 ? {} : t1;
199
+ $[7] = t1;
200
+ $[8] = t2;
201
+ } else t2 = $[8];
202
+ const style = t2;
203
+ let t3;
204
+ if ($[9] !== activeTab || $[10] !== onTabClick) {
205
+ t3 = {
206
+ activeTab,
207
+ onTabClick
208
+ };
209
+ $[9] = activeTab;
210
+ $[10] = onTabClick;
211
+ $[11] = t3;
212
+ } else t3 = $[11];
213
+ const contextValue = t3;
214
+ let t4;
215
+ if ($[12] !== className) {
216
+ t4 = classNames(ds_smart_tabs_module_default.container, className);
217
+ $[12] = className;
218
+ $[13] = t4;
219
+ } else t4 = $[13];
220
+ let t5;
221
+ if ($[14] !== children || $[15] !== props || $[16] !== style || $[17] !== t4) {
222
+ t5 = /* @__PURE__ */ jsx("div", {
223
+ className: t4,
78
224
  style,
79
225
  ...props,
80
226
  children
81
- })
82
- });
227
+ });
228
+ $[14] = children;
229
+ $[15] = props;
230
+ $[16] = style;
231
+ $[17] = t4;
232
+ $[18] = t5;
233
+ } else t5 = $[18];
234
+ let t6;
235
+ if ($[19] !== contextValue || $[20] !== t5) {
236
+ t6 = /* @__PURE__ */ jsx(SmartTabsContext.Provider, {
237
+ value: contextValue,
238
+ children: t5
239
+ });
240
+ $[19] = contextValue;
241
+ $[20] = t5;
242
+ $[21] = t6;
243
+ } else t6 = $[21];
244
+ return t6;
83
245
  };
84
246
  DsSmartTabs.Tab = DsSmartTab;
85
247
  var ds_smart_tabs_default = DsSmartTabs;
@@ -1 +1 @@
1
- {"version":3,"file":"ds-smart-tabs.js","names":["colorMap: Record<Color, string>","DsSmartTab: React.FC<DsSmartTabProps>","styles","DsIcon","contextValue: SmartTabsContextType"],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":["import { type CSSProperties, createContext, useContext } from 'react';\nimport type React from 'react';\nimport classNames from 'classnames';\nimport { DsIcon } from '../ds-icon';\nimport styles from './ds-smart-tabs.module.scss';\nimport type { Color, DsSmartTabProps, DsSmartTabsProps } from './ds-smart-tabs.types';\n\nconst colorMap: Record<Color, string> = {\n\t'dark-blue': 'var(--color-background-info-strong)',\n\t'light-blue': 'var(--color-background-active-moderate)',\n\t'dark-gray': 'var(--color-background-brand)',\n\tgreen: 'var(--color-background-success-strong)',\n\tfuchsia: 'var(--color-data-fuchsia)',\n\tblue: 'var(--color-icon-information-secondary)',\n\tgray: 'var(--color-icon-information-main)',\n\tred: 'var(--color-icon-warning)',\n\tamber: 'var(--color-data-amber)',\n};\n\ninterface SmartTabsContextType {\n\tactiveTab: string;\n\tonTabClick: (value: string) => void;\n}\n\nconst SmartTabsContext = createContext<SmartTabsContextType | null>(null);\n\nconst useSmartTabsContext = () => {\n\tconst context = useContext(SmartTabsContext);\n\tif (!context) {\n\t\tthrow new Error('DsTab must be used within DsSmartTabs');\n\t}\n\treturn context;\n};\n\n/**\n * Individual tab component\n */\nconst DsSmartTab: React.FC<DsSmartTabProps> = ({\n\tlabel,\n\tvalue,\n\ticon,\n\tcontent,\n\tcolor,\n\tdisabled,\n\tclassName,\n\tstyle = {},\n\t...props\n}) => {\n\tconst { activeTab, onTabClick } = useSmartTabsContext();\n\n\tconst tabClass = classNames(\n\t\tstyles.tab,\n\t\t{\n\t\t\t[styles.active]: activeTab === value,\n\t\t\t[styles.disabled]: disabled,\n\t\t},\n\t\tclassName,\n\t);\n\tconst tabStyle = {\n\t\t...style,\n\t\t...(color && ({ '--tab-color': colorMap[color] } as CSSProperties)),\n\t};\n\n\tconst handleClick = () => {\n\t\tif (!disabled) {\n\t\t\tonTabClick(value);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName={tabClass}\n\t\t\tstyle={tabStyle}\n\t\t\tonClick={handleClick}\n\t\t\tdisabled={disabled}\n\t\t\t{...props}\n\t\t>\n\t\t\t<DsIcon className={styles.icon} icon={icon} size=\"small\" />\n\t\t\t<span className={styles.label}>{label}</span>\n\t\t\t<span className={styles.content}>{content}</span>\n\t\t</button>\n\t);\n};\n\n/**\n * Design system SmartTabs component\n */\nconst DsSmartTabs = ({\n\tactiveTab,\n\tonTabClick,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\t...props\n}: DsSmartTabsProps) => {\n\tconst contextValue: SmartTabsContextType = {\n\t\tactiveTab,\n\t\tonTabClick,\n\t};\n\n\treturn (\n\t\t<SmartTabsContext.Provider value={contextValue}>\n\t\t\t<div className={classNames(styles.container, className)} style={style} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</SmartTabsContext.Provider>\n\t);\n};\n\nDsSmartTabs.Tab = DsSmartTab;\n\nexport default DsSmartTabs;\n"],"mappings":";;;;;;;;AAOA,MAAMA,WAAkC;CACvC,aAAa;CACb,cAAc;CACd,aAAa;CACb,OAAO;CACP,SAAS;CACT,MAAM;CACN,MAAM;CACN,KAAK;CACL,OAAO;CACP;AAOD,MAAM,mBAAmB,cAA2C,KAAK;AAEzE,MAAM,4BAA4B;CACjC,MAAM,UAAU,WAAW,iBAAiB;AAC5C,KAAI,CAAC,QACJ,OAAM,IAAI,MAAM,wCAAwC;AAEzD,QAAO;;;;;AAMR,MAAMC,cAAyC,EAC9C,OACA,OACA,MACA,SACA,OACA,UACA,WACA,QAAQ,EAAE,EACV,GAAG,YACE;CACL,MAAM,EAAE,WAAW,eAAe,qBAAqB;CAEvD,MAAM,WAAW,WAChBC,6BAAO,KACP;GACEA,6BAAO,SAAS,cAAc;GAC9BA,6BAAO,WAAW;EACnB,EACD,UACA;CACD,MAAM,WAAW;EAChB,GAAG;EACH,GAAI,SAAU,EAAE,eAAe,SAAS,QAAQ;EAChD;CAED,MAAM,oBAAoB;AACzB,MAAI,CAAC,SACJ,YAAW,MAAM;;AAInB,QACC,qBAAC;EACA,MAAK;EACL,WAAW;EACX,OAAO;EACP,SAAS;EACC;EACV,GAAI;;GAEJ,oBAACC;IAAO,WAAWD,6BAAO;IAAY;IAAM,MAAK;KAAU;GAC3D,oBAAC;IAAK,WAAWA,6BAAO;cAAQ;KAAa;GAC7C,oBAAC;IAAK,WAAWA,6BAAO;cAAU;KAAe;;GACzC;;;;;AAOX,MAAM,eAAe,EACpB,WACA,YACA,WACA,QAAQ,EAAE,EACV,UACA,GAAG,YACoB;CACvB,MAAME,eAAqC;EAC1C;EACA;EACA;AAED,QACC,oBAAC,iBAAiB;EAAS,OAAO;YACjC,oBAAC;GAAI,WAAW,WAAWF,6BAAO,WAAW,UAAU;GAAS;GAAO,GAAI;GACzE;IACI;GACqB;;AAI9B,YAAY,MAAM;AAElB,4BAAe"}
1
+ {"version":3,"file":"ds-smart-tabs.js","names":["CSSProperties","createContext","useContext","React","classNames","DsIcon","styles","Color","DsSmartTabProps","DsSmartTabsProps","colorMap","Record","green","fuchsia","blue","gray","red","amber","SmartTabsContextType","activeTab","onTabClick","value","SmartTabsContext","useSmartTabsContext","context","Error","DsSmartTab","FC","t0","$","_c","className","color","content","disabled","icon","label","props","t1","style","t2","undefined","t3","t4","tab","active","tabClass","t5","t6","tabStyle","t7","handleClick","t8","t9","t10","t11","DsSmartTabs","children","contextValue","container","Tab"],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.tsx"],"sourcesContent":["import { type CSSProperties, createContext, useContext } from 'react';\nimport type React from 'react';\nimport classNames from 'classnames';\nimport { DsIcon } from '../ds-icon';\nimport styles from './ds-smart-tabs.module.scss';\nimport type { Color, DsSmartTabProps, DsSmartTabsProps } from './ds-smart-tabs.types';\n\nconst colorMap: Record<Color, string> = {\n\t'dark-blue': 'var(--color-background-info-strong)',\n\t'light-blue': 'var(--color-background-active-moderate)',\n\t'dark-gray': 'var(--color-background-brand)',\n\tgreen: 'var(--color-background-success-strong)',\n\tfuchsia: 'var(--color-data-fuchsia)',\n\tblue: 'var(--color-icon-information-secondary)',\n\tgray: 'var(--color-icon-information-main)',\n\tred: 'var(--color-icon-warning)',\n\tamber: 'var(--color-data-amber)',\n};\n\ninterface SmartTabsContextType {\n\tactiveTab: string;\n\tonTabClick: (value: string) => void;\n}\n\nconst SmartTabsContext = createContext<SmartTabsContextType | null>(null);\n\nconst useSmartTabsContext = () => {\n\tconst context = useContext(SmartTabsContext);\n\tif (!context) {\n\t\tthrow new Error('DsTab must be used within DsSmartTabs');\n\t}\n\treturn context;\n};\n\n/**\n * Individual tab component\n */\nconst DsSmartTab: React.FC<DsSmartTabProps> = ({\n\tlabel,\n\tvalue,\n\ticon,\n\tcontent,\n\tcolor,\n\tdisabled,\n\tclassName,\n\tstyle = {},\n\t...props\n}) => {\n\tconst { activeTab, onTabClick } = useSmartTabsContext();\n\n\tconst tabClass = classNames(\n\t\tstyles.tab,\n\t\t{\n\t\t\t[styles.active]: activeTab === value,\n\t\t\t[styles.disabled]: disabled,\n\t\t},\n\t\tclassName,\n\t);\n\tconst tabStyle = {\n\t\t...style,\n\t\t...(color && ({ '--tab-color': colorMap[color] } as CSSProperties)),\n\t};\n\n\tconst handleClick = () => {\n\t\tif (!disabled) {\n\t\t\tonTabClick(value);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName={tabClass}\n\t\t\tstyle={tabStyle}\n\t\t\tonClick={handleClick}\n\t\t\tdisabled={disabled}\n\t\t\t{...props}\n\t\t>\n\t\t\t<DsIcon className={styles.icon} icon={icon} size=\"small\" />\n\t\t\t<span className={styles.label}>{label}</span>\n\t\t\t<span className={styles.content}>{content}</span>\n\t\t</button>\n\t);\n};\n\n/**\n * Design system SmartTabs component\n */\nconst DsSmartTabs = ({\n\tactiveTab,\n\tonTabClick,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\t...props\n}: DsSmartTabsProps) => {\n\tconst contextValue: SmartTabsContextType = {\n\t\tactiveTab,\n\t\tonTabClick,\n\t};\n\n\treturn (\n\t\t<SmartTabsContext.Provider value={contextValue}>\n\t\t\t<div className={classNames(styles.container, className)} style={style} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</SmartTabsContext.Provider>\n\t);\n};\n\nDsSmartTabs.Tab = DsSmartTab;\n\nexport default DsSmartTabs;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ds-smart-tabs.types.js","names":[],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.types.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type React from 'react';\nimport type { IconType } from '../ds-icon/ds-icon.types';\n\nexport const colors = [\n\t'dark-blue',\n\t'light-blue',\n\t'dark-gray',\n\t'green',\n\t'fuchsia',\n\t'blue',\n\t'gray',\n\t'red',\n\t'amber',\n] as const;\nexport type Color = (typeof colors)[number];\n\nexport interface DsSmartTabProps {\n\t/**\n\t * The label of the tab\n\t */\n\tlabel: string;\n\t/**\n\t * The value of the tab (used for filtering/identification)\n\t */\n\tvalue: string;\n\t/**\n\t * The icon to display in the tab\n\t */\n\ticon: IconType;\n\t/**\n\t * The content to display in the tab (typically a count or text)\n\t */\n\tcontent: number | string;\n\t/**\n\t * Color for the tab (limited to predefined color values)\n\t */\n\tcolor?: Color;\n\t/**\n\t * Whether the tab is disabled\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * Additional CSS class names\n\t */\n\tclassName?: string;\n\t/**\n\t * Additional styles to apply to the tab\n\t */\n\tstyle?: React.CSSProperties;\n}\n\nexport interface DsSmartTabsProps {\n\t/**\n\t * Currently active tab value\n\t */\n\tactiveTab: string;\n\t/**\n\t * Callback function when a tab is clicked\n\t */\n\tonTabClick: (value: string) => void;\n\t/**\n\t * Additional CSS class names\n\t */\n\tclassName?: string;\n\t/**\n\t * Additional styles to apply to the component\n\t */\n\tstyle?: React.CSSProperties;\n\t/**\n\t * The tab components as children\n\t */\n\tchildren: ReactNode;\n}\n"],"mappings":";AAIA,MAAa,SAAS;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
1
+ {"version":3,"file":"ds-smart-tabs.types.js","names":["ReactNode","React","IconType","colors","const","Color","DsSmartTabProps","label","value","icon","content","color","disabled","className","style","CSSProperties","DsSmartTabsProps","activeTab","onTabClick","children"],"sources":["../../../src/components/ds-smart-tabs/ds-smart-tabs.types.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type React from 'react';\nimport type { IconType } from '../ds-icon/ds-icon.types';\n\nexport const colors = [\n\t'dark-blue',\n\t'light-blue',\n\t'dark-gray',\n\t'green',\n\t'fuchsia',\n\t'blue',\n\t'gray',\n\t'red',\n\t'amber',\n] as const;\nexport type Color = (typeof colors)[number];\n\nexport interface DsSmartTabProps {\n\t/**\n\t * The label of the tab\n\t */\n\tlabel: string;\n\t/**\n\t * The value of the tab (used for filtering/identification)\n\t */\n\tvalue: string;\n\t/**\n\t * The icon to display in the tab\n\t */\n\ticon: IconType;\n\t/**\n\t * The content to display in the tab (typically a count or text)\n\t */\n\tcontent: number | string;\n\t/**\n\t * Color for the tab (limited to predefined color values)\n\t */\n\tcolor?: Color;\n\t/**\n\t * Whether the tab is disabled\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * Additional CSS class names\n\t */\n\tclassName?: string;\n\t/**\n\t * Additional styles to apply to the tab\n\t */\n\tstyle?: React.CSSProperties;\n}\n\nexport interface DsSmartTabsProps {\n\t/**\n\t * Currently active tab value\n\t */\n\tactiveTab: string;\n\t/**\n\t * Callback function when a tab is clicked\n\t */\n\tonTabClick: (value: string) => void;\n\t/**\n\t * Additional CSS class names\n\t */\n\tclassName?: string;\n\t/**\n\t * Additional styles to apply to the component\n\t */\n\tstyle?: React.CSSProperties;\n\t/**\n\t * The tab components as children\n\t */\n\tchildren: ReactNode;\n}\n"],"mappings":";AAIA,MAAaG,SAAS;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}