@drivenets/design-system 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/ds-avatar/ds-avatar.cjs +98 -0
  3. package/dist/components/ds-avatar/ds-avatar.d.cts +12 -0
  4. package/dist/components/ds-avatar/ds-avatar.d.cts.map +1 -0
  5. package/dist/components/ds-avatar/ds-avatar.d.ts +12 -0
  6. package/dist/components/ds-avatar/ds-avatar.d.ts.map +1 -0
  7. package/dist/components/ds-avatar/ds-avatar.js +97 -0
  8. package/dist/components/ds-avatar/ds-avatar.js.map +1 -0
  9. package/dist/components/ds-avatar/ds-avatar.module.cjs +17 -0
  10. package/dist/components/ds-avatar/ds-avatar.module.js +17 -0
  11. package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -0
  12. package/dist/components/ds-avatar/ds-avatar.types.d.cts +44 -0
  13. package/dist/components/ds-avatar/ds-avatar.types.d.cts.map +1 -0
  14. package/dist/components/ds-avatar/ds-avatar.types.d.ts +44 -0
  15. package/dist/components/ds-avatar/ds-avatar.types.d.ts.map +1 -0
  16. package/dist/components/ds-avatar/index.cjs +1 -0
  17. package/dist/components/ds-avatar/index.d.ts +2 -0
  18. package/dist/components/ds-avatar/index.js +1 -0
  19. package/dist/components/ds-avatar-group/ds-avatar-group.cjs +93 -0
  20. package/dist/components/ds-avatar-group/ds-avatar-group.d.cts +12 -0
  21. package/dist/components/ds-avatar-group/ds-avatar-group.d.cts.map +1 -0
  22. package/dist/components/ds-avatar-group/ds-avatar-group.d.ts +12 -0
  23. package/dist/components/ds-avatar-group/ds-avatar-group.d.ts.map +1 -0
  24. package/dist/components/ds-avatar-group/ds-avatar-group.js +92 -0
  25. package/dist/components/ds-avatar-group/ds-avatar-group.js.map +1 -0
  26. package/dist/components/ds-avatar-group/ds-avatar-group.module.cjs +19 -0
  27. package/dist/components/ds-avatar-group/ds-avatar-group.module.js +19 -0
  28. package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -0
  29. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts +31 -0
  30. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.cts.map +1 -0
  31. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts +32 -0
  32. package/dist/components/ds-avatar-group/ds-avatar-group.types.d.ts.map +1 -0
  33. package/dist/components/ds-avatar-group/index.cjs +1 -0
  34. package/dist/components/ds-avatar-group/index.d.ts +2 -0
  35. package/dist/components/ds-avatar-group/index.js +1 -0
  36. package/dist/components/ds-button/ds-button.d.ts +2 -2
  37. package/dist/components/ds-button/ds-button.d.ts.map +1 -1
  38. package/dist/components/ds-chip/ds-chip.cjs +2 -1
  39. package/dist/components/ds-chip/ds-chip.d.cts +2 -1
  40. package/dist/components/ds-chip/ds-chip.d.cts.map +1 -1
  41. package/dist/components/ds-chip/ds-chip.d.ts +2 -1
  42. package/dist/components/ds-chip/ds-chip.d.ts.map +1 -1
  43. package/dist/components/ds-chip/ds-chip.js +2 -1
  44. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  45. package/dist/components/ds-chip/ds-chip.types.d.cts +13 -0
  46. package/dist/components/ds-chip/ds-chip.types.d.cts.map +1 -1
  47. package/dist/components/ds-chip/ds-chip.types.d.ts +13 -0
  48. package/dist/components/ds-chip/ds-chip.types.d.ts.map +1 -1
  49. package/dist/components/ds-chip-group/ds-chip-group.cjs +2 -2
  50. package/dist/components/ds-chip-group/ds-chip-group.d.cts +2 -2
  51. package/dist/components/ds-chip-group/ds-chip-group.d.ts +2 -2
  52. package/dist/components/ds-chip-group/ds-chip-group.js +2 -2
  53. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  54. package/dist/components/ds-chip-group/ds-chip-group.types.d.cts +9 -0
  55. package/dist/components/ds-chip-group/ds-chip-group.types.d.cts.map +1 -1
  56. package/dist/components/ds-chip-group/ds-chip-group.types.d.ts +9 -0
  57. package/dist/components/ds-chip-group/ds-chip-group.types.d.ts.map +1 -1
  58. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  59. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  60. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  61. package/dist/components/ds-date-input/ds-date-input.d.cts.map +1 -1
  62. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  63. package/dist/components/ds-date-input/ds-date-input.js +2 -2
  64. package/dist/components/ds-date-input/ds-date-input.js.map +1 -1
  65. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  66. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  67. package/dist/components/ds-drawer/ds-drawer.js +2 -2
  68. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +3 -3
  69. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  70. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  71. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  72. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +2 -2
  73. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +2 -2
  74. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  75. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  76. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  77. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  78. package/dist/components/ds-select/ds-select.d.cts +2 -2
  79. package/dist/components/ds-select/ds-select.d.ts +2 -2
  80. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  81. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  82. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  83. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  84. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  85. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  86. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  87. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  88. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  89. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  90. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  91. package/dist/components/ds-table/ds-table.d.cts +2 -2
  92. package/dist/components/ds-table/ds-table.d.ts +2 -2
  93. package/dist/components/ds-tag/ds-tag.cjs +254 -0
  94. package/dist/components/ds-tag/ds-tag.d.cts +25 -0
  95. package/dist/components/ds-tag/ds-tag.d.cts.map +1 -0
  96. package/dist/components/ds-tag/ds-tag.d.ts +25 -0
  97. package/dist/components/ds-tag/ds-tag.d.ts.map +1 -0
  98. package/dist/components/ds-tag/ds-tag.js +253 -0
  99. package/dist/components/ds-tag/ds-tag.js.map +1 -0
  100. package/dist/components/ds-tag/ds-tag.module.cjs +17 -0
  101. package/dist/components/ds-tag/ds-tag.module.js +17 -0
  102. package/dist/components/ds-tag/ds-tag.module.js.map +1 -0
  103. package/dist/components/ds-tag/ds-tag.types.d.cts +68 -0
  104. package/dist/components/ds-tag/ds-tag.types.d.cts.map +1 -0
  105. package/dist/components/ds-tag/ds-tag.types.d.ts +68 -0
  106. package/dist/components/ds-tag/ds-tag.types.d.ts.map +1 -0
  107. package/dist/components/ds-tag/index.cjs +1 -0
  108. package/dist/components/ds-tag/index.d.ts +2 -0
  109. package/dist/components/ds-tag/index.js +1 -0
  110. package/dist/components/ds-tag-filter/ds-tag-filter.cjs +325 -0
  111. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +24 -0
  112. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts.map +1 -0
  113. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +24 -0
  114. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts.map +1 -0
  115. package/dist/components/ds-tag-filter/ds-tag-filter.js +324 -0
  116. package/dist/components/ds-tag-filter/ds-tag-filter.js.map +1 -0
  117. package/dist/components/ds-tag-filter/ds-tag-filter.module.cjs +17 -0
  118. package/dist/components/ds-tag-filter/ds-tag-filter.module.js +17 -0
  119. package/dist/components/ds-tag-filter/ds-tag-filter.module.js.map +1 -0
  120. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts +71 -0
  121. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.cts.map +1 -0
  122. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts +72 -0
  123. package/dist/components/ds-tag-filter/ds-tag-filter.types.d.ts.map +1 -0
  124. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.cjs +137 -0
  125. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js +137 -0
  126. package/dist/components/ds-tag-filter/hooks/use-tag-overflow-calculation.js.map +1 -0
  127. package/dist/components/ds-tag-filter/index.cjs +1 -0
  128. package/dist/components/ds-tag-filter/index.d.ts +2 -0
  129. package/dist/components/ds-tag-filter/index.js +1 -0
  130. package/dist/components/ds-tag-filter/utils.cjs +54 -0
  131. package/dist/components/ds-tag-filter/utils.js +52 -0
  132. package/dist/components/ds-tag-filter/utils.js.map +1 -0
  133. package/dist/components/ds-text-input/ds-text-input.js +2 -2
  134. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  135. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  136. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  137. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  138. package/dist/index.cjs +14 -2
  139. package/dist/index.d.cts +9 -1
  140. package/dist/index.d.ts +13 -1
  141. package/dist/index.js +11 -3
  142. package/dist/index.min.css +1 -1
  143. package/package.json +6 -2
  144. package/src/components/ds-avatar/_mixins.scss +45 -0
  145. package/src/components/ds-avatar/ds-avatar.module.scss +52 -0
  146. package/src/components/ds-avatar/ds-avatar.tsx +42 -0
  147. package/src/components/ds-avatar/ds-avatar.types.ts +41 -0
  148. package/src/components/ds-avatar/index.ts +2 -0
  149. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +70 -0
  150. package/src/components/ds-avatar-group/ds-avatar-group.tsx +51 -0
  151. package/src/components/ds-avatar-group/ds-avatar-group.types.ts +27 -0
  152. package/src/components/ds-avatar-group/index.ts +2 -0
  153. package/src/components/ds-chip/ds-chip.tsx +2 -1
  154. package/src/components/ds-chip/ds-chip.types.tsx +13 -0
  155. package/src/components/ds-chip/index.tsx +8 -0
  156. package/src/components/ds-chip-group/ds-chip-group.tsx +2 -2
  157. package/src/components/ds-chip-group/ds-chip-group.types.ts +8 -0
  158. package/src/components/ds-chip-group/index.ts +1 -0
  159. package/src/components/ds-tag/ds-tag.module.scss +112 -0
  160. package/src/components/ds-tag/ds-tag.tsx +124 -0
  161. package/src/components/ds-tag/ds-tag.types.tsx +67 -0
  162. package/src/components/ds-tag/index.tsx +2 -0
  163. package/src/components/ds-tag-filter/ds-tag-filter.module.scss +72 -0
  164. package/src/components/ds-tag-filter/ds-tag-filter.tsx +178 -0
  165. package/src/components/ds-tag-filter/ds-tag-filter.types.ts +68 -0
  166. package/src/components/ds-tag-filter/hooks/use-tag-overflow-calculation.ts +135 -0
  167. package/src/components/ds-tag-filter/index.ts +2 -0
  168. package/src/components/ds-tag-filter/utils.test.ts +401 -0
  169. package/src/components/ds-tag-filter/utils.ts +65 -0
  170. package/src/index.ts +4 -0
@@ -0,0 +1,253 @@
1
+ import ds_icon_default from "../ds-icon/ds-icon.js";
2
+ import "../ds-icon/index.js";
3
+ import ds_typography_default from "../ds-typography/ds-typography.js";
4
+ import "../ds-typography/index.js";
5
+ import ds_tag_module_default from "./ds-tag.module.js";
6
+ import { c } from "react/compiler-runtime";
7
+ import classNames from "classnames";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import "react";
10
+
11
+ //#region src/components/ds-tag/ds-tag.tsx
12
+ /**
13
+ * Design system Tag component
14
+ */
15
+ const DsTag = (t0) => {
16
+ const $ = c(61);
17
+ let className;
18
+ let label;
19
+ let onClick;
20
+ let onDelete;
21
+ let ref;
22
+ let rest;
23
+ let slots;
24
+ let t1;
25
+ let t2;
26
+ let t3;
27
+ let t4;
28
+ let t5;
29
+ let t6;
30
+ if ($[0] !== t0) {
31
+ ({ref, label, className, style: t1, size: t2, selected: t3, variant: t4, disabled: t5, locale: t6, onClick, onDelete, slots, ...rest} = t0);
32
+ $[0] = t0;
33
+ $[1] = className;
34
+ $[2] = label;
35
+ $[3] = onClick;
36
+ $[4] = onDelete;
37
+ $[5] = ref;
38
+ $[6] = rest;
39
+ $[7] = slots;
40
+ $[8] = t1;
41
+ $[9] = t2;
42
+ $[10] = t3;
43
+ $[11] = t4;
44
+ $[12] = t5;
45
+ $[13] = t6;
46
+ } else {
47
+ className = $[1];
48
+ label = $[2];
49
+ onClick = $[3];
50
+ onDelete = $[4];
51
+ ref = $[5];
52
+ rest = $[6];
53
+ slots = $[7];
54
+ t1 = $[8];
55
+ t2 = $[9];
56
+ t3 = $[10];
57
+ t4 = $[11];
58
+ t5 = $[12];
59
+ t6 = $[13];
60
+ }
61
+ let t7;
62
+ if ($[14] !== t1) {
63
+ t7 = t1 === void 0 ? {} : t1;
64
+ $[14] = t1;
65
+ $[15] = t7;
66
+ } else t7 = $[15];
67
+ const style = t7;
68
+ const size = t2 === void 0 ? "medium" : t2;
69
+ const selected = t3 === void 0 ? false : t3;
70
+ const variant = t4 === void 0 ? "default" : t4;
71
+ const disabled = t5 === void 0 ? false : t5;
72
+ let t8;
73
+ if ($[16] !== t6) {
74
+ t8 = t6 === void 0 ? {} : t6;
75
+ $[16] = t6;
76
+ $[17] = t8;
77
+ } else t8 = $[17];
78
+ const locale = t8;
79
+ const t9 = onClick !== void 0 && !disabled;
80
+ const t10 = selected && !disabled;
81
+ const t11 = variant === "include";
82
+ const t12 = variant === "exclude";
83
+ let t13;
84
+ if ($[18] !== className || $[19] !== disabled || $[20] !== t10 || $[21] !== t11 || $[22] !== t12 || $[23] !== t9) {
85
+ t13 = classNames(ds_tag_module_default.tag, {
86
+ [ds_tag_module_default.clickable]: t9,
87
+ [ds_tag_module_default.selected]: t10,
88
+ [ds_tag_module_default.include]: t11,
89
+ [ds_tag_module_default.exclude]: t12,
90
+ [ds_tag_module_default.disabled]: disabled
91
+ }, className);
92
+ $[18] = className;
93
+ $[19] = disabled;
94
+ $[20] = t10;
95
+ $[21] = t11;
96
+ $[22] = t12;
97
+ $[23] = t9;
98
+ $[24] = t13;
99
+ } else t13 = $[24];
100
+ const tagClass = t13;
101
+ let t14;
102
+ if ($[25] !== onDelete) {
103
+ t14 = (event) => {
104
+ event.stopPropagation();
105
+ onDelete?.(event);
106
+ };
107
+ $[25] = onDelete;
108
+ $[26] = t14;
109
+ } else t14 = $[26];
110
+ const handleDeleteClick = t14;
111
+ let t15;
112
+ if ($[27] !== onClick || $[28] !== onDelete) {
113
+ t15 = (event_0) => {
114
+ if (onClick && (event_0.key === "Enter" || event_0.key === " ")) {
115
+ event_0.preventDefault();
116
+ onClick(event_0);
117
+ return;
118
+ }
119
+ if (onDelete && (event_0.key === "Backspace" || event_0.key === "Delete")) {
120
+ event_0.preventDefault();
121
+ onDelete(event_0);
122
+ }
123
+ };
124
+ $[27] = onClick;
125
+ $[28] = onDelete;
126
+ $[29] = t15;
127
+ } else t15 = $[29];
128
+ const handleKeyDownTag = t15;
129
+ let t16;
130
+ if ($[30] !== onDelete) {
131
+ t16 = (event_1) => {
132
+ event_1.stopPropagation();
133
+ if (onDelete && (event_1.key === "Enter" || event_1.key === " ")) {
134
+ event_1.preventDefault();
135
+ onDelete(event_1);
136
+ }
137
+ };
138
+ $[30] = onDelete;
139
+ $[31] = t16;
140
+ } else t16 = $[31];
141
+ const handleKeyDownDelete = t16;
142
+ let t17;
143
+ if ($[32] !== onClick) {
144
+ t17 = (event_2) => {
145
+ if (onClick) {
146
+ event_2.preventDefault();
147
+ onClick(event_2);
148
+ }
149
+ };
150
+ $[32] = onClick;
151
+ $[33] = t17;
152
+ } else t17 = $[33];
153
+ const handleClick = t17;
154
+ let iconVariant = null;
155
+ if (variant === "include") iconVariant = "check_circle";
156
+ if (variant === "exclude") iconVariant = "do_not_disturb_on";
157
+ const t18 = ref;
158
+ const t19 = disabled ? void 0 : handleClick;
159
+ const t20 = disabled ? void 0 : handleKeyDownTag;
160
+ const t21 = onClick || onDelete ? "button" : void 0;
161
+ const t22 = disabled || !onClick && !onDelete ? void 0 : 0;
162
+ const t23 = typeof label === "string" ? label : void 0;
163
+ const t24 = onClick && selected && !disabled ? "true" : void 0;
164
+ let t25;
165
+ if ($[34] !== iconVariant || $[35] !== slots?.icon) {
166
+ t25 = (slots?.icon || iconVariant) && /* @__PURE__ */ jsx("span", {
167
+ className: classNames(ds_tag_module_default.icon),
168
+ children: slots?.icon ?? (iconVariant && /* @__PURE__ */ jsx(ds_icon_default, {
169
+ icon: iconVariant,
170
+ size: "tiny",
171
+ className: classNames(ds_tag_module_default.variantIcon)
172
+ }))
173
+ });
174
+ $[34] = iconVariant;
175
+ $[35] = slots?.icon;
176
+ $[36] = t25;
177
+ } else t25 = $[36];
178
+ const t26 = size === "small" ? "body-xs-reg" : "body-sm-reg";
179
+ let t27;
180
+ if ($[37] !== label || $[38] !== t26) {
181
+ t27 = /* @__PURE__ */ jsx(ds_typography_default, {
182
+ variant: t26,
183
+ className: ds_tag_module_default.label,
184
+ children: label
185
+ });
186
+ $[37] = label;
187
+ $[38] = t26;
188
+ $[39] = t27;
189
+ } else t27 = $[39];
190
+ let t28;
191
+ if ($[40] !== disabled || $[41] !== handleDeleteClick || $[42] !== handleKeyDownDelete || $[43] !== locale || $[44] !== onDelete) {
192
+ t28 = onDelete && !disabled && /* @__PURE__ */ jsx("button", {
193
+ type: "button",
194
+ className: ds_tag_module_default.deleteButton,
195
+ onClick: handleDeleteClick,
196
+ onKeyDown: handleKeyDownDelete,
197
+ "aria-label": locale.deleteAriaLabel ?? "Delete tag",
198
+ tabIndex: 0,
199
+ children: /* @__PURE__ */ jsx(ds_icon_default, {
200
+ icon: "close",
201
+ size: "tiny"
202
+ })
203
+ });
204
+ $[40] = disabled;
205
+ $[41] = handleDeleteClick;
206
+ $[42] = handleKeyDownDelete;
207
+ $[43] = locale;
208
+ $[44] = onDelete;
209
+ $[45] = t28;
210
+ } else t28 = $[45];
211
+ let t29;
212
+ if ($[46] !== disabled || $[47] !== rest || $[48] !== style || $[49] !== t18 || $[50] !== t19 || $[51] !== t20 || $[52] !== t21 || $[53] !== t22 || $[54] !== t23 || $[55] !== t24 || $[56] !== t25 || $[57] !== t27 || $[58] !== t28 || $[59] !== tagClass) {
213
+ t29 = /* @__PURE__ */ jsxs("div", {
214
+ ref: t18,
215
+ className: tagClass,
216
+ style,
217
+ onClick: t19,
218
+ onKeyDown: t20,
219
+ role: t21,
220
+ tabIndex: t22,
221
+ "aria-label": t23,
222
+ "aria-pressed": t24,
223
+ "aria-disabled": disabled,
224
+ ...rest,
225
+ children: [
226
+ t25,
227
+ t27,
228
+ t28
229
+ ]
230
+ });
231
+ $[46] = disabled;
232
+ $[47] = rest;
233
+ $[48] = style;
234
+ $[49] = t18;
235
+ $[50] = t19;
236
+ $[51] = t20;
237
+ $[52] = t21;
238
+ $[53] = t22;
239
+ $[54] = t23;
240
+ $[55] = t24;
241
+ $[56] = t25;
242
+ $[57] = t27;
243
+ $[58] = t28;
244
+ $[59] = tagClass;
245
+ $[60] = t29;
246
+ } else t29 = $[60];
247
+ return t29;
248
+ };
249
+ var ds_tag_default = DsTag;
250
+
251
+ //#endregion
252
+ export { ds_tag_default as default };
253
+ //# sourceMappingURL=ds-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-tag.js","names":["KeyboardEvent","MouseEvent","Ref","classNames","styles","DsTagProps","DsIcon","DsTypography","DsTag","t0","$","_c","className","label","onClick","onDelete","ref","rest","slots","t1","t2","t3","t4","t5","t6","style","size","selected","variant","disabled","locale","t7","undefined","t8","t9","t10","t11","t12","t13","tag","clickable","include","exclude","tagClass","t14","event","stopPropagation","handleDeleteClick","t15","event_0","key","preventDefault","HTMLDivElement","handleKeyDownTag","t16","event_1","handleKeyDownDelete","t17","event_2","handleClick","iconVariant","t18","t19","t20","t21","t22","t23","t24","t25","icon","variantIcon","t26","t27","t28","deleteButton","deleteAriaLabel","t29"],"sources":["../../../src/components/ds-tag/ds-tag.tsx"],"sourcesContent":["import { type KeyboardEvent, type MouseEvent, type Ref } from 'react';\nimport classNames from 'classnames';\nimport styles from './ds-tag.module.scss';\nimport type { DsTagProps } from './ds-tag.types';\nimport { DsIcon } from '../ds-icon';\nimport { DsTypography } from '../ds-typography';\n\n/**\n * Design system Tag component\n */\nconst DsTag = ({\n\tref,\n\tlabel,\n\tclassName,\n\tstyle = {},\n\tsize = 'medium',\n\tselected = false,\n\tvariant = 'default',\n\tdisabled = false,\n\tlocale = {},\n\tonClick,\n\tonDelete,\n\tslots,\n\t...rest\n}: DsTagProps) => {\n\tconst tagClass = classNames(\n\t\tstyles.tag,\n\t\t{\n\t\t\t[styles.clickable]: onClick !== undefined && !disabled,\n\t\t\t[styles.selected]: selected && !disabled,\n\t\t\t[styles.include]: variant === 'include',\n\t\t\t[styles.exclude]: variant === 'exclude',\n\t\t\t[styles.disabled]: disabled,\n\t\t},\n\t\tclassName,\n\t);\n\n\tconst handleDeleteClick = (event: MouseEvent<HTMLElement>) => {\n\t\tevent.stopPropagation();\n\t\tonDelete?.(event);\n\t};\n\n\tconst handleKeyDownTag = (event: KeyboardEvent<HTMLElement>) => {\n\t\tif (onClick && (event.key === 'Enter' || event.key === ' ')) {\n\t\t\tevent.preventDefault();\n\t\t\tonClick(event as KeyboardEvent<HTMLDivElement>);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (onDelete && (event.key === 'Backspace' || event.key === 'Delete')) {\n\t\t\tevent.preventDefault();\n\t\t\tonDelete(event);\n\t\t}\n\t};\n\n\tconst handleKeyDownDelete = (event: KeyboardEvent<HTMLElement>) => {\n\t\tevent.stopPropagation();\n\n\t\tif (onDelete && (event.key === 'Enter' || event.key === ' ')) {\n\t\t\tevent.preventDefault();\n\t\t\tonDelete(event);\n\t\t}\n\t};\n\n\tconst handleClick = (event: MouseEvent<HTMLElement>) => {\n\t\tif (onClick) {\n\t\t\tevent.preventDefault();\n\t\t\tonClick(event as MouseEvent<HTMLDivElement>);\n\t\t}\n\t};\n\n\tlet iconVariant: 'do_not_disturb_on' | 'check_circle' | null = null;\n\n\tif (variant === 'include') {\n\t\ticonVariant = 'check_circle';\n\t}\n\n\tif (variant === 'exclude') {\n\t\ticonVariant = 'do_not_disturb_on';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ref as Ref<HTMLDivElement>}\n\t\t\tclassName={tagClass}\n\t\t\tstyle={style}\n\t\t\tonClick={disabled ? undefined : handleClick}\n\t\t\tonKeyDown={disabled ? undefined : handleKeyDownTag}\n\t\t\trole={onClick || onDelete ? 'button' : undefined}\n\t\t\ttabIndex={disabled || (!onClick && !onDelete) ? undefined : 0}\n\t\t\taria-label={typeof label === 'string' ? label : undefined}\n\t\t\taria-pressed={onClick && selected && !disabled ? 'true' : undefined}\n\t\t\taria-disabled={disabled}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(slots?.icon || iconVariant) && (\n\t\t\t\t<span className={classNames(styles.icon)}>\n\t\t\t\t\t{slots?.icon ??\n\t\t\t\t\t\t(iconVariant && (\n\t\t\t\t\t\t\t<DsIcon icon={iconVariant} size=\"tiny\" className={classNames(styles.variantIcon)} />\n\t\t\t\t\t\t))}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<DsTypography variant={size === 'small' ? 'body-xs-reg' : 'body-sm-reg'} className={styles.label}>\n\t\t\t\t{label}\n\t\t\t</DsTypography>\n\t\t\t{onDelete && !disabled && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName={styles.deleteButton}\n\t\t\t\t\tonClick={handleDeleteClick}\n\t\t\t\t\tonKeyDown={handleKeyDownDelete}\n\t\t\t\t\taria-label={locale.deleteAriaLabel ?? 'Delete tag'}\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t>\n\t\t\t\t\t<DsIcon icon=\"close\" size=\"tiny\" />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default DsTag;\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+
2
+ //#region src/components/ds-tag/ds-tag.module.scss
3
+ var ds_tag_module_default = {
4
+ "tag": "_tag_1tyo9_1",
5
+ "clickable": "_clickable_1tyo9_1",
6
+ "selected": "_selected_1tyo9_1",
7
+ "deleteButton": "_deleteButton_1tyo9_1",
8
+ "include": "_include_1tyo9_1",
9
+ "variantIcon": "_variantIcon_1tyo9_1",
10
+ "exclude": "_exclude_1tyo9_1",
11
+ "disabled": "_disabled_1tyo9_1",
12
+ "label": "_label_1tyo9_1",
13
+ "icon": "_icon_1tyo9_1"
14
+ };
15
+
16
+ //#endregion
17
+ exports.default = ds_tag_module_default;
@@ -0,0 +1,17 @@
1
+ //#region src/components/ds-tag/ds-tag.module.scss
2
+ var ds_tag_module_default = {
3
+ "tag": "_tag_1tyo9_1",
4
+ "clickable": "_clickable_1tyo9_1",
5
+ "selected": "_selected_1tyo9_1",
6
+ "deleteButton": "_deleteButton_1tyo9_1",
7
+ "include": "_include_1tyo9_1",
8
+ "variantIcon": "_variantIcon_1tyo9_1",
9
+ "exclude": "_exclude_1tyo9_1",
10
+ "disabled": "_disabled_1tyo9_1",
11
+ "label": "_label_1tyo9_1",
12
+ "icon": "_icon_1tyo9_1"
13
+ };
14
+
15
+ //#endregion
16
+ export { ds_tag_module_default as default };
17
+ //# sourceMappingURL=ds-tag.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-tag.module.js","names":[],"sources":["../../../file:/home/runner/work/design-system/design-system/packages/design-system/src/components/ds-tag/ds-tag.module.scss","../../../file:/home/runner/work/design-system/design-system/packages/design-system/src/styles/_typography.scss"],"sourcesContent":["@use '../../styles/typography';\n\n.tag {\n\t--transition-duration: 200ms;\n\n\tdisplay: inline-flex;\n\toutline: 2px solid transparent;\n\talign-items: center;\n\tborder-radius: 4px;\n\tcursor: default;\n\toverflow: hidden;\n\tposition: relative;\n\tpadding: var(--spacing-3xs) var(--spacing-xs);\n\tbackground: var(--color-background);\n\tborder: 1px solid var(--color-border-contrast);\n\ttransition-property:\n\t\tbackground, border-color, width, max-width, color, fill, stroke, opacity, transform, outline-color,\n\t\topacity, visibility;\n\ttransition-timing-function: ease-out;\n\ttransition-duration: var(--transition-duration);\n\n\t&.clickable {\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\tbackground: var(--color-background-secondary);\n\t\t\tborder-color: var(--color-border-action-secondary-hover);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\toutline-color: var(--color-border-action-secondary);\n\t\t}\n\t}\n\n\t&.selected {\n\t\tbackground: var(--color-background-selected-weak) !important;\n\t\tborder-color: var(--color-border-action-primary) !important;\n\n\t\t&:focus-visible {\n\t\t\toutline-color: var(--color-border-action-primary);\n\t\t}\n\n\t\t.deleteButton {\n\t\t\toutline-color: var(--color-border-action-primary);\n\t\t}\n\t}\n\n\t&.include {\n\t\t.variantIcon {\n\t\t\tcolor: var(--color-icon-secondary);\n\t\t}\n\t}\n\n\t&.exclude {\n\t\t.variantIcon {\n\t\t\tcolor: var(--color-icon-danger);\n\t\t}\n\t}\n\n\t&.disabled {\n\t\tcursor: not-allowed;\n\t\tcolor: var(--color-font-disabled);\n\t\tbackground: var(--color-background);\n\t\tborder-color: var(--color-border-contrast);\n\n\t\t.label {\n\t\t\tcolor: var(--color-font-disabled);\n\t\t}\n\n\t\t.variantIcon {\n\t\t\tcolor: var(--color-font-disabled);\n\t\t}\n\t}\n\n\t.deleteButton {\n\t\topacity: 0;\n\t\tvisibility: hidden;\n\t\tmax-width: 0;\n\t\tdisplay: flex;\n\t\toutline-color: var(--color-border-action-secondary);\n\t\tuser-select: none;\n\t\ttransition-property:\n\t\t\tbackground, border-color, width, max-width, color, fill, stroke, opacity, transform, outline-color,\n\t\t\tvisibility, margin-left;\n\t\ttransition-timing-function: ease-out;\n\t\ttransition-duration: var(--transition-duration);\n\t\tcolor: var(--color-icon-secondary);\n\n\t\t&:hover {\n\t\t\tbackground: var(--color-background-action-secondary-hover);\n\t\t}\n\t}\n\n\t&:hover:not(.disabled) .deleteButton,\n\t&:focus-within:not(.disabled) .deleteButton,\n\t&.selected:not(.disabled) .deleteButton {\n\t\topacity: 1;\n\t\tvisibility: visible;\n\t\tmax-width: 50px;\n\t\tmargin-left: var(--spacing-3xs);\n\t}\n}\n\n.label {\n\t@include typography.ellipsis;\n}\n\n.icon {\n\tflex-shrink: 0;\n\tdisplay: flex;\n\tmargin-right: var(--spacing-3xs);\n}\n"],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { CSSProperties, KeyboardEvent, MouseEvent, ReactNode, Ref } from "react";
2
+
3
+ //#region src/components/ds-tag/ds-tag.types.d.ts
4
+ declare const tagSizes: readonly ["medium", "small"];
5
+ type TagSize = (typeof tagSizes)[number];
6
+ declare const tagVariants: readonly ["default", "include", "exclude"];
7
+ type TagVariant = (typeof tagVariants)[number];
8
+ interface DsTagProps {
9
+ /**
10
+ * Ref to the tag element
11
+ */
12
+ ref?: Ref<HTMLElement>;
13
+ /**
14
+ * The label text to display in the tag
15
+ */
16
+ label: ReactNode;
17
+ /**
18
+ * Additional CSS class names
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Locale object (you can pass custom strings for localization)
23
+ */
24
+ locale?: {
25
+ deleteAriaLabel?: string;
26
+ };
27
+ /**
28
+ * Additional styles to apply to the component
29
+ */
30
+ style?: CSSProperties;
31
+ /**
32
+ * Optional click handler, if not present Tag will not be in "clickable" state
33
+ */
34
+ onClick?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
35
+ /**
36
+ * Callback function when the delete icon is clicked
37
+ */
38
+ onDelete?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
39
+ /**
40
+ * Size of the tag
41
+ * @default 'medium'
42
+ */
43
+ size?: TagSize;
44
+ /**
45
+ * Whether the tag is in a selected/pressed state
46
+ * @default false
47
+ */
48
+ selected?: boolean;
49
+ /**
50
+ * Variant of the tag
51
+ * @default 'default'
52
+ */
53
+ variant?: TagVariant;
54
+ /**
55
+ * Whether the tag is disabled
56
+ * @default false
57
+ */
58
+ disabled?: boolean;
59
+ slots?: {
60
+ /**
61
+ * Icon to display at the start of the input
62
+ */
63
+ icon?: ReactNode;
64
+ };
65
+ }
66
+ //#endregion
67
+ export { DsTagProps, TagSize, TagVariant };
68
+ //# sourceMappingURL=ds-tag.types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-tag.types.d.cts","names":[],"sources":["../../../src/components/ds-tag/ds-tag.types.tsx"],"sourcesContent":[],"mappings":";;;cAEa;KACD,OAAA,WAAkB;AADjB,cAGA,WAHuC,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,CAAA;AACxC,KAGA,UAAA,GAHO,CAAA,OAGc,WAHK,CAAA,CAAA,MAAA,CAAA;AAEzB,UAGI,UAAA,CAHoD;EACzD;AAEZ;;EAIO,GAAA,CAAA,EAAA,GAAA,CAAI,WAAJ,CAAA;EAIC;;;EAkBW,KAAA,EAlBX,SAkBW;EAAwC;;;EAIvC,SAAA,CAAA,EAAA,MAAA;EAAwC;;;EAejD,MAAA,CAAA,EAAA;IAWF,eAAA,CAAA,EAAA,MAAA;EAAS,CAAA;;;;UAlCT;;;;oBAIU,WAAW,eAAe,cAAc;;;;qBAIvC,WAAW,eAAe,cAAc;;;;;SAKpD;;;;;;;;;;YAUG;;;;;;;;;;WAWF"}
@@ -0,0 +1,68 @@
1
+ import { CSSProperties, KeyboardEvent, MouseEvent, ReactNode, Ref } from "react";
2
+
3
+ //#region src/components/ds-tag/ds-tag.types.d.ts
4
+ declare const tagSizes: readonly ["medium", "small"];
5
+ type TagSize = (typeof tagSizes)[number];
6
+ declare const tagVariants: readonly ["default", "include", "exclude"];
7
+ type TagVariant = (typeof tagVariants)[number];
8
+ interface DsTagProps {
9
+ /**
10
+ * Ref to the tag element
11
+ */
12
+ ref?: Ref<HTMLElement>;
13
+ /**
14
+ * The label text to display in the tag
15
+ */
16
+ label: ReactNode;
17
+ /**
18
+ * Additional CSS class names
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Locale object (you can pass custom strings for localization)
23
+ */
24
+ locale?: {
25
+ deleteAriaLabel?: string;
26
+ };
27
+ /**
28
+ * Additional styles to apply to the component
29
+ */
30
+ style?: CSSProperties;
31
+ /**
32
+ * Optional click handler, if not present Tag will not be in "clickable" state
33
+ */
34
+ onClick?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
35
+ /**
36
+ * Callback function when the delete icon is clicked
37
+ */
38
+ onDelete?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
39
+ /**
40
+ * Size of the tag
41
+ * @default 'medium'
42
+ */
43
+ size?: TagSize;
44
+ /**
45
+ * Whether the tag is in a selected/pressed state
46
+ * @default false
47
+ */
48
+ selected?: boolean;
49
+ /**
50
+ * Variant of the tag
51
+ * @default 'default'
52
+ */
53
+ variant?: TagVariant;
54
+ /**
55
+ * Whether the tag is disabled
56
+ * @default false
57
+ */
58
+ disabled?: boolean;
59
+ slots?: {
60
+ /**
61
+ * Icon to display at the start of the input
62
+ */
63
+ icon?: ReactNode;
64
+ };
65
+ }
66
+ //#endregion
67
+ export { DsTagProps, TagSize, TagVariant };
68
+ //# sourceMappingURL=ds-tag.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-tag.types.d.ts","names":[],"sources":["../../../src/components/ds-tag/ds-tag.types.tsx"],"sourcesContent":[],"mappings":";;;cAEa;KACD,OAAA,WAAkB;AADjB,cAGA,WAHuC,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,CAAA;AACxC,KAGA,UAAA,GAHO,CAAA,OAGc,WAHK,CAAA,CAAA,MAAA,CAAA;AAEzB,UAGI,UAAA,CAHoD;EACzD;AAEZ;;EAIO,GAAA,CAAA,EAAA,GAAA,CAAI,WAAJ,CAAA;EAIC;;;EAkBW,KAAA,EAlBX,SAkBW;EAAwC;;;EAIvC,SAAA,CAAA,EAAA,MAAA;EAAwC;;;EAejD,MAAA,CAAA,EAAA;IAWF,eAAA,CAAA,EAAA,MAAA;EAAS,CAAA;;;;UAlCT;;;;oBAIU,WAAW,eAAe,cAAc;;;;qBAIvC,WAAW,eAAe,cAAc;;;;;SAKpD;;;;;;;;;;YAUG;;;;;;;;;;WAWF"}
@@ -0,0 +1 @@
1
+ const require_ds_tag = require('./ds-tag.cjs');
@@ -0,0 +1,2 @@
1
+ import { DsTagProps, TagSize, TagVariant } from "./ds-tag.types.js";
2
+ import { DsTag } from "./ds-tag.js";
@@ -0,0 +1 @@
1
+ import ds_tag_default from "./ds-tag.js";