@drivenets/design-system 0.0.3 → 0.0.4

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 (221) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/components/ds-alert-banner/ds-alert-banner.cjs +157 -52
  3. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  5. package/dist/components/ds-alert-banner/ds-alert-banner.js +157 -52
  6. package/dist/components/ds-alert-banner/ds-alert-banner.js.map +1 -1
  7. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  8. package/dist/components/ds-alert-banner/ds-alert-banner.types.js.map +1 -1
  9. package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +59 -16
  10. package/dist/components/ds-breadcrumb/ds-breadcrumb.js +59 -16
  11. package/dist/components/ds-breadcrumb/ds-breadcrumb.js.map +1 -1
  12. package/dist/components/ds-button/ds-button.cjs +18 -2
  13. package/dist/components/ds-button/ds-button.d.cts +2 -2
  14. package/dist/components/ds-button/ds-button.d.ts +2 -2
  15. package/dist/components/ds-button/ds-button.js +18 -2
  16. package/dist/components/ds-button/ds-button.js.map +1 -1
  17. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +79 -10
  18. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +79 -10
  19. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  20. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +78 -10
  21. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +78 -10
  22. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  23. package/dist/components/ds-checkbox/ds-checkbox.cjs +89 -18
  24. package/dist/components/ds-checkbox/ds-checkbox.js +89 -18
  25. package/dist/components/ds-checkbox/ds-checkbox.js.map +1 -1
  26. package/dist/components/ds-chip/ds-chip.cjs +100 -30
  27. package/dist/components/ds-chip/ds-chip.js +100 -30
  28. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  29. package/dist/components/ds-chip-group/ds-chip-group.cjs +6 -6
  30. package/dist/components/ds-chip-group/ds-chip-group.js +6 -6
  31. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  32. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  33. package/dist/components/ds-confirmation/ds-confirmation.cjs +210 -56
  34. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  35. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  36. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  37. package/dist/components/ds-confirmation/ds-confirmation.js +210 -56
  38. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  39. package/dist/components/ds-dialog/ds-dialog.js.map +1 -1
  40. package/dist/components/ds-drawer/ds-drawer.cjs +261 -61
  41. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  42. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  43. package/dist/components/ds-drawer/ds-drawer.js +261 -61
  44. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  45. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +481 -135
  46. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +481 -135
  47. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  48. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.cjs +146 -56
  49. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  50. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  51. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js +146 -56
  52. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js.map +1 -1
  53. package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +190 -69
  54. package/dist/components/ds-file-upload/components/file-upload/file-upload.js +190 -69
  55. package/dist/components/ds-file-upload/components/file-upload/file-upload.js.map +1 -1
  56. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +273 -132
  57. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +273 -132
  58. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js.map +1 -1
  59. package/dist/components/ds-file-upload/ds-file-upload.cjs +96 -16
  60. package/dist/components/ds-file-upload/ds-file-upload.js +96 -16
  61. package/dist/components/ds-file-upload/ds-file-upload.js.map +1 -1
  62. package/dist/components/ds-file-upload/errors/file-upload-errors.js.map +1 -1
  63. package/dist/components/ds-file-upload/hooks/use-file-upload.cjs +93 -93
  64. package/dist/components/ds-file-upload/hooks/use-file-upload.js +93 -93
  65. package/dist/components/ds-file-upload/hooks/use-file-upload.js.map +1 -1
  66. package/dist/components/ds-file-upload/types/accept-types.js.map +1 -1
  67. package/dist/components/ds-file-upload/utils/accept-utils.js.map +1 -1
  68. package/dist/components/ds-file-upload/utils/constants.js.map +1 -1
  69. package/dist/components/ds-file-upload/utils/file-factory.js.map +1 -1
  70. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  71. package/dist/components/ds-file-upload/utils/generate-helper-text.js.map +1 -1
  72. package/dist/components/ds-file-upload/utils/get-error-message.js.map +1 -1
  73. package/dist/components/ds-file-upload/utils/is-file-equal.js.map +1 -1
  74. package/dist/components/ds-form-control/ds-form-control.cjs +119 -34
  75. package/dist/components/ds-form-control/ds-form-control.d.cts +7 -7
  76. package/dist/components/ds-form-control/ds-form-control.d.ts +7 -7
  77. package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
  78. package/dist/components/ds-form-control/ds-form-control.js +119 -34
  79. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  80. package/dist/components/ds-form-control/ds-form-control.types.js.map +1 -1
  81. package/dist/components/ds-grid/ds-grid.js.map +1 -1
  82. package/dist/components/ds-icon/ds-icon.cjs +84 -13
  83. package/dist/components/ds-icon/ds-icon.js +84 -13
  84. package/dist/components/ds-icon/ds-icon.js.map +1 -1
  85. package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
  86. package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
  87. package/dist/components/ds-modal/ds-modal.cjs +222 -55
  88. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  89. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  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.js +111 -19
  101. package/dist/components/ds-panel/ds-panel.js.map +1 -1
  102. package/dist/components/ds-password-input/ds-password-input.cjs +108 -41
  103. package/dist/components/ds-password-input/ds-password-input.js +108 -41
  104. package/dist/components/ds-password-input/ds-password-input.js.map +1 -1
  105. package/dist/components/ds-popover/ds-popover.cjs +50 -12
  106. package/dist/components/ds-popover/ds-popover.js +50 -12
  107. package/dist/components/ds-popover/ds-popover.js.map +1 -1
  108. package/dist/components/ds-radio-group/ds-radio-group.cjs +209 -53
  109. package/dist/components/ds-radio-group/ds-radio-group.js +209 -53
  110. package/dist/components/ds-radio-group/ds-radio-group.js.map +1 -1
  111. package/dist/components/ds-select/ds-select.cjs +198 -89
  112. package/dist/components/ds-select/ds-select.d.cts +2 -2
  113. package/dist/components/ds-select/ds-select.d.cts.map +1 -1
  114. package/dist/components/ds-select/ds-select.js +198 -89
  115. package/dist/components/ds-select/ds-select.js.map +1 -1
  116. package/dist/components/ds-select/select-items-chips.cjs +73 -22
  117. package/dist/components/ds-select/select-items-chips.js +73 -22
  118. package/dist/components/ds-select/select-items-chips.js.map +1 -1
  119. package/dist/components/ds-smart-tabs/ds-smart-tabs.cjs +208 -46
  120. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  121. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts.map +1 -1
  122. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  123. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  124. package/dist/components/ds-smart-tabs/ds-smart-tabs.js +208 -46
  125. package/dist/components/ds-smart-tabs/ds-smart-tabs.js.map +1 -1
  126. package/dist/components/ds-smart-tabs/ds-smart-tabs.types.js.map +1 -1
  127. package/dist/components/ds-spinner/ds-spinner.cjs +90 -20
  128. package/dist/components/ds-spinner/ds-spinner.js +90 -20
  129. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  130. package/dist/components/ds-spinner/ds-spinner.types.js.map +1 -1
  131. package/dist/components/ds-status-badge/ds-status-badge.cjs +54 -11
  132. package/dist/components/ds-status-badge/ds-status-badge.js +54 -11
  133. package/dist/components/ds-status-badge/ds-status-badge.js.map +1 -1
  134. package/dist/components/ds-stepper/components/ds-step-content.cjs +59 -13
  135. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  136. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  137. package/dist/components/ds-stepper/components/ds-step-content.js +59 -13
  138. package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
  139. package/dist/components/ds-stepper/components/ds-step-description.cjs +14 -5
  140. package/dist/components/ds-stepper/components/ds-step-description.js +14 -5
  141. package/dist/components/ds-stepper/components/ds-step-description.js.map +1 -1
  142. package/dist/components/ds-stepper/components/ds-step-label.cjs +14 -5
  143. package/dist/components/ds-stepper/components/ds-step-label.js +14 -5
  144. package/dist/components/ds-stepper/components/ds-step-label.js.map +1 -1
  145. package/dist/components/ds-stepper/components/ds-step-next-button.cjs +23 -6
  146. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  147. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  148. package/dist/components/ds-stepper/components/ds-step-next-button.js +23 -6
  149. package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
  150. package/dist/components/ds-stepper/components/ds-step.cjs +106 -25
  151. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  152. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  153. package/dist/components/ds-stepper/components/ds-step.js +106 -25
  154. package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
  155. package/dist/components/ds-stepper/ds-stepper.cjs +62 -15
  156. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  157. package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
  158. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  159. package/dist/components/ds-stepper/ds-stepper.js +62 -15
  160. package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
  161. package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
  162. package/dist/components/ds-stepper/hooks/use-steps.cjs +29 -9
  163. package/dist/components/ds-stepper/hooks/use-steps.js +29 -9
  164. package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
  165. package/dist/components/ds-system-status/ds-system-status.cjs +37 -7
  166. package/dist/components/ds-system-status/ds-system-status.js +37 -7
  167. package/dist/components/ds-system-status/ds-system-status.js.map +1 -1
  168. package/dist/components/ds-system-status/ds-system-status.types.js.map +1 -1
  169. package/dist/components/ds-table/components/core-table/core-table.cjs +281 -48
  170. package/dist/components/ds-table/components/core-table/core-table.js +281 -48
  171. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  172. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +134 -50
  173. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +134 -50
  174. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  175. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +140 -43
  176. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +140 -43
  177. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
  178. package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +37 -6
  179. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js +37 -6
  180. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js.map +1 -1
  181. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +272 -100
  182. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +272 -100
  183. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  184. package/dist/components/ds-table/context/ds-table-context.js.map +1 -1
  185. package/dist/components/ds-table/ds-table.cjs +15 -15
  186. package/dist/components/ds-table/ds-table.d.cts +2 -2
  187. package/dist/components/ds-table/ds-table.js +15 -15
  188. package/dist/components/ds-table/ds-table.js.map +1 -1
  189. package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +126 -38
  190. package/dist/components/ds-table/hooks/use-drag-and-drop.js +126 -38
  191. package/dist/components/ds-table/hooks/use-drag-and-drop.js.map +1 -1
  192. package/dist/components/ds-table/utils/column-styling.js.map +1 -1
  193. package/dist/components/ds-table/utils/create-columns-grid-template.js.map +1 -1
  194. package/dist/components/ds-table/utils/merge-refs.js.map +1 -1
  195. package/dist/components/ds-text-input/ds-text-input.cjs +128 -43
  196. package/dist/components/ds-text-input/ds-text-input.js +128 -43
  197. package/dist/components/ds-text-input/ds-text-input.js.map +1 -1
  198. package/dist/components/ds-text-input/ds-text-input.types.js.map +1 -1
  199. package/dist/components/ds-textarea/ds-textarea.cjs +66 -22
  200. package/dist/components/ds-textarea/ds-textarea.js +66 -22
  201. package/dist/components/ds-textarea/ds-textarea.js.map +1 -1
  202. package/dist/components/ds-toast/ds-toast-context.cjs +62 -17
  203. package/dist/components/ds-toast/ds-toast-context.js +62 -17
  204. package/dist/components/ds-toast/ds-toast-context.js.map +1 -1
  205. package/dist/components/ds-toast/ds-toast.cjs +90 -26
  206. package/dist/components/ds-toast/ds-toast.js +90 -26
  207. package/dist/components/ds-toast/ds-toast.js.map +1 -1
  208. package/dist/components/ds-tooltip/ds-tooltip.cjs +51 -13
  209. package/dist/components/ds-tooltip/ds-tooltip.js +51 -13
  210. package/dist/components/ds-tooltip/ds-tooltip.js.map +1 -1
  211. package/dist/components/ds-typography/ds-typography.cjs +51 -7
  212. package/dist/components/ds-typography/ds-typography.config.js.map +1 -1
  213. package/dist/components/ds-typography/ds-typography.js +51 -7
  214. package/dist/components/ds-typography/ds-typography.js.map +1 -1
  215. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +91 -30
  216. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  217. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  218. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js +91 -30
  219. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js.map +1 -1
  220. package/dist/index.min.css +1 -1
  221. package/package.json +7 -1
@@ -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_runtime17 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_runtime17.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":";;;;;;;;;AAOA,MAAMU,WAAkC;CACvC,aAAa;CACb,cAAc;CACd,aAAa;CACbE,OAAO;CACPC,SAAS;CACTC,MAAM;CACNC,MAAM;CACNC,KAAK;CACLC,OAAO;CACP;AAOD,MAAMK,mBAAmBrB,cAA2C,KAAK;AAEzE,MAAMsB,4BAAsB;CAC3B,MAAAC,UAAgBtB,WAAWoB,iBAAiB;AAC5C,KAAI,CAACE,QACJ,OAAM,IAAIC,MAAM,wCAAwC;AACxD,QACMD;;;;;AAMR,MAAME,cAAwCE,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAjB;AAAA,KAAAQ,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAAQ,OAAAf,OAAAc,MAAAF,SAAAD,OAAAE,UAAAH,WAAAQ,OAAAD,OAAAD,SAAAT;AAU9CC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;AAAAT,IAAA,KAAAR;QAAA;AAAAU,cAAAF,EAAA;AAAAG,UAAAH,EAAA;AAAAI,YAAAJ,EAAA;AAAAK,aAAAL,EAAA;AAAAM,SAAAN,EAAA;AAAAO,UAAAP,EAAA;AAAAQ,UAAAR,EAAA;AAAAS,OAAAT,EAAA;AAAAR,UAAAQ,EAAA;;CAAA,IAAAW;AAAA,KAAAX,EAAA,QAAAS,IAAA;AAFAE,OAAAF,OAAAG,SAAA,EAAU,GAAVH;AAAUT,IAAA,MAAAS;AAAAT,IAAA,MAAAW;OAAAA,MAAAX,EAAA;CAAV,MAAAU,QAAAC;CAGA,MAAA,EAAArB,WAAAC,eAAkCG,qBAAqB;CAKpC,MAAAmB,KAAAvB,cAAcE;CAAK,IAAAsB;AAAA,KAAAd,EAAA,QAAAE,aAAAF,EAAA,QAAAK,YAAAL,EAAA,QAAAa,IAAA;AAHrBC,OAAAvC,WAChBE,6BAAMsC,KACN;IACEtC,6BAAMuC,SAAUH;IAChBpC,6BAAM4B,WAAYA;GACnB,EACDH,UACA;AAAAF,IAAA,MAAAE;AAAAF,IAAA,MAAAK;AAAAL,IAAA,MAAAa;AAAAb,IAAA,MAAAc;OAAAA,MAAAd,EAAA;CAPD,MAAAiB,WAAiBH;CAOf,IAAAI;AAAA,KAAAlB,EAAA,QAAAG,OAAA;AAGGe,OAAAf,SAAU,EAAA,eAAiBtB,SAASsB,QAAQ;AAAkBH,IAAA,MAAAG;AAAAH,IAAA,MAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAmB;AAAA,KAAAnB,EAAA,QAAAU,SAAAV,EAAA,QAAAkB,IAAA;AAFlDC,OAAA;GAAA,GACbT;GAAK,GACJQ;GACJ;AAAAlB,IAAA,MAAAU;AAAAV,IAAA,MAAAkB;AAAAlB,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;CAHD,MAAAoB,WAAiBD;CAGf,IAAAE;AAAA,KAAArB,EAAA,QAAAK,YAAAL,EAAA,QAAAT,cAAAS,EAAA,QAAAR,OAAA;AAEkB6B,aAAA;AACnB,OAAI,CAAChB,SACJd,YAAWC,MAAM;;AAElBQ,IAAA,MAAAK;AAAAL,IAAA,MAAAT;AAAAS,IAAA,MAAAR;AAAAQ,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;CAJD,MAAAsB,cAAoBD;CAIlB,IAAAE;AAAA,KAAAvB,EAAA,QAAAM,MAAA;AAWAiB,OAAA,oBAAC;GAAkB,WAAA9C,6BAAM6B;GAAaA;GAAW,MAAA;IAAU;AAAAN,IAAA,MAAAM;AAAAN,IAAA,MAAAuB;OAAAA,MAAAvB,EAAA;CAAA,IAAAwB;AAAA,KAAAxB,EAAA,QAAAO,OAAA;AAC3DiB,OAAA,oBAAA;GAAiB,WAAA/C,6BAAM8B;aAASA;IAAa;AAAAP,IAAA,MAAAO;AAAAP,IAAA,MAAAwB;OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;AAAA,KAAAzB,EAAA,QAAAI,SAAA;AAC7CqB,QAAA,oBAAA;GAAiB,WAAAhD,6BAAM2B;aAAWA;IAAe;AAAAJ,IAAA,MAAAI;AAAAJ,IAAA,MAAAyB;OAAAA,OAAAzB,EAAA;CAAA,IAAA0B;AAAA,KAAA1B,EAAA,QAAAK,YAAAL,EAAA,QAAAsB,eAAAtB,EAAA,QAAAQ,SAAAR,EAAA,QAAAyB,OAAAzB,EAAA,QAAAuB,MAAAvB,EAAA,QAAAwB,MAAAxB,EAAA,QAAAiB,YAAAjB,EAAA,QAAAoB,UAAA;AAVlDM,QAAA,qBAAA;GACM,MAAA;GACMT,WAAAA;GACJG,OAAAA;GACEE,SAAAA;GACCjB;GAAQ,GACdG;;IAEJe;IACAC;IACAC;;IACQ;AAAAzB,IAAA,MAAAK;AAAAL,IAAA,MAAAsB;AAAAtB,IAAA,MAAAQ;AAAAR,IAAA,MAAAyB;AAAAzB,IAAA,MAAAuB;AAAAvB,IAAA,MAAAwB;AAAAxB,IAAA,MAAAiB;AAAAjB,IAAA,MAAAoB;AAAApB,IAAA,MAAA0B;OAAAA,OAAA1B,EAAA;AAAA,QAXT0B;;;;;AAkBF,MAAMC,eAAc5B,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAX;CAAA,IAAAsC;CAAA,IAAA1B;CAAA,IAAAX;CAAA,IAAAiB;CAAA,IAAAC;AAAA,KAAAT,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAAT,WAAAC,YAAAW,WAAAQ,OAAAD,IAAAmB,aAAApB,SAAAT;AAOFC,IAAA,KAAAD;AAAAC,IAAA,KAAAV;AAAAU,IAAA,KAAA4B;AAAA5B,IAAA,KAAAE;AAAAF,IAAA,KAAAT;AAAAS,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;QAAA;AAAAnB,cAAAU,EAAA;AAAA4B,aAAA5B,EAAA;AAAAE,cAAAF,EAAA;AAAAT,eAAAS,EAAA;AAAAQ,UAAAR,EAAA;AAAAS,OAAAT,EAAA;;CAAA,IAAAW;AAAA,KAAAX,EAAA,OAAAS,IAAA;AAHlBE,OAAAF,OAAAG,SAAA,EAAU,GAAVH;AAAUT,IAAA,KAAAS;AAAAT,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAAV,MAAAU,QAAAC;CAAU,IAAAE;AAAA,KAAAb,EAAA,OAAAV,aAAAU,EAAA,QAAAT,YAAA;AAIiCsB,OAAA;GAAAvB;GAAAC;GAG1C;AAAAS,IAAA,KAAAV;AAAAU,IAAA,MAAAT;AAAAS,IAAA,MAAAa;OAAAA,MAAAb,EAAA;CAHD,MAAA6B,eAA2ChB;CAGzC,IAAAC;AAAA,KAAAd,EAAA,QAAAE,WAAA;AAIgBY,OAAAvC,WAAWE,6BAAMqD,WAAY5B,UAAU;AAAAF,IAAA,MAAAE;AAAAF,IAAA,MAAAc;OAAAA,MAAAd,EAAA;CAAA,IAAAkB;AAAA,KAAAlB,EAAA,QAAA4B,YAAA5B,EAAA,QAAAQ,SAAAR,EAAA,QAAAU,SAAAV,EAAA,QAAAc,IAAA;AAAvDI,OAAA,oBAAA;GAAgB,WAAAJ;GAAgDJ;GAAK,GAAMF;GACzEoB;IACI;AAAA5B,IAAA,MAAA4B;AAAA5B,IAAA,MAAAQ;AAAAR,IAAA,MAAAU;AAAAV,IAAA,MAAAc;AAAAd,IAAA,MAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAmB;AAAA,KAAAnB,EAAA,QAAA6B,gBAAA7B,EAAA,QAAAkB,IAAA;AAHPC,OAAA,oBAAA,iBAAA;GAAkCU,OAAAA;aACjCX;IAG2B;AAAAlB,IAAA,MAAA6B;AAAA7B,IAAA,MAAAkB;AAAAlB,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;AAAA,QAJ5BmB;;AAQFQ,YAAYI,MAAMlC;AAElB,4BAAe8B"}
@@ -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"}