@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
@@ -1,5 +1,14 @@
1
+ .root {
2
+ --pagination-active-bg: var(--mantine-primary-color-light);
3
+ --pagination-active-color: var(--mantine-primary-color-filled);
4
+ }
5
+
1
6
  .control {
2
7
  @mixin where-light {
3
- border-color: var(--coveo-color-input-border);
8
+ border-color: var(--mantine-color-default-border);
9
+ }
10
+
11
+ &[data-active] {
12
+ border: none;
4
13
  }
5
14
  }
@@ -1,10 +1,38 @@
1
1
  .labelWrapper {
2
2
  display: flex;
3
3
  align-items: flex-start;
4
+
5
+ @mixin light {
6
+ color: var(--coveo-color-title);
7
+
8
+ &[data-disabled] {
9
+ .label,
10
+ .description {
11
+ color: var(--coveo-color-text-disabled);
12
+ }
13
+ }
14
+ }
4
15
  }
5
16
 
6
17
  .radio {
7
- @mixin where-light {
8
- border-color: var(--coveo-color-input-border);
18
+ @mixin light {
19
+ &:not([data-disabled]) {
20
+ border-color: var(--coveo-color-input-border);
21
+ }
22
+
23
+ &:disabled {
24
+ background-color: var(--coveo-color-bg-disabled);
25
+ }
26
+
27
+ /* mantine hardcodes disabled styles so we need to write custom styles */
28
+ &[readonly] {
29
+ border-color: var(--mantine-color-default-border);
30
+ background-color: var(--coveo-color-bg-readonly);
31
+ color: var(--coveo-color-text-readonly);
32
+
33
+ & + .icon {
34
+ color: var(--coveo-color-text-readonly);
35
+ }
36
+ }
9
37
  }
10
38
  }
@@ -1,12 +1,16 @@
1
1
  .input {
2
2
  cursor: text;
3
3
 
4
- --input-bd: transparent;
5
- --input-bg: var(--mantine-color-dark-light);
4
+ --input-bd: var(--mantine-color-default-border);
5
+ --input-bg: var(--mantine-color-gray-1);
6
6
  --input-color: var(--mantine-color-text);
7
- --input-placeholder-color: var(--mantine-color-text);
7
+ --input-placeholder-color: var(--mantine-color-placeholder);
8
8
  }
9
9
 
10
10
  .section {
11
11
  --input-section-color: var(--mantine-color-text);
12
+
13
+ > svg {
14
+ color: var(--mantine-color-gray-3);
15
+ }
12
16
  }
@@ -0,0 +1,46 @@
1
+ .option {
2
+ @mixin light {
3
+ color: var(--coveo-color-title);
4
+ border-radius: var(--mantine-radius-sm);
5
+
6
+ @mixin hover {
7
+ &:not([data-combobox-disabled], [data-checked], [data-combobox-selected]) {
8
+ background-color: var(--mantine-color-default-hover);
9
+ }
10
+ }
11
+
12
+ &[data-combobox-disabled] {
13
+ opacity: 1;
14
+ color: var(--coveo-color-text-disabled);
15
+ }
16
+
17
+ &[data-combobox-active='true'] {
18
+ background-color: var(--mantine-primary-color-light);
19
+ color: var(--mantine-primary-color-filled);
20
+
21
+ + svg {
22
+ opacity: 1;
23
+ }
24
+ }
25
+
26
+ &[data-combobox-selected] {
27
+ background-color: var(--mantine-primary-color-filled);
28
+ color: white;
29
+ }
30
+ }
31
+ }
32
+
33
+ .groupLabel {
34
+ @mixin light {
35
+ color: var(--mantine-color-placeholder);
36
+ }
37
+ }
38
+
39
+ .input {
40
+ @mixin light {
41
+ &[data-disabled] {
42
+ --input-disabled-bg: var(--coveo-color-bg-disabled);
43
+ --input-bd: var(--mantine-color-default-border);
44
+ }
45
+ }
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAmBH,oBAAoB,EAkBvB,MAAM,eAAe,CAAC;AA6BvB,eAAO,MAAM,WAAW,EAAE,oBA0UxB,CAAC"}
1
+ {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAmBH,oBAAoB,EAkBvB,MAAM,eAAe,CAAC;AA8BvB,eAAO,MAAM,WAAW,EAAE,oBAoUxB,CAAC"}
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "plasmaTheme", {
10
10
  });
11
11
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
12
  var _object_spread = require("@swc/helpers/_/_object_spread");
13
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
13
14
  var _jsxruntime = require("react/jsx-runtime");
14
15
  var _plasmareacticons = require("@coveord/plasma-react-icons");
15
16
  var _plasmatokens = require("@coveord/plasma-tokens");
@@ -34,6 +35,7 @@ var _ReadOnlyInputmodulecss = /*#__PURE__*/ _interop_require_default._(require("
34
35
  var _ReadOnlyStatemodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/ReadOnlyState.module.css"));
35
36
  var _ScrollAreamodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/ScrollArea.module.css"));
36
37
  var _SegmentedControlmodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/SegmentedControl.module.css"));
38
+ var _Selectmodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/Select.module.css"));
37
39
  var _Skeletonmodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/Skeleton.module.css"));
38
40
  var _Steppermodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/Stepper.module.css"));
39
41
  var _Tablemodulecss = /*#__PURE__*/ _interop_require_default._(require("../styles/Table.module.css"));
@@ -148,7 +150,8 @@ var plasmaTheme = (0, _core.createTheme)({
148
150
  Badge: _core.Badge.extend({
149
151
  classNames: _Badgemodulecss.default,
150
152
  defaultProps: {
151
- variant: 'light'
153
+ variant: 'light',
154
+ tt: 'none'
152
155
  }
153
156
  }),
154
157
  Breadcrumbs: _core.Breadcrumbs.extend({
@@ -169,31 +172,20 @@ var plasmaTheme = (0, _core.createTheme)({
169
172
  }),
170
173
  Checkbox: _core.Checkbox.extend({
171
174
  defaultProps: {
172
- radius: 'sm'
175
+ radius: 'sm',
176
+ icon: _components.CheckboxIcon
173
177
  },
174
178
  classNames: function(theme, props) {
175
179
  if (props.readOnly && !props.disabled) {
176
180
  return (0, _core.deepMerge)(_Checkboxmodulecss.default, _ReadOnlyStatemodulecss.default);
177
181
  }
178
182
  return _Checkboxmodulecss.default;
179
- },
180
- vars: function(theme, props) {
181
- if (props.readOnly && !props.disabled) {
182
- return {
183
- root: {
184
- '--checkbox-icon-color': theme.colors.gray[7],
185
- '--checkbox-color': theme.colors.gray[2]
186
- }
187
- };
188
- }
189
- return {
190
- root: {}
191
- };
192
183
  }
193
184
  }),
194
185
  CheckboxIndicator: _core.Checkbox.Indicator.extend({
195
186
  defaultProps: {
196
- radius: 'sm'
187
+ radius: 'sm',
188
+ icon: _components.CheckboxIcon
197
189
  },
198
190
  classNames: _CheckboxIndicatormodulecss.default
199
191
  }),
@@ -277,7 +269,10 @@ var plasmaTheme = (0, _core.createTheme)({
277
269
  }),
278
270
  Loader: _core.Loader.extend({
279
271
  defaultProps: {
280
- type: 'dots',
272
+ loaders: _object_spread_props._(_object_spread._({}, _core.Loader.defaultLoaders), {
273
+ circle: _components.CircleLoader
274
+ }),
275
+ type: 'circle',
281
276
  role: 'presentation'
282
277
  }
283
278
  }),
@@ -368,8 +363,10 @@ var plasmaTheme = (0, _core.createTheme)({
368
363
  }),
369
364
  Select: _core.Select.extend({
370
365
  defaultProps: {
371
- allowDeselect: false
372
- }
366
+ allowDeselect: false,
367
+ withCheckIcon: false
368
+ },
369
+ classNames: _Selectmodulecss.default
373
370
  }),
374
371
  Skeleton: _core.Skeleton.extend({
375
372
  classNames: _Skeletonmodulecss.default
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n IconSlash,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n AppShell,\n Badge,\n Breadcrumbs,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n createTheme,\n deepMerge,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Switch,\n Table,\n Tabs,\n Text,\n Tooltip,\n} from '@mantine/core';\nimport {InfoToken} from '../components';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport BreadcrumbsClasses from '../styles/Breadcrumbs.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport CheckboxIndicatorClasses from '../styles/CheckboxIndicator.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ReadOnlyInputClasses from '../styles/ReadOnlyInput.module.css';\nimport ReadOnlyStateClasses from '../styles/ReadOnlyState.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TableClasses from '../styles/Table.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport TooltipClasses from '../styles/Tooltip.module.css';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 'md',\n lineHeights: {md: '1.5'},\n spacing: {\n xxs: '4px',\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n radius: {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '24px',\n xxl: '32px',\n },\n primaryColor: 'blue',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '40px', lineHeight: '1.2', fontWeight: '500'},\n h2: {fontSize: '32px', lineHeight: '1.25', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.33', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.2', fontWeight: '400'},\n h5: {fontSize: '16px', lineHeight: '1.25', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.33', fontWeight: '500'},\n },\n },\n fontSizes: {\n xs: '12px',\n sm: '14px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n primaryShade: 5,\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n defaultProps: {\n size: 24,\n radius: 'sm',\n },\n classNames: ActionIconClasses,\n }),\n AppShell: AppShell.extend({\n vars: (theme) =>\n ({\n root: {'--app-shell-border-color': theme.colors.gray[2]},\n }) as any,\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoToken variant=\"advice\" />,\n p: 'sm',\n },\n classNames: AlertClasses,\n }),\n Badge: Badge.extend({\n classNames: BadgeClasses,\n defaultProps: {\n variant: 'light',\n },\n }),\n Breadcrumbs: Breadcrumbs.extend({\n classNames: BreadcrumbsClasses,\n defaultProps: {\n separator: <IconSlash size={16} color=\"var(--mantine-color-dimmed)\" />,\n separatorMargin: 'xxs',\n },\n }),\n Button: Button.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(CheckboxClasses, ReadOnlyStateClasses);\n }\n return CheckboxClasses;\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {\n '--checkbox-icon-color': theme.colors.gray[7],\n '--checkbox-color': theme.colors.gray[2],\n },\n };\n }\n return {root: {}};\n },\n }),\n CheckboxIndicator: Checkbox.Indicator.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: CheckboxIndicatorClasses,\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: ComboboxClasses,\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'var(--mantine-color-default-border)',\n },\n }),\n Input: Input.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: (_theme, props) => {\n const anyProps = props as any;\n if (anyProps.readOnly && !props.disabled && !['Select'].includes(anyProps.__staticSelector)) {\n return deepMerge(InputClasses, ReadOnlyInputClasses);\n }\n return InputClasses;\n },\n vars: (theme, props) => ({\n wrapper: {\n '--input-margin-top':\n props.wrapperProps?.label || props.wrapperProps?.description ? theme.spacing.xxs : undefined,\n },\n }),\n }),\n InputWrapper: InputWrapper.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: InputWrapperClasses,\n vars: (theme, props) => {\n const anyProps = props as any;\n if (anyProps.disabled || (anyProps.readOnly && !['Select'].includes(anyProps.__staticSelector))) {\n return {\n label: {'--input-asterisk-color': theme.colors.red[2]},\n error: {},\n description: {},\n };\n }\n return {\n label: {},\n error: {},\n description: {},\n };\n },\n }),\n Loader: Loader.extend({\n defaultProps: {\n type: 'dots',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: ListClasses,\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n vars: () => {\n const sizes = {\n '--modal-size-xs': '432px',\n '--modal-size-sm': '664px',\n '--modal-size-md': '896px',\n '--modal-size-lg': '1120px',\n '--modal-size-xl': '88%',\n } as any;\n return {\n root: {\n ...sizes,\n },\n };\n },\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: PlasmaColors.indigo[8],\n backgroundOpacity: 0.7,\n blur: 2,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n },\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(RadioClasses, ReadOnlyStateClasses);\n }\n return RadioClasses;\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {\n '--radio-icon-color': theme.colors.gray[7],\n '--radio-color': theme.colors.gray[2],\n },\n };\n }\n return {root: {}};\n },\n }),\n ScrollArea: ScrollArea.extend({\n classNames: ScrollAreaClasses,\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {allowDeselect: false},\n }),\n Skeleton: Skeleton.extend({\n classNames: SkeletonClasses,\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: StepperClasses,\n }),\n Switch: Switch.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return ReadOnlyStateClasses;\n }\n return {};\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {},\n track: {\n '--switch-bg': theme.colors.gray[2],\n '--switch-bd': 'transparent',\n },\n thumb: {\n '--switch-thumb-bd': 'transparent',\n },\n };\n }\n return {root: {}, track: {}, thumb: {}};\n },\n }),\n Table: Table.extend({\n classNames: TableClasses,\n vars: () => ({\n table: {\n '--table-border-color': 'var(--mantine-color-default-border)',\n },\n }),\n }),\n Tabs: Tabs.extend({\n classNames: TabsClasses,\n }),\n Text: Text.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: TextClasses,\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n classNames: TooltipClasses,\n }),\n },\n});\n"],"names":["plasmaTheme","createTheme","fontFamily","black","color","primary","gray","defaultRadius","lineHeights","md","spacing","xxs","xs","sm","lg","xl","radius","none","xxl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","fontSizes","shadows","primaryShade","colors","PlasmaColors","components","ActionIcon","extend","defaultProps","size","classNames","ActionIconClasses","AppShell","vars","theme","root","Alert","icon","InfoToken","variant","p","AlertClasses","Badge","BadgeClasses","Breadcrumbs","BreadcrumbsClasses","separator","IconSlash","separatorMargin","Button","ButtonClasses","Checkbox","props","readOnly","disabled","deepMerge","CheckboxClasses","ReadOnlyStateClasses","CheckboxIndicator","Indicator","CheckboxIndicatorClasses","CloseButton","CrossSize16Px","height","aria-label","ColorSwatch","withShadow","Combobox","ComboboxClasses","ComboboxSearch","placeholder","rightSection","FilterSize16Px","Divider","Input","_theme","anyProps","includes","__staticSelector","InputClasses","ReadOnlyInputClasses","wrapper","wrapperProps","label","description","undefined","InputWrapper","InputWrapperClasses","red","error","Loader","type","role","List","ListClasses","Modal","ModalClasses","ModalOverlay","Overlay","indigo","backgroundOpacity","blur","ModalRoot","Root","padding","MultiSelect","hidePickedOptions","NavLink","NavLinkClasses","Notification","InfoSize24Px","Pagination","PaginationClasses","nextIcon","ArrowHeadRightSize16Px","previousIcon","ArrowHeadLeftSize16Px","Popover","shadow","withArrow","Radio","RadioClasses","ScrollArea","ScrollAreaClasses","SegmentedControl","SegmentedControlClasses","Select","allowDeselect","Skeleton","SkeletonClasses","Stepper","completedIcon","CheckSize16Px","StepperClasses","Switch","track","thumb","Table","TableClasses","table","Tabs","TabsClasses","Text","TextClasses","Tooltip","maw","multiline","zIndex","TooltipClasses"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n IconSlash,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n AppShell,\n Badge,\n Breadcrumbs,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n createTheme,\n deepMerge,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Switch,\n Table,\n Tabs,\n Text,\n Tooltip,\n} from '@mantine/core';\nimport {CheckboxIcon, CircleLoader, InfoToken} from '../components';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport BreadcrumbsClasses from '../styles/Breadcrumbs.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport CheckboxIndicatorClasses from '../styles/CheckboxIndicator.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ReadOnlyInputClasses from '../styles/ReadOnlyInput.module.css';\nimport ReadOnlyStateClasses from '../styles/ReadOnlyState.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TableClasses from '../styles/Table.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport TooltipClasses from '../styles/Tooltip.module.css';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 'md',\n lineHeights: {md: '1.5'},\n spacing: {\n xxs: '4px',\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n radius: {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '24px',\n xxl: '32px',\n },\n primaryColor: 'blue',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '40px', lineHeight: '1.2', fontWeight: '500'},\n h2: {fontSize: '32px', lineHeight: '1.25', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.33', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.2', fontWeight: '400'},\n h5: {fontSize: '16px', lineHeight: '1.25', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.33', fontWeight: '500'},\n },\n },\n fontSizes: {\n xs: '12px',\n sm: '14px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n primaryShade: 5,\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n defaultProps: {\n size: 24,\n radius: 'sm',\n },\n classNames: ActionIconClasses,\n }),\n AppShell: AppShell.extend({\n vars: (theme) =>\n ({\n root: {'--app-shell-border-color': theme.colors.gray[2]},\n }) as any,\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoToken variant=\"advice\" />,\n p: 'sm',\n },\n classNames: AlertClasses,\n }),\n Badge: Badge.extend({\n classNames: BadgeClasses,\n defaultProps: {\n variant: 'light',\n tt: 'none',\n },\n }),\n Breadcrumbs: Breadcrumbs.extend({\n classNames: BreadcrumbsClasses,\n defaultProps: {\n separator: <IconSlash size={16} color=\"var(--mantine-color-dimmed)\" />,\n separatorMargin: 'xxs',\n },\n }),\n Button: Button.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(CheckboxClasses, ReadOnlyStateClasses);\n }\n return CheckboxClasses;\n },\n }),\n CheckboxIndicator: Checkbox.Indicator.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: CheckboxIndicatorClasses,\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: ComboboxClasses,\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'var(--mantine-color-default-border)',\n },\n }),\n Input: Input.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: (_theme, props) => {\n const anyProps = props as any;\n if (anyProps.readOnly && !props.disabled && !['Select'].includes(anyProps.__staticSelector)) {\n return deepMerge(InputClasses, ReadOnlyInputClasses);\n }\n return InputClasses;\n },\n vars: (theme, props) => ({\n wrapper: {\n '--input-margin-top':\n props.wrapperProps?.label || props.wrapperProps?.description ? theme.spacing.xxs : undefined,\n },\n }),\n }),\n InputWrapper: InputWrapper.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: InputWrapperClasses,\n vars: (theme, props) => {\n const anyProps = props as any;\n if (anyProps.disabled || (anyProps.readOnly && !['Select'].includes(anyProps.__staticSelector))) {\n return {\n label: {'--input-asterisk-color': theme.colors.red[2]},\n error: {},\n description: {},\n };\n }\n return {\n label: {},\n error: {},\n description: {},\n };\n },\n }),\n Loader: Loader.extend({\n defaultProps: {\n loaders: {...Loader.defaultLoaders, circle: CircleLoader},\n type: 'circle',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: ListClasses,\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n vars: () => {\n const sizes = {\n '--modal-size-xs': '432px',\n '--modal-size-sm': '664px',\n '--modal-size-md': '896px',\n '--modal-size-lg': '1120px',\n '--modal-size-xl': '88%',\n } as any;\n return {\n root: {\n ...sizes,\n },\n };\n },\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: PlasmaColors.indigo[8],\n backgroundOpacity: 0.7,\n blur: 2,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n },\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(RadioClasses, ReadOnlyStateClasses);\n }\n return RadioClasses;\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {\n '--radio-icon-color': theme.colors.gray[7],\n '--radio-color': theme.colors.gray[2],\n },\n };\n }\n return {root: {}};\n },\n }),\n ScrollArea: ScrollArea.extend({\n classNames: ScrollAreaClasses,\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {allowDeselect: false, withCheckIcon: false},\n classNames: SelectClasses,\n }),\n Skeleton: Skeleton.extend({\n classNames: SkeletonClasses,\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: StepperClasses,\n }),\n Switch: Switch.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return ReadOnlyStateClasses;\n }\n return {};\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {},\n track: {\n '--switch-bg': theme.colors.gray[2],\n '--switch-bd': 'transparent',\n },\n thumb: {\n '--switch-thumb-bd': 'transparent',\n },\n };\n }\n return {root: {}, track: {}, thumb: {}};\n },\n }),\n Table: Table.extend({\n classNames: TableClasses,\n vars: () => ({\n table: {\n '--table-border-color': 'var(--mantine-color-default-border)',\n },\n }),\n }),\n Tabs: Tabs.extend({\n classNames: TabsClasses,\n }),\n Text: Text.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: TextClasses,\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n classNames: TooltipClasses,\n }),\n },\n});\n"],"names":["plasmaTheme","createTheme","fontFamily","black","color","primary","gray","defaultRadius","lineHeights","md","spacing","xxs","xs","sm","lg","xl","radius","none","xxl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","fontSizes","shadows","primaryShade","colors","PlasmaColors","components","ActionIcon","extend","defaultProps","size","classNames","ActionIconClasses","AppShell","vars","theme","root","Alert","icon","InfoToken","variant","p","AlertClasses","Badge","BadgeClasses","tt","Breadcrumbs","BreadcrumbsClasses","separator","IconSlash","separatorMargin","Button","ButtonClasses","Checkbox","CheckboxIcon","props","readOnly","disabled","deepMerge","CheckboxClasses","ReadOnlyStateClasses","CheckboxIndicator","Indicator","CheckboxIndicatorClasses","CloseButton","CrossSize16Px","height","aria-label","ColorSwatch","withShadow","Combobox","ComboboxClasses","ComboboxSearch","placeholder","rightSection","FilterSize16Px","Divider","Input","_theme","anyProps","includes","__staticSelector","InputClasses","ReadOnlyInputClasses","wrapper","wrapperProps","label","description","undefined","InputWrapper","InputWrapperClasses","red","error","Loader","loaders","defaultLoaders","circle","CircleLoader","type","role","List","ListClasses","Modal","ModalClasses","ModalOverlay","Overlay","indigo","backgroundOpacity","blur","ModalRoot","Root","padding","MultiSelect","hidePickedOptions","NavLink","NavLinkClasses","Notification","InfoSize24Px","Pagination","PaginationClasses","nextIcon","ArrowHeadRightSize16Px","previousIcon","ArrowHeadLeftSize16Px","Popover","shadow","withArrow","Radio","RadioClasses","ScrollArea","ScrollAreaClasses","SegmentedControl","SegmentedControlClasses","Select","allowDeselect","withCheckIcon","SelectClasses","Skeleton","SkeletonClasses","Stepper","completedIcon","CheckSize16Px","StepperClasses","Switch","track","thumb","Table","TableClasses","table","Tabs","TabsClasses","Text","TextClasses","Tooltip","maw","multiline","zIndex","TooltipClasses"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plasmaCSSVariablesResolver.d.ts","sourceRoot":"","sources":["../../../src/theme/plasmaCSSVariablesResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE7E,eAAO,MAAM,0BAA0B,EAAE,oBAuBxC,CAAC"}
1
+ {"version":3,"file":"plasmaCSSVariablesResolver.d.ts","sourceRoot":"","sources":["../../../src/theme/plasmaCSSVariablesResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEpF,eAAO,MAAM,0BAA0B,EAAE,oBAiCxC,CAAC"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "plasmaCSSVariablesResolver", {
8
8
  return plasmaCSSVariablesResolver;
9
9
  }
10
10
  });
11
+ var _core = require("@mantine/core");
11
12
  var plasmaCSSVariablesResolver = function(theme) {
12
13
  var result = {
13
14
  variables: {},
@@ -17,6 +18,9 @@ var plasmaCSSVariablesResolver = function(theme) {
17
18
  '--coveo-color-input-border': theme.colors.gray[3],
18
19
  '--coveo-color-title': theme.colors.gray[8],
19
20
  '--coveo-color-text-disabled': theme.colors.gray[3],
21
+ '--coveo-color-bg-disabled': (0, _core.alpha)(theme.colors.gray[4], 0.1),
22
+ '--coveo-color-text-readonly': 'var(--mantine-color-text)',
23
+ '--coveo-color-bg-readonly': theme.colors.gray[1],
20
24
  // mantine overrides
21
25
  '--mantine-color-default-border': theme.colors.gray[2],
22
26
  '--mantine-color-error': theme.colors.red[5],
@@ -26,7 +30,8 @@ var plasmaCSSVariablesResolver = function(theme) {
26
30
  '--mantine-color-gray-light': theme.colors.gray[0],
27
31
  '--mantine-color-gray-light-hover': theme.colors.gray[1],
28
32
  '--mantine-color-warning-filled': theme.colors.yellow[4],
29
- '--mantine-color-placeholder': theme.colors.gray[4]
33
+ '--mantine-color-placeholder': theme.colors.gray[4],
34
+ '--mantine-color-default-hover': theme.colors.gray[1]
30
35
  }
31
36
  };
32
37
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/plasmaCSSVariablesResolver.ts"],"sourcesContent":["import {ConvertCSSVariablesInput, CSSVariablesResolver} from '@mantine/core';\n\nexport const plasmaCSSVariablesResolver: CSSVariablesResolver = (theme) => {\n const result: ConvertCSSVariablesInput = {\n variables: {},\n dark: {},\n light: {\n // custom colors\n '--coveo-color-input-border': theme.colors.gray[3],\n '--coveo-color-title': theme.colors.gray[8],\n '--coveo-color-text-disabled': theme.colors.gray[3],\n\n // mantine overrides\n '--mantine-color-default-border': theme.colors.gray[2],\n '--mantine-color-error': theme.colors.red[5],\n '--mantine-color-text': theme.colors.gray[6],\n '--mantine-color-dimmed': theme.colors.gray[5],\n '--mantine-color-gray-filled': theme.colors.gray[4],\n '--mantine-color-gray-light': theme.colors.gray[0],\n '--mantine-color-gray-light-hover': theme.colors.gray[1],\n '--mantine-color-warning-filled': theme.colors.yellow[4],\n '--mantine-color-placeholder': theme.colors.gray[4],\n },\n };\n return result;\n};\n"],"names":["plasmaCSSVariablesResolver","theme","result","variables","dark","light","colors","gray","red","yellow"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,IAAMA,6BAAmD,SAACC;IAC7D,IAAMC,SAAmC;QACrCC,WAAW,CAAC;QACZC,MAAM,CAAC;QACPC,OAAO;YACH,gBAAgB;YAChB,8BAA8BJ,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAClD,uBAAuBN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC3C,+BAA+BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAEnD,oBAAoB;YACpB,kCAAkCN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACtD,yBAAyBN,MAAMK,MAAM,CAACE,GAAG,CAAC,EAAE;YAC5C,wBAAwBP,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC5C,0BAA0BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC9C,+BAA+BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACnD,8BAA8BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAClD,oCAAoCN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACxD,kCAAkCN,MAAMK,MAAM,CAACG,MAAM,CAAC,EAAE;YACxD,+BAA+BR,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;QACvD;IACJ;IACA,OAAOL;AACX"}
1
+ {"version":3,"sources":["../../../src/theme/plasmaCSSVariablesResolver.ts"],"sourcesContent":["import {alpha, ConvertCSSVariablesInput, CSSVariablesResolver} from '@mantine/core';\n\nexport const plasmaCSSVariablesResolver: CSSVariablesResolver = (theme) => {\n const result: ConvertCSSVariablesInput = {\n variables: {},\n dark: {},\n light: {\n // custom colors\n '--coveo-color-input-border': theme.colors.gray[3],\n '--coveo-color-title': theme.colors.gray[8],\n '--coveo-color-text-disabled': theme.colors.gray[3],\n '--coveo-color-bg-disabled': alpha(theme.colors.gray[4], 0.1),\n '--coveo-color-text-readonly': 'var(--mantine-color-text)',\n '--coveo-color-bg-readonly': theme.colors.gray[1],\n\n // mantine overrides\n '--mantine-color-default-border': theme.colors.gray[2],\n '--mantine-color-error': theme.colors.red[5],\n '--mantine-color-text': theme.colors.gray[6],\n '--mantine-color-dimmed': theme.colors.gray[5],\n '--mantine-color-gray-filled': theme.colors.gray[4],\n '--mantine-color-gray-light': theme.colors.gray[0],\n '--mantine-color-gray-light-hover': theme.colors.gray[1],\n '--mantine-color-warning-filled': theme.colors.yellow[4],\n '--mantine-color-placeholder': theme.colors.gray[4],\n '--mantine-color-default-hover': theme.colors.gray[1],\n /**\n * ADUI-10725 https://coveord.atlassian.net/browse/ADUI-10725\n * '--mantine-color-disabled'\n * '--mantine-color-disabled-color'\n * '--mantine-color-disabled-border'\n */\n },\n };\n return result;\n};\n"],"names":["plasmaCSSVariablesResolver","theme","result","variables","dark","light","colors","gray","alpha","red","yellow"],"mappings":";;;;+BAEaA;;;eAAAA;;;oBAFuD;AAE7D,IAAMA,6BAAmD,SAACC;IAC7D,IAAMC,SAAmC;QACrCC,WAAW,CAAC;QACZC,MAAM,CAAC;QACPC,OAAO;YACH,gBAAgB;YAChB,8BAA8BJ,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAClD,uBAAuBN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC3C,+BAA+BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACnD,6BAA6BC,IAAAA,WAAK,EAACP,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE,EAAE;YACzD,+BAA+B;YAC/B,6BAA6BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAEjD,oBAAoB;YACpB,kCAAkCN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACtD,yBAAyBN,MAAMK,MAAM,CAACG,GAAG,CAAC,EAAE;YAC5C,wBAAwBR,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC5C,0BAA0BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAC9C,+BAA+BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACnD,8BAA8BN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YAClD,oCAAoCN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACxD,kCAAkCN,MAAMK,MAAM,CAACI,MAAM,CAAC,EAAE;YACxD,+BAA+BT,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;YACnD,iCAAiCN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;QAOzD;IACJ;IACA,OAAOL;AACX"}
@@ -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,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { IconCheck, IconMinus } from '@coveord/plasma-react-icons';
3
+ export const CheckboxIcon = ({ indeterminate, ...others })=>{
4
+ if (indeterminate) {
5
+ return /*#__PURE__*/ _jsx(IconMinus, {
6
+ stroke: 3,
7
+ ...others
8
+ });
9
+ }
10
+ return /*#__PURE__*/ _jsx(IconCheck, {
11
+ stroke: 3,
12
+ ...others
13
+ });
14
+ };
15
+
16
+ //# 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":["IconCheck","IconMinus","CheckboxIcon","indeterminate","others","stroke"],"mappings":";AAAA,SAAQA,SAAS,EAAEC,SAAS,QAAO,8BAA8B;AAOjE,OAAO,MAAMC,eAAqD,CAAC,EAACC,aAAa,EAAE,GAAGC,QAA0B;IAC5G,IAAID,eAAe;QACf,qBAAO,KAACF;YAAUI,QAAQ;YAAI,GAAGD,MAAM;;IAC3C;IAEA,qBAAO,KAACJ;QAAUK,QAAQ;QAAI,GAAGD,MAAM;;AAC3C,EAAE"}
@@ -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,3 @@
1
+ export * from './CheckboxIcon';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/checkbox/index.ts"],"sourcesContent":["export * from './CheckboxIcon';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB"}
@@ -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"}
@@ -42,20 +42,12 @@ export const CodeEditor = (props)=>{
42
42
  }
43
43
  };
44
44
  const registerThemes = (monaco)=>{
45
- monaco.editor.defineTheme('light-disabled', {
45
+ monaco.editor.defineTheme('light', {
46
46
  base: 'vs',
47
47
  inherit: true,
48
48
  rules: [],
49
49
  colors: {
50
- 'editor.background': theme.colors.gray[2]
51
- }
52
- });
53
- monaco.editor.defineTheme('vs-dark-disabled', {
54
- base: 'vs-dark',
55
- inherit: true,
56
- rules: [],
57
- colors: {
58
- 'editor.background': theme.colors.navy[7]
50
+ 'editor.background': theme.colors.gray[0]
59
51
  }
60
52
  });
61
53
  };
@@ -92,13 +84,13 @@ export const CodeEditor = (props)=>{
92
84
  children: description
93
85
  }) : null;
94
86
  const _error = error ? /*#__PURE__*/ _jsx(Input.Error, {
95
- mt: "xs",
96
87
  ...errorProps,
97
88
  children: error
98
89
  }) : /*#__PURE__*/ _jsx(Space, {
99
90
  h: "xs"
100
91
  });
101
- const _header = _label || _description ? /*#__PURE__*/ _jsxs(Box, {
92
+ const _header = _label || _description ? /*#__PURE__*/ _jsxs(Stack, {
93
+ gap: "xxs",
102
94
  children: [
103
95
  _label,
104
96
  _description
@@ -106,7 +98,7 @@ export const CodeEditor = (props)=>{
106
98
  }) : null;
107
99
  const _buttons = /*#__PURE__*/ _jsxs(Group, {
108
100
  justify: "right",
109
- gap: 0,
101
+ gap: "xs",
110
102
  children: [
111
103
  /*#__PURE__*/ _jsx(Search, {
112
104
  handleSearch: handleSearch
@@ -149,13 +141,15 @@ export const CodeEditor = (props)=>{
149
141
  },
150
142
  value: _value,
151
143
  onChange: handleChange,
152
- onMount: (editor, monaco)=>{
144
+ beforeMount: (monaco)=>{
145
+ registerLanguages(monaco);
146
+ registerThemes(monaco);
147
+ },
148
+ onMount: (editor)=>{
153
149
  editorRef.current = editor;
154
150
  if (editorHandle) {
155
151
  editorHandle.current = editor;
156
152
  }
157
- registerLanguages(monaco);
158
- registerThemes(monaco);
159
153
  editor.onDidFocusEditorText(()=>onFocus?.());
160
154
  editor.onDidBlurEditorText(async ()=>{
161
155
  // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that
@@ -173,14 +167,19 @@ export const CodeEditor = (props)=>{
173
167
  });
174
168
  return /*#__PURE__*/ _jsxs(Stack, {
175
169
  justify: "flex-start",
176
- gap: 0,
170
+ gap: "sm",
177
171
  h: Math.max(parentHeight, minHeight),
178
172
  mah: maxHeight,
179
173
  ref: ref,
180
174
  ...others,
181
175
  children: [
182
- _header,
183
- _buttons,
176
+ /*#__PURE__*/ _jsxs(Group, {
177
+ justify: "space-between",
178
+ children: [
179
+ _header,
180
+ _buttons
181
+ ]
182
+ }),
184
183
  _editor,
185
184
  _error
186
185
  ]
@@ -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":["Box","Center","Group","Input","Loader","Space","Stack","px","useMantineColorScheme","useMantineTheme","useProps","useUncontrolled","Editor","loader","MarkerSeverity","useEffect","useRef","useState","cx","useParentHeight","CopyToClipboard","CodeEditorClasses","XML","Search","defaultProps","language","monacoLoader","defaultValue","minHeight","CodeEditor","props","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","loaded","setLoaded","_value","handleChange","finalValue","parentHeight","ref","editorRef","loadLocalMonaco","monacoInstance","config","monaco","registerLanguages","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","navy","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","renderErrorOutline","colorScheme","handleValidate","markers","some","marker","severity","Error","_label","Label","_description","Description","_error","mt","h","_header","_buttons","justify","gap","editorTheme","_editor","p","pl","className","valid","data-testid","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","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":["Box","Center","Group","Input","Loader","Space","Stack","px","useMantineColorScheme","useMantineTheme","useProps","useUncontrolled","Editor","loader","MarkerSeverity","useEffect","useRef","useState","cx","useParentHeight","CopyToClipboard","CodeEditorClasses","XML","Search","defaultProps","language","monacoLoader","defaultValue","minHeight","CodeEditor","props","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","loaded","setLoaded","_value","handleChange","finalValue","parentHeight","ref","editorRef","loadLocalMonaco","monacoInstance","config","monaco","registerLanguages","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","renderErrorOutline","colorScheme","handleValidate","markers","some","marker","severity","Error","_label","Label","_description","Description","_error","h","_header","gap","_buttons","justify","editorTheme","_editor","p","pl","className","valid","data-testid","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","beforeMount","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Math","max","mah"],"mappings":"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"}