@coveord/plasma-mantine 49.0.2 → 49.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +13 -11
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/button/Button.js +28 -0
  5. package/dist/cjs/components/button/Button.js.map +1 -0
  6. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +64 -0
  7. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -0
  8. package/dist/cjs/components/button/index.js +8 -0
  9. package/dist/cjs/components/button/index.js.map +1 -0
  10. package/dist/cjs/components/collection/Collection.js +2 -1
  11. package/dist/cjs/components/collection/Collection.js.map +1 -1
  12. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +3 -2
  13. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  14. package/dist/cjs/components/index.js +2 -0
  15. package/dist/cjs/components/index.js.map +1 -1
  16. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +2 -2
  17. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  18. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +3 -2
  19. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  20. package/dist/cjs/components/menu/Menu.js +29 -0
  21. package/dist/cjs/components/menu/Menu.js.map +1 -0
  22. package/dist/cjs/components/menu/index.js +8 -0
  23. package/dist/cjs/components/menu/index.js.map +1 -0
  24. package/dist/cjs/components/modal-wizard/ModalWizard.js +4 -3
  25. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  26. package/dist/cjs/components/table/TableDateRangePicker.js +2 -1
  27. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  28. package/dist/cjs/components/table/TableHeader.js +2 -1
  29. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  30. package/dist/cjs/index.js +6 -0
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/utils/createPolymorphicComponent.js +14 -0
  33. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -0
  34. package/dist/cjs/utils/index.js +9 -0
  35. package/dist/cjs/utils/index.js.map +1 -0
  36. package/dist/cjs/utils/overrideComponent.js +29 -0
  37. package/dist/cjs/utils/overrideComponent.js.map +1 -0
  38. package/dist/definitions/components/button/Button.d.ts +16 -0
  39. package/dist/definitions/components/button/Button.d.ts.map +1 -0
  40. package/dist/definitions/components/button/ButtonWithDisabledTooltip.d.ts +24 -0
  41. package/dist/definitions/components/button/ButtonWithDisabledTooltip.d.ts.map +1 -0
  42. package/dist/definitions/components/button/index.d.ts +3 -0
  43. package/dist/definitions/components/button/index.d.ts.map +1 -0
  44. package/dist/definitions/components/collection/Collection.d.ts.map +1 -1
  45. package/dist/definitions/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  46. package/dist/definitions/components/index.d.ts +2 -0
  47. package/dist/definitions/components/index.d.ts.map +1 -1
  48. package/dist/definitions/components/inline-confirm/InlineConfirmButton.d.ts +1 -1
  49. package/dist/definitions/components/inline-confirm/InlineConfirmButton.d.ts.map +1 -1
  50. package/dist/definitions/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  51. package/dist/definitions/components/menu/Menu.d.ts +16 -0
  52. package/dist/definitions/components/menu/Menu.d.ts.map +1 -0
  53. package/dist/definitions/components/menu/index.d.ts +2 -0
  54. package/dist/definitions/components/menu/index.d.ts.map +1 -0
  55. package/dist/definitions/components/modal-wizard/ModalWizard.d.ts.map +1 -1
  56. package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -1
  57. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
  58. package/dist/definitions/index.d.ts +1 -1
  59. package/dist/definitions/index.d.ts.map +1 -1
  60. package/dist/definitions/utils/createPolymorphicComponent.d.ts +3 -0
  61. package/dist/definitions/utils/createPolymorphicComponent.d.ts.map +1 -0
  62. package/dist/definitions/utils/index.d.ts +3 -0
  63. package/dist/definitions/utils/index.d.ts.map +1 -0
  64. package/dist/definitions/utils/overrideComponent.d.ts +10 -0
  65. package/dist/definitions/utils/overrideComponent.d.ts.map +1 -0
  66. package/dist/esm/components/button/Button.js +18 -0
  67. package/dist/esm/components/button/Button.js.map +1 -0
  68. package/dist/esm/components/button/ButtonWithDisabledTooltip.js +54 -0
  69. package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -0
  70. package/dist/esm/components/button/index.js +3 -0
  71. package/dist/esm/components/button/index.js.map +1 -0
  72. package/dist/esm/components/collection/Collection.js +2 -1
  73. package/dist/esm/components/collection/Collection.js.map +1 -1
  74. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +2 -1
  75. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  76. package/dist/esm/components/index.js +2 -0
  77. package/dist/esm/components/index.js.map +1 -1
  78. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +1 -1
  79. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  80. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +2 -1
  81. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  82. package/dist/esm/components/menu/Menu.js +19 -0
  83. package/dist/esm/components/menu/Menu.js.map +1 -0
  84. package/dist/esm/components/menu/index.js +3 -0
  85. package/dist/esm/components/menu/index.js.map +1 -0
  86. package/dist/esm/components/modal-wizard/ModalWizard.js +3 -2
  87. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  88. package/dist/esm/components/table/TableDateRangePicker.js +2 -1
  89. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  90. package/dist/esm/components/table/TableHeader.js +2 -1
  91. package/dist/esm/components/table/TableHeader.js.map +1 -1
  92. package/dist/esm/index.js +1 -1
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/utils/createPolymorphicComponent.js +8 -0
  95. package/dist/esm/utils/createPolymorphicComponent.js.map +1 -0
  96. package/dist/esm/utils/index.js +4 -0
  97. package/dist/esm/utils/index.js.map +1 -0
  98. package/dist/esm/utils/overrideComponent.js +19 -0
  99. package/dist/esm/utils/overrideComponent.js.map +1 -0
  100. package/package.json +5 -3
  101. package/src/components/button/Button.tsx +27 -0
  102. package/src/components/button/ButtonWithDisabledTooltip.tsx +58 -0
  103. package/src/components/button/__tests__/ButtonWithDisabledTooltip.spec.tsx +52 -0
  104. package/src/components/button/index.ts +2 -0
  105. package/src/components/collection/Collection.tsx +1 -1
  106. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +2 -1
  107. package/src/components/index.ts +2 -0
  108. package/src/components/inline-confirm/InlineConfirmButton.tsx +2 -1
  109. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +2 -1
  110. package/src/components/menu/Menu.tsx +18 -0
  111. package/src/components/menu/index.ts +1 -0
  112. package/src/components/modal-wizard/ModalWizard.tsx +4 -2
  113. package/src/components/table/TableDateRangePicker.tsx +3 -1
  114. package/src/components/table/TableHeader.tsx +2 -1
  115. package/src/components/table/__tests__/TableActions.spec.tsx +1 -1
  116. package/src/index.ts +1 -1
  117. package/src/utils/__tests__/overrideComponent.spec.tsx +74 -0
  118. package/src/utils/createPolymorphicComponent.ts +8 -0
  119. package/src/utils/index.ts +2 -0
  120. package/src/utils/overrideComponent.ts +18 -0
@@ -0,0 +1,74 @@
1
+ import {render} from '@test-utils';
2
+ import {ReactNode} from 'react';
3
+
4
+ import {overrideComponent} from '../overrideComponent';
5
+
6
+ describe('overrideComponent', () => {
7
+ it('overrides the specified properties on the component and copies over the rest', () => {
8
+ const Component = () => <div>hello world</div>;
9
+ Component.displayName = 'hello world';
10
+ Component.One = () => <span>one</span>;
11
+ Component.Two = () => <span>two</span>;
12
+
13
+ const NewComponent = overrideComponent(Component, {
14
+ displayName: 'hello new world',
15
+ One: (props: {children: ReactNode}) => <span>{props.children}</span>,
16
+ });
17
+
18
+ expect(NewComponent.displayName).toBe('hello new world');
19
+
20
+ const {container, rerender} = render(<Component />);
21
+ expect(container).toMatchInlineSnapshot(`
22
+ <div>
23
+ <div>
24
+ hello world
25
+ </div>
26
+ </div>
27
+ `);
28
+
29
+ rerender(<NewComponent />);
30
+ expect(container).toMatchInlineSnapshot(`
31
+ <div>
32
+ <div>
33
+ hello world
34
+ </div>
35
+ </div>
36
+ `);
37
+
38
+ rerender(<Component.One />);
39
+ expect(container).toMatchInlineSnapshot(`
40
+ <div>
41
+ <span>
42
+ one
43
+ </span>
44
+ </div>
45
+ `);
46
+
47
+ rerender(<NewComponent.One>1</NewComponent.One>);
48
+ expect(container).toMatchInlineSnapshot(`
49
+ <div>
50
+ <span>
51
+ 1
52
+ </span>
53
+ </div>
54
+ `);
55
+
56
+ rerender(<Component.Two />);
57
+ expect(container).toMatchInlineSnapshot(`
58
+ <div>
59
+ <span>
60
+ two
61
+ </span>
62
+ </div>
63
+ `);
64
+
65
+ rerender(<NewComponent.Two />);
66
+ expect(container).toMatchInlineSnapshot(`
67
+ <div>
68
+ <span>
69
+ two
70
+ </span>
71
+ </div>
72
+ `);
73
+ });
74
+ });
@@ -0,0 +1,8 @@
1
+ import {createPolymorphicComponent as mantineCreatePolymorphicComponent} from '@mantine/utils';
2
+
3
+ /*
4
+ * createPolymorphicComponent is already exported from @mantine/core, but there is an issue when using pnpm + typescript
5
+ * that forces us to use it directly from @mantine/utils (see https://github.com/microsoft/TypeScript/issues/47663)
6
+ * We are simply rexporting it here to avoid having to deal with this issue everywhere
7
+ */
8
+ export const createPolymorphicComponent = mantineCreatePolymorphicComponent;
@@ -0,0 +1,2 @@
1
+ export * from './createPolymorphicComponent';
2
+ export * from './overrideComponent';
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Allows to override static properties from a component function
3
+ *
4
+ * @param component The component which holds the static properties
5
+ * @param properties The new static properties to assign on the component
6
+ * @returns A new component with the specified properties. It doesn't change the original component
7
+ * @example const Menu = overrideComponent(MantineMenu, {Item: MyMenuItem}); // Menu.Item will equal MyMenuItem
8
+ */
9
+ export const overrideComponent = <
10
+ Component extends (...args: Parameters<Component>) => ReturnType<Component>,
11
+ StaticProperties = Record<keyof Component, never>
12
+ >(
13
+ component: Component,
14
+ properties: StaticProperties
15
+ ): ((...args: Parameters<Component>) => ReturnType<Component>) & Component & StaticProperties => {
16
+ const componentClone = (...args: Parameters<Component>) => component(...args);
17
+ return Object.assign(componentClone, component, properties);
18
+ };