@coveord/plasma-mantine 55.7.2-next.21 → 55.7.2-next.23

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 (117) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +53 -51
  3. package/__mocks__/@monaco-editor/react.tsx +1 -0
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cjs/components/checkbox/CheckboxIcon.d.ts +7 -0
  6. package/dist/cjs/components/checkbox/CheckboxIcon.d.ts.map +1 -0
  7. package/dist/cjs/components/checkbox/CheckboxIcon.js +29 -0
  8. package/dist/cjs/components/checkbox/CheckboxIcon.js.map +1 -0
  9. package/dist/cjs/components/checkbox/index.d.ts +2 -0
  10. package/dist/cjs/components/checkbox/index.d.ts.map +1 -0
  11. package/dist/cjs/components/checkbox/index.js +8 -0
  12. package/dist/cjs/components/checkbox/index.js.map +1 -0
  13. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  14. package/dist/cjs/components/code-editor/CodeEditor.js +19 -21
  15. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  16. package/dist/cjs/components/code-editor/CodeEditor.module.css +10 -6
  17. package/dist/cjs/components/collection/CollectionItem.d.ts.map +1 -1
  18. package/dist/cjs/components/collection/CollectionItem.js +9 -4
  19. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  20. package/dist/cjs/components/index.d.ts +2 -0
  21. package/dist/cjs/components/index.d.ts.map +1 -1
  22. package/dist/cjs/components/index.js +2 -0
  23. package/dist/cjs/components/index.js.map +1 -1
  24. package/dist/cjs/components/loader/CircleLoader.d.ts +3 -0
  25. package/dist/cjs/components/loader/CircleLoader.d.ts.map +1 -0
  26. package/dist/cjs/components/loader/CircleLoader.js +32 -0
  27. package/dist/cjs/components/loader/CircleLoader.js.map +1 -0
  28. package/dist/cjs/components/loader/CircleLoader.module.css +29 -0
  29. package/dist/cjs/components/loader/index.d.ts +2 -0
  30. package/dist/cjs/components/loader/index.d.ts.map +1 -0
  31. package/dist/cjs/components/loader/index.js +8 -0
  32. package/dist/cjs/components/loader/index.js.map +1 -0
  33. package/dist/cjs/components/read-only/ReadOnlyInputStyles.js +2 -2
  34. package/dist/cjs/components/read-only/ReadOnlyInputStyles.js.map +1 -1
  35. package/dist/cjs/components/table/layouts/row-layout/RowLayout.module.css +1 -1
  36. package/dist/cjs/styles/Badge.module.css +2 -0
  37. package/dist/cjs/styles/Checkbox.module.css +41 -5
  38. package/dist/cjs/styles/CheckboxIndicator.module.css +8 -1
  39. package/dist/cjs/styles/Input.module.css +8 -2
  40. package/dist/cjs/styles/Pagination.module.css +10 -1
  41. package/dist/cjs/styles/Radio.module.css +30 -2
  42. package/dist/cjs/styles/ReadOnlyInput.module.css +7 -3
  43. package/dist/cjs/styles/Select.module.css +46 -0
  44. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  45. package/dist/cjs/theme/Theme.js +16 -19
  46. package/dist/cjs/theme/Theme.js.map +1 -1
  47. package/dist/cjs/theme/plasmaCSSVariablesResolver.d.ts.map +1 -1
  48. package/dist/cjs/theme/plasmaCSSVariablesResolver.js +6 -1
  49. package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
  50. package/dist/esm/components/checkbox/CheckboxIcon.d.ts +7 -0
  51. package/dist/esm/components/checkbox/CheckboxIcon.d.ts.map +1 -0
  52. package/dist/esm/components/checkbox/CheckboxIcon.js +16 -0
  53. package/dist/esm/components/checkbox/CheckboxIcon.js.map +1 -0
  54. package/dist/esm/components/checkbox/index.d.ts +2 -0
  55. package/dist/esm/components/checkbox/index.d.ts.map +1 -0
  56. package/dist/esm/components/checkbox/index.js +3 -0
  57. package/dist/esm/components/checkbox/index.js.map +1 -0
  58. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  59. package/dist/esm/components/code-editor/CodeEditor.js +18 -19
  60. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  61. package/dist/esm/components/code-editor/CodeEditor.module.css +10 -6
  62. package/dist/esm/components/collection/CollectionItem.d.ts.map +1 -1
  63. package/dist/esm/components/collection/CollectionItem.js +5 -2
  64. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  65. package/dist/esm/components/index.d.ts +2 -0
  66. package/dist/esm/components/index.d.ts.map +1 -1
  67. package/dist/esm/components/index.js +2 -0
  68. package/dist/esm/components/index.js.map +1 -1
  69. package/dist/esm/components/loader/CircleLoader.d.ts +3 -0
  70. package/dist/esm/components/loader/CircleLoader.d.ts.map +1 -0
  71. package/dist/esm/components/loader/CircleLoader.js +13 -0
  72. package/dist/esm/components/loader/CircleLoader.js.map +1 -0
  73. package/dist/esm/components/loader/CircleLoader.module.css +29 -0
  74. package/dist/esm/components/loader/index.d.ts +2 -0
  75. package/dist/esm/components/loader/index.d.ts.map +1 -0
  76. package/dist/esm/components/loader/index.js +3 -0
  77. package/dist/esm/components/loader/index.js.map +1 -0
  78. package/dist/esm/components/read-only/ReadOnlyInputStyles.js +2 -2
  79. package/dist/esm/components/read-only/ReadOnlyInputStyles.js.map +1 -1
  80. package/dist/esm/components/table/layouts/row-layout/RowLayout.module.css +1 -1
  81. package/dist/esm/styles/Badge.module.css +2 -0
  82. package/dist/esm/styles/Checkbox.module.css +41 -5
  83. package/dist/esm/styles/CheckboxIndicator.module.css +8 -1
  84. package/dist/esm/styles/Input.module.css +8 -2
  85. package/dist/esm/styles/Pagination.module.css +10 -1
  86. package/dist/esm/styles/Radio.module.css +30 -2
  87. package/dist/esm/styles/ReadOnlyInput.module.css +7 -3
  88. package/dist/esm/styles/Select.module.css +46 -0
  89. package/dist/esm/theme/Theme.d.ts.map +1 -1
  90. package/dist/esm/theme/Theme.js +17 -20
  91. package/dist/esm/theme/Theme.js.map +1 -1
  92. package/dist/esm/theme/plasmaCSSVariablesResolver.d.ts.map +1 -1
  93. package/dist/esm/theme/plasmaCSSVariablesResolver.js +6 -1
  94. package/dist/esm/theme/plasmaCSSVariablesResolver.js.map +1 -1
  95. package/package.json +3 -3
  96. package/src/components/checkbox/CheckboxIcon.tsx +14 -0
  97. package/src/components/checkbox/index.ts +1 -0
  98. package/src/components/code-editor/CodeEditor.module.css +10 -6
  99. package/src/components/code-editor/CodeEditor.tsx +23 -26
  100. package/src/components/collection/CollectionItem.tsx +9 -3
  101. package/src/components/collection/__tests__/Collection.spec.tsx +140 -44
  102. package/src/components/index.ts +2 -0
  103. package/src/components/loader/CircleLoader.module.css +29 -0
  104. package/src/components/loader/CircleLoader.tsx +8 -0
  105. package/src/components/loader/index.ts +1 -0
  106. package/src/components/read-only/ReadOnlyInputStyles.ts +2 -2
  107. package/src/components/table/layouts/row-layout/RowLayout.module.css +1 -1
  108. package/src/styles/Badge.module.css +2 -0
  109. package/src/styles/Checkbox.module.css +41 -5
  110. package/src/styles/CheckboxIndicator.module.css +8 -1
  111. package/src/styles/Input.module.css +8 -2
  112. package/src/styles/Pagination.module.css +10 -1
  113. package/src/styles/Radio.module.css +30 -2
  114. package/src/styles/ReadOnlyInput.module.css +7 -3
  115. package/src/styles/Select.module.css +46 -0
  116. package/src/theme/Theme.tsx +9 -14
  117. package/src/theme/plasmaCSSVariablesResolver.ts +11 -1
@@ -0,0 +1,7 @@
1
+ import { ComponentPropsWithoutRef, FunctionComponent } from 'react';
2
+ interface CheckboxIconProps extends ComponentPropsWithoutRef<'svg'> {
3
+ indeterminate: boolean | undefined;
4
+ }
5
+ export declare const CheckboxIcon: FunctionComponent<CheckboxIconProps>;
6
+ export {};
7
+ //# sourceMappingURL=CheckboxIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/checkbox/CheckboxIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAElE,UAAU,iBAAkB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC/D,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAM7D,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CheckboxIcon", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CheckboxIcon;
9
+ }
10
+ });
11
+ var _object_spread = require("@swc/helpers/_/_object_spread");
12
+ var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
13
+ var _jsxruntime = require("react/jsx-runtime");
14
+ var _plasmareacticons = require("@coveord/plasma-react-icons");
15
+ var CheckboxIcon = function(_param) {
16
+ var indeterminate = _param.indeterminate, others = _object_without_properties._(_param, [
17
+ "indeterminate"
18
+ ]);
19
+ if (indeterminate) {
20
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.IconMinus, _object_spread._({
21
+ stroke: 3
22
+ }, others));
23
+ }
24
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.IconCheck, _object_spread._({
25
+ stroke: 3
26
+ }, others));
27
+ };
28
+
29
+ //# sourceMappingURL=CheckboxIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/checkbox/CheckboxIcon.tsx"],"sourcesContent":["import {IconCheck, IconMinus} from '@coveord/plasma-react-icons';\nimport {ComponentPropsWithoutRef, FunctionComponent} from 'react';\n\ninterface CheckboxIconProps extends ComponentPropsWithoutRef<'svg'> {\n indeterminate: boolean | undefined;\n}\n\nexport const CheckboxIcon: FunctionComponent<CheckboxIconProps> = ({indeterminate, ...others}: CheckboxIconProps) => {\n if (indeterminate) {\n return <IconMinus stroke={3} {...others} />;\n }\n\n return <IconCheck stroke={3} {...others} />;\n};\n"],"names":["CheckboxIcon","indeterminate","others","IconMinus","stroke","IconCheck"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;gCAPsB;AAO5B,IAAMA,eAAqD;QAAEC,uBAAAA,eAAkBC;QAAlBD;;IAChE,IAAIA,eAAe;QACf,qBAAO,qBAACE,2BAAS;YAACC,QAAQ;WAAOF;IACrC;IAEA,qBAAO,qBAACG,2BAAS;QAACD,QAAQ;OAAOF;AACrC"}
@@ -0,0 +1,2 @@
1
+ export * from './CheckboxIcon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/checkbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./CheckboxIcon"), exports);
7
+
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/checkbox/index.ts"],"sourcesContent":["export * from './CheckboxIcon';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKH,iBAAiB,EAIjB,UAAU,EAKb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAiB,MAAM,IAAI,YAAY,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAA8B,MAAM,OAAO,CAAC;AAQrE,UAAU,eACN,SAAQ,IAAI,CACJ,iBAAiB,EACjB,gBAAgB,GAAG,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CACzF,EACD,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IACrF,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,kDAAkD;IAClD,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IACjF;;;;;;;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;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAC;CAChF;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA+LzD,CAAC"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKH,iBAAiB,EAIjB,UAAU,EAKb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAiB,MAAM,IAAI,YAAY,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAA8B,MAAM,OAAO,CAAC;AAQrE,UAAU,eACN,SAAQ,IAAI,CACJ,iBAAiB,EACjB,gBAAgB,GAAG,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CACzF,EACD,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IACrF,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,kDAAkD;IAClD,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IACjF;;;;;;;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;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAC;CAChF;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA4LzD,CAAC"}
@@ -103,20 +103,12 @@ var CodeEditor = function(props) {
103
103
  }
104
104
  };
105
105
  var registerThemes = function(monaco) {
106
- monaco.editor.defineTheme('light-disabled', {
106
+ monaco.editor.defineTheme('light', {
107
107
  base: 'vs',
108
108
  inherit: true,
109
109
  rules: [],
110
110
  colors: {
111
- 'editor.background': theme.colors.gray[2]
112
- }
113
- });
114
- monaco.editor.defineTheme('vs-dark-disabled', {
115
- base: 'vs-dark',
116
- inherit: true,
117
- rules: [],
118
- colors: {
119
- 'editor.background': theme.colors.navy[7]
111
+ 'editor.background': theme.colors.gray[0]
120
112
  }
121
113
  });
122
114
  };
@@ -153,14 +145,13 @@ var CodeEditor = function(props) {
153
145
  var _description = description ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Description, _object_spread_props._(_object_spread._({}, descriptionProps), {
154
146
  children: description
155
147
  })) : null;
156
- var _error = error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Error, _object_spread_props._(_object_spread._({
157
- mt: "xs"
158
- }, errorProps), {
148
+ var _error = error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Error, _object_spread_props._(_object_spread._({}, errorProps), {
159
149
  children: error
160
150
  })) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Space, {
161
151
  h: "xs"
162
152
  });
163
- var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
153
+ var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, {
154
+ gap: "xxs",
164
155
  children: [
165
156
  _label,
166
157
  _description
@@ -168,7 +159,7 @@ var CodeEditor = function(props) {
168
159
  }) : null;
169
160
  var _buttons = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
170
161
  justify: "right",
171
- gap: 0,
162
+ gap: "xs",
172
163
  children: [
173
164
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_search.Search, {
174
165
  handleSearch: handleSearch
@@ -207,13 +198,15 @@ var CodeEditor = function(props) {
207
198
  },
208
199
  value: _value,
209
200
  onChange: handleChange,
210
- onMount: function(editor, monaco) {
201
+ beforeMount: function(monaco) {
202
+ registerLanguages(monaco);
203
+ registerThemes(monaco);
204
+ },
205
+ onMount: function(editor) {
211
206
  editorRef.current = editor;
212
207
  if (editorHandle) {
213
208
  editorHandle.current = editor;
214
209
  }
215
- registerLanguages(monaco);
216
- registerThemes(monaco);
217
210
  editor.onDidFocusEditorText(function() {
218
211
  return onFocus === null || onFocus === void 0 ? void 0 : onFocus();
219
212
  });
@@ -256,14 +249,19 @@ var CodeEditor = function(props) {
256
249
  });
257
250
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, _object_spread_props._(_object_spread._({
258
251
  justify: "flex-start",
259
- gap: 0,
252
+ gap: "sm",
260
253
  h: Math.max(parentHeight, minHeight),
261
254
  mah: maxHeight,
262
255
  ref: ref
263
256
  }, others), {
264
257
  children: [
265
- _header,
266
- _buttons,
258
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
259
+ justify: "space-between",
260
+ children: [
261
+ _header,
262
+ _buttons
263
+ ]
264
+ }),
267
265
  _editor,
268
266
  _error
269
267
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml';\nimport {Search} from './search';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\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 search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\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 * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\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 onCopy,\n onSearch,\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 options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light-disabled', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[2],\n },\n });\n monaco.editor.defineTheme('vs-dark-disabled', {\n base: 'vs-dark',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.navy[7],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const renderErrorOutline = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\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 {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : (\n <Space h=\"xs\" />\n );\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap={0}>\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.editor,\n {[CodeEditorClasses.valid]: !renderErrorOutline},\n {[CodeEditorClasses.error]: renderErrorOutline},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor, monaco) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n registerLanguages(monaco);\n registerThemes(monaco);\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack justify=\"flex-start\" gap={0} h={Math.max(parentHeight, minHeight)} mah={maxHeight} ref={ref} {...others}>\n {_header}\n {_buttons}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","useState","loaded","setLoaded","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","navy","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","renderErrorOutline","useMantineTheme","colorScheme","useMantineColorScheme","useEffect","handleValidate","markers","some","marker","severity","MarkerSeverity","Error","_label","Input","Label","_description","Description","_error","mt","Space","h","_header","Box","_buttons","Group","justify","gap","Search","CopyToClipboard","editorTheme","_editor","p","pl","className","cx","CodeEditorClasses","valid","data-testid","Editor","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Center","Loader","Stack","Math","max","mah"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml';\nimport {Search} from './search';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\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 search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\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 * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\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 onCopy,\n onSearch,\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 options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[0],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const renderErrorOutline = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\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 {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : <Space h=\"xs\" />;\n\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap=\"xs\">\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.editor,\n {[CodeEditorClasses.valid]: !renderErrorOutline},\n {[CodeEditorClasses.error]: renderErrorOutline},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n beforeMount={(monaco) => {\n registerLanguages(monaco);\n registerThemes(monaco);\n }}\n onMount={(editor) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n gap=\"sm\"\n h={Math.max(parentHeight, minHeight)}\n mah={maxHeight}\n ref={ref}\n {...others}\n >\n <Group justify=\"space-between\">\n {_header}\n {_buttons}\n </Group>\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","useState","loaded","setLoaded","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","renderErrorOutline","useMantineTheme","colorScheme","useMantineColorScheme","useEffect","handleValidate","markers","some","marker","severity","MarkerSeverity","Error","_label","Input","Label","_description","Description","_error","Space","h","_header","Stack","gap","_buttons","Group","justify","Search","CopyToClipboard","editorTheme","_editor","Box","p","pl","className","cx","CodeEditorClasses","valid","data-testid","Editor","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","beforeMount","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Center","Loader","Math","max","mah"],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  outline-width: thin;
7
7
 
8
8
  @mixin light {
9
- background-color: var(--mantine-color-white);
9
+ background-color: var(--mantine-color-gray-0);
10
10
  }
11
11
 
12
12
  @mixin dark {
@@ -20,16 +20,20 @@
20
20
  }
21
21
 
22
22
  .error {
23
- outline-color: var(--mantine-color-red-6);
23
+ outline-color: var(--mantine-color-error);
24
24
  outline-style: solid;
25
25
  }
26
26
 
27
27
  .disabled {
28
28
  @mixin light {
29
- background-color: var(--mantine-color-gray-2);
30
- }
29
+ border: 1px solid var(--mantine-color-gray-1);
30
+ background-color: var(--mantine-color-gray-1);
31
31
 
32
- @mixin dark {
33
- background-color: var(--mantine-color-navy-7);
32
+ :global {
33
+ .monaco-editor {
34
+ --vscode-editor-background: var(--mantine-color-gray-1);
35
+ --vscode-editorGutter-background: var(--mantine-color-gray-1);
36
+ }
37
+ }
34
38
  }
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/CollectionItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,UAAU,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAK3D,UAAU,mBAAoB,SAAQ,yBAAyB;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAA0B,SAAQ,UAAU;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAmED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAYpF,CAAC"}
1
+ {"version":3,"file":"CollectionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/CollectionItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,UAAU,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAK3D,UAAU,mBAAoB,SAAQ,yBAAyB;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAA0B,SAAQ,UAAU;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAyED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAYpF,CAAC"}
@@ -39,12 +39,14 @@ var RemoveButtonPlaceholder = function() {
39
39
  });
40
40
  };
41
41
  var StaticCollectionItem = function(param) {
42
- var onRemove = param.onRemove, _param_removable = param.removable, removable = _param_removable === void 0 ? true : _param_removable, children = param.children;
42
+ var onRemove = param.onRemove, _param_removable = param.removable, removable = _param_removable === void 0 ? true : _param_removable, id = param.id, children = param.children;
43
43
  var ctx = (0, _CollectionContext.useCollectionContext)();
44
44
  var removeButton = removable && onRemove ? /*#__PURE__*/ (0, _jsxruntime.jsx)(RemoveButton, {
45
45
  onClick: onRemove
46
46
  }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(RemoveButtonPlaceholder, {});
47
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, _object_spread_props._(_object_spread._({}, ctx.getStyles('item')), {
47
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, _object_spread_props._(_object_spread._({
48
+ "data-testid": "item-".concat(id)
49
+ }, ctx.getStyles('item')), {
48
50
  children: [
49
51
  children,
50
52
  removeButton
@@ -52,9 +54,11 @@ var StaticCollectionItem = function(param) {
52
54
  }));
53
55
  };
54
56
  var DisabledCollectionItem = function(param) {
55
- var children = param.children;
57
+ var id = param.id, children = param.children;
56
58
  var ctx = (0, _CollectionContext.useCollectionContext)();
57
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread_props._(_object_spread._({}, ctx.getStyles('item')), {
59
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread_props._(_object_spread._({
60
+ "data-testid": "item-".concat(id)
61
+ }, ctx.getStyles('item')), {
58
62
  children: children
59
63
  }));
60
64
  };
@@ -68,6 +72,7 @@ var DraggableCollectionItem = function(param) {
68
72
  id: id
69
73
  }), attributes = _useSortable.attributes, listeners = _useSortable.listeners, setNodeRef = _useSortable.setNodeRef, transform = _useSortable.transform, transition = _useSortable.transition, isDragging = _useSortable.isDragging, setActivatorNodeRef = _useSortable.setActivatorNodeRef;
70
74
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, _object_spread_props._(_object_spread._({
75
+ "data-testid": "item-".concat(id),
71
76
  ref: setNodeRef
72
77
  }, ctx.getStyles('item', {
73
78
  style: transform ? {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize24Px, IconCircleMinus} from '@coveord/plasma-react-icons';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {ActionIcon} from '../action-icon';\nimport {useCollectionContext} from './CollectionContext';\n\ninterface CollectionItemProps extends CollectionItemSharedProps {\n draggable?: boolean;\n disabled: boolean;\n}\n\ninterface CollectionItemSharedProps extends GroupProps {\n id: string;\n onRemove?: React.MouseEventHandler<HTMLButtonElement>;\n removable?: boolean;\n}\n\nconst RemoveButton: FunctionComponent<{\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}> = ({onClick}) => (\n <ActionIcon.Quaternary style={{alignSelf: 'center'}} onClick={onClick}>\n <IconCircleMinus aria-label=\"Remove\" size={20} />\n </ActionIcon.Quaternary>\n);\n\nconst RemoveButtonPlaceholder = () => <div style={{width: 28}} />;\n\nconst StaticCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n onRemove,\n removable = true,\n children,\n}) => {\n const ctx = useCollectionContext();\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : <RemoveButtonPlaceholder />;\n\n return (\n <Group {...ctx.getStyles('item')}>\n {children}\n {removeButton}\n </Group>\n );\n};\n\nconst DisabledCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({children}) => {\n const ctx = useCollectionContext();\n return <Group {...ctx.getStyles('item')}>{children}</Group>;\n};\n\nconst DraggableCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n id,\n onRemove,\n removable = true,\n children,\n}) => {\n const ctx = useCollectionContext();\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : null;\n const {attributes, listeners, setNodeRef, transform, transition, isDragging, setActivatorNodeRef} = useSortable({\n id,\n });\n\n return (\n <Group\n ref={setNodeRef}\n {...ctx.getStyles('item', {\n style: transform\n ? {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : undefined,\n })}\n data-isdragging={isDragging}\n >\n <div ref={setActivatorNodeRef} {...listeners} {...attributes} {...ctx.getStyles('dragHandle')}>\n <DragAndDropSize24Px height={16} />\n </div>\n {children}\n {removeButton}\n </Group>\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","Quaternary","style","alignSelf","IconCircleMinus","aria-label","size","RemoveButtonPlaceholder","div","width","StaticCollectionItem","onRemove","removable","children","ctx","useCollectionContext","removeButton","Group","getStyles","DisabledCollectionItem","DraggableCollectionItem","id","useSortable","attributes","listeners","setNodeRef","transform","transition","isDragging","setActivatorNodeRef","ref","CSS","Transform","toString","undefined","data-isdragging","DragAndDropSize24Px","height","draggable","disabled","otherProps"],"mappings":";;;;+BAqFaA;;;eAAAA;;;;;;;gCArFsC;wBACzB;yBACR;oBACc;0BAGP;iCACU;AAanC,IAAMC,eAED;QAAEC,gBAAAA;yBACH,qBAACC,sBAAU,CAACC,UAAU;QAACC,OAAO;YAACC,WAAW;QAAQ;QAAGJ,SAASA;kBAC1D,cAAA,qBAACK,iCAAe;YAACC,cAAW;YAASC,MAAM;;;;AAInD,IAAMC,0BAA0B;yBAAM,qBAACC;QAAIN,OAAO;YAACO,OAAO;QAAE;;;AAE5D,IAAMC,uBAAwF;QAC1FC,iBAAAA,mCACAC,WAAAA,0CAAY,yBACZC,iBAAAA;IAEA,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,IAAMC,eAAeJ,aAAaD,yBAAW,qBAACb;QAAaC,SAASY;uBAAe,qBAACJ;IAEpF,qBACI,sBAACU,WAAK,8CAAKH,IAAII,SAAS,CAAC;;YACpBL;YACAG;;;AAGb;AAEA,IAAMG,yBAA0F;QAAEN,iBAAAA;IAC9F,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,qBAAO,qBAACE,WAAK,8CAAKH,IAAII,SAAS,CAAC;kBAAUL;;AAC9C;AAEA,IAAMO,0BAA2F;QAC7FC,WAAAA,IACAV,iBAAAA,mCACAC,WAAAA,0CAAY,yBACZC,iBAAAA;IAEA,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,IAAMC,eAAeJ,aAAaD,yBAAW,qBAACb;QAAaC,SAASY;SAAe;IACnF,IAAoGW,eAAAA,IAAAA,qBAAW,EAAC;QAC5GD,IAAAA;IACJ,IAFOE,aAA6FD,aAA7FC,YAAYC,YAAiFF,aAAjFE,WAAWC,aAAsEH,aAAtEG,YAAYC,YAA0DJ,aAA1DI,WAAWC,aAA+CL,aAA/CK,YAAYC,aAAmCN,aAAnCM,YAAYC,sBAAuBP,aAAvBO;IAI7E,qBACI,sBAACZ,WAAK;QACFa,KAAKL;OACDX,IAAII,SAAS,CAAC,QAAQ;QACtBhB,OAAOwB,YACD;YACIA,WAAWK,cAAG,CAACC,SAAS,CAACC,QAAQ,CAACP;YAClCC,YAAAA;QACJ,IACAO;IACV;QACAC,mBAAiBP;;0BAEjB,qBAACpB;gBAAIsB,KAAKD;eAAyBL,WAAeD,YAAgBT,IAAII,SAAS,CAAC;0BAC5E,cAAA,qBAACkB,qCAAmB;oBAACC,QAAQ;;;YAEhCxB;YACAG;;;AAGb;AAEO,IAAMnB,iBAA4E;QACrFyC,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAIA,UAAU;QACV,qBAAO,qBAACpB,6CAA2BqB;IACvC;IACA,IAAIF,WAAW;QACX,qBAAO,qBAAClB,8CAA4BoB;IACxC;IACA,qBAAO,qBAAC9B,2CAAyB8B;AACrC"}
1
+ {"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize24Px, IconCircleMinus} from '@coveord/plasma-react-icons';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {ActionIcon} from '../action-icon';\nimport {useCollectionContext} from './CollectionContext';\n\ninterface CollectionItemProps extends CollectionItemSharedProps {\n draggable?: boolean;\n disabled: boolean;\n}\n\ninterface CollectionItemSharedProps extends GroupProps {\n id: string;\n onRemove?: React.MouseEventHandler<HTMLButtonElement>;\n removable?: boolean;\n}\n\nconst RemoveButton: FunctionComponent<{\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}> = ({onClick}) => (\n <ActionIcon.Quaternary style={{alignSelf: 'center'}} onClick={onClick}>\n <IconCircleMinus aria-label=\"Remove\" size={20} />\n </ActionIcon.Quaternary>\n);\n\nconst RemoveButtonPlaceholder = () => <div style={{width: 28}} />;\n\nconst StaticCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n onRemove,\n removable = true,\n id,\n children,\n}) => {\n const ctx = useCollectionContext();\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : <RemoveButtonPlaceholder />;\n\n return (\n <Group data-testid={`item-${id}`} {...ctx.getStyles('item')}>\n {children}\n {removeButton}\n </Group>\n );\n};\n\nconst DisabledCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({id, children}) => {\n const ctx = useCollectionContext();\n return (\n <Group data-testid={`item-${id}`} {...ctx.getStyles('item')}>\n {children}\n </Group>\n );\n};\n\nconst DraggableCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = ({\n id,\n onRemove,\n removable = true,\n children,\n}) => {\n const ctx = useCollectionContext();\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : null;\n const {attributes, listeners, setNodeRef, transform, transition, isDragging, setActivatorNodeRef} = useSortable({\n id,\n });\n\n return (\n <Group\n data-testid={`item-${id}`}\n ref={setNodeRef}\n {...ctx.getStyles('item', {\n style: transform\n ? {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : undefined,\n })}\n data-isdragging={isDragging}\n >\n <div ref={setActivatorNodeRef} {...listeners} {...attributes} {...ctx.getStyles('dragHandle')}>\n <DragAndDropSize24Px height={16} />\n </div>\n {children}\n {removeButton}\n </Group>\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","Quaternary","style","alignSelf","IconCircleMinus","aria-label","size","RemoveButtonPlaceholder","div","width","StaticCollectionItem","onRemove","removable","id","children","ctx","useCollectionContext","removeButton","Group","data-testid","getStyles","DisabledCollectionItem","DraggableCollectionItem","useSortable","attributes","listeners","setNodeRef","transform","transition","isDragging","setActivatorNodeRef","ref","CSS","Transform","toString","undefined","data-isdragging","DragAndDropSize24Px","height","draggable","disabled","otherProps"],"mappings":";;;;+BA2FaA;;;eAAAA;;;;;;;gCA3FsC;wBACzB;yBACR;oBACc;0BAGP;iCACU;AAanC,IAAMC,eAED;QAAEC,gBAAAA;yBACH,qBAACC,sBAAU,CAACC,UAAU;QAACC,OAAO;YAACC,WAAW;QAAQ;QAAGJ,SAASA;kBAC1D,cAAA,qBAACK,iCAAe;YAACC,cAAW;YAASC,MAAM;;;;AAInD,IAAMC,0BAA0B;yBAAM,qBAACC;QAAIN,OAAO;YAACO,OAAO;QAAE;;;AAE5D,IAAMC,uBAAwF;QAC1FC,iBAAAA,mCACAC,WAAAA,0CAAY,yBACZC,WAAAA,IACAC,iBAAAA;IAEA,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,IAAMC,eAAeL,aAAaD,yBAAW,qBAACb;QAAaC,SAASY;uBAAe,qBAACJ;IAEpF,qBACI,sBAACW,WAAK;QAACC,eAAa,AAAC,QAAU,OAAHN;OAAUE,IAAIK,SAAS,CAAC;;YAC/CN;YACAG;;;AAGb;AAEA,IAAMI,yBAA0F;QAAER,WAAAA,IAAIC,iBAAAA;IAClG,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,qBACI,qBAACE,WAAK;QAACC,eAAa,AAAC,QAAU,OAAHN;OAAUE,IAAIK,SAAS,CAAC;kBAC/CN;;AAGb;AAEA,IAAMQ,0BAA2F;QAC7FT,WAAAA,IACAF,iBAAAA,mCACAC,WAAAA,0CAAY,yBACZE,iBAAAA;IAEA,IAAMC,MAAMC,IAAAA,uCAAoB;IAChC,IAAMC,eAAeL,aAAaD,yBAAW,qBAACb;QAAaC,SAASY;SAAe;IACnF,IAAoGY,eAAAA,IAAAA,qBAAW,EAAC;QAC5GV,IAAAA;IACJ,IAFOW,aAA6FD,aAA7FC,YAAYC,YAAiFF,aAAjFE,WAAWC,aAAsEH,aAAtEG,YAAYC,YAA0DJ,aAA1DI,WAAWC,aAA+CL,aAA/CK,YAAYC,aAAmCN,aAAnCM,YAAYC,sBAAuBP,aAAvBO;IAI7E,qBACI,sBAACZ,WAAK;QACFC,eAAa,AAAC,QAAU,OAAHN;QACrBkB,KAAKL;OACDX,IAAIK,SAAS,CAAC,QAAQ;QACtBlB,OAAOyB,YACD;YACIA,WAAWK,cAAG,CAACC,SAAS,CAACC,QAAQ,CAACP;YAClCC,YAAAA;QACJ,IACAO;IACV;QACAC,mBAAiBP;;0BAEjB,qBAACrB;gBAAIuB,KAAKD;eAAyBL,WAAeD,YAAgBT,IAAIK,SAAS,CAAC;0BAC5E,cAAA,qBAACiB,qCAAmB;oBAACC,QAAQ;;;YAEhCxB;YACAG;;;AAGb;AAEO,IAAMpB,iBAA4E;QACrF0C,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAIA,UAAU;QACV,qBAAO,qBAACnB,6CAA2BoB;IACvC;IACA,IAAIF,WAAW;QACX,qBAAO,qBAACjB,8CAA4BmB;IACxC;IACA,qBAAO,qBAAC/B,2CAAyB+B;AACrC"}
@@ -20,4 +20,6 @@ export * from './read-only';
20
20
  export * from './sticky-footer';
21
21
  export * from './table';
22
22
  export * from './child-form';
23
+ export * from './checkbox';
24
+ export * from './loader';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -25,5 +25,7 @@ _export_star._(require("./read-only"), exports);
25
25
  _export_star._(require("./sticky-footer"), exports);
26
26
  _export_star._(require("./table"), exports);
27
27
  _export_star._(require("./child-form"), exports);
28
+ _export_star._(require("./checkbox"), exports);
29
+ _export_star._(require("./loader"), exports);
28
30
 
29
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './accordion';\nexport * from './action-icon';\nexport * from './alert';\nexport * from './badge';\nexport * from './blank-slate';\nexport * from './browser-preview';\nexport * from './button';\nexport * from './code-editor';\nexport * from './collection';\nexport * from './copyToClipboard';\nexport * from './date-range-picker';\nexport * from './ellipsis-text';\nexport * from './header';\nexport * from './info-token';\nexport * from './inline-confirm';\nexport * from './menu';\nexport * from './modal';\nexport * from './prompt';\nexport * from './read-only';\nexport * from './sticky-footer';\nexport * from './table';\nexport * from './child-form';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
1
+ {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './accordion';\nexport * from './action-icon';\nexport * from './alert';\nexport * from './badge';\nexport * from './blank-slate';\nexport * from './browser-preview';\nexport * from './button';\nexport * from './code-editor';\nexport * from './collection';\nexport * from './copyToClipboard';\nexport * from './date-range-picker';\nexport * from './ellipsis-text';\nexport * from './header';\nexport * from './info-token';\nexport * from './inline-confirm';\nexport * from './menu';\nexport * from './modal';\nexport * from './prompt';\nexport * from './read-only';\nexport * from './sticky-footer';\nexport * from './table';\nexport * from './child-form';\nexport * from './checkbox';\nexport * from './loader';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
@@ -0,0 +1,3 @@
1
+ import { MantineLoaderComponent } from '@mantine/core';
2
+ export declare const CircleLoader: MantineLoaderComponent;
3
+ //# sourceMappingURL=CircleLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircleLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/loader/CircleLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAK1D,eAAO,MAAM,YAAY,EAAE,sBAEzB,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CircleLoader", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CircleLoader;
9
+ }
10
+ });
11
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _object_spread = require("@swc/helpers/_/_object_spread");
13
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
+ var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
15
+ var _jsxruntime = require("react/jsx-runtime");
16
+ var _core = require("@mantine/core");
17
+ var _clsx = /*#__PURE__*/ _interop_require_default._(require("clsx"));
18
+ var _react = require("react");
19
+ var _CircleLoadermodulecss = /*#__PURE__*/ _interop_require_default._(require("./CircleLoader.module.css"));
20
+ var CircleLoader = /*#__PURE__*/ (0, _react.forwardRef)(function(_param, ref) {
21
+ var className = _param.className, others = _object_without_properties._(_param, [
22
+ "className"
23
+ ]);
24
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({
25
+ component: "span",
26
+ className: (0, _clsx.default)(_CircleLoadermodulecss.default.root, className)
27
+ }, others), {
28
+ ref: ref
29
+ }));
30
+ });
31
+
32
+ //# sourceMappingURL=CircleLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/loader/CircleLoader.tsx"],"sourcesContent":["import {Box, MantineLoaderComponent} from '@mantine/core';\nimport cx from 'clsx';\nimport {forwardRef} from 'react';\nimport classes from './CircleLoader.module.css';\n\nexport const CircleLoader: MantineLoaderComponent = forwardRef(({className, ...others}, ref) => (\n <Box component=\"span\" className={cx(classes.root, className)} {...others} ref={ref} />\n));\n"],"names":["CircleLoader","forwardRef","ref","className","others","Box","component","cx","classes","root"],"mappings":";;;;+BAKaA;;;eAAAA;;;;;;;;oBAL6B;6DAC3B;qBACU;8EACL;AAEb,IAAMA,6BAAuCC,IAAAA,iBAAU,EAAC,iBAAyBC;QAAvBC,mBAAAA,WAAcC;QAAdD;;yBAC7D,qBAACE,SAAG;QAACC,WAAU;QAAOH,WAAWI,IAAAA,aAAE,EAACC,8BAAO,CAACC,IAAI,EAAEN;OAAgBC;QAAQF,KAAKA"}
@@ -0,0 +1,29 @@
1
+ .root {
2
+ --loader-light-color: var(--mantine-primary-color-light);
3
+
4
+ display: inline-block;
5
+ width: var(--loader-size);
6
+ height: var(--loader-size);
7
+
8
+ &::after {
9
+ content: '';
10
+ display: block;
11
+ width: var(--loader-size);
12
+ height: var(--loader-size);
13
+ border-radius: 10000px;
14
+ border-width: calc(var(--loader-size) / 8);
15
+ border-style: solid;
16
+ border-color: var(--loader-light-color) var(--loader-light-color) var(--loader-light-color) var(--loader-color);
17
+ animation: circle-loader-animation 1.2s linear infinite;
18
+ }
19
+ }
20
+
21
+ @keyframes circle-loader-animation {
22
+ 0% {
23
+ transform: rotate(0deg);
24
+ }
25
+
26
+ 100% {
27
+ transform: rotate(360deg);
28
+ }
29
+ }
@@ -0,0 +1,2 @@
1
+ export * from './CircleLoader';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/loader/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./CircleLoader"), exports);
7
+
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/loader/index.ts"],"sourcesContent":["export * from './CircleLoader';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "readOnlyInputStyles", {
11
11
  var readOnlyInputStyles = function(theme) {
12
12
  return {
13
13
  wrapper: {
14
- '--input-bd': 'transparent',
15
- '--input-bg': theme.colors.gray[2],
14
+ '--input-bd': 'var(--mantine-color-default-border)',
15
+ '--input-bg': theme.colors.gray[1],
16
16
  '--input-color': theme.colors.gray[7],
17
17
  '--input-placeholder-color': theme.colors.gray[7]
18
18
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/read-only/ReadOnlyInputStyles.ts"],"sourcesContent":["import {type MantineTheme} from '@mantine/core';\n\nexport const readOnlyInputStyles = (theme: MantineTheme) => ({\n wrapper: {\n '--input-bd': 'transparent',\n '--input-bg': theme.colors.gray[2],\n '--input-color': theme.colors.gray[7],\n '--input-placeholder-color': theme.colors.gray[7],\n },\n label: {\n '--input-asterisk-color': theme.colors.red[2],\n },\n input: {\n cursor: 'text',\n },\n});\n"],"names":["readOnlyInputStyles","theme","wrapper","colors","gray","label","red","input","cursor"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,IAAMA,sBAAsB,SAACC;WAAyB;QACzDC,SAAS;YACL,cAAc;YACd,cAAcD,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;YAClC,iBAAiBH,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;YACrC,6BAA6BH,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;QACrD;QACAC,OAAO;YACH,0BAA0BJ,MAAME,MAAM,CAACG,GAAG,CAAC,EAAE;QACjD;QACAC,OAAO;YACHC,QAAQ;QACZ;IACJ"}
1
+ {"version":3,"sources":["../../../../src/components/read-only/ReadOnlyInputStyles.ts"],"sourcesContent":["import {type MantineTheme} from '@mantine/core';\n\nexport const readOnlyInputStyles = (theme: MantineTheme) => ({\n wrapper: {\n '--input-bd': 'var(--mantine-color-default-border)',\n '--input-bg': theme.colors.gray[1],\n '--input-color': theme.colors.gray[7],\n '--input-placeholder-color': theme.colors.gray[7],\n },\n label: {\n '--input-asterisk-color': theme.colors.red[2],\n },\n input: {\n cursor: 'text',\n },\n});\n"],"names":["readOnlyInputStyles","theme","wrapper","colors","gray","label","red","input","cursor"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,IAAMA,sBAAsB,SAACC;WAAyB;QACzDC,SAAS;YACL,cAAc;YACd,cAAcD,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;YAClC,iBAAiBH,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;YACrC,6BAA6BH,MAAME,MAAM,CAACC,IAAI,CAAC,EAAE;QACrD;QACAC,OAAO;YACH,0BAA0BJ,MAAME,MAAM,CAACG,GAAG,CAAC,EAAE;QACjD;QACAC,OAAO;YACHC,QAAQ;QACZ;IACJ"}
@@ -35,7 +35,7 @@
35
35
 
36
36
  &[data-selected='true'] {
37
37
  &[data-multi-selection='false'] {
38
- background-color: var(--mantine-color-gray-light);
38
+ background-color: var(--mantine-color-gray-light-hover);
39
39
  }
40
40
 
41
41
  &[data-multi-selection='true'] {
@@ -1,3 +1,5 @@
1
1
  .root {
2
+ --badge-fz-md: 12px;
3
+
2
4
  font-weight: 500;
3
5
  }
@@ -1,9 +1,45 @@
1
- .label {
2
- font-weight: 400;
1
+ /*
2
+ `readonly` state on checkboxes is not something that exists in Mantine.
3
+ So we are allowing ourselves some custom style to achieve the desired effect
4
+ */
5
+ .input {
6
+ @mixin light {
7
+ /* targets the default checkbox without overiding mantine's base rules */
8
+ &:not([data-indeterminate], :checked, [readonly], :disabled, [data-error='true']) {
9
+ border-color: var(--coveo-color-input-border);
10
+ }
11
+
12
+ /* mantine doesn't have a concept of readonly checkbox */
13
+ &[readonly] {
14
+ border-color: var(--mantine-color-default-border);
15
+ background-color: var(--coveo-color-bg-readonly);
16
+ color: var(--coveo-color-text-readonly);
17
+
18
+ & + .icon {
19
+ color: var(--coveo-color-text-readonly);
20
+ }
21
+ }
22
+
23
+ /* mantine hardcodes disabled styles so we need to write custom styles */
24
+ &:disabled {
25
+ border-color: var(--mantine-color-default-border);
26
+ background-color: var(--coveo-color-bg-disabled);
27
+ color: var(--coveo-color-text-disabled);
28
+
29
+ & + .icon {
30
+ color: var(--coveo-color-text-disabled);
31
+ }
32
+ }
33
+ }
3
34
  }
4
35
 
5
- .input {
6
- @mixin where-light {
7
- border-color: var(--coveo-color-input-border);
36
+ .labelWrapper {
37
+ @mixin light {
38
+ &[data-disabled] {
39
+ .label,
40
+ .description {
41
+ color: var(--coveo-color-text-disabled);
42
+ }
43
+ }
8
44
  }
9
45
  }
@@ -1,5 +1,12 @@
1
+ /*
2
+ `readonly` state on checkboxes is not something that exists in Mantine.
3
+ So we are allowing ourselves some custom style to achieve the desired effect
4
+ */
1
5
  .indicator {
2
6
  @mixin where-light {
3
- border-color: var(--coveo-color-input-border);
7
+ &[readonly] {
8
+ border-color: var(--coveo-color-input-border);
9
+ background-color: var(--checkbox-color);
10
+ }
4
11
  }
5
12
  }
@@ -10,10 +10,16 @@
10
10
  }
11
11
 
12
12
  &[data-disabled] {
13
- --input-section-color: var(--input-disabled-color);
13
+ > .section {
14
+ > svg {
15
+ color: var(--input-disabled-color);
16
+ }
17
+ }
14
18
  }
15
19
  }
16
20
 
17
21
  .section {
18
- color: var(--input-section-color);
22
+ > svg {
23
+ color: var(--mantine-color-gray-3);
24
+ }
19
25
  }