datocms-react-ui 0.3.15 → 0.3.20

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 (193) 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/SidebarPanel/index.js +88 -0
  37. package/dist/cjs/SidebarPanel/index.js.map +1 -0
  38. package/dist/cjs/SidebarPanel/styles.module.css.json +1 -0
  39. package/dist/cjs/Spinner/index.js +64 -0
  40. package/dist/cjs/Spinner/index.js.map +1 -0
  41. package/dist/cjs/Spinner/styles.module.css.json +1 -0
  42. package/dist/cjs/Toolbar/Button/index.js +15 -0
  43. package/dist/cjs/Toolbar/Button/index.js.map +1 -0
  44. package/dist/cjs/Toolbar/Button/styles.module.css.json +1 -0
  45. package/dist/cjs/Toolbar/Stack/index.js +19 -0
  46. package/dist/cjs/Toolbar/Stack/index.js.map +1 -0
  47. package/dist/cjs/Toolbar/Stack/styles.module.css.json +1 -0
  48. package/dist/cjs/Toolbar/Title/index.js +15 -0
  49. package/dist/cjs/Toolbar/Title/index.js.map +1 -0
  50. package/dist/cjs/Toolbar/Title/styles.module.css.json +1 -0
  51. package/dist/cjs/Toolbar/Toolbar/index.js +99 -0
  52. package/dist/cjs/Toolbar/Toolbar/index.js.map +1 -0
  53. package/dist/cjs/Toolbar/Toolbar/styles.module.css.json +1 -0
  54. package/dist/cjs/Toolbar/index.js +12 -0
  55. package/dist/cjs/Toolbar/index.js.map +1 -0
  56. package/dist/cjs/generateStyleFromCtx/index.js +32 -0
  57. package/dist/cjs/generateStyleFromCtx/index.js.map +1 -0
  58. package/dist/cjs/icons.js +38 -0
  59. package/dist/cjs/icons.js.map +1 -0
  60. package/dist/cjs/index.js +6 -0
  61. package/dist/cjs/index.js.map +1 -1
  62. package/dist/cjs/mergeRefs/index.js +19 -0
  63. package/dist/cjs/mergeRefs/index.js.map +1 -0
  64. package/dist/cjs/useClickOutside/index.js +24 -0
  65. package/dist/cjs/useClickOutside/index.js.map +1 -0
  66. package/dist/cjs/useMediaQuery/index.js +149 -0
  67. package/dist/cjs/useMediaQuery/index.js.map +1 -0
  68. package/dist/esm/Button/styles.module.css.json +1 -1
  69. package/dist/esm/ButtonGroup/Button/index.d.ts +10 -0
  70. package/dist/esm/ButtonGroup/Button/index.js +12 -0
  71. package/dist/esm/ButtonGroup/Button/index.js.map +1 -0
  72. package/dist/esm/ButtonGroup/Button/styles.module.css.json +1 -0
  73. package/dist/esm/ButtonGroup/Group/index.d.ts +21 -0
  74. package/dist/esm/ButtonGroup/Group/index.js +22 -0
  75. package/dist/esm/ButtonGroup/Group/index.js.map +1 -0
  76. package/dist/esm/ButtonGroup/Group/styles.module.css.json +1 -0
  77. package/dist/esm/ButtonGroup/index.d.ts +4 -0
  78. package/dist/esm/ButtonGroup/index.js +3 -0
  79. package/dist/esm/ButtonGroup/index.js.map +1 -0
  80. package/dist/esm/Canvas/index.d.ts +7 -3
  81. package/dist/esm/Canvas/index.js +16 -28
  82. package/dist/esm/Canvas/index.js.map +1 -1
  83. package/dist/esm/Canvas/styles.module.css.json +1 -1
  84. package/dist/esm/Dropdown/Dropdown.d.ts +113 -0
  85. package/dist/esm/Dropdown/Dropdown.js +140 -0
  86. package/dist/esm/Dropdown/Dropdown.js.map +1 -0
  87. package/dist/esm/Dropdown/DropdownContext.d.ts +6 -0
  88. package/dist/esm/Dropdown/DropdownContext.js +6 -0
  89. package/dist/esm/Dropdown/DropdownContext.js.map +1 -0
  90. package/dist/esm/Dropdown/Group.d.ts +6 -0
  91. package/dist/esm/Dropdown/Group.js +9 -0
  92. package/dist/esm/Dropdown/Group.js.map +1 -0
  93. package/dist/esm/Dropdown/Menu.d.ts +6 -0
  94. package/dist/esm/Dropdown/Menu.js +224 -0
  95. package/dist/esm/Dropdown/Menu.js.map +1 -0
  96. package/dist/esm/Dropdown/MenuContext.d.ts +8 -0
  97. package/dist/esm/Dropdown/MenuContext.js +9 -0
  98. package/dist/esm/Dropdown/MenuContext.js.map +1 -0
  99. package/dist/esm/Dropdown/Option.d.ts +13 -0
  100. package/dist/esm/Dropdown/Option.js +74 -0
  101. package/dist/esm/Dropdown/Option.js.map +1 -0
  102. package/dist/esm/Dropdown/OptionAction.d.ts +11 -0
  103. package/dist/esm/Dropdown/OptionAction.js +22 -0
  104. package/dist/esm/Dropdown/OptionAction.js.map +1 -0
  105. package/dist/esm/Dropdown/Portal.d.ts +4 -0
  106. package/dist/esm/Dropdown/Portal.js +27 -0
  107. package/dist/esm/Dropdown/Portal.js.map +1 -0
  108. package/dist/esm/Dropdown/Separator.d.ts +2 -0
  109. package/dist/esm/Dropdown/Separator.js +11 -0
  110. package/dist/esm/Dropdown/Separator.js.map +1 -0
  111. package/dist/esm/Dropdown/Text.d.ts +5 -0
  112. package/dist/esm/Dropdown/Text.js +7 -0
  113. package/dist/esm/Dropdown/Text.js.map +1 -0
  114. package/dist/esm/Dropdown/index.d.ts +9 -0
  115. package/dist/esm/Dropdown/index.js +9 -0
  116. package/dist/esm/Dropdown/index.js.map +1 -0
  117. package/dist/esm/Dropdown/styles.module.css.json +1 -0
  118. package/dist/esm/SidebarPanel/index.d.ts +43 -0
  119. package/dist/esm/SidebarPanel/index.js +62 -0
  120. package/dist/esm/SidebarPanel/index.js.map +1 -0
  121. package/dist/esm/SidebarPanel/styles.module.css.json +1 -0
  122. package/dist/esm/Spinner/index.d.ts +27 -0
  123. package/dist/esm/Spinner/index.js +57 -0
  124. package/dist/esm/Spinner/index.js.map +1 -0
  125. package/dist/esm/Spinner/styles.module.css.json +1 -0
  126. package/dist/esm/Toolbar/Button/index.d.ts +8 -0
  127. package/dist/esm/Toolbar/Button/index.js +8 -0
  128. package/dist/esm/Toolbar/Button/index.js.map +1 -0
  129. package/dist/esm/Toolbar/Button/styles.module.css.json +1 -0
  130. package/dist/esm/Toolbar/Stack/index.d.ts +8 -0
  131. package/dist/esm/Toolbar/Stack/index.js +12 -0
  132. package/dist/esm/Toolbar/Stack/index.js.map +1 -0
  133. package/dist/esm/Toolbar/Stack/styles.module.css.json +1 -0
  134. package/dist/esm/Toolbar/Title/index.d.ts +7 -0
  135. package/dist/esm/Toolbar/Title/index.js +8 -0
  136. package/dist/esm/Toolbar/Title/index.js.map +1 -0
  137. package/dist/esm/Toolbar/Title/styles.module.css.json +1 -0
  138. package/dist/esm/Toolbar/Toolbar/index.d.ts +91 -0
  139. package/dist/esm/Toolbar/Toolbar/index.js +92 -0
  140. package/dist/esm/Toolbar/Toolbar/index.js.map +1 -0
  141. package/dist/esm/Toolbar/Toolbar/styles.module.css.json +1 -0
  142. package/dist/esm/Toolbar/index.d.ts +8 -0
  143. package/dist/esm/Toolbar/index.js +5 -0
  144. package/dist/esm/Toolbar/index.js.map +1 -0
  145. package/dist/esm/generateStyleFromCtx/index.d.ts +3 -0
  146. package/dist/esm/generateStyleFromCtx/index.js +28 -0
  147. package/dist/esm/generateStyleFromCtx/index.js.map +1 -0
  148. package/dist/esm/icons.d.ts +12 -0
  149. package/dist/esm/icons.js +27 -0
  150. package/dist/esm/icons.js.map +1 -0
  151. package/dist/esm/index.d.ts +6 -0
  152. package/dist/esm/index.js +6 -0
  153. package/dist/esm/index.js.map +1 -1
  154. package/dist/esm/mergeRefs/index.d.ts +2 -0
  155. package/dist/esm/mergeRefs/index.js +15 -0
  156. package/dist/esm/mergeRefs/index.js.map +1 -0
  157. package/dist/esm/useClickOutside/index.d.ts +2 -0
  158. package/dist/esm/useClickOutside/index.js +21 -0
  159. package/dist/esm/useClickOutside/index.js.map +1 -0
  160. package/dist/esm/useMediaQuery/index.d.ts +8 -0
  161. package/dist/esm/useMediaQuery/index.js +140 -0
  162. package/dist/esm/useMediaQuery/index.js.map +1 -0
  163. package/dist/types/ButtonGroup/Button/index.d.ts +10 -0
  164. package/dist/types/ButtonGroup/Group/index.d.ts +21 -0
  165. package/dist/types/ButtonGroup/index.d.ts +4 -0
  166. package/dist/types/Canvas/index.d.ts +7 -3
  167. package/dist/types/Dropdown/Dropdown.d.ts +113 -0
  168. package/dist/types/Dropdown/DropdownContext.d.ts +6 -0
  169. package/dist/types/Dropdown/Group.d.ts +6 -0
  170. package/dist/types/Dropdown/Menu.d.ts +6 -0
  171. package/dist/types/Dropdown/MenuContext.d.ts +8 -0
  172. package/dist/types/Dropdown/Option.d.ts +13 -0
  173. package/dist/types/Dropdown/OptionAction.d.ts +11 -0
  174. package/dist/types/Dropdown/Portal.d.ts +4 -0
  175. package/dist/types/Dropdown/Separator.d.ts +2 -0
  176. package/dist/types/Dropdown/Text.d.ts +5 -0
  177. package/dist/types/Dropdown/index.d.ts +9 -0
  178. package/dist/types/SidebarPanel/index.d.ts +43 -0
  179. package/dist/types/Spinner/index.d.ts +27 -0
  180. package/dist/types/Toolbar/Button/index.d.ts +8 -0
  181. package/dist/types/Toolbar/Stack/index.d.ts +8 -0
  182. package/dist/types/Toolbar/Title/index.d.ts +7 -0
  183. package/dist/types/Toolbar/Toolbar/index.d.ts +91 -0
  184. package/dist/types/Toolbar/index.d.ts +8 -0
  185. package/dist/types/generateStyleFromCtx/index.d.ts +3 -0
  186. package/dist/types/icons.d.ts +12 -0
  187. package/dist/types/index.d.ts +6 -0
  188. package/dist/types/mergeRefs/index.d.ts +2 -0
  189. package/dist/types/useClickOutside/index.d.ts +2 -0
  190. package/dist/types/useMediaQuery/index.d.ts +8 -0
  191. package/package.json +9 -6
  192. package/styles.css +1 -1
  193. package/types.json +4699 -1855
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Toolbar = void 0;
7
+ var classnames_1 = __importDefault(require("classnames"));
8
+ var react_1 = __importDefault(require("react"));
9
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
10
+ /**
11
+ * - @example Basic example
12
+ *
13
+ * ```js
14
+ * <Canvas ctx={ctx}>
15
+ * <Toolbar>
16
+ * <ToolbarStack stackSize="l">
17
+ * <ToolbarTitle>Media Area</ToolbarTitle>
18
+ * </ToolbarStack>
19
+ * </Toolbar>
20
+ * <div
21
+ * style={{
22
+ * display: 'flex',
23
+ * justifyContent: 'center',
24
+ * alignItems: 'center',
25
+ * background: 'var(--light-bg-color)',
26
+ * height: '150px',
27
+ * }}
28
+ * >
29
+ * Main content
30
+ * </div>
31
+ * </Canvas>;
32
+ * ```
33
+ *
34
+ * @example Buttons and actions
35
+ *
36
+ * ```js
37
+ * <Canvas ctx={ctx}>
38
+ * <Toolbar>
39
+ * <ToolbarButton>
40
+ * <BackIcon />
41
+ * </ToolbarButton>
42
+ * <ToolbarStack stackSize="l">
43
+ * <ToolbarTitle>Media Area</ToolbarTitle>
44
+ * <div style={{ flex: '1' }} />
45
+ * <Button buttonType="primary">Action</Button>
46
+ * </ToolbarStack>
47
+ * <ToolbarButton>
48
+ * <SidebarLeftArrowIcon />
49
+ * </ToolbarButton>
50
+ * </Toolbar>
51
+ * <div
52
+ * style={{
53
+ * display: 'flex',
54
+ * justifyContent: 'center',
55
+ * alignItems: 'center',
56
+ * background: 'var(--light-bg-color)',
57
+ * height: '150px',
58
+ * }}
59
+ * >
60
+ * Main content
61
+ * </div>
62
+ * </Canvas>;
63
+ * ```
64
+ *
65
+ * @example With button group
66
+ *
67
+ * ```js
68
+ * <Canvas ctx={ctx}>
69
+ * <Toolbar>
70
+ * <ToolbarStack stackSize="l">
71
+ * <ToolbarTitle>Media Area</ToolbarTitle>
72
+ * <div style={{ flex: '1' }} />
73
+ * <ButtonGroup>
74
+ * <ButtonGroupButton>First</ButtonGroupButton>
75
+ * <ButtonGroupButton selected>Second</ButtonGroupButton>
76
+ * <ButtonGroupButton>Third</ButtonGroupButton>
77
+ * </ButtonGroup>
78
+ * </ToolbarStack>
79
+ * </Toolbar>
80
+ * <div
81
+ * style={{
82
+ * display: 'flex',
83
+ * justifyContent: 'center',
84
+ * alignItems: 'center',
85
+ * background: 'var(--light-bg-color)',
86
+ * height: '150px',
87
+ * }}
88
+ * >
89
+ * Main content
90
+ * </div>
91
+ * </Canvas>;
92
+ * ```
93
+ */
94
+ function Toolbar(_a) {
95
+ var children = _a.children, style = _a.style, className = _a.className;
96
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles_module_css_json_1.default['Toolbar'], className), style: style }, children));
97
+ }
98
+ exports.Toolbar = Toolbar;
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Toolbar/Toolbar/index.tsx"],"names":[],"mappings":";;;;;;AAAA,0DAAoC;AACpC,gDAAwD;AACxD,oFAAyC;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,SAAgB,OAAO,CAAC,EAIT;QAHb,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,oBAAU,EACnB,gCAAC,CAAC,SAAS,CAAC,EAEZ,SAAS,CACV,EACD,KAAK,EAAE,KAAK,IAEX,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAjBD,0BAiBC"}
@@ -0,0 +1 @@
1
+ { "Toolbar": "_Toolbar_1cwb8_1" }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolbarStack = exports.ToolbarTitle = exports.ToolbarButton = exports.Toolbar = void 0;
4
+ var Toolbar_1 = require("./Toolbar");
5
+ Object.defineProperty(exports, "Toolbar", { enumerable: true, get: function () { return Toolbar_1.Toolbar; } });
6
+ var Button_1 = require("./Button");
7
+ Object.defineProperty(exports, "ToolbarButton", { enumerable: true, get: function () { return Button_1.Button; } });
8
+ var Title_1 = require("./Title");
9
+ Object.defineProperty(exports, "ToolbarTitle", { enumerable: true, get: function () { return Title_1.Title; } });
10
+ var Stack_1 = require("./Stack");
11
+ Object.defineProperty(exports, "ToolbarStack", { enumerable: true, get: function () { return Stack_1.Stack; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Toolbar/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB,mCAAmD;AAA1C,uGAAA,MAAM,OAAiB;AAEhC,iCAAgD;AAAvC,qGAAA,KAAK,OAAgB;AAE9B,iCAAgD;AAAvC,qGAAA,KAAK,OAAgB"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateStyleFromCtx = void 0;
15
+ function camelToDash(str) {
16
+ if (str != str.toLowerCase()) {
17
+ str = str.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); });
18
+ }
19
+ return str;
20
+ }
21
+ function generateStyleFromCtx(ctx) {
22
+ return Object.entries(ctx.theme).reduce(function (acc, _a) {
23
+ var _b;
24
+ var _c;
25
+ var k = _a[0], v = _a[1];
26
+ 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));
27
+ }, {
28
+ padding: ctx.bodyPadding.map(function (p) { return p + "px"; }).join(' '),
29
+ });
30
+ }
31
+ exports.generateStyleFromCtx = generateStyleFromCtx;
32
+ //# 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,SAAgB,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;AAdD,oDAcC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CaretUpIcon = exports.CaretDownIcon = exports.SidebarRightArrowIcon = exports.SidebarLeftArrowIcon = exports.BackIcon = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ function BackIcon(_a) {
9
+ 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;
10
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 512", width: width, height: height, style: style, className: className },
11
+ react_1.default.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" })));
12
+ }
13
+ exports.BackIcon = BackIcon;
14
+ function SidebarLeftArrowIcon(_a) {
15
+ 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;
16
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: width, height: height, style: style, className: className },
17
+ react_1.default.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" })));
18
+ }
19
+ exports.SidebarLeftArrowIcon = SidebarLeftArrowIcon;
20
+ function SidebarRightArrowIcon(_a) {
21
+ 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;
22
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: width, height: height, style: style, className: className },
23
+ react_1.default.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" })));
24
+ }
25
+ exports.SidebarRightArrowIcon = SidebarRightArrowIcon;
26
+ function CaretDownIcon(_a) {
27
+ 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;
28
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", width: width, height: height, style: style, className: className },
29
+ react_1.default.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" })));
30
+ }
31
+ exports.CaretDownIcon = CaretDownIcon;
32
+ function CaretUpIcon(_a) {
33
+ 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;
34
+ return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", width: width, height: height, style: style, className: className },
35
+ react_1.default.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" })));
36
+ }
37
+ exports.CaretUpIcon = CaretUpIcon;
38
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/icons.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA6C;AAS7C,SAAgB,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,uCACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,wCAAM,CAAC,EAAC,+QAA+Q,GAAQ,CAC3R,CACP,CAAC;AACJ,CAAC;AAlBD,4BAkBC;AAED,SAAgB,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,uCACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,wCAAM,CAAC,EAAC,yUAAyU,GAAQ,CACrV,CACP,CAAC;AACJ,CAAC;AAlBD,oDAkBC;AAED,SAAgB,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,uCACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,wCAAM,CAAC,EAAC,4UAA4U,GAAQ,CACxV,CACP,CAAC;AACJ,CAAC;AAlBD,sDAkBC;AAED,SAAgB,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,uCACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,wCAAM,CAAC,EAAC,yHAAyH,GAAG,CAChI,CACP,CAAC;AACJ,CAAC;AAlBD,sCAkBC;AAED,SAAgB,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,uCACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS;QAEpB,wCAAM,CAAC,EAAC,kKAAkK,GAAG,CACzK,CACP,CAAC;AACJ,CAAC;AAlBD,kCAkBC"}
package/dist/cjs/index.js CHANGED
@@ -25,4 +25,10 @@ __exportStar(require("./ContextInspector"), exports);
25
25
  __exportStar(require("./Section"), exports);
26
26
  __exportStar(require("./SelectInput"), exports);
27
27
  __exportStar(require("./SelectField"), exports);
28
+ __exportStar(require("./ButtonGroup"), exports);
29
+ __exportStar(require("./Toolbar"), exports);
30
+ __exportStar(require("./Spinner"), exports);
31
+ __exportStar(require("./SidebarPanel"), exports);
32
+ __exportStar(require("./Dropdown"), exports);
33
+ __exportStar(require("./icons"), exports);
28
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,yCAAuB;AACvB,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,yCAAuB;AACvB,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAC9B,4CAA0B;AAC1B,4CAA0B;AAC1B,iDAA+B;AAC/B,6CAA2B;AAC3B,0CAAwB"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeRefs = void 0;
4
+ var mergeRefs = function () {
5
+ var refs = [];
6
+ for (var _i = 0; _i < arguments.length; _i++) {
7
+ refs[_i] = arguments[_i];
8
+ }
9
+ return function (element) {
10
+ return refs.forEach(function (ref) {
11
+ if (typeof ref === 'function')
12
+ ref(element);
13
+ else if (ref && typeof ref === 'object')
14
+ ref.current = element;
15
+ });
16
+ };
17
+ };
18
+ exports.mergeRefs = mergeRefs;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mergeRefs/index.ts"],"names":[],"mappings":";;;AAAO,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;AAPQ,QAAA,SAAS,aAOjB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var react_1 = require("react");
4
+ function useClickOutside(handler) {
5
+ var ref = (0, react_1.useRef)(null);
6
+ var handleClick = (0, react_1.useCallback)(function (event) {
7
+ event.target;
8
+ if (!ref.current || ref.current.contains(event.target)) {
9
+ return;
10
+ }
11
+ handler(event);
12
+ }, [handler]);
13
+ (0, react_1.useEffect)(function () {
14
+ document.addEventListener('mousedown', handleClick);
15
+ document.addEventListener('touchstart', handleClick);
16
+ return function () {
17
+ document.removeEventListener('mousedown', handleClick);
18
+ document.removeEventListener('touchstart', handleClick);
19
+ };
20
+ }, [handleClick]);
21
+ return ref;
22
+ }
23
+ exports.default = useClickOutside;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useClickOutside/index.ts"],"names":[],"mappings":";;AAAA,+BAAuD;AAEvD,SAAwB,eAAe,CACrC,OAAiD;IAEjD,IAAM,GAAG,GAAG,IAAA,cAAM,EAAI,IAAI,CAAC,CAAC;IAE5B,IAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,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,IAAA,iBAAS,EAAC;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;AA3BD,kCA2BC"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useElementLayout = exports.MediaQuery = exports.useMediaQuery = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var list = {};
9
+ function useMediaQuery(media) {
10
+ var mediaQueryList = react_1.default.useMemo(function () {
11
+ // We have an existing mediaQueryList for media.
12
+ if (list[media]) {
13
+ return list[media].mql;
14
+ }
15
+ if (typeof window !== 'undefined') {
16
+ return matchMedia(media);
17
+ }
18
+ // Server: use a fallback.
19
+ return { matches: true, media: media };
20
+ }, [list, media]);
21
+ // Since the mediaQueryList is shared we use state to trigger re-renders.
22
+ // This is done with update({}) (a new object instance will force a re-rendering).
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
+ var _a = react_1.default.useState({}), _ = _a[0], update = _a[1];
25
+ react_1.default.useLayoutEffect(function () {
26
+ if (list[media]) {
27
+ list[media].notifiers.push(update);
28
+ }
29
+ else {
30
+ list[media] = {
31
+ mql: mediaQueryList,
32
+ notifiers: [update],
33
+ listener: function (mql) {
34
+ var match = list[mql.media];
35
+ if (match) {
36
+ match.notifiers.forEach(function (updateFn) { return updateFn({}); });
37
+ }
38
+ },
39
+ };
40
+ list[media].mql.addEventListener('change', list[media].listener);
41
+ }
42
+ return function () {
43
+ var notifierIndex = list[media].notifiers.indexOf(update);
44
+ if (notifierIndex > -1) {
45
+ // Remove `update`.
46
+ list[media].notifiers.splice(notifierIndex, 1);
47
+ }
48
+ if (list[media].notifiers.length === 0) {
49
+ list[media].mql.removeEventListener('change', list[media].listener);
50
+ delete list[media];
51
+ }
52
+ };
53
+ }, [list, media, mediaQueryList]);
54
+ return mediaQueryList;
55
+ }
56
+ exports.useMediaQuery = useMediaQuery;
57
+ function MediaQuery(_a) {
58
+ var media = _a.media, children = _a.children;
59
+ var mql = useMediaQuery(media);
60
+ return typeof children === 'function' ? children(mql) : null;
61
+ }
62
+ exports.MediaQuery = MediaQuery;
63
+ var DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';
64
+ var supportsBorderBox = (function () {
65
+ if (typeof document === 'undefined') {
66
+ return false;
67
+ }
68
+ var e = document.body.appendChild(document.createElement('div'));
69
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
70
+ var observer = new ResizeObserver(function () { });
71
+ try {
72
+ observer.observe(e, { box: 'border-box' });
73
+ observer.unobserve(e);
74
+ return false;
75
+ }
76
+ catch (error) {
77
+ return true;
78
+ }
79
+ finally {
80
+ document.body.removeChild(e);
81
+ }
82
+ })();
83
+ var resizeObserver = null;
84
+ function getResizeObserver() {
85
+ if (resizeObserver) {
86
+ return resizeObserver;
87
+ }
88
+ if (typeof ResizeObserver === 'undefined') {
89
+ return;
90
+ }
91
+ resizeObserver = new ResizeObserver(function (entries) {
92
+ entries.forEach(function (entry) {
93
+ var node = entry.target;
94
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+ var onLayout = node[DOM_LAYOUT_HANDLER_NAME];
96
+ if (typeof onLayout !== 'function') {
97
+ return;
98
+ }
99
+ if (supportsBorderBox && entry.borderBoxSize) {
100
+ var boxSize_1 = entry.borderBoxSize[0] || entry.borderBoxSize;
101
+ onLayout(function (prevRect) {
102
+ if (prevRect.width === boxSize_1.inlineSize &&
103
+ prevRect.height === boxSize_1.blockSize) {
104
+ return prevRect;
105
+ }
106
+ return new DOMRect(0, 0, boxSize_1.inlineSize, boxSize_1.blockSize);
107
+ });
108
+ return;
109
+ }
110
+ var elRect = entry.target.getBoundingClientRect();
111
+ onLayout(function (prevRect) {
112
+ if (prevRect.width === elRect.width &&
113
+ prevRect.height === elRect.height) {
114
+ return prevRect;
115
+ }
116
+ return new DOMRect(0, 0, elRect.width, elRect.height);
117
+ });
118
+ });
119
+ });
120
+ return resizeObserver;
121
+ }
122
+ function useElementLayout(ref) {
123
+ var observer = getResizeObserver();
124
+ var _a = react_1.default.useState(new DOMRect()), rect = _a[0], setRect = _a[1];
125
+ react_1.default.useLayoutEffect(function () {
126
+ var node = ref.current;
127
+ if (node) {
128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
+ node[DOM_LAYOUT_HANDLER_NAME] = setRect;
130
+ }
131
+ if (node && observer) {
132
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
133
+ if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {
134
+ observer.observe(node, supportsBorderBox ? { box: 'border-box' } : undefined);
135
+ }
136
+ else {
137
+ observer.unobserve(node);
138
+ }
139
+ }
140
+ return function () {
141
+ if (node != null && observer != null) {
142
+ observer.unobserve(node);
143
+ }
144
+ };
145
+ }, [ref, observer]);
146
+ return rect;
147
+ }
148
+ exports.useElementLayout = useElementLayout;
149
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useMediaQuery/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- { "button": "_button_ya5s7_1", "disabled": "_disabled_ya5s7_30", "buttonType-muted": "_buttonType-muted_ya5s7_36", "buttonType-primary": "_buttonType-primary_ya5s7_41", "buttonType-negative": "_buttonType-negative_ya5s7_62", "buttonSize-xxs": "_buttonSize-xxs_ya5s7_79", "buttonSize-xs": "_buttonSize-xs_ya5s7_84", "buttonSize-s": "_buttonSize-s_ya5s7_89", "buttonSize-m": "_buttonSize-m_ya5s7_94", "buttonSize-l": "_buttonSize-l_ya5s7_99", "buttonSize-xl": "_buttonSize-xl_ya5s7_104", "fullWidth": "_fullWidth_ya5s7_109", "button__leftIcon": "_button__leftIcon_ya5s7_115", "button__rightIcon": "_button__rightIcon_ya5s7_116" }
1
+ { "button": "_button_474wk_1", "disabled": "_disabled_474wk_30", "buttonType-muted": "_buttonType-muted_474wk_34", "buttonType-primary": "_buttonType-primary_474wk_50", "buttonType-negative": "_buttonType-negative_474wk_71", "buttonSize-xxs": "_buttonSize-xxs_474wk_88", "buttonSize-xs": "_buttonSize-xs_474wk_93", "buttonSize-s": "_buttonSize-s_474wk_98", "buttonSize-m": "_buttonSize-m_474wk_103", "buttonSize-l": "_buttonSize-l_474wk_108", "buttonSize-xl": "_buttonSize-xl_474wk_113", "fullWidth": "_fullWidth_474wk_118", "button__leftIcon": "_button__leftIcon_474wk_124", "button__rightIcon": "_button__rightIcon_474wk_125" }
@@ -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,12 @@
1
+ import classNames from 'classnames';
2
+ import React from 'react';
3
+ import s from './styles.module.css.json';
4
+ export function Button(_a) {
5
+ var _b;
6
+ var children = _a.children, style = _a.style, className = _a.className, selected = _a.selected, disabled = _a.disabled, onClick = _a.onClick;
7
+ return (React.createElement("button", { type: "button", onClick: onClick, disabled: disabled, className: classNames(s['Button'], (_b = {},
8
+ _b[s['Button--selected']] = selected,
9
+ _b[s['Button--disabled']] = disabled,
10
+ _b), className), style: style }, children));
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ButtonGroup/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAsD,MAAM,OAAO,CAAC;AAC3E,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAWzC,MAAM,UAAU,MAAM,CAAC,EAOT;;QANZ,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,OAAO,aAAA;IAEP,OAAO,CACL,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,UAAU,CACnB,CAAC,CAAC,QAAQ,CAAC;YAET,GAAC,CAAC,CAAC,kBAAkB,CAAC,IAAG,QAAQ;YACjC,GAAC,CAAC,CAAC,kBAAkB,CAAC,IAAG,QAAQ;iBAEnC,SAAS,CACV,EACD,KAAK,EAAE,KAAK,IAEX,QAAQ,CACF,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Button": "_Button_1h1w1_1", "Button--s": "_Button--s_1h1w1_32", "Button--disabled": "_Button--disabled_1h1w1_36", "Button--selected": "_Button--selected_1h1w1_45" }
@@ -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,22 @@
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
+ * <ButtonGroup>
10
+ * <ButtonGroupButton>First</ButtonGroupButton>
11
+ * <ButtonGroupButton selected>Second</ButtonGroupButton>
12
+ * <ButtonGroupButton>Third</ButtonGroupButton>
13
+ * <ButtonGroupButton disabled>Fourth</ButtonGroupButton>
14
+ * </ButtonGroup>
15
+ * </Canvas>;
16
+ * ```
17
+ */
18
+ export function Group(_a) {
19
+ var children = _a.children, style = _a.style, className = _a.className;
20
+ return (React.createElement("div", { className: classNames(s['Group'], className), style: style }, children));
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ButtonGroup/Group/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAQzC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,KAAK,CAAC,EAA0C;QAAxC,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA;IAChD,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,IAC5D,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Group": "_Group_10mj4_1" }
@@ -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';
@@ -0,0 +1,3 @@
1
+ export { Group as ButtonGroup } from './Group';
2
+ export { Button as ButtonGroupButton } from './Button';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
@@ -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 {};
@@ -1,21 +1,15 @@
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
- import React, { useEffect } from 'react';
13
- import styles from './styles.module.css.json';
14
- function camelToDash(str) {
15
- if (str != str.toLowerCase()) {
16
- str = str.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); });
1
+ import React, { createContext, useContext, useEffect } from 'react';
2
+ import s from './styles.module.css.json';
3
+ import { generateStyleFromCtx } from '../generateStyleFromCtx';
4
+ import classNames from 'classnames';
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ export var CtxContext = createContext(null);
7
+ export function useCtx() {
8
+ var ctx = useContext(CtxContext);
9
+ if (!ctx) {
10
+ throw new Error('useCtx requires <Canvas />!');
17
11
  }
18
- return str;
12
+ return ctx;
19
13
  }
20
14
  /**
21
15
  * @example Color palette CSS variables
@@ -515,19 +509,13 @@ export function Canvas(_a) {
515
509
  if (mode !== 'renderPage' && !noAutoResizer) {
516
510
  var ctxWithAutoResizer_1 = ctx;
517
511
  ctxWithAutoResizer_1.startAutoResizer();
518
- (function () {
512
+ return function () {
519
513
  ctxWithAutoResizer_1.stopAutoResizer();
520
- });
514
+ };
521
515
  }
516
+ return undefined;
522
517
  }, [mode, noAutoResizer]);
523
- var style = Object.entries(ctx.theme).reduce(function (acc, _a) {
524
- var _b;
525
- var _c;
526
- var k = _a[0], v = _a[1];
527
- 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));
528
- }, {
529
- padding: ctx.bodyPadding.map(function (p) { return p + "px"; }).join(' '),
530
- });
531
- return (React.createElement("div", { className: styles.canvas, style: style }, children));
518
+ return (React.createElement(CtxContext.Provider, { value: ctx },
519
+ React.createElement("div", { className: classNames(s['themeVariables'], s['canvas']), style: generateStyleFromCtx(ctx) }, children)));
532
520
  }
533
521
  //# sourceMappingURL=index.js.map