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,74 @@
1
+ import classNames from 'classnames';
2
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
+ import { useCtx } from '..';
4
+ import { DropdownContext } from './DropdownContext';
5
+ import { MenuContext } from './MenuContext';
6
+ import { OptionAction } from './OptionAction';
7
+ import s from './styles.module.css.json';
8
+ export var Option = function (_a) {
9
+ var _b;
10
+ var onClick = _a.onClick, to = _a.to, active = _a.active, red = _a.red, valid = _a.valid, invalid = _a.invalid, children = _a.children, disabled = _a.disabled, closeMenuOnClick = _a.closeMenuOnClick;
11
+ var ctx = useCtx();
12
+ var id = useMemo(function () { return new Date().getTime().toString(36); }, []);
13
+ var _c = useContext(MenuContext), searchTerm = _c.searchTerm, addOption = _c.addOption, setClickHandlerForOption = _c.setClickHandlerForOption;
14
+ var childrenArray = React.Children.toArray(children);
15
+ var buttons = childrenArray.filter(function (child) {
16
+ return typeof child === 'object' &&
17
+ 'type' in child &&
18
+ child.type === OptionAction;
19
+ });
20
+ var notButtons = childrenArray.filter(function (child) {
21
+ return typeof child !== 'object' ||
22
+ !('type' in child) ||
23
+ child.type !== OptionAction;
24
+ });
25
+ var contentRef = useRef(null);
26
+ var _d = useState(''), innerText = _d[0], setInnerText = _d[1];
27
+ useEffect(function () {
28
+ if (contentRef.current) {
29
+ setInnerText(contentRef.current.innerText);
30
+ }
31
+ });
32
+ var closeMenu = useContext(DropdownContext).closeMenu;
33
+ var handleClick = useCallback(function (e) {
34
+ if (!onClick && !to) {
35
+ return;
36
+ }
37
+ e.preventDefault();
38
+ e.stopPropagation();
39
+ if (disabled) {
40
+ return;
41
+ }
42
+ if (closeMenuOnClick !== null && closeMenuOnClick !== void 0 ? closeMenuOnClick : true) {
43
+ closeMenu();
44
+ }
45
+ if (to) {
46
+ ctx === null || ctx === void 0 ? void 0 : ctx.navigateTo(to);
47
+ }
48
+ if (onClick) {
49
+ onClick(e);
50
+ }
51
+ }, [closeMenuOnClick, closeMenu, onClick, to]);
52
+ useEffect(function () {
53
+ return addOption(id);
54
+ }, [id]);
55
+ useEffect(function () {
56
+ return setClickHandlerForOption(id, handleClick);
57
+ }, [id, handleClick, setClickHandlerForOption]);
58
+ if (innerText &&
59
+ searchTerm &&
60
+ !innerText.toLowerCase().includes(searchTerm.toLowerCase())) {
61
+ return null;
62
+ }
63
+ var content = (React.createElement(React.Fragment, null,
64
+ React.createElement("button", { type: "button", className: s['Dropdown__menu__option__content'], ref: contentRef, onClick: handleClick }, notButtons),
65
+ buttons.length > 0 && (React.createElement("div", { className: s['Dropdown__menu__option__icons'] }, buttons))));
66
+ return (React.createElement("div", { className: classNames(s['Dropdown__menu__option'], (_b = {},
67
+ _b[s['Dropdown__menu__option--is-active']] = active,
68
+ _b[s['Dropdown__menu__option--is-disabled']] = disabled,
69
+ _b[s['Dropdown__menu__option--is-valid']] = valid,
70
+ _b[s['Dropdown__menu__option--is-invalid']] = invalid,
71
+ _b[s['Dropdown__menu__option--is-dangerous']] = red,
72
+ _b)), "data-option-id": id }, content));
73
+ };
74
+ //# sourceMappingURL=Option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option.js","sourceRoot":"","sources":["../../../src/Dropdown/Option.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from 'react';
2
+ export declare type OptionActionProps = {
3
+ icon: ReactNode;
4
+ red?: boolean;
5
+ onClick: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
6
+ closeMenuOnClick?: boolean;
7
+ };
8
+ export declare const OptionAction: {
9
+ ({ icon, red, onClick, closeMenuOnClick, }: OptionActionProps): JSX.Element;
10
+ displayName: string;
11
+ };
@@ -0,0 +1,22 @@
1
+ import classNames from 'classnames';
2
+ import React from 'react';
3
+ import { DropdownContext } from './DropdownContext';
4
+ import s from './styles.module.css.json';
5
+ export var OptionAction = function (_a) {
6
+ var icon = _a.icon, red = _a.red, onClick = _a.onClick, closeMenuOnClick = _a.closeMenuOnClick;
7
+ return (React.createElement(DropdownContext.Consumer, null, function (context) {
8
+ var _a;
9
+ return (React.createElement("button", { type: "button", className: classNames(s['Dropdown__menu__option__icon'], (_a = {},
10
+ _a[s['Dropdown__menu__option__icon--delete']] = red,
11
+ _a)), onClick: function (e) {
12
+ e.preventDefault();
13
+ e.stopPropagation();
14
+ if (closeMenuOnClick !== null && closeMenuOnClick !== void 0 ? closeMenuOnClick : true) {
15
+ context.closeMenu();
16
+ }
17
+ onClick(e);
18
+ } }, icon));
19
+ }));
20
+ };
21
+ OptionAction.displayName = 'DropdownOptionAction';
22
+ //# sourceMappingURL=OptionAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionAction.js","sourceRoot":"","sources":["../../../src/Dropdown/OptionAction.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AASzC,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,EAKT;QAJlB,IAAI,UAAA,EACJ,GAAG,SAAA,EACH,OAAO,aAAA,EACP,gBAAgB,sBAAA;IACoB,OAAA,CACpC,oBAAC,eAAe,CAAC,QAAQ,QACtB,UAAC,OAAO;;QAAK,OAAA,CACZ,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBACrD,GAAC,CAAC,CAAC,sCAAsC,CAAC,IAAG,GAAG;oBAChD,EACF,OAAO,EAAE,UAAC,CAAC;gBACT,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBAEpB,IAAI,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,IAAI,EAAE;oBAC5B,OAAO,CAAC,SAAS,EAAE,CAAC;iBACrB;gBACD,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,IAEA,IAAI,CACE,CACV;IAlBa,CAkBb,CACwB,CAC5B;AAtBqC,CAsBrC,CAAC;AAEF,YAAY,CAAC,WAAW,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React, { ReactNode } from 'react';
2
+ export declare function Portal({ children, }: {
3
+ children: ReactNode;
4
+ }): React.ReactPortal | null;
@@ -0,0 +1,27 @@
1
+ import ReactDOM from 'react-dom';
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { useCtx } from '..';
4
+ import s from '../Canvas/styles.module.css.json';
5
+ import { generateStyleFromCtx } from '../generateStyleFromCtx';
6
+ import classNames from 'classnames';
7
+ export function Portal(_a) {
8
+ var children = _a.children;
9
+ var ctx = useCtx();
10
+ var elRef = useRef(typeof document === 'undefined' ? null : document.createElement('div'));
11
+ useEffect(function () {
12
+ if (!elRef.current || !document.body) {
13
+ return;
14
+ }
15
+ document.body.appendChild(elRef.current);
16
+ return function () {
17
+ if (elRef.current) {
18
+ document.body.removeChild(elRef.current);
19
+ }
20
+ };
21
+ }, []);
22
+ if (!elRef.current) {
23
+ return null;
24
+ }
25
+ return ReactDOM.createPortal(React.createElement("div", { className: classNames(s['themeVariables'], s['canvas']), style: generateStyleFromCtx(ctx) }, children), elRef.current);
26
+ }
27
+ //# sourceMappingURL=Portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/Dropdown/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,CAAC,MAAM,kCAAkC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,UAAU,MAAM,CAAC,EAItB;QAHC,QAAQ,cAAA;IAIR,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,IAAM,KAAK,GAAG,MAAM,CAClB,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CACvE,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACpC,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO;YACL,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,QAAQ,CAAC,YAAY,CAC1B,6BACE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EACvD,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,IAE/B,QAAQ,CACL,EACN,KAAK,CAAC,OAAO,CACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Separator: () => JSX.Element | null;
@@ -0,0 +1,11 @@
1
+ import React, { useContext } from 'react';
2
+ import { MenuContext } from './MenuContext';
3
+ import s from './styles.module.css.json';
4
+ export var Separator = function () {
5
+ var searchTerm = useContext(MenuContext).searchTerm;
6
+ if (searchTerm) {
7
+ return null;
8
+ }
9
+ return React.createElement("div", { className: s['Dropdown__menu__separator'] });
10
+ };
11
+ //# sourceMappingURL=Separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../src/Dropdown/Separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,MAAM,CAAC,IAAM,SAAS,GAAG;IACf,IAAA,UAAU,GAAK,UAAU,CAAC,WAAW,CAAC,WAA5B,CAA6B;IAE/C,IAAI,UAAU,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IAED,OAAO,6BAAK,SAAS,EAAE,CAAC,CAAC,2BAA2B,CAAC,GAAI,CAAC;AAC5D,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare type TextProps = {
3
+ children: React.ReactNode;
4
+ };
5
+ export declare function Text({ children }: TextProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import s from './styles.module.css.json';
3
+ export function Text(_a) {
4
+ var children = _a.children;
5
+ return React.createElement("div", { className: s['Dropdown__menu__text'] }, children);
6
+ }
7
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/Dropdown/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAIzC,MAAM,UAAU,IAAI,CAAC,EAAuB;QAArB,QAAQ,cAAA;IAC7B,OAAO,6BAAK,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAG,QAAQ,CAAO,CAAC;AACrE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Dropdown, DropdownProps } from './Dropdown';
2
+ import { Group, GroupProps } from './Group';
3
+ import { Menu, MenuProps } from './Menu';
4
+ import { Option, OptionProps } from './Option';
5
+ import { OptionAction, OptionActionProps } from './OptionAction';
6
+ import { Separator } from './Separator';
7
+ import { Text, TextProps } from './Text';
8
+ export { Dropdown, Group as DropdownGroup, Menu as DropdownMenu, Option as DropdownOption, OptionAction as DropdownOptionAction, Separator as DropdownSeparator, Text as DropdownText, };
9
+ export type { DropdownProps, GroupProps as DropdownGroupProps, MenuProps as DropdownMenuProps, OptionProps as DropdownOptionProps, OptionActionProps as DropdownOptionActionProps, TextProps as DropdownTextProps, };
@@ -0,0 +1,9 @@
1
+ import { Dropdown } from './Dropdown';
2
+ import { Group } from './Group';
3
+ import { Menu } from './Menu';
4
+ import { Option } from './Option';
5
+ import { OptionAction } from './OptionAction';
6
+ import { Separator } from './Separator';
7
+ import { Text } from './Text';
8
+ export { Dropdown, Group as DropdownGroup, Menu as DropdownMenu, Option as DropdownOption, OptionAction as DropdownOptionAction, Separator as DropdownSeparator, Text as DropdownText, };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Dropdown/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,EAAc,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAC;AAEzC,OAAO,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,IAAI,IAAI,YAAY,EACpB,MAAM,IAAI,cAAc,EACxB,YAAY,IAAI,oBAAoB,EACpC,SAAS,IAAI,iBAAiB,EAC9B,IAAI,IAAI,YAAY,GACrB,CAAC"}
@@ -0,0 +1 @@
1
+ { "Dropdown": "_Dropdown_e5jms_1", "Dropdown__spacer": "_Dropdown__spacer_e5jms_5", "Dropdown__menu__search": "_Dropdown__menu__search_e5jms_11", "Dropdown__menu__search__input": "_Dropdown__menu__search__input_e5jms_16", "Dropdown__menu-container": "_Dropdown__menu-container_e5jms_45", "Dropdown__menu": "_Dropdown__menu_e5jms_11", "Dropdown__menu__inner": "_Dropdown__menu__inner_e5jms_61", "Dropdown__menu--fullscreen": "_Dropdown__menu--fullscreen_e5jms_65", "FullscreenDropdown__appear": "_FullscreenDropdown__appear_e5jms_1", "Dropdown__menu__close": "_Dropdown__menu__close_e5jms_87", "Dropdown__menu__group__title": "_Dropdown__menu__group__title_e5jms_99", "Dropdown__menu__group__content": "_Dropdown__menu__group__content_e5jms_107", "Dropdown__menu__text": "_Dropdown__menu__text_e5jms_111", "Dropdown__menu__option": "_Dropdown__menu__option_e5jms_120", "Dropdown__menu__option--is-selected": "_Dropdown__menu__option--is-selected_e5jms_143", "Dropdown__menu__option--is-disabled": "_Dropdown__menu__option--is-disabled_e5jms_147", "Dropdown__menu__option__content": "_Dropdown__menu__option__content_e5jms_150", "Dropdown__menu__option--is-dangerous": "_Dropdown__menu__option--is-dangerous_e5jms_155", "Dropdown__menu__option--is-active": "_Dropdown__menu__option--is-active_e5jms_173", "Dropdown__menu__option--is-valid": "_Dropdown__menu__option--is-valid_e5jms_182", "Dropdown__menu__option--is-invalid": "_Dropdown__menu__option--is-invalid_e5jms_186", "Dropdown__menu__option__icons": "_Dropdown__menu__option__icons_e5jms_228", "Dropdown__menu__option__icon": "_Dropdown__menu__option__icon_e5jms_228", "Dropdown__menu__option__icon--delete": "_Dropdown__menu__option__icon--delete_e5jms_275", "Dropdown__menu__separator": "_Dropdown__menu__separator_e5jms_282", "Dropdown__menu__mobile-container": "_Dropdown__menu__mobile-container_e5jms_292", "Modal__backdrop": "_Modal__backdrop_e5jms_306", "Modal__appear": "_Modal__appear_e5jms_1" }
@@ -0,0 +1,43 @@
1
+ import { ReactNode } from 'react';
2
+ export declare type SidebarPanelProps = {
3
+ title?: ReactNode;
4
+ startOpen?: boolean;
5
+ children: ReactNode;
6
+ noPadding?: boolean;
7
+ };
8
+ /**
9
+ * @example Basic example
10
+ *
11
+ * ```js
12
+ * <Canvas ctx={ctx}>
13
+ * <div style={{ display: 'flex' }}>
14
+ * <div
15
+ * style={{
16
+ * width: '300px',
17
+ * borderRight: '1px solid var(--border-color)',
18
+ * }}
19
+ * >
20
+ * <SidebarPanel title="Default">Content</SidebarPanel>
21
+ * <SidebarPanel title="Start open" startOpen>
22
+ * Content
23
+ * </SidebarPanel>
24
+ * <SidebarPanel title="Content with no padding" noPadding>
25
+ * Content
26
+ * </SidebarPanel>
27
+ * </div>
28
+ * <div
29
+ * style={{
30
+ * flex: '1',
31
+ * display: 'flex',
32
+ * justifyContent: 'center',
33
+ * alignItems: 'center',
34
+ * background: 'var(--light-bg-color)',
35
+ * }}
36
+ * >
37
+ * Main content
38
+ * </div>
39
+ * </div>
40
+ * </Canvas>;
41
+ * ```
42
+ */
43
+ export declare function SidebarPanel({ startOpen, title, children, noPadding, }: SidebarPanelProps): JSX.Element;
@@ -0,0 +1,62 @@
1
+ import classNames from 'classnames';
2
+ import React, { useState } from 'react';
3
+ import s from './styles.module.css.json';
4
+ function ChevronDownIcon() {
5
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: "1em", height: "1em" },
6
+ React.createElement("path", { d: "M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z" })));
7
+ }
8
+ function ChevronUpIcon() {
9
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", width: "1em", height: "1em" },
10
+ React.createElement("path", { d: "M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z" })));
11
+ }
12
+ /**
13
+ * @example Basic example
14
+ *
15
+ * ```js
16
+ * <Canvas ctx={ctx}>
17
+ * <div style={{ display: 'flex' }}>
18
+ * <div
19
+ * style={{
20
+ * width: '300px',
21
+ * borderRight: '1px solid var(--border-color)',
22
+ * }}
23
+ * >
24
+ * <SidebarPanel title="Default">Content</SidebarPanel>
25
+ * <SidebarPanel title="Start open" startOpen>
26
+ * Content
27
+ * </SidebarPanel>
28
+ * <SidebarPanel title="Content with no padding" noPadding>
29
+ * Content
30
+ * </SidebarPanel>
31
+ * </div>
32
+ * <div
33
+ * style={{
34
+ * flex: '1',
35
+ * display: 'flex',
36
+ * justifyContent: 'center',
37
+ * alignItems: 'center',
38
+ * background: 'var(--light-bg-color)',
39
+ * }}
40
+ * >
41
+ * Main content
42
+ * </div>
43
+ * </div>
44
+ * </Canvas>;
45
+ * ```
46
+ */
47
+ export function SidebarPanel(_a) {
48
+ var _b;
49
+ var _c = _a.startOpen, startOpen = _c === void 0 ? false : _c, title = _a.title, children = _a.children, noPadding = _a.noPadding;
50
+ var _d = useState(startOpen), open = _d[0], setOpen = _d[1];
51
+ var handleToggle = function () {
52
+ setOpen(!open);
53
+ };
54
+ return (React.createElement("div", { className: s['SidebarPanel'] },
55
+ title && (React.createElement("button", { type: "button", className: s['SidebarPanel__header'], onClick: handleToggle },
56
+ React.createElement("div", { className: s['SidebarPanel__header__title'] }, title),
57
+ React.createElement("div", { className: s['SidebarPanel__header__chevron'] }, open ? React.createElement(ChevronDownIcon, null) : React.createElement(ChevronUpIcon, null)))),
58
+ open && (React.createElement("div", { className: classNames(s['SidebarPanel__content'], (_b = {},
59
+ _b[s['SidebarPanel__content--no-padding']] = noPadding,
60
+ _b)) }, children))));
61
+ }
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/SidebarPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,SAAS,eAAe;IACtB,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK;QAEZ,8BAAM,CAAC,EAAC,yRAAyR,GAAQ,CACrS,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,aAAa,EACrB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK;QAEZ,8BAAM,CAAC,EAAC,8RAA8R,GAAQ,CAC1S,CACP,CAAC;AACJ,CAAC;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,YAAY,CAAC,EAKT;;QAJlB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,SAAS,eAAA;IAEH,IAAA,KAAkB,QAAQ,CAAC,SAAS,CAAC,EAApC,IAAI,QAAA,EAAE,OAAO,QAAuB,CAAC;IAE5C,IAAM,YAAY,GAAG;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC;QAC9B,KAAK,IAAI,CACR,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EACpC,OAAO,EAAE,YAAY;YAErB,6BAAK,SAAS,EAAE,CAAC,CAAC,6BAA6B,CAAC,IAAG,KAAK,CAAO;YAC/D,6BAAK,SAAS,EAAE,CAAC,CAAC,+BAA+B,CAAC,IAC/C,IAAI,CAAC,CAAC,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,oBAAC,aAAa,OAAG,CAC3C,CACC,CACV;QACA,IAAI,IAAI,CACP,6BACE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBAC9C,GAAC,CAAC,CAAC,mCAAmC,CAAC,IAAG,SAAS;oBACnD,IAED,QAAQ,CACL,CACP,CACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "SidebarPanel": "_SidebarPanel_4uwco_1", "SidebarPanel__header": "_SidebarPanel__header_4uwco_5", "SidebarPanel__header__title": "_SidebarPanel__header__title_4uwco_30", "SidebarPanel__header__chevron": "_SidebarPanel__header__chevron_4uwco_36", "SidebarPanel__content": "_SidebarPanel__content_4uwco_42", "SidebarPanel__content--no-padding": "_SidebarPanel__content--no-padding_4uwco_47" }
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ declare type SpinnerProps = {
3
+ size?: number;
4
+ placement?: 'inline' | 'centered';
5
+ style?: React.CSSProperties;
6
+ };
7
+ /**
8
+ * @example Inline spinner
9
+ *
10
+ * ```js
11
+ * <Canvas ctx={ctx}>
12
+ * Foo bar <Spinner size={24} />
13
+ * </Canvas>;
14
+ * ```
15
+ *
16
+ * @example Centered spinner
17
+ *
18
+ * ```js
19
+ * <Canvas ctx={ctx}>
20
+ * <div style={{ height: '200px', position: 'relative' }}>
21
+ * <Spinner size={48} placement="centered" />
22
+ * </div>
23
+ * </Canvas>;
24
+ * ```
25
+ */
26
+ export declare function Spinner({ size, placement, style: extraStyle, }: SpinnerProps): JSX.Element;
27
+ export {};
@@ -0,0 +1,57 @@
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 classNames from 'classnames';
13
+ import React from 'react';
14
+ import s from './styles.module.css.json';
15
+ /**
16
+ * @example Inline spinner
17
+ *
18
+ * ```js
19
+ * <Canvas ctx={ctx}>
20
+ * Foo bar <Spinner size={24} />
21
+ * </Canvas>;
22
+ * ```
23
+ *
24
+ * @example Centered spinner
25
+ *
26
+ * ```js
27
+ * <Canvas ctx={ctx}>
28
+ * <div style={{ height: '200px', position: 'relative' }}>
29
+ * <Spinner size={48} placement="centered" />
30
+ * </div>
31
+ * </Canvas>;
32
+ * ```
33
+ */
34
+ export function Spinner(_a) {
35
+ var _b;
36
+ var _c = _a.size, size = _c === void 0 ? 32 : _c, _d = _a.placement, placement = _d === void 0 ? 'inline' : _d, _e = _a.style, extraStyle = _e === void 0 ? {} : _e;
37
+ var bars = [];
38
+ for (var i = 0; i < 12; i += 1) {
39
+ var barStyle = {};
40
+ barStyle.animationDelay = (i - 12) / 10 + "s";
41
+ barStyle.transform = "rotate(" + i * 30 + "deg) translate(146%)";
42
+ bars.push(React.createElement("div", { style: barStyle, className: s['Spinner__bar'], key: i }));
43
+ }
44
+ var style = {
45
+ width: size * 0.5,
46
+ height: size * 0.5,
47
+ };
48
+ if (placement === 'inline') {
49
+ style.marginLeft = size * 0.5;
50
+ style.transform = 'translateY(33%)';
51
+ }
52
+ return (React.createElement("div", { className: classNames((_b = {},
53
+ _b[s['Spinner--inline']] = placement === 'inline',
54
+ _b[s['Spinner--centered']] = placement === 'centered',
55
+ _b)), style: __assign(__assign({}, extraStyle), style) }, bars));
56
+ }
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Spinner/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAQzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,OAAO,CAAC,EAIT;;QAHb,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,iBAAoB,EAApB,SAAS,mBAAG,QAAQ,KAAA,EACpB,aAAsB,EAAf,UAAU,mBAAG,EAAE,KAAA;IAEtB,IAAM,IAAI,GAAsB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9B,IAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,QAAQ,CAAC,cAAc,GAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAG,CAAC;QAC9C,QAAQ,CAAC,SAAS,GAAG,YAAU,CAAC,GAAG,EAAE,yBAAsB,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,6BAAK,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,GAAI,CAAC,CAAC;KAC3E;IAED,IAAM,KAAK,GAAwB;QACjC,KAAK,EAAE,IAAI,GAAG,GAAG;QACjB,MAAM,EAAE,IAAI,GAAG,GAAG;KACnB,CAAC;IAEF,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;QAC9B,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC;KACrC;IAED,OAAO,CACL,6BACE,SAAS,EAAE,UAAU;YACnB,GAAC,CAAC,CAAC,iBAAiB,CAAC,IAAG,SAAS,KAAK,QAAQ;YAC9C,GAAC,CAAC,CAAC,mBAAmB,CAAC,IAAG,SAAS,KAAK,UAAU;gBAClD,EACF,KAAK,wBACA,UAAU,GACV,KAAK,KAGT,IAAI,CACD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Spinner--inline": "_Spinner--inline_oumod_1", "Spinner--centered": "_Spinner--centered_oumod_7", "Spinner__bar": "_Spinner__bar_oumod_13", "Spinner__spin": "_Spinner__spin_oumod_1" }
@@ -0,0 +1,8 @@
1
+ import { CSSProperties, MouseEventHandler, ReactNode } from 'react';
2
+ export declare type ButtonProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ onClick?: MouseEventHandler;
7
+ };
8
+ export declare function Button({ children, style, className, onClick, }: ButtonProps): JSX.Element;
@@ -0,0 +1,8 @@
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 children = _a.children, style = _a.style, className = _a.className, onClick = _a.onClick;
6
+ return (React.createElement("button", { type: "button", onClick: onClick, className: classNames(s['Button'], className), style: style }, children));
7
+ }
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Toolbar/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAsD,MAAM,OAAO,CAAC;AAC3E,OAAO,CAAC,MAAM,0BAA0B,CAAC;AASzC,MAAM,UAAU,MAAM,CAAC,EAKT;QAJZ,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,SAAS,eAAA,EACT,OAAO,aAAA;IAEP,OAAO,CACL,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CACnB,CAAC,CAAC,QAAQ,CAAC,EAEX,SAAS,CACV,EACD,KAAK,EAAE,KAAK,IAEX,QAAQ,CACF,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Button": "_Button_fy6g6_1" }
@@ -0,0 +1,8 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export declare type StackProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ stackSize?: 's' | 'm' | 'l';
6
+ style?: CSSProperties;
7
+ };
8
+ export declare function Stack({ children, style, className, stackSize, }: StackProps): 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 Stack(_a) {
5
+ var _b;
6
+ var children = _a.children, style = _a.style, className = _a.className, stackSize = _a.stackSize;
7
+ return (React.createElement("div", { className: classNames(s['Stack'], (_b = {},
8
+ _b[s['Stack--s']] = stackSize === 's',
9
+ _b[s['Stack--l']] = stackSize === 'l',
10
+ _b), className), style: style }, children));
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Toolbar/Stack/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AASzC,MAAM,UAAU,KAAK,CAAC,EAKT;;QAJX,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA;IAET,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,CAAC,CAAC,OAAO,CAAC;YAER,GAAC,CAAC,CAAC,UAAU,CAAC,IAAG,SAAS,KAAK,GAAG;YAClC,GAAC,CAAC,CAAC,UAAU,CAAC,IAAG,SAAS,KAAK,GAAG;iBAEpC,SAAS,CACV,EACD,KAAK,EAAE,KAAK,IAEX,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ { "Stack": "_Stack_1nnzo_1", "Stack--s": "_Stack--s_1nnzo_10", "Stack--l": "_Stack--l_1nnzo_15" }
@@ -0,0 +1,7 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export declare type TitleProps = {
3
+ children?: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ };
7
+ export declare function Title({ children, style, className }: TitleProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import classNames from 'classnames';
2
+ import React from 'react';
3
+ import s from './styles.module.css.json';
4
+ export function Title(_a) {
5
+ var children = _a.children, style = _a.style, className = _a.className;
6
+ return (React.createElement("div", { className: classNames(s['Title'], className), style: style }, children));
7
+ }
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Toolbar/Title/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAQzC,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
+ { "Title": "_Title_1dx5n_1" }
@@ -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;