@coveord/plasma-mantine 47.4.0 → 47.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +9 -9
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/code-editor/CodeEditor.js +50 -12
  5. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  6. package/dist/cjs/components/code-editor/__mocks__/monaco-editor.js +24 -0
  7. package/dist/cjs/components/code-editor/__mocks__/monaco-editor.js.map +1 -0
  8. package/dist/cjs/components/collection/Collection.js +6 -7
  9. package/dist/cjs/components/collection/Collection.js.map +1 -1
  10. package/dist/cjs/components/modal-wizard/index.js.map +1 -1
  11. package/dist/cjs/index.js +0 -3
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/definitions/components/code-editor/CodeEditor.d.ts +7 -0
  14. package/dist/definitions/components/code-editor/CodeEditor.d.ts.map +1 -1
  15. package/dist/definitions/components/code-editor/__mocks__/monaco-editor.d.ts +8 -0
  16. package/dist/definitions/components/code-editor/__mocks__/monaco-editor.d.ts.map +1 -0
  17. package/dist/definitions/components/collection/Collection.d.ts +1 -0
  18. package/dist/definitions/components/collection/Collection.d.ts.map +1 -1
  19. package/dist/definitions/components/modal-wizard/index.d.ts +1 -0
  20. package/dist/definitions/components/modal-wizard/index.d.ts.map +1 -1
  21. package/dist/definitions/index.d.ts +1 -1
  22. package/dist/definitions/index.d.ts.map +1 -1
  23. package/dist/esm/components/code-editor/CodeEditor.js +49 -13
  24. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  25. package/dist/esm/components/code-editor/__mocks__/monaco-editor.js +14 -0
  26. package/dist/esm/components/code-editor/__mocks__/monaco-editor.js.map +1 -0
  27. package/dist/esm/components/collection/Collection.js +6 -7
  28. package/dist/esm/components/collection/Collection.js.map +1 -1
  29. package/dist/esm/components/modal-wizard/index.js.map +1 -1
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/jest.config.js +0 -1
  33. package/package.json +3 -2
  34. package/src/components/code-editor/CodeEditor.tsx +32 -5
  35. package/src/components/code-editor/__mocks__/monaco-editor.ts +9 -0
  36. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +24 -5
  37. package/src/components/collection/Collection.tsx +5 -4
  38. package/src/components/collection/__tests__/Collection.spec.tsx +10 -6
  39. package/src/components/modal-wizard/index.ts +1 -0
  40. package/src/index.ts +1 -1
  41. package/tsconfig.json +6 -3
@@ -20,11 +20,8 @@ var _plasmaReactIcons = require("@coveord/plasma-react-icons");
20
20
  var _core = require("@mantine/core");
21
21
  var _hooks = require("@mantine/hooks");
22
22
  var _react = /*#__PURE__*/ _interopRequireWildcard(require("@monaco-editor/react"));
23
- var _monacoEditor = /*#__PURE__*/ _interopRequireWildcard(require("monaco-editor"));
23
+ var _react1 = require("react");
24
24
  var _hooks1 = require("../../hooks");
25
- _react.loader.config({
26
- monaco: _monacoEditor
27
- });
28
25
  var useStyles = (0, _core.createStyles)(function(theme) {
29
26
  return {
30
27
  root: {},
@@ -38,11 +35,12 @@ var useStyles = (0, _core.createStyles)(function(theme) {
38
35
  });
39
36
  var defaultProps = {
40
37
  language: "plaintext",
38
+ monacoLoader: "local",
41
39
  defaultValue: "",
42
40
  minHeight: 300
43
41
  };
44
42
  var CodeEditor = function(props) {
45
- var _ref = (0, _core.useComponentDefaultProps)("CodeEditor", defaultProps, props), language = _ref.language, defaultValue = _ref.defaultValue, onChange = _ref.onChange, onFocus = _ref.onFocus, value = _ref.value, label = _ref.label, required = _ref.required, labelProps = _ref.labelProps, error = _ref.error, errorProps = _ref.errorProps, description = _ref.description, descriptionProps = _ref.descriptionProps, minHeight = _ref.minHeight, maxHeight = _ref.maxHeight, disabled = _ref.disabled, others = _objectWithoutProperties(_ref, [
43
+ var _ref = (0, _core.useComponentDefaultProps)("CodeEditor", defaultProps, props), language = _ref.language, defaultValue = _ref.defaultValue, onChange = _ref.onChange, onFocus = _ref.onFocus, value = _ref.value, label = _ref.label, required = _ref.required, labelProps = _ref.labelProps, error = _ref.error, errorProps = _ref.errorProps, description = _ref.description, descriptionProps = _ref.descriptionProps, minHeight = _ref.minHeight, maxHeight = _ref.maxHeight, disabled = _ref.disabled, monacoLoader = _ref.monacoLoader, others = _objectWithoutProperties(_ref, [
46
44
  "language",
47
45
  "defaultValue",
48
46
  "onChange",
@@ -57,16 +55,53 @@ var CodeEditor = function(props) {
57
55
  "descriptionProps",
58
56
  "minHeight",
59
57
  "maxHeight",
60
- "disabled"
58
+ "disabled",
59
+ "monacoLoader"
61
60
  ]);
62
- var ref = useStyles(), classes = ref.classes, theme = ref.theme;
63
- var ref1 = _slicedToArray((0, _hooks.useUncontrolled)({
61
+ var ref = _slicedToArray((0, _react1.useState)(false), 2), loaded = ref[0], setLoaded = ref[1];
62
+ var ref1 = useStyles(), classes = ref1.classes, theme = ref1.theme;
63
+ var ref2 = _slicedToArray((0, _hooks.useUncontrolled)({
64
64
  value: value,
65
65
  defaultValue: defaultValue,
66
66
  onChange: onChange,
67
67
  finalValue: ""
68
- }), 2), _value = ref1[0], handleChange = ref1[1];
69
- var ref2 = _slicedToArray((0, _hooks1.useParentHeight)(), 2), parentHeight = ref2[0], ref3 = ref2[1];
68
+ }), 2), _value = ref2[0], handleChange = ref2[1];
69
+ var ref3 = _slicedToArray((0, _hooks1.useParentHeight)(), 2), parentHeight = ref3[0], ref4 = ref3[1];
70
+ var loadLocalMonaco = function() {
71
+ var _ref = _asyncToGenerator(function() {
72
+ var monaco;
73
+ return _tsGenerator(this, function(_state) {
74
+ switch(_state.label){
75
+ case 0:
76
+ return [
77
+ 4,
78
+ Promise.resolve().then(function() {
79
+ return /*#__PURE__*/ _interopRequireWildcard(require("monaco-editor"));
80
+ })
81
+ ];
82
+ case 1:
83
+ monaco = _state.sent();
84
+ _react.loader.config({
85
+ monaco: monaco
86
+ });
87
+ setLoaded(true);
88
+ return [
89
+ 2
90
+ ];
91
+ }
92
+ });
93
+ });
94
+ return function loadLocalMonaco() {
95
+ return _ref.apply(this, arguments);
96
+ };
97
+ }();
98
+ (0, _react1.useEffect)(function() {
99
+ if (monacoLoader === "local") {
100
+ loadLocalMonaco();
101
+ } else {
102
+ setLoaded(true);
103
+ }
104
+ }, []);
70
105
  var _label = label ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Input.Label, _objectSpreadProps(_objectSpread({
71
106
  required: required
72
107
  }, labelProps), {
@@ -112,7 +147,7 @@ var CodeEditor = function(props) {
112
147
  }
113
148
  })
114
149
  });
115
- var _editor = /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Box, {
150
+ var _editor = loaded ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Box, {
116
151
  p: "md",
117
152
  pl: "xs",
118
153
  className: classes.editor,
@@ -153,6 +188,9 @@ var CodeEditor = function(props) {
153
188
  }));
154
189
  }
155
190
  })
191
+ }) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Center, {
192
+ className: classes.editor,
193
+ children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Loader, {})
156
194
  });
157
195
  return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_core.Stack, _objectSpreadProps(_objectSpread({
158
196
  justify: "flex-start",
@@ -162,7 +200,7 @@ var CodeEditor = function(props) {
162
200
  height: Math.max(parentHeight, minHeight),
163
201
  maxHeight: maxHeight
164
202
  },
165
- ref: ref3
203
+ ref: ref4
166
204
  }, others), {
167
205
  children: [
168
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 CopyButton,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\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 * as monaco from 'monaco-editor';\nimport {FunctionComponent} from 'react';\n\nimport {useParentHeight} from '../../hooks';\n\nloader.config({monaco});\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\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\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 ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\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 _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 = (\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\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","loader","config","monaco","useStyles","createStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","defaultValue","minHeight","props","useComponentDefaultProps","onChange","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","classes","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","_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","Stack","justify","spacing","sx","Math","max"],"mappings":"AAAA;;;;+BA4EaA,YAAU;;;eAAVA,UAAU;;;;;;;;;;;gCA5EmB,6BAA6B;oBAchE,eAAe;qBACQ,gBAAgB;2DACjB,sBAAsB;kEAC3B,eAAe;sBAGT,aAAa;AAE3CC,MAAM,OAAA,CAACC,MAAM,CAAC;IAACC,MAAM,EAANA,aAAM;CAAC,CAAC,CAAC;AAExB,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;AAsCJ,IAAMC,YAAY,GAA6B;IAC3CC,QAAQ,EAAE,WAAW;IACrBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,GAAG;CACjB,AAAC;AAEK,IAAMtB,UAAU,GAAuC,SAACuB,KAAK,EAAK;IACrE,IAiBIC,IAA2D,GAA3DA,IAAAA,KAAwB,yBAAA,EAAC,YAAY,EAAEL,YAAY,EAAEI,KAAK,CAAC,EAhB3DH,QAAQ,GAgBRI,IAA2D,CAhB3DJ,QAAQ,EACRC,YAAY,GAeZG,IAA2D,CAf3DH,YAAY,EACZI,QAAQ,GAcRD,IAA2D,CAd3DC,QAAQ,EACRC,OAAO,GAaPF,IAA2D,CAb3DE,OAAO,EACPC,KAAK,GAYLH,IAA2D,CAZ3DG,KAAK,EACLC,KAAK,GAWLJ,IAA2D,CAX3DI,KAAK,EACLC,QAAQ,GAURL,IAA2D,CAV3DK,QAAQ,EACRC,UAAU,GASVN,IAA2D,CAT3DM,UAAU,EACVC,KAAK,GAQLP,IAA2D,CAR3DO,KAAK,EACLC,UAAU,GAOVR,IAA2D,CAP3DQ,UAAU,EACVC,WAAW,GAMXT,IAA2D,CAN3DS,WAAW,EACXC,gBAAgB,GAKhBV,IAA2D,CAL3DU,gBAAgB,EAChBZ,SAAS,GAITE,IAA2D,CAJ3DF,SAAS,EACTa,SAAS,GAGTX,IAA2D,CAH3DW,SAAS,EACTC,QAAQ,GAERZ,IAA2D,CAF3DY,QAAQ,EACLC,MAAM,4BACTb,IAA2D;QAhB3DJ,UAAQ;QACRC,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;MAEoD;IAChE,IAAyBhC,GAAW,GAAXA,SAAS,EAAE,EAA7BkC,OAAO,GAAWlC,GAAW,CAA7BkC,OAAO,EAAEhC,KAAK,GAAIF,GAAW,CAApBE,KAAK,AAAgB;IACrC,IAA+BiC,IAK7B,kBAL6BA,IAAAA,MAAe,gBAAA,EAAS;QACnDZ,KAAK,EAALA,KAAK;QACLN,YAAY,EAAZA,YAAY;QACZI,QAAQ,EAARA,QAAQ;QACRe,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,MAAM,GAAGlB,KAAK,iBAChB,qBAACmB,KAAK,MAAA,CAACC,KAAK;QAACnB,QAAQ,EAAEA,QAAQ;OAAMC,UAAU;kBAC1CF,KAAK;OACI,GACd,IAAI,AAAC;IAET,IAAMqB,YAAY,GAAGhB,WAAW,iBAC5B,qBAACc,KAAK,MAAA,CAACG,WAAW;QAACC,EAAE,EAAC,IAAI;OAAKjB,gBAAgB;kBAC1CD,WAAW;OACI,GACpB,IAAI,AAAC;IAET,IAAMmB,MAAM,GAAGrB,KAAK,iBAChB,qBAACgB,KAAK,MAAA,CAACM,KAAK;QAACF,EAAE,EAAC,IAAI;OAAKnB,UAAU;kBAC9BD,KAAK;OACI,GACd,IAAI,AAAC;IAET,IAAMuB,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;YAAChC,KAAK,EAAEc,MAAM;YAAEmB,OAAO,EAAE,IAAI;sBACnC;oBAAEC,MAAM,SAANA,MAAM,EAAEC,IAAI,SAAJA,IAAI;qCACX,qBAACC,KAAO,QAAA;oBAACnC,KAAK,EAAEiC,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;4BAAClD,MAAM,EAAE,EAAE;0BAAI,iBAAG,qBAACmD,iBAAY,aAAA;4BAACnD,MAAM,EAAE,EAAE;0BAAI;sBAC7D;kBACP;aACb;UACQ;MACT,AACX,AAAC;IAEF,IAAMoD,OAAO,iBACT,qBAACf,KAAG,IAAA;QAACgB,CAAC,EAAC,IAAI;QAACC,EAAE,EAAC,IAAI;QAACC,SAAS,EAAEnC,OAAO,CAAC9B,MAAM;kBACzC,cAAA,qBAACkE,MAAM,QAAA;YACHC,eAAe,EAAEvD,QAAQ;YACzBd,KAAK,EAAEA,KAAK,CAACS,WAAW,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS;YAC1D6D,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,EAAE7E,KAAK,CAAC8E,SAAS,CAACC,EAAE;gBAC5BC,QAAQ,EAAElD,QAAQ;gBAClBmD,OAAO,EAAE,CAAC;aACb;YACD5D,KAAK,EAAEc,MAAM;YACbhB,QAAQ,EAAEiB,YAAY;YACtB8C,OAAO,EAAE,SAAChF,MAAM,EAAK;gBACjBA,MAAM,CAACiF,oBAAoB,CAAC/D,OAAO,CAAC,CAAC;gBACrClB,MAAM,CAACkF,mBAAmB,eAAC,kBAAA,WAAY;;;;gCACnC;;oCAAMlF,MAAM,CAACmF,SAAS,CAAC,8BAA8B,CAAC,CAACC,GAAG,EAAE;kCAAA;;gCAA5D,aAA4D,CAAC;;;;;;gBACjE,CAAC,CAAA,CAAC,CAAC;YACP,CAAC;UACH;MACA,AACT,AAAC;IAEF,qBACI,sBAACC,KAAK,MAAA;QACFC,OAAO,EAAC,YAAY;QACpBrB,SAAS,EAAEnC,OAAO,CAAC/B,IAAI;QACvBwF,OAAO,EAAE,CAAC;QACVC,EAAE,EAAE;YAAC9E,MAAM,EAAE+E,IAAI,CAACC,GAAG,CAACtD,YAAY,EAAEtB,SAAS,CAAC;YAAEa,SAAS,EAATA,SAAS;SAAC;QAC1DU,GAAG,EAAEA,IAAG;OACJR,MAAM;;YAETiB,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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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "monaco", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return monaco;
9
+ }
10
+ });
11
+ var editor = {
12
+ create: function() {
13
+ return {
14
+ dispose: function() {
15
+ return null;
16
+ }
17
+ };
18
+ }
19
+ };
20
+ var monaco = {
21
+ editor: editor
22
+ };
23
+
24
+ //# sourceMappingURL=monaco-editor.js.map
@@ -0,0 +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,QAAM;;;eAANA,MAAM;;;AANnB,IAAMC,MAAM,GAAG;IACXC,MAAM,EAAE;eAAO;YACXC,OAAO,EAAE;uBAAY,IAAI;aAAA;SAC5B;KAAC;CACL,AAAC;AAEK,IAAMH,MAAM,GAAG;IAClBC,MAAM,EAANA,MAAM;CACT,AAAC"}
@@ -30,12 +30,11 @@ var defaultProps = {
30
30
  required: false
31
31
  };
32
32
  var Collection = function(props) {
33
- var _ref = (0, _core.useComponentDefaultProps)("Collection", defaultProps, props), value = _ref.value, defaultValue = _ref.defaultValue, onChange = _ref.onChange, onFocus = _ref.onFocus, disabled = _ref.disabled, draggable = _ref.draggable, children = _ref.children, spacing = _ref.spacing, required = _ref.required, newItem = _ref.newItem, addLabel = _ref.addLabel, addDisabledTooltip = _ref.addDisabledTooltip, // Style props
33
+ var _ref = (0, _core.useComponentDefaultProps)("Collection", defaultProps, props), value = _ref.value, defaultValue = _ref.defaultValue, onChange = _ref.onChange, disabled = _ref.disabled, draggable = _ref.draggable, children = _ref.children, spacing = _ref.spacing, required = _ref.required, newItem = _ref.newItem, addLabel = _ref.addLabel, addDisabledTooltip = _ref.addDisabledTooltip, allowAdd = _ref.allowAdd, // Style props
34
34
  classNames = _ref.classNames, className = _ref.className, styles = _ref.styles, unstyled = _ref.unstyled, others = _objectWithoutProperties(_ref, [
35
35
  "value",
36
36
  "defaultValue",
37
37
  "onChange",
38
- "onFocus",
39
38
  "disabled",
40
39
  "draggable",
41
40
  "children",
@@ -44,6 +43,7 @@ var Collection = function(props) {
44
43
  "newItem",
45
44
  "addLabel",
46
45
  "addDisabledTooltip",
46
+ "allowAdd",
47
47
  "classNames",
48
48
  "className",
49
49
  "styles",
@@ -75,13 +75,12 @@ var Collection = function(props) {
75
75
  children: children(item, index)
76
76
  }, index);
77
77
  });
78
- var hasEmptyItem = values.some(function(item) {
79
- return JSON.stringify(item) === JSON.stringify(newItem);
80
- });
78
+ var ref3;
79
+ var addAllowed = (ref3 = allowAdd === null || allowAdd === void 0 ? void 0 : allowAdd(values)) !== null && ref3 !== void 0 ? ref3 : true;
81
80
  var _addButton = disabled ? null : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, {
82
81
  children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Tooltip, {
83
82
  label: addDisabledTooltip,
84
- disabled: !hasEmptyItem,
83
+ disabled: addAllowed,
85
84
  children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Box, {
86
85
  children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Button, {
87
86
  variant: "subtle",
@@ -91,7 +90,7 @@ var Collection = function(props) {
91
90
  onClick: function() {
92
91
  return append(newItem);
93
92
  },
94
- disabled: hasEmptyItem,
93
+ disabled: !addAllowed,
95
94
  children: addLabel
96
95
  })
97
96
  })
@@ -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 newItem: T;\n children: (item: T, index: number) => ReactNode;\n defaultValue?: T[];\n value?: T[];\n onFocus?: () => void;\n onChange?: (value: T[]) => void;\n draggable?: boolean;\n disabled?: boolean;\n addLabel?: string;\n addDisabledTooltip?: string;\n spacing?: MantineNumberSize;\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 onFocus,\n disabled,\n draggable,\n children,\n spacing,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\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 items = values.map((item, index) => (\n <CollectionItem\n key={index}\n disabled={disabled}\n draggable={draggable}\n index={index}\n onRemove={() => remove(index)}\n styles={styles}\n removable={!(required && hasOnlyOneItem)}\n >\n {children(item, index)}\n </CollectionItem>\n ));\n\n const hasEmptyItem = values.some((item) => JSON.stringify(item) === JSON.stringify(newItem));\n\n const _addButton = disabled ? null : (\n <Group>\n <Tooltip label={addDisabledTooltip} disabled={!hasEmptyItem}>\n <Box>\n <Button\n variant=\"subtle\"\n leftIcon={<AddSize16Px height={16} />}\n onClick={() => append(newItem)}\n disabled={hasEmptyItem}\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","onFocus","children","newItem","classNames","className","styles","unstyled","others","useStyles","name","classes","cx","collectionID","useId","useControlledList","values","append","remove","reorder","hasOnlyOneItem","length","items","map","item","index","CollectionItem","onRemove","removable","hasEmptyItem","some","JSON","stringify","_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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"}
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 newItem: T;\n children: (item: T, index: number) => ReactNode;\n defaultValue?: T[];\n value?: T[];\n onFocus?: () => void;\n onChange?: (value: T[]) => void;\n draggable?: boolean;\n disabled?: boolean;\n allowAdd?: (values: T[]) => boolean;\n addLabel?: string;\n addDisabledTooltip?: string;\n spacing?: MantineNumberSize;\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 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 items = values.map((item, index) => (\n <CollectionItem\n key={index}\n disabled={disabled}\n draggable={draggable}\n index={index}\n onRemove={() => remove(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","children","newItem","allowAdd","classNames","className","styles","unstyled","others","useStyles","name","classes","cx","collectionID","useId","useControlledList","values","append","remove","reorder","hasOnlyOneItem","length","items","map","item","index","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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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/modal-wizard/index.ts"],"sourcesContent":["export * from './ModalWizard';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc,eAAe"}
1
+ {"version":3,"sources":["../../../../src/components/modal-wizard/index.ts"],"sourcesContent":["export * from './ModalWizard';\nexport {type ModalWizardStepProps} from './ModalWizardStep';\n"],"names":[],"mappings":"AAAA;;;;;oBAAc,eAAe"}
package/dist/cjs/index.js CHANGED
@@ -9,9 +9,6 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- ColumnDef: function() {
13
- return _tableCore.ColumnDef;
14
- },
15
12
  createColumnHelper: function() {
16
13
  return _tableCore.createColumnHelper;
17
14
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {Tuple} from '@mantine/core';\n\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport {ColumnDef, createColumnHelper} from '@tanstack/table-core';\n\nexport * from '@mantine/core';\nexport * from '@mantine/form';\nexport type {FormValidateInput} from '@mantine/form/lib/types';\nexport * from '@mantine/hooks';\n\nexport * from './components';\nexport * from './theme';\n\n// explicitly overriding mantine components\nexport {Header, Table} from './components';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), Tuple<string, 10>>;\n }\n}\n"],"names":["ColumnDef","createColumnHelper","Header","Table"],"mappings":"AAAA;;;;;;;;;;;IAIQA,SAAS;eAATA,UAAS,UAAA;;IAAEC,kBAAkB;eAAlBA,UAAkB,mBAAA;;IAW7BC,MAAM;eAANA,WAAM,OAAA;;IAAEC,KAAK;eAALA,WAAK,MAAA;;;;yBAXuB,sBAAsB;oBAEpD,eAAe;oBACf,eAAe;oBAEf,gBAAgB;sCAEhB,cAAc;oBACd,SAAS"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {Tuple} from '@mantine/core';\n\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport {type ColumnDef, createColumnHelper} from '@tanstack/table-core';\n\nexport * from '@mantine/core';\nexport * from '@mantine/form';\nexport type {FormValidateInput} from '@mantine/form/lib/types';\nexport * from '@mantine/hooks';\n\nexport * from './components';\nexport * from './theme';\n\n// explicitly overriding mantine components\nexport {Header, Table} from './components';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), Tuple<string, 10>>;\n }\n}\n"],"names":["createColumnHelper","Header","Table"],"mappings":"AAAA;;;;;;;;;;;IAIwBA,kBAAkB;eAAlBA,UAAkB,mBAAA;;IAWlCC,MAAM;eAANA,WAAM,OAAA;;IAAEC,KAAK;eAALA,WAAK,MAAA;;;;yBAX4B,sBAAsB;oBAEzD,eAAe;oBACf,eAAe;oBAEf,gBAAgB;sCAEhB,cAAc;oBACd,SAAS"}
@@ -37,6 +37,13 @@ interface CodeEditorProps extends Omit<InputWrapperBaseProps, 'inputContainer' |
37
37
  */
38
38
  maxHeight?: number;
39
39
  disabled?: boolean;
40
+ /**
41
+ * Defines how the monaco editor files will be loaded.
42
+ * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).
43
+ *
44
+ * @default 'local'
45
+ */
46
+ monacoLoader?: 'cdn' | 'local';
40
47
  }
41
48
  export declare const CodeEditor: FunctionComponent<CodeEditorProps>;
42
49
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAKH,YAAY,EAGZ,qBAAqB,EACrB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAMxC,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,UAAU,eACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAQD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA8GzD,CAAC"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AACA,OAAO,EAMH,YAAY,EAGZ,qBAAqB,EAErB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAI7D,QAAA,MAAM,SAAS;;;;CAQZ,CAAC;AAEJ,UAAU,eACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAkIzD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const monaco: {
2
+ editor: {
3
+ create: () => {
4
+ dispose: () => void;
5
+ };
6
+ };
7
+ };
8
+ //# sourceMappingURL=monaco-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/code-editor/__mocks__/monaco-editor.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;2BAJE,IAAI;;;CAMxB,CAAC"}
@@ -10,6 +10,7 @@ interface CollectionProps<T> extends DefaultProps<Selectors<typeof useStyles>> {
10
10
  onChange?: (value: T[]) => void;
11
11
  draggable?: boolean;
12
12
  disabled?: boolean;
13
+ allowAdd?: (values: T[]) => boolean;
13
14
  addLabel?: string;
14
15
  addDisabledTooltip?: string;
15
16
  spacing?: MantineNumberSize;
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,YAAY,EAEZ,iBAAiB,EACjB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAKhC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,eAAO,MAAM,UAAU,+CAmFtB,CAAC"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,YAAY,EAEZ,iBAAiB,EACjB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAKhC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,eAAO,MAAM,UAAU,+CAmFtB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './ModalWizard';
2
+ export { type ModalWizardStepProps } from './ModalWizardStep';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/modal-wizard/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/modal-wizard/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,KAAK,oBAAoB,EAAC,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Tuple } from '@mantine/core';
2
2
  import { PlasmaColors } from './theme/PlasmaColors';
3
- export { ColumnDef, createColumnHelper } from '@tanstack/table-core';
3
+ export { type ColumnDef, createColumnHelper } from '@tanstack/table-core';
4
4
  export * from '@mantine/core';
5
5
  export * from '@mantine/form';
6
6
  export type { FormValidateInput } from '@mantine/form/lib/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,QAAQ,eAAe,CAAC;IAC3B,UAAiB,0BAA0B;QAEvC,MAAM,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;KAChF;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAC,KAAK,SAAS,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC/D,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,QAAQ,eAAe,CAAC;IAC3B,UAAiB,0BAA0B;QAEvC,MAAM,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;KAChF;CACJ"}
@@ -6,14 +6,11 @@ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
6
6
  import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import { CheckSize16Px, CopySize16Px } from "@coveord/plasma-react-icons";
9
- import { ActionIcon, Box, CopyButton, createStyles, Group, Input, Stack, Tooltip, useComponentDefaultProps } from "@mantine/core";
9
+ import { ActionIcon, Box, Center, CopyButton, createStyles, Group, Input, Loader, Stack, Tooltip, useComponentDefaultProps } from "@mantine/core";
10
10
  import { useUncontrolled } from "@mantine/hooks";
11
11
  import Editor, { loader } from "@monaco-editor/react";
12
- import * as monaco from "monaco-editor";
12
+ import { useEffect, useState } from "react";
13
13
  import { useParentHeight } from "../../hooks";
14
- loader.config({
15
- monaco: monaco
16
- });
17
14
  var useStyles = createStyles(function(theme) {
18
15
  return {
19
16
  root: {},
@@ -27,11 +24,12 @@ var useStyles = createStyles(function(theme) {
27
24
  });
28
25
  var defaultProps = {
29
26
  language: "plaintext",
27
+ monacoLoader: "local",
30
28
  defaultValue: "",
31
29
  minHeight: 300
32
30
  };
33
31
  export var CodeEditor = function(props) {
34
- var _ref = useComponentDefaultProps("CodeEditor", defaultProps, props), language = _ref.language, defaultValue = _ref.defaultValue, onChange = _ref.onChange, onFocus = _ref.onFocus, value = _ref.value, label = _ref.label, required = _ref.required, labelProps = _ref.labelProps, error = _ref.error, errorProps = _ref.errorProps, description = _ref.description, descriptionProps = _ref.descriptionProps, minHeight = _ref.minHeight, maxHeight = _ref.maxHeight, disabled = _ref.disabled, others = _object_without_properties(_ref, [
32
+ var _ref = useComponentDefaultProps("CodeEditor", defaultProps, props), language = _ref.language, defaultValue = _ref.defaultValue, onChange = _ref.onChange, onFocus = _ref.onFocus, value = _ref.value, label = _ref.label, required = _ref.required, labelProps = _ref.labelProps, error = _ref.error, errorProps = _ref.errorProps, description = _ref.description, descriptionProps = _ref.descriptionProps, minHeight = _ref.minHeight, maxHeight = _ref.maxHeight, disabled = _ref.disabled, monacoLoader = _ref.monacoLoader, others = _object_without_properties(_ref, [
35
33
  "language",
36
34
  "defaultValue",
37
35
  "onChange",
@@ -46,16 +44,51 @@ export var CodeEditor = function(props) {
46
44
  "descriptionProps",
47
45
  "minHeight",
48
46
  "maxHeight",
49
- "disabled"
47
+ "disabled",
48
+ "monacoLoader"
50
49
  ]);
51
- var ref = useStyles(), classes = ref.classes, theme = ref.theme;
52
- var ref1 = _sliced_to_array(useUncontrolled({
50
+ var ref = _sliced_to_array(useState(false), 2), loaded = ref[0], setLoaded = ref[1];
51
+ var ref1 = useStyles(), classes = ref1.classes, theme = ref1.theme;
52
+ var ref2 = _sliced_to_array(useUncontrolled({
53
53
  value: value,
54
54
  defaultValue: defaultValue,
55
55
  onChange: onChange,
56
56
  finalValue: ""
57
- }), 2), _value = ref1[0], handleChange = ref1[1];
58
- var ref2 = _sliced_to_array(useParentHeight(), 2), parentHeight = ref2[0], ref3 = ref2[1];
57
+ }), 2), _value = ref2[0], handleChange = ref2[1];
58
+ var ref3 = _sliced_to_array(useParentHeight(), 2), parentHeight = ref3[0], ref4 = ref3[1];
59
+ var loadLocalMonaco = function() {
60
+ var _ref = _async_to_generator(function() {
61
+ var monaco;
62
+ return _ts_generator(this, function(_state) {
63
+ switch(_state.label){
64
+ case 0:
65
+ return [
66
+ 4,
67
+ import("monaco-editor")
68
+ ];
69
+ case 1:
70
+ monaco = _state.sent();
71
+ loader.config({
72
+ monaco: monaco
73
+ });
74
+ setLoaded(true);
75
+ return [
76
+ 2
77
+ ];
78
+ }
79
+ });
80
+ });
81
+ return function loadLocalMonaco() {
82
+ return _ref.apply(this, arguments);
83
+ };
84
+ }();
85
+ useEffect(function() {
86
+ if (monacoLoader === "local") {
87
+ loadLocalMonaco();
88
+ } else {
89
+ setLoaded(true);
90
+ }
91
+ }, []);
59
92
  var _label = label ? /*#__PURE__*/ _jsx(Input.Label, _object_spread_props(_object_spread({
60
93
  required: required
61
94
  }, labelProps), {
@@ -101,7 +134,7 @@ export var CodeEditor = function(props) {
101
134
  }
102
135
  })
103
136
  });
104
- var _editor = /*#__PURE__*/ _jsx(Box, {
137
+ var _editor = loaded ? /*#__PURE__*/ _jsx(Box, {
105
138
  p: "md",
106
139
  pl: "xs",
107
140
  className: classes.editor,
@@ -142,6 +175,9 @@ export var CodeEditor = function(props) {
142
175
  }));
143
176
  }
144
177
  })
178
+ }) : /*#__PURE__*/ _jsx(Center, {
179
+ className: classes.editor,
180
+ children: /*#__PURE__*/ _jsx(Loader, {})
145
181
  });
146
182
  return /*#__PURE__*/ _jsxs(Stack, _object_spread_props(_object_spread({
147
183
  justify: "flex-start",
@@ -151,7 +187,7 @@ export var CodeEditor = function(props) {
151
187
  height: Math.max(parentHeight, minHeight),
152
188
  maxHeight: maxHeight
153
189
  },
154
- ref: ref3
190
+ ref: ref4
155
191
  }, others), {
156
192
  children: [
157
193
  _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 CopyButton,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\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 * as monaco from 'monaco-editor';\nimport {FunctionComponent} from 'react';\n\nimport {useParentHeight} from '../../hooks';\n\nloader.config({monaco});\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\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\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 ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\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 _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 = (\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\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":["CheckSize16Px","CopySize16Px","ActionIcon","Box","CopyButton","createStyles","Group","Input","Stack","Tooltip","useComponentDefaultProps","useUncontrolled","Editor","loader","monaco","useParentHeight","config","useStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","defaultValue","minHeight","CodeEditor","props","onChange","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","classes","finalValue","_value","handleChange","parentHeight","ref","_label","Label","_description","Description","mt","_error","Error","_header","_copyButton","position","timeout","copied","copy","withArrow","color","onClick","_editor","p","pl","className","defaultLanguage","options","minimap","enabled","wordWrap","wrappingStrategy","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","justify","spacing","sx","Math","max"],"mappings":"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"}
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":["CheckSize16Px","CopySize16Px","ActionIcon","Box","Center","CopyButton","createStyles","Group","Input","Loader","Stack","Tooltip","useComponentDefaultProps","useUncontrolled","Editor","loader","useEffect","useState","useParentHeight","useStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","monacoLoader","defaultValue","minHeight","CodeEditor","props","onChange","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","loaded","setLoaded","classes","finalValue","_value","handleChange","parentHeight","ref","loadLocalMonaco","monaco","config","_label","Label","_description","Description","mt","_error","Error","_header","_copyButton","position","timeout","copied","copy","withArrow","color","onClick","_editor","p","pl","className","defaultLanguage","options","minimap","enabled","wordWrap","wrappingStrategy","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","justify","spacing","sx","Math","max"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ var editor = {
2
+ create: function() {
3
+ return {
4
+ dispose: function() {
5
+ return null;
6
+ }
7
+ };
8
+ }
9
+ };
10
+ export var monaco = {
11
+ editor: editor
12
+ };
13
+
14
+ //# sourceMappingURL=monaco-editor.js.map
@@ -0,0 +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":["editor","create","dispose","monaco"],"mappings":"AAAA,IAAMA,MAAM,GAAG;IACXC,MAAM,EAAE;eAAO;YACXC,OAAO,EAAE;uBAAY,IAAI;aAAA;SAC5B;KAAC;CACL,AAAC;AAEF,OAAO,IAAMC,MAAM,GAAG;IAClBH,MAAM,EAANA,MAAM;CACT,CAAC"}