@coveord/plasma-mantine 48.9.3 → 48.10.1
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 +7 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/__tests__/GlobalSetup.js.map +1 -1
- package/dist/cjs/__tests__/SetupAfterEnv.js.map +1 -1
- package/dist/cjs/__tests__/Utils.js.map +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/cjs/components/blank-slate/index.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +7 -7
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/__mocks__/@monaco-editor/react.js.map +1 -1
- package/dist/cjs/components/code-editor/__mocks__/monaco-editor.js.map +1 -1
- package/dist/cjs/components/code-editor/index.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js +8 -8
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js +7 -7
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/collection/Colllection.styles.js.map +1 -1
- package/dist/cjs/components/collection/index.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +5 -5
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +2 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/index.js.map +1 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/index.js.map +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +2 -2
- 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/InlineConfirmPrompt.js +2 -2
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js +5 -5
- 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/modal-wizard/index.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +1 -1
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/prompt/index.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/sticky-footer/index.js.map +1 -1
- package/dist/cjs/components/table/Table.js +14 -14
- package/dist/cjs/components/table/Table.js.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.js +2 -2
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.js +3 -3
- 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.js.map +1 -1
- package/dist/cjs/components/table/TablePagination.js +1 -1
- package/dist/cjs/components/table/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/TablePerPage.js +5 -5
- package/dist/cjs/components/table/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js +1 -1
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- 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/useTable.js.map +1 -1
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js +2 -2
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js +6 -6
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js +26 -16
- package/dist/cjs/theme/PlasmaColors.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.js +15 -0
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/theme/index.js.map +1 -1
- package/dist/definitions/theme/PlasmaColors.d.ts +5 -0
- package/dist/definitions/theme/PlasmaColors.d.ts.map +1 -1
- package/dist/definitions/theme/Theme.d.ts.map +1 -1
- package/dist/esm/__tests__/GlobalSetup.js.map +1 -1
- package/dist/esm/__tests__/SetupAfterEnv.js.map +1 -1
- package/dist/esm/__tests__/Utils.js.map +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/esm/components/blank-slate/index.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +7 -7
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/__mocks__/@monaco-editor/react.js.map +1 -1
- package/dist/esm/components/code-editor/__mocks__/monaco-editor.js.map +1 -1
- package/dist/esm/components/code-editor/index.js.map +1 -1
- package/dist/esm/components/collection/Collection.js +8 -8
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js +7 -7
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/collection/Colllection.styles.js.map +1 -1
- package/dist/esm/components/collection/index.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +5 -5
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +2 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/index.js.map +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/index.js.map +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -2
- 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/InlineConfirmPrompt.js +2 -2
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/index.js.map +1 -1
- package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js +5 -5
- 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/modal-wizard/index.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.js +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/prompt/index.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/sticky-footer/index.js.map +1 -1
- package/dist/esm/components/table/Table.js +14 -14
- package/dist/esm/components/table/Table.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.js +2 -2
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.js +3 -3
- 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.js.map +1 -1
- package/dist/esm/components/table/TablePagination.js +1 -1
- package/dist/esm/components/table/TablePagination.js.map +1 -1
- package/dist/esm/components/table/TablePerPage.js +5 -5
- package/dist/esm/components/table/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/TablePredicate.js +1 -1
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/Th.js.map +1 -1
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/useTable.js.map +1 -1
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useControlledList.js +2 -2
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js +6 -6
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/theme/PlasmaColors.js +26 -16
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Plasmantine.js.map +1 -1
- package/dist/esm/theme/Theme.js +15 -0
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/theme/index.js.map +1 -1
- package/package.json +7 -7
- package/src/theme/PlasmaColors.ts +27 -16
- package/src/theme/Theme.tsx +15 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/GlobalSetup.ts"],"sourcesContent":["// This file is executed once, before everything else.\nexport default () => {\n // @ts-ignore\n process.env.TZ = 'UTC';\n};\n"],"names":["process","env","TZ"],"mappings":"AAAA,sDAAsD;AACtD;;;;+BAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/GlobalSetup.ts"],"sourcesContent":["// This file is executed once, before everything else.\nexport default () => {\n // @ts-ignore\n process.env.TZ = 'UTC';\n};\n"],"names":["process","env","TZ"],"mappings":"AAAA,sDAAsD;AACtD;;;;+BAAA;;;eAAA;;;IAAA,WAAe,WAAM;IACjB,aAAa;IACbA,QAAQC,GAAG,CAACC,EAAE,GAAG;AACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/SetupAfterEnv.ts"],"sourcesContent":["/**\n * This file is executed once per test file.\n * It is executed after executing Setup and Jest is initialised, but before the test code itself.\n */\n\nimport '@testing-library/jest-dom';\nimport '@testing-library/jest-dom/extend-expect';\n\nElement.prototype.scrollTo = jest.fn();\nwindow.ResizeObserver =\n window.ResizeObserver ||\n jest.fn().mockImplementation(() => ({\n disconnect: jest.fn(),\n observe: jest.fn(),\n unobserve: jest.fn(),\n }));\n"],"names":["Element","prototype","scrollTo","jest","fn","window","ResizeObserver","mockImplementation","disconnect","observe","unobserve"],"mappings":"AAAA;;;CAGC,GAED;;;;QAAO
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/SetupAfterEnv.ts"],"sourcesContent":["/**\n * This file is executed once per test file.\n * It is executed after executing Setup and Jest is initialised, but before the test code itself.\n */\n\nimport '@testing-library/jest-dom';\nimport '@testing-library/jest-dom/extend-expect';\n\nElement.prototype.scrollTo = jest.fn();\nwindow.ResizeObserver =\n window.ResizeObserver ||\n jest.fn().mockImplementation(() => ({\n disconnect: jest.fn(),\n observe: jest.fn(),\n unobserve: jest.fn(),\n }));\n"],"names":["Element","prototype","scrollTo","jest","fn","window","ResizeObserver","mockImplementation","disconnect","observe","unobserve"],"mappings":"AAAA;;;CAGC,GAED;;;;QAAO;QACA;AAEPA,QAAQC,SAAS,CAACC,QAAQ,GAAGC,KAAKC,EAAE;AACpCC,OAAOC,cAAc,GACjBD,OAAOC,cAAc,IACrBH,KAAKC,EAAE,GAAGG,kBAAkB,CAAC;WAAO;QAChCC,YAAYL,KAAKC,EAAE;QACnBK,SAASN,KAAKC,EAAE;QAChBM,WAAWP,KAAKC,EAAE;IACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/Utils.tsx"],"sourcesContent":["import {render, RenderOptions, RenderResult} from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport {FunctionComponent, PropsWithChildren, ReactElement} from 'react';\n\nimport {Plasmantine} from '../theme';\n\nconst customRender = (ui: ReactElement, options?: Omit<RenderOptions, 'queries'>): RenderResult => {\n const TestWrapper: FunctionComponent<PropsWithChildren> = ({children}) => <Plasmantine>{children}</Plasmantine>;\n\n return render(ui, {wrapper: TestWrapper, ...options});\n};\n\nexport {userEvent};\nexport * from '@testing-library/react';\nexport {customRender as render};\n"],"names":["userEvent","render","customRender","ui","options","TestWrapper","children","Plasmantine","wrapper"],"mappings":"AAAA;;;;;;;;;;;IAYQA,SAAS;eAATA,
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/Utils.tsx"],"sourcesContent":["import {render, RenderOptions, RenderResult} from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport {FunctionComponent, PropsWithChildren, ReactElement} from 'react';\n\nimport {Plasmantine} from '../theme';\n\nconst customRender = (ui: ReactElement, options?: Omit<RenderOptions, 'queries'>): RenderResult => {\n const TestWrapper: FunctionComponent<PropsWithChildren> = ({children}) => <Plasmantine>{children}</Plasmantine>;\n\n return render(ui, {wrapper: TestWrapper, ...options});\n};\n\nexport {userEvent};\nexport * from '@testing-library/react';\nexport {customRender as render};\n"],"names":["userEvent","render","customRender","ui","options","TestWrapper","children","Plasmantine","wrapper"],"mappings":"AAAA;;;;;;;;;;;IAYQA,SAAS;eAATA,kBAAS;;IAEOC,MAAM;eAAtBC;;;;;;;iCAd0C;8DAC5B;qBAGI;AAE1B,IAAMA,eAAe,SAACC,IAAkBC,SAA2D;IAC/F,IAAMC,cAAoD;YAAEC,iBAAAA;6BAAc,qBAACC,kBAAW;sBAAED;;;IAExF,OAAOL,IAAAA,aAAM,EAACE,IAAI;QAACK,SAASH;OAAgBD;AAChD"}
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "BlankSlate", {
|
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
var _core = require("@mantine/core");
|
|
13
13
|
var BlankSlate = function(param) {
|
|
14
|
-
var children = param.children,
|
|
14
|
+
var children = param.children, _param_withBorder = param.withBorder, withBorder = _param_withBorder === void 0 ? true : _param_withBorder;
|
|
15
15
|
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Paper, {
|
|
16
16
|
shadow: withBorder && "xs",
|
|
17
17
|
p: "xl",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/blank-slate/BlankSlate.tsx"],"sourcesContent":["import {Paper, Stack} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\ninterface BlankSlateProps {\n /**\n * Whether the Blankslate render with a border\n *\n * @default true\n */\n withBorder?: boolean;\n}\n\nexport const BlankSlate: FunctionComponent<PropsWithChildren<BlankSlateProps>> = ({children, withBorder = true}) => (\n <Paper shadow={withBorder && 'xs'} p=\"xl\" withBorder={withBorder}>\n <Stack align=\"center\">{children}</Stack>\n </Paper>\n);\n"],"names":["BlankSlate","children","withBorder","Paper","shadow","p","Stack","align"],"mappings":"AAAA;;;;+BAYaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/blank-slate/BlankSlate.tsx"],"sourcesContent":["import {Paper, Stack} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\ninterface BlankSlateProps {\n /**\n * Whether the Blankslate render with a border\n *\n * @default true\n */\n withBorder?: boolean;\n}\n\nexport const BlankSlate: FunctionComponent<PropsWithChildren<BlankSlateProps>> = ({children, withBorder = true}) => (\n <Paper shadow={withBorder && 'xs'} p=\"xl\" withBorder={withBorder}>\n <Stack align=\"center\">{children}</Stack>\n </Paper>\n);\n"],"names":["BlankSlate","children","withBorder","Paper","shadow","p","Stack","align"],"mappings":"AAAA;;;;+BAYaA;;;eAAAA;;;;oBAZc;AAYpB,IAAMA,aAAoE;QAAEC,iBAAAA,oCAAUC,YAAAA,4CAAa,IAAI;yBAC1G,qBAACC,WAAK;QAACC,QAAQF,cAAc;QAAMG,GAAE;QAAKH,YAAYA;kBAClD,cAAA,qBAACI,WAAK;YAACC,OAAM;sBAAUN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/blank-slate/index.ts"],"sourcesContent":["export * from './BlankSlate';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/blank-slate/index.ts"],"sourcesContent":["export * from './BlankSlate';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc"}
|
|
@@ -40,7 +40,7 @@ var defaultProps = {
|
|
|
40
40
|
minHeight: 300
|
|
41
41
|
};
|
|
42
42
|
var CodeEditor = function(props) {
|
|
43
|
-
var
|
|
43
|
+
var _useComponentDefaultProps = (0, _core.useComponentDefaultProps)("CodeEditor", defaultProps, props), language = _useComponentDefaultProps.language, defaultValue = _useComponentDefaultProps.defaultValue, onChange = _useComponentDefaultProps.onChange, onFocus = _useComponentDefaultProps.onFocus, value = _useComponentDefaultProps.value, label = _useComponentDefaultProps.label, required = _useComponentDefaultProps.required, labelProps = _useComponentDefaultProps.labelProps, error = _useComponentDefaultProps.error, errorProps = _useComponentDefaultProps.errorProps, description = _useComponentDefaultProps.description, descriptionProps = _useComponentDefaultProps.descriptionProps, minHeight = _useComponentDefaultProps.minHeight, maxHeight = _useComponentDefaultProps.maxHeight, disabled = _useComponentDefaultProps.disabled, monacoLoader = _useComponentDefaultProps.monacoLoader, others = _objectWithoutProperties(_useComponentDefaultProps, [
|
|
44
44
|
"language",
|
|
45
45
|
"defaultValue",
|
|
46
46
|
"onChange",
|
|
@@ -58,15 +58,15 @@ var CodeEditor = function(props) {
|
|
|
58
58
|
"disabled",
|
|
59
59
|
"monacoLoader"
|
|
60
60
|
]);
|
|
61
|
-
var
|
|
62
|
-
var
|
|
63
|
-
var
|
|
61
|
+
var _useState = _slicedToArray((0, _react1.useState)(false), 2), loaded = _useState[0], setLoaded = _useState[1];
|
|
62
|
+
var _useStyles = useStyles(), classes = _useStyles.classes, theme = _useStyles.theme;
|
|
63
|
+
var _useUncontrolled = _slicedToArray((0, _hooks.useUncontrolled)({
|
|
64
64
|
value: value,
|
|
65
65
|
defaultValue: defaultValue,
|
|
66
66
|
onChange: onChange,
|
|
67
67
|
finalValue: ""
|
|
68
|
-
}), 2), _value =
|
|
69
|
-
var
|
|
68
|
+
}), 2), _value = _useUncontrolled[0], handleChange = _useUncontrolled[1];
|
|
69
|
+
var _useParentHeight = _slicedToArray((0, _hooks1.useParentHeight)(), 2), parentHeight = _useParentHeight[0], ref = _useParentHeight[1];
|
|
70
70
|
var loadLocalMonaco = function() {
|
|
71
71
|
var _ref = _asyncToGenerator(function() {
|
|
72
72
|
var monaco;
|
|
@@ -200,7 +200,7 @@ var CodeEditor = function(props) {
|
|
|
200
200
|
height: Math.max(parentHeight, minHeight),
|
|
201
201
|
maxHeight: maxHeight
|
|
202
202
|
},
|
|
203
|
-
ref:
|
|
203
|
+
ref: ref
|
|
204
204
|
}, others), {
|
|
205
205
|
children: [
|
|
206
206
|
_header,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {CheckSize16Px, CopySize16Px} from '@coveord/plasma-react-icons';\nimport {\n ActionIcon,\n Box,\n Center,\n CopyButton,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\n Loader,\n Selectors,\n Stack,\n Tooltip,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {loader} from '@monaco-editor/react';\nimport {FunctionComponent, useEffect, useState} from 'react';\n\nimport {useParentHeight} from '../../hooks';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n editor: {\n border: `1px solid ${theme.colors.gray[2]}`,\n borderRadius: theme.defaultRadius,\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n height: '100%',\n },\n}));\n\ninterface CodeEditorProps\n extends Omit<InputWrapperBaseProps, 'inputContainer' | 'inputWrapperOrder'>,\n DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python';\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const {classes, theme} = useStyles();\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n\n const loadLocalMonaco = async () => {\n const monaco = await import('monaco-editor');\n loader.config({monaco});\n setLoaded(true);\n };\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description mt=\"xs\" {...descriptionProps}>\n {description}\n </Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : null;\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _copyButton = (\n <Group position=\"right\">\n <CopyButton value={_value} timeout={2000}>\n {({copied, copy}) => (\n <Tooltip label={copied ? 'Copied' : 'Copy'} withArrow position=\"right\">\n <ActionIcon color={copied ? 'lime' : 'gray'} onClick={copy}>\n {copied ? <CheckSize16Px height={16} /> : <CopySize16Px height={16} />}\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n </Group>\n );\n\n const _editor = loaded ? (\n <Box p=\"md\" pl=\"xs\" className={classes.editor}>\n <Editor\n defaultLanguage={language}\n theme={theme.colorScheme === 'light' ? 'light' : 'vs-dark'}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n wrappingStrategy: 'advanced',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: theme.fontSizes.xs,\n readOnly: disabled,\n tabSize: 2,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor) => {\n editor.onDidFocusEditorText(onFocus);\n editor.onDidBlurEditorText(async () => {\n await editor.getAction('editor.action.formatDocument').run();\n });\n }}\n />\n </Box>\n ) : (\n <Center className={classes.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n className={classes.root}\n spacing={0}\n sx={{height: Math.max(parentHeight, minHeight), maxHeight}}\n ref={ref}\n {...others}\n >\n {_header}\n {_copyButton}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","useStyles","createStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useComponentDefaultProps","onChange","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","useState","loaded","setLoaded","classes","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","loadLocalMonaco","monaco","loader","config","useEffect","_label","Input","Label","_description","Description","mt","_error","Error","_header","Box","_copyButton","Group","position","CopyButton","timeout","copied","copy","Tooltip","withArrow","ActionIcon","color","onClick","CheckSize16Px","CopySize16Px","_editor","p","pl","className","Editor","defaultLanguage","options","minimap","enabled","wordWrap","wrappingStrategy","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","Center","Loader","Stack","justify","spacing","sx","Math","max"],"mappings":"AAAA;;;;+BAmFaA,YAAU;;;eAAVA,UAAU;;;;;;;;;;;gCAnFmB,6BAA6B;oBAgBhE,eAAe;qBACQ,gBAAgB;2DACjB,sBAAsB;sBACE,OAAO;sBAE9B,aAAa;AAE3C,IAAMC,SAAS,GAAGC,IAAAA,KAAY,aAAA,EAAC,SAACC,KAAK;WAAM;QACvCC,IAAI,EAAE,EAAE;QACRC,MAAM,EAAE;YACJC,MAAM,EAAE,AAAC,YAAU,CAAuB,MAAA,CAArBH,KAAK,CAACI,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC,CAAE;YAC3CC,YAAY,EAAEN,KAAK,CAACO,aAAa;YACjCC,eAAe,EAAER,KAAK,CAACS,WAAW,KAAK,OAAO,GAAGT,KAAK,CAACU,KAAK,GAAGV,KAAK,CAACW,KAAK;YAC1EC,MAAM,EAAE,MAAM;SACjB;KACJ;CAAC,CAAC,AAAC;AA6CJ,IAAMC,YAAY,GAA6B;IAC3CC,QAAQ,EAAE,WAAW;IACrBC,YAAY,EAAE,OAAO;IACrBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,GAAG;CACjB,AAAC;AAEK,IAAMpB,UAAU,GAAuC,SAACqB,KAAK,EAAK;IACrE,IAkBIC,IAA2D,GAA3DA,IAAAA,KAAwB,yBAAA,EAAC,YAAY,EAAEN,YAAY,EAAEK,KAAK,CAAC,EAjB3DJ,QAAQ,GAiBRK,IAA2D,CAjB3DL,QAAQ,EACRE,YAAY,GAgBZG,IAA2D,CAhB3DH,YAAY,EACZI,QAAQ,GAeRD,IAA2D,CAf3DC,QAAQ,EACRC,OAAO,GAcPF,IAA2D,CAd3DE,OAAO,EACPC,KAAK,GAaLH,IAA2D,CAb3DG,KAAK,EACLC,KAAK,GAYLJ,IAA2D,CAZ3DI,KAAK,EACLC,QAAQ,GAWRL,IAA2D,CAX3DK,QAAQ,EACRC,UAAU,GAUVN,IAA2D,CAV3DM,UAAU,EACVC,KAAK,GASLP,IAA2D,CAT3DO,KAAK,EACLC,UAAU,GAQVR,IAA2D,CAR3DQ,UAAU,EACVC,WAAW,GAOXT,IAA2D,CAP3DS,WAAW,EACXC,gBAAgB,GAMhBV,IAA2D,CAN3DU,gBAAgB,EAChBZ,SAAS,GAKTE,IAA2D,CAL3DF,SAAS,EACTa,SAAS,GAITX,IAA2D,CAJ3DW,SAAS,EACTC,QAAQ,GAGRZ,IAA2D,CAH3DY,QAAQ,EACRhB,YAAY,GAEZI,IAA2D,CAF3DJ,YAAY,EACTiB,MAAM,4BACTb,IAA2D;QAjB3DL,UAAQ;QACRE,cAAY;QACZI,UAAQ;QACRC,SAAO;QACPC,OAAK;QACLC,OAAK;QACLC,UAAQ;QACRC,YAAU;QACVC,OAAK;QACLC,YAAU;QACVC,aAAW;QACXC,kBAAgB;QAChBZ,WAAS;QACTa,WAAS;QACTC,UAAQ;QACRhB,cAAY;MAEgD;IAChE,IAA4BkB,GAAe,kBAAfA,IAAAA,OAAQ,SAAA,EAAC,KAAK,CAAC,IAAA,EAApCC,MAAM,GAAeD,GAAe,GAA9B,EAAEE,SAAS,GAAIF,GAAe,GAAnB,AAAoB;IAC5C,IAAyBnC,IAAW,GAAXA,SAAS,EAAE,EAA7BsC,OAAO,GAAWtC,IAAW,CAA7BsC,OAAO,EAAEpC,KAAK,GAAIF,IAAW,CAApBE,KAAK,AAAgB;IACrC,IAA+BqC,IAK7B,kBAL6BA,IAAAA,MAAe,gBAAA,EAAS;QACnDf,KAAK,EAALA,KAAK;QACLN,YAAY,EAAZA,YAAY;QACZI,QAAQ,EAARA,QAAQ;QACRkB,UAAU,EAAE,EAAE;KACjB,CAAC,IAAA,EALKC,MAAM,GAAkBF,IAK7B,GALW,EAAEG,YAAY,GAAIH,IAK7B,GALyB,AAKxB;IACH,IAA4BI,IAAiB,kBAAjBA,IAAAA,OAAe,gBAAA,GAAE,IAAA,EAAtCC,YAAY,GAASD,IAAiB,GAA1B,EAAEE,IAAG,GAAIF,IAAiB,GAArB,AAAsB;IAE9C,IAAMG,eAAe;mBAAG,kBAAA,WAAY;gBAC1BC,MAAM;;;;wBAAG;;4BAAM;6EAAA,OAAM,CAAC,eAAe;8BAAC;0BAAA;;wBAAtCA,MAAM,GAAG,aAA6B,CAAA;wBAC5CC,MAAM,OAAA,CAACC,MAAM,CAAC;4BAACF,MAAM,EAANA,MAAM;yBAAC,CAAC,CAAC;wBACxBV,SAAS,CAAC,IAAI,CAAC,CAAC;;;;;;QACpB,CAAC,CAAA;wBAJKS,eAAe;;;OAIpB,AAAC;IAEFI,IAAAA,OAAS,UAAA,EAAC,WAAM;QACZ,IAAIjC,YAAY,KAAK,OAAO,EAAE;YAC1B6B,eAAe,EAAE,CAAC;QACtB,OAAO;YACHT,SAAS,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAMc,MAAM,GAAG1B,KAAK,iBAChB,qBAAC2B,KAAK,MAAA,CAACC,KAAK;QAAC3B,QAAQ,EAAEA,QAAQ;OAAMC,UAAU;kBAC1CF,KAAK;OACI,GACd,IAAI,AAAC;IAET,IAAM6B,YAAY,GAAGxB,WAAW,iBAC5B,qBAACsB,KAAK,MAAA,CAACG,WAAW;QAACC,EAAE,EAAC,IAAI;OAAKzB,gBAAgB;kBAC1CD,WAAW;OACI,GACpB,IAAI,AAAC;IAET,IAAM2B,MAAM,GAAG7B,KAAK,iBAChB,qBAACwB,KAAK,MAAA,CAACM,KAAK;QAACF,EAAE,EAAC,IAAI;OAAK3B,UAAU;kBAC9BD,KAAK;OACI,GACd,IAAI,AAAC;IAET,IAAM+B,OAAO,GACTR,MAAM,IAAIG,YAAY,iBAClB,sBAACM,KAAG,IAAA;;YACCT,MAAM;YACNG,YAAY;;MACX,GACN,IAAI,AAAC;IAEb,IAAMO,WAAW,iBACb,qBAACC,KAAK,MAAA;QAACC,QAAQ,EAAC,OAAO;kBACnB,cAAA,qBAACC,KAAU,WAAA;YAACxC,KAAK,EAAEiB,MAAM;YAAEwB,OAAO,EAAE,IAAI;sBACnC;oBAAEC,MAAM,SAANA,MAAM,EAAEC,IAAI,SAAJA,IAAI;qCACX,qBAACC,KAAO,QAAA;oBAAC3C,KAAK,EAAEyC,MAAM,GAAG,QAAQ,GAAG,MAAM;oBAAEG,SAAS;oBAACN,QAAQ,EAAC,OAAO;8BAClE,cAAA,qBAACO,KAAU,WAAA;wBAACC,KAAK,EAAEL,MAAM,GAAG,MAAM,GAAG,MAAM;wBAAEM,OAAO,EAAEL,IAAI;kCACrDD,MAAM,iBAAG,qBAACO,iBAAa,cAAA;4BAAC3D,MAAM,EAAE,EAAE;0BAAI,iBAAG,qBAAC4D,iBAAY,aAAA;4BAAC5D,MAAM,EAAE,EAAE;0BAAI;sBAC7D;kBACP;aACb;UACQ;MACT,AACX,AAAC;IAEF,IAAM6D,OAAO,GAAGvC,MAAM,iBAClB,qBAACwB,KAAG,IAAA;QAACgB,CAAC,EAAC,IAAI;QAACC,EAAE,EAAC,IAAI;QAACC,SAAS,EAAExC,OAAO,CAAClC,MAAM;kBACzC,cAAA,qBAAC2E,MAAM,QAAA;YACHC,eAAe,EAAEhE,QAAQ;YACzBd,KAAK,EAAEA,KAAK,CAACS,WAAW,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS;YAC1DsE,OAAO,EAAE;gBACLC,OAAO,EAAE;oBAACC,OAAO,EAAE,KAAK;iBAAC;gBACzBC,QAAQ,EAAE,IAAI;gBACdC,gBAAgB,EAAE,UAAU;gBAC5BC,oBAAoB,EAAE,KAAK;gBAC3BC,aAAa,EAAE,IAAI;gBACnBC,QAAQ,EAAEtF,KAAK,CAACuF,SAAS,CAACC,EAAE;gBAC5BC,QAAQ,EAAE1D,QAAQ;gBAClB2D,OAAO,EAAE,CAAC;aACb;YACDpE,KAAK,EAAEiB,MAAM;YACbnB,QAAQ,EAAEoB,YAAY;YACtBmD,OAAO,EAAE,SAACzF,MAAM,EAAK;gBACjBA,MAAM,CAAC0F,oBAAoB,CAACvE,OAAO,CAAC,CAAC;gBACrCnB,MAAM,CAAC2F,mBAAmB,eAAC,kBAAA,WAAY;;;;gCACnC;;oCAAM3F,MAAM,CAAC4F,SAAS,CAAC,8BAA8B,CAAC,CAACC,GAAG,EAAE;kCAAA;;gCAA5D,aAA4D,CAAC;;;;;;gBACjE,CAAC,CAAA,CAAC,CAAC;YACP,CAAC;UACH;MACA,iBAEN,qBAACC,KAAM,OAAA;QAACpB,SAAS,EAAExC,OAAO,CAAClC,MAAM;kBAC7B,cAAA,qBAAC+F,KAAM,OAAA,KAAG;MACL,AACZ,AAAC;IAEF,qBACI,sBAACC,KAAK,MAAA;QACFC,OAAO,EAAC,YAAY;QACpBvB,SAAS,EAAExC,OAAO,CAACnC,IAAI;QACvBmG,OAAO,EAAE,CAAC;QACVC,EAAE,EAAE;YAACzF,MAAM,EAAE0F,IAAI,CAACC,GAAG,CAAC7D,YAAY,EAAEzB,SAAS,CAAC;YAAEa,SAAS,EAATA,SAAS;SAAC;QAC1Da,GAAG,EAAEA,IAAG;OACJX,MAAM;;YAETyB,OAAO;YACPE,WAAW;YACXc,OAAO;YACPlB,MAAM;;OACH,CACV;AACN,CAAC,AAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {CheckSize16Px, CopySize16Px} from '@coveord/plasma-react-icons';\nimport {\n ActionIcon,\n Box,\n Center,\n CopyButton,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\n Loader,\n Selectors,\n Stack,\n Tooltip,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {loader} from '@monaco-editor/react';\nimport {FunctionComponent, useEffect, useState} from 'react';\n\nimport {useParentHeight} from '../../hooks';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n editor: {\n border: `1px solid ${theme.colors.gray[2]}`,\n borderRadius: theme.defaultRadius,\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n height: '100%',\n },\n}));\n\ninterface CodeEditorProps\n extends Omit<InputWrapperBaseProps, 'inputContainer' | 'inputWrapperOrder'>,\n DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python';\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const {classes, theme} = useStyles();\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n\n const loadLocalMonaco = async () => {\n const monaco = await import('monaco-editor');\n loader.config({monaco});\n setLoaded(true);\n };\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description mt=\"xs\" {...descriptionProps}>\n {description}\n </Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : null;\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _copyButton = (\n <Group position=\"right\">\n <CopyButton value={_value} timeout={2000}>\n {({copied, copy}) => (\n <Tooltip label={copied ? 'Copied' : 'Copy'} withArrow position=\"right\">\n <ActionIcon color={copied ? 'lime' : 'gray'} onClick={copy}>\n {copied ? <CheckSize16Px height={16} /> : <CopySize16Px height={16} />}\n </ActionIcon>\n </Tooltip>\n )}\n </CopyButton>\n </Group>\n );\n\n const _editor = loaded ? (\n <Box p=\"md\" pl=\"xs\" className={classes.editor}>\n <Editor\n defaultLanguage={language}\n theme={theme.colorScheme === 'light' ? 'light' : 'vs-dark'}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n wrappingStrategy: 'advanced',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: theme.fontSizes.xs,\n readOnly: disabled,\n tabSize: 2,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor) => {\n editor.onDidFocusEditorText(onFocus);\n editor.onDidBlurEditorText(async () => {\n await editor.getAction('editor.action.formatDocument').run();\n });\n }}\n />\n </Box>\n ) : (\n <Center className={classes.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n className={classes.root}\n spacing={0}\n sx={{height: Math.max(parentHeight, minHeight), maxHeight}}\n ref={ref}\n {...others}\n >\n {_header}\n {_copyButton}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","useStyles","createStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useComponentDefaultProps","onChange","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","useState","loaded","setLoaded","classes","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","loadLocalMonaco","monaco","loader","config","useEffect","_label","Input","Label","_description","Description","mt","_error","Error","_header","Box","_copyButton","Group","position","CopyButton","timeout","copied","copy","Tooltip","withArrow","ActionIcon","color","onClick","CheckSize16Px","CopySize16Px","_editor","p","pl","className","Editor","defaultLanguage","options","minimap","enabled","wordWrap","wrappingStrategy","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","Center","Loader","Stack","justify","spacing","sx","Math","max"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/code-editor/__mocks__/@monaco-editor/react.tsx"],"sourcesContent":["import {type EditorProps} from '@monaco-editor/react';\nimport {FunctionComponent} from 'react';\n\nconst MockedEditor: FunctionComponent<EditorProps> = (props) => <div data-testid=\"monaco-editor\" />;\n\nexport default MockedEditor;\n\nexport const loader = {\n config: jest.fn(),\n};\n"],"names":["loader","MockedEditor","props","div","data-testid","config","jest","fn"],"mappings":"AAAA;;;;;;;;;;;IAKA,OAA4B;eAA5B
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/code-editor/__mocks__/@monaco-editor/react.tsx"],"sourcesContent":["import {type EditorProps} from '@monaco-editor/react';\nimport {FunctionComponent} from 'react';\n\nconst MockedEditor: FunctionComponent<EditorProps> = (props) => <div data-testid=\"monaco-editor\" />;\n\nexport default MockedEditor;\n\nexport const loader = {\n config: jest.fn(),\n};\n"],"names":["loader","MockedEditor","props","div","data-testid","config","jest","fn"],"mappings":"AAAA;;;;;;;;;;;IAKA,OAA4B;eAA5B;;IAEaA,MAAM;eAANA;;;;AAJb,IAAMC,eAA+C,SAACC;yBAAU,qBAACC;QAAIC,eAAY;;;IAEjF,WAAeH;AAER,IAAMD,SAAS;IAClBK,QAAQC,KAAKC,EAAE;AACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/code-editor/__mocks__/monaco-editor.ts"],"sourcesContent":["const editor = {\n create: () => ({\n dispose: (): void => null,\n }),\n};\n\nexport const monaco = {\n editor,\n};\n"],"names":["monaco","editor","create","dispose"],"mappings":"AAAA;;;;+BAMaA
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/code-editor/__mocks__/monaco-editor.ts"],"sourcesContent":["const editor = {\n create: () => ({\n dispose: (): void => null,\n }),\n};\n\nexport const monaco = {\n editor,\n};\n"],"names":["monaco","editor","create","dispose"],"mappings":"AAAA;;;;+BAMaA;;;eAAAA;;;AANb,IAAMC,SAAS;IACXC,QAAQ;eAAO;YACXC,SAAS;uBAAY,IAAI;;QAC7B;;AACJ;AAEO,IAAMH,SAAS;IAClBC,QAAAA;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/code-editor/index.ts"],"sourcesContent":["export * from './CodeEditor';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/code-editor/index.ts"],"sourcesContent":["export * from './CodeEditor';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc"}
|
|
@@ -30,8 +30,8 @@ var defaultProps = {
|
|
|
30
30
|
required: false
|
|
31
31
|
};
|
|
32
32
|
var Collection = function(props) {
|
|
33
|
-
var
|
|
34
|
-
classNames =
|
|
33
|
+
var _useComponentDefaultProps = (0, _core.useComponentDefaultProps)("Collection", defaultProps, props), value = _useComponentDefaultProps.value, defaultValue = _useComponentDefaultProps.defaultValue, onChange = _useComponentDefaultProps.onChange, onRemoveItem = _useComponentDefaultProps.onRemoveItem, disabled = _useComponentDefaultProps.disabled, draggable = _useComponentDefaultProps.draggable, children = _useComponentDefaultProps.children, spacing = _useComponentDefaultProps.spacing, required = _useComponentDefaultProps.required, newItem = _useComponentDefaultProps.newItem, addLabel = _useComponentDefaultProps.addLabel, addDisabledTooltip = _useComponentDefaultProps.addDisabledTooltip, allowAdd = _useComponentDefaultProps.allowAdd, // Style props
|
|
34
|
+
classNames = _useComponentDefaultProps.classNames, className = _useComponentDefaultProps.className, styles = _useComponentDefaultProps.styles, unstyled = _useComponentDefaultProps.unstyled, others = _objectWithoutProperties(_useComponentDefaultProps, [
|
|
35
35
|
"value",
|
|
36
36
|
"defaultValue",
|
|
37
37
|
"onChange",
|
|
@@ -50,18 +50,18 @@ var Collection = function(props) {
|
|
|
50
50
|
"styles",
|
|
51
51
|
"unstyled"
|
|
52
52
|
]);
|
|
53
|
-
var
|
|
53
|
+
var _useStyles = (0, _colllectionStyles.default)(null, {
|
|
54
54
|
classNames: classNames,
|
|
55
55
|
name: "Collection",
|
|
56
56
|
styles: styles,
|
|
57
57
|
unstyled: unstyled
|
|
58
|
-
}), classes =
|
|
58
|
+
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
59
59
|
var collectionID = (0, _hooks.useId)("dnd-droppable");
|
|
60
|
-
var
|
|
60
|
+
var _useControlledList = _slicedToArray((0, _hooks1.useControlledList)({
|
|
61
61
|
value: value,
|
|
62
62
|
onChange: onChange,
|
|
63
63
|
defaultValue: defaultValue
|
|
64
|
-
}), 2), values =
|
|
64
|
+
}), 2), values = _useControlledList[0], _useControlledList_ = _useControlledList[1], append = _useControlledList_.append, remove = _useControlledList_.remove, reorder = _useControlledList_.reorder;
|
|
65
65
|
var hasOnlyOneItem = values.length === 1;
|
|
66
66
|
var removeItem = function(index) {
|
|
67
67
|
return function() {
|
|
@@ -80,8 +80,8 @@ var Collection = function(props) {
|
|
|
80
80
|
children: children(item, index)
|
|
81
81
|
}, index);
|
|
82
82
|
});
|
|
83
|
-
var
|
|
84
|
-
var addAllowed = (
|
|
83
|
+
var _ref;
|
|
84
|
+
var addAllowed = (_ref = allowAdd === null || allowAdd === void 0 ? void 0 : allowAdd(values)) !== null && _ref !== void 0 ? _ref : true;
|
|
85
85
|
var _addButton = disabled ? null : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, {
|
|
86
86
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Tooltip, {
|
|
87
87
|
label: addDisabledTooltip,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {AddSize16Px} from '@coveord/plasma-react-icons';\nimport {\n Box,\n Button,\n DefaultProps,\n Group,\n MantineNumberSize,\n Selectors,\n Stack,\n Tooltip,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useId} from '@mantine/hooks';\nimport {ReactNode} from 'react';\nimport {DragDropContext, Droppable} from 'react-beautiful-dnd';\n\nimport {useControlledList} from '../../hooks';\nimport {CollectionItem} from './CollectionItem';\nimport useStyles from './Colllection.styles';\n\ninterface CollectionProps<T> extends DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * The initial items of the collection (for uncontrolled usage only)\n */\n defaultValue?: T[];\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The spacing between the colleciton items\n *\n * @default 'xs'\n */\n spacing?: MantineNumberSize;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n spacing: 'xs',\n required: false,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T>) => {\n const {\n value,\n defaultValue,\n onChange,\n onRemoveItem,\n disabled,\n draggable,\n children,\n spacing,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n\n // Style props\n classNames,\n className,\n styles,\n unstyled,\n\n ...others\n } = useComponentDefaultProps('Collection', defaultProps as CollectionProps<T>, props);\n const {classes, cx} = useStyles(null, {classNames, name: 'Collection', styles, unstyled});\n const collectionID = useId('dnd-droppable');\n\n const [values, {append, remove, reorder}] = useControlledList({value, onChange, defaultValue});\n const hasOnlyOneItem = values.length === 1;\n const removeItem = (index: number) => () => {\n remove(index);\n onRemoveItem?.(index);\n };\n\n const items = values.map((item, index) => (\n <CollectionItem\n key={index}\n disabled={disabled}\n draggable={draggable}\n index={index}\n onRemove={removeItem(index)}\n styles={styles}\n removable={!(required && hasOnlyOneItem)}\n >\n {children(item, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(values) ?? true;\n\n const _addButton = disabled ? null : (\n <Group>\n <Tooltip label={addDisabledTooltip} disabled={addAllowed}>\n <Box>\n <Button\n variant=\"subtle\"\n leftIcon={<AddSize16Px height={16} />}\n onClick={() => append(newItem)}\n disabled={!addAllowed}\n >\n {addLabel}\n </Button>\n </Box>\n </Tooltip>\n </Group>\n );\n\n return (\n <DragDropContext\n onDragEnd={({destination, source}) => reorder({from: source.index, to: destination?.index || 0})}\n >\n <Droppable direction=\"vertical\" droppableId={collectionID}>\n {(provided) => (\n <Box\n {...provided.droppableProps}\n ref={provided.innerRef}\n className={cx(classes.root, className)}\n {...others}\n >\n <Stack spacing={spacing}>\n {items}\n {provided.placeholder}\n {_addButton}\n </Stack>\n </Box>\n )}\n </Droppable>\n </DragDropContext>\n );\n};\n"],"names":["Collection","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","spacing","required","props","useComponentDefaultProps","value","defaultValue","onChange","onRemoveItem","children","newItem","allowAdd","classNames","className","styles","unstyled","others","useStyles","name","classes","cx","collectionID","useId","useControlledList","values","append","remove","reorder","hasOnlyOneItem","length","removeItem","index","items","map","item","CollectionItem","onRemove","removable","addAllowed","_addButton","Group","Tooltip","label","Box","Button","variant","leftIcon","AddSize16Px","height","onClick","DragDropContext","onDragEnd","destination","source","from","to","Droppable","direction","droppableId","provided","droppableProps","ref","innerRef","root","Stack","placeholder"],"mappings":"AAAA;;;;+BAgHaA,YAAU;;;eAAVA,UAAU;;;;;;;;;gCAhHG,6BAA6B;oBAWhD,eAAe;qBACF,gBAAgB;iCAEK,qBAAqB;sBAE9B,aAAa;8BAChB,kBAAkB;sEACzB,sBAAsB;AAqF5C,IAAMC,YAAY,GAAsC;IACpDC,SAAS,EAAE,KAAK;IAChBC,QAAQ,EAAE,UAAU;IACpBC,kBAAkB,EAAE,gCAAgC;IACpDC,QAAQ,EAAE,KAAK;IACfC,OAAO,EAAE,IAAI;IACbC,QAAQ,EAAE,KAAK;CAClB,AAAC;AAEK,IAAMP,UAAU,GAAG,SAAKQ,KAAyB,EAAK;IACzD,IAsBIC,IAAiF,GAAjFA,IAAAA,KAAwB,yBAAA,EAAC,YAAY,EAAER,YAAY,EAAwBO,KAAK,CAAC,EArBjFE,KAAK,GAqBLD,IAAiF,CArBjFC,KAAK,EACLC,YAAY,GAoBZF,IAAiF,CApBjFE,YAAY,EACZC,QAAQ,GAmBRH,IAAiF,CAnBjFG,QAAQ,EACRC,YAAY,GAkBZJ,IAAiF,CAlBjFI,YAAY,EACZR,QAAQ,GAiBRI,IAAiF,CAjBjFJ,QAAQ,EACRH,SAAS,GAgBTO,IAAiF,CAhBjFP,SAAS,EACTY,QAAQ,GAeRL,IAAiF,CAfjFK,QAAQ,EACRR,OAAO,GAcPG,IAAiF,CAdjFH,OAAO,EACPC,QAAQ,GAaRE,IAAiF,CAbjFF,QAAQ,EACRQ,OAAO,GAYPN,IAAiF,CAZjFM,OAAO,EACPZ,QAAQ,GAWRM,IAAiF,CAXjFN,QAAQ,EACRC,kBAAkB,GAUlBK,IAAiF,CAVjFL,kBAAkB,EAClBY,QAAQ,GASRP,IAAiF,CATjFO,QAAQ,EAER,cAAc;IACdC,UAAU,GAMVR,IAAiF,CANjFQ,UAAU,EACVC,SAAS,GAKTT,IAAiF,CALjFS,SAAS,EACTC,MAAM,GAINV,IAAiF,CAJjFU,MAAM,EACNC,QAAQ,GAGRX,IAAiF,CAHjFW,QAAQ,EAELC,MAAM,4BACTZ,IAAiF;QArBjFC,OAAK;QACLC,cAAY;QACZC,UAAQ;QACRC,cAAY;QACZR,UAAQ;QACRH,WAAS;QACTY,UAAQ;QACRR,SAAO;QACPC,UAAQ;QACRQ,SAAO;QACPZ,UAAQ;QACRC,oBAAkB;QAClBY,UAAQ;QAGRC,YAAU;QACVC,WAAS;QACTC,QAAM;QACNC,UAAQ;MAG0E;IACtF,IAAsBE,GAAmE,GAAnEA,IAAAA,kBAAS,QAAA,EAAC,IAAI,EAAE;QAACL,UAAU,EAAVA,UAAU;QAAEM,IAAI,EAAE,YAAY;QAAEJ,MAAM,EAANA,MAAM;QAAEC,QAAQ,EAARA,QAAQ;KAAC,CAAC,EAAlFI,OAAO,GAAQF,GAAmE,CAAlFE,OAAO,EAAEC,EAAE,GAAIH,GAAmE,CAAzEG,EAAE,AAAwE;IAC1F,IAAMC,YAAY,GAAGC,IAAAA,MAAK,MAAA,EAAC,eAAe,CAAC,AAAC;IAE5C,IAA4CC,IAAkD,kBAAlDA,IAAAA,OAAiB,kBAAA,EAAC;QAAClB,KAAK,EAALA,KAAK;QAAEE,QAAQ,EAARA,QAAQ;QAAED,YAAY,EAAZA,YAAY;KAAC,CAAC,IAAA,EAAvFkB,MAAM,GAA+BD,IAAkD,GAAjF,SAA+BA,IAAkD,KAA9EE,MAAM,QAANA,MAAM,EAAEC,MAAM,QAANA,MAAM,EAAEC,OAAO,QAAPA,OAAO,AAAwD;IAC/F,IAAMC,cAAc,GAAGJ,MAAM,CAACK,MAAM,KAAK,CAAC,AAAC;IAC3C,IAAMC,UAAU,GAAG,SAACC,KAAa;QAAK,OAAA,WAAM;YACxCL,MAAM,CAACK,KAAK,CAAC,CAAC;YACdvB,YAAY,aAAZA,YAAY,WAAS,GAArBA,KAAAA,CAAqB,GAArBA,YAAY,CAAGuB,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAA;KAAA,AAAC;IAEF,IAAMC,KAAK,GAAGR,MAAM,CAACS,GAAG,CAAC,SAACC,IAAI,EAAEH,KAAK;6BACjC,qBAACI,eAAc,eAAA;YAEXnC,QAAQ,EAAEA,QAAQ;YAClBH,SAAS,EAAEA,SAAS;YACpBkC,KAAK,EAAEA,KAAK;YACZK,QAAQ,EAAEN,UAAU,CAACC,KAAK,CAAC;YAC3BjB,MAAM,EAAEA,MAAM;YACduB,SAAS,EAAE,CAAEnC,CAAAA,QAAQ,IAAI0B,cAAc,CAAA,AAAC;sBAEvCnB,QAAQ,CAACyB,IAAI,EAAEH,KAAK,CAAC;WARjBA,KAAK,CASG;KACpB,CAAC,AAAC;QAEgBpB,IAAkB;IAArC,IAAM2B,UAAU,GAAG3B,CAAAA,IAAkB,GAAlBA,QAAQ,aAARA,QAAQ,WAAU,GAAlBA,KAAAA,CAAkB,GAAlBA,QAAQ,CAAGa,MAAM,CAAC,cAAlBb,IAAkB,cAAlBA,IAAkB,GAAI,IAAI,AAAC;IAE9C,IAAM4B,UAAU,GAAGvC,QAAQ,GAAG,IAAI,iBAC9B,qBAACwC,KAAK,MAAA;kBACF,cAAA,qBAACC,KAAO,QAAA;YAACC,KAAK,EAAE3C,kBAAkB;YAAEC,QAAQ,EAAEsC,UAAU;sBACpD,cAAA,qBAACK,KAAG,IAAA;0BACA,cAAA,qBAACC,KAAM,OAAA;oBACHC,OAAO,EAAC,QAAQ;oBAChBC,QAAQ,gBAAE,qBAACC,iBAAW,YAAA;wBAACC,MAAM,EAAE,EAAE;sBAAI;oBACrCC,OAAO,EAAE;+BAAMxB,MAAM,CAACf,OAAO,CAAC;qBAAA;oBAC9BV,QAAQ,EAAE,CAACsC,UAAU;8BAEpBxC,QAAQ;kBACJ;cACP;UACA;MACN,AACX,AAAC;IAEF,qBACI,qBAACoD,kBAAe,gBAAA;QACZC,SAAS,EAAE;gBAAEC,WAAW,SAAXA,WAAW,EAAEC,MAAM,SAANA,MAAM;YAAM1B,OAAAA,OAAO,CAAC;gBAAC2B,IAAI,EAAED,MAAM,CAACtB,KAAK;gBAAEwB,EAAE,EAAEH,CAAAA,WAAW,aAAXA,WAAW,WAAO,GAAlBA,KAAAA,CAAkB,GAAlBA,WAAW,CAAErB,KAAK,CAAA,IAAI,CAAC;aAAC,CAAC,CAAA;SAAA;kBAEhG,cAAA,qBAACyB,kBAAS,UAAA;YAACC,SAAS,EAAC,UAAU;YAACC,WAAW,EAAErC,YAAY;sBACpD,SAACsC,QAAQ;qCACN,qBAAChB,KAAG,IAAA,wEACIgB,QAAQ,CAACC,cAAc;oBAC3BC,GAAG,EAAEF,QAAQ,CAACG,QAAQ;oBACtBjD,SAAS,EAAEO,EAAE,CAACD,OAAO,CAAC4C,IAAI,EAAElD,SAAS,CAAC;oBAClCG,MAAM;8BAEV,cAAA,sBAACgD,KAAK,MAAA;wBAAC/D,OAAO,EAAEA,OAAO;;4BAClB+B,KAAK;4BACL2B,QAAQ,CAACM,WAAW;4BACpB1B,UAAU;;sBACP;mBACN;aACT;UACO;MACE,CACpB;AACN,CAAC,AAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {AddSize16Px} from '@coveord/plasma-react-icons';\nimport {\n Box,\n Button,\n DefaultProps,\n Group,\n MantineNumberSize,\n Selectors,\n Stack,\n Tooltip,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useId} from '@mantine/hooks';\nimport {ReactNode} from 'react';\nimport {DragDropContext, Droppable} from 'react-beautiful-dnd';\n\nimport {useControlledList} from '../../hooks';\nimport {CollectionItem} from './CollectionItem';\nimport useStyles from './Colllection.styles';\n\ninterface CollectionProps<T> extends DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * The initial items of the collection (for uncontrolled usage only)\n */\n defaultValue?: T[];\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The spacing between the colleciton items\n *\n * @default 'xs'\n */\n spacing?: MantineNumberSize;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n spacing: 'xs',\n required: false,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T>) => {\n const {\n value,\n defaultValue,\n onChange,\n onRemoveItem,\n disabled,\n draggable,\n children,\n spacing,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n\n // Style props\n classNames,\n className,\n styles,\n unstyled,\n\n ...others\n } = useComponentDefaultProps('Collection', defaultProps as CollectionProps<T>, props);\n const {classes, cx} = useStyles(null, {classNames, name: 'Collection', styles, unstyled});\n const collectionID = useId('dnd-droppable');\n\n const [values, {append, remove, reorder}] = useControlledList({value, onChange, defaultValue});\n const hasOnlyOneItem = values.length === 1;\n const removeItem = (index: number) => () => {\n remove(index);\n onRemoveItem?.(index);\n };\n\n const items = values.map((item, index) => (\n <CollectionItem\n key={index}\n disabled={disabled}\n draggable={draggable}\n index={index}\n onRemove={removeItem(index)}\n styles={styles}\n removable={!(required && hasOnlyOneItem)}\n >\n {children(item, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(values) ?? true;\n\n const _addButton = disabled ? null : (\n <Group>\n <Tooltip label={addDisabledTooltip} disabled={addAllowed}>\n <Box>\n <Button\n variant=\"subtle\"\n leftIcon={<AddSize16Px height={16} />}\n onClick={() => append(newItem)}\n disabled={!addAllowed}\n >\n {addLabel}\n </Button>\n </Box>\n </Tooltip>\n </Group>\n );\n\n return (\n <DragDropContext\n onDragEnd={({destination, source}) => reorder({from: source.index, to: destination?.index || 0})}\n >\n <Droppable direction=\"vertical\" droppableId={collectionID}>\n {(provided) => (\n <Box\n {...provided.droppableProps}\n ref={provided.innerRef}\n className={cx(classes.root, className)}\n {...others}\n >\n <Stack spacing={spacing}>\n {items}\n {provided.placeholder}\n {_addButton}\n </Stack>\n </Box>\n )}\n </Droppable>\n </DragDropContext>\n );\n};\n"],"names":["Collection","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","spacing","required","props","useComponentDefaultProps","value","defaultValue","onChange","onRemoveItem","children","newItem","allowAdd","classNames","className","styles","unstyled","others","useStyles","name","classes","cx","collectionID","useId","useControlledList","values","append","remove","reorder","hasOnlyOneItem","length","removeItem","index","items","map","item","CollectionItem","onRemove","removable","addAllowed","_addButton","Group","Tooltip","label","Box","Button","variant","leftIcon","AddSize16Px","height","onClick","DragDropContext","onDragEnd","destination","source","from","to","Droppable","direction","droppableId","provided","droppableProps","ref","innerRef","root","Stack","placeholder"],"mappings":"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"}
|
|
@@ -37,11 +37,11 @@ var RemoveButtonPlaceholder = function() {
|
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
39
|
var StaticCollectionItem = function(param) {
|
|
40
|
-
var onRemove = param.onRemove,
|
|
41
|
-
var
|
|
40
|
+
var onRemove = param.onRemove, _param_removable = param.removable, removable = _param_removable === void 0 ? true : _param_removable, styles = param.styles, children = param.children;
|
|
41
|
+
var _useStyles = (0, _colllectionStyles.default)(null, {
|
|
42
42
|
name: "Collection",
|
|
43
43
|
styles: styles
|
|
44
|
-
}), classes =
|
|
44
|
+
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
45
45
|
var removeButton = removable && onRemove ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(RemoveButton, {
|
|
46
46
|
onClick: onRemove
|
|
47
47
|
}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(RemoveButtonPlaceholder, {});
|
|
@@ -55,18 +55,18 @@ var StaticCollectionItem = function(param) {
|
|
|
55
55
|
};
|
|
56
56
|
var DisabledCollectionItem = function(param) {
|
|
57
57
|
var children = param.children;
|
|
58
|
-
var
|
|
58
|
+
var _useStyles = (0, _colllectionStyles.default)(), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
59
59
|
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, {
|
|
60
60
|
className: cx(classes.item),
|
|
61
61
|
children: children
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
var DraggableCollectionItem = function(param) {
|
|
65
|
-
var index = param.index, onRemove = param.onRemove,
|
|
66
|
-
var
|
|
65
|
+
var index = param.index, onRemove = param.onRemove, _param_removable = param.removable, removable = _param_removable === void 0 ? true : _param_removable, styles = param.styles, children = param.children;
|
|
66
|
+
var _useStyles = (0, _colllectionStyles.default)(null, {
|
|
67
67
|
name: "Collection",
|
|
68
68
|
styles: styles
|
|
69
|
-
}), classes =
|
|
69
|
+
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
70
70
|
var removeButton = removable && onRemove ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(RemoveButton, {
|
|
71
71
|
onClick: onRemove
|
|
72
72
|
}) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize16Px, RemoveSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, DefaultProps, Group, Selectors} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\nimport {Draggable} from 'react-beautiful-dnd';\n\nimport useStyles from './Colllection.styles';\n\ninterface CollectionItemProps extends CollectionItemSharedProps {\n draggable?: boolean;\n disabled: boolean;\n}\n\ninterface CollectionItemSharedProps extends DefaultProps<Selectors<typeof useStyles>> {\n index: number;\n onRemove?: React.MouseEventHandler<HTMLButtonElement>;\n removable?: boolean;\n}\n\nconst RemoveButton: FunctionComponent<{\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}> = ({onClick}) => (\n <ActionIcon variant=\"subtle\" onClick={onClick} color=\"action\">\n <RemoveSize16Px height={16} />\n </ActionIcon>\n);\n\nconst RemoveButtonPlaceholder = () => <div style={{width: 28}} />;\n\nconst StaticCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n onRemove,\n removable = true,\n styles,\n children,\n}) => {\n const {classes, cx} = useStyles(null, {name: 'Collection', styles});\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : <RemoveButtonPlaceholder />;\n\n return (\n <Group className={cx(classes.item)}>\n {children}\n {removeButton}\n </Group>\n );\n};\n\nconst DisabledCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({children}) => {\n const {classes, cx} = useStyles();\n return <Group className={cx(classes.item)}>{children}</Group>;\n};\n\nconst DraggableCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n index,\n onRemove,\n removable = true,\n styles,\n children,\n}) => {\n const {classes, cx} = useStyles(null, {name: 'Collection', styles});\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : null;\n\n return (\n <Draggable index={index} draggableId={index.toString()}>\n {(provided, {isDragging}) => (\n <Group\n ref={provided.innerRef}\n {...provided.draggableProps}\n className={cx(classes.item, {[classes.itemDragging]: isDragging})}\n >\n <div {...provided.dragHandleProps}>\n <DragAndDropSize16Px height={16} />\n </div>\n {children}\n {removeButton}\n </Group>\n )}\n </Draggable>\n );\n};\n\nexport const CollectionItem: FunctionComponent<PropsWithChildren<CollectionItemProps>> = ({\n draggable,\n disabled,\n ...otherProps\n}) => {\n if (disabled) {\n return <DisabledCollectionItem {...otherProps} />;\n }\n if (draggable) {\n return <DraggableCollectionItem {...otherProps} />;\n }\n return <StaticCollectionItem {...otherProps} />;\n};\n"],"names":["CollectionItem","RemoveButton","onClick","ActionIcon","variant","color","RemoveSize16Px","height","RemoveButtonPlaceholder","div","style","width","StaticCollectionItem","onRemove","removable","styles","children","useStyles","name","classes","cx","removeButton","Group","className","item","DisabledCollectionItem","DraggableCollectionItem","index","Draggable","draggableId","toString","provided","isDragging","ref","innerRef","draggableProps","itemDragging","dragHandleProps","DragAndDropSize16Px","draggable","disabled","otherProps"],"mappings":"AAAA;;;;+BA+EaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize16Px, RemoveSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, DefaultProps, Group, Selectors} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\nimport {Draggable} from 'react-beautiful-dnd';\n\nimport useStyles from './Colllection.styles';\n\ninterface CollectionItemProps extends CollectionItemSharedProps {\n draggable?: boolean;\n disabled: boolean;\n}\n\ninterface CollectionItemSharedProps extends DefaultProps<Selectors<typeof useStyles>> {\n index: number;\n onRemove?: React.MouseEventHandler<HTMLButtonElement>;\n removable?: boolean;\n}\n\nconst RemoveButton: FunctionComponent<{\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}> = ({onClick}) => (\n <ActionIcon variant=\"subtle\" onClick={onClick} color=\"action\">\n <RemoveSize16Px height={16} />\n </ActionIcon>\n);\n\nconst RemoveButtonPlaceholder = () => <div style={{width: 28}} />;\n\nconst StaticCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n onRemove,\n removable = true,\n styles,\n children,\n}) => {\n const {classes, cx} = useStyles(null, {name: 'Collection', styles});\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : <RemoveButtonPlaceholder />;\n\n return (\n <Group className={cx(classes.item)}>\n {children}\n {removeButton}\n </Group>\n );\n};\n\nconst DisabledCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({children}) => {\n const {classes, cx} = useStyles();\n return <Group className={cx(classes.item)}>{children}</Group>;\n};\n\nconst DraggableCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n index,\n onRemove,\n removable = true,\n styles,\n children,\n}) => {\n const {classes, cx} = useStyles(null, {name: 'Collection', styles});\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : null;\n\n return (\n <Draggable index={index} draggableId={index.toString()}>\n {(provided, {isDragging}) => (\n <Group\n ref={provided.innerRef}\n {...provided.draggableProps}\n className={cx(classes.item, {[classes.itemDragging]: isDragging})}\n >\n <div {...provided.dragHandleProps}>\n <DragAndDropSize16Px height={16} />\n </div>\n {children}\n {removeButton}\n </Group>\n )}\n </Draggable>\n );\n};\n\nexport const CollectionItem: FunctionComponent<PropsWithChildren<CollectionItemProps>> = ({\n draggable,\n disabled,\n ...otherProps\n}) => {\n if (disabled) {\n return <DisabledCollectionItem {...otherProps} />;\n }\n if (draggable) {\n return <DraggableCollectionItem {...otherProps} />;\n }\n return <StaticCollectionItem {...otherProps} />;\n};\n"],"names":["CollectionItem","RemoveButton","onClick","ActionIcon","variant","color","RemoveSize16Px","height","RemoveButtonPlaceholder","div","style","width","StaticCollectionItem","onRemove","removable","styles","children","useStyles","name","classes","cx","removeButton","Group","className","item","DisabledCollectionItem","DraggableCollectionItem","index","Draggable","draggableId","toString","provided","isDragging","ref","innerRef","draggableProps","itemDragging","dragHandleProps","DragAndDropSize16Px","draggable","disabled","otherProps"],"mappings":"AAAA;;;;+BA+EaA;;;eAAAA;;;;;;;;;gCA/EqC;oBACO;iCAEjC;sEAEF;AAatB,IAAMC,eAED;QAAEC,gBAAAA;yBACH,qBAACC,gBAAU;QAACC,SAAQ;QAASF,SAASA;QAASG,OAAM;kBACjD,cAAA,qBAACC,gCAAc;YAACC,QAAQ;;;;AAIhC,IAAMC,0BAA0B;yBAAM,qBAACC;QAAIC,OAAO;YAACC,OAAO;QAAE;;;AAE5D,IAAMC,uBAAwF,gBAKxF;QAJFC,iBAAAA,mCACAC,WAAAA,0CAAY,IAAI,qBAChBC,eAAAA,QACAC,iBAAAA;IAEA,IAAsBC,aAAAA,IAAAA,0BAAS,EAAC,IAAI,EAAE;QAACC,MAAM;QAAcH,QAAAA;IAAM,IAA1DI,UAAeF,WAAfE,SAASC,KAAMH,WAANG;IAChB,IAAMC,eAAeP,aAAaD,yBAAW,qBAACZ;QAAaC,SAASW;uBAAe,qBAACL,4BAA0B;IAE9G,qBACI,sBAACc,WAAK;QAACC,WAAWH,GAAGD,QAAQK,IAAI;;YAC5BR;YACAK;;;AAGb;AAEA,IAAMI,yBAA0F,gBAAgB;QAAdT,iBAAAA;IAC9F,IAAsBC,aAAAA,IAAAA,0BAAS,KAAxBE,UAAeF,WAAfE,SAASC,KAAMH,WAANG;IAChB,qBAAO,qBAACE,WAAK;QAACC,WAAWH,GAAGD,QAAQK,IAAI;kBAAIR;;AAChD;AAEA,IAAMU,0BAA2F,gBAM3F;QALFC,cAAAA,OACAd,iBAAAA,mCACAC,WAAAA,0CAAY,IAAI,qBAChBC,eAAAA,QACAC,iBAAAA;IAEA,IAAsBC,aAAAA,IAAAA,0BAAS,EAAC,IAAI,EAAE;QAACC,MAAM;QAAcH,QAAAA;IAAM,IAA1DI,UAAeF,WAAfE,SAASC,KAAMH,WAANG;IAChB,IAAMC,eAAeP,aAAaD,yBAAW,qBAACZ;QAAaC,SAASW;SAAe,IAAI;IAEvF,qBACI,qBAACe,4BAAS;QAACD,OAAOA;QAAOE,aAAaF,MAAMG,QAAQ;kBAC/C,SAACC;gBAAWC,mBAAAA;iCACT,sBAACV,WAAK;gBACFW,KAAKF,SAASG,QAAQ;eAClBH,SAASI,cAAc;gBAC3BZ,WAAWH,GAAGD,QAAQK,IAAI,EAAG,oBAACL,QAAQiB,YAAY,EAAGJ;;kCAErD,qBAACvB,4CAAQsB,SAASM,eAAe;kCAC7B,cAAA,qBAACC,qCAAmB;4BAAC/B,QAAQ;;;oBAEhCS;oBACAK;;;;;AAKrB;AAEO,IAAMrB,iBAA4E,iBAInF;QAHFuC,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAIA,UAAU;QACV,qBAAO,qBAACf,0CAA2BgB;IACvC,CAAC;IACD,IAAIF,WAAW;QACX,qBAAO,qBAACb,2CAA4Be;IACxC,CAAC;IACD,qBAAO,qBAAC7B,wCAAyB6B;AACrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/Colllection.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nexport interface CollectionStylesParams {}\n\nexport default createStyles((theme) => ({\n root: {},\n item: {\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n alignItems: 'baseline',\n },\n itemDragging: {\n boxShadow: theme.shadows.sm,\n },\n}));\n"],"names":["createStyles","theme","root","item","backgroundColor","colorScheme","white","black","alignItems","itemDragging","boxShadow","shadows","sm"],"mappings":"AAAA;;;;+BAIA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/Colllection.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nexport interface CollectionStylesParams {}\n\nexport default createStyles((theme) => ({\n root: {},\n item: {\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n alignItems: 'baseline',\n },\n itemDragging: {\n boxShadow: theme.shadows.sm,\n },\n}));\n"],"names":["createStyles","theme","root","item","backgroundColor","colorScheme","white","black","alignItems","itemDragging","boxShadow","shadows","sm"],"mappings":"AAAA;;;;+BAIA;;;eAAA;;;oBAJ2B;IAI3B,WAAeA,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACpCC,MAAM,CAAC;QACPC,MAAM;YACFC,iBAAiBH,MAAMI,WAAW,KAAK,UAAUJ,MAAMK,KAAK,GAAGL,MAAMM,KAAK;YAC1EC,YAAY;QAChB;QACAC,cAAc;YACVC,WAAWT,MAAMU,OAAO,CAACC,EAAE;QAC/B;IACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/index.ts"],"sourcesContent":["export * from './Collection';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/index.ts"],"sourcesContent":["export * from './Collection';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerInlineCalendar.tsx"],"sourcesContent":["import {Button, Center, Group, Space} from '@mantine/core';\nimport {DateRangePickerValue, RangeCalendar, RangeCalendarProps} from '@mantine/dates';\nimport {useForm} from '@mantine/form';\n\nimport {DateRangePickerPreset, DateRangePickerPresetSelect} from './DateRangePickerPresetSelect';\nimport {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker';\n\nexport interface DateRangePickerInlineCalendarProps\n extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {\n /**\n * Initial selected range\n */\n initialRange: DateRangePickerValue;\n /**\n * Function called when the user applies the new date range\n *\n * @param range the newly selected dates\n */\n onApply: (range: DateRangePickerValue) => void;\n /**\n * Function called when the user click on the cancel button\n */\n onCancel: () => void;\n /**\n * The presets to display\n *\n * @default {}\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 */\n presets?: Record<string, DateRangePickerPreset>;\n /**\n * Props for RangeCalendar displayed in the popover\n */\n rangeCalendarProps?: Omit<RangeCalendarProps, 'value' | 'onChange'>;\n}\n\nexport const DateRangePickerInlineCalendar = ({\n initialRange,\n onApply,\n onCancel,\n presets,\n startProps,\n endProps,\n rangeCalendarProps,\n}: DateRangePickerInlineCalendarProps) => {\n const form = useForm({\n initialValues: {\n dates: initialRange,\n },\n });\n const calendarInputProps = form.getInputProps('dates');\n\n const onCalendarApply = () => {\n onApply(form.values.dates);\n };\n\n return (\n <>\n <Group\n align=\"center\"\n spacing=\"xs\"\n grow\n px=\"md\"\n py=\"sm\"\n sx={(theme) => ({\n borderBottom: `1px solid ${theme.colors.gray[2]}`,\n })}\n >\n <EditableDateRangePicker {...calendarInputProps} startProps={startProps} endProps={endProps} />\n {presets ? (\n <>\n <Space w=\"sm\" />\n <DateRangePickerPresetSelect presets={presets} {...calendarInputProps} />\n </>\n ) : null}\n </Group>\n\n <Center py=\"sm\" px=\"md\">\n <RangeCalendar\n amountOfMonths={2}\n styles={{cell: {textAlign: 'center'}}}\n firstDayOfWeek=\"sunday\"\n allowSingleDateInRange\n {...rangeCalendarProps}\n {...calendarInputProps}\n />\n </Center>\n\n <Group\n position=\"right\"\n spacing=\"xs\"\n px=\"md\"\n py=\"sm\"\n sx={(theme) => ({\n borderTop: `1px solid ${theme.colors.gray[2]}`,\n })}\n >\n <Button size=\"xs\" onClick={onCalendarApply}>\n Apply\n </Button>\n <Button variant=\"outline\" size=\"xs\" onClick={onCancel}>\n Cancel\n </Button>\n </Group>\n </>\n );\n};\n"],"names":["DateRangePickerInlineCalendar","initialRange","onApply","onCancel","presets","startProps","endProps","rangeCalendarProps","form","useForm","initialValues","dates","calendarInputProps","getInputProps","onCalendarApply","values","Group","align","spacing","grow","px","py","sx","theme","borderBottom","colors","gray","EditableDateRangePicker","Space","w","DateRangePickerPresetSelect","Center","RangeCalendar","amountOfMonths","styles","cell","textAlign","firstDayOfWeek","allowSingleDateInRange","position","borderTop","Button","size","onClick","variant"],"mappings":"AAAA;;;;+BAwCaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerInlineCalendar.tsx"],"sourcesContent":["import {Button, Center, Group, Space} from '@mantine/core';\nimport {DateRangePickerValue, RangeCalendar, RangeCalendarProps} from '@mantine/dates';\nimport {useForm} from '@mantine/form';\n\nimport {DateRangePickerPreset, DateRangePickerPresetSelect} from './DateRangePickerPresetSelect';\nimport {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker';\n\nexport interface DateRangePickerInlineCalendarProps\n extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {\n /**\n * Initial selected range\n */\n initialRange: DateRangePickerValue;\n /**\n * Function called when the user applies the new date range\n *\n * @param range the newly selected dates\n */\n onApply: (range: DateRangePickerValue) => void;\n /**\n * Function called when the user click on the cancel button\n */\n onCancel: () => void;\n /**\n * The presets to display\n *\n * @default {}\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 */\n presets?: Record<string, DateRangePickerPreset>;\n /**\n * Props for RangeCalendar displayed in the popover\n */\n rangeCalendarProps?: Omit<RangeCalendarProps, 'value' | 'onChange'>;\n}\n\nexport const DateRangePickerInlineCalendar = ({\n initialRange,\n onApply,\n onCancel,\n presets,\n startProps,\n endProps,\n rangeCalendarProps,\n}: DateRangePickerInlineCalendarProps) => {\n const form = useForm({\n initialValues: {\n dates: initialRange,\n },\n });\n const calendarInputProps = form.getInputProps('dates');\n\n const onCalendarApply = () => {\n onApply(form.values.dates);\n };\n\n return (\n <>\n <Group\n align=\"center\"\n spacing=\"xs\"\n grow\n px=\"md\"\n py=\"sm\"\n sx={(theme) => ({\n borderBottom: `1px solid ${theme.colors.gray[2]}`,\n })}\n >\n <EditableDateRangePicker {...calendarInputProps} startProps={startProps} endProps={endProps} />\n {presets ? (\n <>\n <Space w=\"sm\" />\n <DateRangePickerPresetSelect presets={presets} {...calendarInputProps} />\n </>\n ) : null}\n </Group>\n\n <Center py=\"sm\" px=\"md\">\n <RangeCalendar\n amountOfMonths={2}\n styles={{cell: {textAlign: 'center'}}}\n firstDayOfWeek=\"sunday\"\n allowSingleDateInRange\n {...rangeCalendarProps}\n {...calendarInputProps}\n />\n </Center>\n\n <Group\n position=\"right\"\n spacing=\"xs\"\n px=\"md\"\n py=\"sm\"\n sx={(theme) => ({\n borderTop: `1px solid ${theme.colors.gray[2]}`,\n })}\n >\n <Button size=\"xs\" onClick={onCalendarApply}>\n Apply\n </Button>\n <Button variant=\"outline\" size=\"xs\" onClick={onCancel}>\n Cancel\n </Button>\n </Group>\n </>\n );\n};\n"],"names":["DateRangePickerInlineCalendar","initialRange","onApply","onCancel","presets","startProps","endProps","rangeCalendarProps","form","useForm","initialValues","dates","calendarInputProps","getInputProps","onCalendarApply","values","Group","align","spacing","grow","px","py","sx","theme","borderBottom","colors","gray","EditableDateRangePicker","Space","w","DateRangePickerPresetSelect","Center","RangeCalendar","amountOfMonths","styles","cell","textAlign","firstDayOfWeek","allowSingleDateInRange","position","borderTop","Button","size","onClick","variant"],"mappings":"AAAA;;;;+BAwCaA;;;eAAAA;;;;;;oBAxC8B;qBAC2B;oBAChD;2CAE2C;uCACG;AAmC7D,IAAMA,gCAAgC,gBAQH;QAPtCC,qBAAAA,cACAC,gBAAAA,SACAC,iBAAAA,UACAC,gBAAAA,SACAC,mBAAAA,YACAC,iBAAAA,UACAC,2BAAAA;IAEA,IAAMC,OAAOC,IAAAA,aAAO,EAAC;QACjBC,eAAe;YACXC,OAAOV;QACX;IACJ;IACA,IAAMW,qBAAqBJ,KAAKK,aAAa,CAAC;IAE9C,IAAMC,kBAAkB,WAAM;QAC1BZ,QAAQM,KAAKO,MAAM,CAACJ,KAAK;IAC7B;IAEA,qBACI;;0BACI,sBAACK,WAAK;gBACFC,OAAM;gBACNC,SAAQ;gBACRC,IAAI;gBACJC,IAAG;gBACHC,IAAG;gBACHC,IAAI,SAACC;2BAAW;wBACZC,cAAc,AAAC,aAAiC,OAArBD,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;oBACnD;;;kCAEA,qBAACC,gDAAuB,uCAAKf;wBAAoBP,YAAYA;wBAAYC,UAAUA;;oBAClFF,wBACG;;0CACI,qBAACwB,WAAK;gCAACC,GAAE;;0CACT,qBAACC,wDAA2B;gCAAC1B,SAASA;+BAAaQ;;yBAEvD,IAAI;;;0BAGZ,qBAACmB,YAAM;gBAACV,IAAG;gBAAKD,IAAG;0BACf,cAAA,qBAACY,oBAAa;oBACVC,gBAAgB;oBAChBC,QAAQ;wBAACC,MAAM;4BAACC,WAAW;wBAAQ;oBAAC;oBACpCC,gBAAe;oBACfC,sBAAsB;mBAClB/B,oBACAK;;0BAIZ,sBAACI,WAAK;gBACFuB,UAAS;gBACTrB,SAAQ;gBACRE,IAAG;gBACHC,IAAG;gBACHC,IAAI,SAACC;2BAAW;wBACZiB,WAAW,AAAC,aAAiC,OAArBjB,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;oBAChD;;;kCAEA,qBAACe,YAAM;wBAACC,MAAK;wBAAKC,SAAS7B;kCAAiB;;kCAG5C,qBAAC2B,YAAM;wBAACG,SAAQ;wBAAUF,MAAK;wBAAKC,SAASxC;kCAAU;;;;;;AAMvE"}
|
|
@@ -19,11 +19,11 @@ var _editableDateRangePicker = require("./EditableDateRangePicker");
|
|
|
19
19
|
var _dateRangePickerPresetSelect = require("./DateRangePickerPresetSelect");
|
|
20
20
|
var DateRangePickerPopoverCalendar = function(param) {
|
|
21
21
|
var presets = param.presets, value = param.value, defaultValue = param.defaultValue, onChange = param.onChange, startProps = param.startProps, endProps = param.endProps, rangeCalendarProps = param.rangeCalendarProps;
|
|
22
|
-
var
|
|
23
|
-
var
|
|
22
|
+
var _useState = _slicedToArray((0, _react.useState)(false), 2), opened = _useState[0], setOpened = _useState[1];
|
|
23
|
+
var ref = (0, _hooks.useClickOutside)(function() {
|
|
24
24
|
return setOpened(false);
|
|
25
25
|
});
|
|
26
|
-
var
|
|
26
|
+
var _useUncontrolled = _slicedToArray((0, _hooks.useUncontrolled)({
|
|
27
27
|
value: value,
|
|
28
28
|
defaultValue: defaultValue,
|
|
29
29
|
onChange: onChange,
|
|
@@ -31,7 +31,7 @@ var DateRangePickerPopoverCalendar = function(param) {
|
|
|
31
31
|
null,
|
|
32
32
|
null
|
|
33
33
|
]
|
|
34
|
-
}), 2), _value =
|
|
34
|
+
}), 2), _value = _useUncontrolled[0], handleChange = _useUncontrolled[1];
|
|
35
35
|
var onCalendarChange = function(dates) {
|
|
36
36
|
handleChange === null || handleChange === void 0 ? void 0 : handleChange(dates);
|
|
37
37
|
if (dates[1] !== null) {
|
|
@@ -72,7 +72,7 @@ var DateRangePickerPopoverCalendar = function(param) {
|
|
|
72
72
|
trapFocus: true,
|
|
73
73
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Popover.Dropdown, {
|
|
74
74
|
children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_dates.RangeCalendar, _objectSpread({
|
|
75
|
-
ref:
|
|
75
|
+
ref: ref,
|
|
76
76
|
styles: {
|
|
77
77
|
cell: {
|
|
78
78
|
textAlign: "center"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx"],"sourcesContent":["import {DateRangePickerValue, RangeCalendar, RangeCalendarProps} from '@mantine/dates';\nimport {Group, Popover, Space} from '@mantine/core';\nimport {useClickOutside, useUncontrolled} from '@mantine/hooks';\nimport {useState} from 'react';\n\nimport {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker';\nimport {DateRangePickerPresetSelect, DateRangePickerPreset} from './DateRangePickerPresetSelect';\n\ninterface DateRangePickerPopoverCalendarProps<T> extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {\n /** Default value for uncontrolled input */\n defaultValue?: DateRangePickerValue;\n /** Value for controlled input */\n value?: DateRangePickerValue;\n /** onChange value for controlled input */\n onChange?(value: DateRangePickerValue): void;\n /**\n * The presets to display\n *\n * @default {}\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 */\n presets?: Record<string, DateRangePickerPreset>;\n\n /**\n * Props for RangeCalendar\n */\n rangeCalendarProps?: Omit<RangeCalendarProps, 'value' | 'onChange'>;\n}\n\nexport const DateRangePickerPopoverCalendar = <T extends unknown>({\n presets,\n value,\n defaultValue,\n onChange,\n startProps,\n endProps,\n rangeCalendarProps,\n}: DateRangePickerPopoverCalendarProps<T>) => {\n const [opened, setOpened] = useState(false);\n const ref = useClickOutside(() => setOpened(false));\n\n const [_value, handleChange] = useUncontrolled<DateRangePickerValue>({\n value,\n defaultValue,\n onChange,\n finalValue: [null, null],\n });\n\n const onCalendarChange = (dates: DateRangePickerValue) => {\n handleChange?.(dates);\n if (dates[1] !== null) {\n setOpened(false);\n }\n };\n\n return (\n <>\n <Group align=\"center\">\n <EditableDateRangePicker\n value={_value}\n onChange={handleChange}\n onFocus={() => setOpened(true)}\n startProps={startProps}\n endProps={endProps}\n />\n {presets ? (\n <>\n <Space w=\"sm\" />\n <DateRangePickerPresetSelect presets={presets} value={_value} onChange={handleChange} />\n </>\n ) : null}\n </Group>\n\n <Popover opened={opened} onChange={setOpened} trapFocus>\n <Popover.Dropdown>\n <RangeCalendar\n ref={ref}\n styles={{cell: {textAlign: 'center'}}}\n amountOfMonths={2}\n firstDayOfWeek=\"sunday\"\n allowSingleDateInRange\n value={_value}\n onChange={onCalendarChange}\n {...rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </>\n );\n};\n"],"names":["DateRangePickerPopoverCalendar","presets","value","defaultValue","onChange","startProps","endProps","rangeCalendarProps","useState","opened","setOpened","ref","useClickOutside","useUncontrolled","finalValue","_value","handleChange","onCalendarChange","dates","Group","align","EditableDateRangePicker","onFocus","Space","w","DateRangePickerPresetSelect","Popover","trapFocus","Dropdown","RangeCalendar","styles","cell","textAlign","amountOfMonths","firstDayOfWeek","allowSingleDateInRange"],"mappings":"AAAA;;;;+BAiCaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx"],"sourcesContent":["import {DateRangePickerValue, RangeCalendar, RangeCalendarProps} from '@mantine/dates';\nimport {Group, Popover, Space} from '@mantine/core';\nimport {useClickOutside, useUncontrolled} from '@mantine/hooks';\nimport {useState} from 'react';\n\nimport {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker';\nimport {DateRangePickerPresetSelect, DateRangePickerPreset} from './DateRangePickerPresetSelect';\n\ninterface DateRangePickerPopoverCalendarProps<T> extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {\n /** Default value for uncontrolled input */\n defaultValue?: DateRangePickerValue;\n /** Value for controlled input */\n value?: DateRangePickerValue;\n /** onChange value for controlled input */\n onChange?(value: DateRangePickerValue): void;\n /**\n * The presets to display\n *\n * @default {}\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 */\n presets?: Record<string, DateRangePickerPreset>;\n\n /**\n * Props for RangeCalendar\n */\n rangeCalendarProps?: Omit<RangeCalendarProps, 'value' | 'onChange'>;\n}\n\nexport const DateRangePickerPopoverCalendar = <T extends unknown>({\n presets,\n value,\n defaultValue,\n onChange,\n startProps,\n endProps,\n rangeCalendarProps,\n}: DateRangePickerPopoverCalendarProps<T>) => {\n const [opened, setOpened] = useState(false);\n const ref = useClickOutside(() => setOpened(false));\n\n const [_value, handleChange] = useUncontrolled<DateRangePickerValue>({\n value,\n defaultValue,\n onChange,\n finalValue: [null, null],\n });\n\n const onCalendarChange = (dates: DateRangePickerValue) => {\n handleChange?.(dates);\n if (dates[1] !== null) {\n setOpened(false);\n }\n };\n\n return (\n <>\n <Group align=\"center\">\n <EditableDateRangePicker\n value={_value}\n onChange={handleChange}\n onFocus={() => setOpened(true)}\n startProps={startProps}\n endProps={endProps}\n />\n {presets ? (\n <>\n <Space w=\"sm\" />\n <DateRangePickerPresetSelect presets={presets} value={_value} onChange={handleChange} />\n </>\n ) : null}\n </Group>\n\n <Popover opened={opened} onChange={setOpened} trapFocus>\n <Popover.Dropdown>\n <RangeCalendar\n ref={ref}\n styles={{cell: {textAlign: 'center'}}}\n amountOfMonths={2}\n firstDayOfWeek=\"sunday\"\n allowSingleDateInRange\n value={_value}\n onChange={onCalendarChange}\n {...rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </>\n );\n};\n"],"names":["DateRangePickerPopoverCalendar","presets","value","defaultValue","onChange","startProps","endProps","rangeCalendarProps","useState","opened","setOpened","ref","useClickOutside","useUncontrolled","finalValue","_value","handleChange","onCalendarChange","dates","Group","align","EditableDateRangePicker","onFocus","Space","w","DateRangePickerPresetSelect","Popover","trapFocus","Dropdown","RangeCalendar","styles","cell","textAlign","amountOfMonths","firstDayOfWeek","allowSingleDateInRange"],"mappings":"AAAA;;;;+BAiCaA;;;eAAAA;;;;;;qBAjCyD;oBAClC;qBACW;qBACxB;uCAE6C;2CACH;AA2B1D,IAAMA,iCAAiC,gBAQA;QAP1CC,gBAAAA,SACAC,cAAAA,OACAC,qBAAAA,cACAC,iBAAAA,UACAC,mBAAAA,YACAC,iBAAAA,UACAC,2BAAAA;IAEA,IAA4BC,2BAAAA,IAAAA,eAAQ,EAAC,KAAK,OAAnCC,SAAqBD,cAAbE,YAAaF;IAC5B,IAAMG,MAAMC,IAAAA,sBAAe,EAAC;eAAMF,UAAU,KAAK;;IAEjD,IAA+BG,kCAAAA,IAAAA,sBAAe,EAAuB;QACjEX,OAAAA;QACAC,cAAAA;QACAC,UAAAA;QACAU,YAAY;YAAC,IAAI;YAAE,IAAI;SAAC;IAC5B,QALOC,SAAwBF,qBAAhBG,eAAgBH;IAO/B,IAAMI,mBAAmB,SAACC,OAAgC;QACtDF,yBAAAA,0BAAAA,KAAAA,IAAAA,aAAeE;QACf,IAAIA,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;YACnBR,UAAU,KAAK;QACnB,CAAC;IACL;IAEA,qBACI;;0BACI,sBAACS,WAAK;gBAACC,OAAM;;kCACT,qBAACC,gDAAuB;wBACpBnB,OAAOa;wBACPX,UAAUY;wBACVM,SAAS;mCAAMZ,UAAU,IAAI;;wBAC7BL,YAAYA;wBACZC,UAAUA;;oBAEbL,wBACG;;0CACI,qBAACsB,WAAK;gCAACC,GAAE;;0CACT,qBAACC,wDAA2B;gCAACxB,SAASA;gCAASC,OAAOa;gCAAQX,UAAUY;;;yBAE5E,IAAI;;;0BAGZ,qBAACU,aAAO;gBAACjB,QAAQA;gBAAQL,UAAUM;gBAAWiB,SAAS;0BACnD,cAAA,qBAACD,aAAO,CAACE,QAAQ;8BACb,cAAA,qBAACC,oBAAa;wBACVlB,KAAKA;wBACLmB,QAAQ;4BAACC,MAAM;gCAACC,WAAW;4BAAQ;wBAAC;wBACpCC,gBAAgB;wBAChBC,gBAAe;wBACfC,sBAAsB;wBACtBjC,OAAOa;wBACPX,UAAUa;uBACNV;;;;;AAM5B"}
|
|
@@ -18,7 +18,7 @@ var _core = require("@mantine/core");
|
|
|
18
18
|
var _react = require("react");
|
|
19
19
|
var _dayjs = /*#__PURE__*/ _interopRequireDefault(require("dayjs"));
|
|
20
20
|
var DateRangePickerPresetSelect = function(param) {
|
|
21
|
-
var presets = param.presets, value = param.value, onChange = param.onChange,
|
|
21
|
+
var presets = param.presets, value = param.value, onChange = param.onChange, _param_selectProps = param.selectProps, selectProps = _param_selectProps === void 0 ? {} : _param_selectProps;
|
|
22
22
|
var selectData = Object.entries(presets).map(function(param) {
|
|
23
23
|
var _param = _slicedToArray(param, 2), val = _param[0], label = _param[1].label;
|
|
24
24
|
return {
|
|
@@ -38,7 +38,7 @@ var DateRangePickerPresetSelect = function(param) {
|
|
|
38
38
|
}
|
|
39
39
|
return null;
|
|
40
40
|
};
|
|
41
|
-
var
|
|
41
|
+
var _useState = _slicedToArray((0, _react.useState)(getSelectedPreset()), 2), selectedPreset = _useState[0], setSelectedPreset = _useState[1];
|
|
42
42
|
(0, _react.useEffect)(function() {
|
|
43
43
|
var newPreset = getSelectedPreset();
|
|
44
44
|
if (newPreset !== selectedPreset) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerPresetSelect.tsx"],"sourcesContent":["import {DateRangePickerValue, isSameDate} from '@mantine/dates';\nimport {Select, SelectItem, SelectProps} from '@mantine/core';\nimport {useState, useEffect} from 'react';\nimport dayjs from 'dayjs';\n\nexport interface DateRangePickerPreset {\n label: string;\n range: DateRangePickerValue;\n}\n\ninterface DateRangePickerPresetsSelectProps<T> {\n presets: Record<string, DateRangePickerPreset>;\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n selectProps?: Partial<Omit<SelectProps, 'data' | 'value' | 'onChange'>>;\n}\n\nexport const DateRangePickerPresetSelect = <T extends unknown>({\n presets,\n value,\n onChange,\n selectProps = {},\n}: DateRangePickerPresetsSelectProps<T>) => {\n const selectData: SelectItem[] = Object.entries(presets).map(([val, {label}]) => ({value: val, label}));\n\n const getSelectedPreset = () => {\n if (value[0] !== null && value[1] !== null && dayjs(value[0]).unix() !== dayjs(value[1]).unix()) {\n const selected = Object.entries(presets).find(\n ([id, {range}]) => dayjs(range[0]!).isSame(value[0]) && isSameDate(range[1]!, value[1]!)\n );\n if (selected) {\n return selected[0];\n }\n }\n return null;\n };\n\n const [selectedPreset, setSelectedPreset] = useState<string | null>(getSelectedPreset());\n\n useEffect(() => {\n const newPreset = getSelectedPreset();\n if (newPreset !== selectedPreset) {\n setSelectedPreset(newPreset);\n }\n }, [value]);\n\n const onChangePreset = (presetId: keyof typeof presets) => {\n const range = presets[presetId].range as any;\n onChange?.(range);\n };\n\n return (\n <Select\n label=\"Date range\"\n placeholder=\"Select a date range\"\n {...selectProps}\n value={selectedPreset}\n onChange={onChangePreset}\n data={selectData}\n />\n );\n};\n"],"names":["DateRangePickerPresetSelect","presets","value","onChange","selectProps","selectData","Object","entries","map","val","label","getSelectedPreset","dayjs","unix","selected","find","id","range","isSame","isSameDate","useState","selectedPreset","setSelectedPreset","useEffect","newPreset","onChangePreset","presetId","Select","placeholder","data"],"mappings":"AAAA;;;;+BAiBaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerPresetSelect.tsx"],"sourcesContent":["import {DateRangePickerValue, isSameDate} from '@mantine/dates';\nimport {Select, SelectItem, SelectProps} from '@mantine/core';\nimport {useState, useEffect} from 'react';\nimport dayjs from 'dayjs';\n\nexport interface DateRangePickerPreset {\n label: string;\n range: DateRangePickerValue;\n}\n\ninterface DateRangePickerPresetsSelectProps<T> {\n presets: Record<string, DateRangePickerPreset>;\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n selectProps?: Partial<Omit<SelectProps, 'data' | 'value' | 'onChange'>>;\n}\n\nexport const DateRangePickerPresetSelect = <T extends unknown>({\n presets,\n value,\n onChange,\n selectProps = {},\n}: DateRangePickerPresetsSelectProps<T>) => {\n const selectData: SelectItem[] = Object.entries(presets).map(([val, {label}]) => ({value: val, label}));\n\n const getSelectedPreset = () => {\n if (value[0] !== null && value[1] !== null && dayjs(value[0]).unix() !== dayjs(value[1]).unix()) {\n const selected = Object.entries(presets).find(\n ([id, {range}]) => dayjs(range[0]!).isSame(value[0]) && isSameDate(range[1]!, value[1]!)\n );\n if (selected) {\n return selected[0];\n }\n }\n return null;\n };\n\n const [selectedPreset, setSelectedPreset] = useState<string | null>(getSelectedPreset());\n\n useEffect(() => {\n const newPreset = getSelectedPreset();\n if (newPreset !== selectedPreset) {\n setSelectedPreset(newPreset);\n }\n }, [value]);\n\n const onChangePreset = (presetId: keyof typeof presets) => {\n const range = presets[presetId].range as any;\n onChange?.(range);\n };\n\n return (\n <Select\n label=\"Date range\"\n placeholder=\"Select a date range\"\n {...selectProps}\n value={selectedPreset}\n onChange={onChangePreset}\n data={selectData}\n />\n );\n};\n"],"names":["DateRangePickerPresetSelect","presets","value","onChange","selectProps","selectData","Object","entries","map","val","label","getSelectedPreset","dayjs","unix","selected","find","id","range","isSame","isSameDate","useState","selectedPreset","setSelectedPreset","useEffect","newPreset","onChangePreset","presetId","Select","placeholder","data"],"mappings":"AAAA;;;;+BAiBaA;;;eAAAA;;;;;;;;qBAjBkC;oBACD;qBACZ;0DAChB;AAcX,IAAMA,8BAA8B,gBAKC;QAJxCC,gBAAAA,SACAC,cAAAA,OACAC,iBAAAA,qCACAC,aAAAA,8CAAc,CAAC;IAEf,IAAMC,aAA2BC,OAAOC,OAAO,CAACN,SAASO,GAAG,CAAC;+CAAEC,iBAAK,AAACC,kBAAAA;eAAa;YAACR,OAAOO;YAAKC,OAAAA;QAAK;;IAEpG,IAAMC,oBAAoB,WAAM;QAC5B,IAAIT,KAAK,CAAC,EAAE,KAAK,IAAI,IAAIA,KAAK,CAAC,EAAE,KAAK,IAAI,IAAIU,IAAAA,cAAK,EAACV,KAAK,CAAC,EAAE,EAAEW,IAAI,OAAOD,IAAAA,cAAK,EAACV,KAAK,CAAC,EAAE,EAAEW,IAAI,IAAI;YAC7F,IAAMC,WAAWR,OAAOC,OAAO,CAACN,SAASc,IAAI,CACzC;uDAAEC,gBAAI,AAACC,kBAAAA;uBAAYL,IAAAA,cAAK,EAACK,KAAK,CAAC,EAAE,EAAGC,MAAM,CAAChB,KAAK,CAAC,EAAE,KAAKiB,IAAAA,iBAAU,EAACF,KAAK,CAAC,EAAE,EAAGf,KAAK,CAAC,EAAE;;YAE1F,IAAIY,UAAU;gBACV,OAAOA,QAAQ,CAAC,EAAE;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI;IACf;IAEA,IAA4CM,2BAAAA,IAAAA,eAAQ,EAAgBT,0BAA7DU,iBAAqCD,cAArBE,oBAAqBF;IAE5CG,IAAAA,gBAAS,EAAC,WAAM;QACZ,IAAMC,YAAYb;QAClB,IAAIa,cAAcH,gBAAgB;YAC9BC,kBAAkBE;QACtB,CAAC;IACL,GAAG;QAACtB;KAAM;IAEV,IAAMuB,iBAAiB,SAACC,UAAmC;QACvD,IAAMT,QAAQhB,OAAO,CAACyB,SAAS,CAACT,KAAK;QACrCd,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWc;IACf;IAEA,qBACI,qBAACU,YAAM;QACHjB,OAAM;QACNkB,aAAY;OACRxB;QACJF,OAAOmB;QACPlB,UAAUsB;QACVI,MAAMxB;;AAGlB"}
|
|
@@ -15,7 +15,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
15
15
|
var _dates = require("@mantine/dates");
|
|
16
16
|
var _dayjs = /*#__PURE__*/ _interopRequireDefault(require("dayjs"));
|
|
17
17
|
var EditableDateRangePicker = function(param) {
|
|
18
|
-
var value = param.value, onChange = param.onChange, onFocus = param.onFocus,
|
|
18
|
+
var value = param.value, onChange = param.onChange, onFocus = param.onFocus, _param_separator = param.separator, separator = _param_separator === void 0 ? "to" : _param_separator, _param_startProps = param.startProps, startProps = _param_startProps === void 0 ? {} : _param_startProps, _param_endProps = param.endProps, endProps = _param_endProps === void 0 ? {} : _param_endProps;
|
|
19
19
|
var onChangeStart = function(date) {
|
|
20
20
|
onChange === null || onChange === void 0 ? void 0 : onChange([
|
|
21
21
|
(0, _dayjs.default)(date).startOf("day").toDate(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DatePicker, DatePickerProps, DateRangePickerValue} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DatePicker\n allowFreeInput\n clearable={false}\n label=\"Start\"\n {...startProps}\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n styles={{...startProps.styles, dropdown: {display: 'none'}}}\n />\n {separator}\n <DatePicker\n allowFreeInput\n clearable={false}\n label=\"End\"\n {...endProps}\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n styles={{...endProps.styles, dropdown: {display: 'none'}}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DatePicker","allowFreeInput","clearable","label","styles","dropdown","display"],"mappings":"AAAA;;;;+BAmBaA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DatePicker, DatePickerProps, DateRangePickerValue} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DatePicker\n allowFreeInput\n clearable={false}\n label=\"Start\"\n {...startProps}\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n styles={{...startProps.styles, dropdown: {display: 'none'}}}\n />\n {separator}\n <DatePicker\n allowFreeInput\n clearable={false}\n label=\"End\"\n {...endProps}\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n styles={{...endProps.styles, dropdown: {display: 'none'}}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DatePicker","allowFreeInput","clearable","label","styles","dropdown","display"],"mappings":"AAAA;;;;+BAmBaA;;;eAAAA;;;;;;;qBAnBmD;0DAC9C;AAkBX,IAAMA,0BAA0B,gBAOH;QANhCC,cAAAA,OACAC,iBAAAA,UACAC,gBAAAA,kCACAC,WAAAA,0CAAY,mDACZC,YAAAA,4CAAa,CAAC,+CACdC,UAAAA,wCAAW,CAAC;IAEZ,IAAMC,gBAAgB,SAACC,MAAe;QAClCN,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAW;YAACO,IAAAA,cAAK,EAACD,MAAME,OAAO,CAAC,OAAOC,MAAM;YAAIV,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;SAAC;IAChE;IACA,IAAMW,cAAc,SAACJ,MAAe;QAChCN,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAW;YAACD,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;YAAEQ,IAAAA,cAAK,EAACD,MAAMK,KAAK,CAAC,OAAOF,MAAM;SAAG;IAC9D;IAEA,qBACI;;0BACI,qBAACG,iBAAU;gBACPC,cAAc;gBACdC,WAAW,KAAK;gBAChBC,OAAM;eACFZ;gBACJJ,OAAOA,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;gBACjBC,UAAUK;gBACVJ,SAASA;gBACTe,QAAQ,qCAAIb,WAAWa,MAAM;oBAAEC,UAAU;wBAACC,SAAS;oBAAM;;;YAE5DhB;0BACD,qBAACU,iBAAU;gBACPC,cAAc;gBACdC,WAAW,KAAK;gBAChBC,OAAM;eACFX;gBACJL,OAAOA,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;gBACjBC,UAAUU;gBACVT,SAASA;gBACTe,QAAQ,qCAAIZ,SAASY,MAAM;oBAAEC,UAAU;wBAACC,SAAS;oBAAM;;;;;AAIvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/index.tsx"],"sourcesContent":["export * from './DateRangePickerInlineCalendar';\nexport * from './DateRangePickerPopoverCalendar';\nexport * from './DateRangePickerPresetSelect';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/index.tsx"],"sourcesContent":["export * from './DateRangePickerInlineCalendar';\nexport * from './DateRangePickerPopoverCalendar';\nexport * from './DateRangePickerPresetSelect';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc;oBACA;oBACA"}
|