@drivenets/design-system 0.3.0 → 0.4.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 (149) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +1 -1
  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.d.ts +5 -5
  6. package/dist/components/ds-alert-banner/ds-alert-banner.d.ts.map +1 -1
  7. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  8. package/dist/components/ds-autocomplete/ds-autocomplete.cjs +218 -0
  9. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts +22 -0
  10. package/dist/components/ds-autocomplete/ds-autocomplete.d.cts.map +1 -0
  11. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts +22 -0
  12. package/dist/components/ds-autocomplete/ds-autocomplete.d.ts.map +1 -0
  13. package/dist/components/ds-autocomplete/ds-autocomplete.js +217 -0
  14. package/dist/components/ds-autocomplete/ds-autocomplete.js.map +1 -0
  15. package/dist/components/ds-autocomplete/ds-autocomplete.module.cjs +27 -0
  16. package/dist/components/ds-autocomplete/ds-autocomplete.module.js +27 -0
  17. package/dist/components/ds-autocomplete/ds-autocomplete.module.js.map +1 -0
  18. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts +79 -0
  19. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.cts.map +1 -0
  20. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts +80 -0
  21. package/dist/components/ds-autocomplete/ds-autocomplete.types.d.ts.map +1 -0
  22. package/dist/components/ds-autocomplete/index.cjs +1 -0
  23. package/dist/components/ds-autocomplete/index.d.ts +2 -0
  24. package/dist/components/ds-autocomplete/index.js +1 -0
  25. package/dist/components/ds-avatar/ds-avatar.module.js.map +1 -1
  26. package/dist/components/ds-avatar-group/ds-avatar-group.module.js.map +1 -1
  27. package/dist/components/ds-button/ds-button.d.cts +2 -2
  28. package/dist/components/ds-button/ds-button.d.cts.map +1 -1
  29. package/dist/components/ds-confirmation/ds-confirmation.cjs +20 -221
  30. package/dist/components/ds-confirmation/ds-confirmation.d.cts +22 -27
  31. package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
  32. package/dist/components/ds-confirmation/ds-confirmation.d.ts +22 -27
  33. package/dist/components/ds-confirmation/ds-confirmation.d.ts.map +1 -1
  34. package/dist/components/ds-confirmation/ds-confirmation.js +21 -221
  35. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  36. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts +2 -1
  37. package/dist/components/ds-confirmation/ds-confirmation.types.d.cts.map +1 -1
  38. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts +2 -1
  39. package/dist/components/ds-confirmation/ds-confirmation.types.d.ts.map +1 -1
  40. package/dist/components/ds-date-input/ds-date-input.cjs +1 -1
  41. package/dist/components/ds-date-input/ds-date-input.d.cts +2 -2
  42. package/dist/components/ds-date-input/ds-date-input.d.ts +2 -2
  43. package/dist/components/ds-date-input/ds-date-input.js +1 -1
  44. package/dist/components/ds-drawer/ds-drawer.cjs +1 -1
  45. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  46. package/dist/components/ds-drawer/ds-drawer.d.cts.map +1 -1
  47. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  48. package/dist/components/ds-drawer/ds-drawer.js +1 -1
  49. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +1 -1
  50. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +1 -1
  51. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.cjs +20 -20
  52. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js +20 -20
  53. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.module.js.map +1 -1
  54. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  55. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  56. package/dist/components/ds-form-control/ds-form-control.d.cts +8 -8
  57. package/dist/components/ds-form-control/ds-form-control.d.ts +8 -8
  58. package/dist/components/ds-loader/ds-loader.d.cts +2 -2
  59. package/dist/components/ds-loader/ds-loader.d.ts +2 -2
  60. package/dist/components/ds-modal/ds-modal.cjs +47 -48
  61. package/dist/components/ds-modal/ds-modal.d.cts +11 -10
  62. package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
  63. package/dist/components/ds-modal/ds-modal.d.ts +11 -10
  64. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  65. package/dist/components/ds-modal/ds-modal.js +47 -48
  66. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  67. package/dist/components/ds-modal/ds-modal.module.cjs +24 -24
  68. package/dist/components/ds-modal/ds-modal.module.js +24 -24
  69. package/dist/components/ds-modal/ds-modal.module.js.map +1 -1
  70. package/dist/components/ds-modal/ds-modal.types.d.cts +10 -5
  71. package/dist/components/ds-modal/ds-modal.types.d.cts.map +1 -1
  72. package/dist/components/ds-modal/ds-modal.types.d.ts +10 -5
  73. package/dist/components/ds-modal/ds-modal.types.d.ts.map +1 -1
  74. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  75. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  76. package/dist/components/ds-select/ds-select.cjs +1 -1
  77. package/dist/components/ds-select/ds-select.d.cts +2 -2
  78. package/dist/components/ds-select/ds-select.js +1 -1
  79. package/dist/components/ds-skeleton/ds-skeleton-circle.d.cts +2 -2
  80. package/dist/components/ds-skeleton/ds-skeleton-circle.d.ts +2 -2
  81. package/dist/components/ds-skeleton/ds-skeleton-rect.d.cts +2 -2
  82. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts +2 -2
  83. package/dist/components/ds-skeleton/ds-skeleton-rect.d.ts.map +1 -1
  84. package/dist/components/ds-skeleton/ds-skeleton-text.d.cts +2 -2
  85. package/dist/components/ds-skeleton/ds-skeleton-text.d.ts +2 -2
  86. package/dist/components/ds-skeleton/ds-skeleton.d.cts +4 -4
  87. package/dist/components/ds-skeleton/ds-skeleton.d.ts +4 -4
  88. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  89. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  90. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  91. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  92. package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
  93. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  94. package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
  95. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  96. package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
  97. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  98. package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
  99. package/dist/components/ds-table/ds-table.d.ts +2 -2
  100. package/dist/components/ds-table/filters/hooks/index.d.ts +1 -1
  101. package/dist/components/ds-table/filters/hooks/use-table-filters.cjs +180 -185
  102. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts +58 -25
  103. package/dist/components/ds-table/filters/hooks/use-table-filters.d.cts.map +1 -1
  104. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts +58 -25
  105. package/dist/components/ds-table/filters/hooks/use-table-filters.d.ts.map +1 -1
  106. package/dist/components/ds-table/filters/hooks/use-table-filters.js +180 -185
  107. package/dist/components/ds-table/filters/hooks/use-table-filters.js.map +1 -1
  108. package/dist/components/ds-table/filters/index.d.ts +1 -1
  109. package/dist/components/ds-table/index.d.ts +1 -1
  110. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.cjs +2 -2
  111. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js +2 -2
  112. package/dist/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.js.map +1 -1
  113. package/dist/components/ds-tabs/ds-tabs.d.cts +5 -5
  114. package/dist/components/ds-tabs/ds-tabs.d.ts +5 -5
  115. package/dist/components/ds-tag/ds-tag.d.cts +2 -2
  116. package/dist/components/ds-tag/ds-tag.d.ts +2 -2
  117. package/dist/components/ds-tag-filter/ds-tag-filter.d.cts +2 -2
  118. package/dist/components/ds-tag-filter/ds-tag-filter.d.ts +2 -2
  119. package/dist/components/ds-toggle/ds-toggle.d.cts +2 -2
  120. package/dist/components/ds-toggle/ds-toggle.d.ts +2 -2
  121. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  122. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  123. package/dist/index.cjs +4 -1
  124. package/dist/index.d.cts +4 -2
  125. package/dist/index.d.ts +5 -2
  126. package/dist/index.js +4 -2
  127. package/dist/index.min.css +1 -1
  128. package/package.json +1 -1
  129. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +257 -0
  130. package/src/components/ds-autocomplete/ds-autocomplete.tsx +130 -0
  131. package/src/components/ds-autocomplete/ds-autocomplete.types.tsx +76 -0
  132. package/src/components/ds-autocomplete/index.ts +2 -0
  133. package/src/components/ds-avatar/ds-avatar.module.scss +1 -1
  134. package/src/components/ds-avatar-group/ds-avatar-group.module.scss +1 -1
  135. package/src/components/ds-confirmation/ds-confirmation.tsx +11 -115
  136. package/src/components/ds-confirmation/ds-confirmation.types.tsx +2 -1
  137. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +0 -1
  138. package/src/components/ds-modal/ds-modal.module.scss +123 -60
  139. package/src/components/ds-modal/ds-modal.tsx +5 -2
  140. package/src/components/ds-modal/ds-modal.types.tsx +14 -5
  141. package/src/components/ds-table/filters/hooks/index.ts +1 -1
  142. package/src/components/ds-table/filters/hooks/use-table-filters.ts +117 -116
  143. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.module.scss +4 -0
  144. package/src/index.ts +1 -0
  145. package/src/styles/shared/_modal.scss +0 -123
  146. package/dist/components/ds-confirmation/ds-confirmation.module.cjs +0 -21
  147. package/dist/components/ds-confirmation/ds-confirmation.module.js +0 -21
  148. package/dist/components/ds-confirmation/ds-confirmation.module.js.map +0 -1
  149. package/src/components/ds-confirmation/ds-confirmation.module.scss +0 -58
@@ -1,5 +1,5 @@
1
1
  import { DsSkeletonCircleProps, DsSkeletonRectProps, DsSkeletonTextProps } from "./ds-skeleton.types.js";
2
- import * as react_jsx_runtime9 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime23 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-skeleton/ds-skeleton.d.ts
5
5
  declare const _default: {
@@ -11,13 +11,13 @@ declare const _default: {
11
11
  radius,
12
12
  className,
13
13
  style
14
- }: DsSkeletonTextProps) => react_jsx_runtime9.JSX.Element;
14
+ }: DsSkeletonTextProps) => react_jsx_runtime23.JSX.Element;
15
15
  Circle: ({
16
16
  size,
17
17
  color,
18
18
  className,
19
19
  style
20
- }: DsSkeletonCircleProps) => react_jsx_runtime9.JSX.Element;
20
+ }: DsSkeletonCircleProps) => react_jsx_runtime23.JSX.Element;
21
21
  Rect: ({
22
22
  width,
23
23
  height,
@@ -25,7 +25,7 @@ declare const _default: {
25
25
  color,
26
26
  className,
27
27
  style
28
- }: DsSkeletonRectProps) => react_jsx_runtime9.JSX.Element;
28
+ }: DsSkeletonRectProps) => react_jsx_runtime23.JSX.Element;
29
29
  };
30
30
  //#endregion
31
31
  export { _default };
@@ -1,5 +1,5 @@
1
1
  import { DsSmartTabProps, DsSmartTabsProps } from "./ds-smart-tabs.types.cjs";
2
- import * as react_jsx_runtime40 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime45 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_runtime40.JSX.Element;
17
+ }: DsSmartTabsProps): react_jsx_runtime45.JSX.Element;
18
18
  Tab: React.FC<DsSmartTabProps>;
19
19
  };
20
20
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { DsSmartTabProps, DsSmartTabsProps } from "./ds-smart-tabs.types.js";
2
- import * as react_jsx_runtime7 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime21 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_runtime21.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,4 +1,4 @@
1
- import * as react_jsx_runtime44 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime53 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step-content.d.ts
@@ -13,7 +13,7 @@ declare function DsStepContent({
13
13
  label,
14
14
  description,
15
15
  actions
16
- }: DsStepContentProps): react_jsx_runtime44.JSX.Element;
16
+ }: DsStepContentProps): react_jsx_runtime53.JSX.Element;
17
17
  //#endregion
18
18
  export { DsStepContent };
19
19
  //# sourceMappingURL=ds-step-content.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime56 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime47 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step-content.d.ts
@@ -13,7 +13,7 @@ declare function DsStepContent({
13
13
  label,
14
14
  description,
15
15
  actions
16
- }: DsStepContentProps): react_jsx_runtime56.JSX.Element;
16
+ }: DsStepContentProps): react_jsx_runtime47.JSX.Element;
17
17
  //#endregion
18
18
  export { DsStepContent };
19
19
  //# sourceMappingURL=ds-step-content.d.ts.map
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime45 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime54 from "react/jsx-runtime";
2
2
  import { PropsWithChildren } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step-next-button.d.ts
5
5
  declare function DsNextStepButton({
6
6
  children
7
- }: PropsWithChildren): react_jsx_runtime45.JSX.Element;
7
+ }: PropsWithChildren): react_jsx_runtime54.JSX.Element;
8
8
  //#endregion
9
9
  export { DsNextStepButton };
10
10
  //# sourceMappingURL=ds-step-next-button.d.cts.map
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime57 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime48 from "react/jsx-runtime";
2
2
  import { PropsWithChildren } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step-next-button.d.ts
5
5
  declare function DsNextStepButton({
6
6
  children
7
- }: PropsWithChildren): react_jsx_runtime57.JSX.Element;
7
+ }: PropsWithChildren): react_jsx_runtime48.JSX.Element;
8
8
  //#endregion
9
9
  export { DsNextStepButton };
10
10
  //# sourceMappingURL=ds-step-next-button.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime43 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime52 from "react/jsx-runtime";
2
2
  import { PropsWithChildren } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step.d.ts
@@ -10,7 +10,7 @@ declare function DsStep({
10
10
  index,
11
11
  children,
12
12
  className
13
- }: DsStepProps): react_jsx_runtime43.JSX.Element | null;
13
+ }: DsStepProps): react_jsx_runtime52.JSX.Element | null;
14
14
  //#endregion
15
15
  export { DsStep };
16
16
  //# sourceMappingURL=ds-step.d.cts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime55 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime46 from "react/jsx-runtime";
2
2
  import { PropsWithChildren } from "react";
3
3
 
4
4
  //#region src/components/ds-stepper/components/ds-step.d.ts
@@ -10,7 +10,7 @@ declare function DsStep({
10
10
  index,
11
11
  children,
12
12
  className
13
- }: DsStepProps): react_jsx_runtime55.JSX.Element | null;
13
+ }: DsStepProps): react_jsx_runtime46.JSX.Element | null;
14
14
  //#endregion
15
15
  export { DsStep };
16
16
  //# sourceMappingURL=ds-step.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { DsStepperProps } from "./ds-stepper.types.cjs";
2
- import * as react_jsx_runtime42 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime51 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-stepper/ds-stepper.d.ts
5
5
  declare function DsStepper({
@@ -9,7 +9,7 @@ declare function DsStepper({
9
9
  onStepChange,
10
10
  onComplete,
11
11
  children
12
- }: DsStepperProps): react_jsx_runtime42.JSX.Element;
12
+ }: DsStepperProps): react_jsx_runtime51.JSX.Element;
13
13
  //#endregion
14
14
  export { DsStepper };
15
15
  //# sourceMappingURL=ds-stepper.d.cts.map
@@ -1,5 +1,5 @@
1
1
  import { DsStepperProps } from "./ds-stepper.types.js";
2
- import * as react_jsx_runtime54 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-stepper/ds-stepper.d.ts
5
5
  declare function DsStepper({
@@ -9,7 +9,7 @@ declare function DsStepper({
9
9
  onStepChange,
10
10
  onComplete,
11
11
  children
12
- }: DsStepperProps): react_jsx_runtime54.JSX.Element;
12
+ }: DsStepperProps): react_jsx_runtime45.JSX.Element;
13
13
  //#endregion
14
14
  export { DsStepper };
15
15
  //# sourceMappingURL=ds-stepper.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { DsDataTableProps } from "./ds-table.types.js";
2
- import * as react_jsx_runtime60 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime61 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-table/ds-table.d.ts
5
5
  /**
@@ -38,7 +38,7 @@ declare const DsTable: <TData extends {
38
38
  columnVisibility: externalColumnVisibility,
39
39
  onColumnVisibilityChange,
40
40
  activeRowId
41
- }: DsDataTableProps<TData, TValue>) => react_jsx_runtime60.JSX.Element;
41
+ }: DsDataTableProps<TData, TValue>) => react_jsx_runtime61.JSX.Element;
42
42
  //#endregion
43
43
  export { DsTable };
44
44
  //# sourceMappingURL=ds-table.d.ts.map
@@ -1 +1 @@
1
- import { UseTableFiltersResult, useTableFilters } from "./use-table-filters.js";
1
+ import { UseTableFiltersOptions, UseTableFiltersResult, useTableFilters } from "./use-table-filters.js";
@@ -4,214 +4,209 @@ let react = require("react");
4
4
 
5
5
  //#region src/components/ds-table/filters/hooks/use-table-filters.ts
6
6
  /**
7
- * Hook to orchestrate table filtering with adapters
8
- * Manages filter state, generates chips, handles column definitions
7
+ * Hook to orchestrate table filtering with adapters.
8
+ * Manages filter state, generates chips, and handles column definitions.
9
9
  *
10
- * @param filterAdapters Array of filter adapters
11
- * @param baseColumns Base column definitions (optional)
12
- * @returns Complete filter management system
10
+ * **Uncontrolled mode** (default): Filters are managed internally.
11
+ * **Controlled mode**: Filters are managed externally via appliedFilters/onFiltersChange.
12
+ *
13
+ * @example
14
+ * // Uncontrolled mode
15
+ * const { filterChips, handlers } = useTableFilters({
16
+ * filterAdapters: adapters,
17
+ * baseColumns: columns,
18
+ * });
19
+ *
20
+ * @example
21
+ * // Controlled mode (e.g., URL-driven filtering)
22
+ * const { filterChips, handlers } = useTableFilters({
23
+ * filterAdapters: adapters,
24
+ * baseColumns: columns,
25
+ * appliedFilters: filtersFromUrl,
26
+ * onFiltersChange: (filters) => updateUrlAndRefetch(filters),
27
+ * });
13
28
  */
14
- function useTableFilters(filterAdapters, baseColumns) {
15
- const $ = (0, react_compiler_runtime.c)(39);
29
+ function useTableFilters(t0) {
30
+ const $ = (0, react_compiler_runtime.c)(30);
31
+ const { filterAdapters, baseColumns, appliedFilters: externalAppliedFilters, onFiltersChange: setExternalAppliedFilters } = t0;
16
32
  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
+ const isControlled = externalAppliedFilters !== void 0 && setExternalAppliedFilters !== void 0;
34
+ const initialFilters = _filterAdapters.reduce(_temp, {});
33
35
  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);
36
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
37
+ t1 = {};
38
+ $[0] = t1;
39
+ } else t1 = $[0];
40
+ const [internalAppliedFilters, setInternalAppliedFilters] = (0, react.useState)(t1);
39
41
  let t2;
40
- if ($[4] !== filterState) {
41
- t2 = (adapterId) => filterState[adapterId];
42
- $[4] = filterState;
43
- $[5] = t2;
44
- } else t2 = $[5];
45
- const getValueByAdapterId = t2;
42
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
43
+ t2 = {};
44
+ $[1] = t2;
45
+ } else t2 = $[1];
46
+ const [pendingFilters, setPendingFilters] = (0, react.useState)(t2);
47
+ const appliedFilters = isControlled ? externalAppliedFilters : internalAppliedFilters;
48
+ const setAppliedFilters = isControlled ? setExternalAppliedFilters : setInternalAppliedFilters;
49
+ const draftFilters = {
50
+ ...initialFilters,
51
+ ...appliedFilters,
52
+ ...pendingFilters
53
+ };
46
54
  let t3;
47
- if ($[6] !== _filterAdapters || $[7] !== getValueByAdapterId) {
48
- let t4$1;
49
- if ($[9] !== getValueByAdapterId) {
50
- t4$1 = (adapter_0) => ({
51
- id: adapter_0.id,
52
- label: adapter_0.label,
53
- count: adapter_0.getActiveFiltersCount(getValueByAdapterId(adapter_0.id))
54
- });
55
- $[9] = getValueByAdapterId;
56
- $[10] = t4$1;
57
- } else t4$1 = $[10];
58
- t3 = _filterAdapters.map(t4$1);
59
- $[6] = _filterAdapters;
60
- $[7] = getValueByAdapterId;
61
- $[8] = t3;
62
- } else t3 = $[8];
63
- const filterNavItems = t3;
55
+ if ($[2] !== appliedFilters) {
56
+ t3 = Object.entries(appliedFilters);
57
+ $[2] = appliedFilters;
58
+ $[3] = t3;
59
+ } else t3 = $[3];
64
60
  let t4;
65
- if ($[11] !== _filterAdapters || $[12] !== baseColumns) {
66
- t4 = !baseColumns ? [] : baseColumns.map((col) => {
67
- const adapter_1 = _filterAdapters.find((a) => a.id === col.id);
68
- if (adapter_1) {
69
- const cellRenderer = adapter_1.cellRenderer;
70
- return {
71
- ...col,
72
- filterFn: adapter_1.columnFilterFn,
73
- ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
74
- };
75
- }
76
- return col;
77
- });
78
- $[11] = _filterAdapters;
79
- $[12] = baseColumns;
80
- $[13] = t4;
81
- } else t4 = $[13];
82
- const enhancedColumns = t4;
61
+ if ($[4] !== _filterAdapters || $[5] !== appliedFilters || $[6] !== t3) {
62
+ t4 = t3.filter((t5$1) => {
63
+ const [id] = t5$1;
64
+ const adapter_0 = _filterAdapters.find((a) => a.id === id);
65
+ return adapter_0 ? adapter_0.getActiveFiltersCount(appliedFilters[id]) > 0 : false;
66
+ }).map(_temp2);
67
+ $[4] = _filterAdapters;
68
+ $[5] = appliedFilters;
69
+ $[6] = t3;
70
+ $[7] = t4;
71
+ } else t4 = $[7];
72
+ const columnFilters = t4;
83
73
  let t5;
84
- if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
85
- t5 = (filterId, value) => {
86
- setFilterState((prev) => ({
87
- ...prev,
88
- [filterId]: value
89
- }));
90
- };
91
- $[14] = t5;
92
- } else t5 = $[14];
93
- const updateFilter = t5;
74
+ if ($[8] !== _filterAdapters || $[9] !== appliedFilters) {
75
+ let t6$1;
76
+ if ($[11] !== appliedFilters) {
77
+ t6$1 = (adapter_1) => {
78
+ const value_0 = appliedFilters[adapter_1.id];
79
+ return value_0 !== void 0 ? adapter_1.toChips(value_0) : [];
80
+ };
81
+ $[11] = appliedFilters;
82
+ $[12] = t6$1;
83
+ } else t6$1 = $[12];
84
+ t5 = _filterAdapters.flatMap(t6$1);
85
+ $[8] = _filterAdapters;
86
+ $[9] = appliedFilters;
87
+ $[10] = t5;
88
+ } else t5 = $[10];
89
+ const filterChips = t5;
90
+ const filterNavItems = _filterAdapters.map((adapter_2) => ({
91
+ id: adapter_2.id,
92
+ label: adapter_2.label,
93
+ count: adapter_2.getActiveFiltersCount(draftFilters[adapter_2.id])
94
+ }));
94
95
  let t6;
95
- if ($[15] !== _filterAdapters || $[16] !== getValueByAdapterId) {
96
- t6 = () => {
97
- const filters = [];
98
- const chips = [];
99
- _filterAdapters.forEach((adapter_2) => {
100
- const value_0 = getValueByAdapterId(adapter_2.id);
101
- if (adapter_2.getActiveFiltersCount(value_0) > 0) filters.push({
102
- id: adapter_2.id,
103
- value: value_0
104
- });
105
- const adapterChips = adapter_2.toChips(value_0);
106
- chips.push(...adapterChips);
107
- });
108
- setColumnFilters(filters);
109
- setFilterChips(chips);
110
- };
111
- $[15] = _filterAdapters;
112
- $[16] = getValueByAdapterId;
113
- $[17] = t6;
114
- } else t6 = $[17];
115
- const applyFilters = t6;
96
+ if ($[13] !== _filterAdapters || $[14] !== baseColumns) {
97
+ t6 = !baseColumns ? [] : baseColumns.map((col) => {
98
+ const adapter_3 = _filterAdapters.find((a_0) => a_0.id === col.id);
99
+ if (!adapter_3) return col;
100
+ const cellRenderer = adapter_3.cellRenderer;
101
+ return {
102
+ ...col,
103
+ filterFn: adapter_3.columnFilterFn,
104
+ ...cellRenderer && { cell: (info) => cellRenderer(info.getValue()) }
105
+ };
106
+ });
107
+ $[13] = _filterAdapters;
108
+ $[14] = baseColumns;
109
+ $[15] = t6;
110
+ } else t6 = $[15];
111
+ const enhancedColumns = t6;
116
112
  let t7;
117
- if ($[18] !== _filterAdapters) {
118
- t7 = () => {
119
- const resetState = {};
120
- _filterAdapters.forEach((adapter_3) => {
121
- resetState[adapter_3.id] = adapter_3.reset();
122
- });
123
- setFilterState(resetState);
124
- setColumnFilters([]);
125
- setFilterChips([]);
113
+ if ($[16] !== setPendingFilters) {
114
+ t7 = (filterId, value_1) => {
115
+ setPendingFilters((prev) => ({
116
+ ...prev,
117
+ [filterId]: value_1
118
+ }));
126
119
  };
127
- $[18] = _filterAdapters;
128
- $[19] = t7;
129
- } else t7 = $[19];
130
- const clearAll = t7;
120
+ $[16] = setPendingFilters;
121
+ $[17] = t7;
122
+ } else t7 = $[17];
123
+ const updateFilter = t7;
124
+ const applyFilters = () => {
125
+ setAppliedFilters(_filterAdapters.reduce((acc, adapter_4) => {
126
+ const value_2 = draftFilters[adapter_4.id];
127
+ if (adapter_4.getActiveFiltersCount(value_2) > 0) acc[adapter_4.id] = value_2;
128
+ return acc;
129
+ }, {}));
130
+ setPendingFilters({});
131
+ };
131
132
  let t8;
132
- if ($[20] !== _filterAdapters || $[21] !== clearAll || $[22] !== getValueByAdapterId) {
133
- t8 = (chip) => {
133
+ if ($[18] !== setAppliedFilters || $[19] !== setPendingFilters) {
134
+ t8 = () => {
135
+ setPendingFilters({});
136
+ setAppliedFilters({});
137
+ };
138
+ $[18] = setAppliedFilters;
139
+ $[19] = setPendingFilters;
140
+ $[20] = t8;
141
+ } else t8 = $[20];
142
+ const clearAll = t8;
143
+ let t9;
144
+ if ($[21] !== _filterAdapters || $[22] !== appliedFilters || $[23] !== setAppliedFilters) {
145
+ t9 = (chip) => {
134
146
  const filterKey = typeof chip.metadata?.key === "string" ? chip.metadata.key : void 0;
135
147
  if (!filterKey) return;
136
- const adapter_4 = _filterAdapters.find((a_0) => a_0.id === filterKey);
137
- if (!adapter_4) return;
138
- const currentValue = getValueByAdapterId(filterKey);
139
- const newValue = adapter_4.fromChip(chip, currentValue);
140
- const chips_0 = [];
141
- _filterAdapters.forEach((adapter_5) => {
142
- const value_1 = adapter_5.id === filterKey ? newValue : getValueByAdapterId(adapter_5.id);
143
- const adapterChips_0 = adapter_5.toChips(value_1);
144
- chips_0.push(...adapterChips_0);
145
- });
146
- if (chips_0.length === 0) {
147
- clearAll();
148
- return;
149
- }
150
- setFilterState((prev_0) => ({
151
- ...prev_0,
148
+ const adapter_5 = _filterAdapters.find((a_1) => a_1.id === filterKey);
149
+ if (!adapter_5) return;
150
+ const currentValue = appliedFilters[filterKey];
151
+ if (currentValue === void 0) return;
152
+ const newValue = adapter_5.fromChip(chip, currentValue);
153
+ setAppliedFilters(adapter_5.getActiveFiltersCount(newValue) === 0 ? Object.fromEntries(Object.entries(appliedFilters).filter((t10$1) => {
154
+ const [key] = t10$1;
155
+ return key !== filterKey;
156
+ })) : {
157
+ ...appliedFilters,
152
158
  [filterKey]: newValue
153
- }));
154
- if (adapter_4.getActiveFiltersCount(newValue) === 0) setColumnFilters((prev_1) => prev_1.filter((cf) => cf.id !== filterKey));
155
- else setColumnFilters((prev_2) => prev_2.map((cf_0) => cf_0.id === filterKey ? {
156
- id: filterKey,
157
- value: newValue
158
- } : cf_0));
159
- setFilterChips(chips_0);
160
- };
161
- $[20] = _filterAdapters;
162
- $[21] = clearAll;
163
- $[22] = getValueByAdapterId;
164
- $[23] = t8;
165
- } else t8 = $[23];
166
- const deleteChip = t8;
167
- let t9;
168
- if ($[24] !== _filterAdapters || $[25] !== getValueByAdapterId) {
169
- t9 = (selectedFilter) => {
170
- const adapter_6 = _filterAdapters.find((a_1) => a_1.id === selectedFilter.id);
171
- if (!adapter_6) return null;
172
- const value_2 = getValueByAdapterId(adapter_6.id);
173
- const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
174
- return adapter_6.renderFilter(value_2, onChange);
159
+ });
175
160
  };
176
- $[24] = _filterAdapters;
177
- $[25] = getValueByAdapterId;
178
- $[26] = t9;
179
- } else t9 = $[26];
180
- const renderFilterContent = t9;
161
+ $[21] = _filterAdapters;
162
+ $[22] = appliedFilters;
163
+ $[23] = setAppliedFilters;
164
+ $[24] = t9;
165
+ } else t9 = $[24];
166
+ const deleteChip = t9;
167
+ const renderFilterContent = (selectedFilter) => {
168
+ const adapter_6 = _filterAdapters.find((a_2) => a_2.id === selectedFilter.id);
169
+ if (!adapter_6) return null;
170
+ const value_3 = draftFilters[adapter_6.id];
171
+ const onChange = (newValue_0) => updateFilter(adapter_6.id, newValue_0);
172
+ return adapter_6.renderFilter(value_3, onChange);
173
+ };
181
174
  let t10;
182
- if ($[27] !== applyFilters || $[28] !== clearAll || $[29] !== deleteChip) {
175
+ if ($[25] !== applyFilters || $[26] !== clearAll || $[27] !== deleteChip || $[28] !== updateFilter) {
183
176
  t10 = {
184
177
  updateFilter,
185
178
  applyFilters,
186
179
  clearAll,
187
180
  deleteChip
188
181
  };
189
- $[27] = applyFilters;
190
- $[28] = clearAll;
191
- $[29] = deleteChip;
192
- $[30] = t10;
193
- } else t10 = $[30];
194
- let t11;
195
- if ($[31] !== columnFilters || $[32] !== enhancedColumns || $[33] !== filterChips || $[34] !== filterNavItems || $[35] !== filterState || $[36] !== renderFilterContent || $[37] !== t10) {
196
- t11 = {
197
- filterState,
198
- columnFilters,
199
- filterChips,
200
- filterNavItems,
201
- enhancedColumns,
202
- handlers: t10,
203
- renderFilterContent
204
- };
205
- $[31] = columnFilters;
206
- $[32] = enhancedColumns;
207
- $[33] = filterChips;
208
- $[34] = filterNavItems;
209
- $[35] = filterState;
210
- $[36] = renderFilterContent;
211
- $[37] = t10;
212
- $[38] = t11;
213
- } else t11 = $[38];
214
- return t11;
182
+ $[25] = applyFilters;
183
+ $[26] = clearAll;
184
+ $[27] = deleteChip;
185
+ $[28] = updateFilter;
186
+ $[29] = t10;
187
+ } else t10 = $[29];
188
+ return {
189
+ filterState: draftFilters,
190
+ columnFilters,
191
+ filterChips,
192
+ filterNavItems,
193
+ enhancedColumns,
194
+ handlers: t10,
195
+ renderFilterContent
196
+ };
197
+ }
198
+ function _temp2(t0) {
199
+ const [id_0, value] = t0;
200
+ return {
201
+ id: id_0,
202
+ value
203
+ };
204
+ }
205
+ function _temp(state, adapter) {
206
+ return {
207
+ ...state,
208
+ [adapter.id]: adapter.initialValue
209
+ };
215
210
  }
216
211
 
217
212
  //#endregion