@coveord/plasma-mantine 52.8.1 → 52.10.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 (202) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +33 -32
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
  5. package/dist/cjs/components/button/Button.js +2 -2
  6. package/dist/cjs/components/button/Button.js.map +1 -1
  7. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  8. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js +4 -2
  10. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  11. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  12. package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
  13. package/dist/cjs/components/collection/Collection.js +13 -9
  14. package/dist/cjs/components/collection/Collection.js.map +1 -1
  15. package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
  16. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  17. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +4 -3
  18. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  19. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  20. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
  21. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  22. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  23. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
  24. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  25. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -6
  26. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  27. package/dist/cjs/components/header/Header.js.map +1 -1
  28. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  29. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +2 -1
  30. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  31. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  32. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
  33. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  34. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  35. package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
  36. package/dist/cjs/components/menu/Menu.js.map +1 -1
  37. package/dist/cjs/components/modal-wizard/ModalWizard.js +16 -10
  38. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  39. package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
  40. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  41. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  42. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  43. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  44. package/dist/cjs/components/table/Table.js +33 -20
  45. package/dist/cjs/components/table/Table.js.map +1 -1
  46. package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
  47. package/dist/cjs/components/table/Table.styles.js +1 -10
  48. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  49. package/dist/cjs/components/table/Table.types.d.ts +14 -3
  50. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  51. package/dist/cjs/components/table/TableActions.js.map +1 -1
  52. package/dist/cjs/components/table/TableCollapsibleColumn.js +2 -1
  53. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  54. package/dist/cjs/components/table/TableContext.js.map +1 -1
  55. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  56. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  57. package/dist/cjs/components/table/TableFooter.js +2 -2
  58. package/dist/cjs/components/table/TableFooter.js.map +1 -1
  59. package/dist/cjs/components/table/TableHeader.js +1 -1
  60. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  61. package/dist/cjs/components/table/TableLastUpdated.d.ts +24 -0
  62. package/dist/cjs/components/table/TableLastUpdated.d.ts.map +1 -0
  63. package/dist/cjs/components/table/TableLastUpdated.js +73 -0
  64. package/dist/cjs/components/table/TableLastUpdated.js.map +1 -0
  65. package/dist/cjs/components/table/TableLayoutControl.js.map +1 -1
  66. package/dist/cjs/components/table/TableLoading.js.map +1 -1
  67. package/dist/cjs/components/table/TablePagination.d.ts.map +1 -1
  68. package/dist/cjs/components/table/TablePagination.js +1 -0
  69. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  70. package/dist/cjs/components/table/TablePerPage.js +5 -2
  71. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  72. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  73. package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
  74. package/dist/cjs/components/table/Th.js.map +1 -1
  75. package/dist/cjs/components/table/index.js.map +1 -1
  76. package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
  77. package/dist/cjs/components/table/layouts/RowLayout.js +45 -11
  78. package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
  79. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  80. package/dist/cjs/components/table/useRowSelection.d.ts +2 -2
  81. package/dist/cjs/components/table/useRowSelection.d.ts.map +1 -1
  82. package/dist/cjs/components/table/useRowSelection.js +10 -4
  83. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  84. package/dist/cjs/form/FormProvider.js.map +1 -1
  85. package/dist/cjs/form/useForm.js.map +1 -1
  86. package/dist/cjs/hooks/useControlledList.js +6 -3
  87. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  88. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  89. package/dist/cjs/index.js.map +1 -1
  90. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  91. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  92. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  93. package/dist/cjs/theme/Theme.js +28 -1
  94. package/dist/cjs/theme/Theme.js.map +1 -1
  95. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
  96. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  97. package/dist/esm/components/button/Button.js +2 -2
  98. package/dist/esm/components/button/Button.js.map +1 -1
  99. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  100. package/dist/esm/components/code-editor/CodeEditor.js +4 -2
  101. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  102. package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
  103. package/dist/esm/components/collection/Collection.js +13 -9
  104. package/dist/esm/components/collection/Collection.js.map +1 -1
  105. package/dist/esm/components/collection/Collection.styles.js.map +1 -1
  106. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  107. package/dist/esm/components/copyToClipboard/CopyToClipboard.js +4 -3
  108. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  109. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  110. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
  111. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  112. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  113. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
  114. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  115. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +9 -6
  116. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  117. package/dist/esm/components/header/Header.js.map +1 -1
  118. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  119. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -1
  120. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  121. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
  122. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  123. package/dist/esm/components/menu/Menu.js.map +1 -1
  124. package/dist/esm/components/modal-wizard/ModalWizard.js +16 -10
  125. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  126. package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
  127. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  128. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  129. package/dist/esm/components/table/Table.d.ts.map +1 -1
  130. package/dist/esm/components/table/Table.js +35 -22
  131. package/dist/esm/components/table/Table.js.map +1 -1
  132. package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
  133. package/dist/esm/components/table/Table.styles.js +1 -10
  134. package/dist/esm/components/table/Table.styles.js.map +1 -1
  135. package/dist/esm/components/table/Table.types.d.ts +14 -3
  136. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  137. package/dist/esm/components/table/Table.types.js.map +1 -1
  138. package/dist/esm/components/table/TableActions.js.map +1 -1
  139. package/dist/esm/components/table/TableCollapsibleColumn.js +2 -1
  140. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
  141. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  142. package/dist/esm/components/table/TableFilter.js.map +1 -1
  143. package/dist/esm/components/table/TableFooter.js +2 -2
  144. package/dist/esm/components/table/TableFooter.js.map +1 -1
  145. package/dist/esm/components/table/TableHeader.js +1 -1
  146. package/dist/esm/components/table/TableHeader.js.map +1 -1
  147. package/dist/esm/components/table/TableLastUpdated.d.ts +24 -0
  148. package/dist/esm/components/table/TableLastUpdated.d.ts.map +1 -0
  149. package/dist/esm/components/table/TableLastUpdated.js +62 -0
  150. package/dist/esm/components/table/TableLastUpdated.js.map +1 -0
  151. package/dist/esm/components/table/TableLayoutControl.js.map +1 -1
  152. package/dist/esm/components/table/TableLoading.js.map +1 -1
  153. package/dist/esm/components/table/TablePagination.d.ts.map +1 -1
  154. package/dist/esm/components/table/TablePagination.js +1 -0
  155. package/dist/esm/components/table/TablePagination.js.map +1 -1
  156. package/dist/esm/components/table/TablePerPage.js +5 -2
  157. package/dist/esm/components/table/TablePerPage.js.map +1 -1
  158. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  159. package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
  160. package/dist/esm/components/table/Th.js.map +1 -1
  161. package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -1
  162. package/dist/esm/components/table/layouts/RowLayout.js +46 -12
  163. package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
  164. package/dist/esm/components/table/useRowSelection.d.ts +2 -2
  165. package/dist/esm/components/table/useRowSelection.d.ts.map +1 -1
  166. package/dist/esm/components/table/useRowSelection.js +10 -4
  167. package/dist/esm/components/table/useRowSelection.js.map +1 -1
  168. package/dist/esm/form/FormProvider.js.map +1 -1
  169. package/dist/esm/form/useForm.js.map +1 -1
  170. package/dist/esm/hooks/useControlledList.js +6 -3
  171. package/dist/esm/hooks/useControlledList.js.map +1 -1
  172. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  173. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  174. package/dist/esm/theme/Theme.d.ts.map +1 -1
  175. package/dist/esm/theme/Theme.js +28 -1
  176. package/dist/esm/theme/Theme.js.map +1 -1
  177. package/dist/esm/utils/overrideComponent.js.map +1 -1
  178. package/package.json +20 -20
  179. package/src/__tests__/VitestSetup.ts +12 -0
  180. package/src/components/code-editor/CodeEditor.tsx +4 -2
  181. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +1 -0
  182. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +1 -0
  183. package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +2 -0
  184. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -19
  185. package/src/components/date-range-picker/__tests__/EditableDateRangePicker.spec.tsx +3 -3
  186. package/src/components/modal-wizard/__tests__/ModalWizard.spec.tsx +19 -4
  187. package/src/components/table/Table.styles.ts +0 -9
  188. package/src/components/table/Table.tsx +22 -13
  189. package/src/components/table/Table.types.ts +14 -3
  190. package/src/components/table/TableFooter.tsx +1 -1
  191. package/src/components/table/TableHeader.tsx +1 -1
  192. package/src/components/table/TableLastUpdated.tsx +51 -0
  193. package/src/components/table/TablePagination.tsx +1 -0
  194. package/src/components/table/TablePerPage.tsx +3 -3
  195. package/src/components/table/__tests__/Table.spec.tsx +44 -5
  196. package/src/components/table/__tests__/TableActions.spec.tsx +4 -3
  197. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +26 -59
  198. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +97 -0
  199. package/src/components/table/__tests__/TablePredicate.spec.tsx +7 -55
  200. package/src/components/table/layouts/RowLayout.tsx +45 -11
  201. package/src/components/table/useRowSelection.ts +13 -6
  202. package/src/theme/Theme.tsx +20 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {pageIndex: 0, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group>\n <Text>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"md\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","useTable","state","setState","updatePerPage","newPerPage","prevState","pagination","pageIndex","pageSize","parseInt","Group","Text","SegmentedControl","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;oBApB+B;4BAGrB;AAiBhB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;IAEtB,IAA0BC,YAAAA,IAAAA,2BAAnBC,QAAmBD,UAAnBC,OAAOC,WAAYF,UAAZE;IAEd,IAAMC,gBAAgB,SAACC;QACnBF,SAAS,SAACG;mBAAe,4CAClBA;gBACHC,YAAY;oBAACC,WAAW;oBAAGC,UAAUC,SAASL,YAAY;gBAAG;;;IAErE;QAMmBH;IAJnB,qBACI,sBAACS;;0BACG,qBAACC;0BAAMb;;0BACP,qBAACc;gBACGC,OAAOZ,CAAAA,sCAAAA,MAAMK,WAAWE,SAASM,wBAA1Bb,iDAAAA,sCAAwCF,mBAAAA,oBAAAA,KAAAA,IAAAA,MAAQ,CAAC,EAAE,CAACe;gBAC3DC,UAAUZ;gBACVa,MAAMjB,OAAOkB,IAAI,SAACJ;2BAAUA,MAAMC;;gBAClCI,OAAM;gBACNC,MAAK;;;;AAIrB;AAEAtB,aAAauB,eAAe"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {pageIndex: 0, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group spacing=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"sm\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","useTable","state","setState","updatePerPage","newPerPage","prevState","pagination","pageIndex","pageSize","parseInt","Group","spacing","Text","fw","SegmentedControl","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;oBApB+B;4BAGrB;AAiBhB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;QAeqCA,0BAAAA;IAb3D,IAA0BC,YAAAA,IAAAA,sBAAQ,KAA3BC,QAAmBD,UAAnBC,OAAOC,WAAYF,UAAZE;IAEd,IAAMC,gBAAgB,SAACC;QACnBF,SAAS,SAACG;mBAAe,4CAClBA;gBACHC,YAAY;oBAACC,WAAW;oBAAGC,UAAUC,SAASL,YAAY;gBAAG;;;IAErE;QAMmBH;IAJnB,qBACI,sBAACS,WAAK;QAACC,SAAQ;;0BACX,qBAACC,UAAI;gBAACC,IAAI;0BAAMf;;0BAChB,qBAACgB,sBAAgB;gBACbC,OAAOd,CAAAA,sCAAAA,MAAMK,UAAU,CAACE,QAAQ,CAACQ,QAAQ,gBAAlCf,iDAAAA,uCAAwCF,UAAAA,oBAAAA,+BAAAA,oBAAAA,SAAAA,OAAQ,CAAC,EAAE,EAACiB,QAAQ,cAApBjB,wCAAAA;gBAC/CkB,UAAUd;gBACVe,MAAMnB,OAAOoB,GAAG,CAAC,SAACJ;2BAAUA,MAAMC,QAAQ;;gBAC1CI,OAAM;gBACNC,MAAK;;;;AAIrB;AAEAxB,aAAayB,YAAY,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePredicate.tsx"],"sourcesContent":["import {createStyles, DefaultProps, Grid, Group, Select, SelectItem, Selectors, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n wrapper: {},\n label: {},\n}));\n\ntype TablePredicateStylesNames = Selectors<typeof useStyles>;\n\ninterface TablePredicateProps extends DefaultProps<TablePredicateStylesNames> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: SelectItem[];\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = ({\n id,\n data,\n label,\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TablePredicate', classNames, styles, unstyled});\n const {form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Predicate} py=\"sm\" className={classes.root} {...others}>\n <Group spacing=\"xs\" className={classes.wrapper}>\n {label ? <Text className={classes.label}>{label}:</Text> : null}\n <Select\n withinPortal\n value={form.values.predicates[id]}\n onChange={onUpdate}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n />\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["TablePredicate","useStyles","createStyles","theme","root","wrapper","label","id","data","classNames","styles","unstyled","others","classes","name","form","useTable","onUpdate","newValue","setFieldValue","values","predicates","Grid","Col","span","order","TableComponentsOrder","Predicate","py","className","Group","spacing","Text","Select","withinPortal","value","onChange","aria-label","searchable","length"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;;;oBA/B8E;2BAGxD;4BACZ;AAEvB,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS,CAAC;QACVC,OAAO,CAAC;IACZ;;AAqBO,IAAMN,iBAAyD;QAClEO,YAAAA,IACAC,cAAAA,MACAF,eAAAA,OACAG,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QANHL;QACAC;QACAF;QACAG;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWZ,UAAU,MAAM;QAACa,MAAM;QAAkBL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAAhFE;IACP,IAAM,AAACE,OAAQC,IAAAA,0BAARD;IAEP,IAAME,WAAW,SAACC;QACdH,KAAKI,cAAc,cAAc,4CAAIJ,KAAKK,OAAOC,aAAY,uBAACd,IAAKW;IACvE;IAEA,qBACI,qBAACI,WAAKC;QAAIC,MAAK;QAAUC,OAAOC,kCAAqBC;QAAWC,IAAG;QAAKC,WAAWhB,QAAQT;OAAUQ;kBACjG,cAAA,sBAACkB;YAAMC,SAAQ;YAAKF,WAAWhB,QAAQR;;gBAClCC,sBAAQ,sBAAC0B;oBAAKH,WAAWhB,QAAQP;;wBAAQA;wBAAM;;qBAAW;8BAC3D,qBAAC2B;oBACGC,YAAY;oBACZC,OAAOpB,KAAKK,OAAOC,UAAU,CAACd,GAAG;oBACjC6B,UAAUnB;oBACVT,MAAMA;oBACN6B,cAAY/B,kBAAAA,mBAAAA,QAASC;oBACrB+B,YAAY9B,KAAK+B,SAAS;;;;;AAK9C"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePredicate.tsx"],"sourcesContent":["import {createStyles, DefaultProps, Grid, Group, Select, SelectItem, Selectors, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n wrapper: {},\n label: {},\n}));\n\ntype TablePredicateStylesNames = Selectors<typeof useStyles>;\n\ninterface TablePredicateProps extends DefaultProps<TablePredicateStylesNames> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: SelectItem[];\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = ({\n id,\n data,\n label,\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TablePredicate', classNames, styles, unstyled});\n const {form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Predicate} py=\"sm\" className={classes.root} {...others}>\n <Group spacing=\"xs\" className={classes.wrapper}>\n {label ? <Text className={classes.label}>{label}:</Text> : null}\n <Select\n withinPortal\n value={form.values.predicates[id]}\n onChange={onUpdate}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n />\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["TablePredicate","useStyles","createStyles","theme","root","wrapper","label","id","data","classNames","styles","unstyled","others","classes","name","form","useTable","onUpdate","newValue","setFieldValue","values","predicates","Grid","Col","span","order","TableComponentsOrder","Predicate","py","className","Group","spacing","Text","Select","withinPortal","value","onChange","aria-label","searchable","length"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;;;oBA/B8E;2BAGxD;4BACZ;AAEvB,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS,CAAC;QACVC,OAAO,CAAC;IACZ;;AAqBO,IAAMN,iBAAyD;QAClEO,YAAAA,IACAC,cAAAA,MACAF,eAAAA,OACAG,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QANHL;QACAC;QACAF;QACAG;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWZ,UAAU,MAAM;QAACa,MAAM;QAAkBL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAAhFE;IACP,IAAM,AAACE,OAAQC,IAAAA,sBAAQ,IAAhBD;IAEP,IAAME,WAAW,SAACC;QACdH,KAAKI,aAAa,CAAC,cAAc,4CAAIJ,KAAKK,MAAM,CAACC,UAAU,GAAE,uBAACd,IAAKW;IACvE;IAEA,qBACI,qBAACI,UAAI,CAACC,GAAG;QAACC,MAAK;QAAUC,OAAOC,iCAAoB,CAACC,SAAS;QAAEC,IAAG;QAAKC,WAAWhB,QAAQT,IAAI;OAAMQ;kBACjG,cAAA,sBAACkB,WAAK;YAACC,SAAQ;YAAKF,WAAWhB,QAAQR,OAAO;;gBACzCC,sBAAQ,sBAAC0B,UAAI;oBAACH,WAAWhB,QAAQP,KAAK;;wBAAGA;wBAAM;;qBAAW;8BAC3D,qBAAC2B,YAAM;oBACHC,YAAY;oBACZC,OAAOpB,KAAKK,MAAM,CAACC,UAAU,CAACd,GAAG;oBACjC6B,UAAUnB;oBACVT,MAAMA;oBACN6B,cAAY/B,kBAAAA,mBAAAA,QAASC;oBACrB+B,YAAY9B,KAAK+B,MAAM,GAAG;;;;;AAK9C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label=\"Select row\"\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","sx","display","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,yBAAyB,gCAAgC;QAC7E,qBACI,qBAACC;YAAQF,OAAOA;sBACZ,cAAA,qBAACG;gBACGC,SAASL,MAAMM;gBACfC,eAAeP,MAAMQ;gBACrBC,UAAUT,MAAMU;gBAChBC,IAAI;oBAACC,SAAS;gBAAM;gBACpBC,cAAYZ;;;IAI5B;IACAa,MAAM;YAAEC,YAAAA;6BACJ,qBAACX;YACGC,SAASU,IAAIC;YACbT,eAAeQ,IAAIE;YACnBR,UAAUM,IAAIG;YACdP,IAAI;gBAACC,SAAS;YAAM;YACpBC,cAAW;;;AAGvB"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n sx={{display: 'flex'}}\n aria-label=\"Select row\"\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","sx","display","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC;QAC7E,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,IAAI;oBAACC,SAAS;gBAAM;gBACpBC,cAAYZ;;;IAI5B;IACAa,MAAM;YAAEC,YAAAA;6BACJ,qBAACX,cAAQ;YACLC,SAASU,IAAIC,aAAa;YAC1BT,eAAeQ,IAAIE,iBAAiB;YACpCR,UAAUM,IAAIG,wBAAwB;YACtCP,IAAI;gBAACC,SAAS;YAAM;YACpBC,cAAW;;;AAGvB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {Center, createStyles, Group, Text, UnstyledButton} from '@mantine/core';\nimport {defaultColumnSizing, flexRender, Header} from '@tanstack/react-table';\n\nconst useStyles = createStyles((theme) => ({\n th: {\n fontWeight: '400 !important' as any,\n padding: '0 !important',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n },\n\n control: {\n width: '100%',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n whiteSpace: 'nowrap',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[8] : theme.colors.gray[0],\n color: theme.colors.gray[6],\n\n '&:hover': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[7] : theme.colors.gray[1],\n },\n },\n}));\n\ninterface ThProps<T> {\n header: Header<T, unknown>;\n}\n\nconst SortingIcons = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport const Th = <T,>({header}: ThProps<T>) => {\n const {classes} = useStyles();\n const size = header.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th className={classes.th} style={{width}}>\n <Text size=\"xs\" py=\"xs\" px=\"sm\" fw={500}>\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Text>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = SortingIcons[sortingOrder];\n\n return (\n <th className={classes.th} style={{width}} aria-sort={SortingLabels[sortingOrder]}>\n <UnstyledButton onClick={onSort} className={classes.control}>\n <Group position=\"apart\" noWrap>\n <Text size=\"xs\" fw={500}>\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Text>\n <Center>\n <Icon height={14} />\n </Center>\n </Group>\n </UnstyledButton>\n </th>\n );\n};\n"],"names":["Th","useStyles","createStyles","theme","th","fontWeight","padding","verticalAlign","whiteSpace","control","width","spacing","xs","sm","backgroundColor","colorScheme","colors","gray","color","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","header","classes","size","column","getSize","defaultColumnSizing","undefined","isPlaceholder","getCanSort","className","style","Text","py","px","fw","flexRender","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","aria-sort","UnstyledButton","onClick","Group","position","noWrap","Center","height"],"mappings":";;;;+BAyCaA;;;eAAAA;;;;gCAzC8D;oBACX;0BACV;AAEtD,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,IAAI;YACAC,YAAY;YACZC,SAAS;YACTC,eAAe;YACfC,YAAY;QAChB;QAEAC,SAAS;YACLC,OAAO;YACPJ,SAAS,AAAC,GAAsBH,OAApBA,MAAMQ,QAAQC,IAAG,KAAoB,OAAjBT,MAAMQ,QAAQE;YAC9CL,YAAY;YACZM,iBAAiBX,MAAMY,gBAAgB,SAASZ,MAAMa,OAAOC,IAAI,CAAC,EAAE,GAAGd,MAAMa,OAAOC,IAAI,CAAC,EAAE;YAC3FC,OAAOf,MAAMa,OAAOC,IAAI,CAAC,EAAE;YAE3B,WAAW;gBACPH,iBAAiBX,MAAMY,gBAAgB,SAASZ,MAAMa,OAAOC,IAAI,CAAC,EAAE,GAAGd,MAAMa,OAAOC,IAAI,CAAC,EAAE;YAC/F;QACJ;IACJ;;AAMA,IAAME,eAAe;IACjBC,KAAKC;IACLC,MAAMC;IACNC,MAAMC;AACV;AAEA,IAAMC,gBAAgB;IAClBN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AAEO,IAAMxB,KAAK;QAAM2B,eAAAA;IACpB,IAAM,AAACC,UAAW3B,YAAX2B;IACP,IAAMC,OAAOF,OAAOG,OAAOC;IAC3B,IAAMrB,QAAQmB,SAASG,gCAAoBH,OAAOA,OAAOI;IAEzD,IAAIN,OAAOO,eAAe;QACtB,OAAO;IACX;IAEA,IAAI,CAACP,OAAOG,OAAOK,cAAc;QAC7B,qBACI,qBAAC/B;YAAGgC,WAAWR,QAAQxB;YAAIiC,OAAO;gBAAC3B,OAAAA;YAAK;sBACpC,cAAA,qBAAC4B;gBAAKT,MAAK;gBAAKU,IAAG;gBAAKC,IAAG;gBAAKC,IAAI;0BAC/BC,IAAAA,wBAAWf,OAAOG,OAAOa,UAAUhB,QAAQA,OAAOiB;;;IAInE;IAEA,IAAMC,SAASlB,OAAOG,OAAOgB;IAC7B,IAAMC,eAAepB,OAAOG,OAAOkB,iBAAiB;IACpD,IAAMC,OAAO9B,YAAY,CAAC4B,aAAa;IAEvC,qBACI,qBAAC3C;QAAGgC,WAAWR,QAAQxB;QAAIiC,OAAO;YAAC3B,OAAAA;QAAK;QAAGwC,aAAWxB,aAAa,CAACqB,aAAa;kBAC7E,cAAA,qBAACI;YAAeC,SAASP;YAAQT,WAAWR,QAAQnB;sBAChD,cAAA,sBAAC4C;gBAAMC,UAAS;gBAAQC,MAAM;;kCAC1B,qBAACjB;wBAAKT,MAAK;wBAAKY,IAAI;kCACfC,IAAAA,wBAAWf,OAAOG,OAAOa,UAAUhB,QAAQA,OAAOiB;;kCAEvD,qBAACY;kCACG,cAAA,qBAACP;4BAAKQ,QAAQ;;;;;;;AAMtC"}
1
+ {"version":3,"sources":["../../../../src/components/table/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {Center, createStyles, Group, Text, UnstyledButton} from '@mantine/core';\nimport {defaultColumnSizing, flexRender, Header} from '@tanstack/react-table';\n\nconst useStyles = createStyles((theme) => ({\n th: {\n fontWeight: '400 !important' as any,\n padding: '0 !important',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n },\n\n control: {\n width: '100%',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n whiteSpace: 'nowrap',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[8] : theme.colors.gray[0],\n color: theme.colors.gray[6],\n\n '&:hover': {\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.gray[7] : theme.colors.gray[1],\n },\n },\n}));\n\ninterface ThProps<T> {\n header: Header<T, unknown>;\n}\n\nconst SortingIcons = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport const Th = <T,>({header}: ThProps<T>) => {\n const {classes} = useStyles();\n const size = header.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th className={classes.th} style={{width}}>\n <Text size=\"xs\" py=\"xs\" px=\"sm\" fw={500}>\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Text>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = SortingIcons[sortingOrder];\n\n return (\n <th className={classes.th} style={{width}} aria-sort={SortingLabels[sortingOrder]}>\n <UnstyledButton onClick={onSort} className={classes.control}>\n <Group position=\"apart\" noWrap>\n <Text size=\"xs\" fw={500}>\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Text>\n <Center>\n <Icon height={14} />\n </Center>\n </Group>\n </UnstyledButton>\n </th>\n );\n};\n"],"names":["Th","useStyles","createStyles","theme","th","fontWeight","padding","verticalAlign","whiteSpace","control","width","spacing","xs","sm","backgroundColor","colorScheme","colors","gray","color","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","header","classes","size","column","getSize","defaultColumnSizing","undefined","isPlaceholder","getCanSort","className","style","Text","py","px","fw","flexRender","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","aria-sort","UnstyledButton","onClick","Group","position","noWrap","Center","height"],"mappings":";;;;+BAyCaA;;;eAAAA;;;;gCAzC8D;oBACX;0BACV;AAEtD,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,IAAI;YACAC,YAAY;YACZC,SAAS;YACTC,eAAe;YACfC,YAAY;QAChB;QAEAC,SAAS;YACLC,OAAO;YACPJ,SAAS,AAAC,GAAsBH,OAApBA,MAAMQ,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjBT,MAAMQ,OAAO,CAACE,EAAE;YAChDL,YAAY;YACZM,iBAAiBX,MAAMY,WAAW,KAAK,SAASZ,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE,GAAGd,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE;YAC3FC,OAAOf,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE;YAE3B,WAAW;gBACPH,iBAAiBX,MAAMY,WAAW,KAAK,SAASZ,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE,GAAGd,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE;YAC/F;QACJ;IACJ;;AAMA,IAAME,eAAe;IACjBC,KAAKC,iCAAe;IACpBC,MAAMC,mCAAiB;IACvBC,MAAMC,0CAAwB;AAClC;AAEA,IAAMC,gBAAgB;IAClBN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AAEO,IAAMxB,KAAK;QAAM2B,eAAAA;IACpB,IAAM,AAACC,UAAW3B,YAAX2B;IACP,IAAMC,OAAOF,OAAOG,MAAM,CAACC,OAAO;IAClC,IAAMrB,QAAQmB,SAASG,+BAAmB,CAACH,IAAI,GAAGA,OAAOI;IAEzD,IAAIN,OAAOO,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACP,OAAOG,MAAM,CAACK,UAAU,IAAI;QAC7B,qBACI,qBAAC/B;YAAGgC,WAAWR,QAAQxB,EAAE;YAAEiC,OAAO;gBAAC3B,OAAAA;YAAK;sBACpC,cAAA,qBAAC4B,UAAI;gBAACT,MAAK;gBAAKU,IAAG;gBAAKC,IAAG;gBAAKC,IAAI;0BAC/BC,IAAAA,sBAAU,EAACf,OAAOG,MAAM,CAACa,SAAS,CAAChB,MAAM,EAAEA,OAAOiB,UAAU;;;IAI7E;IAEA,IAAMC,SAASlB,OAAOG,MAAM,CAACgB,uBAAuB;IACpD,IAAMC,eAAepB,OAAOG,MAAM,CAACkB,WAAW,MAAM;IACpD,IAAMC,OAAO9B,YAAY,CAAC4B,aAAa;IAEvC,qBACI,qBAAC3C;QAAGgC,WAAWR,QAAQxB,EAAE;QAAEiC,OAAO;YAAC3B,OAAAA;QAAK;QAAGwC,aAAWxB,aAAa,CAACqB,aAAa;kBAC7E,cAAA,qBAACI,oBAAc;YAACC,SAASP;YAAQT,WAAWR,QAAQnB,OAAO;sBACvD,cAAA,sBAAC4C,WAAK;gBAACC,UAAS;gBAAQC,MAAM;;kCAC1B,qBAACjB,UAAI;wBAACT,MAAK;wBAAKY,IAAI;kCACfC,IAAAA,sBAAU,EAACf,OAAOG,MAAM,CAACa,SAAS,CAAChB,MAAM,EAAEA,OAAOiB,UAAU;;kCAEjE,qBAACY,YAAM;kCACH,cAAA,qBAACP;4BAAKQ,QAAQ;;;;;;;AAMtC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export * from './Table';\nexport {useTable} from './TableContext';\nexport {\n type onTableChangeEvent,\n type InitialTableState,\n type TableState,\n type TableProps,\n type TableLayout,\n type TableLayoutProps,\n} from './Table.types';\nexport {flexRender as renderTableCell} from '@tanstack/react-table';\n"],"names":["useTable","renderTableCell","flexRender"],"mappings":";;;;;;;;;;;IACQA,QAAQ;eAARA;;IAScC,eAAe;eAA7BC;;;;uBAVM;4BACS;0BASqB"}
1
+ {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export * from './Table';\nexport {useTable} from './TableContext';\nexport {\n type onTableChangeEvent,\n type InitialTableState,\n type TableState,\n type TableProps,\n type TableLayout,\n type TableLayoutProps,\n} from './Table.types';\nexport {flexRender as renderTableCell} from '@tanstack/react-table';\n"],"names":["useTable","renderTableCell","flexRender"],"mappings":";;;;;;;;;;;IACQA,QAAQ;eAARA,sBAAQ;;IASMC,eAAe;eAA7BC,sBAAU;;;;uBAVJ;4BACS;0BASqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AA2I7D,eAAO,MAAM,SAAS,EAAE,WAKvB,CAAC"}
1
+ {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AA6K7D,eAAO,MAAM,SAAS,EAAE,WAKvB,CAAC"}
@@ -18,14 +18,16 @@ var _react = require("react");
18
18
  var _TableCollapsibleColumn = require("../TableCollapsibleColumn");
19
19
  var _TableContext = require("../TableContext");
20
20
  var _TableLoading = require("../TableLoading");
21
+ var _TableSelectableColumn = require("../TableSelectableColumn");
21
22
  var _Th = require("../Th");
22
23
  var useStyles = (0, _core.createStyles)(function(theme, param) {
23
24
  var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
24
- var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0];
25
+ var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];
26
+ var border = "".concat((0, _core.rem)(1), " solid ").concat(theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]);
25
27
  return {
26
28
  headerColumns: {
27
29
  "& th:first-of-type > *": {
28
- paddingLeft: theme.spacing.xl
30
+ paddingLeft: "40px"
29
31
  },
30
32
  "& input[type=checkbox]": {
31
33
  backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
@@ -56,9 +58,23 @@ var useStyles = (0, _core.createStyles)(function(theme, param) {
56
58
  padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
57
59
  },
58
60
  row: {
61
+ "& td:first-of-type": {
62
+ paddingLeft: "40px"
63
+ },
59
64
  "&:hover": {
60
65
  backgroundColor: rowBackgroundColor
61
66
  }
67
+ },
68
+ cell: {
69
+ verticalAlign: "middle",
70
+ // We must use height instead of minHeight here, otherwise it doesn't apply
71
+ height: "56px",
72
+ padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
73
+ borderBottom: border
74
+ },
75
+ collapsible: {
76
+ backgroundColor: rowBackgroundColor,
77
+ borderBottom: border
62
78
  }
63
79
  };
64
80
  });
@@ -90,30 +106,49 @@ var RowLayoutBody = function(param) {
90
106
  disableRowSelection: disableRowSelection,
91
107
  multiRowSelectionEnabled: multiRowSelectionEnabled
92
108
  }), classes = _useStyles.classes, cx = _useStyles.cx;
109
+ var toggleCollapsible = function(el) {
110
+ var cell = el.children[el.children.length - 1];
111
+ cell.querySelector("button").click();
112
+ };
93
113
  var rows = table.getRowModel().rows.map(function(row) {
94
114
  var _getExpandChildren;
95
- var rowChildren = (_getExpandChildren = getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original)) !== null && _getExpandChildren !== void 0 ? _getExpandChildren : null;
115
+ var _getExpandChildren1;
116
+ var rowChildren = (_getExpandChildren1 = (_getExpandChildren = getExpandChildren) === null || _getExpandChildren === void 0 ? void 0 : _getExpandChildren(row.original)) !== null && _getExpandChildren1 !== void 0 ? _getExpandChildren1 : null;
96
117
  var isSelected = !!row.getIsSelected();
118
+ var onClick = function(event) {
119
+ if (rowChildren) {
120
+ toggleCollapsible(event.currentTarget);
121
+ }
122
+ if (!disableRowSelection && !multiRowSelectionEnabled) {
123
+ row.toggleSelected();
124
+ }
125
+ };
97
126
  var _obj;
98
127
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {
99
128
  children: [
100
129
  /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
101
- onClick: function() {
102
- return disableRowSelection ? undefined : row.toggleSelected();
103
- },
130
+ onClick: onClick,
104
131
  onDoubleClick: function() {
105
- return doubleClickAction === null || doubleClickAction === void 0 ? void 0 : doubleClickAction(row.original);
132
+ var _doubleClickAction;
133
+ return (_doubleClickAction = doubleClickAction) === null || _doubleClickAction === void 0 ? void 0 : _doubleClickAction(row.original);
106
134
  },
107
135
  className: cx(classes.row, (_obj = {}, _define_property._(_obj, classes.rowSelected, isSelected), _define_property._(_obj, classes.rowUnselectable, disableRowSelection), _obj)),
108
136
  "aria-selected": isSelected,
109
137
  children: row.getVisibleCells().map(function(cell) {
110
138
  var size = cell.column.getSize();
111
139
  var width = size !== _tablecore.defaultColumnSizing.size ? size : undefined;
140
+ var onCollapsibleCellClick = function(event) {
141
+ if (cell.column.id === _TableSelectableColumn.TableSelectableColumn.id && !disableRowSelection) {
142
+ event.stopPropagation();
143
+ row.getToggleSelectedHandler();
144
+ }
145
+ };
112
146
  return /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
113
147
  style: {
114
148
  width: width
115
149
  },
116
- className: cx(_define_property._({}, classes.rowCollapsibleButtonCell, cell.column.id === _TableCollapsibleColumn.TableCollapsibleColumn.id)),
150
+ className: cx(classes.cell, _define_property._({}, classes.rowCollapsibleButtonCell, cell.column.id === _TableCollapsibleColumn.TableCollapsibleColumn.id)),
151
+ onClick: onCollapsibleCellClick,
117
152
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLoading.TableLoading, {
118
153
  visible: loading,
119
154
  children: (0, _reacttable.flexRender)(cell.column.columnDef.cell, cell.getContext())
@@ -125,13 +160,12 @@ var RowLayoutBody = function(param) {
125
160
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
126
161
  colSpan: table.getAllColumns().length,
127
162
  style: {
128
- padding: 0,
129
- borderTop: row.getIsExpanded() ? undefined : "none",
130
- borderBottom: row.getIsExpanded() ? undefined : "none"
163
+ padding: 0
131
164
  },
132
165
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Collapse, {
133
166
  in: row.getIsExpanded(),
134
167
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
168
+ className: classes.collapsible,
135
169
  px: "sm",
136
170
  py: "xs",
137
171
  children: rowChildren
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse, createStyles} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment} from 'react';\nimport {TableLayout, TableLayoutProps} from '../Table.types';\nimport {TableCollapsibleColumn} from '../TableCollapsibleColumn';\nimport {useTable} from '../TableContext';\nimport {TableLoading} from '../TableLoading';\nimport {Th} from '../Th';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)\n : theme.colors[theme.primaryColor][0];\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: theme.spacing.xl,\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n },\n };\n});\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({table, doubleClickAction, getExpandChildren, loading}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => (disableRowSelection ? undefined : row.toggleSelected())}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["RowLayout","useStyles","createStyles","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","headerColumns","paddingLeft","spacing","xl","backgroundColor","gray","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","xs","sm","row","RowLayoutHeader","table","useTable","classes","headers","getHeaderGroups","map","headerGroup","tr","className","columnHeader","Th","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","cx","rows","getRowModel","rowChildren","original","isSelected","getIsSelected","Fragment","onClick","toggleSelected","onDoubleClick","aria-selected","getVisibleCells","cell","size","column","getSize","width","defaultColumnSizing","td","style","TableCollapsibleColumn","TableLoading","visible","flexRender","columnDef","getContext","colSpan","getAllColumns","length","borderTop","getIsExpanded","borderBottom","Collapse","in","Box","px","py","name","icon","ListSize16Px","Header","Body"],"mappings":";;;;+BAgJaA;;;eAAAA;;;;;gCAhJc;oBACe;0BACjB;yBACS;qBACX;sCAEc;4BACd;4BACI;kBACV;AAOjB,IAAMC,YAAYC,IAAAA,oBAAwC,SAACC;QAAQC,iCAAAA,0BAA0BC,4BAAAA;IACzF,IAAMC,qBACFH,MAAMI,gBAAgB,SAChBJ,MAAMK,GAAGC,KAAKN,MAAMO,MAAM,CAACP,MAAMQ,aAAa,CAAC,EAAE,EAAE,OACnDR,MAAMO,MAAM,CAACP,MAAMQ,aAAa,CAAC,EAAE;IAC7C,OAAO;QACHC,eAAe;YACX,0BAA0B;gBACtBC,aAAaV,MAAMW,QAAQC;YAC/B;YAEA,0BAA0B;gBACtBC,iBAAiBX,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,OAAOO,IAAI,CAAC,EAAE,IAAKC;gBACnEC,aAAad,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,OAAOO,IAAI,CAAC,EAAE,IAAK,AAAC,GAAuB,OAArBd,MAAMO,OAAOO,IAAI,CAAC,EAAE;gBACtFG,eAAef,sBAAsB,SAAS;gBAC9CgB,QAAQhB,sBAAsB,gBAAgB;gBAE9C,WAAW;oBACPiB,OAAOjB,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,OAAOO,IAAI,CAAC,EAAE,IAAK;gBAC7D;YACJ;QACJ;QAEAM,aAAa;YACTP,iBAAiBZ,2BAA2Bc,YAAYZ;QAC5D;QAEAkB,iBAAiB;YACb,0BAA0B;gBACtBR,iBAAiB,AAAC,GAAuB,OAArBb,MAAMO,OAAOO,IAAI,CAAC,EAAE;gBACxCE,aAAa,AAAC,GAAuB,OAArBhB,MAAMO,OAAOO,IAAI,CAAC,EAAE;gBACpCG,eAAe;gBACfC,QAAQ;gBAER,mBAAmB;oBACfC,OAAO,AAAC,GAAuB,OAArBnB,MAAMO,OAAOO,IAAI,CAAC,EAAE;gBAClC;YACJ;QACJ;QAEAQ,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BxB,OAAvBA,MAAMW,QAAQc,IAAG,QAAuB,OAAjBzB,MAAMW,QAAQe,IAAG;QAC7D;QAEAC,KAAK;YACD,WAAW;gBACPd,iBAAiBV;YACrB;QACJ;IACJ;AACJ;AAEA,IAAMyB,kBAAkB;QAAMC,cAAAA;IAC1B,IAAwDC,YAAAA,IAAAA,2BAAjD7B,2BAAiD6B,UAAjD7B,0BAA0BC,sBAAuB4B,UAAvB5B;IACjC,IAAM,AAAC6B,UAAWjC,UAAU;QAACI,qBAAAA;QAAqBD,0BAAAA;IAAwB,GAAnE8B;IACP,IAAMC,UAAUH,MAAMI,kBAAkBC,IAAI,SAACC;6BACzC,qBAACC;YAAwBC,WAAWN,QAAQtB;sBACvC0B,YAAYH,QAAQE,IAAI,SAACI;qCACtB,qBAACC;oBAAyBC,QAAQF;mBAAzBA,aAAaG;;WAFrBN,YAAYM;;IAMzB,qBAAO;kBAAGT;;AACd;AAEA,IAAMU,gBAAgB;QAAMb,cAAAA,OAAOc,0BAAAA,mBAAmBC,0BAAAA,mBAAmBC,gBAAAA;IACrE,IAAwDf,YAAAA,IAAAA,2BAAjD7B,2BAAiD6B,UAAjD7B,0BAA0BC,sBAAuB4B,UAAvB5B;IACjC,IAAsBJ,aAAAA,UAAU;QAACI,qBAAAA;QAAqBD,0BAAAA;IAAwB,IAAvE8B,UAAejC,WAAfiC,SAASe,KAAMhD,WAANgD;IAEhB,IAAMC,OAAOlB,MAAMmB,cAAcD,KAAKb,IAAI,SAACP;YACnBiB;QAApB,IAAMK,cAAcL,CAAAA,qBAAAA,8BAAAA,+BAAAA,KAAAA,IAAAA,kBAAoBjB,IAAIuB,uBAAxBN,gCAAAA,qBAAqC;QACzD,IAAMO,aAAa,CAAC,CAACxB,IAAIyB;YAOc;QALvC,qBACI,sBAACC;;8BACG,qBAACjB;oBACGkB,SAAS;+BAAOpD,sBAAsBa,YAAYY,IAAI4B;;oBACtDC,eAAe;wBAAMb,OAAAA,8BAAAA,+BAAAA,KAAAA,IAAAA,kBAAoBhB,IAAIuB;;oBAC7Cb,WAAWS,GAAGf,QAAQJ,MAAK,WACvB,mBADuB,MACtBI,QAAQX,aAAc+B,aACvB,mBAFuB,MAEtBpB,QAAQV,iBAAkBnB,sBAFJ;oBAI3BuD,iBAAeN;8BAEdxB,IAAI+B,kBAAkBxB,IAAI,SAACyB;wBACxB,IAAMC,OAAOD,KAAKE,OAAOC;wBACzB,IAAMC,QAAQH,SAASI,+BAAoBJ,OAAOA,OAAO7C;wBACzD,qBACI,qBAACkD;4BAEGC,OAAO;gCAACH,OAAAA;4BAAK;4BACb1B,WAAWS,GACP,uBAACf,QAAQT,0BAA2BqC,KAAKE,OAAOpB,OAAO0B,+CAAuB1B;sCAGlF,cAAA,qBAAC2B;gCAAaC,SAASxB;0CAClByB,IAAAA,wBAAWX,KAAKE,OAAOU,UAAUZ,MAAMA,KAAKa;;2BAP5Cb,KAAKlB;oBAWtB;;gBAEHQ,4BACG,qBAACb;8BACG,cAAA,qBAAC6B;wBACGQ,SAAS5C,MAAM6C,gBAAgBC;wBAC/BT,OAAO;4BACH1C,SAAS;4BACToD,WAAWjD,IAAIkD,kBAAkB9D,YAAY;4BAC7C+D,cAAcnD,IAAIkD,kBAAkB9D,YAAY;wBACpD;kCAEA,cAAA,qBAACgE;4BAASC,IAAIrD,IAAIkD;sCACd,cAAA,qBAACI;gCAAIC,IAAG;gCAAKC,IAAG;0CACXlC;;;;qBAKjB;;WA7COtB,IAAIc;IAgD3B;IAEA,qBAAO;kBAAGM;;AACd;AAEO,IAAMlD,YAAyB;IAClCuF,MAAM;IACNC,MAAMC;IACNC,QAAQ3D;IACR4D,MAAM9C;AACV"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse, createStyles, rem} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment, type MouseEvent} from 'react';\nimport {TableLayout, TableLayoutProps} from '../Table.types';\nimport {TableCollapsibleColumn} from '../TableCollapsibleColumn';\nimport {useTable} from '../TableContext';\nimport {TableLoading} from '../TableLoading';\nimport {TableSelectableColumn} from '../TableSelectableColumn';\nimport {Th} from '../Th';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark' ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];\n const border = `${rem(1)} solid ${theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]}`;\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: '40px',\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '& td:first-of-type': {\n paddingLeft: '40px',\n },\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n },\n\n cell: {\n verticalAlign: 'middle',\n // We must use height instead of minHeight here, otherwise it doesn't apply\n height: '56px',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n borderBottom: border,\n },\n\n collapsible: {\n backgroundColor: rowBackgroundColor,\n borderBottom: border,\n },\n };\n});\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({table, doubleClickAction, getExpandChildren, loading}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx(classes.cell, {\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box className={classes.collapsible} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["RowLayout","useStyles","createStyles","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","gray","border","rem","dark","headerColumns","paddingLeft","backgroundColor","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","spacing","xs","sm","row","cell","verticalAlign","height","borderBottom","collapsible","RowLayoutHeader","table","useTable","classes","headers","getHeaderGroups","map","headerGroup","tr","className","columnHeader","Th","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","cx","toggleCollapsible","el","children","length","querySelector","click","rows","getRowModel","rowChildren","original","isSelected","getIsSelected","onClick","event","currentTarget","toggleSelected","Fragment","onDoubleClick","aria-selected","getVisibleCells","size","column","getSize","width","defaultColumnSizing","onCollapsibleCellClick","TableSelectableColumn","stopPropagation","getToggleSelectedHandler","td","style","TableCollapsibleColumn","TableLoading","visible","flexRender","columnDef","getContext","colSpan","getAllColumns","Collapse","in","getIsExpanded","Box","px","py","name","icon","ListSize16Px","Header","Body"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {RowLayout} from './RowLayout';\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"mappings":";;;;+BAEaA;;;eAAAA;;;yBAFW;AAEjB,IAAMA,eAAe;IACxBC,MAAMC;AACV"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {RowLayout} from './RowLayout';\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"mappings":";;;;+BAEaA;;;eAAAA;;;yBAFW;AAEjB,IAAMA,eAAe;IACxBC,MAAMC,oBAAS;AACnB"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { Table } from '@tanstack/table-core';
3
3
  import { TableProps } from './Table.types';
4
- export declare const useRowSelection: <T>(table: Table<T>, { onRowSelectionChange, multiRowSelectionEnabled, }: Pick<TableProps<T>, "multiRowSelectionEnabled" | "onRowSelectionChange">) => {
4
+ export declare const useRowSelection: <T>(table: Table<T>, { onRowSelectionChange, multiRowSelectionEnabled, additionalRootNodes, }: Pick<TableProps<T>, "multiRowSelectionEnabled" | "onRowSelectionChange" | "additionalRootNodes">) => {
5
5
  clearSelection: () => void;
6
6
  getSelectedRow: () => T;
7
7
  getSelectedRows: () => T[];
8
- outsideClickRef: import("react").MutableRefObject<any>;
8
+ outsideClickRef: import("react").MutableRefObject<HTMLDivElement>;
9
9
  };
10
10
  //# sourceMappingURL=useRowSelection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/table/useRowSelection.ts"],"names":[],"mappings":";AACA,OAAO,EAAsC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAuB,UAAU,EAAa,MAAM,eAAe,CAAC;AAE3E,eAAO,MAAM,eAAe;;;;;CA0D3B,CAAC"}
1
+ {"version":3,"file":"useRowSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/table/useRowSelection.ts"],"names":[],"mappings":";AACA,OAAO,EAAsC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAIhF,OAAO,EAAuB,UAAU,EAAa,MAAM,eAAe,CAAC;AAE3E,eAAO,MAAM,eAAe;;;;;CAgE3B,CAAC"}
@@ -11,20 +11,26 @@ Object.defineProperty(exports, "useRowSelection", {
11
11
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
12
  var _object_spread = require("@swc/helpers/_/_object_spread");
13
13
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
+ var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
14
15
  var _hooks = require("@mantine/hooks");
15
16
  var _tablecore = require("@tanstack/table-core");
16
17
  var _fastdeepequal = /*#__PURE__*/ _interop_require_default._(require("fast-deep-equal"));
18
+ var _react = require("react");
17
19
  var useRowSelection = function(table, param) {
18
- var onRowSelectionChange = param.onRowSelectionChange, multiRowSelectionEnabled = param.multiRowSelectionEnabled;
19
- var outsideClickRef = (0, _hooks.useClickOutside)(function() {
20
+ var onRowSelectionChange = param.onRowSelectionChange, multiRowSelectionEnabled = param.multiRowSelectionEnabled, _param_additionalRootNodes = param.additionalRootNodes, additionalRootNodes = _param_additionalRootNodes === void 0 ? [] : _param_additionalRootNodes;
21
+ var outsideClickRef = (0, _react.useRef)();
22
+ (0, _hooks.useClickOutside)(function() {
20
23
  if (!multiRowSelectionEnabled) {
21
24
  clearSelection();
22
25
  }
23
- });
26
+ }, null, [
27
+ outsideClickRef.current
28
+ ].concat(_to_consumable_array._(additionalRootNodes)));
24
29
  table.setOptions(function(prev) {
25
30
  return _object_spread_props._(_object_spread._({}, prev), {
26
31
  onRowSelectionChange: function(rowSelectionUpdater) {
27
32
  table.setState(function(old) {
33
+ var _onRowSelectionChange;
28
34
  var newRowSelection = (0, _tablecore.functionalUpdate)(rowSelectionUpdater, old["rowSelection"]);
29
35
  if ((0, _fastdeepequal.default)(old["rowSelection"], newRowSelection)) {
30
36
  return old;
@@ -40,7 +46,7 @@ var useRowSelection = function(table, param) {
40
46
  newRowSelection[rowId] = (_rows_rowId_original = (_rows_rowId = rows[rowId]) === null || _rows_rowId === void 0 ? void 0 : _rows_rowId.original) !== null && _rows_rowId_original !== void 0 ? _rows_rowId_original : true;
41
47
  }
42
48
  });
43
- onRowSelectionChange === null || onRowSelectionChange === void 0 ? void 0 : onRowSelectionChange(Object.values(newRowSelection));
49
+ (_onRowSelectionChange = onRowSelectionChange) === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(Object.values(newRowSelection));
44
50
  return _object_spread_props._(_object_spread._({}, old), {
45
51
  rowSelection: newRowSelection
46
52
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/useRowSelection.ts"],"sourcesContent":["import {useClickOutside} from '@mantine/hooks';\nimport {functionalUpdate, RowSelectionState, Table} from '@tanstack/table-core';\nimport isEqual from 'fast-deep-equal';\n\nimport {RowSelectionWithData, TableProps, TableState} from './Table.types';\n\nexport const useRowSelection = <T>(\n table: Table<T>,\n {\n onRowSelectionChange,\n multiRowSelectionEnabled,\n }: Pick<TableProps<T>, 'onRowSelectionChange' | 'multiRowSelectionEnabled'>\n) => {\n const outsideClickRef = useClickOutside(() => {\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n });\n\n table.setOptions((prev) => ({\n ...prev,\n onRowSelectionChange: (rowSelectionUpdater) => {\n table.setState((old) => {\n const newRowSelection = functionalUpdate(\n rowSelectionUpdater,\n old['rowSelection']\n ) as RowSelectionWithData<T>;\n\n if (isEqual(old['rowSelection'], 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 onRowSelectionChange?.(Object.values(newRowSelection));\n\n return {\n ...old,\n rowSelection: newRowSelection as RowSelectionState,\n };\n });\n },\n }));\n\n const clearSelection = () => {\n table.resetRowSelection(true);\n };\n\n const getSelectedRows = () => Object.values((table.getState() as TableState<T>).rowSelection);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n return {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef};\n};\n"],"names":["useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","outsideClickRef","useClickOutside","clearSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","functionalUpdate","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","values","rowSelection","resetRowSelection","getSelectedRows","getState","getSelectedRow"],"mappings":";;;;+BAMaA;;;eAAAA;;;;;;qBANiB;yBAC2B;sEACrC;AAIb,IAAMA,kBAAkB,SAC3BC;QAEIC,6BAAAA,sBACAC,iCAAAA;IAGJ,IAAMC,kBAAkBC,IAAAA,wBAAgB;QACpC,IAAI,CAACF,0BAA0B;YAC3BG;QACJ;IACJ;IAEAL,MAAMM,WAAW,SAACC;QAAU,OAAA,4CACrBA;YACHN,sBAAsB,SAACO;gBACnBR,MAAMS,SAAS,SAACC;oBACZ,IAAMC,kBAAkBC,IAAAA,6BACpBJ,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIG,IAAAA,wBAAQH,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX;oBAEA,IAAMI,OAAOd,MAAMe,cAAcC;oBAEjCC,OAAOC,KAAKP,iBAAiBQ,QAAQ,SAACC;wBAClC,IAAIT,eAAe,CAACS,MAAM,KAAK,MAAM;gCAMRN;4BALzB,IAAI,CAACA,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,MACJ;4BAER;gCACyBR;4BAAzBH,eAAe,CAACS,MAAM,GAAGN,CAAAA,uBAAAA,CAAAA,cAAAA,IAAI,CAACM,MAAM,cAAXN,yBAAAA,KAAAA,IAAAA,YAAaS,sBAAbT,kCAAAA,uBAA0B;wBACvD;oBACJ;oBAEAb,iCAAAA,kCAAAA,KAAAA,IAAAA,qBAAuBgB,OAAOO,OAAOb;oBAErC,OAAO,4CACAD;wBACHe,cAAcd;;gBAEtB;YACJ;;;IAGJ,IAAMN,iBAAiB;QACnBL,MAAM0B,kBAAkB;IAC5B;IAEA,IAAMC,kBAAkB;eAAMV,OAAOO,OAAO,AAACxB,MAAM4B,WAA6BH;;QAEnDE;IAA7B,IAAME,iBAAiB;eAAMF,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB;;IAErD,OAAO;QAACtB,gBAAAA;QAAgBwB,gBAAAA;QAAgBF,iBAAAA;QAAiBxB,iBAAAA;IAAe;AAC5E"}
1
+ {"version":3,"sources":["../../../../src/components/table/useRowSelection.ts"],"sourcesContent":["import {useClickOutside} from '@mantine/hooks';\nimport {functionalUpdate, RowSelectionState, Table} from '@tanstack/table-core';\nimport isEqual from 'fast-deep-equal';\n\nimport {useRef} from 'react';\nimport {RowSelectionWithData, TableProps, TableState} from './Table.types';\n\nexport const useRowSelection = <T>(\n table: Table<T>,\n {\n onRowSelectionChange,\n multiRowSelectionEnabled,\n additionalRootNodes = [],\n }: Pick<TableProps<T>, 'onRowSelectionChange' | 'multiRowSelectionEnabled' | 'additionalRootNodes'>\n) => {\n const outsideClickRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n },\n null,\n [outsideClickRef.current, ...additionalRootNodes]\n );\n\n table.setOptions((prev) => ({\n ...prev,\n onRowSelectionChange: (rowSelectionUpdater) => {\n table.setState((old) => {\n const newRowSelection = functionalUpdate(\n rowSelectionUpdater,\n old['rowSelection']\n ) as RowSelectionWithData<T>;\n\n if (isEqual(old['rowSelection'], 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 onRowSelectionChange?.(Object.values(newRowSelection));\n\n return {\n ...old,\n rowSelection: newRowSelection as RowSelectionState,\n };\n });\n },\n }));\n\n const clearSelection = () => {\n table.resetRowSelection(true);\n };\n\n const getSelectedRows = () => Object.values((table.getState() as TableState<T>).rowSelection);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n return {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef};\n};\n"],"names":["useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","additionalRootNodes","outsideClickRef","useRef","useClickOutside","clearSelection","current","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","functionalUpdate","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","values","rowSelection","resetRowSelection","getSelectedRows","getState","getSelectedRow"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;;qBAPiB;yBAC2B;sEACrC;qBAEC;AAGd,IAAMA,kBAAkB,SAC3BC;QAEIC,6BAAAA,sBACAC,iCAAAA,6DACAC,qBAAAA,8DAAsB,EAAE;IAG5B,IAAMC,kBAAkBC,IAAAA,aAAM;IAC9BC,IAAAA,sBAAe,EACX;QACI,IAAI,CAACJ,0BAA0B;YAC3BK;QACJ;IACJ,GACA,MACA;QAACH,gBAAgBI,OAAO;KAAyB,CAAjD,OAA0B,uBAAGL;IAGjCH,MAAMS,UAAU,CAAC,SAACC;eAAU,4CACrBA;YACHT,sBAAsB,SAACU;gBACnBX,MAAMY,QAAQ,CAAC,SAACC;wBAuBZZ;oBAtBA,IAAMa,kBAAkBC,IAAAA,2BAAgB,EACpCJ,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIG,IAAAA,sBAAO,EAACH,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX;oBAEA,IAAMI,OAAOjB,MAAMkB,WAAW,GAAGC,QAAQ;oBAEzCC,OAAOC,IAAI,CAACP,iBAAiBQ,OAAO,CAAC,SAACC;wBAClC,IAAIT,eAAe,CAACS,MAAM,KAAK,MAAM;gCAMRN;4BALzB,IAAI,CAACA,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,KAAK,CACT;4BAER;gCACyBR;4BAAzBH,eAAe,CAACS,MAAM,GAAGN,CAAAA,wBAAAA,cAAAA,IAAI,CAACM,MAAM,cAAXN,kCAAAA,YAAaS,QAAQ,cAArBT,kCAAAA,uBAA0B;wBACvD;oBACJ;qBAEAhB,wBAAAA,kCAAAA,4CAAAA,sBAAuBmB,OAAOO,MAAM,CAACb;oBAErC,OAAO,4CACAD;wBACHe,cAAcd;;gBAEtB;YACJ;;;IAGJ,IAAMP,iBAAiB;QACnBP,MAAM6B,iBAAiB,CAAC;IAC5B;IAEA,IAAMC,kBAAkB;eAAMV,OAAOO,MAAM,CAAC,AAAC3B,MAAM+B,QAAQ,GAAqBH,YAAY;;QAE/DE;IAA7B,IAAME,iBAAiB;eAAMF,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB;;IAErD,OAAO;QAACvB,gBAAAA;QAAgByB,gBAAAA;QAAgBF,iBAAAA;QAAiB1B,iBAAAA;IAAe;AAC5E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/form/FormProvider.tsx"],"sourcesContent":["/* eslint-disable prefer-arrow/prefer-arrow-functions */\nimport {_TransformValues, UseForm, UseFormReturnType} from '@mantine/form/lib/types';\nimport React, {createContext, useContext} from 'react';\n\nimport {useForm} from './useForm';\n\nexport interface FormProviderProps<Form> {\n form: Form;\n children: React.ReactNode;\n}\n\nexport function createFormContext<\n Values,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values\n>() {\n type Form = UseFormReturnType<Values, TransformValues>;\n\n const FormContext = createContext<Form>(null);\n\n function FormProvider({form, children}: FormProviderProps<Form>) {\n return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n }\n\n function useFormContext() {\n const ctx = useContext(FormContext);\n if (!ctx) {\n throw new Error('useFormContext was called outside of FormProvider context');\n }\n\n return ctx;\n }\n\n return [FormProvider, useFormContext, useForm] as [\n React.FC<FormProviderProps<Form>>,\n () => Form,\n UseForm<Values, TransformValues>\n ];\n}\n"],"names":["createFormContext","FormProvider","form","children","FormContext","Provider","value","useFormContext","ctx","useContext","Error","createContext","useForm"],"mappings":"AAAA,sDAAsD;;;;+BAWtCA;;;eAAAA;;;;;+DAT+B;uBAEzB;AAOf,SAASA;QAQHC,eAAT,SAASA,aAAa,KAAyC;YAAxCC,OAAD,MAACA,MAAMC,WAAP,MAAOA;QACzB,qBAAO,qBAACC,YAAYC;YAASC,OAAOJ;sBAAOC;;IAC/C;QAESI,iBAAT,SAASA;QACL,IAAMC,MAAMC,IAAAA,mBAAWL;QACvB,IAAI,CAACI,KAAK;YACN,MAAM,IAAIE,MAAM;QACpB;QAEA,OAAOF;IACX;IAbA,IAAMJ,4BAAcO,IAAAA,sBAAoB;IAexC,OAAO;QAACV;QAAcM;QAAgBK;KAAQ;AAKlD"}
1
+ {"version":3,"sources":["../../../src/form/FormProvider.tsx"],"sourcesContent":["/* eslint-disable prefer-arrow/prefer-arrow-functions */\nimport {_TransformValues, UseForm, UseFormReturnType} from '@mantine/form/lib/types';\nimport React, {createContext, useContext} from 'react';\n\nimport {useForm} from './useForm';\n\nexport interface FormProviderProps<Form> {\n form: Form;\n children: React.ReactNode;\n}\n\nexport function createFormContext<\n Values,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values\n>() {\n type Form = UseFormReturnType<Values, TransformValues>;\n\n const FormContext = createContext<Form>(null);\n\n function FormProvider({form, children}: FormProviderProps<Form>) {\n return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n }\n\n function useFormContext() {\n const ctx = useContext(FormContext);\n if (!ctx) {\n throw new Error('useFormContext was called outside of FormProvider context');\n }\n\n return ctx;\n }\n\n return [FormProvider, useFormContext, useForm] as [\n React.FC<FormProviderProps<Form>>,\n () => Form,\n UseForm<Values, TransformValues>\n ];\n}\n"],"names":["createFormContext","FormProvider","form","children","FormContext","Provider","value","useFormContext","ctx","useContext","Error","createContext","useForm"],"mappings":"AAAA,sDAAsD;;;;+BAWtCA;;;eAAAA;;;;;+DAT+B;uBAEzB;AAOf,SAASA;QAQHC,eAAT,SAASA,aAAa,KAAyC;YAAxCC,OAAD,MAACA,MAAMC,WAAP,MAAOA;QACzB,qBAAO,qBAACC,YAAYC,QAAQ;YAACC,OAAOJ;sBAAOC;;IAC/C;QAESI,iBAAT,SAASA;QACL,IAAMC,MAAMC,IAAAA,iBAAU,EAACL;QACvB,IAAI,CAACI,KAAK;YACN,MAAM,IAAIE,MAAM;QACpB;QAEA,OAAOF;IACX;IAbA,IAAMJ,4BAAcO,IAAAA,oBAAa,EAAO;IAexC,OAAO;QAACV;QAAcM;QAAgBK,gBAAO;KAAC;AAKlD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/form/useForm.ts"],"sourcesContent":["import {useForm as useMantineForm} from '@mantine/form';\nimport {GetInputProps} from '@mantine/form/lib/types';\n\nexport const useForm: typeof useMantineForm = (options) => {\n const form = useMantineForm(options);\n\n const getInputProps: GetInputProps<Record<string, unknown>> = (\n path,\n {type = 'input', withError = type === 'input', withFocus = true} = {}\n ) => {\n const originalPayload = form.getInputProps(path, {type, withError, withFocus});\n if (Array.isArray(originalPayload.value)) {\n return {\n ...originalPayload,\n onReorderItem: (payload: Record<'from' | 'to', number>) => form.reorderListItem(path, payload),\n onRemoveItem: (index: number) => form.removeListItem(path, index),\n onInsertItem: (valueToInsert: unknown, index: number) =>\n form.insertListItem(path, valueToInsert, index),\n };\n }\n\n return originalPayload;\n };\n\n return {...form, getInputProps};\n};\n"],"names":["useForm","options","form","useMantineForm","getInputProps","path","type","withError","withFocus","originalPayload","Array","isArray","value","onReorderItem","payload","reorderListItem","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;oBAH2B;AAGjC,IAAMA,UAAiC,SAACC;IAC3C,IAAMC,OAAOC,IAAAA,eAAeF;IAE5B,IAAMG,gBAAwD,SAC1DC;oFACmE,CAAC,oBAAnEC,MAAAA,8BAAO,2CAASC,WAAAA,wCAAYD,SAAS,gDAASE,WAAAA,wCAAY;QAE3D,IAAMC,kBAAkBP,KAAKE,cAAcC,MAAM;YAACC,MAAAA;YAAMC,WAAAA;YAAWC,WAAAA;QAAS;QAC5E,IAAIE,MAAMC,QAAQF,gBAAgBG,QAAQ;YACtC,OAAO,4CACAH;gBACHI,eAAe,SAACC;2BAA2CZ,KAAKa,gBAAgBV,MAAMS;;gBACtFE,cAAc,SAACC;2BAAkBf,KAAKgB,eAAeb,MAAMY;;gBAC3DE,cAAc,SAACC,eAAwBH;2BACnCf,KAAKmB,eAAehB,MAAMe,eAAeH;;;QAErD;QAEA,OAAOR;IACX;IAEA,OAAO,4CAAIP;QAAME,eAAAA;;AACrB"}
1
+ {"version":3,"sources":["../../../src/form/useForm.ts"],"sourcesContent":["import {useForm as useMantineForm} from '@mantine/form';\nimport {GetInputProps} from '@mantine/form/lib/types';\n\nexport const useForm: typeof useMantineForm = (options) => {\n const form = useMantineForm(options);\n\n const getInputProps: GetInputProps<Record<string, unknown>> = (\n path,\n {type = 'input', withError = type === 'input', withFocus = true} = {}\n ) => {\n const originalPayload = form.getInputProps(path, {type, withError, withFocus});\n if (Array.isArray(originalPayload.value)) {\n return {\n ...originalPayload,\n onReorderItem: (payload: Record<'from' | 'to', number>) => form.reorderListItem(path, payload),\n onRemoveItem: (index: number) => form.removeListItem(path, index),\n onInsertItem: (valueToInsert: unknown, index: number) =>\n form.insertListItem(path, valueToInsert, index),\n };\n }\n\n return originalPayload;\n };\n\n return {...form, getInputProps};\n};\n"],"names":["useForm","options","form","useMantineForm","getInputProps","path","type","withError","withFocus","originalPayload","Array","isArray","value","onReorderItem","payload","reorderListItem","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;oBAH2B;AAGjC,IAAMA,UAAiC,SAACC;IAC3C,IAAMC,OAAOC,IAAAA,aAAc,EAACF;IAE5B,IAAMG,gBAAwD,SAC1DC;oFACmE,CAAC,oBAAnEC,MAAAA,8BAAO,2CAASC,WAAAA,wCAAYD,SAAS,gDAASE,WAAAA,wCAAY;QAE3D,IAAMC,kBAAkBP,KAAKE,aAAa,CAACC,MAAM;YAACC,MAAAA;YAAMC,WAAAA;YAAWC,WAAAA;QAAS;QAC5E,IAAIE,MAAMC,OAAO,CAACF,gBAAgBG,KAAK,GAAG;YACtC,OAAO,4CACAH;gBACHI,eAAe,SAACC;2BAA2CZ,KAAKa,eAAe,CAACV,MAAMS;;gBACtFE,cAAc,SAACC;2BAAkBf,KAAKgB,cAAc,CAACb,MAAMY;;gBAC3DE,cAAc,SAACC,eAAwBH;2BACnCf,KAAKmB,cAAc,CAAChB,MAAMe,eAAeH;;;QAErD;QAEA,OAAOR;IACX;IAEA,OAAO,4CAAIP;QAAME,eAAAA;;AACrB"}
@@ -20,24 +20,27 @@ var useControlledList = function(param) {
20
20
  onChange: onChange
21
21
  }), 2), values = _useUncontrolled[0], handleChange = _useUncontrolled[1];
22
22
  var remove = function(index) {
23
+ var _handleChange;
23
24
  var newValues = values.filter(function(_, i) {
24
25
  return i !== index;
25
26
  });
26
- handleChange === null || handleChange === void 0 ? void 0 : handleChange(newValues);
27
+ (_handleChange = handleChange) === null || _handleChange === void 0 ? void 0 : _handleChange(newValues);
27
28
  };
28
29
  var append = function(item) {
30
+ var _handleChange;
29
31
  var newValues = _to_consumable_array._(values).concat([
30
32
  item
31
33
  ]);
32
- handleChange === null || handleChange === void 0 ? void 0 : handleChange(newValues);
34
+ (_handleChange = handleChange) === null || _handleChange === void 0 ? void 0 : _handleChange(newValues);
33
35
  };
34
36
  var reorder = function(param) {
35
37
  var from = param.from, to = param.to;
38
+ var _handleChange;
36
39
  var newValues = _to_consumable_array._(values);
37
40
  var item = values[from];
38
41
  newValues.splice(from, 1);
39
42
  newValues.splice(to, 0, item);
40
- handleChange === null || handleChange === void 0 ? void 0 : handleChange(newValues);
43
+ (_handleChange = handleChange) === null || _handleChange === void 0 ? void 0 : _handleChange(newValues);
41
44
  };
42
45
  return [
43
46
  values,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useControlledList.ts"],"sourcesContent":["import {useUncontrolled} from '@mantine/hooks';\n\ninterface UseControlledList<T> {\n /** Initial value for uncontrolled state */\n defaultValue?: T[];\n /** Value for controlled state */\n value?: T[];\n /** Controlled state onChange handler */\n onChange?: (values: T[]) => void;\n}\n\ninterface ListHandlers<T> {\n /** Appends the item at the end of the list */\n append: (item: T) => void;\n /** Removes the item at the index from the list */\n remove: (index: number) => void;\n /** Moves the item at the \"from\" position to another position within the list */\n reorder: ({from, to}: {from: number; to: number}) => void;\n}\n\n/**\n * Manage a list of items in a controlled fashion, to be used with inputs\n */\nexport const useControlledList = <T>({defaultValue, value, onChange}: UseControlledList<T>): [T[], ListHandlers<T>] => {\n const [values, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const remove = (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n handleChange?.(newValues);\n };\n\n const append = (item: T) => {\n const newValues = [...values, item];\n handleChange?.(newValues);\n };\n\n const reorder = ({from, to}: {from: number; to: number}) => {\n const newValues = [...values];\n const item = values[from];\n\n newValues.splice(from, 1);\n newValues.splice(to, 0, item);\n\n handleChange?.(newValues);\n };\n\n return [values, {remove, append, reorder}];\n};\n"],"names":["useControlledList","defaultValue","value","onChange","useUncontrolled","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;qBAvBiB;AAuBvB,IAAMA,oBAAoB;QAAKC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BC,sCAAAA,IAAAA,wBAAgB;QAC3CF,OAAAA;QACAD,cAAAA;QACAI,YAAY,EAAE;QACdF,UAAAA;IACJ,QALOG,SAAwBF,qBAAhBG,eAAgBH;IAO/B,IAAMI,SAAS,SAACC;QACZ,IAAMC,YAAYJ,OAAOK,OAAO,SAACC,GAAGC;mBAAMA,MAAMJ;;QAChDF,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,IAAMI,SAAS,SAACC;QACZ,IAAML,YAAY,AAAC,uBAAGJ,eAAJ;YAAYS;SAAK;QACnCR,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,IAAMM,UAAU;YAAEC,aAAAA,MAAMC,WAAAA;QACpB,IAAMR,YAAa,uBAAGJ;QACtB,IAAMS,OAAOT,MAAM,CAACW,KAAK;QAEzBP,UAAUS,OAAOF,MAAM;QACvBP,UAAUS,OAAOD,IAAI,GAAGH;QAExBR,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,OAAO;QAACJ;QAAQ;YAACE,QAAAA;YAAQM,QAAAA;YAAQE,SAAAA;QAAO;KAAE;AAC9C"}
1
+ {"version":3,"sources":["../../../src/hooks/useControlledList.ts"],"sourcesContent":["import {useUncontrolled} from '@mantine/hooks';\n\ninterface UseControlledList<T> {\n /** Initial value for uncontrolled state */\n defaultValue?: T[];\n /** Value for controlled state */\n value?: T[];\n /** Controlled state onChange handler */\n onChange?: (values: T[]) => void;\n}\n\ninterface ListHandlers<T> {\n /** Appends the item at the end of the list */\n append: (item: T) => void;\n /** Removes the item at the index from the list */\n remove: (index: number) => void;\n /** Moves the item at the \"from\" position to another position within the list */\n reorder: ({from, to}: {from: number; to: number}) => void;\n}\n\n/**\n * Manage a list of items in a controlled fashion, to be used with inputs\n */\nexport const useControlledList = <T>({defaultValue, value, onChange}: UseControlledList<T>): [T[], ListHandlers<T>] => {\n const [values, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const remove = (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n handleChange?.(newValues);\n };\n\n const append = (item: T) => {\n const newValues = [...values, item];\n handleChange?.(newValues);\n };\n\n const reorder = ({from, to}: {from: number; to: number}) => {\n const newValues = [...values];\n const item = values[from];\n\n newValues.splice(from, 1);\n newValues.splice(to, 0, item);\n\n handleChange?.(newValues);\n };\n\n return [values, {remove, append, reorder}];\n};\n"],"names":["useControlledList","defaultValue","value","onChange","useUncontrolled","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;qBAvBiB;AAuBvB,IAAMA,oBAAoB;QAAKC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BC,sCAAAA,IAAAA,sBAAe,EAAC;QAC3CF,OAAAA;QACAD,cAAAA;QACAI,YAAY,EAAE;QACdF,UAAAA;IACJ,QALOG,SAAwBF,qBAAhBG,eAAgBH;IAO/B,IAAMI,SAAS,SAACC;YAEZF;QADA,IAAMG,YAAYJ,OAAOK,MAAM,CAAC,SAACC,GAAGC;mBAAMA,MAAMJ;;SAChDF,gBAAAA,0BAAAA,oCAAAA,cAAeG;IACnB;IAEA,IAAMI,SAAS,SAACC;YAEZR;QADA,IAAMG,YAAY,AAAC,uBAAGJ,eAAJ;YAAYS;SAAK;SACnCR,gBAAAA,0BAAAA,oCAAAA,cAAeG;IACnB;IAEA,IAAMM,UAAU;YAAEC,aAAAA,MAAMC,WAAAA;YAOpBX;QANA,IAAMG,YAAa,uBAAGJ;QACtB,IAAMS,OAAOT,MAAM,CAACW,KAAK;QAEzBP,UAAUS,MAAM,CAACF,MAAM;QACvBP,UAAUS,MAAM,CAACD,IAAI,GAAGH;SAExBR,gBAAAA,0BAAAA,oCAAAA,cAAeG;IACnB;IAEA,OAAO;QAACJ;QAAQ;YAACE,QAAAA;YAAQM,QAAAA;YAAQE,SAAAA;QAAO;KAAE;AAC9C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useParentHeight.ts"],"sourcesContent":["import {useEffect, useRef, useState} from 'react';\n\nconst getElementInnerHeight = (el: HTMLElement): number => {\n const fullHeight = el.getBoundingClientRect().height;\n const cs = getComputedStyle(el);\n const padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);\n const border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);\n return fullHeight - padding - border;\n};\n\n/**\n * Computes the available height of the parent element on mount\n */\nexport const useParentHeight = (): [number, React.MutableRefObject<HTMLDivElement>] => {\n const [height, setHeight] = useState(-1);\n const ref = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (ref.current) {\n setHeight(getElementInnerHeight(ref.current.parentElement));\n }\n }, [ref.current]);\n\n return [height, ref];\n};\n"],"names":["useParentHeight","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useState","setHeight","ref","useRef","useEffect","current","parentElement"],"mappings":";;;;+BAaaA;;;eAAAA;;;;qBAb6B;AAE1C,IAAMC,wBAAwB,SAACC;IAC3B,IAAMC,aAAaD,GAAGE,wBAAwBC;IAC9C,IAAMC,KAAKC,iBAAiBL;IAC5B,IAAMM,UAAUC,WAAWH,GAAGI,cAAcD,WAAWH,GAAGK;IAC1D,IAAMC,SAASH,WAAWH,GAAGO,kBAAkBJ,WAAWH,GAAGQ;IAC7D,OAAOX,aAAaK,UAAUI;AAClC;AAKO,IAAMZ,kBAAkB;IAC3B,IAA4Be,+BAAAA,IAAAA,iBAAS,CAAC,QAA/BV,SAAqBU,cAAbC,YAAaD;IAC5B,IAAME,MAAMC,IAAAA;IAEZC,IAAAA,kBAAU;QACN,IAAIF,IAAIG,SAAS;YACbJ,UAAUf,sBAAsBgB,IAAIG,QAAQC;QAChD;IACJ,GAAG;QAACJ,IAAIG;KAAQ;IAEhB,OAAO;QAACf;QAAQY;KAAI;AACxB"}
1
+ {"version":3,"sources":["../../../src/hooks/useParentHeight.ts"],"sourcesContent":["import {useEffect, useRef, useState} from 'react';\n\nconst getElementInnerHeight = (el: HTMLElement): number => {\n const fullHeight = el.getBoundingClientRect().height;\n const cs = getComputedStyle(el);\n const padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);\n const border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);\n return fullHeight - padding - border;\n};\n\n/**\n * Computes the available height of the parent element on mount\n */\nexport const useParentHeight = (): [number, React.MutableRefObject<HTMLDivElement>] => {\n const [height, setHeight] = useState(-1);\n const ref = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (ref.current) {\n setHeight(getElementInnerHeight(ref.current.parentElement));\n }\n }, [ref.current]);\n\n return [height, ref];\n};\n"],"names":["useParentHeight","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useState","setHeight","ref","useRef","useEffect","current","parentElement"],"mappings":";;;;+BAaaA;;;eAAAA;;;;qBAb6B;AAE1C,IAAMC,wBAAwB,SAACC;IAC3B,IAAMC,aAAaD,GAAGE,qBAAqB,GAAGC,MAAM;IACpD,IAAMC,KAAKC,iBAAiBL;IAC5B,IAAMM,UAAUC,WAAWH,GAAGI,UAAU,IAAID,WAAWH,GAAGK,aAAa;IACvE,IAAMC,SAASH,WAAWH,GAAGO,cAAc,IAAIJ,WAAWH,GAAGQ,iBAAiB;IAC9E,OAAOX,aAAaK,UAAUI;AAClC;AAKO,IAAMZ,kBAAkB;IAC3B,IAA4Be,+BAAAA,IAAAA,eAAQ,EAAC,CAAC,QAA/BV,SAAqBU,cAAbC,YAAaD;IAC5B,IAAME,MAAMC,IAAAA,aAAM;IAElBC,IAAAA,gBAAS,EAAC;QACN,IAAIF,IAAIG,OAAO,EAAE;YACbJ,UAAUf,sBAAsBgB,IAAIG,OAAO,CAACC,aAAa;QAC7D;IACJ,GAAG;QAACJ,IAAIG,OAAO;KAAC;IAEhB,OAAO;QAACf;QAAQY;KAAI;AACxB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {Tuple} from '@mantine/core';\n\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/notifications';\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport type {FormValidateInput} from '@mantine/form/lib/types';\nexport * from '@mantine/hooks';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport * from '@mantine/form';\nexport {type NotificationProps} from '@mantine/notifications';\nexport {Pagination} from '@mantine/core';\n// explicitly overriding mantine components\nexport {\n Header,\n type HeaderProps,\n Table,\n type TableProps,\n type TableState,\n type InitialTableState,\n Button,\n type ButtonProps,\n Menu,\n type MenuItemProps,\n CopyToClipboard,\n type CopyToClipboardProps,\n} from './components';\nexport {useForm, createFormContext} from './form';\n\nexport * from './theme';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), Tuple<string, 10>>;\n }\n}\n"],"names":["Pagination","Header","Table","Button","Menu","CopyToClipboard","useForm","createFormContext"],"mappings":";;;;;;;;;;;IAaQA,UAAU;eAAVA;;IAGJC,MAAM;eAANA;;IAEAC,KAAK;eAALA;;IAIAC,MAAM;eAANA;;IAEAC,IAAI;eAAJA;;IAEAC,eAAe;eAAfA;;IAGIC,OAAO;eAAPA;;IAASC,iBAAiB;eAAjBA;;;;uBAzBH;uBACA;mCACA;uBAEA;uBACA;yCACA;uBACA;oBAkB2B;uBAE3B"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {Tuple} from '@mantine/core';\n\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/notifications';\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport type {FormValidateInput} from '@mantine/form/lib/types';\nexport * from '@mantine/hooks';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport * from '@mantine/form';\nexport {type NotificationProps} from '@mantine/notifications';\nexport {Pagination} from '@mantine/core';\n// explicitly overriding mantine components\nexport {\n Header,\n type HeaderProps,\n Table,\n type TableProps,\n type TableState,\n type InitialTableState,\n Button,\n type ButtonProps,\n Menu,\n type MenuItemProps,\n CopyToClipboard,\n type CopyToClipboardProps,\n} from './components';\nexport {useForm, createFormContext} from './form';\n\nexport * from './theme';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), Tuple<string, 10>>;\n }\n}\n"],"names":["Pagination","Header","Table","Button","Menu","CopyToClipboard","useForm","createFormContext"],"mappings":";;;;;;;;;;;IAaQA,UAAU;eAAVA,gBAAU;;IAGdC,MAAM;eAANA,kBAAM;;IAENC,KAAK;eAALA,iBAAK;;IAILC,MAAM;eAANA,kBAAM;;IAENC,IAAI;eAAJA,gBAAI;;IAEJC,eAAe;eAAfA,2BAAe;;IAGXC,OAAO;eAAPA,aAAO;;IAAEC,iBAAiB;eAAjBA,uBAAiB;;;;uBAzBpB;uBACA;mCACA;uBAEA;uBACA;yCACA;uBACA;oBAkB2B;uBAE3B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/PlasmaColors.ts"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {Tuple} from '@mantine/core';\n\nconst toMantineColor = (plasmaColor: Record<string, string>): Tuple<string, 10> =>\n Object.values(plasmaColor) as Tuple<string, 10>;\n\nconst navy = toMantineColor(color.primary.navy);\nconst red = toMantineColor(color.accent.red);\nconst yellow = toMantineColor(color.accent.yellow);\nconst teal = toMantineColor(color.accent.teal);\nconst lime = [\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[6],\n color.secondary.lime[6],\n color.secondary.lime[6],\n color.secondary.lime[9],\n color.secondary.lime[9],\n color.secondary.lime[9],\n] as Tuple<string, 10>;\n\nexport const PlasmaColors = {\n // Primary\n gray: toMantineColor(color.primary.gray),\n action: [\n color.primary.action[1],\n color.primary.action[1],\n color.primary.action[2],\n color.primary.action[3],\n color.primary.action[4],\n color.primary.action[6],\n color.primary.action[6],\n color.primary.action[8],\n color.primary.action[8],\n color.primary.action[9],\n ] as Tuple<string, 10>,\n navy,\n info: navy,\n // Accent\n blue: toMantineColor(color.accent.blue),\n red,\n critical: red,\n teal,\n new: teal,\n yellow,\n warning: yellow,\n // Secondary\n green: toMantineColor(color.secondary.green),\n indigo: toMantineColor(color.secondary.indigo),\n lime,\n success: lime,\n purple: toMantineColor(color.secondary.purple),\n};\n"],"names":["PlasmaColors","toMantineColor","plasmaColor","Object","values","navy","color","primary","red","accent","yellow","teal","lime","secondary","gray","action","info","blue","critical","new","warning","green","indigo","success","purple"],"mappings":";;;;+BAuBaA;;;eAAAA;;;4BAvBO;AAGpB,IAAMC,iBAAiB,SAACC;WACpBC,OAAOC,OAAOF;;AAElB,IAAMG,OAAOJ,eAAeK,oBAAMC,QAAQF;AAC1C,IAAMG,MAAMP,eAAeK,oBAAMG,OAAOD;AACxC,IAAME,SAAST,eAAeK,oBAAMG,OAAOC;AAC3C,IAAMC,OAAOV,eAAeK,oBAAMG,OAAOE;AACzC,IAAMC,OAAO;IACTN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;IACvBN,oBAAMO,UAAUD,IAAI,CAAC,EAAE;CAC1B;AAEM,IAAMZ,eAAe;IACxB,UAAU;IACVc,MAAMb,eAAeK,oBAAMC,QAAQO;IACnCC,QAAQ;QACJT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;QACvBT,oBAAMC,QAAQQ,MAAM,CAAC,EAAE;KAC1B;IACDV,MAAAA;IACAW,MAAMX;IACN,SAAS;IACTY,MAAMhB,eAAeK,oBAAMG,OAAOQ;IAClCT,KAAAA;IACAU,UAAUV;IACVG,MAAAA;IACAQ,KAAKR;IACLD,QAAAA;IACAU,SAASV;IACT,YAAY;IACZW,OAAOpB,eAAeK,oBAAMO,UAAUQ;IACtCC,QAAQrB,eAAeK,oBAAMO,UAAUS;IACvCV,MAAAA;IACAW,SAASX;IACTY,QAAQvB,eAAeK,oBAAMO,UAAUW;AAC3C"}
1
+ {"version":3,"sources":["../../../src/theme/PlasmaColors.ts"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {Tuple} from '@mantine/core';\n\nconst toMantineColor = (plasmaColor: Record<string, string>): Tuple<string, 10> =>\n Object.values(plasmaColor) as Tuple<string, 10>;\n\nconst navy = toMantineColor(color.primary.navy);\nconst red = toMantineColor(color.accent.red);\nconst yellow = toMantineColor(color.accent.yellow);\nconst teal = toMantineColor(color.accent.teal);\nconst lime = [\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[0],\n color.secondary.lime[6],\n color.secondary.lime[6],\n color.secondary.lime[6],\n color.secondary.lime[9],\n color.secondary.lime[9],\n color.secondary.lime[9],\n] as Tuple<string, 10>;\n\nexport const PlasmaColors = {\n // Primary\n gray: toMantineColor(color.primary.gray),\n action: [\n color.primary.action[1],\n color.primary.action[1],\n color.primary.action[2],\n color.primary.action[3],\n color.primary.action[4],\n color.primary.action[6],\n color.primary.action[6],\n color.primary.action[8],\n color.primary.action[8],\n color.primary.action[9],\n ] as Tuple<string, 10>,\n navy,\n info: navy,\n // Accent\n blue: toMantineColor(color.accent.blue),\n red,\n critical: red,\n teal,\n new: teal,\n yellow,\n warning: yellow,\n // Secondary\n green: toMantineColor(color.secondary.green),\n indigo: toMantineColor(color.secondary.indigo),\n lime,\n success: lime,\n purple: toMantineColor(color.secondary.purple),\n};\n"],"names":["PlasmaColors","toMantineColor","plasmaColor","Object","values","navy","color","primary","red","accent","yellow","teal","lime","secondary","gray","action","info","blue","critical","new","warning","green","indigo","success","purple"],"mappings":";;;;+BAuBaA;;;eAAAA;;;4BAvBO;AAGpB,IAAMC,iBAAiB,SAACC;WACpBC,OAAOC,MAAM,CAACF;;AAElB,IAAMG,OAAOJ,eAAeK,mBAAK,CAACC,OAAO,CAACF,IAAI;AAC9C,IAAMG,MAAMP,eAAeK,mBAAK,CAACG,MAAM,CAACD,GAAG;AAC3C,IAAME,SAAST,eAAeK,mBAAK,CAACG,MAAM,CAACC,MAAM;AACjD,IAAMC,OAAOV,eAAeK,mBAAK,CAACG,MAAM,CAACE,IAAI;AAC7C,IAAMC,OAAO;IACTN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBN,mBAAK,CAACO,SAAS,CAACD,IAAI,CAAC,EAAE;CAC1B;AAEM,IAAMZ,eAAe;IACxB,UAAU;IACVc,MAAMb,eAAeK,mBAAK,CAACC,OAAO,CAACO,IAAI;IACvCC,QAAQ;QACJT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;QACvBT,mBAAK,CAACC,OAAO,CAACQ,MAAM,CAAC,EAAE;KAC1B;IACDV,MAAAA;IACAW,MAAMX;IACN,SAAS;IACTY,MAAMhB,eAAeK,mBAAK,CAACG,MAAM,CAACQ,IAAI;IACtCT,KAAAA;IACAU,UAAUV;IACVG,MAAAA;IACAQ,KAAKR;IACLD,QAAAA;IACAU,SAASV;IACT,YAAY;IACZW,OAAOpB,eAAeK,mBAAK,CAACO,SAAS,CAACQ,KAAK;IAC3CC,QAAQrB,eAAeK,mBAAK,CAACO,SAAS,CAACS,MAAM;IAC7CV,MAAAA;IACAW,SAASX;IACTY,QAAQvB,eAAeK,mBAAK,CAACO,SAAS,CAACW,MAAM;AACjD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/Plasmantine.tsx"],"sourcesContent":["import {MantineProvider} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {plasmaTheme} from './Theme';\n\nexport const Plasmantine: FunctionComponent<PropsWithChildren> = ({children}) => (\n <MantineProvider withGlobalStyles withNormalizeCSS theme={plasmaTheme}>\n {children}\n </MantineProvider>\n);\n"],"names":["Plasmantine","children","MantineProvider","withGlobalStyles","withNormalizeCSS","theme","plasmaTheme"],"mappings":";;;;+BAKaA;;;eAAAA;;;;oBALiB;qBAGJ;AAEnB,IAAMA,cAAoD;QAAEC,iBAAAA;yBAC/D,qBAACC;QAAgBC,gBAAgB;QAACC,gBAAgB;QAACC,OAAOC;kBACrDL"}
1
+ {"version":3,"sources":["../../../src/theme/Plasmantine.tsx"],"sourcesContent":["import {MantineProvider} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {plasmaTheme} from './Theme';\n\nexport const Plasmantine: FunctionComponent<PropsWithChildren> = ({children}) => (\n <MantineProvider withGlobalStyles withNormalizeCSS theme={plasmaTheme}>\n {children}\n </MantineProvider>\n);\n"],"names":["Plasmantine","children","MantineProvider","withGlobalStyles","withNormalizeCSS","theme","plasmaTheme"],"mappings":";;;;+BAKaA;;;eAAAA;;;;oBALiB;qBAGJ;AAEnB,IAAMA,cAAoD;QAAEC,iBAAAA;yBAC/D,qBAACC,qBAAe;QAACC,gBAAgB;QAACC,gBAAgB;QAACC,OAAOC,kBAAW;kBAChEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,oBAAoB,EAI5B,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,WAAW,EAAE,oBAqVzB,CAAC"}
1
+ {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,oBAAoB,EAI5B,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,WAAW,EAAE,oBAyWzB,CAAC"}
@@ -16,6 +16,7 @@ var _plasmareacticons = require("@coveord/plasma-react-icons");
16
16
  var _plasmatokens = require("@coveord/plasma-tokens");
17
17
  var _core = require("@mantine/core");
18
18
  var _PlasmaColors = require("./PlasmaColors");
19
+ var _theme_colors;
19
20
  var plasmaTheme = {
20
21
  // These are overrides over https://github.com/mantinedev/mantine/blob/master/src/mantine-styles/src/theme/default-theme.ts
21
22
  colorScheme: "light",
@@ -298,7 +299,6 @@ var plasmaTheme = {
298
299
  Notification: {
299
300
  styles: function(theme, param) {
300
301
  var notificationType = param.color;
301
- var _theme_colors;
302
302
  return {
303
303
  root: {
304
304
  borderColor: theme.colors.gray[3],
@@ -417,6 +417,33 @@ var plasmaTheme = {
417
417
  tab: (_obj = {}, _define_property._(_obj, orientation === "horizontal" ? "borderBottom" : "borderRight", "".concat((0, _core.rem)(1), " solid transparent")), _define_property._(_obj, orientation === "horizontal" ? "marginBottom" : "marginRight", (0, _core.rem)(-1)), _obj)
418
418
  };
419
419
  }
420
+ },
421
+ Select: {
422
+ styles: function(theme) {
423
+ return {
424
+ input: {
425
+ color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.colors.gray[7]
426
+ },
427
+ item: {
428
+ color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.colors.gray[7],
429
+ "&[data-hovered]": {
430
+ backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[1]
431
+ },
432
+ "&[data-selected]": _object_spread._({
433
+ backgroundColor: theme.fn.variant({
434
+ variant: "light"
435
+ }).background,
436
+ color: theme.fn.variant({
437
+ variant: "light"
438
+ }).color
439
+ }, theme.fn.hover({
440
+ backgroundColor: theme.fn.variant({
441
+ variant: "light"
442
+ }).hover
443
+ }))
444
+ }
445
+ };
446
+ }
420
447
  }
421
448
  }
422
449
  };