@coveord/plasma-mantine 56.8.0 → 56.9.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 (75) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/.turbo/turbo-test.log +108 -103
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/CodeEditor/languages/xml.d.ts.map +1 -1
  5. package/dist/cjs/components/CodeEditor/languages/xml.js.map +1 -1
  6. package/dist/cjs/components/Collection/enhanceWithCollectionProps.d.ts.map +1 -1
  7. package/dist/cjs/components/Collection/enhanceWithCollectionProps.js.map +1 -1
  8. package/dist/cjs/components/DateRangePicker/DateRange.module.css +4 -0
  9. package/dist/cjs/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  10. package/dist/cjs/components/DateRangePicker/DateRangePicker.js +2 -1
  11. package/dist/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  12. package/dist/cjs/components/RadioCard/RadioCard.d.ts +26 -0
  13. package/dist/cjs/components/RadioCard/RadioCard.d.ts.map +1 -0
  14. package/dist/cjs/components/RadioCard/RadioCard.js +82 -0
  15. package/dist/cjs/components/RadioCard/RadioCard.js.map +1 -0
  16. package/dist/cjs/components/Table/Table.d.ts +2 -12
  17. package/dist/cjs/components/Table/Table.d.ts.map +1 -1
  18. package/dist/cjs/components/Table/Table.js +0 -3
  19. package/dist/cjs/components/Table/Table.js.map +1 -1
  20. package/dist/cjs/components/Table/table-column/TableActionsColumn.d.ts +15 -0
  21. package/dist/cjs/components/Table/table-column/TableActionsColumn.d.ts.map +1 -1
  22. package/dist/cjs/components/Table/table-column/TableActionsColumn.js +14 -1
  23. package/dist/cjs/components/Table/table-column/TableActionsColumn.js.map +1 -1
  24. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.d.ts +11 -32
  25. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  26. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js +101 -97
  27. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  28. package/dist/cjs/index.d.ts +2 -0
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +8 -0
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/styles/RadioCard.module.css +44 -0
  33. package/dist/esm/components/CodeEditor/languages/xml.d.ts.map +1 -1
  34. package/dist/esm/components/CodeEditor/languages/xml.js.map +1 -1
  35. package/dist/esm/components/Collection/enhanceWithCollectionProps.d.ts.map +1 -1
  36. package/dist/esm/components/Collection/enhanceWithCollectionProps.js.map +1 -1
  37. package/dist/esm/components/DateRangePicker/DateRange.module.css +4 -0
  38. package/dist/esm/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  39. package/dist/esm/components/DateRangePicker/DateRangePicker.js +2 -1
  40. package/dist/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
  41. package/dist/esm/components/RadioCard/RadioCard.d.ts +26 -0
  42. package/dist/esm/components/RadioCard/RadioCard.d.ts.map +1 -0
  43. package/dist/esm/components/RadioCard/RadioCard.js +63 -0
  44. package/dist/esm/components/RadioCard/RadioCard.js.map +1 -0
  45. package/dist/esm/components/Table/Table.d.ts +2 -12
  46. package/dist/esm/components/Table/Table.d.ts.map +1 -1
  47. package/dist/esm/components/Table/Table.js +0 -3
  48. package/dist/esm/components/Table/Table.js.map +1 -1
  49. package/dist/esm/components/Table/table-column/TableActionsColumn.d.ts +15 -0
  50. package/dist/esm/components/Table/table-column/TableActionsColumn.d.ts.map +1 -1
  51. package/dist/esm/components/Table/table-column/TableActionsColumn.js +12 -1
  52. package/dist/esm/components/Table/table-column/TableActionsColumn.js.map +1 -1
  53. package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.d.ts +11 -32
  54. package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  55. package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.js +94 -84
  56. package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  57. package/dist/esm/index.d.ts +2 -0
  58. package/dist/esm/index.d.ts.map +1 -1
  59. package/dist/esm/index.js +3 -0
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/styles/RadioCard.module.css +44 -0
  62. package/package.json +19 -19
  63. package/src/components/CodeEditor/languages/xml.ts +2 -1
  64. package/src/components/Collection/enhanceWithCollectionProps.ts +2 -2
  65. package/src/components/DateRangePicker/DateRange.module.css +4 -0
  66. package/src/components/DateRangePicker/DateRangePicker.tsx +2 -1
  67. package/src/components/RadioCard/RadioCard.tsx +73 -0
  68. package/src/components/RadioCard/__tests__/RadioCard.component.spec.tsx +25 -0
  69. package/src/components/Table/Table.tsx +4 -9
  70. package/src/components/Table/__tests__/TableColumnsSelectorHeader.spec.tsx +325 -0
  71. package/src/components/Table/table-column/TableActionsColumn.tsx +28 -1
  72. package/src/components/Table/table-columns-selector/TableColumnsSelector.tsx +96 -125
  73. package/src/index.ts +4 -0
  74. package/src/styles/RadioCard.module.css +44 -0
  75. package/src/components/Table/__tests__/TableColumnsSelector.spec.tsx +0 -352
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../../../src/components/CodeEditor/languages/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AA0C5C,eAAO,MAAM,GAAG;uBAXU,MAAM,KAAG,IAAI;CAWV,CAAC"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../../../src/components/CodeEditor/languages/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AA2C5C,eAAO,MAAM,GAAG;uBAXU,MAAM,KAAG,IAAI;CAWV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/CodeEditor/languages/xml.ts"],"sourcesContent":["import {Monaco} from '@monaco-editor/react';\n\nconst format = (xml: string): string => {\n // https://stackoverflow.com/questions/57039218/doesnt-monaco-editor-support-xml-language-by-default\n const PADDING = ' '.repeat(2);\n const reg = /(>)(<)(\\/*)/g;\n let pad = 0;\n\n xml = xml.replace(reg, '$1\\r\\n$2$3');\n\n return xml\n .split('\\r\\n')\n .map((node) => {\n let indent = 0;\n if (node.match(/.+<\\/\\w[^>]*>$/)) {\n indent = 0;\n } else if (node.match(/^<\\/\\w/) && pad > 0) {\n pad -= 1;\n } else if (node.match(/^<\\w[^>]*[^/]>.*$/)) {\n indent = 1;\n } else {\n indent = 0;\n }\n\n pad += indent;\n\n return PADDING.repeat(pad - indent) + node;\n })\n .join('\\r\\n');\n};\n\nconst register = (monaco: Monaco): void => {\n monaco.languages.registerDocumentFormattingEditProvider('xml', {\n provideDocumentFormattingEdits: async (model) => [\n {\n range: model.getFullModelRange(),\n text: format(model.getValue()),\n },\n ],\n });\n};\n\nexport const XML = {register};\n"],"names":["XML","format","xml","PADDING","repeat","reg","pad","replace","split","map","node","indent","match","join","register","monaco","languages","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","model","range","getFullModelRange","text","getValue"],"mappings":";;;;+BA0CaA;;;eAAAA;;;;;AAxCb,IAAMC,SAAS,SAACC;IACZ,oGAAoG;IACpG,IAAMC,UAAU,IAAIC,MAAM,CAAC;IAC3B,IAAMC,MAAM;IACZ,IAAIC,MAAM;IAEVJ,MAAMA,IAAIK,OAAO,CAACF,KAAK;IAEvB,OAAOH,IACFM,KAAK,CAAC,QACNC,GAAG,CAAC,SAACC;QACF,IAAIC,SAAS;QACb,IAAID,KAAKE,KAAK,CAAC,mBAAmB;YAC9BD,SAAS;QACb,OAAO,IAAID,KAAKE,KAAK,CAAC,aAAaN,MAAM,GAAG;YACxCA,OAAO;QACX,OAAO,IAAII,KAAKE,KAAK,CAAC,sBAAsB;YACxCD,SAAS;QACb,OAAO;YACHA,SAAS;QACb;QAEAL,OAAOK;QAEP,OAAOR,QAAQC,MAAM,CAACE,MAAMK,UAAUD;IAC1C,GACCG,IAAI,CAAC;AACd;AAEA,IAAMC,WAAW,SAACC;IACdA,OAAOC,SAAS,CAACC,sCAAsC,CAAC,OAAO;QAC3DC,gCAAgC,SAAOC;;;;;;4BACnC;gCACIC,OAAOD,MAAME,iBAAiB;gCAC9BC,MAAMrB,OAAOkB,MAAMI,QAAQ;4BAC/B;;;;;;IAER;AACJ;AAEO,IAAMvB,MAAM;IAACc,UAAAA;AAAQ"}
1
+ {"version":3,"sources":["../../../../../src/components/CodeEditor/languages/xml.ts"],"sourcesContent":["import {Monaco} from '@monaco-editor/react';\nimport type {editor} from 'monaco-editor';\n\nconst format = (xml: string): string => {\n // https://stackoverflow.com/questions/57039218/doesnt-monaco-editor-support-xml-language-by-default\n const PADDING = ' '.repeat(2);\n const reg = /(>)(<)(\\/*)/g;\n let pad = 0;\n\n xml = xml.replace(reg, '$1\\r\\n$2$3');\n\n return xml\n .split('\\r\\n')\n .map((node) => {\n let indent = 0;\n if (node.match(/.+<\\/\\w[^>]*>$/)) {\n indent = 0;\n } else if (node.match(/^<\\/\\w/) && pad > 0) {\n pad -= 1;\n } else if (node.match(/^<\\w[^>]*[^/]>.*$/)) {\n indent = 1;\n } else {\n indent = 0;\n }\n\n pad += indent;\n\n return PADDING.repeat(pad - indent) + node;\n })\n .join('\\r\\n');\n};\n\nconst register = (monaco: Monaco): void => {\n monaco.languages.registerDocumentFormattingEditProvider('xml', {\n provideDocumentFormattingEdits: async (model: editor.ITextModel) => [\n {\n range: model.getFullModelRange(),\n text: format(model.getValue()),\n },\n ],\n });\n};\n\nexport const XML = {register};\n"],"names":["XML","format","xml","PADDING","repeat","reg","pad","replace","split","map","node","indent","match","join","register","monaco","languages","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","model","range","getFullModelRange","text","getValue"],"mappings":";;;;+BA2CaA;;;eAAAA;;;;;AAxCb,IAAMC,SAAS,SAACC;IACZ,oGAAoG;IACpG,IAAMC,UAAU,IAAIC,MAAM,CAAC;IAC3B,IAAMC,MAAM;IACZ,IAAIC,MAAM;IAEVJ,MAAMA,IAAIK,OAAO,CAACF,KAAK;IAEvB,OAAOH,IACFM,KAAK,CAAC,QACNC,GAAG,CAAC,SAACC;QACF,IAAIC,SAAS;QACb,IAAID,KAAKE,KAAK,CAAC,mBAAmB;YAC9BD,SAAS;QACb,OAAO,IAAID,KAAKE,KAAK,CAAC,aAAaN,MAAM,GAAG;YACxCA,OAAO;QACX,OAAO,IAAII,KAAKE,KAAK,CAAC,sBAAsB;YACxCD,SAAS;QACb,OAAO;YACHA,SAAS;QACb;QAEAL,OAAOK;QAEP,OAAOR,QAAQC,MAAM,CAACE,MAAMK,UAAUD;IAC1C,GACCG,IAAI,CAAC;AACd;AAEA,IAAMC,WAAW,SAACC;IACdA,OAAOC,SAAS,CAACC,sCAAsC,CAAC,OAAO;QAC3DC,gCAAgC,SAAOC;;;;;;4BACnC;gCACIC,OAAOD,MAAME,iBAAiB;gCAC9BC,MAAMrB,OAAOkB,MAAMI,QAAQ;4BAC/B;;;;;;IAER;AACJ;AAEO,IAAMvB,MAAM;IAACc,UAAAA;AAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"enhanceWithCollectionProps.d.ts","sourceRoot":"","sources":["../../../../src/components/Collection/enhanceWithCollectionProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,0BAA0B,GACnC,UAAU,EACV,eAAe,SAAS,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,EAE5F,SAAS,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,OAAO,CAAC,OAAO,OAAO,EAAE,OAAO,CAAC,EAChC,UAAU;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAC,KAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAoBlF,CAAC"}
1
+ {"version":3,"file":"enhanceWithCollectionProps.d.ts","sourceRoot":"","sources":["../../../../src/components/Collection/enhanceWithCollectionProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAwB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,0BAA0B,GACnC,UAAU,EACV,eAAe,SAAS,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,EAE5F,SAAS,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,OAAO,CAAC,OAAO,OAAO,EAAE,OAAO,CAAC,EAChC,UAAU;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAC,KAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAoBlF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Collection/enhanceWithCollectionProps.ts"],"sourcesContent":["import {UseFormInput} from '@mantine/form';\nimport {CollectionProps} from './Collection.js';\n\nexport const enhanceWithCollectionProps = <\n FormValues,\n TransformValues extends (values: FormValues) => unknown = (values: FormValues) => FormValues,\n>(\n payload: Parameters<UseFormInput<FormValues, TransformValues>['enhanceGetInputProps']>[0],\n field: (typeof payload)['field'],\n options?: {validateInputOnChange?: boolean},\n): Pick<CollectionProps<unknown>, 'onReorderItem' | 'onInsertItem' | 'onRemoveItem'> => {\n if (payload.field === field) {\n const {validateInputOnChange = false} = options || {};\n return {\n onReorderItem: (reorderPayload: Record<'from' | 'to', number>) => {\n payload.form.reorderListItem(field, reorderPayload);\n validateInputOnChange && payload.form.validate();\n },\n onRemoveItem: (index: number) => {\n payload.form.removeListItem(field, index);\n validateInputOnChange && payload.form.validate();\n },\n onInsertItem: (valueToInsert: unknown, index: number) => {\n payload.form.insertListItem(field, valueToInsert, index);\n validateInputOnChange && payload.form.validate();\n },\n };\n }\n\n return {};\n};\n"],"names":["enhanceWithCollectionProps","payload","field","options","validateInputOnChange","onReorderItem","reorderPayload","form","reorderListItem","validate","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;;;+BAGaA;;;eAAAA;;;AAAN,IAAMA,6BAA6B,SAItCC,SACAC,OACAC;IAEA,IAAIF,QAAQC,KAAK,KAAKA,OAAO;QACzB,IAAwCC,OAAAA,WAAW,CAAC,gCAAZA,KAAjCC,uBAAAA,gEAAwB;QAC/B,OAAO;YACHC,eAAe,SAACC;gBACZL,QAAQM,IAAI,CAACC,eAAe,CAACN,OAAOI;gBACpCF,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;YACAC,cAAc,SAACC;gBACXV,QAAQM,IAAI,CAACK,cAAc,CAACV,OAAOS;gBACnCP,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;YACAI,cAAc,SAACC,eAAwBH;gBACnCV,QAAQM,IAAI,CAACQ,cAAc,CAACb,OAAOY,eAAeH;gBAClDP,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;QACJ;IACJ;IAEA,OAAO,CAAC;AACZ"}
1
+ {"version":3,"sources":["../../../../src/components/Collection/enhanceWithCollectionProps.ts"],"sourcesContent":["import {UseFormInput, type FormArrayElement} from '@mantine/form';\nimport {CollectionProps} from './Collection.js';\n\nexport const enhanceWithCollectionProps = <\n FormValues,\n TransformValues extends (values: FormValues) => unknown = (values: FormValues) => FormValues,\n>(\n payload: Parameters<UseFormInput<FormValues, TransformValues>['enhanceGetInputProps']>[0],\n field: (typeof payload)['field'],\n options?: {validateInputOnChange?: boolean},\n): Pick<CollectionProps<unknown>, 'onReorderItem' | 'onInsertItem' | 'onRemoveItem'> => {\n if (payload.field === field) {\n const {validateInputOnChange = false} = options || {};\n return {\n onReorderItem: (reorderPayload: Record<'from' | 'to', number>) => {\n payload.form.reorderListItem(field, reorderPayload);\n validateInputOnChange && payload.form.validate();\n },\n onRemoveItem: (index: number) => {\n payload.form.removeListItem(field, index);\n validateInputOnChange && payload.form.validate();\n },\n onInsertItem: (valueToInsert: FormArrayElement<FormValues, (typeof payload)['field']>, index: number) => {\n payload.form.insertListItem(field, valueToInsert, index);\n validateInputOnChange && payload.form.validate();\n },\n };\n }\n\n return {};\n};\n"],"names":["enhanceWithCollectionProps","payload","field","options","validateInputOnChange","onReorderItem","reorderPayload","form","reorderListItem","validate","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;;;+BAGaA;;;eAAAA;;;AAAN,IAAMA,6BAA6B,SAItCC,SACAC,OACAC;IAEA,IAAIF,QAAQC,KAAK,KAAKA,OAAO;QACzB,IAAwCC,OAAAA,WAAW,CAAC,gCAAZA,KAAjCC,uBAAAA,gEAAwB;QAC/B,OAAO;YACHC,eAAe,SAACC;gBACZL,QAAQM,IAAI,CAACC,eAAe,CAACN,OAAOI;gBACpCF,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;YACAC,cAAc,SAACC;gBACXV,QAAQM,IAAI,CAACK,cAAc,CAACV,OAAOS;gBACnCP,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;YACAI,cAAc,SAACC,eAAwEH;gBACnFV,QAAQM,IAAI,CAACQ,cAAc,CAACb,OAAOY,eAAeH;gBAClDP,yBAAyBH,QAAQM,IAAI,CAACE,QAAQ;YAClD;QACJ;IACJ;IAEA,OAAO,CAAC;AACZ"}
@@ -5,3 +5,7 @@
5
5
  .save {
6
6
  border-top: 1px solid var(--mantine-color-default-border);
7
7
  }
8
+
9
+ .input {
10
+ white-space: nowrap;
11
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EAER,OAAO,EAGP,YAAY,EACZ,cAAc,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAgC,kCAAkC,EAAC,MAAM,iCAAiC,CAAC;AAgBlH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,oBACb,SAAQ,QAAQ,EACZ,IAAI,CAAC,kCAAkC,EAAE,SAAS,GAAG,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAC,EACtG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,eAAe,CAAC,EAC9C,cAAc,CAAC,sBAAsB,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD;;OAEG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IACzC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,0BAA0B,CAAC;CAC3C,CAAC,CAAC;AAOH,eAAO,MAAM,eAAe;WAVjB,oBAAoB;SACtB,cAAc;iBACN,0BAA0B;EA8GzC,CAAC"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EAER,OAAO,EAGP,YAAY,EACZ,cAAc,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAgC,kCAAkC,EAAC,MAAM,iCAAiC,CAAC;AAgBlH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,oBACb,SAAQ,QAAQ,EACZ,IAAI,CAAC,kCAAkC,EAAE,SAAS,GAAG,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAC,EACtG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,eAAe,CAAC,EAC9C,cAAc,CAAC,sBAAsB,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD;;OAEG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IACzC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,0BAA0B,CAAC;CAC3C,CAAC,CAAC;AAOH,eAAO,MAAM,eAAe;WAVjB,oBAAoB;SACtB,cAAc;iBACN,0BAA0B;EA8GzC,CAAC"}
@@ -19,6 +19,7 @@ var _core = require("@mantine/core");
19
19
  var _hooks = require("@mantine/hooks");
20
20
  var _dayjs = /*#__PURE__*/ _interop_require_default._(require("dayjs"));
21
21
  var _useurlsyncedstate = require("../../hooks/use-url-synced-state");
22
+ var _DateRangemodulecss = /*#__PURE__*/ _interop_require_default._(require("./DateRange.module.css"));
22
23
  var _DateRangePickerInlineCalendar = require("./DateRangePickerInlineCalendar");
23
24
  var serialization = function(input) {
24
25
  return Object.freeze(input);
@@ -79,7 +80,7 @@ var DateRangePicker = (0, _core.factory)(function(props) {
79
80
  ]);
80
81
  var getStyles = (0, _core.useStyles)({
81
82
  name: 'DateRangePicker',
82
- classes: {},
83
+ classes: _DateRangemodulecss.default,
83
84
  props: props,
84
85
  className: className,
85
86
  classNames: classNames,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {IconCalendar} from '@coveord/plasma-react-icons';\nimport {\n BoxProps,\n factory,\n Factory,\n InputBase,\n Popover,\n PopoverProps,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {DatesRangeValue, DateStringValue} from '@mantine/dates';\nimport {useUncontrolled} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useUrlSyncedState, UseUrlSyncedStateOptions} from '../../hooks/use-url-synced-state';\nimport {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from './DateRangePickerInlineCalendar';\n\nconst serialization = (input: Pick<UseUrlSyncedStateOptions<DatesRangeValue<string>>, 'serializer' | 'deserializer'>) =>\n Object.freeze(input);\n\nconst DATE_RANGE_SERIALIZATION = serialization({\n serializer: ([from, to]) => [\n ['from', from ? new Date(from).toISOString() : '', true],\n ['to', to ? new Date(to).toISOString() : '', true],\n ],\n deserializer: (params, initial) => [\n params.get('from') ? params.get('from') : initial[0],\n params.get('to') ? params.get('to') : initial[1],\n ],\n});\n\nexport type DateRangePickerStylesNames = 'input';\n\nexport interface DateRangePickerProps\n extends BoxProps,\n Pick<DateRangePickerInlineCalendarProps, 'presets' | 'rangeCalendarProps' | 'startProps' | 'endProps'>,\n Pick<PopoverProps, 'opened' | 'defaultOpened'>,\n StylesApiProps<DateRangePickerFactory> {\n /**\n * Called when the target input is clicked\n */\n onClick?(): void;\n /**\n * Function called when the cancel button is clicked.\n */\n onCancel?(): void;\n /**\n * Function called when the date range value changes.\n */\n onChange?(dates: DatesRangeValue<string>): void;\n /**\n * Called when the popover opened state changes.\n */\n onOpenedChange?(opened: boolean): void;\n /**\n * Optional formatter function to format the date value.\n * Receives the date prop and should return a string.\n * @default (time) => dayjs(time).format('MMM D, YYYY')\n */\n formatter?: (time: dayjs.ConfigType) => string;\n /**\n * The placeholder label to display when no date range is selected.\n *\n * @default \"Select date range\"\n */\n placeholder?: string;\n /**\n * Default value for uncontrolled input\n */\n defaultValue?: DatesRangeValue<string>;\n /**\n * Value for controlled input\n */\n value?: DatesRangeValue<string>;\n /**\n * Sync the selected dates to URL query parameters\n */\n syncWithUrl?: boolean;\n /**\n * Error message to display.\n */\n error?: string;\n}\n\nexport type DateRangePickerFactory = Factory<{\n props: DateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: DateRangePickerStylesNames;\n}>;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n placeholder: 'Select date range',\n formatter: (time) => dayjs(time).format('MMM D, YYYY'),\n};\n\nexport const DateRangePicker = factory<DateRangePickerFactory>((props: DateRangePickerProps) => {\n const {\n defaultValue,\n value,\n opened,\n defaultOpened,\n onOpenedChange,\n onClick,\n onCancel,\n onChange,\n presets,\n startProps,\n endProps,\n rangeCalendarProps,\n formatter,\n placeholder,\n syncWithUrl,\n error,\n className,\n classNames,\n style,\n styles,\n vars,\n unstyled,\n ...others\n } = useProps('PlasmaDateRangePicker', defaultProps as Partial<DateRangePickerProps>, props);\n\n const getStyles = useStyles<DateRangePickerFactory>({\n name: 'DateRangePicker',\n classes: {},\n props,\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n });\n const stylesApiProps = {classNames, styles};\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const [dateRange, setDateRange] = useUrlSyncedState<DatesRangeValue<string>>({\n ...DATE_RANGE_SERIALIZATION,\n initialState: defaultValue !== undefined ? defaultValue : [null, null],\n sync: !!syncWithUrl,\n });\n\n const handleApply = (dates: DatesRangeValue<string>) => {\n if (value === undefined) {\n setDateRange(dates);\n }\n onChange?.(dates);\n setOpened(false);\n };\n\n const handleClick = () => {\n setOpened(true);\n onClick?.();\n };\n\n const handleCancel = () => {\n setOpened(false);\n onCancel?.();\n };\n\n const _value = value ?? dateRange;\n const formattedRange = `${formatter(_value[0])} - ${formatter(_value[1])}`;\n const dateRangeInitialized = _value.every((date: DateStringValue) => typeof date === 'string' && date !== '');\n\n return (\n <Popover opened={_opened} onChange={setOpened}>\n <Popover.Target>\n <InputBase\n component=\"button\"\n leftSection={<IconCalendar height={16} />}\n onClick={handleClick}\n error={error}\n {...getStyles('input', {className, style, ...stylesApiProps})}\n {...others}\n >\n {dateRangeInitialized ? formattedRange : placeholder}\n </InputBase>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={_value}\n onApply={handleApply}\n onCancel={handleCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n startProps={startProps}\n endProps={endProps}\n />\n </Popover.Dropdown>\n </Popover>\n );\n});\n"],"names":["DateRangePicker","serialization","input","Object","freeze","DATE_RANGE_SERIALIZATION","serializer","from","to","Date","toISOString","deserializer","params","initial","get","defaultProps","placeholder","formatter","time","dayjs","format","factory","props","useProps","defaultValue","value","opened","defaultOpened","onOpenedChange","onClick","onCancel","onChange","presets","startProps","endProps","rangeCalendarProps","syncWithUrl","error","className","classNames","style","styles","vars","unstyled","others","getStyles","useStyles","name","classes","stylesApiProps","useUncontrolled","finalValue","_opened","setOpened","useUrlSyncedState","initialState","undefined","sync","dateRange","setDateRange","handleApply","dates","handleClick","handleCancel","_value","formattedRange","dateRangeInitialized","every","date","Popover","Target","InputBase","component","leftSection","IconCalendar","height","Dropdown","p","DateRangePickerInlineCalendar","initialRange","onApply"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {IconCalendar} from '@coveord/plasma-react-icons';\nimport {\n BoxProps,\n factory,\n Factory,\n InputBase,\n Popover,\n PopoverProps,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {DatesRangeValue, DateStringValue} from '@mantine/dates';\nimport {useUncontrolled} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useUrlSyncedState, UseUrlSyncedStateOptions} from '../../hooks/use-url-synced-state';\nimport classes from './DateRange.module.css';\nimport {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from './DateRangePickerInlineCalendar';\n\nconst serialization = (input: Pick<UseUrlSyncedStateOptions<DatesRangeValue<string>>, 'serializer' | 'deserializer'>) =>\n Object.freeze(input);\n\nconst DATE_RANGE_SERIALIZATION = serialization({\n serializer: ([from, to]) => [\n ['from', from ? new Date(from).toISOString() : '', true],\n ['to', to ? new Date(to).toISOString() : '', true],\n ],\n deserializer: (params, initial) => [\n params.get('from') ? params.get('from') : initial[0],\n params.get('to') ? params.get('to') : initial[1],\n ],\n});\n\nexport type DateRangePickerStylesNames = 'input';\n\nexport interface DateRangePickerProps\n extends BoxProps,\n Pick<DateRangePickerInlineCalendarProps, 'presets' | 'rangeCalendarProps' | 'startProps' | 'endProps'>,\n Pick<PopoverProps, 'opened' | 'defaultOpened'>,\n StylesApiProps<DateRangePickerFactory> {\n /**\n * Called when the target input is clicked\n */\n onClick?(): void;\n /**\n * Function called when the cancel button is clicked.\n */\n onCancel?(): void;\n /**\n * Function called when the date range value changes.\n */\n onChange?(dates: DatesRangeValue<string>): void;\n /**\n * Called when the popover opened state changes.\n */\n onOpenedChange?(opened: boolean): void;\n /**\n * Optional formatter function to format the date value.\n * Receives the date prop and should return a string.\n * @default (time) => dayjs(time).format('MMM D, YYYY')\n */\n formatter?: (time: dayjs.ConfigType) => string;\n /**\n * The placeholder label to display when no date range is selected.\n *\n * @default \"Select date range\"\n */\n placeholder?: string;\n /**\n * Default value for uncontrolled input\n */\n defaultValue?: DatesRangeValue<string>;\n /**\n * Value for controlled input\n */\n value?: DatesRangeValue<string>;\n /**\n * Sync the selected dates to URL query parameters\n */\n syncWithUrl?: boolean;\n /**\n * Error message to display.\n */\n error?: string;\n}\n\nexport type DateRangePickerFactory = Factory<{\n props: DateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: DateRangePickerStylesNames;\n}>;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n placeholder: 'Select date range',\n formatter: (time) => dayjs(time).format('MMM D, YYYY'),\n};\n\nexport const DateRangePicker = factory<DateRangePickerFactory>((props: DateRangePickerProps) => {\n const {\n defaultValue,\n value,\n opened,\n defaultOpened,\n onOpenedChange,\n onClick,\n onCancel,\n onChange,\n presets,\n startProps,\n endProps,\n rangeCalendarProps,\n formatter,\n placeholder,\n syncWithUrl,\n error,\n className,\n classNames,\n style,\n styles,\n vars,\n unstyled,\n ...others\n } = useProps('PlasmaDateRangePicker', defaultProps as Partial<DateRangePickerProps>, props);\n\n const getStyles = useStyles<DateRangePickerFactory>({\n name: 'DateRangePicker',\n classes,\n props,\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n });\n const stylesApiProps = {classNames, styles};\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange: onOpenedChange,\n });\n\n const [dateRange, setDateRange] = useUrlSyncedState<DatesRangeValue<string>>({\n ...DATE_RANGE_SERIALIZATION,\n initialState: defaultValue !== undefined ? defaultValue : [null, null],\n sync: !!syncWithUrl,\n });\n\n const handleApply = (dates: DatesRangeValue<string>) => {\n if (value === undefined) {\n setDateRange(dates);\n }\n onChange?.(dates);\n setOpened(false);\n };\n\n const handleClick = () => {\n setOpened(true);\n onClick?.();\n };\n\n const handleCancel = () => {\n setOpened(false);\n onCancel?.();\n };\n\n const _value = value ?? dateRange;\n const formattedRange = `${formatter(_value[0])} - ${formatter(_value[1])}`;\n const dateRangeInitialized = _value.every((date: DateStringValue) => typeof date === 'string' && date !== '');\n\n return (\n <Popover opened={_opened} onChange={setOpened}>\n <Popover.Target>\n <InputBase\n component=\"button\"\n leftSection={<IconCalendar height={16} />}\n onClick={handleClick}\n error={error}\n {...getStyles('input', {className, style, ...stylesApiProps})}\n {...others}\n >\n {dateRangeInitialized ? formattedRange : placeholder}\n </InputBase>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={_value}\n onApply={handleApply}\n onCancel={handleCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n startProps={startProps}\n endProps={endProps}\n />\n </Popover.Dropdown>\n </Popover>\n );\n});\n"],"names":["DateRangePicker","serialization","input","Object","freeze","DATE_RANGE_SERIALIZATION","serializer","from","to","Date","toISOString","deserializer","params","initial","get","defaultProps","placeholder","formatter","time","dayjs","format","factory","props","useProps","defaultValue","value","opened","defaultOpened","onOpenedChange","onClick","onCancel","onChange","presets","startProps","endProps","rangeCalendarProps","syncWithUrl","error","className","classNames","style","styles","vars","unstyled","others","getStyles","useStyles","name","classes","stylesApiProps","useUncontrolled","finalValue","_opened","setOpened","useUrlSyncedState","initialState","undefined","sync","dateRange","setDateRange","handleApply","dates","handleClick","handleCancel","_value","formattedRange","dateRangeInitialized","every","date","Popover","Target","InputBase","component","leftSection","IconCalendar","height","Dropdown","p","DateRangePickerInlineCalendar","initialRange","onApply"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Factory, RadioCardProps as MantineRadioCardProps, RadioCardStylesNames as MantineRadioCardStylesNames, RadioCardCssVariables, StylesApiProps } from '@mantine/core';
2
+ import { ReactNode } from 'react';
3
+ export type RadioCardStylesNames = MantineRadioCardStylesNames | 'container' | 'indicator' | 'title' | 'description';
4
+ export type RadioCardFactory = Factory<{
5
+ props: RadioCardProps;
6
+ ref: HTMLButtonElement;
7
+ stylesNames: RadioCardStylesNames;
8
+ vars: RadioCardCssVariables;
9
+ }>;
10
+ export type RadioCardProps = MantineRadioCardProps & StylesApiProps<RadioCardFactory> & {
11
+ /**
12
+ * The label of the card. Appears next to the radio indicator.
13
+ */
14
+ label: ReactNode;
15
+ /**
16
+ * The description of the card. Appears under the title.
17
+ */
18
+ description?: ReactNode;
19
+ };
20
+ export declare const RadioCard: import("@mantine/core").MantineComponent<{
21
+ props: RadioCardProps;
22
+ ref: HTMLButtonElement;
23
+ stylesNames: RadioCardStylesNames;
24
+ vars: RadioCardCssVariables;
25
+ }>;
26
+ //# sourceMappingURL=RadioCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCard.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioCard/RadioCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,OAAO,EAEP,cAAc,IAAI,qBAAqB,EACvC,oBAAoB,IAAI,2BAA2B,EAEnD,qBAAqB,EACrB,cAAc,EAKjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGhC,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AACrH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,oBAAoB,CAAC;IAClC,IAAI,EAAE,qBAAqB,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAC9C,cAAc,CAAC,gBAAgB,CAAC,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAIN,eAAO,MAAM,SAAS;WApBX,cAAc;SAChB,iBAAiB;iBACT,oBAAoB;UAC3B,qBAAqB;EAkD7B,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "RadioCard", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return RadioCard;
9
+ }
10
+ });
11
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _object_spread = require("@swc/helpers/_/_object_spread");
13
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
+ var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
15
+ var _jsxruntime = require("react/jsx-runtime");
16
+ var _core = require("@mantine/core");
17
+ var _RadioCardmodulecss = /*#__PURE__*/ _interop_require_default._(require("../../styles/RadioCard.module.css"));
18
+ var defaultProps = {};
19
+ var RadioCard = (0, _core.factory)(function(_props, ref) {
20
+ var _useProps = (0, _core.useProps)('RadioCard', defaultProps, _props), classNames = _useProps.classNames, styles = _useProps.styles, style = _useProps.style, className = _useProps.className, vars = _useProps.vars, disabled = _useProps.disabled, label = _useProps.label, description = _useProps.description, others = _object_without_properties._(_useProps, [
21
+ "classNames",
22
+ "styles",
23
+ "style",
24
+ "className",
25
+ "vars",
26
+ "disabled",
27
+ "label",
28
+ "description"
29
+ ]);
30
+ var getStyles = (0, _core.useStyles)({
31
+ name: 'RadioCard',
32
+ classes: _RadioCardmodulecss.default,
33
+ vars: vars,
34
+ classNames: classNames,
35
+ className: className,
36
+ style: style,
37
+ props: _props,
38
+ styles: styles
39
+ });
40
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Radio.Card, _object_spread_props._(_object_spread._({
41
+ ref: ref,
42
+ disabled: disabled
43
+ }, getStyles('card', {
44
+ className: className,
45
+ style: style,
46
+ classNames: classNames,
47
+ styles: styles
48
+ }), others), {
49
+ children: [
50
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, _object_spread_props._(_object_spread._({}, getStyles('container', {
51
+ classNames: classNames,
52
+ styles: styles
53
+ })), {
54
+ children: [
55
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Radio.Indicator, _object_spread._({
56
+ size: "xs",
57
+ disabled: disabled
58
+ }, getStyles('indicator', {
59
+ classNames: classNames,
60
+ styles: styles
61
+ }))),
62
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Title, _object_spread_props._(_object_spread._({
63
+ order: 4
64
+ }, getStyles('title', {
65
+ classNames: classNames,
66
+ styles: styles
67
+ })), {
68
+ children: label
69
+ }))
70
+ ]
71
+ })),
72
+ description && /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({}, getStyles('description', {
73
+ classNames: classNames,
74
+ styles: styles
75
+ })), {
76
+ children: description
77
+ }))
78
+ ]
79
+ }));
80
+ });
81
+
82
+ //# sourceMappingURL=RadioCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/RadioCard/RadioCard.tsx"],"sourcesContent":["import {\n Box,\n Factory,\n Group,\n RadioCardProps as MantineRadioCardProps,\n RadioCardStylesNames as MantineRadioCardStylesNames,\n Radio,\n RadioCardCssVariables,\n StylesApiProps,\n Title,\n factory,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from '../../styles/RadioCard.module.css';\n\nexport type RadioCardStylesNames = MantineRadioCardStylesNames | 'container' | 'indicator' | 'title' | 'description';\nexport type RadioCardFactory = Factory<{\n props: RadioCardProps;\n ref: HTMLButtonElement;\n stylesNames: RadioCardStylesNames;\n vars: RadioCardCssVariables;\n}>;\n\nexport type RadioCardProps = MantineRadioCardProps &\n StylesApiProps<RadioCardFactory> & {\n /**\n * The label of the card. Appears next to the radio indicator.\n */\n label: ReactNode;\n /**\n * The description of the card. Appears under the title.\n */\n description?: ReactNode;\n };\n\nconst defaultProps: Partial<RadioCardProps> = {};\n\nexport const RadioCard = factory<RadioCardFactory>((_props, ref) => {\n const {classNames, styles, style, className, vars, disabled, label, description, ...others} = useProps(\n 'RadioCard',\n defaultProps,\n _props,\n );\n const getStyles = useStyles<RadioCardFactory>({\n name: 'RadioCard',\n classes,\n vars,\n classNames,\n className,\n style,\n props: _props,\n styles,\n });\n\n return (\n <Radio.Card\n ref={ref}\n disabled={disabled}\n {...getStyles('card', {className, style, classNames, styles})}\n {...others}\n >\n <Group {...getStyles('container', {classNames, styles})}>\n <Radio.Indicator size=\"xs\" disabled={disabled} {...getStyles('indicator', {classNames, styles})} />\n <Title order={4} {...getStyles('title', {classNames, styles})}>\n {label}\n </Title>\n </Group>\n {description && <Box {...getStyles('description', {classNames, styles})}>{description}</Box>}\n </Radio.Card>\n );\n});\n"],"names":["RadioCard","defaultProps","factory","_props","ref","useProps","classNames","styles","style","className","vars","disabled","label","description","others","getStyles","useStyles","name","classes","props","Radio","Card","Group","Indicator","size","Title","order","Box"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;;oBA1BN;2EAEa;AAsBpB,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,QAAQC;IACxD,IAA8FC,YAAAA,IAAAA,cAAQ,EAClG,aACAJ,cACAE,SAHGG,aAAuFD,UAAvFC,YAAYC,SAA2EF,UAA3EE,QAAQC,QAAmEH,UAAnEG,OAAOC,YAA4DJ,UAA5DI,WAAWC,OAAiDL,UAAjDK,MAAMC,WAA2CN,UAA3CM,UAAUC,QAAiCP,UAAjCO,OAAOC,cAA0BR,UAA1BQ,aAAgBC,sCAAUT;QAAvFC;QAAYC;QAAQC;QAAOC;QAAWC;QAAMC;QAAUC;QAAOC;;IAKpE,IAAME,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPR,MAAAA;QACAJ,YAAAA;QACAG,WAAAA;QACAD,OAAAA;QACAW,OAAOhB;QACPI,QAAAA;IACJ;IAEA,qBACI,sBAACa,WAAK,CAACC,IAAI;QACPjB,KAAKA;QACLO,UAAUA;OACNI,UAAU,QAAQ;QAACN,WAAAA;QAAWD,OAAAA;QAAOF,YAAAA;QAAYC,QAAAA;IAAM,IACvDO;;0BAEJ,sBAACQ,WAAK,8CAAKP,UAAU,aAAa;gBAACT,YAAAA;gBAAYC,QAAAA;YAAM;;kCACjD,qBAACa,WAAK,CAACG,SAAS;wBAACC,MAAK;wBAAKb,UAAUA;uBAAcI,UAAU,aAAa;wBAACT,YAAAA;wBAAYC,QAAAA;oBAAM;kCAC7F,qBAACkB,WAAK;wBAACC,OAAO;uBAAOX,UAAU,SAAS;wBAACT,YAAAA;wBAAYC,QAAAA;oBAAM;kCACtDK;;;;YAGRC,6BAAe,qBAACc,SAAG,8CAAKZ,UAAU,eAAe;gBAACT,YAAAA;gBAAYC,QAAAA;YAAM;0BAAKM;;;;AAGtF"}
@@ -5,11 +5,10 @@ import { CustomComponentThemeExtend } from '../../utils/createFactoryComponent.j
5
5
  import { TableLayout, TableProps } from './Table.types.js';
6
6
  import { TableLayouts } from './layouts/TableLayouts.js';
7
7
  import { TableActionItem, TableActionItemStylesNames } from './table-actions/TableActionItem.js';
8
- import { TableHeaderActionsStylesNames } from './table-actions/TableHeaderActions.js';
9
8
  import { TableActionsListStylesNames } from './table-actions/TableActionsList.js';
9
+ import { TableHeaderActionsStylesNames } from './table-actions/TableHeaderActions.js';
10
10
  import { TableActionsColumn } from './table-column/TableActionsColumn.js';
11
11
  import { TableAccordionColumn, TableCollapsibleColumn, TableCollapsibleColumnStylesNames } from './table-column/TableCollapsibleColumn.js';
12
- import { TableColumnsSelector, TableColumnsSelectorStylesNames } from './table-columns-selector/TableColumnsSelector.js';
13
12
  import { TableDateRangePicker, TableDateRangePickerStylesNames } from './table-date-range-picker/TableDateRangePicker.js';
14
13
  import { TableFilter, TableFilterStylesNames } from './table-filter/TableFilter.js';
15
14
  import { TableFooter } from './table-footer/TableFooter.js';
@@ -21,7 +20,7 @@ import { TableNoData } from './table-no-data/TableNoData.js';
21
20
  import { TablePagination } from './table-pagination/TablePagination.js';
22
21
  import { TablePerPage } from './table-per-page/TablePerPage.js';
23
22
  import { TablePredicate, TablePredicateStylesNames } from './table-predicate/TablePredicate.js';
24
- type TableStylesNames = 'root' | 'table' | 'header' | 'body' | TableHeaderActionsStylesNames | TableActionsListStylesNames | TableActionItemStylesNames | TableCollapsibleColumnStylesNames | TableDateRangePickerStylesNames | TableFilterStylesNames | TableHeaderStylesNames | TableThStylesNames | TableLastUpdatedStylesNames | TablePredicateStylesNames | TableColumnsSelectorStylesNames;
23
+ type TableStylesNames = 'root' | 'table' | 'header' | 'body' | TableHeaderActionsStylesNames | TableActionsListStylesNames | TableActionItemStylesNames | TableCollapsibleColumnStylesNames | TableDateRangePickerStylesNames | TableFilterStylesNames | TableHeaderStylesNames | TableThStylesNames | TableLastUpdatedStylesNames | TablePredicateStylesNames;
25
24
  export type PlasmaTableFactory = Factory<{
26
25
  props: TableProps<unknown>;
27
26
  ref: HTMLDivElement;
@@ -31,7 +30,6 @@ export type PlasmaTableFactory = Factory<{
31
30
  ActionsColumn: typeof TableActionsColumn;
32
31
  ActionItem: typeof TableActionItem;
33
32
  CollapsibleColumn: typeof TableCollapsibleColumn;
34
- ColumnsSelector: typeof TableColumnsSelector;
35
33
  DateRangePicker: typeof TableDateRangePicker;
36
34
  Filter: typeof TableFilter;
37
35
  Footer: typeof TableFooter;
@@ -79,12 +77,6 @@ export declare const Table: {
79
77
  compound: true;
80
78
  }>;
81
79
  CollapsibleColumn: ColumnDef<unknown>;
82
- ColumnsSelector: import("@mantine/core").MantineComponent<{
83
- props: import("./table-columns-selector/TableColumnsSelector.js").TableColumnsSelectorProps;
84
- ref: HTMLDivElement;
85
- stylesNames: TableColumnsSelectorStylesNames;
86
- compound: true;
87
- }>;
88
80
  DateRangePicker: import("@mantine/core").MantineComponent<{
89
81
  props: import("./table-date-range-picker/TableDateRangePicker.js").TableDateRangePickerProps;
90
82
  ref: HTMLDivElement;
@@ -134,7 +126,6 @@ export declare const Table: {
134
126
  ActionsColumn: typeof TableActionsColumn;
135
127
  ActionItem: typeof TableActionItem;
136
128
  CollapsibleColumn: typeof TableCollapsibleColumn;
137
- ColumnsSelector: typeof TableColumnsSelector;
138
129
  DateRangePicker: typeof TableDateRangePicker;
139
130
  Filter: typeof TableFilter;
140
131
  Footer: typeof TableFooter;
@@ -155,7 +146,6 @@ export declare const TableComponentsOrder: {
155
146
  Predicate: number;
156
147
  Filter: number;
157
148
  DateRangePicker: number;
158
- ColumnsSelector: number;
159
149
  LayoutControl: number;
160
150
  };
161
151
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ var _TableActionItem = require("./table-actions/TableActionItem.js");
36
36
  var _TableActionsColumn = require("./table-column/TableActionsColumn.js");
37
37
  var _TableCollapsibleColumn = require("./table-column/TableCollapsibleColumn.js");
38
38
  var _TableSelectableColumn = require("./table-column/TableSelectableColumn.js");
39
- var _TableColumnsSelector = require("./table-columns-selector/TableColumnsSelector.js");
40
39
  var _TableDateRangePicker = require("./table-date-range-picker/TableDateRangePicker.js");
41
40
  var _TableFilter = require("./table-filter/TableFilter.js");
42
41
  var _TableFooter = require("./table-footer/TableFooter.js");
@@ -274,14 +273,12 @@ var TableComponentsOrder = {
274
273
  Predicate: 5,
275
274
  Filter: 4,
276
275
  DateRangePicker: 3,
277
- ColumnsSelector: 2,
278
276
  LayoutControl: 1
279
277
  };
280
278
  Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
281
279
  Table.ActionsColumn = _TableActionsColumn.TableActionsColumn;
282
280
  Table.ActionItem = _TableActionItem.TableActionItem;
283
281
  Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
284
- Table.ColumnsSelector = _TableColumnsSelector.TableColumnsSelector;
285
282
  Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
286
283
  Table.Filter = _TableFilter.TableFilter;
287
284
  Table.Footer = _TableFooter.TableFooter;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/createFactoryComponent.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types.js';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames} from './table-actions/TableActionItem.js';\nimport {TableHeaderActionsStylesNames} from './table-actions/TableHeaderActions.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data: data || [],\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","useEffect","getSelectedRows","length","newSelection","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","Box","TableProvider","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n RowSelectionState,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/createFactoryComponent.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types.js';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames} from './table-actions/TableActionItem.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableHeaderActionsStylesNames} from './table-actions/TableHeaderActions.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data: data || [],\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","useEffect","getSelectedRows","length","newSelection","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","Box","TableProvider","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"mappings":"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"}
@@ -1,4 +1,19 @@
1
1
  import { ColumnDef } from '@tanstack/table-core';
2
+ import { TableColumnsSelectorOptions } from '../table-columns-selector/TableColumnsSelector.js';
3
+ export interface TableActionsColumnMeta {
4
+ /**
5
+ * When set to `true` or an options object, displays a column selector button in the actions column header.
6
+ * Allows users to show/hide columns in the table.
7
+ *
8
+ * @example
9
+ * // Simple usage
10
+ * options={{ meta: { rowConfigurable: true } }}
11
+ *
12
+ * // With options
13
+ * options={{ meta: { rowConfigurable: { maxSelectableColumns: 5 } } }}
14
+ */
15
+ rowConfigurable?: boolean | TableColumnsSelectorOptions;
16
+ }
2
17
  /**
3
18
  * Generic column to use when your table needs actions on rows
4
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TableActionsColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/table-column/TableActionsColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAK5D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAUjD,CAAC"}
1
+ {"version":3,"file":"TableActionsColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/table-column/TableActionsColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAK5D,OAAO,EAEH,2BAA2B,EAC9B,MAAM,mDAAmD,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACnC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,2BAA2B,CAAC;CAC3D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAiBjD,CAAC"}
@@ -15,6 +15,7 @@ var _plasmareacticons = require("@coveord/plasma-react-icons");
15
15
  var _core = require("@mantine/core");
16
16
  var _TableActionsList = require("../table-actions/TableActionsList.js");
17
17
  var _TableContext = require("../TableContext.js");
18
+ var _TableColumnsSelector = require("../table-columns-selector/TableColumnsSelector.js");
18
19
  var TableActionsColumn = {
19
20
  id: 'actions',
20
21
  enableSorting: false,
@@ -22,7 +23,19 @@ var TableActionsColumn = {
22
23
  meta: {
23
24
  controlColumn: true
24
25
  },
25
- header: '',
26
+ header: function(param) {
27
+ var table = param.table;
28
+ var _table_options_meta;
29
+ var rowConfigurable = (_table_options_meta = table.options.meta) === null || _table_options_meta === void 0 ? void 0 : _table_options_meta.rowConfigurable;
30
+ if (!rowConfigurable) {
31
+ return null;
32
+ }
33
+ var options = typeof rowConfigurable === 'boolean' ? {} : rowConfigurable;
34
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableColumnsSelector.TableColumnsSelectorHeader, {
35
+ table: table,
36
+ options: options
37
+ });
38
+ },
26
39
  size: 84,
27
40
  cell: function(info) {
28
41
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(ActionsMenu, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-column/TableActionsColumn.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent} from 'react';\nimport {TableActionsList, TableActionsListProps} from '../table-actions/TableActionsList.js';\nimport {useTableContext} from '../TableContext.js';\n\n/**\n * Generic column to use when your table needs actions on rows\n */\nexport const TableActionsColumn: ColumnDef<unknown> = {\n id: 'actions',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: '',\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n cell: (info) => <ActionsMenu info={info} />,\n};\n\ninterface TableActionsColumnProps extends Omit<TableActionsListProps, 'actions'> {\n info: CellContext<unknown, unknown>;\n}\n\nconst defaultProps: Partial<TableActionsColumnProps> = {\n label: 'Actions',\n icon: <MoreSize16Px height={16} />,\n};\n\nconst ActionsMenu: FunctionComponent<TableActionsColumnProps> = (props) => {\n const {getRowActions} = useTableContext();\n\n const {info, ...others} = useProps('PlasmaTableActionsColumn', defaultProps, props);\n\n const actionsElements = getRowActions([info.row.original]);\n return <TableActionsList actions={actionsElements} variant=\"combined\" {...others} />;\n};\n"],"names":["TableActionsColumn","id","enableSorting","enableHiding","meta","controlColumn","header","size","cell","info","ActionsMenu","defaultProps","label","icon","MoreSize16Px","height","props","getRowActions","useTableContext","useProps","others","actionsElements","row","original","TableActionsList","actions","variant"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;gCAVc;oBACJ;gCAG+B;4BACxB;AAKvB,IAAMA,qBAAyC;IAClDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;IACRC,MAAM;IACNC,MAAM,SAACC;6BAAS,qBAACC;YAAYD,MAAMA;;;AACvC;AAMA,IAAME,eAAiD;IACnDC,OAAO;IACPC,oBAAM,qBAACC,8BAAY;QAACC,QAAQ;;AAChC;AAEA,IAAML,cAA0D,SAACM;IAC7D,IAAM,AAACC,gBAAiBC,IAAAA,6BAAe,IAAhCD;IAEP,IAA0BE,YAAAA,IAAAA,cAAQ,EAAC,4BAA4BR,cAAcK,QAAvE,AAACP,OAAmBU,UAAnBV,MAASW,sCAAUD;QAAnBV;;IAEP,IAAMY,kBAAkBJ,cAAc;QAACR,KAAKa,GAAG,CAACC,QAAQ;KAAC;IACzD,qBAAO,qBAACC,kCAAgB;QAACC,SAASJ;QAAiBK,SAAQ;OAAeN;AAC9E"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-column/TableActionsColumn.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent} from 'react';\nimport {TableActionsList, TableActionsListProps} from '../table-actions/TableActionsList.js';\n\nimport {useTableContext} from '../TableContext.js';\nimport {\n TableColumnsSelectorHeader,\n TableColumnsSelectorOptions,\n} from '../table-columns-selector/TableColumnsSelector.js';\n\nexport interface TableActionsColumnMeta {\n /**\n * When set to `true` or an options object, displays a column selector button in the actions column header.\n * Allows users to show/hide columns in the table.\n *\n * @example\n * // Simple usage\n * options={{ meta: { rowConfigurable: true } }}\n *\n * // With options\n * options={{ meta: { rowConfigurable: { maxSelectableColumns: 5 } } }}\n */\n rowConfigurable?: boolean | TableColumnsSelectorOptions;\n}\n\n/**\n * Generic column to use when your table needs actions on rows\n */\nexport const TableActionsColumn: ColumnDef<unknown> = {\n id: 'actions',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: ({table}) => {\n const rowConfigurable = (table.options.meta as TableActionsColumnMeta)?.rowConfigurable;\n if (!rowConfigurable) {\n return null;\n }\n const options = typeof rowConfigurable === 'boolean' ? {} : rowConfigurable;\n return <TableColumnsSelectorHeader table={table} options={options} />;\n },\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n cell: (info) => <ActionsMenu info={info} />,\n};\n\ninterface TableActionsColumnProps extends Omit<TableActionsListProps, 'actions'> {\n info: CellContext<unknown, unknown>;\n}\n\nconst defaultProps: Partial<TableActionsColumnProps> = {\n label: 'Actions',\n icon: <MoreSize16Px height={16} />,\n};\n\nconst ActionsMenu: FunctionComponent<TableActionsColumnProps> = (props) => {\n const {getRowActions} = useTableContext();\n\n const {info, ...others} = useProps('PlasmaTableActionsColumn', defaultProps, props);\n\n const actionsElements = getRowActions([info.row.original]);\n return <TableActionsList actions={actionsElements} variant=\"combined\" {...others} />;\n};\n"],"names":["TableActionsColumn","id","enableSorting","enableHiding","meta","controlColumn","header","table","rowConfigurable","options","TableColumnsSelectorHeader","size","cell","info","ActionsMenu","defaultProps","label","icon","MoreSize16Px","height","props","getRowActions","useTableContext","useProps","others","actionsElements","row","original","TableActionsList","actions","variant"],"mappings":";;;;+BA8BaA;;;eAAAA;;;;;;gCA9Bc;oBACJ;gCAG+B;4BAExB;oCAIvB;AAoBA,IAAMA,qBAAyC;IAClDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;YAAEC,cAAAA;YACmBA;QAAzB,IAAMC,mBAAmBD,sBAAAA,MAAME,OAAO,CAACL,IAAI,cAAlBG,0CAAD,AAACA,oBAA+CC,eAAe;QACvF,IAAI,CAACA,iBAAiB;YAClB,OAAO;QACX;QACA,IAAMC,UAAU,OAAOD,oBAAoB,YAAY,CAAC,IAAIA;QAC5D,qBAAO,qBAACE,gDAA0B;YAACH,OAAOA;YAAOE,SAASA;;IAC9D;IACAE,MAAM;IACNC,MAAM,SAACC;6BAAS,qBAACC;YAAYD,MAAMA;;;AACvC;AAMA,IAAME,eAAiD;IACnDC,OAAO;IACPC,oBAAM,qBAACC,8BAAY;QAACC,QAAQ;;AAChC;AAEA,IAAML,cAA0D,SAACM;IAC7D,IAAM,AAACC,gBAAiBC,IAAAA,6BAAe,IAAhCD;IAEP,IAA0BE,YAAAA,IAAAA,cAAQ,EAAC,4BAA4BR,cAAcK,QAAvE,AAACP,OAAmBU,UAAnBV,MAASW,sCAAUD;QAAnBV;;IAEP,IAAMY,kBAAkBJ,cAAc;QAACR,KAAKa,GAAG,CAACC,QAAQ;KAAC;IACzD,qBAAO,qBAACC,kCAAgB;QAACC,SAASJ;QAAiBK,SAAQ;OAAeN;AAC9E"}
@@ -1,31 +1,17 @@
1
- import { BoxProps, CompoundStylesApiProps, Factory } from '@mantine/core';
2
- import { ReactNode } from 'react';
3
- export type TableColumnsSelectorStylesNames = 'columnSelector' | 'columnSelectorWrapper';
4
- export interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiProps<TableColumnsSelectorFactory> {
5
- /**
6
- * The label of the button
7
- * @default 'Edit columns'
8
- */
9
- label?: ReactNode;
10
- /**
11
- * The style variant of the button
12
- * @default 'outline'
13
- */
14
- buttonVariant?: string;
15
- /**
16
- * Whether the count of visible columns is shown in the button label.
17
- * @default false
18
- */
19
- showVisibleCountLabel?: boolean;
1
+ import { Table } from '@tanstack/react-table';
2
+ export interface TableColumnsSelectorOptions {
20
3
  /**
21
4
  * The maximum number of columns that can be selected at the same time.
22
5
  * If defined a footer will render with the remaining number of columns that can be selected.
6
+ * Must be a positive integer (greater than 0).
23
7
  */
24
8
  maxSelectableColumns?: number;
25
9
  /**
26
10
  * The content to display in the footer when maxSelectableColumns is defined.
11
+ * Can be a string or a function that receives the maxSelectableColumns value.
12
+ * @default (max) => `You can display up to ${max} columns.`
27
13
  */
28
- footer?: ReactNode;
14
+ footer?: string | ((maxSelectableColumns: number) => string);
29
15
  /**
30
16
  * The tooltip to display when the user hovers over a disabled checkbox because of the limit.
31
17
  * @default 'You have reached the maximum display limit.'
@@ -37,16 +23,9 @@ export interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiPr
37
23
  */
38
24
  alwaysVisibleTooltip?: string;
39
25
  }
40
- export type TableColumnsSelectorFactory = Factory<{
41
- props: TableColumnsSelectorProps;
42
- ref: HTMLDivElement;
43
- stylesNames: TableColumnsSelectorStylesNames;
44
- compound: true;
45
- }>;
46
- export declare const TableColumnsSelector: import("@mantine/core").MantineComponent<{
47
- props: TableColumnsSelectorProps;
48
- ref: HTMLDivElement;
49
- stylesNames: TableColumnsSelectorStylesNames;
50
- compound: true;
51
- }>;
26
+ export interface TableColumnsSelectorHeaderProps {
27
+ table: Table<unknown>;
28
+ options?: TableColumnsSelectorOptions;
29
+ }
30
+ export declare const TableColumnsSelectorHeader: ({ table, options }: TableColumnsSelectorHeaderProps) => import("react/jsx-runtime").JSX.Element;
52
31
  //# sourceMappingURL=TableColumnsSelector.d.ts.map