@coveord/plasma-mantine 52.4.3 → 52.6.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.
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +29 -79
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/header/Header.d.ts.map +1 -1
- package/dist/cjs/components/header/Header.js +3 -0
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/cjs/components/menu/Menu.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.d.ts +6 -1
- package/dist/cjs/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +6 -8
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +8 -5
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.d.ts +1 -0
- package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +21 -1
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +12 -2
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.js.map +1 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.js +8 -8
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/TableFooter.js.map +1 -1
- package/dist/cjs/components/table/TableHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/TableHeader.js +2 -1
- package/dist/cjs/components/table/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/cjs/components/table/Th.d.ts.map +1 -1
- package/dist/cjs/components/table/Th.js +5 -2
- package/dist/cjs/components/table/Th.js.map +1 -1
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/useRowSelection.js.map +1 -1
- package/dist/cjs/form/FormProvider.js.map +1 -1
- package/dist/cjs/form/useForm.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js +93 -11
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/cjs/utils/overrideComponent.js.map +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/Collection.styles.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/header/Header.d.ts.map +1 -1
- package/dist/esm/components/header/Header.js +3 -0
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.d.ts +6 -1
- package/dist/esm/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/esm/components/prompt/Prompt.js +6 -8
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +9 -6
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.d.ts +1 -0
- package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
- package/dist/esm/components/table/Table.styles.js +21 -1
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +12 -2
- package/dist/esm/components/table/Table.types.d.ts.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableActions.js.map +1 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.js +8 -8
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/dist/esm/components/table/TableFooter.js.map +1 -1
- package/dist/esm/components/table/TableHeader.d.ts.map +1 -1
- package/dist/esm/components/table/TableHeader.js +2 -1
- package/dist/esm/components/table/TableHeader.js.map +1 -1
- package/dist/esm/components/table/TablePagination.js.map +1 -1
- package/dist/esm/components/table/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/Th.d.ts.map +1 -1
- package/dist/esm/components/table/Th.js +5 -2
- package/dist/esm/components/table/Th.js.map +1 -1
- package/dist/esm/components/table/useRowSelection.js.map +1 -1
- package/dist/esm/form/FormProvider.js.map +1 -1
- package/dist/esm/form/useForm.js.map +1 -1
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Theme.d.ts +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +94 -12
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/utils/overrideComponent.js.map +1 -1
- package/package.json +28 -29
- package/src/__tests__/VitestSetup.ts +7 -5
- package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +3 -3
- package/src/components/header/Header.tsx +5 -1
- package/src/components/header/__tests__/Header.spec.tsx +1 -1
- package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/src/components/prompt/Prompt.tsx +10 -7
- package/src/components/table/Table.styles.ts +26 -1
- package/src/components/table/Table.tsx +12 -6
- package/src/components/table/Table.types.ts +12 -2
- package/src/components/table/TableDateRangePicker.tsx +9 -8
- package/src/components/table/TableHeader.tsx +8 -2
- package/src/components/table/Th.tsx +7 -4
- package/src/components/table/__tests__/Table.spec.tsx +72 -0
- package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +41 -14
- package/src/theme/Theme.tsx +95 -12
|
@@ -14,26 +14,26 @@ var _jsxruntime = require("react/jsx-runtime");
|
|
|
14
14
|
var _plasmareacticons = require("@coveord/plasma-react-icons");
|
|
15
15
|
var _core = require("@mantine/core");
|
|
16
16
|
var _dayjs = /*#__PURE__*/ _interop_require_default._(require("dayjs"));
|
|
17
|
-
var
|
|
17
|
+
var _hooks = require("@mantine/hooks");
|
|
18
18
|
var _button = require("../button");
|
|
19
19
|
var _daterangepicker = require("../date-range-picker");
|
|
20
20
|
var _Tablestyles = require("./Table.styles");
|
|
21
21
|
var _TableContext = require("./TableContext");
|
|
22
22
|
var TableDateRangePicker = function(param) {
|
|
23
23
|
var _param_presets = param.presets, presets = _param_presets === void 0 ? {} : _param_presets, rangeCalendarProps = param.rangeCalendarProps;
|
|
24
|
-
var
|
|
24
|
+
var _useToggle = _sliced_to_array._((0, _hooks.useToggle)(), 2), opened = _useToggle[0], toggleOpened = _useToggle[1];
|
|
25
25
|
var form = (0, _TableContext.useTable)().form;
|
|
26
26
|
var onApply = function(dates) {
|
|
27
27
|
form.setFieldValue("dateRange", dates);
|
|
28
|
-
|
|
28
|
+
toggleOpened(false);
|
|
29
29
|
};
|
|
30
30
|
var onCancel = function() {
|
|
31
|
-
|
|
31
|
+
toggleOpened(false);
|
|
32
32
|
};
|
|
33
33
|
var formatDate = function(date) {
|
|
34
34
|
return (0, _dayjs.default)(date).format("MMM DD, YYYY");
|
|
35
35
|
};
|
|
36
|
-
var
|
|
36
|
+
var formattedRange = "".concat(formatDate(form.values.dateRange[0]), " - ").concat(formatDate(form.values.dateRange[1]));
|
|
37
37
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, {
|
|
38
38
|
span: "content",
|
|
39
39
|
order: _Tablestyles.TableComponentsOrder.DateRangePicker,
|
|
@@ -43,11 +43,11 @@ var TableDateRangePicker = function(param) {
|
|
|
43
43
|
children: [
|
|
44
44
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Text, {
|
|
45
45
|
span: true,
|
|
46
|
-
children:
|
|
46
|
+
children: formattedRange
|
|
47
47
|
}),
|
|
48
48
|
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Popover, {
|
|
49
49
|
opened: opened,
|
|
50
|
-
onChange:
|
|
50
|
+
onChange: toggleOpened,
|
|
51
51
|
withinPortal: true,
|
|
52
52
|
children: [
|
|
53
53
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Popover.Target, {
|
|
@@ -55,7 +55,7 @@ var TableDateRangePicker = function(param) {
|
|
|
55
55
|
variant: "outline",
|
|
56
56
|
color: "gray",
|
|
57
57
|
onClick: function() {
|
|
58
|
-
return
|
|
58
|
+
return toggleOpened();
|
|
59
59
|
},
|
|
60
60
|
px: "xs",
|
|
61
61
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.CalendarSize24Px, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize24Px} from '@coveord/plasma-react-icons';\nimport {Grid, Group, Popover, Text} from '@mantine/core';\nimport dayjs from 'dayjs';\nimport {FunctionComponent
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize24Px} from '@coveord/plasma-react-icons';\nimport {Grid, Group, Popover, Text} from '@mantine/core';\nimport dayjs from 'dayjs';\nimport {FunctionComponent} from 'react';\n\nimport {useToggle} from '@mantine/hooks';\nimport {Button} from '../button';\nimport {\n DateRangePickerInlineCalendar,\n DateRangePickerInlineCalendarProps,\n DateRangePickerPreset,\n DateRangePickerValue,\n} from '../date-range-picker';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\ninterface TableDateRangePickerProps\n extends Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport const TableDateRangePicker: FunctionComponent<TableDateRangePickerProps> = ({\n presets = {},\n rangeCalendarProps,\n}) => {\n const [opened, toggleOpened] = useToggle();\n const {form} = useTable();\n\n const onApply = (dates: DateRangePickerValue) => {\n form.setFieldValue('dateRange', dates);\n toggleOpened(false);\n };\n const onCancel = () => {\n toggleOpened(false);\n };\n\n const formatDate = (date: Date) => dayjs(date).format('MMM DD, YYYY');\n const formattedRange = `${formatDate(form.values.dateRange[0])} - ${formatDate(form.values.dateRange[1])}`;\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.DateRangePicker} py=\"sm\">\n <Group spacing=\"xs\">\n <Text span>{formattedRange}</Text>\n <Popover opened={opened} onChange={toggleOpened} withinPortal>\n <Popover.Target>\n <Button variant=\"outline\" color=\"gray\" onClick={() => toggleOpened()} px=\"xs\">\n <CalendarSize24Px width={24} height={24} />\n </Button>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={form.values.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["TableDateRangePicker","presets","rangeCalendarProps","useToggle","opened","toggleOpened","form","useTable","onApply","dates","setFieldValue","onCancel","formatDate","date","dayjs","format","formattedRange","values","dateRange","Grid","Col","span","order","TableComponentsOrder","DateRangePicker","py","Group","spacing","Text","Popover","onChange","withinPortal","Target","Button","variant","color","onClick","px","CalendarSize24Px","width","height","Dropdown","p","DateRangePickerInlineCalendar","initialRange"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;gCAhCkB;oBACU;8DACvB;qBAGM;sBACH;+BAMd;2BAC4B;4BACZ;AAkBhB,IAAMA,uBAAqE;+BAC9EC,SAAAA,sCAAU,CAAC,oBACXC,2BAAAA;IAEA,IAA+BC,gCAAAA,IAAAA,yBAAxBC,SAAwBD,eAAhBE,eAAgBF;IAC/B,IAAM,AAACG,OAAQC,IAAAA,0BAARD;IAEP,IAAME,UAAU,SAACC;QACbH,KAAKI,cAAc,aAAaD;QAChCJ,aAAa;IACjB;IACA,IAAMM,WAAW;QACbN,aAAa;IACjB;IAEA,IAAMO,aAAa,SAACC;eAAeC,IAAAA,gBAAMD,MAAME,OAAO;;IACtD,IAAMC,iBAAiB,AAAC,GAA4CJ,OAA1CA,WAAWN,KAAKW,OAAOC,SAAS,CAAC,EAAE,GAAE,OAA0C,OAArCN,WAAWN,KAAKW,OAAOC,SAAS,CAAC,EAAE;IAEvG,qBACI,qBAACC,WAAKC;QAAIC,MAAK;QAAUC,OAAOC,kCAAqBC;QAAiBC,IAAG;kBACrE,cAAA,sBAACC;YAAMC,SAAQ;;8BACX,qBAACC;oBAAKP,IAAI;8BAAEL;;8BACZ,sBAACa;oBAAQzB,QAAQA;oBAAQ0B,UAAUzB;oBAAc0B,YAAY;;sCACzD,qBAACF,cAAQG;sCACL,cAAA,qBAACC;gCAAOC,SAAQ;gCAAUC,OAAM;gCAAOC,SAAS;2CAAM/B;;gCAAgBgC,IAAG;0CACrE,cAAA,qBAACC;oCAAiBC,OAAO;oCAAIC,QAAQ;;;;sCAG7C,qBAACX,cAAQY;4BAASC,GAAG;sCACjB,cAAA,qBAACC;gCACGC,cAActC,KAAKW,OAAOC;gCAC1BV,SAASA;gCACTG,UAAUA;gCACVV,SAASA;gCACTC,oBAAoBA;;;;;;;;AAOhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, createStyles, DefaultProps, Grid, Selectors, TextInput} from '@mantine/core';\nimport {ChangeEventHandler, FunctionComponent, MouseEventHandler} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ntype TableFilterStylesNames = Selectors<typeof useStyles>;\ninterface TableFilterProps extends DefaultProps<TableFilterStylesNames> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({\n placeholder = 'Search by any field',\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const {state, setState} = useTable();\n\n const changeFilterValue = (value: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: prevState.pagination\n ? {pageIndex: 0, pageSize: prevState.pagination.pageSize}\n : prevState.pagination,\n globalFilter: value,\n }));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n changeFilterValue(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n changeFilterValue('');\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Filter} py=\"sm\">\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={\n state.globalFilter ? (\n <ActionIcon onClick={handleClear}>\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <SearchSize16Px height={14} className={classes.empty} />\n )\n }\n value={state.globalFilter}\n onChange={handleChange}\n {...others}\n />\n </Grid.Col>\n );\n};\n"],"names":["TableFilter","useStyles","createStyles","theme","wrapper","marginBottom","empty","color","colors","gray","placeholder","classNames","styles","unstyled","others","classes","name","useTable","state","setState","changeFilterValue","value","prevState","pagination","pageIndex","pageSize","globalFilter","handleChange","event","currentTarget","handleClear","Grid","Col","span","order","TableComponentsOrder","Filter","py","TextInput","className","mb","rightSection","ActionIcon","onClick","CrossSize16Px","height","SearchSize16Px","onChange"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;gCA1B+B;oBACqC;2BAE9C;4BAEZ;AAEvB,IAAMC,YAAYC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, createStyles, DefaultProps, Grid, Selectors, TextInput} from '@mantine/core';\nimport {ChangeEventHandler, FunctionComponent, MouseEventHandler} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ntype TableFilterStylesNames = Selectors<typeof useStyles>;\ninterface TableFilterProps extends DefaultProps<TableFilterStylesNames> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({\n placeholder = 'Search by any field',\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const {state, setState} = useTable();\n\n const changeFilterValue = (value: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: prevState.pagination\n ? {pageIndex: 0, pageSize: prevState.pagination.pageSize}\n : prevState.pagination,\n globalFilter: value,\n }));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n changeFilterValue(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n changeFilterValue('');\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Filter} py=\"sm\">\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={\n state.globalFilter ? (\n <ActionIcon onClick={handleClear}>\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <SearchSize16Px height={14} className={classes.empty} />\n )\n }\n value={state.globalFilter}\n onChange={handleChange}\n {...others}\n />\n </Grid.Col>\n );\n};\n"],"names":["TableFilter","useStyles","createStyles","theme","wrapper","marginBottom","empty","color","colors","gray","placeholder","classNames","styles","unstyled","others","classes","name","useTable","state","setState","changeFilterValue","value","prevState","pagination","pageIndex","pageSize","globalFilter","handleChange","event","currentTarget","handleClear","Grid","Col","span","order","TableComponentsOrder","Filter","py","TextInput","className","mb","rightSection","ActionIcon","onClick","CrossSize16Px","height","SearchSize16Px","onChange"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;gCA1B+B;oBACqC;2BAE9C;4BAEZ;AAEvB,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,SAAS;YACLC,cAAc;QAClB;QACAC,OAAO;YACHC,OAAOJ,MAAMK,OAAOC,IAAI,CAAC,EAAE;QAC/B;IACJ;;AAYO,IAAMT,cAAmD;oCAC5DU,aAAAA,8CAAc,4CACdC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWd,UAAU,MAAM;QAACe,MAAM;QAAeL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EE;IACP,IAA0BE,YAAAA,IAAAA,2BAAnBC,QAAmBD,UAAnBC,OAAOC,WAAYF,UAAZE;IAEd,IAAMC,oBAAoB,SAACC;QACvBF,SAAS,SAACG;mBAAe,4CAClBA;gBACHC,YAAYD,UAAUC,aAChB;oBAACC,WAAW;oBAAGC,UAAUH,UAAUC,WAAWE;gBAAQ,IACtDH,UAAUC;gBAChBG,cAAcL;;;IAEtB;IAEA,IAAMM,eAAqD,SAACC;QACxD,IAAM,AAACP,QAASO,MAAMC,cAAfR;QACPD,kBAAkBC;IACtB;IAEA,IAAMS,cAAoD;QACtDV,kBAAkB;IACtB;IAEA,qBACI,qBAACW,WAAKC;QAAIC,MAAK;QAAUC,OAAOC,kCAAqBC;QAAQC,IAAG;kBAC5D,cAAA,qBAACC;YACGC,WAAWxB,QAAQX;YACnBM,aAAaA;YACb8B,IAAG;YACHC,cACIvB,MAAMQ,6BACF,qBAACgB;gBAAWC,SAASb;0BACjB,cAAA,qBAACc;oBAAcC,QAAQ;;+BAG3B,qBAACC;gBAAeD,QAAQ;gBAAIN,WAAWxB,QAAQT;;YAGvDe,OAAOH,MAAMQ;YACbqB,UAAUpB;WACNb;;AAIpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import {Group, DefaultProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\ninterface TableFooterProps extends DefaultProps {\n children?: ReactNode;\n}\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({children, ...others}) => (\n <Group position=\"apart\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n);\n"],"names":["TableFooter","children","others","Group","position","px","py"],"mappings":";;;;+BAMaA;;;eAAAA;;;;;;;oBANqB;AAM3B,IAAMA,cAAmD
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import {Group, DefaultProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\ninterface TableFooterProps extends DefaultProps {\n children?: ReactNode;\n}\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({children, ...others}) => (\n <Group position=\"apart\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n);\n"],"names":["TableFooter","children","others","Group","position","px","py"],"mappings":";;;;+BAMaA;;;eAAAA;;;;;;;oBANqB;AAM3B,IAAMA,cAAmD;QAAEC,kBAAAA,UAAaC;QAAbD;;WAC9D,qBAACE;QAAMC,UAAS;QAAQC,IAAG;QAAKC,IAAG;OAASJ;kBACvCD;;AACE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAQ,SAAS,EAAU,MAAM,eAAe,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAMnD,QAAA,MAAM,SAAS;;;;;;;CAUZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAQ,SAAS,EAAU,MAAM,eAAe,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAMnD,QAAA,MAAM,SAAS;;;;;;;CAUZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CA6C3D,CAAC"}
|
|
@@ -37,7 +37,7 @@ var TableHeader = function(_param) {
|
|
|
37
37
|
"unstyled",
|
|
38
38
|
"children"
|
|
39
39
|
]);
|
|
40
|
-
var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, clearSelection = _useTable.clearSelection;
|
|
40
|
+
var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, clearSelection = _useTable.clearSelection, disableRowSelection = _useTable.disableRowSelection;
|
|
41
41
|
var classes = useStyles(null, {
|
|
42
42
|
name: "TableHeader",
|
|
43
43
|
classNames: classNames,
|
|
@@ -66,6 +66,7 @@ var TableHeader = function(_param) {
|
|
|
66
66
|
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_button.Button, {
|
|
67
67
|
onClick: clearSelection,
|
|
68
68
|
variant: "subtle",
|
|
69
|
+
disabled: disableRowSelection,
|
|
69
70
|
leftIcon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.CrossSize16Px, {
|
|
70
71
|
height: 16
|
|
71
72
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Grid, Selectors, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {Button} from '../button';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n flexDirection: 'row-reverse',\n flexWrap: 'wrap-reverse',\n background: `repeating-linear-gradient(${theme.colors.gray[1]}, ${theme.colors.gray[1]} 68px, ${theme.colors.gray[3]} 68px, ${theme.colors.gray[3]} 69px)`,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n multiSelectInfo: {\n justifySelf: 'flex-start',\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection} = useTable();\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const selectedRows = getSelectedRows();\n return (\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n gutter=\"sm\"\n p={0}\n pl=\"md\"\n pr=\"lg\"\n m={0}\n className={classes.root}\n {...others}\n >\n {multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n py=\"sm\"\n className={classes.multiSelectInfo}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label=\"Unselect all\">\n <Button
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Grid, Selectors, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {Button} from '../button';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n flexDirection: 'row-reverse',\n flexWrap: 'wrap-reverse',\n background: `repeating-linear-gradient(${theme.colors.gray[1]}, ${theme.colors.gray[1]} 68px, ${theme.colors.gray[3]} 68px, ${theme.colors.gray[3]} 69px)`,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n multiSelectInfo: {\n justifySelf: 'flex-start',\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection, disableRowSelection} = useTable();\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const selectedRows = getSelectedRows();\n\n return (\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n gutter=\"sm\"\n p={0}\n pl=\"md\"\n pr=\"lg\"\n m={0}\n className={classes.root}\n {...others}\n >\n {multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n py=\"sm\"\n className={classes.multiSelectInfo}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label=\"Unselect all\">\n <Button\n onClick={clearSelection}\n variant=\"subtle\"\n disabled={disableRowSelection}\n leftIcon={<CrossSize16Px height={16} />}\n >\n {selectedRows.length} selected\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n </Grid>\n );\n};\n"],"names":["TableHeader","useStyles","createStyles","theme","root","flexDirection","flexWrap","background","colors","gray","borderBottom","multiSelectInfo","justifySelf","classNames","styles","unstyled","children","others","useTable","getSelectedRows","multiRowSelectionEnabled","clearSelection","disableRowSelection","classes","name","selectedRows","Grid","justify","align","gutter","p","pl","pr","m","className","length","Col","span","py","order","TableComponentsOrder","MultiSelectInfo","Tooltip","label","Button","onClick","variant","disabled","leftIcon","CrossSize16Px","height"],"mappings":";;;;+BAyBaA;;;eAAAA;;;;;;;gCAzBe;oBACuC;sBAG9C;2BACc;4BACZ;AAEvB,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,MAAM;YACFC,eAAe;YACfC,UAAU;YACVC,YAAY,AAAC,6BAAqDJ,OAAzBA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,MAAkCN,OAA9BA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,WAAuCN,OAA9BA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,WAA8B,OAArBN,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC;YACnJC,cAAc,AAAC,aAAiC,OAArBP,MAAMK,OAAOC,IAAI,CAAC,EAAE;QACnD;QACAE,iBAAiB;YACbC,aAAa;QACjB;IACJ;;AAOO,IAAMZ,cAAmD;QAC5Da,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAyFE,YAAAA,IAAAA,2BAAlFC,kBAAkFD,UAAlFC,iBAAiBC,2BAAiEF,UAAjEE,0BAA0BC,iBAAuCH,UAAvCG,gBAAgBC,sBAAuBJ,UAAvBI;IAClE,IAAM,AAACC,UAAWtB,UAAU,MAAM;QAACuB,MAAM;QAAeX,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EQ;IACP,IAAME,eAAeN;IAErB,qBACI,sBAACO;QACGC,SAAQ;QACRC,OAAM;QACNC,QAAO;QACPC,GAAG;QACHC,IAAG;QACHC,IAAG;QACHC,GAAG;QACHC,WAAWX,QAAQnB;OACfa;;YAEHG,4BAA4BK,aAAaU,SAAS,kBAC/C,qBAACT,WAAKU;gBACFC,MAAK;gBACLC,IAAG;gBACHJ,WAAWX,QAAQZ;gBACnB4B,OAAOC,kCAAqBC;0BAE5B,cAAA,qBAACC;oBAAQC,OAAM;8BACX,cAAA,sBAACC;wBACGC,SAASxB;wBACTyB,SAAQ;wBACRC,UAAUzB;wBACV0B,wBAAU,qBAACC;4BAAcC,QAAQ;;;4BAEhCzB,aAAaU;4BAAO;;;;iBAIjC;YACHnB;;;AAGb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePaginationProps {\n /**\n * The total number of page. Use null only if your table is paginated client side\n */\n totalPages: number | null;\n}\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages}) => {\n const {state, setState, containerRef, getPageCount} = useTable();\n const updatePage = (newPage: number) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = totalPages === null ? getPageCount() : totalPages;\n\n return (\n <Pagination\n value={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["TablePagination","totalPages","useTable","state","setState","containerRef","getPageCount","updatePage","newPage","prevState","pagination","pageIndex","current","scrollIntoView","behavior","total","Pagination","value","onChange","boundaries","size","getControlProps","control","component"],"mappings":";;;;+BAYaA;;;eAAAA;;;;;;oBAZY;4BAGF;AAShB,IAAMA,kBAA2D
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePaginationProps {\n /**\n * The total number of page. Use null only if your table is paginated client side\n */\n totalPages: number | null;\n}\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages}) => {\n const {state, setState, containerRef, getPageCount} = useTable();\n const updatePage = (newPage: number) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = totalPages === null ? getPageCount() : totalPages;\n\n return (\n <Pagination\n value={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["TablePagination","totalPages","useTable","state","setState","containerRef","getPageCount","updatePage","newPage","prevState","pagination","pageIndex","current","scrollIntoView","behavior","total","Pagination","value","onChange","boundaries","size","getControlProps","control","component"],"mappings":";;;;+BAYaA;;;eAAAA;;;;;;oBAZY;4BAGF;AAShB,IAAMA,kBAA2D;QAAEC,mBAAAA;IACtE,IAAsDC,YAAAA,IAAAA,2BAA/CC,QAA+CD,UAA/CC,OAAOC,WAAwCF,UAAxCE,UAAUC,eAA8BH,UAA9BG,cAAcC,eAAgBJ,UAAhBI;IACtC,IAAMC,aAAa,SAACC;QAChBJ,SAAS,SAACK;mBAAe,4CAClBA;gBACHC,YAAY,4CAAID,UAAUC;oBAAYC,WAAWH,UAAU;;;;QAE/DH,aAAaO,QAAQC,eAAe;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQd,eAAe,OAAOK,iBAAiBL;IAErD,qBACI,qBAACe;QACGC,OAAOd,MAAMO,WAAWC,YAAY;QACpCO,UAAUX;QACVQ,OAAOA;QACPI,YAAY;QACZC,MAAK;QACLC,iBAAiB,SAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ"}
|
|
@@ -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
|
|
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 +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":["TablePredicate","id","data","label","useTable","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","Grid","Col","span","order","TableComponentsOrder","Predicate","py","Group","spacing","Text","Select","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;;oBAvBuC;2BAEjB;4BAEZ;AAmBhB,IAAMA,iBAAyD
|
|
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":["TablePredicate","id","data","label","useTable","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","Grid","Col","span","order","TableComponentsOrder","Predicate","py","Group","spacing","Text","Select","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;;oBAvBuC;2BAEjB;4BAEZ;AAmBhB,IAAMA,iBAAyD;QAAEC,WAAAA,IAAIC,aAAAA,MAAMC,cAAAA;IAC9E,IAAyBC,YAAAA,IAAAA,2BAAlBC,WAAkBD,UAAlBC,UAAUC,OAAQF,UAARE;IAEjB,IAAMC,WAAW,SAACC;QACdF,KAAKG,cAAc,cAAc,4CAAIH,KAAKI,OAAOC,aAAY,uBAACV,IAAKO;QACnEH,qBAAAA,sBAAAA,KAAAA,IAAAA;IACJ;IAEA,qBACI,qBAACO,WAAKC;QAAIC,MAAK;QAAUC,OAAOC,kCAAqBC;QAAWC,IAAG;kBAC/D,cAAA,sBAACC;YAAMC,SAAQ;;gBACVjB,sBAAQ,sBAACkB;;wBAAMlB;wBAAM;;qBAAW;8BACjC,qBAACmB;oBACGC,YAAY;oBACZC,OAAOlB,KAAKI,OAAOC,UAAU,CAACV,GAAG;oBACjCI,UAAUE;oBACVL,MAAMA;oBACNuB,cAAYtB,kBAAAA,mBAAAA,QAASF;oBACrByB,YAAYxB,KAAKyB,SAAS;;;;;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
|
|
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 +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;
|
|
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"}
|
|
@@ -17,15 +17,16 @@ var useStyles = (0, _core.createStyles)(function(theme) {
|
|
|
17
17
|
th: {
|
|
18
18
|
fontWeight: "400 !important",
|
|
19
19
|
padding: "0 !important",
|
|
20
|
-
color: theme.black + "!important",
|
|
21
20
|
verticalAlign: "middle"
|
|
22
21
|
},
|
|
23
22
|
control: {
|
|
24
23
|
width: "100%",
|
|
25
24
|
padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
|
|
26
25
|
whiteSpace: "nowrap",
|
|
26
|
+
backgroundColor: theme.colorScheme === "dark" ? theme.colors.gray[8] : theme.colors.gray[0],
|
|
27
|
+
color: theme.colors.gray[6],
|
|
27
28
|
"&:hover": {
|
|
28
|
-
backgroundColor: theme.colorScheme === "dark" ? theme.colors.gray[
|
|
29
|
+
backgroundColor: theme.colorScheme === "dark" ? theme.colors.gray[7] : theme.colors.gray[1]
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
};
|
|
@@ -58,6 +59,7 @@ var Th = function(param) {
|
|
|
58
59
|
size: "xs",
|
|
59
60
|
py: "xs",
|
|
60
61
|
px: "sm",
|
|
62
|
+
fw: 500,
|
|
61
63
|
children: (0, _reacttable.flexRender)(header.column.columnDef.header, header.getContext())
|
|
62
64
|
})
|
|
63
65
|
});
|
|
@@ -80,6 +82,7 @@ var Th = function(param) {
|
|
|
80
82
|
children: [
|
|
81
83
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Text, {
|
|
82
84
|
size: "xs",
|
|
85
|
+
fw: 500,
|
|
83
86
|
children: (0, _reacttable.flexRender)(header.column.columnDef.header, header.getContext())
|
|
84
87
|
}),
|
|
85
88
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Center, {
|
|
@@ -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
|
|
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":["Th","useStyles","createStyles","theme","th","fontWeight","padding","verticalAlign","control","width","spacing","xs","sm","whiteSpace","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":";;;;+BAwCaA;;;eAAAA;;;;gCAxC8D;oBACX;0BACV;AAEtD,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,IAAI;YACAC,YAAY;YACZC,SAAS;YACTC,eAAe;QACnB;QAEAC,SAAS;YACLC,OAAO;YACPH,SAAS,AAAC,GAAsBH,OAApBA,MAAMO,QAAQC,IAAG,KAAoB,OAAjBR,MAAMO,QAAQE;YAC9CC,YAAY;YACZC,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,IAAMtB,QAAQoB,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;gBAAC5B,OAAAA;YAAK;sBACpC,cAAA,qBAAC6B;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;YAAC5B,OAAAA;QAAK;QAAGyC,aAAWxB,aAAa,CAACqB,aAAa;kBAC7E,cAAA,qBAACI;YAAeC,SAASP;YAAQT,WAAWR,QAAQpB;sBAChD,cAAA,sBAAC6C;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 +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":";;;;+BACQA;;;eAAAA
|
|
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":";;;;+BACQA;;;eAAAA;;;;uBADM;4BACS"}
|
|
@@ -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
|
|
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 +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
|
|
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 +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
|
|
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 +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
|
|
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 +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
|
|
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"}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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
|
|
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 +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,
|
|
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 +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
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
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"}
|