datocms-react-ui 0.3.14 → 0.3.19

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 (199) hide show
  1. package/dist/cjs/Button/styles.module.css.json +1 -1
  2. package/dist/cjs/ButtonGroup/Button/index.js +19 -0
  3. package/dist/cjs/ButtonGroup/Button/index.js.map +1 -0
  4. package/dist/cjs/ButtonGroup/Button/styles.module.css.json +1 -0
  5. package/dist/cjs/ButtonGroup/Group/index.js +29 -0
  6. package/dist/cjs/ButtonGroup/Group/index.js.map +1 -0
  7. package/dist/cjs/ButtonGroup/Group/styles.module.css.json +1 -0
  8. package/dist/cjs/ButtonGroup/index.js +8 -0
  9. package/dist/cjs/ButtonGroup/index.js.map +1 -0
  10. package/dist/cjs/Canvas/index.js +16 -27
  11. package/dist/cjs/Canvas/index.js.map +1 -1
  12. package/dist/cjs/Canvas/styles.module.css.json +1 -1
  13. package/dist/cjs/Dropdown/Dropdown.js +166 -0
  14. package/dist/cjs/Dropdown/Dropdown.js.map +1 -0
  15. package/dist/cjs/Dropdown/DropdownContext.js +9 -0
  16. package/dist/cjs/Dropdown/DropdownContext.js.map +1 -0
  17. package/dist/cjs/Dropdown/Group.js +16 -0
  18. package/dist/cjs/Dropdown/Group.js.map +1 -0
  19. package/dist/cjs/Dropdown/Menu.js +250 -0
  20. package/dist/cjs/Dropdown/Menu.js.map +1 -0
  21. package/dist/cjs/Dropdown/MenuContext.js +12 -0
  22. package/dist/cjs/Dropdown/MenuContext.js.map +1 -0
  23. package/dist/cjs/Dropdown/Option.js +100 -0
  24. package/dist/cjs/Dropdown/Option.js.map +1 -0
  25. package/dist/cjs/Dropdown/OptionAction.js +29 -0
  26. package/dist/cjs/Dropdown/OptionAction.js.map +1 -0
  27. package/dist/cjs/Dropdown/Portal.js +53 -0
  28. package/dist/cjs/Dropdown/Portal.js.map +1 -0
  29. package/dist/cjs/Dropdown/Separator.js +37 -0
  30. package/dist/cjs/Dropdown/Separator.js.map +1 -0
  31. package/dist/cjs/Dropdown/Text.js +14 -0
  32. package/dist/cjs/Dropdown/Text.js.map +1 -0
  33. package/dist/cjs/Dropdown/index.js +18 -0
  34. package/dist/cjs/Dropdown/index.js.map +1 -0
  35. package/dist/cjs/Dropdown/styles.module.css.json +1 -0
  36. package/dist/cjs/Form/index.js +19 -0
  37. package/dist/cjs/Form/index.js.map +1 -1
  38. package/dist/cjs/SidebarPanel/index.js +88 -0
  39. package/dist/cjs/SidebarPanel/index.js.map +1 -0
  40. package/dist/cjs/SidebarPanel/styles.module.css.json +1 -0
  41. package/dist/cjs/Spinner/index.js +64 -0
  42. package/dist/cjs/Spinner/index.js.map +1 -0
  43. package/dist/cjs/Spinner/styles.module.css.json +1 -0
  44. package/dist/cjs/Toolbar/Button/index.js +15 -0
  45. package/dist/cjs/Toolbar/Button/index.js.map +1 -0
  46. package/dist/cjs/Toolbar/Button/styles.module.css.json +1 -0
  47. package/dist/cjs/Toolbar/Stack/index.js +19 -0
  48. package/dist/cjs/Toolbar/Stack/index.js.map +1 -0
  49. package/dist/cjs/Toolbar/Stack/styles.module.css.json +1 -0
  50. package/dist/cjs/Toolbar/Title/index.js +15 -0
  51. package/dist/cjs/Toolbar/Title/index.js.map +1 -0
  52. package/dist/cjs/Toolbar/Title/styles.module.css.json +1 -0
  53. package/dist/cjs/Toolbar/Toolbar/index.js +99 -0
  54. package/dist/cjs/Toolbar/Toolbar/index.js.map +1 -0
  55. package/dist/cjs/Toolbar/Toolbar/styles.module.css.json +1 -0
  56. package/dist/cjs/Toolbar/index.js +12 -0
  57. package/dist/cjs/Toolbar/index.js.map +1 -0
  58. package/dist/cjs/generateStyleFromCtx/index.js +32 -0
  59. package/dist/cjs/generateStyleFromCtx/index.js.map +1 -0
  60. package/dist/cjs/icons.js +38 -0
  61. package/dist/cjs/icons.js.map +1 -0
  62. package/dist/cjs/index.js +6 -0
  63. package/dist/cjs/index.js.map +1 -1
  64. package/dist/cjs/mergeRefs/index.js +19 -0
  65. package/dist/cjs/mergeRefs/index.js.map +1 -0
  66. package/dist/cjs/useClickOutside/index.js +24 -0
  67. package/dist/cjs/useClickOutside/index.js.map +1 -0
  68. package/dist/cjs/useMediaQuery/index.js +149 -0
  69. package/dist/cjs/useMediaQuery/index.js.map +1 -0
  70. package/dist/esm/Button/styles.module.css.json +1 -1
  71. package/dist/esm/ButtonGroup/Button/index.d.ts +10 -0
  72. package/dist/esm/ButtonGroup/Button/index.js +12 -0
  73. package/dist/esm/ButtonGroup/Button/index.js.map +1 -0
  74. package/dist/esm/ButtonGroup/Button/styles.module.css.json +1 -0
  75. package/dist/esm/ButtonGroup/Group/index.d.ts +21 -0
  76. package/dist/esm/ButtonGroup/Group/index.js +22 -0
  77. package/dist/esm/ButtonGroup/Group/index.js.map +1 -0
  78. package/dist/esm/ButtonGroup/Group/styles.module.css.json +1 -0
  79. package/dist/esm/ButtonGroup/index.d.ts +4 -0
  80. package/dist/esm/ButtonGroup/index.js +3 -0
  81. package/dist/esm/ButtonGroup/index.js.map +1 -0
  82. package/dist/esm/Canvas/index.d.ts +7 -3
  83. package/dist/esm/Canvas/index.js +16 -28
  84. package/dist/esm/Canvas/index.js.map +1 -1
  85. package/dist/esm/Canvas/styles.module.css.json +1 -1
  86. package/dist/esm/Dropdown/Dropdown.d.ts +113 -0
  87. package/dist/esm/Dropdown/Dropdown.js +140 -0
  88. package/dist/esm/Dropdown/Dropdown.js.map +1 -0
  89. package/dist/esm/Dropdown/DropdownContext.d.ts +6 -0
  90. package/dist/esm/Dropdown/DropdownContext.js +6 -0
  91. package/dist/esm/Dropdown/DropdownContext.js.map +1 -0
  92. package/dist/esm/Dropdown/Group.d.ts +6 -0
  93. package/dist/esm/Dropdown/Group.js +9 -0
  94. package/dist/esm/Dropdown/Group.js.map +1 -0
  95. package/dist/esm/Dropdown/Menu.d.ts +6 -0
  96. package/dist/esm/Dropdown/Menu.js +224 -0
  97. package/dist/esm/Dropdown/Menu.js.map +1 -0
  98. package/dist/esm/Dropdown/MenuContext.d.ts +8 -0
  99. package/dist/esm/Dropdown/MenuContext.js +9 -0
  100. package/dist/esm/Dropdown/MenuContext.js.map +1 -0
  101. package/dist/esm/Dropdown/Option.d.ts +13 -0
  102. package/dist/esm/Dropdown/Option.js +74 -0
  103. package/dist/esm/Dropdown/Option.js.map +1 -0
  104. package/dist/esm/Dropdown/OptionAction.d.ts +11 -0
  105. package/dist/esm/Dropdown/OptionAction.js +22 -0
  106. package/dist/esm/Dropdown/OptionAction.js.map +1 -0
  107. package/dist/esm/Dropdown/Portal.d.ts +4 -0
  108. package/dist/esm/Dropdown/Portal.js +27 -0
  109. package/dist/esm/Dropdown/Portal.js.map +1 -0
  110. package/dist/esm/Dropdown/Separator.d.ts +2 -0
  111. package/dist/esm/Dropdown/Separator.js +11 -0
  112. package/dist/esm/Dropdown/Separator.js.map +1 -0
  113. package/dist/esm/Dropdown/Text.d.ts +5 -0
  114. package/dist/esm/Dropdown/Text.js +7 -0
  115. package/dist/esm/Dropdown/Text.js.map +1 -0
  116. package/dist/esm/Dropdown/index.d.ts +9 -0
  117. package/dist/esm/Dropdown/index.js +9 -0
  118. package/dist/esm/Dropdown/index.js.map +1 -0
  119. package/dist/esm/Dropdown/styles.module.css.json +1 -0
  120. package/dist/esm/Form/index.d.ts +19 -0
  121. package/dist/esm/Form/index.js +19 -0
  122. package/dist/esm/Form/index.js.map +1 -1
  123. package/dist/esm/SidebarPanel/index.d.ts +43 -0
  124. package/dist/esm/SidebarPanel/index.js +62 -0
  125. package/dist/esm/SidebarPanel/index.js.map +1 -0
  126. package/dist/esm/SidebarPanel/styles.module.css.json +1 -0
  127. package/dist/esm/Spinner/index.d.ts +27 -0
  128. package/dist/esm/Spinner/index.js +57 -0
  129. package/dist/esm/Spinner/index.js.map +1 -0
  130. package/dist/esm/Spinner/styles.module.css.json +1 -0
  131. package/dist/esm/Toolbar/Button/index.d.ts +8 -0
  132. package/dist/esm/Toolbar/Button/index.js +8 -0
  133. package/dist/esm/Toolbar/Button/index.js.map +1 -0
  134. package/dist/esm/Toolbar/Button/styles.module.css.json +1 -0
  135. package/dist/esm/Toolbar/Stack/index.d.ts +8 -0
  136. package/dist/esm/Toolbar/Stack/index.js +12 -0
  137. package/dist/esm/Toolbar/Stack/index.js.map +1 -0
  138. package/dist/esm/Toolbar/Stack/styles.module.css.json +1 -0
  139. package/dist/esm/Toolbar/Title/index.d.ts +7 -0
  140. package/dist/esm/Toolbar/Title/index.js +8 -0
  141. package/dist/esm/Toolbar/Title/index.js.map +1 -0
  142. package/dist/esm/Toolbar/Title/styles.module.css.json +1 -0
  143. package/dist/esm/Toolbar/Toolbar/index.d.ts +91 -0
  144. package/dist/esm/Toolbar/Toolbar/index.js +92 -0
  145. package/dist/esm/Toolbar/Toolbar/index.js.map +1 -0
  146. package/dist/esm/Toolbar/Toolbar/styles.module.css.json +1 -0
  147. package/dist/esm/Toolbar/index.d.ts +8 -0
  148. package/dist/esm/Toolbar/index.js +5 -0
  149. package/dist/esm/Toolbar/index.js.map +1 -0
  150. package/dist/esm/generateStyleFromCtx/index.d.ts +3 -0
  151. package/dist/esm/generateStyleFromCtx/index.js +28 -0
  152. package/dist/esm/generateStyleFromCtx/index.js.map +1 -0
  153. package/dist/esm/icons.d.ts +12 -0
  154. package/dist/esm/icons.js +27 -0
  155. package/dist/esm/icons.js.map +1 -0
  156. package/dist/esm/index.d.ts +6 -0
  157. package/dist/esm/index.js +6 -0
  158. package/dist/esm/index.js.map +1 -1
  159. package/dist/esm/mergeRefs/index.d.ts +2 -0
  160. package/dist/esm/mergeRefs/index.js +15 -0
  161. package/dist/esm/mergeRefs/index.js.map +1 -0
  162. package/dist/esm/useClickOutside/index.d.ts +2 -0
  163. package/dist/esm/useClickOutside/index.js +21 -0
  164. package/dist/esm/useClickOutside/index.js.map +1 -0
  165. package/dist/esm/useMediaQuery/index.d.ts +8 -0
  166. package/dist/esm/useMediaQuery/index.js +140 -0
  167. package/dist/esm/useMediaQuery/index.js.map +1 -0
  168. package/dist/types/ButtonGroup/Button/index.d.ts +10 -0
  169. package/dist/types/ButtonGroup/Group/index.d.ts +21 -0
  170. package/dist/types/ButtonGroup/index.d.ts +4 -0
  171. package/dist/types/Canvas/index.d.ts +7 -3
  172. package/dist/types/Dropdown/Dropdown.d.ts +113 -0
  173. package/dist/types/Dropdown/DropdownContext.d.ts +6 -0
  174. package/dist/types/Dropdown/Group.d.ts +6 -0
  175. package/dist/types/Dropdown/Menu.d.ts +6 -0
  176. package/dist/types/Dropdown/MenuContext.d.ts +8 -0
  177. package/dist/types/Dropdown/Option.d.ts +13 -0
  178. package/dist/types/Dropdown/OptionAction.d.ts +11 -0
  179. package/dist/types/Dropdown/Portal.d.ts +4 -0
  180. package/dist/types/Dropdown/Separator.d.ts +2 -0
  181. package/dist/types/Dropdown/Text.d.ts +5 -0
  182. package/dist/types/Dropdown/index.d.ts +9 -0
  183. package/dist/types/Form/index.d.ts +19 -0
  184. package/dist/types/SidebarPanel/index.d.ts +43 -0
  185. package/dist/types/Spinner/index.d.ts +27 -0
  186. package/dist/types/Toolbar/Button/index.d.ts +8 -0
  187. package/dist/types/Toolbar/Stack/index.d.ts +8 -0
  188. package/dist/types/Toolbar/Title/index.d.ts +7 -0
  189. package/dist/types/Toolbar/Toolbar/index.d.ts +91 -0
  190. package/dist/types/Toolbar/index.d.ts +8 -0
  191. package/dist/types/generateStyleFromCtx/index.d.ts +3 -0
  192. package/dist/types/icons.d.ts +12 -0
  193. package/dist/types/index.d.ts +6 -0
  194. package/dist/types/mergeRefs/index.d.ts +2 -0
  195. package/dist/types/useClickOutside/index.d.ts +2 -0
  196. package/dist/types/useMediaQuery/index.d.ts +8 -0
  197. package/package.json +8 -5
  198. package/styles.css +1 -1
  199. package/types.json +4688 -1844
@@ -0,0 +1,91 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export declare type ToolbarProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ };
7
+ /**
8
+ * - @example Basic example
9
+ *
10
+ * ```js
11
+ * <Canvas ctx={ctx}>
12
+ * <Toolbar>
13
+ * <ToolbarStack stackSize="l">
14
+ * <ToolbarTitle>Media Area</ToolbarTitle>
15
+ * </ToolbarStack>
16
+ * </Toolbar>
17
+ * <div
18
+ * style={{
19
+ * display: 'flex',
20
+ * justifyContent: 'center',
21
+ * alignItems: 'center',
22
+ * background: 'var(--light-bg-color)',
23
+ * height: '150px',
24
+ * }}
25
+ * >
26
+ * Main content
27
+ * </div>
28
+ * </Canvas>;
29
+ * ```
30
+ *
31
+ * @example Buttons and actions
32
+ *
33
+ * ```js
34
+ * <Canvas ctx={ctx}>
35
+ * <Toolbar>
36
+ * <ToolbarButton>
37
+ * <BackIcon />
38
+ * </ToolbarButton>
39
+ * <ToolbarStack stackSize="l">
40
+ * <ToolbarTitle>Media Area</ToolbarTitle>
41
+ * <div style={{ flex: '1' }} />
42
+ * <Button buttonType="primary">Action</Button>
43
+ * </ToolbarStack>
44
+ * <ToolbarButton>
45
+ * <SidebarLeftArrowIcon />
46
+ * </ToolbarButton>
47
+ * </Toolbar>
48
+ * <div
49
+ * style={{
50
+ * display: 'flex',
51
+ * justifyContent: 'center',
52
+ * alignItems: 'center',
53
+ * background: 'var(--light-bg-color)',
54
+ * height: '150px',
55
+ * }}
56
+ * >
57
+ * Main content
58
+ * </div>
59
+ * </Canvas>;
60
+ * ```
61
+ *
62
+ * @example With button group
63
+ *
64
+ * ```js
65
+ * <Canvas ctx={ctx}>
66
+ * <Toolbar>
67
+ * <ToolbarStack stackSize="l">
68
+ * <ToolbarTitle>Media Area</ToolbarTitle>
69
+ * <div style={{ flex: '1' }} />
70
+ * <ButtonGroup>
71
+ * <ButtonGroupButton>First</ButtonGroupButton>
72
+ * <ButtonGroupButton selected>Second</ButtonGroupButton>
73
+ * <ButtonGroupButton>Third</ButtonGroupButton>
74
+ * </ButtonGroup>
75
+ * </ToolbarStack>
76
+ * </Toolbar>
77
+ * <div
78
+ * style={{
79
+ * display: 'flex',
80
+ * justifyContent: 'center',
81
+ * alignItems: 'center',
82
+ * background: 'var(--light-bg-color)',
83
+ * height: '150px',
84
+ * }}
85
+ * >
86
+ * Main content
87
+ * </div>
88
+ * </Canvas>;
89
+ * ```
90
+ */
91
+ export declare function Toolbar({ children, style, className, }: ToolbarProps): JSX.Element;
@@ -0,0 +1,92 @@
1
+ import classNames from 'classnames';
2
+ import React from 'react';
3
+ import s from './styles.module.css.json';
4
+ /**
5
+ * - @example Basic example
6
+ *
7
+ * ```js
8
+ * <Canvas ctx={ctx}>
9
+ * <Toolbar>
10
+ * <ToolbarStack stackSize="l">
11
+ * <ToolbarTitle>Media Area</ToolbarTitle>
12
+ * </ToolbarStack>
13
+ * </Toolbar>
14
+ * <div
15
+ * style={{
16
+ * display: 'flex',
17
+ * justifyContent: 'center',
18
+ * alignItems: 'center',
19
+ * background: 'var(--light-bg-color)',
20
+ * height: '150px',
21
+ * }}
22
+ * >
23
+ * Main content
24
+ * </div>
25
+ * </Canvas>;
26
+ * ```
27
+ *
28
+ * @example Buttons and actions
29
+ *
30
+ * ```js
31
+ * <Canvas ctx={ctx}>
32
+ * <Toolbar>
33
+ * <ToolbarButton>
34
+ * <BackIcon />
35
+ * </ToolbarButton>
36
+ * <ToolbarStack stackSize="l">
37
+ * <ToolbarTitle>Media Area</ToolbarTitle>
38
+ * <div style={{ flex: '1' }} />
39
+ * <Button buttonType="primary">Action</Button>
40
+ * </ToolbarStack>
41
+ * <ToolbarButton>
42
+ * <SidebarLeftArrowIcon />
43
+ * </ToolbarButton>
44
+ * </Toolbar>
45
+ * <div
46
+ * style={{
47
+ * display: 'flex',
48
+ * justifyContent: 'center',
49
+ * alignItems: 'center',
50
+ * background: 'var(--light-bg-color)',
51
+ * height: '150px',
52
+ * }}
53
+ * >
54
+ * Main content
55
+ * </div>
56
+ * </Canvas>;
57
+ * ```
58
+ *
59
+ * @example With button group
60
+ *
61
+ * ```js
62
+ * <Canvas ctx={ctx}>
63
+ * <Toolbar>
64
+ * <ToolbarStack stackSize="l">
65
+ * <ToolbarTitle>Media Area</ToolbarTitle>
66
+ * <div style={{ flex: '1' }} />
67
+ * <ButtonGroup>
68
+ * <ButtonGroupButton>First</ButtonGroupButton>
69
+ * <ButtonGroupButton selected>Second</ButtonGroupButton>
70
+ * <ButtonGroupButton>Third</ButtonGroupButton>
71
+ * </ButtonGroup>
72
+ * </ToolbarStack>
73
+ * </Toolbar>
74
+ * <div
75
+ * style={{
76
+ * display: 'flex',
77
+ * justifyContent: 'center',
78
+ * alignItems: 'center',
79
+ * background: 'var(--light-bg-color)',
80
+ * height: '150px',
81
+ * }}
82
+ * >
83
+ * Main content
84
+ * </div>
85
+ * </Canvas>;
86
+ * ```
87
+ */
88
+ export function Toolbar(_a) {
89
+ var children = _a.children, style = _a.style, className = _a.className;
90
+ return (React.createElement("div", { className: classNames(s['Toolbar'], className), style: style }, children));
91
+ }
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Toolbar/Toolbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,MAAM,UAAU,OAAO,CAAC,EAIT;QAHb,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,CAAC,CAAC,SAAS,CAAC,EAEZ,SAAS,CACV,EACD,KAAK,EAAE,KAAK,IAEX,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Toolbar": "_Toolbar_1cwb8_1" }
@@ -0,0 +1,8 @@
1
+ export { Toolbar } from './Toolbar';
2
+ export type { ToolbarProps } from './Toolbar';
3
+ export { Button as ToolbarButton } from './Button';
4
+ export type { ButtonProps as ToolbarButtonProps } from './Button';
5
+ export { Title as ToolbarTitle } from './Title';
6
+ export type { TitleProps as ToolbarTitleProps } from './Title';
7
+ export { Stack as ToolbarStack } from './Stack';
8
+ export type { StackProps as ToolbarStackProps } from './Stack';
@@ -0,0 +1,5 @@
1
+ export { Toolbar } from './Toolbar';
2
+ export { Button as ToolbarButton } from './Button';
3
+ export { Title as ToolbarTitle } from './Title';
4
+ export { Stack as ToolbarStack } from './Stack';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Toolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { RenderProperties } from 'datocms-plugin-sdk';
2
+ import { CSSProperties } from 'react';
3
+ export declare function generateStyleFromCtx(ctx: RenderProperties): CSSProperties;
@@ -0,0 +1,28 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ function camelToDash(str) {
13
+ if (str != str.toLowerCase()) {
14
+ str = str.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); });
15
+ }
16
+ return str;
17
+ }
18
+ export function generateStyleFromCtx(ctx) {
19
+ return Object.entries(ctx.theme).reduce(function (acc, _a) {
20
+ var _b;
21
+ var _c;
22
+ var k = _a[0], v = _a[1];
23
+ return __assign(__assign({}, acc), (_b = {}, _b["--" + camelToDash(k)] = v, _b["--" + camelToDash(k + "RgbComponents")] = ((_c = v.match(/rgb\((\d+, \d+, \d+)\)/)) === null || _c === void 0 ? void 0 : _c[1]) || undefined, _b));
24
+ }, {
25
+ padding: ctx.bodyPadding.map(function (p) { return p + "px"; }).join(' '),
26
+ });
27
+ }
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generateStyleFromCtx/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;QAC5B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,EAArB,CAAqB,CAAC,CAAC;KAC3D;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CACrC,UAAC,GAAG,EAAE,EAAM;;;YAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QACT,6BACK,GAAG,gBACL,OAAK,WAAW,CAAC,CAAC,CAAG,IAAG,CAAC,KACzB,OAAK,WAAW,CAAI,CAAC,kBAAe,CAAG,IACtC,CAAA,MAAA,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,0CAAG,CAAC,CAAC,KAAI,SAAS,OACrD;IACJ,CAAC,EACD;QACE,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAG,CAAC,OAAI,EAAR,CAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACxD,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'react';
2
+ export declare type IconProps = {
3
+ width?: string | number;
4
+ height?: string | number;
5
+ className?: string;
6
+ style?: CSSProperties;
7
+ };
8
+ export declare function BackIcon({ width, height, style, className, }: IconProps): JSX.Element;
9
+ export declare function SidebarLeftArrowIcon({ width, height, style, className, }: IconProps): JSX.Element;
10
+ export declare function SidebarRightArrowIcon({ width, height, style, className, }: IconProps): JSX.Element;
11
+ export declare function CaretDownIcon({ width, height, style, className, }: IconProps): JSX.Element;
12
+ export declare function CaretUpIcon({ width, height, style, className, }: IconProps): JSX.Element;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ export function BackIcon(_a) {
3
+ var _b = _a.width, width = _b === void 0 ? '1em' : _b, _c = _a.height, height = _c === void 0 ? '1em' : _c, style = _a.style, className = _a.className;
4
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 512", width: width, height: height, style: style, className: className },
5
+ React.createElement("path", { d: "M238.475 475.535l7.071-7.07c4.686-4.686 4.686-12.284 0-16.971L50.053 256 245.546 60.506c4.686-4.686 4.686-12.284 0-16.971l-7.071-7.07c-4.686-4.686-12.284-4.686-16.97 0L10.454 247.515c-4.686 4.686-4.686 12.284 0 16.971l211.051 211.05c4.686 4.686 12.284 4.686 16.97-.001z" })));
6
+ }
7
+ export function SidebarLeftArrowIcon(_a) {
8
+ var _b = _a.width, width = _b === void 0 ? '1em' : _b, _c = _a.height, height = _c === void 0 ? '1em' : _c, style = _a.style, className = _a.className;
9
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: width, height: height, style: style, className: className },
10
+ React.createElement("path", { d: "M152 412.5L3.5 264.5c-4.7-4.7-4.7-12.3 0-17L152 99.5c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L60.1 239H372c6.6 0 12 5.4 12 12v10c0 6.6-5.4 12-12 12H60.1L176 388.4c4.7 4.7 4.7 12.3 0 17l-7.1 7.1c-4.6 4.7-12.2 4.7-16.9 0zM436 64h-8c-6.6 0-12 5.4-12 12v360c0 6.6 5.4 12 12 12h8c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12z" })));
11
+ }
12
+ export function SidebarRightArrowIcon(_a) {
13
+ var _b = _a.width, width = _b === void 0 ? '1em' : _b, _c = _a.height, height = _c === void 0 ? '1em' : _c, style = _a.style, className = _a.className;
14
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: width, height: height, style: style, className: className },
15
+ React.createElement("path", { d: "M296 99.5l148.5 148c4.7 4.7 4.7 12.3 0 17L296 412.5c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17l116-115.4H76c-6.6 0-12-5.4-12-12v-10c0-6.6 5.4-12 12-12h311.9L272 123.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.6-4.7 12.2-4.7 16.9 0zM12 448h8c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-8C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12z" })));
16
+ }
17
+ export function CaretDownIcon(_a) {
18
+ var _b = _a.width, width = _b === void 0 ? '1em' : _b, _c = _a.height, height = _c === void 0 ? '1em' : _c, style = _a.style, className = _a.className;
19
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", width: width, height: height, style: style, className: className },
20
+ React.createElement("path", { d: "M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z" })));
21
+ }
22
+ export function CaretUpIcon(_a) {
23
+ var _b = _a.width, width = _b === void 0 ? '1em' : _b, _c = _a.height, height = _c === void 0 ? '1em' : _c, style = _a.style, className = _a.className;
24
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", width: width, height: height, style: style, className: className },
25
+ React.createElement("path", { d: "M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z" })));
26
+ }
27
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAS7C,MAAM,UAAU,QAAQ,CAAC,EAKb;QAJV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,8BAAM,CAAC,EAAC,+QAA+Q,GAAQ,CAC3R,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAKzB;QAJV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,8BAAM,CAAC,EAAC,yUAAyU,GAAQ,CACrV,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAK1B;QAJV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,8BAAM,CAAC,EAAC,4UAA4U,GAAQ,CACxV,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAKlB;QAJV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,8BAAM,CAAC,EAAC,yHAAyH,GAAG,CAChI,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAKhB;QAJV,aAAa,EAAb,KAAK,mBAAG,KAAK,KAAA,EACb,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,8BAAM,CAAC,EAAC,kKAAkK,GAAG,CACzK,CACP,CAAC;AACJ,CAAC"}
@@ -13,3 +13,9 @@ export * from './ContextInspector';
13
13
  export * from './Section';
14
14
  export * from './SelectInput';
15
15
  export * from './SelectField';
16
+ export * from './ButtonGroup';
17
+ export * from './Toolbar';
18
+ export * from './Spinner';
19
+ export * from './SidebarPanel';
20
+ export * from './Dropdown';
21
+ export * from './icons';
package/dist/esm/index.js CHANGED
@@ -13,4 +13,10 @@ export * from './ContextInspector';
13
13
  export * from './Section';
14
14
  export * from './SelectInput';
15
15
  export * from './SelectField';
16
+ export * from './ButtonGroup';
17
+ export * from './Toolbar';
18
+ export * from './Spinner';
19
+ export * from './SidebarPanel';
20
+ export * from './Dropdown';
21
+ export * from './icons';
16
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const mergeRefs: <T extends unknown>(...refs: import("react").Ref<T>[]) => (instance: T | null) => void;
@@ -0,0 +1,15 @@
1
+ export var mergeRefs = function () {
2
+ var refs = [];
3
+ for (var _i = 0; _i < arguments.length; _i++) {
4
+ refs[_i] = arguments[_i];
5
+ }
6
+ return function (element) {
7
+ return refs.forEach(function (ref) {
8
+ if (typeof ref === 'function')
9
+ ref(element);
10
+ else if (ref && typeof ref === 'object')
11
+ ref.current = element;
12
+ });
13
+ };
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mergeRefs/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,SAAS,GAAG;IACvB,cAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,yBAAuB;;IACE,OAAA,UAAC,OAAU;QACpC,OAAA,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG;YACf,IAAI,OAAO,GAAG,KAAK,UAAU;gBAAE,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACpC,GAAiC,CAAC,OAAO,GAAG,OAAO,CAAC;QACzD,CAAC,CAAC;IAJF,CAIE;AALuB,CAKvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function useClickOutside<T extends HTMLElement>(handler: (event: MouseEvent | TouchEvent) => void): React.RefObject<T>;
@@ -0,0 +1,21 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ export default function useClickOutside(handler) {
3
+ var ref = useRef(null);
4
+ var handleClick = useCallback(function (event) {
5
+ event.target;
6
+ if (!ref.current || ref.current.contains(event.target)) {
7
+ return;
8
+ }
9
+ handler(event);
10
+ }, [handler]);
11
+ useEffect(function () {
12
+ document.addEventListener('mousedown', handleClick);
13
+ document.addEventListener('touchstart', handleClick);
14
+ return function () {
15
+ document.removeEventListener('mousedown', handleClick);
16
+ document.removeEventListener('touchstart', handleClick);
17
+ };
18
+ }, [handleClick]);
19
+ return ref;
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useClickOutside/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAiD;IAEjD,IAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;IAE5B,IAAM,WAAW,GAAG,WAAW,CAC7B,UAAC,KAA8B;QAC7B,KAAK,CAAC,MAAM,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;YAC9D,OAAO;SACR;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,SAAS,CAAC;QACR,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAErD,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare function useMediaQuery(media: string): MediaQueryList;
3
+ export declare type MediaQueryProps = {
4
+ media: string;
5
+ children: (mql: MediaQueryList) => JSX.Element;
6
+ };
7
+ export declare function MediaQuery({ media, children, }: MediaQueryProps): JSX.Element | null;
8
+ export declare function useElementLayout(ref: React.MutableRefObject<Element>): DOMRect;
@@ -0,0 +1,140 @@
1
+ import React from 'react';
2
+ var list = {};
3
+ export function useMediaQuery(media) {
4
+ var mediaQueryList = React.useMemo(function () {
5
+ // We have an existing mediaQueryList for media.
6
+ if (list[media]) {
7
+ return list[media].mql;
8
+ }
9
+ if (typeof window !== 'undefined') {
10
+ return matchMedia(media);
11
+ }
12
+ // Server: use a fallback.
13
+ return { matches: true, media: media };
14
+ }, [list, media]);
15
+ // Since the mediaQueryList is shared we use state to trigger re-renders.
16
+ // This is done with update({}) (a new object instance will force a re-rendering).
17
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
+ var _a = React.useState({}), _ = _a[0], update = _a[1];
19
+ React.useLayoutEffect(function () {
20
+ if (list[media]) {
21
+ list[media].notifiers.push(update);
22
+ }
23
+ else {
24
+ list[media] = {
25
+ mql: mediaQueryList,
26
+ notifiers: [update],
27
+ listener: function (mql) {
28
+ var match = list[mql.media];
29
+ if (match) {
30
+ match.notifiers.forEach(function (updateFn) { return updateFn({}); });
31
+ }
32
+ },
33
+ };
34
+ list[media].mql.addEventListener('change', list[media].listener);
35
+ }
36
+ return function () {
37
+ var notifierIndex = list[media].notifiers.indexOf(update);
38
+ if (notifierIndex > -1) {
39
+ // Remove `update`.
40
+ list[media].notifiers.splice(notifierIndex, 1);
41
+ }
42
+ if (list[media].notifiers.length === 0) {
43
+ list[media].mql.removeEventListener('change', list[media].listener);
44
+ delete list[media];
45
+ }
46
+ };
47
+ }, [list, media, mediaQueryList]);
48
+ return mediaQueryList;
49
+ }
50
+ export function MediaQuery(_a) {
51
+ var media = _a.media, children = _a.children;
52
+ var mql = useMediaQuery(media);
53
+ return typeof children === 'function' ? children(mql) : null;
54
+ }
55
+ var DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';
56
+ var supportsBorderBox = (function () {
57
+ if (typeof document === 'undefined') {
58
+ return false;
59
+ }
60
+ var e = document.body.appendChild(document.createElement('div'));
61
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
62
+ var observer = new ResizeObserver(function () { });
63
+ try {
64
+ observer.observe(e, { box: 'border-box' });
65
+ observer.unobserve(e);
66
+ return false;
67
+ }
68
+ catch (error) {
69
+ return true;
70
+ }
71
+ finally {
72
+ document.body.removeChild(e);
73
+ }
74
+ })();
75
+ var resizeObserver = null;
76
+ function getResizeObserver() {
77
+ if (resizeObserver) {
78
+ return resizeObserver;
79
+ }
80
+ if (typeof ResizeObserver === 'undefined') {
81
+ return;
82
+ }
83
+ resizeObserver = new ResizeObserver(function (entries) {
84
+ entries.forEach(function (entry) {
85
+ var node = entry.target;
86
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
+ var onLayout = node[DOM_LAYOUT_HANDLER_NAME];
88
+ if (typeof onLayout !== 'function') {
89
+ return;
90
+ }
91
+ if (supportsBorderBox && entry.borderBoxSize) {
92
+ var boxSize_1 = entry.borderBoxSize[0] || entry.borderBoxSize;
93
+ onLayout(function (prevRect) {
94
+ if (prevRect.width === boxSize_1.inlineSize &&
95
+ prevRect.height === boxSize_1.blockSize) {
96
+ return prevRect;
97
+ }
98
+ return new DOMRect(0, 0, boxSize_1.inlineSize, boxSize_1.blockSize);
99
+ });
100
+ return;
101
+ }
102
+ var elRect = entry.target.getBoundingClientRect();
103
+ onLayout(function (prevRect) {
104
+ if (prevRect.width === elRect.width &&
105
+ prevRect.height === elRect.height) {
106
+ return prevRect;
107
+ }
108
+ return new DOMRect(0, 0, elRect.width, elRect.height);
109
+ });
110
+ });
111
+ });
112
+ return resizeObserver;
113
+ }
114
+ export function useElementLayout(ref) {
115
+ var observer = getResizeObserver();
116
+ var _a = React.useState(new DOMRect()), rect = _a[0], setRect = _a[1];
117
+ React.useLayoutEffect(function () {
118
+ var node = ref.current;
119
+ if (node) {
120
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
+ node[DOM_LAYOUT_HANDLER_NAME] = setRect;
122
+ }
123
+ if (node && observer) {
124
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
+ if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {
126
+ observer.observe(node, supportsBorderBox ? { box: 'border-box' } : undefined);
127
+ }
128
+ else {
129
+ observer.unobserve(node);
130
+ }
131
+ }
132
+ return function () {
133
+ if (node != null && observer != null) {
134
+ observer.unobserve(node);
135
+ }
136
+ };
137
+ }, [ref, observer]);
138
+ return rect;
139
+ }
140
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useMediaQuery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,IAAM,IAAI,GAON,EAAE,CAAC;AAEP,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;QACnC,gDAAgD;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;SACxB;QAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;SAC1B;QAED,0BAA0B;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,OAAA,EAAoB,CAAC;IACpD,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAElB,yEAAyE;IACzE,kFAAkF;IAClF,6DAA6D;IACvD,IAAA,KAAc,KAAK,CAAC,QAAQ,CAAwB,EAAE,CAAC,EAAtD,CAAC,QAAA,EAAE,MAAM,QAA6C,CAAC;IAE9D,KAAK,CAAC,eAAe,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,GAAG;gBACZ,GAAG,EAAE,cAAc;gBACnB,SAAS,EAAE,CAAC,MAAM,CAAC;gBACnB,QAAQ,EAAE,UAAC,GAAG;oBACZ,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,KAAK,EAAE;wBACT,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,CAAC,EAAZ,CAAY,CAAC,CAAC;qBACrD;gBACH,CAAC;aACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;SAClE;QACD,OAAO;YACL,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE;gBACtB,mBAAmB;gBACnB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aAChD;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,EAGT;QAFhB,KAAK,WAAA,EACL,QAAQ,cAAA;IAER,IAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,IAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAEvD,IAAM,iBAAiB,GAAG,CAAC;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACnC,OAAO,KAAK,CAAC;KACd;IACD,IAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,gEAAgE;IAChE,IAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,cAAO,CAAC,CAAC,CAAC;IAC9C,IAAI;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;KACd;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;YAAS;QACR,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC9B;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD,SAAS,iBAAiB;IACxB,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;QACzC,OAAO;KACR;IAED,cAAc,GAAG,IAAI,cAAc,CAAC,UAAC,OAAO;QAC1C,OAAO,CAAC,OAAO,CAAC,UAAC,KAAK;YACpB,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAE1B,8DAA8D;YAC9D,IAAM,QAAQ,GAAI,IAAY,CAAC,uBAAuB,CAEzC,CAAC;YAEd,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,OAAO;aACR;YAED,IAAI,iBAAiB,IAAI,KAAK,CAAC,aAAa,EAAE;gBAC5C,IAAM,SAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC;gBAC9D,QAAQ,CAAC,UAAC,QAAQ;oBAChB,IACE,QAAQ,CAAC,KAAK,KAAK,SAAO,CAAC,UAAU;wBACrC,QAAQ,CAAC,MAAM,KAAK,SAAO,CAAC,SAAS,EACrC;wBACA,OAAO,QAAQ,CAAC;qBACjB;oBACD,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAO,CAAC,UAAU,EAAE,SAAO,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBACH,OAAO;aACR;YAED,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAEpD,QAAQ,CAAC,UAAC,QAAQ;gBAChB,IACE,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;oBAC/B,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EACjC;oBACA,OAAO,QAAQ,CAAC;iBACjB;gBACD,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAoC;IAEpC,IAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAC/B,IAAA,KAAkB,KAAK,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,EAA9C,IAAI,QAAA,EAAE,OAAO,QAAiC,CAAC;IAEtD,KAAK,CAAC,eAAe,CAAC;QACpB,IAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QAEzB,IAAI,IAAI,EAAE;YACR,8DAA8D;YAC7D,IAAY,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC;SAClD;QAED,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,8DAA8D;YAC9D,IAAI,OAAQ,IAAY,CAAC,uBAAuB,CAAC,KAAK,UAAU,EAAE;gBAChE,QAAQ,CAAC,OAAO,CACd,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;aACH;iBAAM;gBACL,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QACD,OAAO;YACL,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { CSSProperties, MouseEventHandler, ReactNode } from 'react';
2
+ export declare type ButtonProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ selected?: boolean;
6
+ disabled?: boolean;
7
+ style?: CSSProperties;
8
+ onClick?: MouseEventHandler;
9
+ };
10
+ export declare function Button({ children, style, className, selected, disabled, onClick, }: ButtonProps): JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export declare type GroupProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ };
7
+ /**
8
+ * @example Basic example
9
+ *
10
+ * ```js
11
+ * <Canvas ctx={ctx}>
12
+ * <ButtonGroup>
13
+ * <ButtonGroupButton>First</ButtonGroupButton>
14
+ * <ButtonGroupButton selected>Second</ButtonGroupButton>
15
+ * <ButtonGroupButton>Third</ButtonGroupButton>
16
+ * <ButtonGroupButton disabled>Fourth</ButtonGroupButton>
17
+ * </ButtonGroup>
18
+ * </Canvas>;
19
+ * ```
20
+ */
21
+ export declare function Group({ children, style, className }: GroupProps): JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { Group as ButtonGroup } from './Group';
2
+ export type { GroupProps as ButtonGroupProps } from './Group';
3
+ export { Button as ButtonGroupButton } from './Button';
4
+ export type { ButtonProps as ButtonGroupButtonProps } from './Button';
@@ -1,7 +1,10 @@
1
- import { ReactNode } from 'react';
2
- import { RenderProperties } from 'datocms-plugin-sdk';
1
+ import React, { ReactNode } from 'react';
2
+ import { RenderMethods, RenderProperties } from 'datocms-plugin-sdk';
3
+ declare type BaseRenderPropertiesAndMethods = RenderProperties & RenderMethods;
4
+ export declare const CtxContext: React.Context<BaseRenderPropertiesAndMethods | null>;
5
+ export declare function useCtx<T extends BaseRenderPropertiesAndMethods>(): T;
3
6
  export declare type CanvasProps = {
4
- ctx: RenderProperties;
7
+ ctx: BaseRenderPropertiesAndMethods;
5
8
  noAutoResizer?: boolean;
6
9
  children: ReactNode;
7
10
  };
@@ -497,3 +500,4 @@ export declare type CanvasProps = {
497
500
  * ```
498
501
  */
499
502
  export declare function Canvas({ ctx, children, noAutoResizer, }: CanvasProps): JSX.Element;
503
+ export {};