@coveord/plasma-mantine 52.5.0 → 52.7.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 (223) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +31 -30
  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.map +1 -1
  6. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  7. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  8. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  9. package/dist/cjs/components/collection/Collection.js.map +1 -1
  10. package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
  11. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  12. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  13. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
  14. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  15. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  16. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  17. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  18. package/dist/cjs/components/header/Header.d.ts.map +1 -1
  19. package/dist/cjs/components/header/Header.js +3 -0
  20. package/dist/cjs/components/header/Header.js.map +1 -1
  21. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  22. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  23. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  24. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  25. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  26. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  27. package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
  28. package/dist/cjs/components/menu/Menu.js.map +1 -1
  29. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  30. package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
  31. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  32. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  33. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  34. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  35. package/dist/cjs/components/table/Table.js +33 -84
  36. package/dist/cjs/components/table/Table.js.map +1 -1
  37. package/dist/cjs/components/table/Table.styles.d.ts +2 -4
  38. package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
  39. package/dist/cjs/components/table/Table.styles.js +7 -25
  40. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  41. package/dist/cjs/components/table/Table.types.d.ts +68 -2
  42. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  43. package/dist/cjs/components/table/TableActions.d.ts +12 -2
  44. package/dist/cjs/components/table/TableActions.d.ts.map +1 -1
  45. package/dist/cjs/components/table/TableActions.js +29 -7
  46. package/dist/cjs/components/table/TableActions.js.map +1 -1
  47. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  48. package/dist/cjs/components/table/TableContext.js.map +1 -1
  49. package/dist/cjs/components/table/TableDateRangePicker.d.ts +12 -1
  50. package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +1 -1
  51. package/dist/cjs/components/table/TableDateRangePicker.js +38 -12
  52. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  53. package/dist/cjs/components/table/TableFilter.d.ts +1 -0
  54. package/dist/cjs/components/table/TableFilter.d.ts.map +1 -1
  55. package/dist/cjs/components/table/TableFilter.js +3 -1
  56. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  57. package/dist/cjs/components/table/TableFooter.js.map +1 -1
  58. package/dist/cjs/components/table/TableHeader.d.ts.map +1 -1
  59. package/dist/cjs/components/table/TableHeader.js +5 -2
  60. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  61. package/dist/cjs/components/table/TableLayoutControl.d.ts +3 -0
  62. package/dist/cjs/components/table/TableLayoutControl.d.ts.map +1 -0
  63. package/dist/cjs/components/table/TableLayoutControl.js +50 -0
  64. package/dist/cjs/components/table/TableLayoutControl.js.map +1 -0
  65. package/dist/cjs/components/table/TableLoading.d.ts +4 -0
  66. package/dist/cjs/components/table/TableLoading.d.ts.map +1 -0
  67. package/dist/cjs/components/table/TableLoading.js +28 -0
  68. package/dist/cjs/components/table/TableLoading.js.map +1 -0
  69. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  70. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  71. package/dist/cjs/components/table/TablePredicate.d.ts +12 -2
  72. package/dist/cjs/components/table/TablePredicate.d.ts.map +1 -1
  73. package/dist/cjs/components/table/TablePredicate.js +29 -4
  74. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  75. package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
  76. package/dist/cjs/components/table/Th.d.ts.map +1 -1
  77. package/dist/cjs/components/table/Th.js +2 -1
  78. package/dist/cjs/components/table/Th.js.map +1 -1
  79. package/dist/cjs/components/table/index.d.ts +1 -0
  80. package/dist/cjs/components/table/index.d.ts.map +1 -1
  81. package/dist/cjs/components/table/index.js +12 -3
  82. package/dist/cjs/components/table/index.js.map +1 -1
  83. package/dist/cjs/components/table/layouts/RowLayout.d.ts +3 -0
  84. package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -0
  85. package/dist/cjs/components/table/layouts/RowLayout.js +156 -0
  86. package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -0
  87. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +4 -0
  88. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -0
  89. package/dist/cjs/components/table/layouts/TableLayouts.js +16 -0
  90. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -0
  91. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  92. package/dist/cjs/form/FormProvider.js.map +1 -1
  93. package/dist/cjs/form/useForm.js.map +1 -1
  94. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  95. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  98. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  99. package/dist/cjs/theme/Theme.js +12 -10
  100. package/dist/cjs/theme/Theme.js.map +1 -1
  101. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
  102. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  103. package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
  104. package/dist/esm/components/button/Button.js.map +1 -1
  105. package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  106. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  107. package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
  108. package/dist/esm/components/collection/Collection.js.map +1 -1
  109. package/dist/esm/components/collection/Collection.styles.js.map +1 -1
  110. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  111. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  112. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
  113. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  114. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  115. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  116. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  117. package/dist/esm/components/header/Header.d.ts.map +1 -1
  118. package/dist/esm/components/header/Header.js +3 -0
  119. package/dist/esm/components/header/Header.js.map +1 -1
  120. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  121. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  122. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  123. package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  124. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  125. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  126. package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
  127. package/dist/esm/components/menu/Menu.js.map +1 -1
  128. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  129. package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
  130. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  131. package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
  132. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  133. package/dist/esm/components/table/Table.d.ts.map +1 -1
  134. package/dist/esm/components/table/Table.js +36 -87
  135. package/dist/esm/components/table/Table.js.map +1 -1
  136. package/dist/esm/components/table/Table.styles.d.ts +2 -4
  137. package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
  138. package/dist/esm/components/table/Table.styles.js +7 -25
  139. package/dist/esm/components/table/Table.styles.js.map +1 -1
  140. package/dist/esm/components/table/Table.types.d.ts +68 -2
  141. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  142. package/dist/esm/components/table/Table.types.js.map +1 -1
  143. package/dist/esm/components/table/TableActions.d.ts +12 -2
  144. package/dist/esm/components/table/TableActions.d.ts.map +1 -1
  145. package/dist/esm/components/table/TableActions.js +30 -8
  146. package/dist/esm/components/table/TableActions.js.map +1 -1
  147. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
  148. package/dist/esm/components/table/TableContext.js.map +1 -1
  149. package/dist/esm/components/table/TableDateRangePicker.d.ts +12 -1
  150. package/dist/esm/components/table/TableDateRangePicker.d.ts.map +1 -1
  151. package/dist/esm/components/table/TableDateRangePicker.js +39 -13
  152. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  153. package/dist/esm/components/table/TableFilter.d.ts +1 -0
  154. package/dist/esm/components/table/TableFilter.d.ts.map +1 -1
  155. package/dist/esm/components/table/TableFilter.js +3 -1
  156. package/dist/esm/components/table/TableFilter.js.map +1 -1
  157. package/dist/esm/components/table/TableFooter.js.map +1 -1
  158. package/dist/esm/components/table/TableHeader.d.ts.map +1 -1
  159. package/dist/esm/components/table/TableHeader.js +5 -2
  160. package/dist/esm/components/table/TableHeader.js.map +1 -1
  161. package/dist/esm/components/table/TableLayoutControl.d.ts +3 -0
  162. package/dist/esm/components/table/TableLayoutControl.d.ts.map +1 -0
  163. package/dist/esm/components/table/TableLayoutControl.js +40 -0
  164. package/dist/esm/components/table/TableLayoutControl.js.map +1 -0
  165. package/dist/esm/components/table/TableLoading.d.ts +4 -0
  166. package/dist/esm/components/table/TableLoading.d.ts.map +1 -0
  167. package/dist/esm/components/table/TableLoading.js +18 -0
  168. package/dist/esm/components/table/TableLoading.js.map +1 -0
  169. package/dist/esm/components/table/TablePagination.js.map +1 -1
  170. package/dist/esm/components/table/TablePerPage.js.map +1 -1
  171. package/dist/esm/components/table/TablePredicate.d.ts +12 -2
  172. package/dist/esm/components/table/TablePredicate.d.ts.map +1 -1
  173. package/dist/esm/components/table/TablePredicate.js +30 -5
  174. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  175. package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
  176. package/dist/esm/components/table/Th.d.ts.map +1 -1
  177. package/dist/esm/components/table/Th.js +2 -1
  178. package/dist/esm/components/table/Th.js.map +1 -1
  179. package/dist/esm/components/table/index.d.ts +1 -0
  180. package/dist/esm/components/table/index.d.ts.map +1 -1
  181. package/dist/esm/components/table/index.js +1 -0
  182. package/dist/esm/components/table/index.js.map +1 -1
  183. package/dist/esm/components/table/layouts/RowLayout.d.ts +3 -0
  184. package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -0
  185. package/dist/esm/components/table/layouts/RowLayout.js +146 -0
  186. package/dist/esm/components/table/layouts/RowLayout.js.map +1 -0
  187. package/dist/esm/components/table/layouts/TableLayouts.d.ts +4 -0
  188. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -0
  189. package/dist/esm/components/table/layouts/TableLayouts.js +6 -0
  190. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -0
  191. package/dist/esm/components/table/useRowSelection.js.map +1 -1
  192. package/dist/esm/form/FormProvider.js.map +1 -1
  193. package/dist/esm/form/useForm.js.map +1 -1
  194. package/dist/esm/hooks/useControlledList.js.map +1 -1
  195. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  196. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  197. package/dist/esm/theme/Theme.js +12 -10
  198. package/dist/esm/theme/Theme.js.map +1 -1
  199. package/dist/esm/utils/overrideComponent.js.map +1 -1
  200. package/package.json +10 -10
  201. package/src/__tests__/VitestSetup.ts +7 -5
  202. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +3 -3
  203. package/src/components/header/Header.tsx +5 -1
  204. package/src/components/header/__tests__/Header.spec.tsx +1 -1
  205. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  206. package/src/components/table/Table.styles.ts +33 -63
  207. package/src/components/table/Table.tsx +42 -83
  208. package/src/components/table/Table.types.ts +71 -2
  209. package/src/components/table/TableActions.tsx +22 -6
  210. package/src/components/table/TableDateRangePicker.tsx +34 -12
  211. package/src/components/table/TableFilter.tsx +4 -3
  212. package/src/components/table/TableHeader.tsx +10 -2
  213. package/src/components/table/TableLayoutControl.tsx +29 -0
  214. package/src/components/table/TableLoading.tsx +8 -0
  215. package/src/components/table/TablePredicate.tsx +24 -7
  216. package/src/components/table/Th.tsx +1 -0
  217. package/src/components/table/__tests__/Table.spec.tsx +140 -316
  218. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +41 -14
  219. package/src/components/table/index.ts +1 -0
  220. package/src/components/table/layouts/RowLayout.tsx +150 -0
  221. package/src/components/table/layouts/TableLayouts.tsx +5 -0
  222. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +296 -0
  223. package/src/theme/Theme.tsx +10 -10
@@ -1,25 +1,50 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
4
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { Grid, Group, Select, Text } from "@mantine/core";
6
+ import { createStyles, Grid, Group, Select, Text } from "@mantine/core";
6
7
  import { TableComponentsOrder } from "./Table.styles";
7
8
  import { useTable } from "./TableContext";
8
- export var TablePredicate = function(param) {
9
- var id = param.id, data = param.data, label = param.label;
9
+ var useStyles = createStyles(function(theme) {
10
+ return {
11
+ root: {},
12
+ wrapper: {},
13
+ label: {}
14
+ };
15
+ });
16
+ export var TablePredicate = function(_param) {
17
+ var id = _param.id, data = _param.data, label = _param.label, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
18
+ "id",
19
+ "data",
20
+ "label",
21
+ "classNames",
22
+ "styles",
23
+ "unstyled"
24
+ ]);
25
+ var classes = useStyles(null, {
26
+ name: "TablePredicate",
27
+ classNames: classNames,
28
+ styles: styles,
29
+ unstyled: unstyled
30
+ }).classes;
10
31
  var _useTable = useTable(), onChange = _useTable.onChange, form = _useTable.form;
11
32
  var onUpdate = function(newValue) {
12
33
  form.setFieldValue("predicates", _object_spread_props(_object_spread({}, form.values.predicates), _define_property({}, id, newValue)));
13
34
  onChange === null || onChange === void 0 ? void 0 : onChange();
14
35
  };
15
- return /*#__PURE__*/ _jsx(Grid.Col, {
36
+ return /*#__PURE__*/ _jsx(Grid.Col, _object_spread_props(_object_spread({
16
37
  span: "content",
17
38
  order: TableComponentsOrder.Predicate,
18
39
  py: "sm",
40
+ className: classes.root
41
+ }, others), {
19
42
  children: /*#__PURE__*/ _jsxs(Group, {
20
43
  spacing: "xs",
44
+ className: classes.wrapper,
21
45
  children: [
22
46
  label ? /*#__PURE__*/ _jsxs(Text, {
47
+ className: classes.label,
23
48
  children: [
24
49
  label,
25
50
  ":"
@@ -35,7 +60,7 @@ export var TablePredicate = function(param) {
35
60
  })
36
61
  ]
37
62
  })
38
- });
63
+ }));
39
64
  };
40
65
 
41
66
  //# sourceMappingURL=TablePredicate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePredicate.tsx"],"sourcesContent":["import {Grid, Group, Select, SelectItem, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\ninterface TablePredicateProps {\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> = ({id, data, label}) => {\n const {onChange, form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n onChange?.();\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Predicate} py=\"sm\">\n <Group spacing=\"xs\">\n {label ? <Text>{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":["Grid","Group","Select","Text","TableComponentsOrder","useTable","TablePredicate","id","data","label","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","Col","span","order","Predicate","py","spacing","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;AAAA,SAAQA,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAcC,IAAI,QAAO,gBAAgB;AAEpE,SAAQC,oBAAoB,QAAO,iBAAiB;AAEpD,SAAQC,QAAQ,QAAO,iBAAiB;AAmBxC,OAAO,IAAMC,iBAAyD,gBAAuB;QAArBC,WAAAA,IAAIC,aAAAA,MAAMC,cAAAA;IAC9E,IAAyBJ,YAAAA,YAAlBK,WAAkBL,UAAlBK,UAAUC,OAAQN,UAARM;IAEjB,IAAMC,WAAW,SAACC,UAAqB;QACnCF,KAAKG,aAAa,CAAC,cAAc,wCAAIH,KAAKI,MAAM,CAACC,UAAU,GAAE,qBAACT,IAAKM;QACnEH,qBAAAA,sBAAAA,KAAAA,IAAAA;IACJ;IAEA,qBACI,KAACV,KAAKiB,GAAG;QAACC,MAAK;QAAUC,OAAOf,qBAAqBgB,SAAS;QAAEC,IAAG;kBAC/D,cAAA,MAACpB;YAAMqB,SAAQ;;gBACVb,sBAAQ,MAACN;;wBAAMM;wBAAM;;qBAAW,IAAI;8BACrC,KAACP;oBACGqB,YAAY;oBACZC,OAAOb,KAAKI,MAAM,CAACC,UAAU,CAACT,GAAG;oBACjCG,UAAUE;oBACVJ,MAAMA;oBACNiB,cAAYhB,kBAAAA,mBAAAA,QAASF,EAAE;oBACvBmB,YAAYlB,KAAKmB,MAAM,GAAG;;;;;AAK9C,EAAE"}
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 {onChange, form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n onChange?.();\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":["createStyles","Grid","Group","Select","Text","TableComponentsOrder","useTable","useStyles","theme","root","wrapper","label","TablePredicate","id","data","classNames","styles","unstyled","others","classes","name","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","Col","span","order","Predicate","py","className","spacing","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;;AAAA,SAAQA,YAAY,EAAgBC,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAyBC,IAAI,QAAO,gBAAgB;AAG3G,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYP,aAAa,SAACQ;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS,CAAC;QACVC,OAAO,CAAC;IACZ;;AAqBA,OAAO,IAAMC,iBAAyD;QAClEC,YAAAA,IACAC,cAAAA,MACAH,eAAAA,OACAI,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QANHL;QACAC;QACAH;QACAI;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWZ,UAAU,MAAM;QAACa,MAAM;QAAkBL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAAhFE;IACP,IAAyBb,YAAAA,YAAlBe,WAAkBf,UAAlBe,UAAUC,OAAQhB,UAARgB;IAEjB,IAAMC,WAAW,SAACC;QACdF,KAAKG,cAAc,cAAc,wCAAIH,KAAKI,OAAOC,aAAY,qBAACd,IAAKW;QACnEH,qBAAAA,sBAAAA,KAAAA,IAAAA;IACJ;IAEA,qBACI,KAACpB,KAAK2B;QAAIC,MAAK;QAAUC,OAAOzB,qBAAqB0B;QAAWC,IAAG;QAAKC,WAAWd,QAAQV;OAAUS;kBACjG,cAAA,MAAChB;YAAMgC,SAAQ;YAAKD,WAAWd,QAAQT;;gBAClCC,sBAAQ,MAACP;oBAAK6B,WAAWd,QAAQR;;wBAAQA;wBAAM;;qBAAW;8BAC3D,KAACR;oBACGgC,YAAY;oBACZC,OAAOd,KAAKI,OAAOC,UAAU,CAACd,GAAG;oBACjCQ,UAAUE;oBACVT,MAAMA;oBACNuB,cAAY1B,kBAAAA,mBAAAA,QAASE;oBACrByB,YAAYxB,KAAKyB,SAAS;;;;;AAK9C,EAAE"}
@@ -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":["Checkbox","Tooltip","TableSelectableColumn","id","enableSorting","header","table","label","getIsAllRowsSelected","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","sx","display","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":";AAAA,SAAQA,QAAQ,EAAEC,OAAO,QAAO,gBAAgB;AAGhD;;CAEC,GACD,OAAO,IAAMC,wBAA4C;IACrDC,IAAI;IACJC,eAAe,KAAK;IACpBC,QAAQ,gBAAa;YAAXC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC,2BAA2B;QACxG,qBACI,KAACP;YAAQM,OAAOA;sBACZ,cAAA,KAACP;gBACGS,SAASH,MAAMI,wBAAwB;gBACvCC,eAAeL,MAAMM,yBAAyB;gBAC9CC,UAAUP,MAAMQ,mCAAmC;gBACnDC,IAAI;oBAACC,SAAS;gBAAM;gBACpBC,cAAYV;;;IAI5B;IACAW,MAAM;YAAEC,YAAAA;6BACJ,KAACnB;YACGS,SAASU,IAAIC,aAAa;YAC1BT,eAAeQ,IAAIE,iBAAiB;YACpCR,UAAUM,IAAIG,wBAAwB;YACtCP,IAAI;gBAACC,SAAS;YAAM;YACpBC,cAAW;;;AAGvB,EAAE"}
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":["Checkbox","Tooltip","TableSelectableColumn","id","enableSorting","header","table","label","getIsAllRowsSelected","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","sx","display","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":";AAAA,SAAQA,QAAQ,EAAEC,OAAO,QAAO,gBAAgB;AAGhD;;CAEC,GACD,OAAO,IAAMC,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,yBAAyB,gCAAgC;QAC7E,qBACI,KAACP;YAAQM,OAAOA;sBACZ,cAAA,KAACP;gBACGS,SAASH,MAAMI;gBACfC,eAAeL,MAAMM;gBACrBC,UAAUP,MAAMQ;gBAChBC,IAAI;oBAACC,SAAS;gBAAM;gBACpBC,cAAYV;;;IAI5B;IACAW,MAAM;YAAEC,YAAAA;6BACJ,KAACnB;YACGS,SAASU,IAAIC;YACbT,eAAeQ,IAAIE;YACnBR,UAAUM,IAAIG;YACdP,IAAI;gBAACC,SAAS;YAAM;YACpBC,cAAW;;;AAGvB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Th.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAkC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAsB9E,UAAU,OAAO,CAAC,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9B;AAcD,eAAO,MAAM,EAAE,4CAqCd,CAAC"}
1
+ {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Th.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAkC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAuB9E,UAAU,OAAO,CAAC,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC9B;AAcD,eAAO,MAAM,EAAE,4CAqCd,CAAC"}
@@ -7,7 +7,8 @@ var useStyles = createStyles(function(theme) {
7
7
  th: {
8
8
  fontWeight: "400 !important",
9
9
  padding: "0 !important",
10
- verticalAlign: "middle"
10
+ verticalAlign: "middle",
11
+ whiteSpace: "nowrap"
11
12
  },
12
13
  control: {
13
14
  width: "100%",
@@ -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 },\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":["ArrowDownSize16Px","ArrowUpSize16Px","DoubleArrowHeadVSize16Px","Center","createStyles","Group","Text","UnstyledButton","defaultColumnSizing","flexRender","useStyles","theme","th","fontWeight","padding","verticalAlign","control","width","spacing","xs","sm","whiteSpace","backgroundColor","colorScheme","colors","gray","color","SortingIcons","asc","desc","none","SortingLabels","Th","header","classes","size","column","getSize","undefined","isPlaceholder","getCanSort","className","style","py","px","fw","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","aria-sort","onClick","position","noWrap","height"],"mappings":";AAAA,SAAQA,iBAAiB,EAAEC,eAAe,EAAEC,wBAAwB,QAAO,8BAA8B;AACzG,SAAQC,MAAM,EAAEC,YAAY,EAAEC,KAAK,EAAEC,IAAI,EAAEC,cAAc,QAAO,gBAAgB;AAChF,SAAQC,mBAAmB,EAAEC,UAAU,QAAe,wBAAwB;AAE9E,IAAMC,YAAYN,aAAa,SAACO;WAAW;QACvCC,IAAI;YACAC,YAAY;YACZC,SAAS;YACTC,eAAe;QACnB;QAEAC,SAAS;YACLC,OAAO;YACPH,SAAS,AAAC,GAAsBH,OAApBA,MAAMO,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjBR,MAAMO,OAAO,CAACE,EAAE;YAChDC,YAAY;YACZC,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,KAAK3B;IACL4B,MAAM7B;IACN8B,MAAM5B;AACV;AAEA,IAAM6B,gBAAgB;IAClBH,KAAK;IACLC,MAAM;IACNC,MAAM;AACV;AAEA,OAAO,IAAME,KAAK,gBAA8B;QAAxBC,eAAAA;IACpB,IAAM,AAACC,UAAWxB,YAAXwB;IACP,IAAMC,OAAOF,OAAOG,MAAM,CAACC,OAAO;IAClC,IAAMpB,QAAQkB,SAAS3B,oBAAoB2B,IAAI,GAAGA,OAAOG,SAAS;IAElE,IAAIL,OAAOM,aAAa,EAAE;QACtB,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAACN,OAAOG,MAAM,CAACI,UAAU,IAAI;QAC7B,qBACI,KAAC5B;YAAG6B,WAAWP,QAAQtB,EAAE;YAAE8B,OAAO;gBAACzB,OAAAA;YAAK;sBACpC,cAAA,KAACX;gBAAK6B,MAAK;gBAAKQ,IAAG;gBAAKC,IAAG;gBAAKC,IAAI;0BAC/BpC,WAAWwB,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;;IAI7E,CAAC;IAED,IAAMC,SAASf,OAAOG,MAAM,CAACa,uBAAuB;IACpD,IAAMC,eAAejB,OAAOG,MAAM,CAACe,WAAW,MAAM;IACpD,IAAMC,OAAOzB,YAAY,CAACuB,aAAa;IAEvC,qBACI,KAACtC;QAAG6B,WAAWP,QAAQtB,EAAE;QAAE8B,OAAO;YAACzB,OAAAA;QAAK;QAAGoC,aAAWtB,aAAa,CAACmB,aAAa;kBAC7E,cAAA,KAAC3C;YAAe+C,SAASN;YAAQP,WAAWP,QAAQlB,OAAO;sBACvD,cAAA,MAACX;gBAAMkD,UAAS;gBAAQC,MAAM;;kCAC1B,KAAClD;wBAAK6B,MAAK;wBAAKU,IAAI;kCACfpC,WAAWwB,OAAOG,MAAM,CAACU,SAAS,CAACb,MAAM,EAAEA,OAAOc,UAAU;;kCAEjE,KAAC5C;kCACG,cAAA,KAACiD;4BAAKK,QAAQ;;;;;;;AAMtC,EAAE"}
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":["ArrowDownSize16Px","ArrowUpSize16Px","DoubleArrowHeadVSize16Px","Center","createStyles","Group","Text","UnstyledButton","defaultColumnSizing","flexRender","useStyles","theme","th","fontWeight","padding","verticalAlign","whiteSpace","control","width","spacing","xs","sm","backgroundColor","colorScheme","colors","gray","color","SortingIcons","asc","desc","none","SortingLabels","Th","header","classes","size","column","getSize","undefined","isPlaceholder","getCanSort","className","style","py","px","fw","columnDef","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","aria-sort","onClick","position","noWrap","height"],"mappings":";AAAA,SAAQA,iBAAiB,EAAEC,eAAe,EAAEC,wBAAwB,QAAO,8BAA8B;AACzG,SAAQC,MAAM,EAAEC,YAAY,EAAEC,KAAK,EAAEC,IAAI,EAAEC,cAAc,QAAO,gBAAgB;AAChF,SAAQC,mBAAmB,EAAEC,UAAU,QAAe,wBAAwB;AAE9E,IAAMC,YAAYN,aAAa,SAACO;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,KAAK3B;IACL4B,MAAM7B;IACN8B,MAAM5B;AACV;AAEA,IAAM6B,gBAAgB;IAClBH,KAAK;IACLC,MAAM;IACNC,MAAM;AACV;AAEA,OAAO,IAAME,KAAK;QAAMC,eAAAA;IACpB,IAAM,AAACC,UAAWxB,YAAXwB;IACP,IAAMC,OAAOF,OAAOG,OAAOC;IAC3B,IAAMnB,QAAQiB,SAAS3B,oBAAoB2B,OAAOA,OAAOG;IAEzD,IAAIL,OAAOM,eAAe;QACtB,OAAO;IACX;IAEA,IAAI,CAACN,OAAOG,OAAOI,cAAc;QAC7B,qBACI,KAAC5B;YAAG6B,WAAWP,QAAQtB;YAAI8B,OAAO;gBAACxB,OAAAA;YAAK;sBACpC,cAAA,KAACZ;gBAAK6B,MAAK;gBAAKQ,IAAG;gBAAKC,IAAG;gBAAKC,IAAI;0BAC/BpC,WAAWwB,OAAOG,OAAOU,UAAUb,QAAQA,OAAOc;;;IAInE;IAEA,IAAMC,SAASf,OAAOG,OAAOa;IAC7B,IAAMC,eAAejB,OAAOG,OAAOe,iBAAiB;IACpD,IAAMC,OAAOzB,YAAY,CAACuB,aAAa;IAEvC,qBACI,KAACtC;QAAG6B,WAAWP,QAAQtB;QAAI8B,OAAO;YAACxB,OAAAA;QAAK;QAAGmC,aAAWtB,aAAa,CAACmB,aAAa;kBAC7E,cAAA,KAAC3C;YAAe+C,SAASN;YAAQP,WAAWP,QAAQjB;sBAChD,cAAA,MAACZ;gBAAMkD,UAAS;gBAAQC,MAAM;;kCAC1B,KAAClD;wBAAK6B,MAAK;wBAAKU,IAAI;kCACfpC,WAAWwB,OAAOG,OAAOU,UAAUb,QAAQA,OAAOc;;kCAEvD,KAAC5C;kCACG,cAAA,KAACiD;4BAAKK,QAAQ;;;;;;;AAMtC,EAAE"}
@@ -1,4 +1,5 @@
1
1
  export * from './Table';
2
2
  export { useTable } from './TableContext';
3
3
  export { type onTableChangeEvent, type InitialTableState, type TableState, type TableProps } from './Table.types';
4
+ export { TableLayouts } from './layouts/TableLayouts';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAC,MAAM,eAAe,CAAC;AAChH,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Table";
2
2
  export { useTable } from "./TableContext";
3
+ export { TableLayouts } from "./layouts/TableLayouts";
3
4
 
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export * from './Table';\nexport {useTable} from './TableContext';\nexport {type onTableChangeEvent, type InitialTableState, type TableState, type TableProps} from './Table.types';\n"],"names":["useTable"],"mappings":"AAAA,cAAc,UAAU;AACxB,SAAQA,QAAQ,QAAO,iBAAiB"}
1
+ {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export * from './Table';\nexport {useTable} from './TableContext';\nexport {type onTableChangeEvent, type InitialTableState, type TableState, type TableProps} from './Table.types';\nexport {TableLayouts} from './layouts/TableLayouts';\n"],"names":["useTable","TableLayouts"],"mappings":"AAAA,cAAc,UAAU;AACxB,SAAQA,QAAQ,QAAO,iBAAiB;AAExC,SAAQC,YAAY,QAAO,yBAAyB"}
@@ -0,0 +1,3 @@
1
+ import { TableLayout } from '../Table.types';
2
+ export declare const RowLayout: TableLayout;
3
+ //# sourceMappingURL=RowLayout.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,146 @@
1
+ import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { ListSize16Px } from "@coveord/plasma-react-icons";
4
+ import { Box, Collapse, createStyles } from "@mantine/core";
5
+ import { flexRender } from "@tanstack/react-table";
6
+ import { defaultColumnSizing } from "@tanstack/table-core";
7
+ import { Fragment } from "react";
8
+ import { TableCollapsibleColumn } from "../TableCollapsibleColumn";
9
+ import { useTable } from "../TableContext";
10
+ import { TableLoading } from "../TableLoading";
11
+ import { Th } from "../Th";
12
+ var useStyles = createStyles(function(theme, param) {
13
+ var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
14
+ var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0];
15
+ return {
16
+ headerColumns: {
17
+ "& th:first-of-type > *": {
18
+ paddingLeft: theme.spacing.xl
19
+ },
20
+ "& input[type=checkbox]": {
21
+ backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
22
+ borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
23
+ pointerEvents: disableRowSelection ? "none" : "auto",
24
+ cursor: disableRowSelection ? "not-allowed" : "default",
25
+ "& + svg": {
26
+ color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
27
+ }
28
+ }
29
+ },
30
+ rowSelected: {
31
+ backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
32
+ },
33
+ rowUnselectable: {
34
+ "& input[type=checkbox]": {
35
+ backgroundColor: "".concat(theme.colors.gray[2]),
36
+ borderColor: "".concat(theme.colors.gray[3]),
37
+ pointerEvents: "none",
38
+ cursor: "not-allowed",
39
+ "&:checked + svg": {
40
+ color: "".concat(theme.colors.gray[5])
41
+ }
42
+ }
43
+ },
44
+ rowCollapsibleButtonCell: {
45
+ textAlign: "right",
46
+ padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
47
+ },
48
+ row: {
49
+ "&:hover": {
50
+ backgroundColor: rowBackgroundColor
51
+ }
52
+ }
53
+ };
54
+ });
55
+ var RowLayoutHeader = function(param) {
56
+ var table = param.table;
57
+ var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
58
+ var classes = useStyles({
59
+ disableRowSelection: disableRowSelection,
60
+ multiRowSelectionEnabled: multiRowSelectionEnabled
61
+ }).classes;
62
+ var headers = table.getHeaderGroups().map(function(headerGroup) {
63
+ return /*#__PURE__*/ _jsx("tr", {
64
+ className: classes.headerColumns,
65
+ children: headerGroup.headers.map(function(columnHeader) {
66
+ return /*#__PURE__*/ _jsx(Th, {
67
+ header: columnHeader
68
+ }, columnHeader.id);
69
+ })
70
+ }, headerGroup.id);
71
+ });
72
+ return /*#__PURE__*/ _jsx(_Fragment, {
73
+ children: headers
74
+ });
75
+ };
76
+ var RowLayoutBody = function(param) {
77
+ var table = param.table, doubleClickAction = param.doubleClickAction, getExpandChildren = param.getExpandChildren, loading = param.loading;
78
+ var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
79
+ var _useStyles = useStyles({
80
+ disableRowSelection: disableRowSelection,
81
+ multiRowSelectionEnabled: multiRowSelectionEnabled
82
+ }), classes = _useStyles.classes, cx = _useStyles.cx;
83
+ var rows = table.getRowModel().rows.map(function(row) {
84
+ var _getExpandChildren;
85
+ var rowChildren = (_getExpandChildren = getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original)) !== null && _getExpandChildren !== void 0 ? _getExpandChildren : null;
86
+ var isSelected = !!row.getIsSelected();
87
+ var _obj;
88
+ return /*#__PURE__*/ _jsxs(Fragment, {
89
+ children: [
90
+ /*#__PURE__*/ _jsx("tr", {
91
+ onClick: function() {
92
+ return disableRowSelection ? undefined : row.toggleSelected();
93
+ },
94
+ onDoubleClick: function() {
95
+ return doubleClickAction === null || doubleClickAction === void 0 ? void 0 : doubleClickAction(row.original);
96
+ },
97
+ className: cx(classes.row, (_obj = {}, _define_property(_obj, classes.rowSelected, isSelected), _define_property(_obj, classes.rowUnselectable, disableRowSelection), _obj)),
98
+ "aria-selected": isSelected,
99
+ children: row.getVisibleCells().map(function(cell) {
100
+ var size = cell.column.getSize();
101
+ var width = size !== defaultColumnSizing.size ? size : undefined;
102
+ return /*#__PURE__*/ _jsx("td", {
103
+ style: {
104
+ width: width
105
+ },
106
+ className: cx(_define_property({}, classes.rowCollapsibleButtonCell, cell.column.id === TableCollapsibleColumn.id)),
107
+ children: /*#__PURE__*/ _jsx(TableLoading, {
108
+ visible: loading,
109
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
110
+ })
111
+ }, cell.id);
112
+ })
113
+ }),
114
+ rowChildren ? /*#__PURE__*/ _jsx("tr", {
115
+ children: /*#__PURE__*/ _jsx("td", {
116
+ colSpan: table.getAllColumns().length,
117
+ style: {
118
+ padding: 0,
119
+ borderTop: row.getIsExpanded() ? undefined : "none",
120
+ borderBottom: row.getIsExpanded() ? undefined : "none"
121
+ },
122
+ children: /*#__PURE__*/ _jsx(Collapse, {
123
+ in: row.getIsExpanded(),
124
+ children: /*#__PURE__*/ _jsx(Box, {
125
+ px: "sm",
126
+ py: "xs",
127
+ children: rowChildren
128
+ })
129
+ })
130
+ })
131
+ }) : null
132
+ ]
133
+ }, row.id);
134
+ });
135
+ return /*#__PURE__*/ _jsx(_Fragment, {
136
+ children: rows
137
+ });
138
+ };
139
+ export var RowLayout = {
140
+ name: "Rows",
141
+ icon: ListSize16Px,
142
+ Header: RowLayoutHeader,
143
+ Body: RowLayoutBody
144
+ };
145
+
146
+ //# sourceMappingURL=RowLayout.js.map
@@ -0,0 +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":["ListSize16Px","Box","Collapse","createStyles","flexRender","defaultColumnSizing","Fragment","TableCollapsibleColumn","useTable","TableLoading","Th","useStyles","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","classes","headers","getHeaderGroups","map","headerGroup","tr","className","columnHeader","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","cx","rows","getRowModel","rowChildren","original","isSelected","getIsSelected","onClick","toggleSelected","onDoubleClick","aria-selected","getVisibleCells","cell","size","column","getSize","width","td","style","visible","columnDef","getContext","colSpan","getAllColumns","length","borderTop","getIsExpanded","borderBottom","in","px","py","RowLayout","name","icon","Header","Body"],"mappings":";;AAAA,SAAQA,YAAY,QAAO,8BAA8B;AACzD,SAAQC,GAAG,EAAEC,QAAQ,EAAEC,YAAY,QAAO,gBAAgB;AAC1D,SAAQC,UAAU,QAAO,wBAAwB;AACjD,SAAQC,mBAAmB,QAAO,uBAAuB;AACzD,SAAQC,QAAQ,QAAO,QAAQ;AAE/B,SAAQC,sBAAsB,QAAO,4BAA4B;AACjE,SAAQC,QAAQ,QAAO,kBAAkB;AACzC,SAAQC,YAAY,QAAO,kBAAkB;AAC7C,SAAQC,EAAE,QAAO,QAAQ;AAOzB,IAAMC,YAAYR,aAAwC,SAACS;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,IAAwDjC,YAAAA,YAAjDK,2BAAiDL,UAAjDK,0BAA0BC,sBAAuBN,UAAvBM;IACjC,IAAM,AAAC4B,UAAW/B,UAAU;QAACG,qBAAAA;QAAqBD,0BAAAA;IAAwB,GAAnE6B;IACP,IAAMC,UAAUF,MAAMG,kBAAkBC,IAAI,SAACC;6BACzC,KAACC;YAAwBC,WAAWN,QAAQrB;sBACvCyB,YAAYH,QAAQE,IAAI,SAACI;qCACtB,KAACvC;oBAAyBwC,QAAQD;mBAAzBA,aAAaE;;WAFrBL,YAAYK;;IAMzB,qBAAO;kBAAGR;;AACd;AAEA,IAAMS,gBAAgB;QAAMX,cAAAA,OAAOY,0BAAAA,mBAAmBC,0BAAAA,mBAAmBC,gBAAAA;IACrE,IAAwD/C,YAAAA,YAAjDK,2BAAiDL,UAAjDK,0BAA0BC,sBAAuBN,UAAvBM;IACjC,IAAsBH,aAAAA,UAAU;QAACG,qBAAAA;QAAqBD,0BAAAA;IAAwB,IAAvE6B,UAAe/B,WAAf+B,SAASc,KAAM7C,WAAN6C;IAEhB,IAAMC,OAAOhB,MAAMiB,cAAcD,KAAKZ,IAAI,SAACN;YACnBe;QAApB,IAAMK,cAAcL,CAAAA,qBAAAA,8BAAAA,+BAAAA,KAAAA,IAAAA,kBAAoBf,IAAIqB,uBAAxBN,gCAAAA,qBAAqC;QACzD,IAAMO,aAAa,CAAC,CAACtB,IAAIuB;YAOc;QALvC,qBACI,MAACxD;;8BACG,KAACyC;oBACGgB,SAAS;+BAAOjD,sBAAsBa,YAAYY,IAAIyB;;oBACtDC,eAAe;wBAAMZ,OAAAA,8BAAAA,+BAAAA,KAAAA,IAAAA,kBAAoBd,IAAIqB;;oBAC7CZ,WAAWQ,GAAGd,QAAQH,MAAK,WACvB,iBADuB,MACtBG,QAAQV,aAAc6B,aACvB,iBAFuB,MAEtBnB,QAAQT,iBAAkBnB,sBAFJ;oBAI3BoD,iBAAeL;8BAEdtB,IAAI4B,kBAAkBtB,IAAI,SAACuB;wBACxB,IAAMC,OAAOD,KAAKE,OAAOC;wBACzB,IAAMC,QAAQH,SAAShE,oBAAoBgE,OAAOA,OAAO1C;wBACzD,qBACI,KAAC8C;4BAEGC,OAAO;gCAACF,OAAAA;4BAAK;4BACbxB,WAAWQ,GACP,qBAACd,QAAQR,0BAA2BkC,KAAKE,OAAOnB,OAAO5C,uBAAuB4C;sCAGlF,cAAA,KAAC1C;gCAAakE,SAASpB;0CAClBnD,WAAWgE,KAAKE,OAAOM,UAAUR,MAAMA,KAAKS;;2BAP5CT,KAAKjB;oBAWtB;;gBAEHQ,4BACG,KAACZ;8BACG,cAAA,KAAC0B;wBACGK,SAASrC,MAAMsC,gBAAgBC;wBAC/BN,OAAO;4BACHtC,SAAS;4BACT6C,WAAW1C,IAAI2C,kBAAkBvD,YAAY;4BAC7CwD,cAAc5C,IAAI2C,kBAAkBvD,YAAY;wBACpD;kCAEA,cAAA,KAACzB;4BAASkF,IAAI7C,IAAI2C;sCACd,cAAA,KAACjF;gCAAIoF,IAAG;gCAAKC,IAAG;0CACX3B;;;;qBAKjB;;WA7COpB,IAAIY;IAgD3B;IAEA,qBAAO;kBAAGM;;AACd;AAEA,OAAO,IAAM8B,YAAyB;IAClCC,MAAM;IACNC,MAAMzF;IACN0F,QAAQlD;IACRmD,MAAMvC;AACV,EAAE"}
@@ -0,0 +1,4 @@
1
+ export declare const TableLayouts: {
2
+ Rows: import("../Table.types").TableLayout;
3
+ };
4
+ //# sourceMappingURL=TableLayouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayouts.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;CAExB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RowLayout } from "./RowLayout";
2
+ export var TableLayouts = {
3
+ Rows: RowLayout
4
+ };
5
+
6
+ //# sourceMappingURL=TableLayouts.js.map
@@ -0,0 +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":["RowLayout","TableLayouts","Rows"],"mappings":"AAAA,SAAQA,SAAS,QAAO,cAAc;AAEtC,OAAO,IAAMC,eAAe;IACxBC,MAAMF;AACV,EAAE"}
@@ -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":["useClickOutside","functionalUpdate","isEqual","useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","outsideClickRef","clearSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","values","rowSelection","resetRowSelection","getSelectedRows","getState","getSelectedRow"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,iBAAiB;AAC/C,SAAQC,gBAAgB,QAAiC,uBAAuB;AAChF,OAAOC,aAAa,kBAAkB;AAItC,OAAO,IAAMC,kBAAkB,SAC3BC,cAKC;QAHGC,6BAAAA,sBACAC,iCAAAA;IAGJ,IAAMC,kBAAkBP,gBAAgB,WAAM;QAC1C,IAAI,CAACM,0BAA0B;YAC3BE;QACJ,CAAC;IACL;IAEAJ,MAAMK,UAAU,CAAC,SAACC;QAAU,OAAA,wCACrBA;YACHL,sBAAsB,SAACM,qBAAwB;gBAC3CP,MAAMQ,QAAQ,CAAC,SAACC,KAAQ;oBACpB,IAAMC,kBAAkBb,iBACpBU,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIX,QAAQW,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX,CAAC;oBAED,IAAME,OAAOX,MAAMY,WAAW,GAAGC,QAAQ;oBAEzCC,OAAOC,IAAI,CAACL,iBAAiBM,OAAO,CAAC,SAACC,OAAU;wBAC5C,IAAIP,eAAe,CAACO,MAAM,KAAK,IAAI,EAAE;gCAMRN;4BALzB,IAAI,CAACA,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,KAAK,CACT;4BAER,CAAC;gCACwBR;4BAAzBD,eAAe,CAACO,MAAM,GAAGN,CAAAA,uBAAAA,CAAAA,cAAAA,IAAI,CAACM,MAAM,cAAXN,yBAAAA,KAAAA,IAAAA,YAAaS,QAAQ,cAArBT,kCAAAA,uBAA0B,IAAI,AAAM;wBACjE,CAAC;oBACL;oBAEAV,iCAAAA,kCAAAA,KAAAA,IAAAA,qBAAuBa,OAAOO,MAAM,CAACX;oBAErC,OAAO,wCACAD;wBACHa,cAAcZ;;gBAEtB;YACJ;;;IAGJ,IAAMN,iBAAiB,WAAM;QACzBJ,MAAMuB,iBAAiB,CAAC,IAAI;IAChC;IAEA,IAAMC,kBAAkB;eAAMV,OAAOO,MAAM,CAAC,AAACrB,MAAMyB,QAAQ,GAAqBH,YAAY;;QAE/DE;IAA7B,IAAME,iBAAiB;eAAMF,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB,IAAI;;IAEzD,OAAO;QAACpB,gBAAAA;QAAgBsB,gBAAAA;QAAgBF,iBAAAA;QAAiBrB,iBAAAA;IAAe;AAC5E,EAAE"}
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":["useClickOutside","functionalUpdate","isEqual","useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","outsideClickRef","clearSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","values","rowSelection","resetRowSelection","getSelectedRows","getState","getSelectedRow"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,iBAAiB;AAC/C,SAAQC,gBAAgB,QAAiC,uBAAuB;AAChF,OAAOC,aAAa,kBAAkB;AAItC,OAAO,IAAMC,kBAAkB,SAC3BC;QAEIC,6BAAAA,sBACAC,iCAAAA;IAGJ,IAAMC,kBAAkBP,gBAAgB;QACpC,IAAI,CAACM,0BAA0B;YAC3BE;QACJ;IACJ;IAEAJ,MAAMK,WAAW,SAACC;QAAU,OAAA,wCACrBA;YACHL,sBAAsB,SAACM;gBACnBP,MAAMQ,SAAS,SAACC;oBACZ,IAAMC,kBAAkBb,iBACpBU,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIX,QAAQW,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX;oBAEA,IAAME,OAAOX,MAAMY,cAAcC;oBAEjCC,OAAOC,KAAKL,iBAAiBM,QAAQ,SAACC;wBAClC,IAAIP,eAAe,CAACO,MAAM,KAAK,MAAM;gCAMRN;4BALzB,IAAI,CAACA,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,MACJ;4BAER;gCACyBR;4BAAzBD,eAAe,CAACO,MAAM,GAAGN,CAAAA,uBAAAA,CAAAA,cAAAA,IAAI,CAACM,MAAM,cAAXN,yBAAAA,KAAAA,IAAAA,YAAaS,sBAAbT,kCAAAA,uBAA0B;wBACvD;oBACJ;oBAEAV,iCAAAA,kCAAAA,KAAAA,IAAAA,qBAAuBa,OAAOO,OAAOX;oBAErC,OAAO,wCACAD;wBACHa,cAAcZ;;gBAEtB;YACJ;;;IAGJ,IAAMN,iBAAiB;QACnBJ,MAAMuB,kBAAkB;IAC5B;IAEA,IAAMC,kBAAkB;eAAMV,OAAOO,OAAO,AAACrB,MAAMyB,WAA6BH;;QAEnDE;IAA7B,IAAME,iBAAiB;eAAMF,CAAAA,oBAAAA,iBAAiB,CAAC,EAAE,cAApBA,+BAAAA,oBAAwB;;IAErD,OAAO;QAACpB,gBAAAA;QAAgBsB,gBAAAA;QAAgBF,iBAAAA;QAAiBrB,iBAAAA;IAAe;AAC5E,EAAE"}
@@ -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":["React","createContext","useContext","useForm","createFormContext","FormProvider","form","children","FormContext","Provider","value","useFormContext","ctx","Error"],"mappings":"AAAA,sDAAsD;AAEtD,OAAOA,SAAQC,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAEvD,SAAQC,OAAO,QAAO,YAAY;AAOlC,OAAO,SAASC,oBAGZ;QAKSC,eAAT,SAASA,aAAa,KAAyC,EAAE;YAA1CC,OAAD,MAACA,MAAMC,WAAP,MAAOA;QACzB,qBAAO,KAACC,YAAYC,QAAQ;YAACC,OAAOJ;sBAAOC;;IAC/C;QAESI,iBAAT,SAASA,iBAAiB;QACtB,IAAMC,MAAMV,WAAWM;QACvB,IAAI,CAACI,KAAK;YACN,MAAM,IAAIC,MAAM,6DAA6D;QACjF,CAAC;QAED,OAAOD;IACX;IAbA,IAAMJ,4BAAcP,cAAoB,IAAI;IAe5C,OAAO;QAACI;QAAcM;QAAgBR;KAAQ;AAKlD,CAAC"}
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":["React","createContext","useContext","useForm","createFormContext","FormProvider","form","children","FormContext","Provider","value","useFormContext","ctx","Error"],"mappings":"AAAA,sDAAsD;AAEtD,OAAOA,SAAQC,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAEvD,SAAQC,OAAO,QAAO,YAAY;AAOlC,OAAO,SAASC;QAQHC,eAAT,SAASA,aAAa,KAAyC;YAAxCC,OAAD,MAACA,MAAMC,WAAP,MAAOA;QACzB,qBAAO,KAACC,YAAYC;YAASC,OAAOJ;sBAAOC;;IAC/C;QAESI,iBAAT,SAASA;QACL,IAAMC,MAAMV,WAAWM;QACvB,IAAI,CAACI,KAAK;YACN,MAAM,IAAIC,MAAM;QACpB;QAEA,OAAOD;IACX;IAbA,IAAMJ,4BAAcP,cAAoB;IAexC,OAAO;QAACI;QAAcM;QAAgBR;KAAQ;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","useMantineForm","options","form","getInputProps","path","type","withError","withFocus","originalPayload","Array","isArray","value","onReorderItem","payload","reorderListItem","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;AAAA,SAAQA,WAAWC,cAAc,QAAO,gBAAgB;AAGxD,OAAO,IAAMD,UAAiC,SAACE,SAAY;IACvD,IAAMC,OAAOF,eAAeC;IAE5B,IAAME,gBAAwD,SAC1DC,MAEC;oFADkE,CAAC,oBAAnEC,MAAAA,8BAAO,2CAASC,WAAAA,wCAAYD,SAAS,gDAASE,WAAAA,wCAAY,IAAI;QAE/D,IAAMC,kBAAkBN,KAAKC,aAAa,CAACC,MAAM;YAACC,MAAAA;YAAMC,WAAAA;YAAWC,WAAAA;QAAS;QAC5E,IAAIE,MAAMC,OAAO,CAACF,gBAAgBG,KAAK,GAAG;YACtC,OAAO,wCACAH;gBACHI,eAAe,SAACC;2BAA2CX,KAAKY,eAAe,CAACV,MAAMS;;gBACtFE,cAAc,SAACC;2BAAkBd,KAAKe,cAAc,CAACb,MAAMY;;gBAC3DE,cAAc,SAACC,eAAwBH;2BACnCd,KAAKkB,cAAc,CAAChB,MAAMe,eAAeH;;;QAErD,CAAC;QAED,OAAOR;IACX;IAEA,OAAO,wCAAIN;QAAMC,eAAAA;;AACrB,EAAE"}
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","useMantineForm","options","form","getInputProps","path","type","withError","withFocus","originalPayload","Array","isArray","value","onReorderItem","payload","reorderListItem","onRemoveItem","index","removeListItem","onInsertItem","valueToInsert","insertListItem"],"mappings":";;AAAA,SAAQA,WAAWC,cAAc,QAAO,gBAAgB;AAGxD,OAAO,IAAMD,UAAiC,SAACE;IAC3C,IAAMC,OAAOF,eAAeC;IAE5B,IAAME,gBAAwD,SAC1DC;oFACmE,CAAC,oBAAnEC,MAAAA,8BAAO,2CAASC,WAAAA,wCAAYD,SAAS,gDAASE,WAAAA,wCAAY;QAE3D,IAAMC,kBAAkBN,KAAKC,cAAcC,MAAM;YAACC,MAAAA;YAAMC,WAAAA;YAAWC,WAAAA;QAAS;QAC5E,IAAIE,MAAMC,QAAQF,gBAAgBG,QAAQ;YACtC,OAAO,wCACAH;gBACHI,eAAe,SAACC;2BAA2CX,KAAKY,gBAAgBV,MAAMS;;gBACtFE,cAAc,SAACC;2BAAkBd,KAAKe,eAAeb,MAAMY;;gBAC3DE,cAAc,SAACC,eAAwBH;2BACnCd,KAAKkB,eAAehB,MAAMe,eAAeH;;;QAErD;QAEA,OAAOR;IACX;IAEA,OAAO,wCAAIN;QAAMC,eAAAA;;AACrB,EAAE"}
@@ -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":["useUncontrolled","useControlledList","defaultValue","value","onChange","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,iBAAiB;AAoB/C;;CAEC,GACD,OAAO,IAAMC,oBAAoB,gBAAsF;QAAjFC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BJ,oCAAAA,gBAAgB;QAC3CG,OAAAA;QACAD,cAAAA;QACAG,YAAY,EAAE;QACdD,UAAAA;IACJ,QALOE,SAAwBN,qBAAhBO,eAAgBP;IAO/B,IAAMQ,SAAS,SAACC,OAAkB;QAC9B,IAAMC,YAAYJ,OAAOK,MAAM,CAAC,SAACC,GAAGC;mBAAMA,MAAMJ;;QAChDF,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,IAAMI,SAAS,SAACC,MAAY;QACxB,IAAML,YAAY,AAAC,qBAAGJ,eAAJ;YAAYS;SAAK;QACnCR,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,IAAMM,UAAU,gBAA4C;YAA1CC,aAAAA,MAAMC,WAAAA;QACpB,IAAMR,YAAa,qBAAGJ;QACtB,IAAMS,OAAOT,MAAM,CAACW,KAAK;QAEzBP,UAAUS,MAAM,CAACF,MAAM;QACvBP,UAAUS,MAAM,CAACD,IAAI,GAAGH;QAExBR,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,OAAO;QAACJ;QAAQ;YAACE,QAAAA;YAAQM,QAAAA;YAAQE,SAAAA;QAAO;KAAE;AAC9C,EAAE"}
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":["useUncontrolled","useControlledList","defaultValue","value","onChange","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,iBAAiB;AAoB/C;;CAEC,GACD,OAAO,IAAMC,oBAAoB;QAAKC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BJ,oCAAAA,gBAAgB;QAC3CG,OAAAA;QACAD,cAAAA;QACAG,YAAY,EAAE;QACdD,UAAAA;IACJ,QALOE,SAAwBN,qBAAhBO,eAAgBP;IAO/B,IAAMQ,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,qBAAGJ,eAAJ;YAAYS;SAAK;QACnCR,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeG;IACnB;IAEA,IAAMM,UAAU;YAAEC,aAAAA,MAAMC,WAAAA;QACpB,IAAMR,YAAa,qBAAGJ;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,EAAE"}
@@ -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":["useEffect","useRef","useState","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useParentHeight","setHeight","ref","current","parentElement"],"mappings":";AAAA,SAAQA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AAElD,IAAMC,wBAAwB,SAACC,IAA4B;IACvD,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;AAEA;;CAEC,GACD,OAAO,IAAMG,kBAAkB,WAAwD;IACnF,IAA4Bf,6BAAAA,SAAS,CAAC,QAA/BK,SAAqBL,cAAbgB,YAAahB;IAC5B,IAAMiB,MAAMlB;IAEZD,UAAU,WAAM;QACZ,IAAImB,IAAIC,OAAO,EAAE;YACbF,UAAUf,sBAAsBgB,IAAIC,OAAO,CAACC,aAAa;QAC7D,CAAC;IACL,GAAG;QAACF,IAAIC,OAAO;KAAC;IAEhB,OAAO;QAACb;QAAQY;KAAI;AACxB,EAAE"}
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":["useEffect","useRef","useState","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useParentHeight","setHeight","ref","current","parentElement"],"mappings":";AAAA,SAAQA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AAElD,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;AAEA;;CAEC,GACD,OAAO,IAAMG,kBAAkB;IAC3B,IAA4Bf,6BAAAA,SAAS,CAAC,QAA/BK,SAAqBL,cAAbgB,YAAahB;IAC5B,IAAMiB,MAAMlB;IAEZD,UAAU;QACN,IAAImB,IAAIC,SAAS;YACbF,UAAUf,sBAAsBgB,IAAIC,QAAQC;QAChD;IACJ,GAAG;QAACF,IAAIC;KAAQ;IAEhB,OAAO;QAACb;QAAQY;KAAI;AACxB,EAAE"}
@@ -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":["color","toMantineColor","plasmaColor","Object","values","navy","primary","red","accent","yellow","teal","lime","secondary","PlasmaColors","gray","action","info","blue","critical","new","warning","green","indigo","success","purple"],"mappings":"AAAA,SAAQA,KAAK,QAAO,yBAAyB;AAG7C,IAAMC,iBAAiB,SAACC;WACpBC,OAAOC,MAAM,CAACF;;AAElB,IAAMG,OAAOJ,eAAeD,MAAMM,OAAO,CAACD,IAAI;AAC9C,IAAME,MAAMN,eAAeD,MAAMQ,MAAM,CAACD,GAAG;AAC3C,IAAME,SAASR,eAAeD,MAAMQ,MAAM,CAACC,MAAM;AACjD,IAAMC,OAAOT,eAAeD,MAAMQ,MAAM,CAACE,IAAI;AAC7C,IAAMC,OAAO;IACTX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;IACvBX,MAAMY,SAAS,CAACD,IAAI,CAAC,EAAE;CAC1B;AAED,OAAO,IAAME,eAAe;IACxB,UAAU;IACVC,MAAMb,eAAeD,MAAMM,OAAO,CAACQ,IAAI;IACvCC,QAAQ;QACJf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;QACvBf,MAAMM,OAAO,CAACS,MAAM,CAAC,EAAE;KAC1B;IACDV,MAAAA;IACAW,MAAMX;IACN,SAAS;IACTY,MAAMhB,eAAeD,MAAMQ,MAAM,CAACS,IAAI;IACtCV,KAAAA;IACAW,UAAUX;IACVG,MAAAA;IACAS,KAAKT;IACLD,QAAAA;IACAW,SAASX;IACT,YAAY;IACZY,OAAOpB,eAAeD,MAAMY,SAAS,CAACS,KAAK;IAC3CC,QAAQrB,eAAeD,MAAMY,SAAS,CAACU,MAAM;IAC7CX,MAAAA;IACAY,SAASZ;IACTa,QAAQvB,eAAeD,MAAMY,SAAS,CAACY,MAAM;AACjD,EAAE"}
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":["color","toMantineColor","plasmaColor","Object","values","navy","primary","red","accent","yellow","teal","lime","secondary","PlasmaColors","gray","action","info","blue","critical","new","warning","green","indigo","success","purple"],"mappings":"AAAA,SAAQA,KAAK,QAAO,yBAAyB;AAG7C,IAAMC,iBAAiB,SAACC;WACpBC,OAAOC,OAAOF;;AAElB,IAAMG,OAAOJ,eAAeD,MAAMM,QAAQD;AAC1C,IAAME,MAAMN,eAAeD,MAAMQ,OAAOD;AACxC,IAAME,SAASR,eAAeD,MAAMQ,OAAOC;AAC3C,IAAMC,OAAOT,eAAeD,MAAMQ,OAAOE;AACzC,IAAMC,OAAO;IACTX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;IACvBX,MAAMY,UAAUD,IAAI,CAAC,EAAE;CAC1B;AAED,OAAO,IAAME,eAAe;IACxB,UAAU;IACVC,MAAMb,eAAeD,MAAMM,QAAQQ;IACnCC,QAAQ;QACJf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;QACvBf,MAAMM,QAAQS,MAAM,CAAC,EAAE;KAC1B;IACDV,MAAAA;IACAW,MAAMX;IACN,SAAS;IACTY,MAAMhB,eAAeD,MAAMQ,OAAOS;IAClCV,KAAAA;IACAW,UAAUX;IACVG,MAAAA;IACAS,KAAKT;IACLD,QAAAA;IACAW,SAASX;IACT,YAAY;IACZY,OAAOpB,eAAeD,MAAMY,UAAUS;IACtCC,QAAQrB,eAAeD,MAAMY,UAAUU;IACvCX,MAAAA;IACAY,SAASZ;IACTa,QAAQvB,eAAeD,MAAMY,UAAUY;AAC3C,EAAE"}
@@ -130,11 +130,11 @@ export var plasmaTheme = {
130
130
  flex: fullScreen ? "0 0 100%" : "0 0 ".concat(getSize({
131
131
  size: size,
132
132
  sizes: {
133
- xs: rem(440),
134
- sm: rem(550),
135
- md: rem(800),
136
- lg: rem(1334),
137
- xl: rem("85%")
133
+ xs: rem(432),
134
+ sm: rem(664),
135
+ md: rem(896),
136
+ lg: rem(1120),
137
+ xl: rem("88%")
138
138
  }
139
139
  })),
140
140
  overflow: "auto"
@@ -329,11 +329,13 @@ export var plasmaTheme = {
329
329
  }
330
330
  }
331
331
  },
332
- Segmented: {
333
- styles: {
334
- control: {
335
- zIndex: "unset"
336
- }
332
+ SegmentedControl: {
333
+ styles: function(theme) {
334
+ return {
335
+ root: {
336
+ backgroundColor: theme.colors.gray[2]
337
+ }
338
+ };
337
339
  }
338
340
  },
339
341
  Stepper: {