@drivenets/design-system 0.0.5 → 0.1.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 (214) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts +5 -5
  3. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts.map +1 -1
  4. package/dist/components/ds-button/ds-button.d.cts +2 -2
  5. package/dist/components/ds-button/ds-button.d.ts +2 -2
  6. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.module.cjs +18 -18
  7. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.module.js +18 -18
  8. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.module.js.map +1 -1
  9. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  10. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  11. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  12. package/dist/components/ds-date-input/ds-date-input.cjs +352 -0
  13. package/dist/components/ds-date-input/ds-date-input.d.cts +31 -0
  14. package/dist/components/ds-date-input/ds-date-input.d.cts.map +1 -0
  15. package/dist/components/ds-date-input/ds-date-input.d.ts +31 -0
  16. package/dist/components/ds-date-input/ds-date-input.d.ts.map +1 -0
  17. package/dist/components/ds-date-input/ds-date-input.js +351 -0
  18. package/dist/components/ds-date-input/ds-date-input.js.map +1 -0
  19. package/dist/components/ds-date-input/ds-date-input.module.cjs +29 -0
  20. package/dist/components/ds-date-input/ds-date-input.module.js +29 -0
  21. package/dist/components/ds-date-input/ds-date-input.module.js.map +1 -0
  22. package/dist/components/ds-date-input/ds-date-input.types.d.cts +92 -0
  23. package/dist/components/ds-date-input/ds-date-input.types.d.cts.map +1 -0
  24. package/dist/components/ds-date-input/ds-date-input.types.d.ts +92 -0
  25. package/dist/components/ds-date-input/ds-date-input.types.d.ts.map +1 -0
  26. package/dist/components/ds-date-input/ds-date-input.utils.cjs +169 -0
  27. package/dist/components/ds-date-input/ds-date-input.utils.js +164 -0
  28. package/dist/components/ds-date-input/ds-date-input.utils.js.map +1 -0
  29. package/dist/components/ds-date-input/index.cjs +1 -0
  30. package/dist/components/ds-date-input/index.d.ts +2 -0
  31. package/dist/components/ds-date-input/index.js +1 -0
  32. package/dist/components/ds-divider/ds-divider.cjs +47 -0
  33. package/dist/components/ds-divider/ds-divider.d.cts +8 -0
  34. package/dist/components/ds-divider/ds-divider.d.cts.map +1 -0
  35. package/dist/components/ds-divider/ds-divider.d.ts +8 -0
  36. package/dist/components/ds-divider/ds-divider.d.ts.map +1 -0
  37. package/dist/components/ds-divider/ds-divider.js +46 -0
  38. package/dist/components/ds-divider/ds-divider.js.map +1 -0
  39. package/dist/components/ds-divider/ds-divider.module.cjs +10 -0
  40. package/dist/components/ds-divider/ds-divider.module.js +10 -0
  41. package/dist/components/ds-divider/ds-divider.module.js.map +1 -0
  42. package/dist/components/ds-divider/ds-divider.types.d.cts +25 -0
  43. package/dist/components/ds-divider/ds-divider.types.d.cts.map +1 -0
  44. package/dist/components/ds-divider/ds-divider.types.d.ts +25 -0
  45. package/dist/components/ds-divider/ds-divider.types.d.ts.map +1 -0
  46. package/dist/components/ds-divider/index.cjs +1 -0
  47. package/dist/components/ds-divider/index.d.ts +2 -0
  48. package/dist/components/ds-divider/index.js +1 -0
  49. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  50. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  51. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +80 -24
  52. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.d.cts +1 -0
  53. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.d.cts.map +1 -1
  54. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.d.ts +1 -0
  55. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.d.ts.map +1 -1
  56. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +80 -24
  57. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  58. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.cjs +20 -18
  59. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js +20 -18
  60. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js.map +1 -1
  61. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts +5 -1
  62. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.cts.map +1 -1
  63. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts +5 -1
  64. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts.map +1 -1
  65. package/dist/components/ds-dropdown-menu/index.d.ts +1 -1
  66. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  67. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  68. package/dist/components/ds-form-control/ds-form-control.cjs +3 -0
  69. package/dist/components/ds-form-control/ds-form-control.d.cts +9 -7
  70. package/dist/components/ds-form-control/ds-form-control.d.cts.map +1 -1
  71. package/dist/components/ds-form-control/ds-form-control.d.ts +10 -7
  72. package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
  73. package/dist/components/ds-form-control/ds-form-control.js +3 -0
  74. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  75. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  76. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  77. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  78. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  79. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  80. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  81. package/dist/components/ds-radio-group/ds-radio-group.types.d.cts +1 -1
  82. package/dist/components/ds-radio-group/ds-radio-group.types.d.cts.map +1 -1
  83. package/dist/components/ds-radio-group/ds-radio-group.types.d.ts +1 -1
  84. package/dist/components/ds-radio-group/ds-radio-group.types.d.ts.map +1 -1
  85. package/dist/components/ds-select/ds-select.d.cts +2 -2
  86. package/dist/components/ds-select/ds-select.d.ts +2 -2
  87. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  88. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  89. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  90. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  91. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  92. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  93. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  94. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  95. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  96. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.cts +1 -0
  97. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.cts.map +1 -1
  98. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.ts +1 -1
  99. package/dist/components/ds-table/ds-table.d.cts +2 -2
  100. package/dist/components/ds-table/ds-table.d.ts +2 -2
  101. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.cjs +55 -0
  102. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.d.cts +49 -0
  103. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.d.cts.map +1 -0
  104. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.d.ts +50 -0
  105. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.d.ts.map +1 -0
  106. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.js +55 -0
  107. package/dist/components/ds-table/filters/adapters/create-checkbox-filter-adapter.js.map +1 -0
  108. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.cjs +87 -0
  109. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.d.cts +44 -0
  110. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.d.cts.map +1 -0
  111. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.d.ts +44 -0
  112. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.d.ts.map +1 -0
  113. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js +87 -0
  114. package/dist/components/ds-table/filters/adapters/create-dual-range-filter-adapter.js.map +1 -0
  115. package/dist/components/ds-table/filters/adapters/create-filter-adapter.cjs +83 -0
  116. package/dist/components/ds-table/filters/adapters/create-filter-adapter.d.cts +111 -0
  117. package/dist/components/ds-table/filters/adapters/create-filter-adapter.d.cts.map +1 -0
  118. package/dist/components/ds-table/filters/adapters/create-filter-adapter.d.ts +111 -0
  119. package/dist/components/ds-table/filters/adapters/create-filter-adapter.d.ts.map +1 -0
  120. package/dist/components/ds-table/filters/adapters/create-filter-adapter.js +83 -0
  121. package/dist/components/ds-table/filters/adapters/create-filter-adapter.js.map +1 -0
  122. package/dist/components/ds-table/filters/adapters/index.cjs +3 -0
  123. package/dist/components/ds-table/filters/adapters/index.d.ts +3 -0
  124. package/dist/components/ds-table/filters/adapters/index.js +3 -0
  125. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.cjs +22 -0
  126. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.d.cts +17 -0
  127. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.d.cts.map +1 -0
  128. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.d.ts +18 -0
  129. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.d.ts.map +1 -0
  130. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.js +22 -0
  131. package/dist/components/ds-table/filters/components/checkbox-filter/checkbox-filter.js.map +1 -0
  132. package/dist/components/ds-table/filters/components/checkbox-filter/index.cjs +1 -0
  133. package/dist/components/ds-table/filters/components/checkbox-filter/index.d.ts +1 -0
  134. package/dist/components/ds-table/filters/components/checkbox-filter/index.js +1 -0
  135. package/dist/components/ds-table/filters/components/range-filter/index.cjs +1 -0
  136. package/dist/components/ds-table/filters/components/range-filter/index.d.ts +1 -0
  137. package/dist/components/ds-table/filters/components/range-filter/index.js +1 -0
  138. package/dist/components/ds-table/filters/components/range-filter/range-filter.cjs +177 -0
  139. package/dist/components/ds-table/filters/components/range-filter/range-filter.d.cts +14 -0
  140. package/dist/components/ds-table/filters/components/range-filter/range-filter.d.cts.map +1 -0
  141. package/dist/components/ds-table/filters/components/range-filter/range-filter.d.ts +16 -0
  142. package/dist/components/ds-table/filters/components/range-filter/range-filter.d.ts.map +1 -0
  143. package/dist/components/ds-table/filters/components/range-filter/range-filter.js +177 -0
  144. package/dist/components/ds-table/filters/components/range-filter/range-filter.js.map +1 -0
  145. package/dist/components/ds-table/filters/components/range-filter/range-filter.module.cjs +11 -0
  146. package/dist/components/ds-table/filters/components/range-filter/range-filter.module.js +11 -0
  147. package/dist/components/ds-table/filters/components/range-filter/range-filter.module.js.map +1 -0
  148. package/dist/components/ds-table/filters/hooks/index.cjs +1 -0
  149. package/dist/components/ds-table/filters/hooks/index.d.ts +1 -0
  150. package/dist/components/ds-table/filters/hooks/index.js +1 -0
  151. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +211 -0
  152. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts +65 -0
  153. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts.map +1 -0
  154. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts +66 -0
  155. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts.map +1 -0
  156. package/dist/components/ds-table/filters/hooks/use-table-filters.js +211 -0
  157. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -0
  158. package/dist/components/ds-table/filters/index.cjs +6 -0
  159. package/dist/components/ds-table/filters/index.d.ts +11 -0
  160. package/dist/components/ds-table/filters/index.js +6 -0
  161. package/dist/components/ds-table/filters/types/filter-adapter.types.d.cts +101 -0
  162. package/dist/components/ds-table/filters/types/filter-adapter.types.d.cts.map +1 -0
  163. package/dist/components/ds-table/filters/types/filter-adapter.types.d.ts +102 -0
  164. package/dist/components/ds-table/filters/types/filter-adapter.types.d.ts.map +1 -0
  165. package/dist/components/ds-table/index.cjs +5 -0
  166. package/dist/components/ds-table/index.d.ts +8 -0
  167. package/dist/components/ds-table/index.js +5 -0
  168. package/dist/components/ds-toggle/ds-toggle.cjs +192 -0
  169. package/dist/components/ds-toggle/ds-toggle.d.cts +24 -0
  170. package/dist/components/ds-toggle/ds-toggle.d.cts.map +1 -0
  171. package/dist/components/ds-toggle/ds-toggle.d.ts +24 -0
  172. package/dist/components/ds-toggle/ds-toggle.d.ts.map +1 -0
  173. package/dist/components/ds-toggle/ds-toggle.js +191 -0
  174. package/dist/components/ds-toggle/ds-toggle.js.map +1 -0
  175. package/dist/components/ds-toggle/ds-toggle.module.cjs +13 -0
  176. package/dist/components/ds-toggle/ds-toggle.module.js +13 -0
  177. package/dist/components/ds-toggle/ds-toggle.module.js.map +1 -0
  178. package/dist/components/ds-toggle/ds-toggle.types.d.cts +67 -0
  179. package/dist/components/ds-toggle/ds-toggle.types.d.cts.map +1 -0
  180. package/dist/components/ds-toggle/ds-toggle.types.d.ts +67 -0
  181. package/dist/components/ds-toggle/ds-toggle.types.d.ts.map +1 -0
  182. package/dist/components/ds-toggle/index.cjs +1 -0
  183. package/dist/components/ds-toggle/index.d.ts +2 -0
  184. package/dist/components/ds-toggle/index.js +1 -0
  185. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  186. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  187. package/dist/index.cjs +17 -0
  188. package/dist/index.d.cts +15 -2
  189. package/dist/index.d.ts +18 -2
  190. package/dist/index.js +11 -1
  191. package/dist/index.min.css +1 -1
  192. package/package.json +2 -1
  193. package/src/components/ds-button/versions/ds-button-new/ds-button-new.module.scss +0 -1
  194. package/src/components/ds-date-input/ds-date-input.module.scss +246 -0
  195. package/src/components/ds-date-input/ds-date-input.tsx +309 -0
  196. package/src/components/ds-date-input/ds-date-input.types.tsx +104 -0
  197. package/src/components/ds-date-input/ds-date-input.utils.ts +242 -0
  198. package/src/components/ds-date-input/index.ts +2 -0
  199. package/src/components/ds-divider/ds-divider.module.scss +21 -0
  200. package/src/components/ds-divider/ds-divider.tsx +22 -0
  201. package/src/components/ds-divider/ds-divider.types.ts +21 -0
  202. package/src/components/ds-divider/index.ts +2 -0
  203. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +11 -3
  204. package/src/components/ds-dropdown-menu/ds-dropdown-menu.tsx +17 -1
  205. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.tsx +5 -0
  206. package/src/components/ds-form-control/ds-form-control.tsx +2 -0
  207. package/src/components/ds-radio-group/ds-radio-group.types.tsx +1 -1
  208. package/src/components/ds-table/filters/hooks/index.ts +1 -0
  209. package/src/components/ds-table/index.ts +2 -0
  210. package/src/components/ds-toggle/ds-toggle.module.scss +154 -0
  211. package/src/components/ds-toggle/ds-toggle.tsx +78 -0
  212. package/src/components/ds-toggle/ds-toggle.types.tsx +76 -0
  213. package/src/components/ds-toggle/index.tsx +2 -0
  214. package/src/index.ts +3 -0
@@ -0,0 +1,16 @@
1
+ import "react/jsx-runtime";
2
+
3
+ //#region src/components/ds-table/filters/components/range-filter/range-filter.d.ts
4
+ interface RangeFilterValue {
5
+ from?: number;
6
+ to?: number;
7
+ }
8
+ interface RangeFilterProps {
9
+ label: string;
10
+ value: RangeFilterValue;
11
+ onChange: (value: RangeFilterValue) => void;
12
+ onClear?: () => void;
13
+ }
14
+ //#endregion
15
+ export { RangeFilterProps, RangeFilterValue };
16
+ //# sourceMappingURL=range-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-filter.d.ts","names":[],"sources":["../../../../../../src/components/ds-table/filters/components/range-filter/range-filter.tsx"],"sourcesContent":[],"mappings":";;;UAMiB,gBAAA;;;AAAjB;AAKiB,UAAA,gBAAA,CAAgB;;SAEzB;oBACW"}
@@ -0,0 +1,177 @@
1
+ import ds_typography_default from "../../../../ds-typography/ds-typography.js";
2
+ import "../../../../ds-typography/index.js";
3
+ import ds_text_input_default from "../../../../ds-text-input/ds-text-input.js";
4
+ import "../../../../ds-text-input/index.js";
5
+ import ds_button_default from "../../../../ds-button/ds-button.js";
6
+ import "../../../../ds-button/index.js";
7
+ import range_filter_module_default from "./range-filter.module.js";
8
+ import { c } from "react/compiler-runtime";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { useState } from "react";
11
+
12
+ //#region src/components/ds-table/filters/components/range-filter/range-filter.tsx
13
+ const RangeFilter = (t0) => {
14
+ const $ = c(35);
15
+ const { label, value, onChange, onClear } = t0;
16
+ let t1;
17
+ if ($[0] !== value.from) {
18
+ t1 = value.from?.toString() || "";
19
+ $[0] = value.from;
20
+ $[1] = t1;
21
+ } else t1 = $[1];
22
+ const [localFrom, setLocalFrom] = useState(t1);
23
+ let t2;
24
+ if ($[2] !== value.to) {
25
+ t2 = value.to?.toString() || "";
26
+ $[2] = value.to;
27
+ $[3] = t2;
28
+ } else t2 = $[3];
29
+ const [localTo, setLocalTo] = useState(t2);
30
+ let t3;
31
+ if ($[4] !== onChange || $[5] !== value.to) {
32
+ t3 = (val) => {
33
+ setLocalFrom(val);
34
+ onChange({
35
+ from: val ? parseInt(val, 10) : void 0,
36
+ to: value.to
37
+ });
38
+ };
39
+ $[4] = onChange;
40
+ $[5] = value.to;
41
+ $[6] = t3;
42
+ } else t3 = $[6];
43
+ const handleFromChange = t3;
44
+ let t4;
45
+ if ($[7] !== onChange || $[8] !== value.from) {
46
+ t4 = (val_0) => {
47
+ setLocalTo(val_0);
48
+ const numVal_0 = val_0 ? parseInt(val_0, 10) : void 0;
49
+ onChange({
50
+ from: value.from,
51
+ to: numVal_0
52
+ });
53
+ };
54
+ $[7] = onChange;
55
+ $[8] = value.from;
56
+ $[9] = t4;
57
+ } else t4 = $[9];
58
+ const handleToChange = t4;
59
+ let t5;
60
+ if ($[10] !== onClear) {
61
+ t5 = () => {
62
+ setLocalFrom("");
63
+ setLocalTo("");
64
+ if (onClear) onClear();
65
+ };
66
+ $[10] = onClear;
67
+ $[11] = t5;
68
+ } else t5 = $[11];
69
+ const handleClear = t5;
70
+ const hasValue = value.from !== void 0 || value.to !== void 0;
71
+ let t6;
72
+ if ($[12] !== label) {
73
+ t6 = /* @__PURE__ */ jsx(ds_typography_default, {
74
+ variant: "body-md-md",
75
+ children: label
76
+ });
77
+ $[12] = label;
78
+ $[13] = t6;
79
+ } else t6 = $[13];
80
+ let t7;
81
+ if ($[14] !== handleClear || $[15] !== hasValue || $[16] !== onClear) {
82
+ t7 = hasValue && onClear && /* @__PURE__ */ jsx(ds_button_default, {
83
+ design: "v1.2",
84
+ buttonType: "tertiary",
85
+ size: "small",
86
+ onClick: handleClear,
87
+ children: "Clear"
88
+ });
89
+ $[14] = handleClear;
90
+ $[15] = hasValue;
91
+ $[16] = onClear;
92
+ $[17] = t7;
93
+ } else t7 = $[17];
94
+ let t8;
95
+ if ($[18] !== t6 || $[19] !== t7) {
96
+ t8 = /* @__PURE__ */ jsxs("div", {
97
+ className: range_filter_module_default.header,
98
+ children: [t6, t7]
99
+ });
100
+ $[18] = t6;
101
+ $[19] = t7;
102
+ $[20] = t8;
103
+ } else t8 = $[20];
104
+ let t9;
105
+ if ($[21] === Symbol.for("react.memo_cache_sentinel")) {
106
+ t9 = /* @__PURE__ */ jsx(ds_typography_default, {
107
+ variant: "body-sm-reg",
108
+ children: "From"
109
+ });
110
+ $[21] = t9;
111
+ } else t9 = $[21];
112
+ let t10;
113
+ if ($[22] !== handleFromChange || $[23] !== localFrom) {
114
+ t10 = /* @__PURE__ */ jsxs("div", {
115
+ className: range_filter_module_default.inputGroup,
116
+ children: [t9, /* @__PURE__ */ jsx(ds_text_input_default, {
117
+ type: "number",
118
+ placeholder: "",
119
+ value: localFrom,
120
+ onValueChange: handleFromChange,
121
+ size: "default"
122
+ })]
123
+ });
124
+ $[22] = handleFromChange;
125
+ $[23] = localFrom;
126
+ $[24] = t10;
127
+ } else t10 = $[24];
128
+ let t11;
129
+ if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
130
+ t11 = /* @__PURE__ */ jsx(ds_typography_default, {
131
+ variant: "body-sm-reg",
132
+ children: "To"
133
+ });
134
+ $[25] = t11;
135
+ } else t11 = $[25];
136
+ let t12;
137
+ if ($[26] !== handleToChange || $[27] !== localTo) {
138
+ t12 = /* @__PURE__ */ jsxs("div", {
139
+ className: range_filter_module_default.inputGroup,
140
+ children: [t11, /* @__PURE__ */ jsx(ds_text_input_default, {
141
+ type: "number",
142
+ placeholder: "",
143
+ value: localTo,
144
+ onValueChange: handleToChange,
145
+ size: "default"
146
+ })]
147
+ });
148
+ $[26] = handleToChange;
149
+ $[27] = localTo;
150
+ $[28] = t12;
151
+ } else t12 = $[28];
152
+ let t13;
153
+ if ($[29] !== t10 || $[30] !== t12) {
154
+ t13 = /* @__PURE__ */ jsxs("div", {
155
+ className: range_filter_module_default.inputs,
156
+ children: [t10, t12]
157
+ });
158
+ $[29] = t10;
159
+ $[30] = t12;
160
+ $[31] = t13;
161
+ } else t13 = $[31];
162
+ let t14;
163
+ if ($[32] !== t13 || $[33] !== t8) {
164
+ t14 = /* @__PURE__ */ jsxs("div", {
165
+ className: range_filter_module_default.container,
166
+ children: [t8, t13]
167
+ });
168
+ $[32] = t13;
169
+ $[33] = t8;
170
+ $[34] = t14;
171
+ } else t14 = $[34];
172
+ return t14;
173
+ };
174
+
175
+ //#endregion
176
+ export { RangeFilter };
177
+ //# sourceMappingURL=range-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-filter.js","names":["useState","DsTypography","DsButton","DsTextInput","styles","RangeFilterValue","from","to","RangeFilterProps","label","value","onChange","onClear","RangeFilter","t0","$","_c","t1","toString","localFrom","setLocalFrom","t2","localTo","setLocalTo","t3","val","numVal","parseInt","undefined","handleFromChange","t4","val_0","numVal_0","handleToChange","t5","handleClear","hasValue","t6","t7","t8","header","t9","Symbol","for","t10","inputGroup","t11","t12","t13","inputs","t14","container"],"sources":["../../../../../../src/components/ds-table/filters/components/range-filter/range-filter.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { DsTypography } from '../../../../ds-typography';\nimport { DsButton } from '../../../../ds-button';\nimport { DsTextInput } from '../../../../ds-text-input';\nimport styles from './range-filter.module.scss';\n\nexport interface RangeFilterValue {\n\tfrom?: number;\n\tto?: number;\n}\n\nexport interface RangeFilterProps {\n\tlabel: string;\n\tvalue: RangeFilterValue;\n\tonChange: (value: RangeFilterValue) => void;\n\tonClear?: () => void;\n}\n\nexport const RangeFilter = ({ label, value, onChange, onClear }: RangeFilterProps) => {\n\tconst [localFrom, setLocalFrom] = useState(value.from?.toString() || '');\n\tconst [localTo, setLocalTo] = useState(value.to?.toString() || '');\n\n\tconst handleFromChange = (val: string) => {\n\t\tsetLocalFrom(val);\n\t\tconst numVal = val ? parseInt(val, 10) : undefined;\n\t\tonChange({ from: numVal, to: value.to });\n\t};\n\n\tconst handleToChange = (val: string) => {\n\t\tsetLocalTo(val);\n\t\tconst numVal = val ? parseInt(val, 10) : undefined;\n\t\tonChange({ from: value.from, to: numVal });\n\t};\n\n\tconst handleClear = () => {\n\t\tsetLocalFrom('');\n\t\tsetLocalTo('');\n\t\tif (onClear) {\n\t\t\tonClear();\n\t\t}\n\t};\n\n\tconst hasValue = value.from !== undefined || value.to !== undefined;\n\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<div className={styles.header}>\n\t\t\t\t<DsTypography variant=\"body-md-md\">{label}</DsTypography>\n\t\t\t\t{hasValue && onClear && (\n\t\t\t\t\t<DsButton design=\"v1.2\" buttonType=\"tertiary\" size=\"small\" onClick={handleClear}>\n\t\t\t\t\t\tClear\n\t\t\t\t\t</DsButton>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className={styles.inputs}>\n\t\t\t\t<div className={styles.inputGroup}>\n\t\t\t\t\t<DsTypography variant=\"body-sm-reg\">From</DsTypography>\n\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\t\tvalue={localFrom}\n\t\t\t\t\t\tonValueChange={handleFromChange}\n\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className={styles.inputGroup}>\n\t\t\t\t\t<DsTypography variant=\"body-sm-reg\">To</DsTypography>\n\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tplaceholder=\"\"\n\t\t\t\t\t\tvalue={localTo}\n\t\t\t\t\t\tonValueChange={handleToChange}\n\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+
2
+ //#region src/components/ds-table/filters/components/range-filter/range-filter.module.scss
3
+ var range_filter_module_default = {
4
+ "container": "_container_13tjl_1",
5
+ "header": "_header_13tjl_1",
6
+ "inputs": "_inputs_13tjl_1",
7
+ "inputGroup": "_inputGroup_13tjl_1"
8
+ };
9
+
10
+ //#endregion
11
+ exports.default = range_filter_module_default;
@@ -0,0 +1,11 @@
1
+ //#region src/components/ds-table/filters/components/range-filter/range-filter.module.scss
2
+ var range_filter_module_default = {
3
+ "container": "_container_13tjl_1",
4
+ "header": "_header_13tjl_1",
5
+ "inputs": "_inputs_13tjl_1",
6
+ "inputGroup": "_inputGroup_13tjl_1"
7
+ };
8
+
9
+ //#endregion
10
+ export { range_filter_module_default as default };
11
+ //# sourceMappingURL=range-filter.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-filter.module.js","names":[],"sources":["../../../../../../src/components/ds-table/filters/components/range-filter/range-filter.module.scss"],"sourcesContent":[".container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 10px;\n\tpadding-bottom: 16px;\n\tborder-bottom: 1px solid var(--color-border);\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n}\n\n.inputs {\n\tdisplay: flex;\n\tgap: 16px;\n}\n\n.inputGroup {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\tgap: 2px;\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ const require_use_table_filters = require('./use-table-filters.cjs');
@@ -0,0 +1 @@
1
+ import { UseTableFiltersResult, useTableFilters } from "./use-table-filters.js";
@@ -0,0 +1 @@
1
+ import { useTableFilters } from "./use-table-filters.js";
@@ -0,0 +1,211 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ let react_compiler_runtime = require("react/compiler-runtime");
3
+ let react = require("react");
4
+
5
+ //#region src/components/ds-table/filters/hooks/use-table-filters.ts
6
+ /**
7
+ * Hook to orchestrate table filtering with adapters
8
+ * Manages filter state, generates chips, handles column definitions
9
+ *
10
+ * @param filterAdapters Array of filter adapters
11
+ * @param baseColumns Base column definitions (optional)
12
+ * @returns Complete filter management system
13
+ */
14
+ function useTableFilters(filterAdapters, baseColumns) {
15
+ const $ = (0, react_compiler_runtime.c)(37);
16
+ const _filterAdapters = filterAdapters;
17
+ let initialState;
18
+ if ($[0] !== _filterAdapters) {
19
+ initialState = {};
20
+ _filterAdapters.forEach((adapter) => {
21
+ initialState[adapter.id] = adapter.initialValue;
22
+ });
23
+ $[0] = _filterAdapters;
24
+ $[1] = initialState;
25
+ } else initialState = $[1];
26
+ const [filterState, setFilterState] = (0, react.useState)(initialState);
27
+ let t0;
28
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
29
+ t0 = [];
30
+ $[2] = t0;
31
+ } else t0 = $[2];
32
+ const [columnFilters, setColumnFilters] = (0, react.useState)(t0);
33
+ let t1;
34
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
35
+ t1 = [];
36
+ $[3] = t1;
37
+ } else t1 = $[3];
38
+ const [filterChips, setFilterChips] = (0, react.useState)(t1);
39
+ let t2;
40
+ if ($[4] !== _filterAdapters || $[5] !== filterState) {
41
+ let t3$1;
42
+ if ($[7] !== filterState) {
43
+ t3$1 = (adapter_0) => ({
44
+ id: adapter_0.id,
45
+ label: adapter_0.label,
46
+ count: adapter_0.getActiveFiltersCount(filterState[adapter_0.id])
47
+ });
48
+ $[7] = filterState;
49
+ $[8] = t3$1;
50
+ } else t3$1 = $[8];
51
+ t2 = _filterAdapters.map(t3$1);
52
+ $[4] = _filterAdapters;
53
+ $[5] = filterState;
54
+ $[6] = t2;
55
+ } else t2 = $[6];
56
+ const filterNavItems = t2;
57
+ let t3;
58
+ if ($[9] !== _filterAdapters || $[10] !== baseColumns) {
59
+ t3 = !baseColumns ? [] : baseColumns.map((col) => {
60
+ const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
61
+ if (adapter_1) {
62
+ const cellRenderer = adapter_1.cellRenderer;
63
+ return {
64
+ ...col,
65
+ filterFn: adapter_1.columnFilterFn,
66
+ ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
67
+ };
68
+ }
69
+ return col;
70
+ });
71
+ $[9] = _filterAdapters;
72
+ $[10] = baseColumns;
73
+ $[11] = t3;
74
+ } else t3 = $[11];
75
+ const enhancedColumns = t3;
76
+ let t4;
77
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
78
+ t4 = (filterId, value) => {
79
+ setFilterState((prev) => ({
80
+ ...prev,
81
+ [filterId]: value
82
+ }));
83
+ };
84
+ $[12] = t4;
85
+ } else t4 = $[12];
86
+ const updateFilter = t4;
87
+ let t5;
88
+ if ($[13] !== _filterAdapters || $[14] !== filterState) {
89
+ t5 = () => {
90
+ const filters = [];
91
+ const chips = [];
92
+ _filterAdapters.forEach((adapter_2) => {
93
+ const value_0 = filterState[adapter_2.id];
94
+ if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
95
+ id: adapter_2.id,
96
+ value: value_0
97
+ });
98
+ const adapterChips = adapter_2.toChips(value_0);
99
+ chips.push(...adapterChips);
100
+ });
101
+ setColumnFilters(filters);
102
+ setFilterChips(chips);
103
+ };
104
+ $[13] = _filterAdapters;
105
+ $[14] = filterState;
106
+ $[15] = t5;
107
+ } else t5 = $[15];
108
+ const applyFilters = t5;
109
+ let t6;
110
+ if ($[16] !== _filterAdapters) {
111
+ t6 = () => {
112
+ const resetState = {};
113
+ _filterAdapters.forEach((adapter_3) => {
114
+ resetState[adapter_3.id] = adapter_3.reset();
115
+ });
116
+ setFilterState(resetState);
117
+ setColumnFilters([]);
118
+ setFilterChips([]);
119
+ };
120
+ $[16] = _filterAdapters;
121
+ $[17] = t6;
122
+ } else t6 = $[17];
123
+ const clearAll = t6;
124
+ let t7;
125
+ if ($[18] !== _filterAdapters || $[19] !== clearAll || $[20] !== filterState) {
126
+ t7 = (chip) => {
127
+ const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
128
+ if (!filterKey) return;
129
+ const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
130
+ if (!adapter_4) return;
131
+ const currentValue = filterState[filterKey];
132
+ const newValue = adapter_4.fromChip(chip, currentValue);
133
+ const chips_0 = [];
134
+ _filterAdapters.forEach((adapter_5) => {
135
+ const value_1 = adapter_5.id === filterKey ? newValue : filterState[adapter_5.id];
136
+ const adapterChips_0 = adapter_5.toChips(value_1);
137
+ chips_0.push(...adapterChips_0);
138
+ });
139
+ if (chips_0.length === 0) {
140
+ clearAll();
141
+ return;
142
+ }
143
+ setFilterState((prev_0) => ({
144
+ ...prev_0,
145
+ [filterKey]: newValue
146
+ }));
147
+ if (adapter_4.getActiveFiltersCount(newValue) === 0) setColumnFilters((prev_1) => prev_1.filter((cf) => cf.id !== filterKey));
148
+ else setColumnFilters((prev_2) => prev_2.map((cf_0) => cf_0.id === filterKey ? {
149
+ id: filterKey,
150
+ value: newValue
151
+ } : cf_0));
152
+ setFilterChips(chips_0);
153
+ };
154
+ $[18] = _filterAdapters;
155
+ $[19] = clearAll;
156
+ $[20] = filterState;
157
+ $[21] = t7;
158
+ } else t7 = $[21];
159
+ const deleteChip = t7;
160
+ let t8;
161
+ if ($[22] !== _filterAdapters || $[23] !== filterState) {
162
+ t8 = (selectedFilter) => {
163
+ const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
164
+ if (!adapter_6) return null;
165
+ const value_2 = filterState[adapter_6.id];
166
+ const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
167
+ return adapter_6.renderFilter(value_2, onChange);
168
+ };
169
+ $[22] = _filterAdapters;
170
+ $[23] = filterState;
171
+ $[24] = t8;
172
+ } else t8 = $[24];
173
+ const renderFilterContent = t8;
174
+ let t9;
175
+ if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip) {
176
+ t9 = {
177
+ updateFilter,
178
+ applyFilters,
179
+ clearAll,
180
+ deleteChip
181
+ };
182
+ $[25] = applyFilters;
183
+ $[26] = clearAll;
184
+ $[27] = deleteChip;
185
+ $[28] = t9;
186
+ } else t9 = $[28];
187
+ let t10;
188
+ if ($[29] !== columnFilters || $[30] !== enhancedColumns || $[31] !== filterChips || $[32] !== filterNavItems || $[33] !== filterState || $[34] !== renderFilterContent || $[35] !== t9) {
189
+ t10 = {
190
+ filterState,
191
+ columnFilters,
192
+ filterChips,
193
+ filterNavItems,
194
+ enhancedColumns,
195
+ handlers: t9,
196
+ renderFilterContent
197
+ };
198
+ $[29] = columnFilters;
199
+ $[30] = enhancedColumns;
200
+ $[31] = filterChips;
201
+ $[32] = filterNavItems;
202
+ $[33] = filterState;
203
+ $[34] = renderFilterContent;
204
+ $[35] = t9;
205
+ $[36] = t10;
206
+ } else t10 = $[36];
207
+ return t10;
208
+ }
209
+
210
+ //#endregion
211
+ exports.useTableFilters = useTableFilters;
@@ -0,0 +1,65 @@
1
+ import { ChipItem } from "../../../ds-chip-group/ds-chip-group.types.cjs";
2
+ import { AnyAdapter, ColumnFilterState, FilterAdapter, FilterNavItem, FilterState } from "../types/filter-adapter.types.cjs";
3
+ import { ReactNode } from "react";
4
+ import { ColumnDef } from "@tanstack/react-table";
5
+
6
+ //#region src/components/ds-table/filters/hooks/use-table-filters.d.ts
7
+ interface UseTableFiltersResult<TData, TValue> {
8
+ /**
9
+ * Current filter state
10
+ */
11
+ filterState: FilterState<TValue>;
12
+ /**
13
+ * Column filters for TanStack Table
14
+ */
15
+ columnFilters: ColumnFilterState<TValue>[];
16
+ /**
17
+ * Filter chips for display
18
+ */
19
+ filterChips: ChipItem[];
20
+ /**
21
+ * Filter navigation items with counts
22
+ */
23
+ filterNavItems: FilterNavItem[];
24
+ /**
25
+ * Enhanced column definitions with filter functions
26
+ */
27
+ enhancedColumns: ColumnDef<TData>[];
28
+ /**
29
+ * Handlers
30
+ */
31
+ handlers: {
32
+ /**
33
+ * Update a specific filter's value
34
+ */
35
+ updateFilter: (filterId: string, value: TValue) => void;
36
+ /**
37
+ * Apply all filters (converts to TanStack format)
38
+ */
39
+ applyFilters: () => void;
40
+ /**
41
+ * Clear all filters
42
+ */
43
+ clearAll: () => void;
44
+ /**
45
+ * Delete a specific chip
46
+ */
47
+ deleteChip: (chip: ChipItem) => void;
48
+ };
49
+ /**
50
+ * Render function for filter modal content
51
+ */
52
+ renderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;
53
+ }
54
+ /**
55
+ * Hook to orchestrate table filtering with adapters
56
+ * Manages filter state, generates chips, handles column definitions
57
+ *
58
+ * @param filterAdapters Array of filter adapters
59
+ * @param baseColumns Base column definitions (optional)
60
+ * @returns Complete filter management system
61
+ */
62
+ declare function useTableFilters<TData, TValue, TCellValue>(filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[], baseColumns?: ColumnDef<TData>[]): UseTableFiltersResult<TData, TValue>;
63
+ //#endregion
64
+ export { UseTableFiltersResult, useTableFilters };
65
+ //# sourceMappingURL=use-table-filters.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-table-filters.d.cts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;UAWiB;;AAAjB;;EAIc,WAAA,EAAA,WAAA,CAAY,MAAZ,CAAA;EAKoB;;;EAUjB,aAAA,EAVD,iBAUC,CAViB,MAUjB,CAAA,EAAA;EAKW;;;EAwBP,WAAA,EAlCP,QAkCO,EAAA;EAMkB;;;EAWvB,cAAA,EA9CC,aA8Cc,EAAA;EACA;;;EAAd,eAAA,EA1CC,SA0CD,CA1CW,KA0CX,CAAA,EAAA;EAA6C;;;EAErC,QAAA,EAAA;IAAO;;;4CAnCU;;;;;;;;;;;;uBAerB;;;;;wCAMkB,kBAAkB;;;;;;;;;;iBAWzC,2DACC,cAAc,OAAO,QAAQ,gBAAgB,4BAC/C,UAAU,WACtB,sBAAsB,OAAO"}
@@ -0,0 +1,66 @@
1
+ import { ChipItem } from "../../../ds-chip-group/ds-chip-group.types.js";
2
+ import "../../../ds-chip-group/index.js";
3
+ import { AnyAdapter, ColumnFilterState, FilterAdapter, FilterNavItem, FilterState } from "../types/filter-adapter.types.js";
4
+ import { ReactNode } from "react";
5
+ import { ColumnDef } from "@tanstack/react-table";
6
+
7
+ //#region src/components/ds-table/filters/hooks/use-table-filters.d.ts
8
+ interface UseTableFiltersResult<TData, TValue> {
9
+ /**
10
+ * Current filter state
11
+ */
12
+ filterState: FilterState<TValue>;
13
+ /**
14
+ * Column filters for TanStack Table
15
+ */
16
+ columnFilters: ColumnFilterState<TValue>[];
17
+ /**
18
+ * Filter chips for display
19
+ */
20
+ filterChips: ChipItem[];
21
+ /**
22
+ * Filter navigation items with counts
23
+ */
24
+ filterNavItems: FilterNavItem[];
25
+ /**
26
+ * Enhanced column definitions with filter functions
27
+ */
28
+ enhancedColumns: ColumnDef<TData>[];
29
+ /**
30
+ * Handlers
31
+ */
32
+ handlers: {
33
+ /**
34
+ * Update a specific filter's value
35
+ */
36
+ updateFilter: (filterId: string, value: TValue) => void;
37
+ /**
38
+ * Apply all filters (converts to TanStack format)
39
+ */
40
+ applyFilters: () => void;
41
+ /**
42
+ * Clear all filters
43
+ */
44
+ clearAll: () => void;
45
+ /**
46
+ * Delete a specific chip
47
+ */
48
+ deleteChip: (chip: ChipItem) => void;
49
+ };
50
+ /**
51
+ * Render function for filter modal content
52
+ */
53
+ renderFilterContent: (selectedFilter: FilterNavItem) => ReactNode;
54
+ }
55
+ /**
56
+ * Hook to orchestrate table filtering with adapters
57
+ * Manages filter state, generates chips, handles column definitions
58
+ *
59
+ * @param filterAdapters Array of filter adapters
60
+ * @param baseColumns Base column definitions (optional)
61
+ * @returns Complete filter management system
62
+ */
63
+ declare function useTableFilters<TData, TValue, TCellValue>(filterAdapters: FilterAdapter<TData, TValue, TCellValue>[] | AnyAdapter[], baseColumns?: ColumnDef<TData>[]): UseTableFiltersResult<TData, TValue>;
64
+ //#endregion
65
+ export { UseTableFiltersResult, useTableFilters };
66
+ //# sourceMappingURL=use-table-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-table-filters.d.ts","names":[],"sources":["../../../../../src/components/ds-table/filters/hooks/use-table-filters.ts"],"sourcesContent":[],"mappings":";;;;;;;UAWiB;;;AAAjB;EAI0B,WAAA,EAAZ,WAAY,CAAA,MAAA,CAAA;EAAZ;;;EAUA,aAAA,EALE,iBAKF,CALoB,MAKpB,CAAA,EAAA;EAKG;;;EAcyB,WAAA,EAnB5B,QAmB4B,EAAA;EAerB;;;EAM6C,cAAA,EAnCjD,aAmCiD,EAAA;EAWlD;;;EAC8B,eAAA,EA1C5B,SA0C4B,CA1ClB,KA0CkB,CAAA,EAAA;EAA7B;;;EACF,QAAA,EAAA;IACU;;;IAAD,YAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,KAAA,EAnCkB,MAmClB,EAAA,GAAA,IAAA;;;;;;;;;;;;uBApBH;;;;;wCAMkB,kBAAkB;;;;;;;;;;iBAWzC,2DACC,cAAc,OAAO,QAAQ,gBAAgB,4BAC/C,UAAU,WACtB,sBAAsB,OAAO"}