@coveord/plasma-mantine 52.26.3 → 52.26.4
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 +34 -128
- package/dist/.tsbuildinfo +1 -1
- package/dist/esm/components/action-icon/ActionIcon.js +29 -80
- package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
- package/dist/esm/components/action-icon/index.js +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js +3 -6
- package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/esm/components/blank-slate/index.js +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.js +16 -28
- package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.styles.js +6 -8
- package/dist/esm/components/browser-preview/BrowserPreview.styles.js.map +1 -1
- package/dist/esm/components/browser-preview/index.js +1 -1
- package/dist/esm/components/button/Button.js +29 -80
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js +16 -28
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/esm/components/button/index.js +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +76 -144
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/index.js +1 -1
- package/dist/esm/components/code-editor/languages/xml.js +18 -32
- package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
- package/dist/esm/components/code-editor/search/Search.js +6 -13
- package/dist/esm/components/code-editor/search/Search.js.map +1 -1
- package/dist/esm/components/code-editor/search/index.js +1 -1
- package/dist/esm/components/collection/Collection.js +57 -110
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/Collection.styles.js +7 -9
- package/dist/esm/components/collection/Collection.styles.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js +47 -54
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/collection/index.js +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js +19 -29
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/copyToClipboard/index.js +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +29 -32
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +22 -29
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +19 -30
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +21 -22
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/index.js +3 -3
- package/dist/esm/components/header/Header.js +28 -48
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/Header.styles.js +7 -10
- package/dist/esm/components/header/Header.styles.js.map +1 -1
- package/dist/esm/components/header/HeaderActions/HeaderActions.js +16 -25
- package/dist/esm/components/header/HeaderActions/HeaderActions.js.map +1 -1
- package/dist/esm/components/header/HeaderActions/HeaderActions.styles.js +3 -7
- package/dist/esm/components/header/HeaderActions/HeaderActions.styles.js.map +1 -1
- package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js +13 -22
- package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
- package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.styles.js +3 -7
- package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.styles.js.map +1 -1
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js +17 -28
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.styles.js +4 -8
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.styles.js.map +1 -1
- package/dist/esm/components/header/index.js +1 -1
- package/dist/esm/components/index.js +15 -15
- package/dist/esm/components/inline-confirm/InlineConfirm.js +14 -20
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js +11 -17
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.js +2 -2
- package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +11 -17
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +8 -9
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/index.js +3 -3
- package/dist/esm/components/inline-confirm/useInlineConfirm.js +5 -5
- package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/esm/components/menu/Menu.js +13 -21
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/menu/index.js +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js +57 -108
- package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizardStep.js +1 -4
- package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/esm/components/modal-wizard/index.js +1 -1
- package/dist/esm/components/prompt/Prompt.js +29 -41
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptFooter.js +4 -11
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/prompt/index.js +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js +21 -35
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/sticky-footer/index.js +1 -1
- package/dist/esm/components/table/Table.js +94 -123
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.js +11 -13
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/TableContext.js +5 -5
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/index.js +3 -3
- package/dist/esm/components/table/layouts/RowLayout.js +59 -79
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.styles.js +27 -28
- package/dist/esm/components/table/layouts/RowLayout.styles.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayoutControl.js +10 -13
- package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayouts.js +2 -2
- package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActions.js +17 -26
- package/dist/esm/components/table/table-actions/TableActions.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActions.styles.js +5 -7
- package/dist/esm/components/table/table-actions/TableActions.styles.js.map +1 -1
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +19 -23
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/table-column/TableSelectableColumn.js +9 -13
- package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/table-consumer/TableConsumer.js +1 -4
- package/dist/esm/components/table/table-consumer/TableConsumer.js.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +28 -43
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js +3 -5
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.js +30 -40
- package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.styles.js +4 -6
- package/dist/esm/components/table/table-filter/TableFilter.styles.js.map +1 -1
- package/dist/esm/components/table/table-footer/TableFooter.js +5 -13
- package/dist/esm/components/table/table-footer/TableFooter.js.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.js +20 -29
- package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.styles.js +8 -10
- package/dist/esm/components/table/table-header/TableHeader.styles.js.map +1 -1
- package/dist/esm/components/table/table-header/Th.js +27 -35
- package/dist/esm/components/table/table-header/Th.js.map +1 -1
- package/dist/esm/components/table/table-header/Th.styles.js +13 -16
- package/dist/esm/components/table/table-header/Th.styles.js.map +1 -1
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +24 -35
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js +4 -6
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js.map +1 -1
- package/dist/esm/components/table/table-loading/TableLoading.js +4 -7
- package/dist/esm/components/table/table-loading/TableLoading.js.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js +21 -25
- package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.js +15 -24
- package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/table-predicate/TablePredicate.js +25 -35
- package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.js +3 -5
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.js.map +1 -1
- package/dist/esm/form/FormProvider.js +9 -10
- package/dist/esm/form/FormProvider.js.map +1 -1
- package/dist/esm/form/index.js +2 -2
- package/dist/esm/form/useForm.js +18 -25
- package/dist/esm/form/useForm.js.map +1 -1
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useControlledList.js +24 -30
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js +10 -11
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/hooks/useRowSelection.js +33 -44
- package/dist/esm/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/theme/PlasmaColors.js +13 -15
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Plasmantine.js +3 -6
- package/dist/esm/theme/Plasmantine.js.map +1 -1
- package/dist/esm/theme/Theme.js +142 -171
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/theme/index.js +1 -1
- package/dist/esm/utils/createPolymorphicComponent.js +2 -2
- package/dist/esm/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/esm/utils/index.js +2 -2
- package/dist/esm/utils/overrideComponent.js +2 -8
- package/dist/esm/utils/overrideComponent.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { createStyles } from
|
|
2
|
-
export default createStyles(
|
|
3
|
-
return {
|
|
1
|
+
import { createStyles } from '@mantine/core';
|
|
2
|
+
export default createStyles((theme)=>({
|
|
4
3
|
root: {},
|
|
5
4
|
wrapper: {},
|
|
6
5
|
label: {},
|
|
7
6
|
select: {}
|
|
8
|
-
};
|
|
9
|
-
});
|
|
7
|
+
}));
|
|
10
8
|
|
|
11
9
|
//# sourceMappingURL=TablePredicate.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nexport default createStyles((theme) => ({\n root: {},\n wrapper: {},\n label: {},\n select: {},\n}));\n"],"names":["createStyles","theme","root","wrapper","label","select"],"mappings":"AAAA,SAAQA,YAAY,QAAO,gBAAgB;AAE3C,eAAeA,aAAa,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nexport default createStyles((theme) => ({\n root: {},\n wrapper: {},\n label: {},\n select: {},\n}));\n"],"names":["createStyles","theme","root","wrapper","label","select"],"mappings":"AAAA,SAAQA,YAAY,QAAO,gBAAgB;AAE3C,eAAeA,aAAa,CAACC,QAAW,CAAA;QACpCC,MAAM,CAAC;QACPC,SAAS,CAAC;QACVC,OAAO,CAAC;QACRC,QAAQ,CAAC;IACb,CAAA,GAAI"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
/* eslint-disable prefer-arrow/prefer-arrow-functions */ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext } from
|
|
3
|
-
import { useForm } from
|
|
2
|
+
import React, { createContext, useContext } from 'react';
|
|
3
|
+
import { useForm } from './useForm';
|
|
4
4
|
export function createFormContext() {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const FormContext = /*#__PURE__*/ createContext(null);
|
|
6
|
+
function FormProvider({ form, children }) {
|
|
7
7
|
return /*#__PURE__*/ _jsx(FormContext.Provider, {
|
|
8
8
|
value: form,
|
|
9
9
|
children: children
|
|
10
10
|
});
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
}
|
|
12
|
+
function useFormContext() {
|
|
13
|
+
const ctx = useContext(FormContext);
|
|
14
14
|
if (!ctx) {
|
|
15
|
-
throw new Error(
|
|
15
|
+
throw new Error('useFormContext was called outside of FormProvider context');
|
|
16
16
|
}
|
|
17
17
|
return ctx;
|
|
18
|
-
}
|
|
19
|
-
var FormContext = /*#__PURE__*/ createContext(null);
|
|
18
|
+
}
|
|
20
19
|
return [
|
|
21
20
|
FormProvider,
|
|
22
21
|
useFormContext,
|
|
@@ -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","
|
|
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","FormContext","FormProvider","form","children","Provider","value","useFormContext","ctx","Error"],"mappings":"AAAA,sDAAsD;AAEtD,OAAOA,SAAQC,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAEvD,SAAQC,OAAO,QAAO,YAAY;AAOlC,OAAO,SAASC;IAMZ,MAAMC,4BAAcJ,cAAoB;IAExC,SAASK,aAAa,EAACC,IAAI,EAAEC,QAAQ,EAA0B;QAC3D,qBAAO,KAACH,YAAYI,QAAQ;YAACC,OAAOH;sBAAOC;;IAC/C;IAEA,SAASG;QACL,MAAMC,MAAMV,WAAWG;QACvB,IAAI,CAACO,KAAK;YACN,MAAM,IAAIC,MAAM;QACpB;QAEA,OAAOD;IACX;IAEA,OAAO;QAACN;QAAcK;QAAgBR;KAAQ;AAKlD"}
|
package/dist/esm/form/index.js
CHANGED
package/dist/esm/form/useForm.js
CHANGED
|
@@ -1,33 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
type: type,
|
|
10
|
-
withError: withError,
|
|
11
|
-
withFocus: withFocus
|
|
1
|
+
import { useForm as useMantineForm } from '@mantine/form';
|
|
2
|
+
export const useForm = (options)=>{
|
|
3
|
+
const form = useMantineForm(options);
|
|
4
|
+
const getInputProps = (path, { type = 'input', withError = type === 'input', withFocus = true } = {})=>{
|
|
5
|
+
const originalPayload = form.getInputProps(path, {
|
|
6
|
+
type,
|
|
7
|
+
withError,
|
|
8
|
+
withFocus
|
|
12
9
|
});
|
|
13
10
|
if (Array.isArray(originalPayload.value)) {
|
|
14
|
-
return
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
onInsertItem: function(valueToInsert, index) {
|
|
22
|
-
return form.insertListItem(path, valueToInsert, index);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
11
|
+
return {
|
|
12
|
+
...originalPayload,
|
|
13
|
+
onReorderItem: (payload)=>form.reorderListItem(path, payload),
|
|
14
|
+
onRemoveItem: (index)=>form.removeListItem(path, index),
|
|
15
|
+
onInsertItem: (valueToInsert, index)=>form.insertListItem(path, valueToInsert, index)
|
|
16
|
+
};
|
|
25
17
|
}
|
|
26
18
|
return originalPayload;
|
|
27
19
|
};
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
return {
|
|
21
|
+
...form,
|
|
22
|
+
getInputProps
|
|
23
|
+
};
|
|
31
24
|
};
|
|
32
25
|
|
|
33
26
|
//# sourceMappingURL=useForm.js.map
|
|
@@ -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":"
|
|
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,MAAMD,UAAiC,CAACE;IAC3C,MAAMC,OAAOF,eAAeC;IAE5B,MAAME,gBAAwD,CAC1DC,MACA,EAACC,OAAO,OAAO,EAAEC,YAAYD,SAAS,OAAO,EAAEE,YAAY,IAAI,EAAC,GAAG,CAAC,CAAC;QAErE,MAAMC,kBAAkBN,KAAKC,aAAa,CAACC,MAAM;YAACC;YAAMC;YAAWC;QAAS;QAC5E,IAAIE,MAAMC,OAAO,CAACF,gBAAgBG,KAAK,GAAG;YACtC,OAAO;gBACH,GAAGH,eAAe;gBAClBI,eAAe,CAACC,UAA2CX,KAAKY,eAAe,CAACV,MAAMS;gBACtFE,cAAc,CAACC,QAAkBd,KAAKe,cAAc,CAACb,MAAMY;gBAC3DE,cAAc,CAACC,eAAwBH,QACnCd,KAAKkB,cAAc,CAAChB,MAAMe,eAAeH;YACjD;QACJ;QAEA,OAAOR;IACX;IAEA,OAAO;QAAC,GAAGN,IAAI;QAAEC;IAAa;AAClC,EAAE"}
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -1,45 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
3
|
-
import { useUncontrolled } from "@mantine/hooks";
|
|
1
|
+
import { useUncontrolled } from '@mantine/hooks';
|
|
4
2
|
/**
|
|
5
3
|
* Manage a list of items in a controlled fashion, to be used with inputs
|
|
6
|
-
*/ export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
defaultValue: defaultValue,
|
|
4
|
+
*/ export const useControlledList = ({ defaultValue, value, onChange })=>{
|
|
5
|
+
const [values, handleChange] = useUncontrolled({
|
|
6
|
+
value,
|
|
7
|
+
defaultValue,
|
|
11
8
|
finalValue: [],
|
|
12
|
-
onChange
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return i !== index;
|
|
18
|
-
});
|
|
19
|
-
(_handleChange = handleChange) === null || _handleChange === void 0 ? void 0 : _handleChange(newValues);
|
|
9
|
+
onChange
|
|
10
|
+
});
|
|
11
|
+
const remove = (index)=>{
|
|
12
|
+
const newValues = values.filter((_, i)=>i !== index);
|
|
13
|
+
handleChange?.(newValues);
|
|
20
14
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
const append = (item)=>{
|
|
16
|
+
const newValues = [
|
|
17
|
+
...values,
|
|
24
18
|
item
|
|
25
|
-
]
|
|
26
|
-
|
|
19
|
+
];
|
|
20
|
+
handleChange?.(newValues);
|
|
27
21
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
const reorder = ({ from, to })=>{
|
|
23
|
+
const newValues = [
|
|
24
|
+
...values
|
|
25
|
+
];
|
|
26
|
+
const item = values[from];
|
|
33
27
|
newValues.splice(from, 1);
|
|
34
28
|
newValues.splice(to, 0, item);
|
|
35
|
-
|
|
29
|
+
handleChange?.(newValues);
|
|
36
30
|
};
|
|
37
31
|
return [
|
|
38
32
|
values,
|
|
39
33
|
{
|
|
40
|
-
remove
|
|
41
|
-
append
|
|
42
|
-
reorder
|
|
34
|
+
remove,
|
|
35
|
+
append,
|
|
36
|
+
reorder
|
|
43
37
|
}
|
|
44
38
|
];
|
|
45
39
|
};
|
|
@@ -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","
|
|
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","values","handleChange","finalValue","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":"AAAA,SAAQA,eAAe,QAAO,iBAAiB;AAoB/C;;CAEC,GACD,OAAO,MAAMC,oBAAoB,CAAI,EAACC,YAAY,EAAEC,KAAK,EAAEC,QAAQ,EAAuB;IACtF,MAAM,CAACC,QAAQC,aAAa,GAAGN,gBAAgB;QAC3CG;QACAD;QACAK,YAAY,EAAE;QACdH;IACJ;IAEA,MAAMI,SAAS,CAACC;QACZ,MAAMC,YAAYL,OAAOM,MAAM,CAAC,CAACC,GAAGC,IAAMA,MAAMJ;QAChDH,eAAeI;IACnB;IAEA,MAAMI,SAAS,CAACC;QACZ,MAAML,YAAY;eAAIL;YAAQU;SAAK;QACnCT,eAAeI;IACnB;IAEA,MAAMM,UAAU,CAAC,EAACC,IAAI,EAAEC,EAAE,EAA6B;QACnD,MAAMR,YAAY;eAAIL;SAAO;QAC7B,MAAMU,OAAOV,MAAM,CAACY,KAAK;QAEzBP,UAAUS,MAAM,CAACF,MAAM;QACvBP,UAAUS,MAAM,CAACD,IAAI,GAAGH;QAExBT,eAAeI;IACnB;IAEA,OAAO;QAACL;QAAQ;YAACG;YAAQM;YAAQE;QAAO;KAAE;AAC9C,EAAE"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
const getElementInnerHeight = (el)=>{
|
|
3
|
+
const fullHeight = el.getBoundingClientRect().height;
|
|
4
|
+
const cs = getComputedStyle(el);
|
|
5
|
+
const padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);
|
|
6
|
+
const border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);
|
|
8
7
|
return fullHeight - padding - border;
|
|
9
8
|
};
|
|
10
9
|
/**
|
|
11
10
|
* Computes the available height of the parent element on mount
|
|
12
|
-
*/ export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
useEffect(
|
|
11
|
+
*/ export const useParentHeight = ()=>{
|
|
12
|
+
const [height, setHeight] = useState(-1);
|
|
13
|
+
const ref = useRef();
|
|
14
|
+
useEffect(()=>{
|
|
16
15
|
if (ref.current) {
|
|
17
16
|
setHeight(getElementInnerHeight(ref.current.parentElement));
|
|
18
17
|
}
|
|
@@ -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":"
|
|
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,MAAMC,wBAAwB,CAACC;IAC3B,MAAMC,aAAaD,GAAGE,qBAAqB,GAAGC,MAAM;IACpD,MAAMC,KAAKC,iBAAiBL;IAC5B,MAAMM,UAAUC,WAAWH,GAAGI,UAAU,IAAID,WAAWH,GAAGK,aAAa;IACvE,MAAMC,SAASH,WAAWH,GAAGO,cAAc,IAAIJ,WAAWH,GAAGQ,iBAAiB;IAC9E,OAAOX,aAAaK,UAAUI;AAClC;AAEA;;CAEC,GACD,OAAO,MAAMG,kBAAkB;IAC3B,MAAM,CAACV,QAAQW,UAAU,GAAGhB,SAAS,CAAC;IACtC,MAAMiB,MAAMlB;IAEZD,UAAU;QACN,IAAImB,IAAIC,OAAO,EAAE;YACbF,UAAUf,sBAAsBgB,IAAIC,OAAO,CAACC,aAAa;QAC7D;IACJ,GAAG;QAACF,IAAIC,OAAO;KAAC;IAEhB,OAAO;QAACb;QAAQY;KAAI;AACxB,EAAE"}
|
|
@@ -1,69 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export var useRowSelection = function(table, param) {
|
|
9
|
-
var onRowSelectionChange = param.onRowSelectionChange, multiRowSelectionEnabled = param.multiRowSelectionEnabled, _param_additionalRootNodes = param.additionalRootNodes, additionalRootNodes = _param_additionalRootNodes === void 0 ? [] : _param_additionalRootNodes;
|
|
10
|
-
var outsideClickRef = useRef();
|
|
11
|
-
useClickOutside(function() {
|
|
1
|
+
import { useClickOutside, useDidUpdate } from '@mantine/hooks';
|
|
2
|
+
import { functionalUpdate } from '@tanstack/table-core';
|
|
3
|
+
import isEqual from 'fast-deep-equal';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
export const useRowSelection = (table, { onRowSelectionChange, multiRowSelectionEnabled, additionalRootNodes = [] })=>{
|
|
6
|
+
const outsideClickRef = useRef();
|
|
7
|
+
useClickOutside(()=>{
|
|
12
8
|
if (!multiRowSelectionEnabled) {
|
|
13
9
|
clearSelection();
|
|
14
10
|
}
|
|
15
11
|
}, null, [
|
|
16
|
-
outsideClickRef.current
|
|
17
|
-
|
|
12
|
+
outsideClickRef.current,
|
|
13
|
+
...additionalRootNodes
|
|
14
|
+
]);
|
|
18
15
|
// Need to call this outside of the onRowSelectionChange of the table to avoid rendering conflicts if the callback queues an update in a parent component.
|
|
19
16
|
// See this warning introduced in React v.16.13.0: https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#warnings-for-some-updates-during-render
|
|
20
|
-
useDidUpdate(
|
|
21
|
-
|
|
22
|
-
(_onRowSelectionChange = onRowSelectionChange) === null || _onRowSelectionChange === void 0 ? void 0 : _onRowSelectionChange(getSelectedRows());
|
|
17
|
+
useDidUpdate(()=>{
|
|
18
|
+
onRowSelectionChange?.(getSelectedRows());
|
|
23
19
|
}, [
|
|
24
20
|
table.getState().rowSelection
|
|
25
21
|
]);
|
|
26
|
-
table.setOptions(
|
|
27
|
-
|
|
28
|
-
onRowSelectionChange:
|
|
29
|
-
table.setState(
|
|
30
|
-
|
|
31
|
-
if (isEqual(old[
|
|
22
|
+
table.setOptions((prev)=>({
|
|
23
|
+
...prev,
|
|
24
|
+
onRowSelectionChange: (rowSelectionUpdater)=>{
|
|
25
|
+
table.setState((old)=>{
|
|
26
|
+
const newRowSelection = functionalUpdate(rowSelectionUpdater, old['rowSelection']);
|
|
27
|
+
if (isEqual(old['rowSelection'], newRowSelection)) {
|
|
32
28
|
return old;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
|
-
Object.keys(newRowSelection).forEach(
|
|
30
|
+
const rows = table.getRowModel().rowsById;
|
|
31
|
+
Object.keys(newRowSelection).forEach((rowId)=>{
|
|
36
32
|
if (newRowSelection[rowId] === true) {
|
|
37
|
-
var _rows_rowId;
|
|
38
33
|
if (!rows[rowId]) {
|
|
39
|
-
console.error(
|
|
34
|
+
console.error('The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.');
|
|
40
35
|
}
|
|
41
|
-
|
|
42
|
-
newRowSelection[rowId] = (_rows_rowId_original = (_rows_rowId = rows[rowId]) === null || _rows_rowId === void 0 ? void 0 : _rows_rowId.original) !== null && _rows_rowId_original !== void 0 ? _rows_rowId_original : true;
|
|
36
|
+
newRowSelection[rowId] = rows[rowId]?.original ?? true;
|
|
43
37
|
}
|
|
44
38
|
});
|
|
45
|
-
return
|
|
39
|
+
return {
|
|
40
|
+
...old,
|
|
46
41
|
rowSelection: newRowSelection
|
|
47
|
-
}
|
|
42
|
+
};
|
|
48
43
|
});
|
|
49
44
|
}
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
var clearSelection = function() {
|
|
45
|
+
}));
|
|
46
|
+
const clearSelection = ()=>{
|
|
53
47
|
table.resetRowSelection(true);
|
|
54
48
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
var _getSelectedRows_;
|
|
59
|
-
var getSelectedRow = function() {
|
|
60
|
-
return (_getSelectedRows_ = getSelectedRows()[0]) !== null && _getSelectedRows_ !== void 0 ? _getSelectedRows_ : null;
|
|
61
|
-
};
|
|
49
|
+
const getSelectedRows = ()=>Object.values(table.getState().rowSelection);
|
|
50
|
+
const getSelectedRow = ()=>getSelectedRows()[0] ?? null;
|
|
62
51
|
return {
|
|
63
|
-
clearSelection
|
|
64
|
-
getSelectedRow
|
|
65
|
-
getSelectedRows
|
|
66
|
-
outsideClickRef
|
|
52
|
+
clearSelection,
|
|
53
|
+
getSelectedRow,
|
|
54
|
+
getSelectedRows,
|
|
55
|
+
outsideClickRef
|
|
67
56
|
};
|
|
68
57
|
};
|
|
69
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useRowSelection.ts"],"sourcesContent":["import {useClickOutside, useDidUpdate} from '@mantine/hooks';\nimport {RowSelectionState, Table, functionalUpdate} from '@tanstack/table-core';\nimport isEqual from 'fast-deep-equal';\n\nimport {useRef} from 'react';\nimport {RowSelectionWithData, TableProps, TableState} from '../components/table/Table.types';\n\nexport const useRowSelection = <T>(\n table: Table<T>,\n {\n onRowSelectionChange,\n multiRowSelectionEnabled,\n additionalRootNodes = [],\n }: Pick<TableProps<T>, 'onRowSelectionChange' | 'multiRowSelectionEnabled' | 'additionalRootNodes'>,\n) => {\n const outsideClickRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n },\n null,\n [outsideClickRef.current, ...additionalRootNodes],\n );\n\n // Need to call this outside of the onRowSelectionChange of the table to avoid rendering conflicts if the callback queues an update in a parent component.\n // See this warning introduced in React v.16.13.0: https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#warnings-for-some-updates-during-render\n useDidUpdate(() => {\n onRowSelectionChange?.(getSelectedRows());\n }, [table.getState().rowSelection]);\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 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","useDidUpdate","functionalUpdate","isEqual","useRef","useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","additionalRootNodes","outsideClickRef","clearSelection","current","getSelectedRows","getState","rowSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","resetRowSelection","values","getSelectedRow"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useRowSelection.ts"],"sourcesContent":["import {useClickOutside, useDidUpdate} from '@mantine/hooks';\nimport {RowSelectionState, Table, functionalUpdate} from '@tanstack/table-core';\nimport isEqual from 'fast-deep-equal';\n\nimport {useRef} from 'react';\nimport {RowSelectionWithData, TableProps, TableState} from '../components/table/Table.types';\n\nexport const useRowSelection = <T>(\n table: Table<T>,\n {\n onRowSelectionChange,\n multiRowSelectionEnabled,\n additionalRootNodes = [],\n }: Pick<TableProps<T>, 'onRowSelectionChange' | 'multiRowSelectionEnabled' | 'additionalRootNodes'>,\n) => {\n const outsideClickRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n },\n null,\n [outsideClickRef.current, ...additionalRootNodes],\n );\n\n // Need to call this outside of the onRowSelectionChange of the table to avoid rendering conflicts if the callback queues an update in a parent component.\n // See this warning introduced in React v.16.13.0: https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#warnings-for-some-updates-during-render\n useDidUpdate(() => {\n onRowSelectionChange?.(getSelectedRows());\n }, [table.getState().rowSelection]);\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 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","useDidUpdate","functionalUpdate","isEqual","useRef","useRowSelection","table","onRowSelectionChange","multiRowSelectionEnabled","additionalRootNodes","outsideClickRef","clearSelection","current","getSelectedRows","getState","rowSelection","setOptions","prev","rowSelectionUpdater","setState","old","newRowSelection","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","original","resetRowSelection","values","getSelectedRow"],"mappings":"AAAA,SAAQA,eAAe,EAAEC,YAAY,QAAO,iBAAiB;AAC7D,SAAkCC,gBAAgB,QAAO,uBAAuB;AAChF,OAAOC,aAAa,kBAAkB;AAEtC,SAAQC,MAAM,QAAO,QAAQ;AAG7B,OAAO,MAAMC,kBAAkB,CAC3BC,OACA,EACIC,oBAAoB,EACpBC,wBAAwB,EACxBC,sBAAsB,EAAE,EACuE;IAEnG,MAAMC,kBAAkBN;IACxBJ,gBACI;QACI,IAAI,CAACQ,0BAA0B;YAC3BG;QACJ;IACJ,GACA,MACA;QAACD,gBAAgBE,OAAO;WAAKH;KAAoB;IAGrD,0JAA0J;IAC1J,yJAAyJ;IACzJR,aAAa;QACTM,uBAAuBM;IAC3B,GAAG;QAACP,MAAMQ,QAAQ,GAAGC,YAAY;KAAC;IAElCT,MAAMU,UAAU,CAAC,CAACC,OAAU,CAAA;YACxB,GAAGA,IAAI;YACPV,sBAAsB,CAACW;gBACnBZ,MAAMa,QAAQ,CAAC,CAACC;oBACZ,MAAMC,kBAAkBnB,iBACpBgB,qBACAE,GAAG,CAAC,eAAe;oBAGvB,IAAIjB,QAAQiB,GAAG,CAAC,eAAe,EAAEC,kBAAkB;wBAC/C,OAAOD;oBACX;oBAEA,MAAME,OAAOhB,MAAMiB,WAAW,GAAGC,QAAQ;oBAEzCC,OAAOC,IAAI,CAACL,iBAAiBM,OAAO,CAAC,CAACC;wBAClC,IAAIP,eAAe,CAACO,MAAM,KAAK,MAAM;4BACjC,IAAI,CAACN,IAAI,CAACM,MAAM,EAAE;gCACdC,QAAQC,KAAK,CACT;4BAER;4BACAT,eAAe,CAACO,MAAM,GAAGN,IAAI,CAACM,MAAM,EAAEG,YAAa;wBACvD;oBACJ;oBAEA,OAAO;wBACH,GAAGX,GAAG;wBACNL,cAAcM;oBAClB;gBACJ;YACJ;QACJ,CAAA;IAEA,MAAMV,iBAAiB;QACnBL,MAAM0B,iBAAiB,CAAC;IAC5B;IAEA,MAAMnB,kBAAkB,IAAMY,OAAOQ,MAAM,CAAC,AAAC3B,MAAMQ,QAAQ,GAAqBC,YAAY;IAE5F,MAAMmB,iBAAiB,IAAMrB,iBAAiB,CAAC,EAAE,IAAI;IAErD,OAAO;QAACF;QAAgBuB;QAAgBrB;QAAiBH;IAAe;AAC5E,EAAE"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export { Pagination } from
|
|
1
|
+
export * from '@mantine/notifications';
|
|
2
|
+
export * from '@mantine/carousel';
|
|
3
|
+
export * from '@mantine/core';
|
|
4
|
+
export * from '@mantine/hooks';
|
|
5
|
+
export * from '@tanstack/table-core';
|
|
6
|
+
export * from './components';
|
|
7
|
+
export * from '@mantine/form';
|
|
8
|
+
export { Pagination } from '@mantine/core';
|
|
9
9
|
// explicitly overriding mantine components
|
|
10
|
-
export { BrowserPreview, Header, Table, ActionIcon, Button, Menu, CopyToClipboard } from
|
|
11
|
-
export { useForm, createFormContext } from
|
|
12
|
-
export * from
|
|
10
|
+
export { BrowserPreview, Header, Table, ActionIcon, Button, Menu, CopyToClipboard } from './components';
|
|
11
|
+
export { useForm, createFormContext } from './form';
|
|
12
|
+
export * from './theme';
|
|
13
13
|
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { color } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var teal = toMantineColor(color.accent.teal);
|
|
9
|
-
var lime = [
|
|
1
|
+
import { color } from '@coveord/plasma-tokens';
|
|
2
|
+
const toMantineColor = (plasmaColor)=>Object.values(plasmaColor);
|
|
3
|
+
const navy = toMantineColor(color.primary.navy);
|
|
4
|
+
const red = toMantineColor(color.accent.red);
|
|
5
|
+
const yellow = toMantineColor(color.accent.yellow);
|
|
6
|
+
const teal = toMantineColor(color.accent.teal);
|
|
7
|
+
const lime = [
|
|
10
8
|
color.secondary.lime[0],
|
|
11
9
|
color.secondary.lime[0],
|
|
12
10
|
color.secondary.lime[0],
|
|
@@ -18,7 +16,7 @@ var lime = [
|
|
|
18
16
|
color.secondary.lime[9],
|
|
19
17
|
color.secondary.lime[9]
|
|
20
18
|
];
|
|
21
|
-
export
|
|
19
|
+
export const PlasmaColors = {
|
|
22
20
|
// Primary
|
|
23
21
|
gray: toMantineColor(color.primary.gray),
|
|
24
22
|
action: [
|
|
@@ -33,20 +31,20 @@ export var PlasmaColors = {
|
|
|
33
31
|
color.primary.action[8],
|
|
34
32
|
color.primary.action[9]
|
|
35
33
|
],
|
|
36
|
-
navy
|
|
34
|
+
navy,
|
|
37
35
|
info: navy,
|
|
38
36
|
// Accent
|
|
39
37
|
blue: toMantineColor(color.accent.blue),
|
|
40
|
-
red
|
|
38
|
+
red,
|
|
41
39
|
critical: red,
|
|
42
|
-
teal
|
|
40
|
+
teal,
|
|
43
41
|
new: teal,
|
|
44
|
-
yellow
|
|
42
|
+
yellow,
|
|
45
43
|
warning: yellow,
|
|
46
44
|
// Secondary
|
|
47
45
|
green: toMantineColor(color.secondary.green),
|
|
48
46
|
indigo: toMantineColor(color.secondary.indigo),
|
|
49
|
-
lime
|
|
47
|
+
lime,
|
|
50
48
|
success: lime,
|
|
51
49
|
purple: toMantineColor(color.secondary.purple)
|
|
52
50
|
};
|
|
@@ -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,
|
|
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,MAAMC,iBAAiB,CAACC,cACpBC,OAAOC,MAAM,CAACF;AAElB,MAAMG,OAAOJ,eAAeD,MAAMM,OAAO,CAACD,IAAI;AAC9C,MAAME,MAAMN,eAAeD,MAAMQ,MAAM,CAACD,GAAG;AAC3C,MAAME,SAASR,eAAeD,MAAMQ,MAAM,CAACC,MAAM;AACjD,MAAMC,OAAOT,eAAeD,MAAMQ,MAAM,CAACE,IAAI;AAC7C,MAAMC,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,MAAME,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;IACAW,MAAMX;IACN,SAAS;IACTY,MAAMhB,eAAeD,MAAMQ,MAAM,CAACS,IAAI;IACtCV;IACAW,UAAUX;IACVG;IACAS,KAAKT;IACLD;IACAW,SAASX;IACT,YAAY;IACZY,OAAOpB,eAAeD,MAAMY,SAAS,CAACS,KAAK;IAC3CC,QAAQrB,eAAeD,MAAMY,SAAS,CAACU,MAAM;IAC7CX;IACAY,SAASZ;IACTa,QAAQvB,eAAeD,MAAMY,SAAS,CAACY,MAAM;AACjD,EAAE"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { MantineProvider } from
|
|
3
|
-
import { plasmaTheme } from
|
|
4
|
-
export
|
|
5
|
-
var children = param.children;
|
|
6
|
-
return /*#__PURE__*/ _jsx(MantineProvider, {
|
|
2
|
+
import { MantineProvider } from '@mantine/core';
|
|
3
|
+
import { plasmaTheme } from './Theme';
|
|
4
|
+
export const Plasmantine = ({ children })=>/*#__PURE__*/ _jsx(MantineProvider, {
|
|
7
5
|
withGlobalStyles: true,
|
|
8
6
|
withNormalizeCSS: true,
|
|
9
7
|
theme: plasmaTheme,
|
|
10
8
|
children: children
|
|
11
9
|
});
|
|
12
|
-
};
|
|
13
10
|
|
|
14
11
|
//# sourceMappingURL=Plasmantine.js.map
|
|
@@ -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<unknown>> = ({children}) => (\n <MantineProvider withGlobalStyles withNormalizeCSS theme={plasmaTheme}>\n {children}\n </MantineProvider>\n);\n"],"names":["MantineProvider","plasmaTheme","Plasmantine","children","withGlobalStyles","withNormalizeCSS","theme"],"mappings":";AAAA,SAAQA,eAAe,QAAO,gBAAgB;AAG9C,SAAQC,WAAW,QAAO,UAAU;AAEpC,OAAO,
|
|
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<unknown>> = ({children}) => (\n <MantineProvider withGlobalStyles withNormalizeCSS theme={plasmaTheme}>\n {children}\n </MantineProvider>\n);\n"],"names":["MantineProvider","plasmaTheme","Plasmantine","children","withGlobalStyles","withNormalizeCSS","theme"],"mappings":";AAAA,SAAQA,eAAe,QAAO,gBAAgB;AAG9C,SAAQC,WAAW,QAAO,UAAU;AAEpC,OAAO,MAAMC,cAA6D,CAAC,EAACC,QAAQ,EAAC,iBACjF,KAACH;QAAgBI,gBAAgB;QAACC,gBAAgB;QAACC,OAAOL;kBACrDE;OAEP"}
|