@coveord/plasma-mantine 58.0.2 → 59.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 (60) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/.turbo/turbo-test.log +99 -108
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/Alert/Alert.d.ts +5 -0
  5. package/dist/cjs/components/Alert/Alert.d.ts.map +1 -1
  6. package/dist/cjs/components/Alert/Alert.js +37 -9
  7. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  8. package/dist/cjs/components/Badge/Badge.d.ts +2 -2
  9. package/dist/cjs/components/Badge/Badge.d.ts.map +1 -1
  10. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  11. package/dist/cjs/components/Header/HeaderRight/HeaderRight.js +1 -1
  12. package/dist/cjs/components/Header/HeaderRight/HeaderRight.js.map +1 -1
  13. package/dist/cjs/components/Table/use-persisted-column-visibility.d.ts +16 -0
  14. package/dist/cjs/components/Table/use-persisted-column-visibility.d.ts.map +1 -0
  15. package/dist/cjs/components/Table/use-persisted-column-visibility.js +123 -0
  16. package/dist/cjs/components/Table/use-persisted-column-visibility.js.map +1 -0
  17. package/dist/cjs/components/Table/use-table.d.ts +12 -0
  18. package/dist/cjs/components/Table/use-table.d.ts.map +1 -1
  19. package/dist/cjs/components/Table/use-table.js +22 -7
  20. package/dist/cjs/components/Table/use-table.js.map +1 -1
  21. package/dist/cjs/styles/Alert.module.css +17 -5
  22. package/dist/cjs/styles/Modal.module.css +2 -2
  23. package/dist/cjs/utils/local-storage.d.ts +38 -0
  24. package/dist/cjs/utils/local-storage.d.ts.map +1 -0
  25. package/dist/cjs/utils/local-storage.js +175 -0
  26. package/dist/cjs/utils/local-storage.js.map +1 -0
  27. package/dist/esm/components/Alert/Alert.d.ts +5 -0
  28. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  29. package/dist/esm/components/Alert/Alert.js +35 -9
  30. package/dist/esm/components/Alert/Alert.js.map +1 -1
  31. package/dist/esm/components/Badge/Badge.d.ts +2 -2
  32. package/dist/esm/components/Badge/Badge.d.ts.map +1 -1
  33. package/dist/esm/components/Badge/Badge.js.map +1 -1
  34. package/dist/esm/components/Header/HeaderRight/HeaderRight.js +1 -1
  35. package/dist/esm/components/Header/HeaderRight/HeaderRight.js.map +1 -1
  36. package/dist/esm/components/Table/use-persisted-column-visibility.d.ts +16 -0
  37. package/dist/esm/components/Table/use-persisted-column-visibility.d.ts.map +1 -0
  38. package/dist/esm/components/Table/use-persisted-column-visibility.js +85 -0
  39. package/dist/esm/components/Table/use-persisted-column-visibility.js.map +1 -0
  40. package/dist/esm/components/Table/use-table.d.ts +12 -0
  41. package/dist/esm/components/Table/use-table.d.ts.map +1 -1
  42. package/dist/esm/components/Table/use-table.js +15 -3
  43. package/dist/esm/components/Table/use-table.js.map +1 -1
  44. package/dist/esm/styles/Alert.module.css +17 -5
  45. package/dist/esm/styles/Modal.module.css +2 -2
  46. package/dist/esm/utils/local-storage.d.ts +38 -0
  47. package/dist/esm/utils/local-storage.d.ts.map +1 -0
  48. package/dist/esm/utils/local-storage.js +134 -0
  49. package/dist/esm/utils/local-storage.js.map +1 -0
  50. package/package.json +5 -5
  51. package/src/components/Alert/Alert.tsx +24 -6
  52. package/src/components/Badge/Badge.tsx +30 -27
  53. package/src/components/Header/HeaderRight/HeaderRight.tsx +1 -1
  54. package/src/components/Table/__tests__/use-persisted-column-visibility.spec.ts +203 -0
  55. package/src/components/Table/use-persisted-column-visibility.ts +79 -0
  56. package/src/components/Table/use-table.ts +36 -3
  57. package/src/styles/Alert.module.css +17 -5
  58. package/src/styles/Modal.module.css +2 -2
  59. package/src/utils/__tests__/local-storage.spec.ts +176 -0
  60. package/src/utils/local-storage.ts +151 -0
@@ -19,6 +19,7 @@ export declare const Alert: (<C = "div">(props: import("@mantine/core").Polymorp
19
19
  Advice: typeof AlertAdvice;
20
20
  Warning: typeof AlertWarning;
21
21
  Critical: typeof AlertCritical;
22
+ Success: typeof AlertSuccess;
22
23
  };
23
24
  }> & import("@mantine/core").ComponentClasses<{
24
25
  props: AlertProps;
@@ -32,6 +33,7 @@ export declare const Alert: (<C = "div">(props: import("@mantine/core").Polymorp
32
33
  Advice: typeof AlertAdvice;
33
34
  Warning: typeof AlertWarning;
34
35
  Critical: typeof AlertCritical;
36
+ Success: typeof AlertSuccess;
35
37
  };
36
38
  }> & import("@mantine/core").PolymorphicComponentWithProps<{
37
39
  props: AlertProps;
@@ -45,15 +47,18 @@ export declare const Alert: (<C = "div">(props: import("@mantine/core").Polymorp
45
47
  Advice: typeof AlertAdvice;
46
48
  Warning: typeof AlertWarning;
47
49
  Critical: typeof AlertCritical;
50
+ Success: typeof AlertSuccess;
48
51
  };
49
52
  }> & {
50
53
  Information: typeof AlertInformation;
51
54
  Advice: typeof AlertAdvice;
52
55
  Warning: typeof AlertWarning;
53
56
  Critical: typeof AlertCritical;
57
+ Success: typeof AlertSuccess;
54
58
  };
55
59
  declare const AlertInformation: <L = "div">(props: import("@mantine/core").PolymorphicComponentProps<L, AlertProps>) => React.ReactElement;
56
60
  declare const AlertAdvice: <L = "div">(props: import("@mantine/core").PolymorphicComponentProps<L, AlertProps>) => React.ReactElement;
61
+ declare const AlertSuccess: <L = "div">(props: import("@mantine/core").PolymorphicComponentProps<L, AlertProps>) => React.ReactElement;
57
62
  declare const AlertWarning: <L = "div">(props: import("@mantine/core").PolymorphicComponentProps<L, AlertProps>) => React.ReactElement;
58
63
  declare const AlertCritical: <L = "div">(props: import("@mantine/core").PolymorphicComponentProps<L, AlertProps>) => React.ReactElement;
59
64
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EAIf,MAAM,eAAe,CAAC;AAmBvB,eAAO,MAAM,KAAK;;;;;;;;;WAdP,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;KAClC;;WAXM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;KAClC;;WAXM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;KAClC;;iBAJgB,OAAO,gBAAgB;YAC5B,OAAO,WAAW;aACjB,OAAO,YAAY;cAClB,OAAO,aAAa;CAI8E,CAAC;AAGrH,QAAA,MAAM,gBAAgB,4GASpB,CAAC;AAGH,QAAA,MAAM,WAAW,4GAQf,CAAC;AAGH,QAAA,MAAM,YAAY,4GAShB,CAAC;AAGH,QAAA,MAAM,aAAa,4GAQjB,CAAC"}
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EAIf,MAAM,eAAe,CAAC;AAoBvB,eAAO,MAAM,KAAK;;;;;;;;;WAfP,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;QAC/B,OAAO,EAAE,OAAO,YAAY,CAAC;KAChC;;WAZM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;QAC/B,OAAO,EAAE,OAAO,YAAY,CAAC;KAChC;;WAZM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,WAAW,EAAE,OAAO,gBAAgB,CAAC;QACrC,MAAM,EAAE,OAAO,WAAW,CAAC;QAC3B,OAAO,EAAE,OAAO,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAO,aAAa,CAAC;QAC/B,OAAO,EAAE,OAAO,YAAY,CAAC;KAChC;;iBALgB,OAAO,gBAAgB;YAC5B,OAAO,WAAW;aACjB,OAAO,YAAY;cAClB,OAAO,aAAa;aACrB,OAAO,YAAY;CAIgF,CAAC;AAGrH,QAAA,MAAM,gBAAgB,4GAUpB,CAAC;AAGH,QAAA,MAAM,WAAW,4GASf,CAAC;AAGH,QAAA,MAAM,YAAY,4GAShB,CAAC;AAGH,QAAA,MAAM,YAAY,4GAUhB,CAAC;AAGH,QAAA,MAAM,aAAa,4GASjB,CAAC"}
@@ -21,49 +21,76 @@ var Alert = (0, _core.polymorphicFactory)(function(props, ref) {
21
21
  Alert.displayName = 'Alert';
22
22
  var AlertInformation = Alert.withProps({
23
23
  color: 'gray',
24
- icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Information, {}),
24
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Information, {
25
+ size: "md"
26
+ }),
25
27
  vars: function vars() {
26
28
  return {
27
29
  root: {
28
30
  '--alert-color': 'var(--mantine-color-text)',
29
- '--alert-bg': 'var(--mantine-color-gray-light)'
31
+ '--alert-bg': 'var(--mantine-color-gray-light)',
32
+ '--alert-bd': '2px solid var(--mantine-color-gray-light)'
30
33
  }
31
34
  };
32
35
  }
33
36
  });
34
37
  AlertInformation.displayName = 'Alert.Information';
35
38
  var AlertAdvice = Alert.withProps({
36
- icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Advice, {}),
39
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Advice, {
40
+ size: "md"
41
+ }),
37
42
  vars: function vars() {
38
43
  return {
39
44
  root: {
40
45
  '--alert-color': 'var(--mantine-primary-color-filled)',
41
- '--alert-bg': 'var(--mantine-primary-color-light)'
46
+ '--alert-bg': 'var(--mantine-primary-color-light)',
47
+ '--alert-bd': '2px solid var(--mantine-primary-color-light)'
42
48
  }
43
49
  };
44
50
  }
45
51
  });
46
52
  AlertAdvice.displayName = 'Alert.Advice';
53
+ var AlertSuccess = Alert.withProps({
54
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Success, {
55
+ size: "md"
56
+ }),
57
+ vars: function vars() {
58
+ return {
59
+ root: {
60
+ '--alert-color': 'var(--mantine-color-green-filled)',
61
+ '--alert-bg': 'var(--mantine-color-green-light)',
62
+ '--alert-bd': '2px solid var(--mantine-color-green-light)'
63
+ }
64
+ };
65
+ }
66
+ });
67
+ AlertSuccess.displayName = 'Alert.Success';
47
68
  var AlertWarning = Alert.withProps({
48
69
  color: 'warning',
49
- icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Warning, {}),
70
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Warning, {
71
+ size: "md"
72
+ }),
50
73
  vars: function vars() {
51
74
  return {
52
75
  root: {
53
- '--alert-color': 'var(--mantine-color-warning-filled)',
54
- '--alert-bg': 'var(--mantine-color-warning-light)'
76
+ '--alert-color': 'var(--mantine-color-yellow-text)',
77
+ '--alert-bg': 'var(--mantine-color-yellow-light)',
78
+ '--alert-bd': '2px solid var(--mantine-color-yellow-light)'
55
79
  }
56
80
  };
57
81
  }
58
82
  });
59
83
  AlertWarning.displayName = 'Alert.Warning';
60
84
  var AlertCritical = Alert.withProps({
61
- icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Error, {}),
85
+ icon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_InfoToken.InfoToken.Error, {
86
+ size: "md"
87
+ }),
62
88
  vars: function vars() {
63
89
  return {
64
90
  root: {
65
91
  '--alert-color': 'var(--mantine-color-error)',
66
- '--alert-bg': 'var(--mantine-color-red-light)'
92
+ '--alert-bg': 'var(--mantine-color-red-light)',
93
+ '--alert-bd': '2px solid var(--mantine-color-red-light)'
67
94
  }
68
95
  };
69
96
  }
@@ -73,5 +100,6 @@ Alert.Information = AlertInformation;
73
100
  Alert.Advice = AlertAdvice;
74
101
  Alert.Warning = AlertWarning;
75
102
  Alert.Critical = AlertCritical;
103
+ Alert.Success = AlertSuccess;
76
104
 
77
105
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import {\n AlertCssVariables,\n AlertProps,\n AlertStylesNames,\n AlertVariant,\n Factory,\n Alert as MantineAlert,\n polymorphicFactory,\n} from '@mantine/core';\nimport {type ComponentType} from 'react';\nimport {InfoToken} from '../InfoToken/InfoToken.js';\n\ntype AlertOverloadFactory = Factory<{\n props: AlertProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: AlertStylesNames;\n vars: AlertCssVariables;\n variant: AlertVariant;\n staticComponents: {\n Information: typeof AlertInformation;\n Advice: typeof AlertAdvice;\n Warning: typeof AlertWarning;\n Critical: typeof AlertCritical;\n };\n}>;\n\nexport const Alert = polymorphicFactory<AlertOverloadFactory>((props, ref) => <MantineAlert {...props} ref={ref} />);\nAlert.displayName = 'Alert';\n\nconst AlertInformation = Alert.withProps({\n color: 'gray',\n icon: <InfoToken.Information />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-text)',\n '--alert-bg': 'var(--mantine-color-gray-light)',\n },\n }),\n});\n(AlertInformation as ComponentType).displayName = 'Alert.Information';\n\nconst AlertAdvice = Alert.withProps({\n icon: <InfoToken.Advice />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-primary-color-filled)',\n '--alert-bg': 'var(--mantine-primary-color-light)',\n },\n }),\n});\n(AlertAdvice as ComponentType).displayName = 'Alert.Advice';\n\nconst AlertWarning = Alert.withProps({\n color: 'warning',\n icon: <InfoToken.Warning />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-warning-filled)',\n '--alert-bg': 'var(--mantine-color-warning-light)',\n },\n }),\n});\n(AlertWarning as ComponentType).displayName = 'Alert.Warning';\n\nconst AlertCritical = Alert.withProps({\n icon: <InfoToken.Error />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-error)',\n '--alert-bg': 'var(--mantine-color-red-light)',\n },\n }),\n});\n(AlertCritical as ComponentType).displayName = 'Alert.Critical';\n\nAlert.Information = AlertInformation;\nAlert.Advice = AlertAdvice;\nAlert.Warning = AlertWarning;\nAlert.Critical = AlertCritical;\n"],"names":["Alert","polymorphicFactory","props","ref","MantineAlert","displayName","AlertInformation","withProps","color","icon","InfoToken","Information","vars","root","AlertAdvice","Advice","AlertWarning","Warning","AlertCritical","Error","Critical"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;oBAnBN;yBAEiB;AAiBjB,IAAMA,QAAQC,IAAAA,wBAAkB,EAAuB,SAACC,OAAOC;yBAAQ,qBAACC,WAAY,8CAAKF;QAAOC,KAAKA;;;AAC5GH,MAAMK,WAAW,GAAG;AAEpB,IAAMC,mBAAmBN,MAAMO,SAAS,CAAC;IACrCC,OAAO;IACPC,oBAAM,qBAACC,oBAAS,CAACC,WAAW;IAC5BC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;YAClB;QACJ;;AACJ;AACCP,iBAAmCD,WAAW,GAAG;AAElD,IAAMS,cAAcd,MAAMO,SAAS,CAAC;IAChCE,oBAAM,qBAACC,oBAAS,CAACK,MAAM;IACvBH,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;YAClB;QACJ;;AACJ;AACCC,YAA8BT,WAAW,GAAG;AAE7C,IAAMW,eAAehB,MAAMO,SAAS,CAAC;IACjCC,OAAO;IACPC,oBAAM,qBAACC,oBAAS,CAACO,OAAO;IACxBL,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;YAClB;QACJ;;AACJ;AACCG,aAA+BX,WAAW,GAAG;AAE9C,IAAMa,gBAAgBlB,MAAMO,SAAS,CAAC;IAClCE,oBAAM,qBAACC,oBAAS,CAACS,KAAK;IACtBP,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;YAClB;QACJ;;AACJ;AACCK,cAAgCb,WAAW,GAAG;AAE/CL,MAAMW,WAAW,GAAGL;AACpBN,MAAMe,MAAM,GAAGD;AACfd,MAAMiB,OAAO,GAAGD;AAChBhB,MAAMoB,QAAQ,GAAGF"}
1
+ {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import {\n AlertCssVariables,\n AlertProps,\n AlertStylesNames,\n AlertVariant,\n Factory,\n Alert as MantineAlert,\n polymorphicFactory,\n} from '@mantine/core';\nimport {type ComponentType} from 'react';\nimport {InfoToken} from '../InfoToken/InfoToken.js';\n\ntype AlertOverloadFactory = Factory<{\n props: AlertProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: AlertStylesNames;\n vars: AlertCssVariables;\n variant: AlertVariant;\n staticComponents: {\n Information: typeof AlertInformation;\n Advice: typeof AlertAdvice;\n Warning: typeof AlertWarning;\n Critical: typeof AlertCritical;\n Success: typeof AlertSuccess;\n };\n}>;\n\nexport const Alert = polymorphicFactory<AlertOverloadFactory>((props, ref) => <MantineAlert {...props} ref={ref} />);\nAlert.displayName = 'Alert';\n\nconst AlertInformation = Alert.withProps({\n color: 'gray',\n icon: <InfoToken.Information size=\"md\" />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-text)',\n '--alert-bg': 'var(--mantine-color-gray-light)',\n '--alert-bd': '2px solid var(--mantine-color-gray-light)',\n },\n }),\n});\n(AlertInformation as ComponentType).displayName = 'Alert.Information';\n\nconst AlertAdvice = Alert.withProps({\n icon: <InfoToken.Advice size=\"md\" />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-primary-color-filled)',\n '--alert-bg': 'var(--mantine-primary-color-light)',\n '--alert-bd': '2px solid var(--mantine-primary-color-light)',\n },\n }),\n});\n(AlertAdvice as ComponentType).displayName = 'Alert.Advice';\n\nconst AlertSuccess = Alert.withProps({\n icon: <InfoToken.Success size=\"md\" />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-green-filled)',\n '--alert-bg': 'var(--mantine-color-green-light)',\n '--alert-bd': '2px solid var(--mantine-color-green-light)',\n },\n }),\n});\n(AlertSuccess as ComponentType).displayName = 'Alert.Success';\n\nconst AlertWarning = Alert.withProps({\n color: 'warning',\n icon: <InfoToken.Warning size=\"md\" />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-yellow-text)',\n '--alert-bg': 'var(--mantine-color-yellow-light)',\n '--alert-bd': '2px solid var(--mantine-color-yellow-light)',\n },\n }),\n});\n(AlertWarning as ComponentType).displayName = 'Alert.Warning';\n\nconst AlertCritical = Alert.withProps({\n icon: <InfoToken.Error size=\"md\" />,\n vars: () => ({\n root: {\n '--alert-color': 'var(--mantine-color-error)',\n '--alert-bg': 'var(--mantine-color-red-light)',\n '--alert-bd': '2px solid var(--mantine-color-red-light)',\n },\n }),\n});\n(AlertCritical as ComponentType).displayName = 'Alert.Critical';\n\nAlert.Information = AlertInformation;\nAlert.Advice = AlertAdvice;\nAlert.Warning = AlertWarning;\nAlert.Critical = AlertCritical;\nAlert.Success = AlertSuccess;\n"],"names":["Alert","polymorphicFactory","props","ref","MantineAlert","displayName","AlertInformation","withProps","color","icon","InfoToken","Information","size","vars","root","AlertAdvice","Advice","AlertSuccess","Success","AlertWarning","Warning","AlertCritical","Error","Critical"],"mappings":";;;;+BA4BaA;;;eAAAA;;;;;;oBApBN;yBAEiB;AAkBjB,IAAMA,QAAQC,IAAAA,wBAAkB,EAAuB,SAACC,OAAOC;yBAAQ,qBAACC,WAAY,8CAAKF;QAAOC,KAAKA;;;AAC5GH,MAAMK,WAAW,GAAG;AAEpB,IAAMC,mBAAmBN,MAAMO,SAAS,CAAC;IACrCC,OAAO;IACPC,oBAAM,qBAACC,oBAAS,CAACC,WAAW;QAACC,MAAK;;IAClCC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;gBACd,cAAc;YAClB;QACJ;;AACJ;AACCR,iBAAmCD,WAAW,GAAG;AAElD,IAAMU,cAAcf,MAAMO,SAAS,CAAC;IAChCE,oBAAM,qBAACC,oBAAS,CAACM,MAAM;QAACJ,MAAK;;IAC7BC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;gBACd,cAAc;YAClB;QACJ;;AACJ;AACCC,YAA8BV,WAAW,GAAG;AAE7C,IAAMY,eAAejB,MAAMO,SAAS,CAAC;IACjCE,oBAAM,qBAACC,oBAAS,CAACQ,OAAO;QAACN,MAAK;;IAC9BC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;gBACd,cAAc;YAClB;QACJ;;AACJ;AACCG,aAA+BZ,WAAW,GAAG;AAE9C,IAAMc,eAAenB,MAAMO,SAAS,CAAC;IACjCC,OAAO;IACPC,oBAAM,qBAACC,oBAAS,CAACU,OAAO;QAACR,MAAK;;IAC9BC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;gBACd,cAAc;YAClB;QACJ;;AACJ;AACCK,aAA+Bd,WAAW,GAAG;AAE9C,IAAMgB,gBAAgBrB,MAAMO,SAAS,CAAC;IAClCE,oBAAM,qBAACC,oBAAS,CAACY,KAAK;QAACV,MAAK;;IAC5BC,MAAM,SAANA;eAAa;YACTC,MAAM;gBACF,iBAAiB;gBACjB,cAAc;gBACd,cAAc;YAClB;QACJ;;AACJ;AACCO,cAAgChB,WAAW,GAAG;AAE/CL,MAAMW,WAAW,GAAGL;AACpBN,MAAMgB,MAAM,GAAGD;AACff,MAAMoB,OAAO,GAAGD;AAChBnB,MAAMuB,QAAQ,GAAGF;AACjBrB,MAAMkB,OAAO,GAAGD"}
@@ -1,6 +1,6 @@
1
- import { BadgeCssVariables, BadgeProps, BadgeStylesNames, BadgeVariant, PolymorphicFactory, PolymorphicComponentProps } from '@mantine/core';
1
+ import { BadgeCssVariables, BadgeProps, BadgeStylesNames, BadgeVariant, ElementProps, PolymorphicComponentProps, PolymorphicFactory } from '@mantine/core';
2
2
  import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
3
- export interface SemanticBadgeProps extends Pick<BadgeProps, 'm' | 'mt' | 'mb' | 'ml' | 'mr' | 'ms' | 'me' | 'mx' | 'my' | 'miw' | 'maw' | 'pos' | 'top' | 'left' | 'right' | 'bottom' | 'inset' | 'display' | 'flex' | 'leftSection' | 'rightSection' | 'fullWidth' | 'circle'> {
3
+ export interface SemanticBadgeProps extends Pick<BadgeProps, 'm' | 'mt' | 'mb' | 'ml' | 'mr' | 'ms' | 'me' | 'mx' | 'my' | 'miw' | 'maw' | 'pos' | 'top' | 'left' | 'right' | 'bottom' | 'inset' | 'display' | 'flex' | 'leftSection' | 'rightSection' | 'fullWidth' | 'circle'>, ElementProps<'div'> {
4
4
  /**
5
5
  * The size of the badge.
6
6
  * @default 'small'
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EAGZ,kBAAkB,EAClB,yBAAyB,EAE5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAa,yBAAyB,EAAgB,SAAS,EAAE,aAAa,EAAC,MAAM,OAAO,CAAC;AAEpG,MAAM,WAAW,kBACb,SAAQ,IAAI,CACR,UAAU,EACR,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,MAAM,GACN,aAAa,GACb,cAAc,GACd,WAAW,GACX,QAAQ,CACb;IACD;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB;;;OAGG;IACH,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,yBAAyB,CAAC,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;AAuH1G,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;IAClD,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB,EAAE;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;WAhBP,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;WAbM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;WAbM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;aANY,aAAa;eACX,aAAa;aACf,aAAa;cACZ,aAAa;aACd,aAAa;cACZ,aAAa;CAIqF,CAAC"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EAEZ,yBAAyB,EAEzB,kBAAkB,EAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAa,yBAAyB,EAAgB,SAAS,EAAE,aAAa,EAAC,MAAM,OAAO,CAAC;AAEpG,MAAM,WAAW,kBACb,SACI,IAAI,CACA,UAAU,EACR,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,MAAM,GACN,aAAa,GACb,cAAc,GACd,WAAW,GACX,QAAQ,CACb,EACD,YAAY,CAAC,KAAK,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB;;;OAGG;IACH,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,yBAAyB,CAAC,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;AAuH1G,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;IAClD,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB,EAAE;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B,CAAC;CACL,CAAC,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;WAhBP,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;WAbM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;WAbM,UAAU;gBACL,cAAc;sBACR,KAAK;iBACV,gBAAgB;UACvB,iBAAiB;aACd,YAAY;sBACH;QACd,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,aAAa,CAAC;KAC3B;;aANY,aAAa;eACX,aAAa;aACf,aAAa;cACZ,aAAa;aACd,aAAa;cACZ,aAAa;CAIqF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import {\n alpha,\n BadgeCssVariables,\n BadgeProps,\n BadgeStylesNames,\n BadgeVariant,\n Badge as MantineBadge,\n polymorphicFactory,\n PolymorphicFactory,\n PolymorphicComponentProps,\n useComputedColorScheme,\n} from '@mantine/core';\nimport {forwardRef, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes} from 'react';\n\nexport interface SemanticBadgeProps\n extends Pick<\n BadgeProps,\n | 'm'\n | 'mt'\n | 'mb'\n | 'ml'\n | 'mr'\n | 'ms'\n | 'me'\n | 'mx'\n | 'my'\n | 'miw'\n | 'maw'\n | 'pos'\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'inset'\n | 'display'\n | 'flex'\n | 'leftSection'\n | 'rightSection'\n | 'fullWidth'\n | 'circle'\n > {\n /**\n * The size of the badge.\n * @default 'small'\n */\n size?: 'small' | 'large';\n /**\n * Whether the badge is displayed over a light or dark background.\n * @default Falls back to theme.\n */\n on?: 'light' | 'dark';\n /**\n * The content of the badge.\n */\n children?: ReactNode;\n}\n\nexport type SemanticBadge = ForwardRefExoticComponent<SemanticBadgeProps & RefAttributes<HTMLDivElement>>;\n\nconst enhanceBadge = (\n ComponentLight: <L = 'div'>(props: PolymorphicComponentProps<L, BadgeProps>) => ReactElement,\n ComponentDark: <L = 'div'>(props: PolymorphicComponentProps<L, BadgeProps>) => ReactElement,\n displayName: string,\n): SemanticBadge => {\n const EnhancedBadge = forwardRef<HTMLDivElement, SemanticBadgeProps>((props, ref) => {\n const computedColorScheme = useComputedColorScheme('light', {getInitialValueInEffect: true});\n const Component = (props.on || computedColorScheme) === 'dark' ? ComponentDark : ComponentLight;\n return (\n <Component\n ref={ref}\n {...props}\n py={2}\n px={12}\n size={props.size === 'large' ? 'lg' : 'md'}\n h={props.size === 'large' ? 22 : 20}\n />\n );\n });\n EnhancedBadge.displayName = displayName;\n return EnhancedBadge;\n};\n\nconst BadgePrimary = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n bd: '1px solid var(--badge-bg)',\n c: 'var(--mantine-primary-color-6)',\n }),\n MantineBadge.withProps({\n variant: 'light',\n bd: `1px solid ${alpha('var(--mantine-primary-color-3)', 0.32)}`,\n c: 'var(--mantine-primary-color-2)',\n bg: alpha('var(--mantine-primary-color-3)', 0.32),\n }),\n 'Badge.Primary',\n);\nconst BadgeSecondary = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n bd: '1px solid var(--badge-bg)',\n c: 'gray.7',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'var(--mantine-color-white)',\n bd: `1px solid ${alpha('var(--mantine-color-gray-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-gray-3)', 0.16),\n }),\n 'Badge.Secondary',\n);\nconst BadgeSuccess = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'green',\n bd: '1px solid var(--badge-bg)',\n c: 'green.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'green',\n c: 'green.2',\n bd: `1px solid ${alpha('var(--mantine-color-green-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-green-3)', 0.16),\n }),\n 'Badge.Success',\n);\nconst BadgeCritical = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'critical',\n bd: '1px solid var(--badge-bg)',\n c: 'red.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'critical',\n c: 'red.2',\n bd: `1px solid ${alpha('var(--mantine-color-red-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-red-3)', 0.16),\n }),\n 'Badge.Critical',\n);\nconst BadgeWarning = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'warning',\n bd: '1px solid var(--badge-bg)',\n c: 'yellow.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'warning',\n c: 'yellow.2',\n bd: `1px solid ${alpha('var(--mantine-color-yellow-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-yellow-3)', 0.16),\n }),\n 'Badge.Warning',\n);\nconst BadgeDisabled = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'var(--coveo-color-text-disabled)',\n bg: 'var(--coveo-color-bg-disabled)',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'dark.3',\n bg: alpha('var(--mantine-color-gray-3)', 0.16),\n }),\n 'Badge.Disabled',\n);\n\nexport type BadgeOverloadFactory = PolymorphicFactory<{\n props: BadgeProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: BadgeStylesNames;\n vars: BadgeCssVariables;\n variant: BadgeVariant;\n staticComponents: {\n Primary: SemanticBadge;\n Secondary: SemanticBadge;\n Success: SemanticBadge;\n Critical: SemanticBadge;\n Warning: SemanticBadge;\n Disabled: SemanticBadge;\n };\n}>;\n\nexport const Badge = polymorphicFactory<BadgeOverloadFactory>((props, ref) => <MantineBadge ref={ref} {...props} />);\n\nBadge.Primary = BadgePrimary;\nBadge.Secondary = BadgeSecondary;\nBadge.Success = BadgeSuccess;\nBadge.Critical = BadgeCritical;\nBadge.Warning = BadgeWarning;\nBadge.Disabled = BadgeDisabled;\n"],"names":["Badge","enhanceBadge","ComponentLight","ComponentDark","displayName","EnhancedBadge","forwardRef","props","ref","computedColorScheme","useComputedColorScheme","getInitialValueInEffect","Component","on","py","px","size","h","BadgePrimary","MantineBadge","withProps","variant","bd","c","alpha","bg","BadgeSecondary","color","BadgeSuccess","BadgeCritical","BadgeWarning","BadgeDisabled","polymorphicFactory","Primary","Secondary","Success","Critical","Warning","Disabled"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import {\n alpha,\n BadgeCssVariables,\n BadgeProps,\n BadgeStylesNames,\n BadgeVariant,\n ElementProps,\n Badge as MantineBadge,\n PolymorphicComponentProps,\n polymorphicFactory,\n PolymorphicFactory,\n useComputedColorScheme,\n} from '@mantine/core';\nimport {forwardRef, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes} from 'react';\n\nexport interface SemanticBadgeProps\n extends\n Pick<\n BadgeProps,\n | 'm'\n | 'mt'\n | 'mb'\n | 'ml'\n | 'mr'\n | 'ms'\n | 'me'\n | 'mx'\n | 'my'\n | 'miw'\n | 'maw'\n | 'pos'\n | 'top'\n | 'left'\n | 'right'\n | 'bottom'\n | 'inset'\n | 'display'\n | 'flex'\n | 'leftSection'\n | 'rightSection'\n | 'fullWidth'\n | 'circle'\n >,\n ElementProps<'div'> {\n /**\n * The size of the badge.\n * @default 'small'\n */\n size?: 'small' | 'large';\n /**\n * Whether the badge is displayed over a light or dark background.\n * @default Falls back to theme.\n */\n on?: 'light' | 'dark';\n /**\n * The content of the badge.\n */\n children?: ReactNode;\n}\n\nexport type SemanticBadge = ForwardRefExoticComponent<SemanticBadgeProps & RefAttributes<HTMLDivElement>>;\n\nconst enhanceBadge = (\n ComponentLight: <L = 'div'>(props: PolymorphicComponentProps<L, BadgeProps>) => ReactElement,\n ComponentDark: <L = 'div'>(props: PolymorphicComponentProps<L, BadgeProps>) => ReactElement,\n displayName: string,\n): SemanticBadge => {\n const EnhancedBadge = forwardRef<HTMLDivElement, SemanticBadgeProps>((props, ref) => {\n const computedColorScheme = useComputedColorScheme('light', {getInitialValueInEffect: true});\n const Component = (props.on || computedColorScheme) === 'dark' ? ComponentDark : ComponentLight;\n return (\n <Component\n ref={ref}\n {...props}\n py={2}\n px={12}\n size={props.size === 'large' ? 'lg' : 'md'}\n h={props.size === 'large' ? 22 : 20}\n />\n );\n });\n EnhancedBadge.displayName = displayName;\n return EnhancedBadge;\n};\n\nconst BadgePrimary = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n bd: '1px solid var(--badge-bg)',\n c: 'var(--mantine-primary-color-6)',\n }),\n MantineBadge.withProps({\n variant: 'light',\n bd: `1px solid ${alpha('var(--mantine-primary-color-3)', 0.32)}`,\n c: 'var(--mantine-primary-color-2)',\n bg: alpha('var(--mantine-primary-color-3)', 0.32),\n }),\n 'Badge.Primary',\n);\nconst BadgeSecondary = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n bd: '1px solid var(--badge-bg)',\n c: 'gray.7',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'var(--mantine-color-white)',\n bd: `1px solid ${alpha('var(--mantine-color-gray-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-gray-3)', 0.16),\n }),\n 'Badge.Secondary',\n);\nconst BadgeSuccess = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'green',\n bd: '1px solid var(--badge-bg)',\n c: 'green.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'green',\n c: 'green.2',\n bd: `1px solid ${alpha('var(--mantine-color-green-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-green-3)', 0.16),\n }),\n 'Badge.Success',\n);\nconst BadgeCritical = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'critical',\n bd: '1px solid var(--badge-bg)',\n c: 'red.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'critical',\n c: 'red.2',\n bd: `1px solid ${alpha('var(--mantine-color-red-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-red-3)', 0.16),\n }),\n 'Badge.Critical',\n);\nconst BadgeWarning = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'warning',\n bd: '1px solid var(--badge-bg)',\n c: 'yellow.6',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'warning',\n c: 'yellow.2',\n bd: `1px solid ${alpha('var(--mantine-color-yellow-3)', 0.16)}`,\n bg: alpha('var(--mantine-color-yellow-3)', 0.16),\n }),\n 'Badge.Warning',\n);\nconst BadgeDisabled = enhanceBadge(\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'var(--coveo-color-text-disabled)',\n bg: 'var(--coveo-color-bg-disabled)',\n }),\n MantineBadge.withProps({\n variant: 'light',\n color: 'gray',\n c: 'dark.3',\n bg: alpha('var(--mantine-color-gray-3)', 0.16),\n }),\n 'Badge.Disabled',\n);\n\nexport type BadgeOverloadFactory = PolymorphicFactory<{\n props: BadgeProps;\n defaultRef: HTMLDivElement;\n defaultComponent: 'div';\n stylesNames: BadgeStylesNames;\n vars: BadgeCssVariables;\n variant: BadgeVariant;\n staticComponents: {\n Primary: SemanticBadge;\n Secondary: SemanticBadge;\n Success: SemanticBadge;\n Critical: SemanticBadge;\n Warning: SemanticBadge;\n Disabled: SemanticBadge;\n };\n}>;\n\nexport const Badge = polymorphicFactory<BadgeOverloadFactory>((props, ref) => <MantineBadge ref={ref} {...props} />);\n\nBadge.Primary = BadgePrimary;\nBadge.Secondary = BadgeSecondary;\nBadge.Success = BadgeSuccess;\nBadge.Critical = BadgeCritical;\nBadge.Warning = BadgeWarning;\nBadge.Disabled = BadgeDisabled;\n"],"names":["Badge","enhanceBadge","ComponentLight","ComponentDark","displayName","EnhancedBadge","forwardRef","props","ref","computedColorScheme","useComputedColorScheme","getInitialValueInEffect","Component","on","py","px","size","h","BadgePrimary","MantineBadge","withProps","variant","bd","c","alpha","bg","BadgeSecondary","color","BadgeSuccess","BadgeCritical","BadgeWarning","BadgeDisabled","polymorphicFactory","Primary","Secondary","Success","Critical","Warning","Disabled"],"mappings":"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"}
@@ -15,7 +15,7 @@ var _jsxruntime = require("react/jsx-runtime");
15
15
  var _core = require("@mantine/core");
16
16
  var _Headercontext = require("../Header.context.js");
17
17
  var defaultProps = {
18
- gap: 'sm'
18
+ gap: 'xs'
19
19
  };
20
20
  var HeaderRight = (0, _core.factory)(function(_props, ref) {
21
21
  var props = (0, _core.useProps)('HeaderRight', defaultProps, _props);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Header/HeaderRight/HeaderRight.tsx"],"sourcesContent":["import {CompoundStylesApiProps, Factory, Group, GroupProps, factory, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\n\nexport type HeaderRightStyleNames = 'right';\n\nexport interface HeaderRightProps\n extends\n Omit<GroupProps, 'classNames' | 'styles' | 'vars' | 'children'>,\n CompoundStylesApiProps<HeaderRightFactory> {\n children: ReactNode;\n}\n\nexport type HeaderRightFactory = Factory<{\n props: HeaderRightProps;\n ref: HTMLDivElement;\n stylesNames: HeaderRightStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderRightProps> = {\n gap: 'sm',\n};\n\nexport const HeaderRight = factory<HeaderRightFactory>((_props, ref) => {\n const props = useProps('HeaderRight', defaultProps, _props);\n const {gap, className, classNames, styles, style, children, vars, ...others} = props;\n const ctx = useHeaderContext();\n\n return (\n <Group\n ref={ref}\n gap={gap}\n {...ctx.getStyles('right', {className, style, classNames, styles, props})}\n {...others}\n >\n {children}\n </Group>\n );\n});\n\nHeaderRight.displayName = 'Header.Right';\n"],"names":["HeaderRight","defaultProps","gap","factory","_props","ref","props","useProps","className","classNames","styles","style","children","vars","others","ctx","useHeaderContext","Group","getStyles","displayName"],"mappings":";;;;+BAwBaA;;;eAAAA;;;;;;;oBAxBuE;6BAErD;AAkB/B,IAAMC,eAA0C;IAC5CC,KAAK;AACT;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,QAAQC;IAC5D,IAAMC,QAAQC,IAAAA,cAAQ,EAAC,eAAeN,cAAcG;IACpD,IAAOF,MAAwEI,MAAxEJ,KAAKM,YAAmEF,MAAnEE,WAAWC,aAAwDH,MAAxDG,YAAYC,SAA4CJ,MAA5CI,QAAQC,QAAoCL,MAApCK,OAAOC,WAA6BN,MAA7BM,UAAUC,OAAmBP,MAAnBO,MAASC,sCAAUR;;;;;;;;;IAC/E,IAAMS,MAAMC,IAAAA,+BAAgB;IAE5B,qBACI,qBAACC,WAAK;QACFZ,KAAKA;QACLH,KAAKA;OACDa,IAAIG,SAAS,CAAC,SAAS;QAACV,WAAAA;QAAWG,OAAAA;QAAOF,YAAAA;QAAYC,QAAAA;QAAQJ,OAAAA;IAAK,IACnEQ;kBAEHF;;AAGb;AAEAZ,YAAYmB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Header/HeaderRight/HeaderRight.tsx"],"sourcesContent":["import {CompoundStylesApiProps, Factory, Group, GroupProps, factory, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\n\nexport type HeaderRightStyleNames = 'right';\n\nexport interface HeaderRightProps\n extends\n Omit<GroupProps, 'classNames' | 'styles' | 'vars' | 'children'>,\n CompoundStylesApiProps<HeaderRightFactory> {\n children: ReactNode;\n}\n\nexport type HeaderRightFactory = Factory<{\n props: HeaderRightProps;\n ref: HTMLDivElement;\n stylesNames: HeaderRightStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderRightProps> = {\n gap: 'xs',\n};\n\nexport const HeaderRight = factory<HeaderRightFactory>((_props, ref) => {\n const props = useProps('HeaderRight', defaultProps, _props);\n const {gap, className, classNames, styles, style, children, vars, ...others} = props;\n const ctx = useHeaderContext();\n\n return (\n <Group\n ref={ref}\n gap={gap}\n {...ctx.getStyles('right', {className, style, classNames, styles, props})}\n {...others}\n >\n {children}\n </Group>\n );\n});\n\nHeaderRight.displayName = 'Header.Right';\n"],"names":["HeaderRight","defaultProps","gap","factory","_props","ref","props","useProps","className","classNames","styles","style","children","vars","others","ctx","useHeaderContext","Group","getStyles","displayName"],"mappings":";;;;+BAwBaA;;;eAAAA;;;;;;;oBAxBuE;6BAErD;AAkB/B,IAAMC,eAA0C;IAC5CC,KAAK;AACT;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,QAAQC;IAC5D,IAAMC,QAAQC,IAAAA,cAAQ,EAAC,eAAeN,cAAcG;IACpD,IAAOF,MAAwEI,MAAxEJ,KAAKM,YAAmEF,MAAnEE,WAAWC,aAAwDH,MAAxDG,YAAYC,SAA4CJ,MAA5CI,QAAQC,QAAoCL,MAApCK,OAAOC,WAA6BN,MAA7BM,UAAUC,OAAmBP,MAAnBO,MAASC,sCAAUR;;;;;;;;;IAC/E,IAAMS,MAAMC,IAAAA,+BAAgB;IAE5B,qBACI,qBAACC,WAAK;QACFZ,KAAKA;QACLH,KAAKA;OACDa,IAAIG,SAAS,CAAC,SAAS;QAACV,WAAAA;QAAWG,OAAAA;QAAOF,YAAAA;QAAYC,QAAAA;QAAQJ,OAAAA;IAAK,IACnEQ;kBAEHF;;AAGb;AAEAZ,YAAYmB,WAAW,GAAG"}
@@ -0,0 +1,16 @@
1
+ import type { TableState } from './use-table.js';
2
+ type ColumnVisibility = TableState['columnVisibility'];
3
+ /**
4
+ * Hook that persists column visibility preferences to localStorage.
5
+ *
6
+ * @param defaultVisibleColumns - The default visibility map. Its keys define the set of valid column IDs.
7
+ * Must be a stable reference (e.g. via `useRef`) to avoid re-reading localStorage on every render.
8
+ * @param maxSelectableColumns - Maximum number of columns that can be visible at the same time.
9
+ * @param tableId - Unique identifier for the table. When omitted, no persistence occurs.
10
+ */
11
+ export declare const usePersistedColumnVisibility: (defaultVisibleColumns: ColumnVisibility, maxSelectableColumns: number, tableId?: string) => {
12
+ initialColumnVisibility: Record<string, boolean>;
13
+ persistColumnVisibility: (visibility: ColumnVisibility) => void;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=use-persisted-column-visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-persisted-column-visibility.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/use-persisted-column-visibility.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE/C,KAAK,gBAAgB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAgCvD;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GACrC,uBAAuB,gBAAgB,EACvC,sBAAsB,MAAM,EAC5B,UAAU,MAAM;;0CAqBC,gBAAgB;CAUpC,CAAC"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "usePersistedColumnVisibility", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return usePersistedColumnVisibility;
9
+ }
10
+ });
11
+ var _object_spread = require("@swc/helpers/_/_object_spread");
12
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
13
+ var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
14
+ var _type_of = require("@swc/helpers/_/_type_of");
15
+ var _react = require("react");
16
+ var _localstorage = require("../../utils/local-storage.js");
17
+ var storagePath = function storagePath(tableId) {
18
+ return [
19
+ 'table',
20
+ tableId,
21
+ 'columnVisibility'
22
+ ];
23
+ };
24
+ var capVisibleColumns = function capVisibleColumns(visibility, max) {
25
+ var visibleCount = 0;
26
+ var result = {};
27
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
28
+ try {
29
+ for(var _iterator = Object.entries(visibility)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
30
+ var _step_value = _sliced_to_array._(_step.value, 2), key = _step_value[0], isVisible = _step_value[1];
31
+ var shouldShow = isVisible && visibleCount < max;
32
+ result[key] = shouldShow;
33
+ if (shouldShow) {
34
+ visibleCount++;
35
+ }
36
+ }
37
+ } catch (err) {
38
+ _didIteratorError = true;
39
+ _iteratorError = err;
40
+ } finally{
41
+ try {
42
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
43
+ _iterator.return();
44
+ }
45
+ } finally{
46
+ if (_didIteratorError) {
47
+ throw _iteratorError;
48
+ }
49
+ }
50
+ }
51
+ return result;
52
+ };
53
+ var sanitizeFromStorage = function sanitizeFromStorage(raw, validColumnIds) {
54
+ var result = {};
55
+ if ((typeof raw === "undefined" ? "undefined" : _type_of._(raw)) !== 'object' || raw === null || Array.isArray(raw)) {
56
+ return result;
57
+ }
58
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
59
+ try {
60
+ for(var _iterator = Object.entries(raw)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
61
+ var _step_value = _sliced_to_array._(_step.value, 2), key = _step_value[0], value = _step_value[1];
62
+ if (validColumnIds.has(key) && typeof value === 'boolean') {
63
+ result[key] = value;
64
+ }
65
+ }
66
+ } catch (err) {
67
+ _didIteratorError = true;
68
+ _iteratorError = err;
69
+ } finally{
70
+ try {
71
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
72
+ _iterator.return();
73
+ }
74
+ } finally{
75
+ if (_didIteratorError) {
76
+ throw _iteratorError;
77
+ }
78
+ }
79
+ }
80
+ return result;
81
+ };
82
+ var usePersistedColumnVisibility = function usePersistedColumnVisibility(defaultVisibleColumns, maxSelectableColumns, tableId) {
83
+ var path = tableId ? storagePath(tableId) : null;
84
+ var validIds = (0, _react.useMemo)(function() {
85
+ return new Set(Object.keys(defaultVisibleColumns));
86
+ }, [
87
+ defaultVisibleColumns
88
+ ]);
89
+ var hasValidIds = validIds.size > 0;
90
+ var initialColumnVisibility = (0, _react.useMemo)(function() {
91
+ if (!path || !hasValidIds) {
92
+ return defaultVisibleColumns;
93
+ }
94
+ var stored = (0, _localstorage.getStorageItem)(_to_consumable_array._(path));
95
+ if (stored !== null) {
96
+ var sanitized = sanitizeFromStorage(stored, validIds);
97
+ if (Object.keys(sanitized).length > 0) {
98
+ return capVisibleColumns(_object_spread._({}, defaultVisibleColumns, sanitized), maxSelectableColumns);
99
+ }
100
+ }
101
+ return capVisibleColumns(defaultVisibleColumns, maxSelectableColumns);
102
+ }, [
103
+ path,
104
+ validIds,
105
+ defaultVisibleColumns,
106
+ maxSelectableColumns
107
+ ]);
108
+ var persistColumnVisibility = (0, _react.useCallback)(function(visibility) {
109
+ if (!path || !hasValidIds) {
110
+ return;
111
+ }
112
+ (0, _localstorage.setStorageItem)(_to_consumable_array._(path), visibility);
113
+ }, [
114
+ path,
115
+ hasValidIds
116
+ ]);
117
+ return {
118
+ initialColumnVisibility: initialColumnVisibility,
119
+ persistColumnVisibility: persistColumnVisibility
120
+ };
121
+ };
122
+
123
+ //# sourceMappingURL=use-persisted-column-visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Table/use-persisted-column-visibility.ts"],"sourcesContent":["import {useCallback, useMemo} from 'react';\nimport {getStorageItem, setStorageItem} from '../../utils/local-storage.js';\nimport type {TableState} from './use-table.js';\n\ntype ColumnVisibility = TableState['columnVisibility'];\n\nconst storagePath = (tableId: string) => ['table', tableId, 'columnVisibility'] as const;\n\nconst capVisibleColumns = (visibility: ColumnVisibility, max: number): ColumnVisibility => {\n let visibleCount = 0;\n const result: ColumnVisibility = {};\n for (const [key, isVisible] of Object.entries(visibility)) {\n const shouldShow = isVisible && visibleCount < max;\n result[key] = shouldShow;\n if (shouldShow) {\n visibleCount++;\n }\n }\n return result;\n};\n\nconst sanitizeFromStorage = (raw: unknown, validColumnIds: Set<string>): ColumnVisibility => {\n const result: ColumnVisibility = {};\n\n if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {\n return result;\n }\n\n for (const [key, value] of Object.entries(raw as Record<string, unknown>)) {\n if (validColumnIds.has(key) && typeof value === 'boolean') {\n result[key] = value;\n }\n }\n return result;\n};\n\n/**\n * Hook that persists column visibility preferences to localStorage.\n *\n * @param defaultVisibleColumns - The default visibility map. Its keys define the set of valid column IDs.\n * Must be a stable reference (e.g. via `useRef`) to avoid re-reading localStorage on every render.\n * @param maxSelectableColumns - Maximum number of columns that can be visible at the same time.\n * @param tableId - Unique identifier for the table. When omitted, no persistence occurs.\n */\nexport const usePersistedColumnVisibility = (\n defaultVisibleColumns: ColumnVisibility,\n maxSelectableColumns: number,\n tableId?: string,\n) => {\n const path = tableId ? storagePath(tableId) : null;\n const validIds = useMemo(() => new Set(Object.keys(defaultVisibleColumns)), [defaultVisibleColumns]);\n const hasValidIds = validIds.size > 0;\n\n const initialColumnVisibility = useMemo((): ColumnVisibility => {\n if (!path || !hasValidIds) {\n return defaultVisibleColumns;\n }\n const stored = getStorageItem<unknown>([...path]);\n if (stored !== null) {\n const sanitized = sanitizeFromStorage(stored, validIds);\n if (Object.keys(sanitized).length > 0) {\n return capVisibleColumns({...defaultVisibleColumns, ...sanitized}, maxSelectableColumns);\n }\n }\n return capVisibleColumns(defaultVisibleColumns, maxSelectableColumns);\n }, [path, validIds, defaultVisibleColumns, maxSelectableColumns]);\n\n const persistColumnVisibility = useCallback(\n (visibility: ColumnVisibility) => {\n if (!path || !hasValidIds) {\n return;\n }\n setStorageItem([...path], visibility);\n },\n [path, hasValidIds],\n );\n\n return {initialColumnVisibility, persistColumnVisibility};\n};\n"],"names":["usePersistedColumnVisibility","storagePath","tableId","capVisibleColumns","visibility","max","visibleCount","result","Object","entries","key","isVisible","shouldShow","sanitizeFromStorage","raw","validColumnIds","Array","isArray","value","has","defaultVisibleColumns","maxSelectableColumns","path","validIds","useMemo","Set","keys","hasValidIds","size","initialColumnVisibility","stored","getStorageItem","sanitized","length","persistColumnVisibility","useCallback","setStorageItem"],"mappings":";;;;+BA4CaA;;;eAAAA;;;;;;;qBA5CsB;4BACU;AAK7C,IAAMC,cAAc,qBAACC;WAAoB;QAAC;QAASA;QAAS;KAAmB;;AAE/E,IAAMC,oBAAoB,2BAACC,YAA8BC;IACrD,IAAIC,eAAe;IACnB,IAAMC,SAA2B,CAAC;QAC7B,kCAAA,2BAAA;;QAAL,QAAK,YAA0BC,OAAOC,OAAO,CAACL,gCAAzC,SAAA,6BAAA,QAAA,yBAAA,iCAAsD;YAAtD,qCAAA,iBAAOM,sBAAKC;YACb,IAAMC,aAAaD,aAAaL,eAAeD;YAC/CE,MAAM,CAACG,IAAI,GAAGE;YACd,IAAIA,YAAY;gBACZN;YACJ;QACJ;;QANK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAOL,OAAOC;AACX;AAEA,IAAMM,sBAAsB,6BAACC,KAAcC;IACvC,IAAMR,SAA2B,CAAC;IAElC,IAAI,CAAA,OAAOO,oCAAP,UAAU,CAAHA,IAAE,MAAM,YAAYA,QAAQ,QAAQE,MAAMC,OAAO,CAACH,MAAM;QAC/D,OAAOP;IACX;QAEK,kCAAA,2BAAA;;QAAL,QAAK,YAAsBC,OAAOC,OAAO,CAACK,yBAArC,SAAA,6BAAA,QAAA,yBAAA,iCAAsE;YAAtE,qCAAA,iBAAOJ,sBAAKQ;YACb,IAAIH,eAAeI,GAAG,CAACT,QAAQ,OAAOQ,UAAU,WAAW;gBACvDX,MAAM,CAACG,IAAI,GAAGQ;YAClB;QACJ;;QAJK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAKL,OAAOX;AACX;AAUO,IAAMP,+BAA+B,sCACxCoB,uBACAC,sBACAnB;IAEA,IAAMoB,OAAOpB,UAAUD,YAAYC,WAAW;IAC9C,IAAMqB,WAAWC,IAAAA,cAAO,EAAC;eAAM,IAAIC,IAAIjB,OAAOkB,IAAI,CAACN;OAAyB;QAACA;KAAsB;IACnG,IAAMO,cAAcJ,SAASK,IAAI,GAAG;IAEpC,IAAMC,0BAA0BL,IAAAA,cAAO,EAAC;QACpC,IAAI,CAACF,QAAQ,CAACK,aAAa;YACvB,OAAOP;QACX;QACA,IAAMU,SAASC,IAAAA,4BAAc,EAAW,uBAAGT;QAC3C,IAAIQ,WAAW,MAAM;YACjB,IAAME,YAAYnB,oBAAoBiB,QAAQP;YAC9C,IAAIf,OAAOkB,IAAI,CAACM,WAAWC,MAAM,GAAG,GAAG;gBACnC,OAAO9B,kBAAkB,qBAAIiB,uBAA0BY,YAAYX;YACvE;QACJ;QACA,OAAOlB,kBAAkBiB,uBAAuBC;IACpD,GAAG;QAACC;QAAMC;QAAUH;QAAuBC;KAAqB;IAEhE,IAAMa,0BAA0BC,IAAAA,kBAAW,EACvC,SAAC/B;QACG,IAAI,CAACkB,QAAQ,CAACK,aAAa;YACvB;QACJ;QACAS,IAAAA,4BAAc,EAAE,uBAAGd,OAAOlB;IAC9B,GACA;QAACkB;QAAMK;KAAY;IAGvB,OAAO;QAACE,yBAAAA;QAAyBK,yBAAAA;IAAuB;AAC5D"}
@@ -182,6 +182,18 @@ export interface UseTableOptions<TData = unknown> {
182
182
  * @default false
183
183
  */
184
184
  syncWithUrl?: boolean;
185
+ /**
186
+ * Unique identifier for the table. When provided, column visibility preferences are persisted to localStorage.
187
+ */
188
+ tableId?: string;
189
+ /**
190
+ * Maximum number of columns that can be visible when restoring persisted visibility from localStorage.
191
+ * This only affects the initial column visibility resolved on mount when `tableId` is set.
192
+ * It does not enforce a runtime limit on `setColumnVisibility` — use `TableColumnsSelector` for UI enforcement.
193
+ *
194
+ * @default Infinity
195
+ */
196
+ maxSelectableColumns?: number;
185
197
  }
186
198
  export declare const useTable: <TData>(userOptions?: UseTableOptions<TData>) => TableStore<TData>;
187
199
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/use-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/use-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAC,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAiC,MAAM,OAAO,CAAC;AAK/E,KAAK,WAAW,CAAC,CAAC,IAAI;KACjB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACvC;;;;OAIG;IACH,UAAU,EAAE,eAAe,CAAC;IAC5B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,EAAE,aAAa,CAAC;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,SAAS,EAAE,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACnD;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,OAAO;IACvC;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB;;OAEG;IACH,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACH,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnE;;OAEG;IACH,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACH,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrE;;OAEG;IACH,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjE;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvE;;OAEG;IACH,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACH,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACrF;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B;;OAEG;IACH,eAAe,EAAE,MAAM,KAAK,EAAE,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,GAAG,OAAO;IAC5C;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AA4HD,eAAO,MAAM,QAAQ,GAAI,KAAK,EAAE,cAAa,eAAe,CAAC,KAAK,CAAM,KAAG,UAAU,CAAC,KAAK,CAmK1F,CAAC"}
@@ -17,6 +17,7 @@ var _hooks = require("@mantine/hooks");
17
17
  var _lodashdefaultsdeep = /*#__PURE__*/ _interop_require_default._(require("lodash.defaultsdeep"));
18
18
  var _react = require("react");
19
19
  var _useurlsyncedstate = require("../../hooks/use-url-synced-state.js");
20
+ var _usepersistedcolumnvisibility = require("./use-persisted-column-visibility.js");
20
21
  var defaultOptions = {
21
22
  enableRowSelection: true,
22
23
  enableMultiRowSelection: false,
@@ -200,8 +201,11 @@ var COLUMN_VISIBILITY_SERIALIZATION = serialization({
200
201
  });
201
202
  var useTable = function useTable() {
202
203
  var userOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
204
+ var _options_maxSelectableColumns;
203
205
  var options = (0, _lodashdefaultsdeep.default)({}, userOptions, defaultOptions);
204
- var initialState = (0, _lodashdefaultsdeep.default)({}, options.initialState, defaultState);
206
+ var _useState = _sliced_to_array._((0, _react.useState)(function() {
207
+ return (0, _lodashdefaultsdeep.default)({}, userOptions.initialState, defaultState);
208
+ }), 1), initialState = _useState[0];
205
209
  /**
206
210
  * The `useUrlSyncedState` hook defaults to synchronize, but the table wants to default to not synchronize,
207
211
  * so always pass the sync option as a resolved boolean value.
@@ -231,15 +235,26 @@ var useTable = function useTable() {
231
235
  initialState: initialState.dateRange,
232
236
  sync: sync
233
237
  })), 2), dateRange = _useUrlSyncedState5[0], setDateRange = _useUrlSyncedState5[1];
238
+ var _usePersistedColumnVisibility = (0, _usepersistedcolumnvisibility.usePersistedColumnVisibility)(initialState.columnVisibility, (_options_maxSelectableColumns = options.maxSelectableColumns) !== null && _options_maxSelectableColumns !== void 0 ? _options_maxSelectableColumns : Infinity, options.tableId), initialColumnVisibility = _usePersistedColumnVisibility.initialColumnVisibility, persistColumnVisibility = _usePersistedColumnVisibility.persistColumnVisibility;
234
239
  var _useUrlSyncedState6 = _sliced_to_array._((0, _useurlsyncedstate.useUrlSyncedState)(_object_spread_props._(_object_spread._({}, COLUMN_VISIBILITY_SERIALIZATION), {
235
- initialState: initialState.columnVisibility,
240
+ initialState: initialColumnVisibility,
236
241
  sync: sync
237
- })), 2), columnVisibility = _useUrlSyncedState6[0], setColumnVisibility = _useUrlSyncedState6[1];
242
+ })), 2), columnVisibility = _useUrlSyncedState6[0], _setColumnVisibility = _useUrlSyncedState6[1];
243
+ var setColumnVisibility = (0, _react.useCallback)(function(updater) {
244
+ _setColumnVisibility(function(old) {
245
+ var newVis = _instanceof._(updater, Function) ? updater(old) : updater;
246
+ persistColumnVisibility(newVis);
247
+ return newVis;
248
+ });
249
+ }, [
250
+ _setColumnVisibility,
251
+ persistColumnVisibility
252
+ ]);
238
253
  // unsynced
239
- var _useState = _sliced_to_array._((0, _react.useState)(initialState.totalEntries), 2), totalEntries = _useState[0], _setTotalEntries = _useState[1];
240
- var _useState1 = _sliced_to_array._((0, _react.useState)(initialState.totalEntries), 2), unfilteredTotalEntries = _useState1[0], setUnfilteredTotalEntries = _useState1[1];
241
- var _useState2 = _sliced_to_array._((0, _react.useState)(initialState.expanded), 2), expanded = _useState2[0], setExpanded = _useState2[1];
242
- var _useState3 = _sliced_to_array._((0, _react.useState)(initialState.rowSelection), 2), rowSelection = _useState3[0], setRowSelection = _useState3[1];
254
+ var _useState1 = _sliced_to_array._((0, _react.useState)(initialState.totalEntries), 2), totalEntries = _useState1[0], _setTotalEntries = _useState1[1];
255
+ var _useState2 = _sliced_to_array._((0, _react.useState)(initialState.totalEntries), 2), unfilteredTotalEntries = _useState2[0], setUnfilteredTotalEntries = _useState2[1];
256
+ var _useState3 = _sliced_to_array._((0, _react.useState)(initialState.expanded), 2), expanded = _useState3[0], setExpanded = _useState3[1];
257
+ var _useState4 = _sliced_to_array._((0, _react.useState)(initialState.rowSelection), 2), rowSelection = _useState4[0], setRowSelection = _useState4[1];
243
258
  var isFiltered = !!globalFilter || Object.keys(predicates).some(function(predicate) {
244
259
  return !!predicates[predicate];
245
260
  }) || !!(dateRange === null || dateRange === void 0 ? void 0 : dateRange[0]) || !!(dateRange === null || dateRange === void 0 ? void 0 : dateRange[1]);