datocms-react-ui 2.1.0-alpha.0 → 2.1.0-alpha.2

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 (126) hide show
  1. package/dist/cjs/HotKey/index.js +105 -0
  2. package/dist/cjs/HotKey/index.js.map +1 -0
  3. package/dist/cjs/HotKey/styles.module.css.json +1 -0
  4. package/dist/cjs/SplitView/SplitViewPane/index.js +14 -0
  5. package/dist/cjs/SplitView/SplitViewPane/index.js.map +1 -0
  6. package/dist/cjs/SplitView/SplitViewPane/styles.module.css.json +1 -0
  7. package/dist/cjs/SplitView/SplitViewSash/index.js +76 -0
  8. package/dist/cjs/SplitView/SplitViewSash/index.js.map +1 -0
  9. package/dist/cjs/SplitView/SplitViewSash/styles.module.css.json +1 -0
  10. package/dist/cjs/SplitView/index.js +206 -0
  11. package/dist/cjs/SplitView/index.js.map +1 -0
  12. package/dist/cjs/SplitView/styles.module.css.json +1 -0
  13. package/dist/cjs/SplitView/types.js +3 -0
  14. package/dist/cjs/SplitView/types.js.map +1 -0
  15. package/dist/cjs/Tooltip/Tooltip/index.js +116 -0
  16. package/dist/cjs/Tooltip/Tooltip/index.js.map +1 -0
  17. package/dist/cjs/Tooltip/TooltipContent/index.js +147 -0
  18. package/dist/cjs/Tooltip/TooltipContent/index.js.map +1 -0
  19. package/dist/cjs/Tooltip/TooltipContent/styles.module.css.json +1 -0
  20. package/dist/cjs/Tooltip/TooltipDelayGroup/index.js +140 -0
  21. package/dist/cjs/Tooltip/TooltipDelayGroup/index.js.map +1 -0
  22. package/dist/cjs/Tooltip/TooltipTrigger/index.js +102 -0
  23. package/dist/cjs/Tooltip/TooltipTrigger/index.js.map +1 -0
  24. package/dist/cjs/Tooltip/index.js +12 -0
  25. package/dist/cjs/Tooltip/index.js.map +1 -0
  26. package/dist/cjs/Tooltip/utils.js +165 -0
  27. package/dist/cjs/Tooltip/utils.js.map +1 -0
  28. package/dist/cjs/VerticalSplit/index.js +337 -0
  29. package/dist/cjs/VerticalSplit/index.js.map +1 -0
  30. package/dist/cjs/VerticalSplit/styles.module.css.json +1 -0
  31. package/dist/cjs/icons.js +19 -1
  32. package/dist/cjs/icons.js.map +1 -1
  33. package/dist/cjs/index.js +7 -3
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/esm/HotKey/index.d.ts +70 -0
  36. package/dist/esm/HotKey/index.js +75 -0
  37. package/dist/esm/HotKey/index.js.map +1 -0
  38. package/dist/esm/HotKey/styles.module.css.json +1 -0
  39. package/dist/esm/SplitView/SplitViewPane/index.d.ts +7 -0
  40. package/dist/esm/SplitView/SplitViewPane/index.js +7 -0
  41. package/dist/esm/SplitView/SplitViewPane/index.js.map +1 -0
  42. package/dist/esm/SplitView/SplitViewPane/styles.module.css.json +1 -0
  43. package/dist/esm/SplitView/SplitViewSash/index.d.ts +17 -0
  44. package/dist/esm/SplitView/SplitViewSash/index.js +46 -0
  45. package/dist/esm/SplitView/SplitViewSash/index.js.map +1 -0
  46. package/dist/esm/SplitView/SplitViewSash/styles.module.css.json +1 -0
  47. package/dist/esm/SplitView/index.d.ts +16 -0
  48. package/dist/esm/SplitView/index.js +176 -0
  49. package/dist/esm/SplitView/index.js.map +1 -0
  50. package/dist/esm/SplitView/styles.module.css.json +1 -0
  51. package/dist/esm/SplitView/types.d.ts +8 -0
  52. package/dist/esm/SplitView/types.js +2 -0
  53. package/dist/esm/SplitView/types.js.map +1 -0
  54. package/dist/esm/Tooltip/Tooltip/index.d.ts +74 -0
  55. package/dist/esm/Tooltip/Tooltip/index.js +89 -0
  56. package/dist/esm/Tooltip/Tooltip/index.js.map +1 -0
  57. package/dist/esm/Tooltip/TooltipContent/index.d.ts +68 -0
  58. package/dist/esm/Tooltip/TooltipContent/index.js +118 -0
  59. package/dist/esm/Tooltip/TooltipContent/index.js.map +1 -0
  60. package/dist/esm/Tooltip/TooltipContent/styles.module.css.json +1 -0
  61. package/dist/esm/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
  62. package/dist/esm/Tooltip/TooltipDelayGroup/index.js +113 -0
  63. package/dist/esm/Tooltip/TooltipDelayGroup/index.js.map +1 -0
  64. package/dist/esm/Tooltip/TooltipTrigger/index.d.ts +45 -0
  65. package/dist/esm/Tooltip/TooltipTrigger/index.js +76 -0
  66. package/dist/esm/Tooltip/TooltipTrigger/index.js.map +1 -0
  67. package/dist/esm/Tooltip/index.d.ts +8 -0
  68. package/dist/esm/Tooltip/index.js +5 -0
  69. package/dist/esm/Tooltip/index.js.map +1 -0
  70. package/dist/esm/Tooltip/utils.d.ts +166 -0
  71. package/dist/esm/Tooltip/utils.js +135 -0
  72. package/dist/esm/Tooltip/utils.js.map +1 -0
  73. package/dist/esm/VerticalSplit/index.d.ts +238 -0
  74. package/dist/esm/VerticalSplit/index.js +307 -0
  75. package/dist/esm/VerticalSplit/index.js.map +1 -0
  76. package/dist/esm/VerticalSplit/styles.module.css.json +1 -0
  77. package/dist/esm/icons.d.ts +3 -0
  78. package/dist/esm/icons.js +15 -0
  79. package/dist/esm/icons.js.map +1 -1
  80. package/dist/esm/index.d.ts +7 -3
  81. package/dist/esm/index.js +7 -3
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/types/HotKey/index.d.ts +70 -0
  84. package/dist/types/SplitView/SplitViewPane/index.d.ts +7 -0
  85. package/dist/types/SplitView/SplitViewSash/index.d.ts +17 -0
  86. package/dist/types/SplitView/index.d.ts +16 -0
  87. package/dist/types/SplitView/types.d.ts +8 -0
  88. package/dist/types/Tooltip/Tooltip/index.d.ts +74 -0
  89. package/dist/types/Tooltip/TooltipContent/index.d.ts +68 -0
  90. package/dist/types/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
  91. package/dist/types/Tooltip/TooltipTrigger/index.d.ts +45 -0
  92. package/dist/types/Tooltip/index.d.ts +8 -0
  93. package/dist/types/Tooltip/utils.d.ts +166 -0
  94. package/dist/types/VerticalSplit/index.d.ts +238 -0
  95. package/dist/types/icons.d.ts +3 -0
  96. package/dist/types/index.d.ts +7 -3
  97. package/package.json +4 -3
  98. package/src/HotKey/index.tsx +95 -0
  99. package/src/HotKey/styles.module.css +22 -0
  100. package/src/HotKey/styles.module.css.json +1 -0
  101. package/src/SplitView/SplitViewPane/index.tsx +19 -0
  102. package/src/SplitView/SplitViewPane/styles.module.css +6 -0
  103. package/src/SplitView/SplitViewPane/styles.module.css.json +1 -0
  104. package/src/SplitView/SplitViewSash/index.tsx +99 -0
  105. package/src/SplitView/SplitViewSash/styles.module.css +68 -0
  106. package/src/SplitView/SplitViewSash/styles.module.css.json +1 -0
  107. package/src/SplitView/index.tsx +256 -0
  108. package/src/SplitView/styles.module.css +22 -0
  109. package/src/SplitView/styles.module.css.json +1 -0
  110. package/src/SplitView/types.ts +9 -0
  111. package/src/Tooltip/Tooltip/index.tsx +85 -0
  112. package/src/Tooltip/TooltipContent/index.tsx +145 -0
  113. package/src/Tooltip/TooltipContent/styles.module.css +10 -0
  114. package/src/Tooltip/TooltipContent/styles.module.css.json +1 -0
  115. package/src/Tooltip/TooltipDelayGroup/index.tsx +128 -0
  116. package/src/Tooltip/TooltipTrigger/index.tsx +71 -0
  117. package/src/Tooltip/index.ts +8 -0
  118. package/src/Tooltip/utils.ts +176 -0
  119. package/src/VerticalSplit/index.tsx +401 -0
  120. package/src/VerticalSplit/styles.module.css +103 -0
  121. package/src/VerticalSplit/styles.module.css.json +1 -0
  122. package/src/global.css +31 -25
  123. package/src/icons.tsx +60 -0
  124. package/src/index.ts +7 -3
  125. package/styles.css +1 -1
  126. package/types.json +6126 -3451
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.HotKey = void 0;
30
+ var React = __importStar(require("react"));
31
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
32
+ var isMac = navigator.platform.indexOf('Mac') > -1;
33
+ var modifierKey = isMac ? '⌘' : 'Ctrl';
34
+ /**
35
+ * HotKey component displays keyboard shortcuts in a platform-aware format.
36
+ *
37
+ * The component automatically detects the user's platform and renders appropriate
38
+ * modifier key symbols (⌘ for Mac, Ctrl for Windows/Linux).
39
+ *
40
+ * @example Basic usage
41
+ *
42
+ * Display a simple keyboard shortcut without a label:
43
+ *
44
+ * ```js
45
+ * <Canvas ctx={ctx}>
46
+ * <HotKey hotkey="mod+s" />
47
+ * </Canvas>;
48
+ * ```
49
+ *
50
+ * @example With label
51
+ *
52
+ * Include a descriptive label to explain what the keyboard shortcut does:
53
+ *
54
+ * ```js
55
+ * <Canvas ctx={ctx}>
56
+ * <HotKey hotkey="mod+s" label="Save" />
57
+ * </Canvas>;
58
+ * ```
59
+ *
60
+ * @example Multiple hotkeys
61
+ *
62
+ * Display a list of keyboard shortcuts with labels for documenting available commands:
63
+ *
64
+ * ```js
65
+ * <Canvas ctx={ctx}>
66
+ * <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
67
+ * <HotKey hotkey="mod+c" label="Copy" />
68
+ * <HotKey hotkey="mod+v" label="Paste" />
69
+ * <HotKey hotkey="mod+shift+z" label="Redo" />
70
+ * <HotKey hotkey="alt+enter" label="Submit" />
71
+ * </div>
72
+ * </Canvas>;
73
+ * ```
74
+ *
75
+ * @example Platform-specific rendering
76
+ *
77
+ * The component automatically adapts modifier keys based on the user's platform:
78
+ * - `mod` renders as `⌘` on Mac and `Ctrl` on Windows/Linux
79
+ * - `alt` renders as `⌥` on Mac and `Alt` on Windows/Linux
80
+ *
81
+ * This ensures the correct symbols are displayed for the user's operating system:
82
+ *
83
+ * ```js
84
+ * <Canvas ctx={ctx}>
85
+ * <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
86
+ * <HotKey hotkey="mod+k" label="Open command palette" />
87
+ * <HotKey hotkey="alt+enter" label="Submit form" />
88
+ * <HotKey hotkey="mod+alt+f" label="Find and replace" />
89
+ * </div>
90
+ * </Canvas>;
91
+ * ```
92
+ */
93
+ function HotKey(_a) {
94
+ var hotkey = _a.hotkey, label = _a.label;
95
+ var keys = hotkey
96
+ .replace('mod', modifierKey)
97
+ .replace('alt', isMac ? '⌥' : 'Alt')
98
+ .split(/\+/)
99
+ .map(function (e) { return e.charAt(0).toUpperCase() + e.slice(1); });
100
+ return (React.createElement("div", { className: styles_module_css_json_1.default.hotKey },
101
+ label && React.createElement("span", { className: styles_module_css_json_1.default.label }, label),
102
+ React.createElement("div", { className: styles_module_css_json_1.default.keys }, keys.map(function (key) { return (React.createElement("span", { key: key, className: styles_module_css_json_1.default.hotKeyKey }, key)); }))));
103
+ }
104
+ exports.HotKey = HotKey;
105
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/HotKey/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,oFAA8C;AAE9C,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,IAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAYzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,SAAgB,MAAM,CAAC,EAA8B;QAA5B,MAAM,YAAA,EAAE,KAAK,WAAA;IACpC,IAAM,IAAI,GAAG,MAAM;SAChB,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;SACnC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAtC,CAAsC,CAAC,CAAC;IAEtD,OAAO,CACL,6BAAK,SAAS,EAAE,gCAAM,CAAC,MAAM;QAC1B,KAAK,IAAI,8BAAM,SAAS,EAAE,gCAAM,CAAC,KAAK,IAAG,KAAK,CAAQ;QACvD,6BAAK,SAAS,EAAE,gCAAM,CAAC,IAAI,IACxB,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CACjB,8BAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAM,CAAC,SAAS,IACxC,GAAG,CACC,CACR,EAJkB,CAIlB,CAAC,CACE,CACF,CACP,CAAC;AACJ,CAAC;AAnBD,wBAmBC"}
@@ -0,0 +1 @@
1
+ { "hotKey": "_hotKey_1eko8_1", "label": "_label_1eko8_7", "keys": "_keys_1eko8_12", "hotKeyKey": "_hotKeyKey_1eko8_18" }
@@ -0,0 +1,14 @@
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.SplitViewPane = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
9
+ function SplitViewPane(_a) {
10
+ var style = _a.style, children = _a.children;
11
+ return (react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewPane, style: style }, children));
12
+ }
13
+ exports.SplitViewPane = SplitViewPane;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/SplitView/SplitViewPane/index.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAiD;AACjD,oFAAyC;AAQzC,SAAgB,aAAa,CAAC,EAGU;QAFtC,KAAK,WAAA,EACL,QAAQ,cAAA;IAER,OAAO,CACL,uCAAK,SAAS,EAAE,gCAAC,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,IAC1C,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AATD,sCASC"}
@@ -0,0 +1 @@
1
+ { "SplitViewPane": "_SplitViewPane_1cl1f_1" }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.SplitViewSash = void 0;
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var react_1 = __importStar(require("react"));
32
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
33
+ function SplitViewSash(_a) {
34
+ var onMouseDown = _a.onMouseDown, onMouseMove = _a.onMouseMove, onMouseUp = _a.onMouseUp, style = _a.style, split = _a.split, allowResize = _a.allowResize, action = _a.action;
35
+ var _b = (0, react_1.useState)(false), dragging = _b[0], setDrag = _b[1];
36
+ function handleMouseMove(e) {
37
+ onMouseMove(e.pageX, e.pageY);
38
+ }
39
+ function handleMouseUp() {
40
+ setDrag(false);
41
+ onMouseUp();
42
+ window.removeEventListener('mousemove', handleMouseMove);
43
+ window.removeEventListener('mouseup', handleMouseUp);
44
+ }
45
+ function handleTouchMove(e) {
46
+ onMouseMove(e.touches[0].pageX, e.touches[0].pageY);
47
+ }
48
+ function handleTouchEnd() {
49
+ setDrag(false);
50
+ onMouseUp();
51
+ window.removeEventListener('touchmove', handleTouchMove);
52
+ window.removeEventListener('touchend', handleTouchEnd);
53
+ }
54
+ var actionEl = (action === null || action === void 0 ? void 0 : action.icon) && (react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewSash__content, onMouseDown: function (e) {
55
+ e.stopPropagation();
56
+ }, onClick: function () {
57
+ action.onClick();
58
+ } },
59
+ react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewSash__content__button }, action === null || action === void 0 ? void 0 : action.icon)));
60
+ return (react_1.default.createElement("div", { role: "Resizer", className: (0, classnames_1.default)(styles_module_css_json_1.default.SplitViewSash, split === 'vertical'
61
+ ? styles_module_css_json_1.default['SplitViewSash--vertical']
62
+ : styles_module_css_json_1.default['SplitViewSash--horizontal'], !allowResize && styles_module_css_json_1.default['SplitViewSash--no-resize'], dragging && styles_module_css_json_1.default['SplitViewSash--dragging']), onMouseDown: function (e) {
63
+ setDrag(true);
64
+ onMouseDown(e.pageX, e.pageY);
65
+ window.addEventListener('mousemove', handleMouseMove);
66
+ window.addEventListener('mouseup', handleMouseUp);
67
+ }, onTouchStart: function (e) {
68
+ e.preventDefault();
69
+ setDrag(true);
70
+ onMouseDown(e.touches[0].pageX, e.touches[0].pageY);
71
+ window.addEventListener('touchmove', handleTouchMove);
72
+ window.addEventListener('touchend', handleTouchEnd);
73
+ }, style: style }, actionEl));
74
+ }
75
+ exports.SplitViewSash = SplitViewSash;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/SplitView/SplitViewSash/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ { "SplitViewSash": "_SplitViewSash_tds51_1", "SplitViewSash--dragging": "_SplitViewSash--dragging_tds51_15", "SplitViewSash__content": "_SplitViewSash__content_tds51_19", "SplitViewSash--no-resize": "_SplitViewSash--no-resize_tds51_24", "SplitViewSash--vertical": "_SplitViewSash--vertical_tds51_28", "SplitViewSash--horizontal": "_SplitViewSash--horizontal_tds51_32", "SplitViewSash__content__button": "_SplitViewSash__content__button_tds51_46" }
@@ -0,0 +1,206 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.SplitView = void 0;
50
+ var classnames_1 = __importDefault(require("classnames"));
51
+ var react_1 = __importStar(require("react"));
52
+ var SplitViewPane_1 = require("./SplitViewPane");
53
+ var SplitViewSash_1 = require("./SplitViewSash");
54
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
55
+ var SplitView = function (_a) {
56
+ var children = _a.children, propSizes = _a.sizes, _b = _a.allowResize, allowResize = _b === void 0 ? true : _b, _c = _a.split, split = _c === void 0 ? 'vertical' : _c, _d = _a.resizerSize, resizerSize = _d === void 0 ? 10 : _d, _e = _a.performanceMode, performanceMode = _e === void 0 ? false : _e, _f = _a.onChange, onChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onDragStart, onDragStart = _g === void 0 ? function () { return null; } : _g, _h = _a.onDragEnd, onDragEnd = _h === void 0 ? function () { return null; } : _h, sashAction = _a.sashAction;
57
+ var axis = (0, react_1.useRef)({ x: 0, y: 0 });
58
+ var wrapper = (0, react_1.useRef)(null);
59
+ var cacheSizes = (0, react_1.useRef)({ sizes: [], sashPosSizes: [] });
60
+ var _j = (0, react_1.useState)(undefined), wrapperRect = _j[0], setWrapperRect = _j[1];
61
+ var _k = (0, react_1.useState)(false), isDragging = _k[0], setDragging = _k[1];
62
+ (0, react_1.useEffect)(function () {
63
+ var resizeObserver = new ResizeObserver(function () {
64
+ if (wrapper === null || wrapper === void 0 ? void 0 : wrapper.current) {
65
+ setWrapperRect(wrapper.current.getBoundingClientRect());
66
+ }
67
+ });
68
+ resizeObserver.observe(wrapper.current);
69
+ return function () {
70
+ resizeObserver.disconnect();
71
+ };
72
+ }, []);
73
+ var _l = (0, react_1.useMemo)(function () { return ({
74
+ sizeName: split === 'vertical' ? 'width' : 'height',
75
+ splitPos: split === 'vertical' ? 'left' : 'top',
76
+ splitAxis: split === 'vertical' ? 'x' : 'y',
77
+ }); }, [split]), sizeName = _l.sizeName, splitPos = _l.splitPos, splitAxis = _l.splitAxis;
78
+ var wrapSize = wrapperRect ? wrapperRect[sizeName] : 0;
79
+ // Get limit sizes via children
80
+ var paneLimitSizes = (0, react_1.useMemo)(function () {
81
+ return children.map(function (childNode) {
82
+ var limits = [0, Infinity];
83
+ if (childNode.type === SplitViewPane_1.SplitViewPane) {
84
+ var _a = childNode.props, minSize = _a.minSize, maxSize = _a.maxSize;
85
+ limits[0] = assertSize(minSize, wrapSize, 0);
86
+ limits[1] = assertSize(maxSize, wrapSize);
87
+ }
88
+ return limits;
89
+ });
90
+ }, [children, wrapSize]);
91
+ var sizes = (0, react_1.useMemo)(function () {
92
+ var count = 0;
93
+ var curSum = 0;
94
+ var res = children.map(function (_child, index) {
95
+ var size = clampSize(assertSize(propSizes[index], wrapSize), paneLimitSizes[index]);
96
+ if (size === Infinity) {
97
+ count = count + 1;
98
+ }
99
+ else {
100
+ curSum = curSum + size;
101
+ }
102
+ return size;
103
+ });
104
+ // resize or illegal size input,recalculate pane sizes
105
+ if (curSum > wrapSize || (!count && curSum < wrapSize)) {
106
+ var cacheNum_1 = (curSum - wrapSize) / curSum;
107
+ return res.map(function (size) {
108
+ return size === Infinity ? 0 : size - size * cacheNum_1;
109
+ });
110
+ }
111
+ if (count > 0) {
112
+ var average_1 = (wrapSize - curSum) / count;
113
+ return res.map(function (size) {
114
+ return size === Infinity ? average_1 : size;
115
+ });
116
+ }
117
+ return res;
118
+ }, [
119
+ JSON.stringify(propSizes),
120
+ JSON.stringify(paneLimitSizes),
121
+ children.length,
122
+ wrapSize,
123
+ ]);
124
+ var sashPosSizes = (0, react_1.useMemo)(function () { return sizes.reduce(function (a, b) { return __spreadArray(__spreadArray([], a, true), [a[a.length - 1] + b], false); }, [0]); }, [JSON.stringify(sizes)]);
125
+ var handleMouseDown = (0, react_1.useCallback)(function (x, y) {
126
+ var _a, _b;
127
+ (_b = (_a = document === null || document === void 0 ? void 0 : document.body) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add(styles_module_css_json_1.default['SplitView--disable-select']);
128
+ axis.current = { x: x, y: y };
129
+ cacheSizes.current = { sizes: sizes, sashPosSizes: sashPosSizes };
130
+ setDragging(true);
131
+ onDragStart();
132
+ }, [onDragStart, sizes, sashPosSizes]);
133
+ var handleMouseUp = (0, react_1.useCallback)(function () {
134
+ var _a, _b;
135
+ (_b = (_a = document === null || document === void 0 ? void 0 : document.body) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.remove(styles_module_css_json_1.default['SplitView--disable-select']);
136
+ setDragging(false);
137
+ onDragEnd();
138
+ }, [onDragEnd]);
139
+ var handleMouseMove = (0, react_1.useCallback)(function (x, y, i) {
140
+ var curAxis = { x: x, y: y };
141
+ var distanceX = curAxis[splitAxis] - axis.current[splitAxis];
142
+ var leftBorder = -Math.min(sizes[i] - paneLimitSizes[i][0], paneLimitSizes[i + 1][1] - sizes[i + 1]);
143
+ var rightBorder = Math.min(sizes[i + 1] - paneLimitSizes[i + 1][0], paneLimitSizes[i][1] - sizes[i]);
144
+ if (distanceX < leftBorder) {
145
+ distanceX = leftBorder;
146
+ }
147
+ if (distanceX > rightBorder) {
148
+ distanceX = rightBorder;
149
+ }
150
+ var nextSizes = __spreadArray([], sizes, true);
151
+ nextSizes[i] += distanceX;
152
+ nextSizes[i + 1] -= distanceX;
153
+ onChange(nextSizes);
154
+ }, [paneLimitSizes, onChange]);
155
+ var paneFollow = !(performanceMode && isDragging);
156
+ var paneSizes = paneFollow ? sizes : cacheSizes.current.sizes;
157
+ var panePoses = paneFollow ? sashPosSizes : cacheSizes.current.sashPosSizes;
158
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles_module_css_json_1.default.SplitView, split === 'vertical' && styles_module_css_json_1.default['SplitView--vertical'], split === 'horizontal' && styles_module_css_json_1.default['SplitView--horizontal'], isDragging && styles_module_css_json_1.default['SplitView--dragging']), ref: wrapper },
159
+ children.map(function (childNode, childIndex) {
160
+ var _a;
161
+ var isPane = childNode.type === SplitViewPane_1.SplitViewPane;
162
+ var paneProps = isPane ? childNode.props : {};
163
+ return (react_1.default.createElement(SplitViewPane_1.SplitViewPane
164
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
165
+ , {
166
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
167
+ key: childIndex, style: __assign(__assign({}, paneProps.style), (_a = {}, _a[sizeName] = paneSizes[childIndex], _a[splitPos] = panePoses[childIndex], _a)) }, isPane ? paneProps.children : childNode));
168
+ }),
169
+ sashPosSizes.slice(1, -1).map(function (posSize, index) {
170
+ var _a;
171
+ return (react_1.default.createElement(SplitViewSash_1.SplitViewSash
172
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
173
+ , {
174
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
175
+ key: index, allowResize: allowResize, split: split, style: (_a = {},
176
+ _a[sizeName] = resizerSize,
177
+ _a[splitPos] = posSize - resizerSize / 2,
178
+ _a), onMouseDown: handleMouseDown, onMouseMove: function (x, y) { return handleMouseMove(x, y, index); }, onMouseUp: handleMouseUp, action: sashAction }));
179
+ })));
180
+ };
181
+ exports.SplitView = SplitView;
182
+ /**
183
+ * Convert size to absolute number or Infinity
184
+ * SplitPane allows sizes in string and number, but the state sizes only support number,
185
+ * so convert string and number to number in here
186
+ * 'auto' -> divide the remaining space equally
187
+ * 'xxxpx' -> xxx
188
+ * 'xxx%' -> wrapper.size * xxx/100
189
+ * xxx -> xxx
190
+ */
191
+ function assertSize(size, sum, defaultValue) {
192
+ if (defaultValue === void 0) { defaultValue = Infinity; }
193
+ if (typeof size === 'undefined')
194
+ return defaultValue;
195
+ if (typeof size === 'number')
196
+ return size;
197
+ if (size.endsWith('%'))
198
+ return sum * (+size.replace('%', '') / 100);
199
+ if (size.endsWith('px'))
200
+ return +size.replace('px', '');
201
+ return defaultValue;
202
+ }
203
+ function clampSize(size, minMax) {
204
+ return Math.max(minMax[0], Math.min(minMax[1], size));
205
+ }
206
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/SplitView/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ { "SplitView": "_SplitView_1oi17_1", "SplitView--dragging": "_SplitView--dragging_1oi17_8", "SplitView--vertical": "_SplitView--vertical_1oi17_8", "SplitView--horizontal": "_SplitView--horizontal_1oi17_12", "SplitView--disable-select": "_SplitView--disable-select_1oi17_16", "SplitViewPane": "_SplitViewPane_1oi17_20" }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/SplitView/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.Tooltip = void 0;
38
+ var React = __importStar(require("react"));
39
+ var utils_1 = require("../utils");
40
+ /**
41
+ * Tooltip wrapper component that provides context for TooltipTrigger and TooltipContent.
42
+ *
43
+ * This is a compound component pattern. The Tooltip component itself doesn't render anything,
44
+ * but provides the necessary context for its children (TooltipTrigger and TooltipContent).
45
+ *
46
+ * @example Basic tooltip
47
+ *
48
+ * Create a simple tooltip that appears when hovering over a button:
49
+ *
50
+ * ```js
51
+ * <Canvas ctx={ctx}>
52
+ * <Tooltip>
53
+ * <TooltipTrigger>
54
+ * <Button>Hover me</Button>
55
+ * </TooltipTrigger>
56
+ * <TooltipContent>
57
+ * This is helpful information!
58
+ * </TooltipContent>
59
+ * </Tooltip>
60
+ * </Canvas>;
61
+ * ```
62
+ *
63
+ * @example Tooltip with custom placement
64
+ *
65
+ * Control where the tooltip appears relative to its trigger using the `placement` prop:
66
+ *
67
+ * ```js
68
+ * <Canvas ctx={ctx}>
69
+ * <Tooltip placement="right">
70
+ * <TooltipTrigger>
71
+ * <Button>Right tooltip</Button>
72
+ * </TooltipTrigger>
73
+ * <TooltipContent>
74
+ * Appears on the right side
75
+ * </TooltipContent>
76
+ * </Tooltip>
77
+ * </Canvas>;
78
+ * ```
79
+ *
80
+ * @example Multiple tooltips
81
+ *
82
+ * Use multiple tooltips on the same page to provide contextual help for different actions:
83
+ *
84
+ * ```js
85
+ * <Canvas ctx={ctx}>
86
+ * <div style={{ display: 'flex', gap: 'var(--spacing-m)' }}>
87
+ * <Tooltip>
88
+ * <TooltipTrigger>
89
+ * <Button leftIcon={<SaveIcon />} />
90
+ * </TooltipTrigger>
91
+ * <TooltipContent>
92
+ * Save changes (⌘S)
93
+ * </TooltipContent>
94
+ * </Tooltip>
95
+ *
96
+ * <Tooltip>
97
+ * <TooltipTrigger>
98
+ * <Button leftIcon={<DeleteIcon />} />
99
+ * </TooltipTrigger>
100
+ * <TooltipContent>
101
+ * Delete item
102
+ * </TooltipContent>
103
+ * </Tooltip>
104
+ * </div>
105
+ * </Canvas>;
106
+ * ```
107
+ */
108
+ function Tooltip(_a) {
109
+ var children = _a.children, options = __rest(_a, ["children"]);
110
+ // This can accept any props as options, e.g. `placement`,
111
+ // or other positioning options.
112
+ var tooltip = (0, utils_1.useTooltip)(options);
113
+ return (React.createElement(utils_1.TooltipContext.Provider, { value: tooltip }, children));
114
+ }
115
+ exports.Tooltip = Tooltip;
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Tooltip/Tooltip/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,kCAAsE;AAMtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,SAAgB,OAAO,CAAC,EAAsC;IAApC,IAAA,QAAQ,cAAA,EAAK,OAAO,cAAtB,YAAwB,CAAF;IAC5C,0DAA0D;IAC1D,gCAAgC;IAChC,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CACL,oBAAC,sBAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IACpC,QAAQ,CACe,CAC3B,CAAC;AACJ,CAAC;AATD,0BASC"}