@vuu-ui/vuu-layout 0.8.34 → 0.8.35

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 (248) hide show
  1. package/package.json +8 -10
  2. package/cjs/Component.js +0 -14
  3. package/cjs/Component.js.map +0 -1
  4. package/cjs/DraggableLayout.css +0 -18
  5. package/cjs/DraggableLayout.js +0 -24
  6. package/cjs/DraggableLayout.js.map +0 -1
  7. package/cjs/dock-layout/DockLayout.css +0 -36
  8. package/cjs/dock-layout/DockLayout.js +0 -27
  9. package/cjs/dock-layout/DockLayout.js.map +0 -1
  10. package/cjs/dock-layout/Drawer.css +0 -159
  11. package/cjs/dock-layout/Drawer.js +0 -87
  12. package/cjs/dock-layout/Drawer.js.map +0 -1
  13. package/cjs/drag-drop/BoxModel.js +0 -422
  14. package/cjs/drag-drop/BoxModel.js.map +0 -1
  15. package/cjs/drag-drop/DragState.js +0 -154
  16. package/cjs/drag-drop/DragState.js.map +0 -1
  17. package/cjs/drag-drop/Draggable.js +0 -192
  18. package/cjs/drag-drop/Draggable.js.map +0 -1
  19. package/cjs/drag-drop/DropMenu.css +0 -71
  20. package/cjs/drag-drop/DropMenu.js +0 -46
  21. package/cjs/drag-drop/DropMenu.js.map +0 -1
  22. package/cjs/drag-drop/DropTarget.js +0 -244
  23. package/cjs/drag-drop/DropTarget.js.map +0 -1
  24. package/cjs/drag-drop/DropTargetRenderer.css +0 -40
  25. package/cjs/drag-drop/DropTargetRenderer.js +0 -233
  26. package/cjs/drag-drop/DropTargetRenderer.js.map +0 -1
  27. package/cjs/flexbox/Flexbox.css +0 -45
  28. package/cjs/flexbox/Flexbox.js +0 -61
  29. package/cjs/flexbox/Flexbox.js.map +0 -1
  30. package/cjs/flexbox/FlexboxLayout.js +0 -30
  31. package/cjs/flexbox/FlexboxLayout.js.map +0 -1
  32. package/cjs/flexbox/FluidGrid.css +0 -134
  33. package/cjs/flexbox/FluidGrid.js +0 -78
  34. package/cjs/flexbox/FluidGrid.js.map +0 -1
  35. package/cjs/flexbox/FluidGridLayout.js +0 -14
  36. package/cjs/flexbox/FluidGridLayout.js.map +0 -1
  37. package/cjs/flexbox/Splitter.css +0 -148
  38. package/cjs/flexbox/Splitter.js +0 -113
  39. package/cjs/flexbox/Splitter.js.map +0 -1
  40. package/cjs/flexbox/flexbox-utils.js +0 -109
  41. package/cjs/flexbox/flexbox-utils.js.map +0 -1
  42. package/cjs/flexbox/useResponsiveSizing.js +0 -62
  43. package/cjs/flexbox/useResponsiveSizing.js.map +0 -1
  44. package/cjs/flexbox/useSplitterResizing.js +0 -209
  45. package/cjs/flexbox/useSplitterResizing.js.map +0 -1
  46. package/cjs/index.js.map +0 -1
  47. package/cjs/layout-action.js +0 -27
  48. package/cjs/layout-action.js.map +0 -1
  49. package/cjs/layout-header/Header.css +0 -9
  50. package/cjs/layout-header/Header.js +0 -122
  51. package/cjs/layout-header/Header.js.map +0 -1
  52. package/cjs/layout-provider/LayoutProvider.js +0 -178
  53. package/cjs/layout-provider/LayoutProvider.js.map +0 -1
  54. package/cjs/layout-provider/LayoutProviderContext.js +0 -14
  55. package/cjs/layout-provider/LayoutProviderContext.js.map +0 -1
  56. package/cjs/layout-provider/useLayoutDragDrop.js +0 -170
  57. package/cjs/layout-provider/useLayoutDragDrop.js.map +0 -1
  58. package/cjs/layout-reducer/flexUtils.js +0 -219
  59. package/cjs/layout-reducer/flexUtils.js.map +0 -1
  60. package/cjs/layout-reducer/insert-layout-element.js +0 -273
  61. package/cjs/layout-reducer/insert-layout-element.js.map +0 -1
  62. package/cjs/layout-reducer/layout-reducer.js +0 -198
  63. package/cjs/layout-reducer/layout-reducer.js.map +0 -1
  64. package/cjs/layout-reducer/layoutTypes.js +0 -41
  65. package/cjs/layout-reducer/layoutTypes.js.map +0 -1
  66. package/cjs/layout-reducer/layoutUtils.js +0 -226
  67. package/cjs/layout-reducer/layoutUtils.js.map +0 -1
  68. package/cjs/layout-reducer/move-layout-element.js +0 -31
  69. package/cjs/layout-reducer/move-layout-element.js.map +0 -1
  70. package/cjs/layout-reducer/remove-layout-element.js +0 -223
  71. package/cjs/layout-reducer/remove-layout-element.js.map +0 -1
  72. package/cjs/layout-reducer/replace-layout-element.js +0 -91
  73. package/cjs/layout-reducer/replace-layout-element.js.map +0 -1
  74. package/cjs/layout-reducer/resize-flex-children.js +0 -61
  75. package/cjs/layout-reducer/resize-flex-children.js.map +0 -1
  76. package/cjs/layout-reducer/wrap-layout-element.js +0 -212
  77. package/cjs/layout-reducer/wrap-layout-element.js.map +0 -1
  78. package/cjs/layout-view/View.css +0 -62
  79. package/cjs/layout-view/View.js +0 -155
  80. package/cjs/layout-view/View.js.map +0 -1
  81. package/cjs/layout-view/useView.js +0 -92
  82. package/cjs/layout-view/useView.js.map +0 -1
  83. package/cjs/layout-view/useViewResize.js +0 -42
  84. package/cjs/layout-view/useViewResize.js.map +0 -1
  85. package/cjs/layout-view-actions/ViewContext.js +0 -16
  86. package/cjs/layout-view-actions/ViewContext.js.map +0 -1
  87. package/cjs/layout-view-actions/useViewActionDispatcher.js +0 -103
  88. package/cjs/layout-view-actions/useViewActionDispatcher.js.map +0 -1
  89. package/cjs/palette/Palette.css +0 -33
  90. package/cjs/palette/Palette.js +0 -118
  91. package/cjs/palette/Palette.js.map +0 -1
  92. package/cjs/placeholder/LayoutStartPanel.css +0 -30
  93. package/cjs/placeholder/LayoutStartPanel.js +0 -51
  94. package/cjs/placeholder/LayoutStartPanel.js.map +0 -1
  95. package/cjs/placeholder/Placeholder.css +0 -17
  96. package/cjs/placeholder/Placeholder.js +0 -25
  97. package/cjs/placeholder/Placeholder.js.map +0 -1
  98. package/cjs/registry/ComponentRegistry.js +0 -27
  99. package/cjs/registry/ComponentRegistry.js.map +0 -1
  100. package/cjs/responsive/breakpoints.js +0 -36
  101. package/cjs/responsive/breakpoints.js.map +0 -1
  102. package/cjs/responsive/use-breakpoints.js +0 -76
  103. package/cjs/responsive/use-breakpoints.js.map +0 -1
  104. package/cjs/responsive/useResizeObserver.js +0 -118
  105. package/cjs/responsive/useResizeObserver.js.map +0 -1
  106. package/cjs/responsive/utils.js +0 -34
  107. package/cjs/responsive/utils.js.map +0 -1
  108. package/cjs/stack/Stack.css +0 -39
  109. package/cjs/stack/Stack.js +0 -139
  110. package/cjs/stack/Stack.js.map +0 -1
  111. package/cjs/stack/StackLayout.js +0 -122
  112. package/cjs/stack/StackLayout.js.map +0 -1
  113. package/cjs/use-persistent-state.js +0 -109
  114. package/cjs/use-persistent-state.js.map +0 -1
  115. package/cjs/utils/pathUtils.js +0 -293
  116. package/cjs/utils/pathUtils.js.map +0 -1
  117. package/cjs/utils/propUtils.js +0 -27
  118. package/cjs/utils/propUtils.js.map +0 -1
  119. package/cjs/utils/refUtils.js +0 -12
  120. package/cjs/utils/refUtils.js.map +0 -1
  121. package/cjs/utils/styleUtils.js +0 -15
  122. package/cjs/utils/styleUtils.js.map +0 -1
  123. package/cjs/utils/typeOf.js +0 -27
  124. package/cjs/utils/typeOf.js.map +0 -1
  125. package/esm/Component.js +0 -12
  126. package/esm/Component.js.map +0 -1
  127. package/esm/DraggableLayout.css +0 -18
  128. package/esm/DraggableLayout.js +0 -22
  129. package/esm/DraggableLayout.js.map +0 -1
  130. package/esm/dock-layout/DockLayout.css +0 -36
  131. package/esm/dock-layout/DockLayout.js +0 -25
  132. package/esm/dock-layout/DockLayout.js.map +0 -1
  133. package/esm/dock-layout/Drawer.css +0 -159
  134. package/esm/dock-layout/Drawer.js +0 -85
  135. package/esm/dock-layout/Drawer.js.map +0 -1
  136. package/esm/drag-drop/BoxModel.js +0 -415
  137. package/esm/drag-drop/BoxModel.js.map +0 -1
  138. package/esm/drag-drop/DragState.js +0 -152
  139. package/esm/drag-drop/DragState.js.map +0 -1
  140. package/esm/drag-drop/Draggable.js +0 -190
  141. package/esm/drag-drop/Draggable.js.map +0 -1
  142. package/esm/drag-drop/DropMenu.css +0 -71
  143. package/esm/drag-drop/DropMenu.js +0 -43
  144. package/esm/drag-drop/DropMenu.js.map +0 -1
  145. package/esm/drag-drop/DropTarget.js +0 -240
  146. package/esm/drag-drop/DropTarget.js.map +0 -1
  147. package/esm/drag-drop/DropTargetRenderer.css +0 -40
  148. package/esm/drag-drop/DropTargetRenderer.js +0 -231
  149. package/esm/drag-drop/DropTargetRenderer.js.map +0 -1
  150. package/esm/flexbox/Flexbox.css +0 -45
  151. package/esm/flexbox/Flexbox.js +0 -59
  152. package/esm/flexbox/Flexbox.js.map +0 -1
  153. package/esm/flexbox/FlexboxLayout.js +0 -28
  154. package/esm/flexbox/FlexboxLayout.js.map +0 -1
  155. package/esm/flexbox/FluidGrid.css +0 -134
  156. package/esm/flexbox/FluidGrid.js +0 -76
  157. package/esm/flexbox/FluidGrid.js.map +0 -1
  158. package/esm/flexbox/FluidGridLayout.js +0 -12
  159. package/esm/flexbox/FluidGridLayout.js.map +0 -1
  160. package/esm/flexbox/Splitter.css +0 -148
  161. package/esm/flexbox/Splitter.js +0 -111
  162. package/esm/flexbox/Splitter.js.map +0 -1
  163. package/esm/flexbox/flexbox-utils.js +0 -103
  164. package/esm/flexbox/flexbox-utils.js.map +0 -1
  165. package/esm/flexbox/useResponsiveSizing.js +0 -60
  166. package/esm/flexbox/useResponsiveSizing.js.map +0 -1
  167. package/esm/flexbox/useSplitterResizing.js +0 -207
  168. package/esm/flexbox/useSplitterResizing.js.map +0 -1
  169. package/esm/index.js +0 -37
  170. package/esm/index.js.map +0 -1
  171. package/esm/layout-action.js +0 -25
  172. package/esm/layout-action.js.map +0 -1
  173. package/esm/layout-header/Header.css +0 -9
  174. package/esm/layout-header/Header.js +0 -120
  175. package/esm/layout-header/Header.js.map +0 -1
  176. package/esm/layout-provider/LayoutProvider.js +0 -172
  177. package/esm/layout-provider/LayoutProvider.js.map +0 -1
  178. package/esm/layout-provider/LayoutProviderContext.js +0 -12
  179. package/esm/layout-provider/LayoutProviderContext.js.map +0 -1
  180. package/esm/layout-provider/useLayoutDragDrop.js +0 -168
  181. package/esm/layout-provider/useLayoutDragDrop.js.map +0 -1
  182. package/esm/layout-reducer/flexUtils.js +0 -210
  183. package/esm/layout-reducer/flexUtils.js.map +0 -1
  184. package/esm/layout-reducer/insert-layout-element.js +0 -269
  185. package/esm/layout-reducer/insert-layout-element.js.map +0 -1
  186. package/esm/layout-reducer/layout-reducer.js +0 -196
  187. package/esm/layout-reducer/layout-reducer.js.map +0 -1
  188. package/esm/layout-reducer/layoutTypes.js +0 -37
  189. package/esm/layout-reducer/layoutTypes.js.map +0 -1
  190. package/esm/layout-reducer/layoutUtils.js +0 -215
  191. package/esm/layout-reducer/layoutUtils.js.map +0 -1
  192. package/esm/layout-reducer/move-layout-element.js +0 -29
  193. package/esm/layout-reducer/move-layout-element.js.map +0 -1
  194. package/esm/layout-reducer/remove-layout-element.js +0 -221
  195. package/esm/layout-reducer/remove-layout-element.js.map +0 -1
  196. package/esm/layout-reducer/replace-layout-element.js +0 -87
  197. package/esm/layout-reducer/replace-layout-element.js.map +0 -1
  198. package/esm/layout-reducer/resize-flex-children.js +0 -58
  199. package/esm/layout-reducer/resize-flex-children.js.map +0 -1
  200. package/esm/layout-reducer/wrap-layout-element.js +0 -210
  201. package/esm/layout-reducer/wrap-layout-element.js.map +0 -1
  202. package/esm/layout-view/View.css +0 -62
  203. package/esm/layout-view/View.js +0 -153
  204. package/esm/layout-view/View.js.map +0 -1
  205. package/esm/layout-view/useView.js +0 -90
  206. package/esm/layout-view/useView.js.map +0 -1
  207. package/esm/layout-view/useViewResize.js +0 -40
  208. package/esm/layout-view/useViewResize.js.map +0 -1
  209. package/esm/layout-view-actions/ViewContext.js +0 -12
  210. package/esm/layout-view-actions/ViewContext.js.map +0 -1
  211. package/esm/layout-view-actions/useViewActionDispatcher.js +0 -101
  212. package/esm/layout-view-actions/useViewActionDispatcher.js.map +0 -1
  213. package/esm/palette/Palette.css +0 -33
  214. package/esm/palette/Palette.js +0 -115
  215. package/esm/palette/Palette.js.map +0 -1
  216. package/esm/placeholder/LayoutStartPanel.css +0 -30
  217. package/esm/placeholder/LayoutStartPanel.js +0 -49
  218. package/esm/placeholder/LayoutStartPanel.js.map +0 -1
  219. package/esm/placeholder/Placeholder.css +0 -17
  220. package/esm/placeholder/Placeholder.js +0 -23
  221. package/esm/placeholder/Placeholder.js.map +0 -1
  222. package/esm/registry/ComponentRegistry.js +0 -21
  223. package/esm/registry/ComponentRegistry.js.map +0 -1
  224. package/esm/responsive/breakpoints.js +0 -33
  225. package/esm/responsive/breakpoints.js.map +0 -1
  226. package/esm/responsive/use-breakpoints.js +0 -74
  227. package/esm/responsive/use-breakpoints.js.map +0 -1
  228. package/esm/responsive/useResizeObserver.js +0 -112
  229. package/esm/responsive/useResizeObserver.js.map +0 -1
  230. package/esm/responsive/utils.js +0 -31
  231. package/esm/responsive/utils.js.map +0 -1
  232. package/esm/stack/Stack.css +0 -39
  233. package/esm/stack/Stack.js +0 -137
  234. package/esm/stack/Stack.js.map +0 -1
  235. package/esm/stack/StackLayout.js +0 -120
  236. package/esm/stack/StackLayout.js.map +0 -1
  237. package/esm/use-persistent-state.js +0 -104
  238. package/esm/use-persistent-state.js.map +0 -1
  239. package/esm/utils/pathUtils.js +0 -280
  240. package/esm/utils/pathUtils.js.map +0 -1
  241. package/esm/utils/propUtils.js +0 -23
  242. package/esm/utils/propUtils.js.map +0 -1
  243. package/esm/utils/refUtils.js +0 -10
  244. package/esm/utils/refUtils.js.map +0 -1
  245. package/esm/utils/styleUtils.js +0 -13
  246. package/esm/utils/styleUtils.js.map +0 -1
  247. package/esm/utils/typeOf.js +0 -23
  248. package/esm/utils/typeOf.js.map +0 -1
@@ -1,40 +0,0 @@
1
- #hw-drag-canvas {
2
- visibility: hidden;
3
- z-index: 10;
4
- position: absolute;
5
- top: 0px;
6
- left: 0;
7
- right: 0;
8
- bottom: 0;
9
- background-color: transparent;
10
- }
11
-
12
- #hw-drag-canvas > svg {
13
- position: absolute;
14
- }
15
-
16
- .drawing #hw-drag-canvas {
17
- visibility: visible;
18
- }
19
-
20
- path.drop-target {
21
- stroke: blue;
22
- stroke-width: 4px;
23
- fill: transparent;
24
- }
25
-
26
- path.drop-target.centre {
27
- stroke: red;
28
- }
29
-
30
- #vuu-drop-outline {
31
- fill: rgba(0,0,255,.3);
32
- stroke: none;
33
- stroke-dasharray: 4 2;
34
- }
35
-
36
- #hw-drop-guides {
37
- fill: none;
38
- stroke: rgba(0, 0, 0, 0.3);
39
- stroke-dasharray: 2 3;
40
- }
@@ -1,233 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var vuuPopups = require('@vuu-ui/vuu-popups');
5
- var BoxModel = require('./BoxModel.js');
6
- var DropMenu = require('./DropMenu.js');
7
-
8
- let _multiDropOptions = false;
9
- let _hoverDropTarget = null;
10
- let _shiftedTab = null;
11
- const onHoverDropTarget = (dropTarget) => _hoverDropTarget = dropTarget;
12
- const start = ([x, y]) => `M${x},${y}`;
13
- const point = ([x, y]) => `L${x},${y}`;
14
- const pathFromPoints = ([p1, ...points]) => `${start(p1)} ${points.map(point)}Z`;
15
- const pathFromGuideLines = (guideLines) => {
16
- if (guideLines) {
17
- const [x1, y1, x2, y2, x3, y3, x4, y4] = guideLines;
18
- return `M${x1},${y1} L${x2},${y2} M${x3},${y3} L${x4},${y4}`;
19
- } else {
20
- return "";
21
- }
22
- };
23
- function insertSVGRoot() {
24
- if (document.getElementById("hw-drag-canvas") === null) {
25
- const root = document.getElementById("root");
26
- const container = document.createElement("div");
27
- container.id = "hw-drag-canvas";
28
- container.innerHTML = `
29
- <svg width="100%" height="100%">
30
- <path id="hw-drop-guides" />
31
- <path
32
- id="vuu-drop-outline"
33
- d="M300,132 L380,132 L380,100 L460,100 L460,132, L550,132 L550,350 L300,350z">
34
- <animate
35
- attributeName="d"
36
- id="hw-drop-outline-animate"
37
- begin="indefinite"
38
- dur="300ms"
39
- fill="freeze"
40
- to="M255,33 L255,33,L255,1,L315,1,L315,1,L794,1,L794,164,L255,164Z"
41
- />
42
- </path>
43
- </svg>
44
- `;
45
- document.body.insertBefore(container, root);
46
- }
47
- }
48
- class DropTargetCanvas {
49
- constructor() {
50
- this.currentPath = null;
51
- this.tabMode = null;
52
- insertSVGRoot();
53
- }
54
- prepare(dragRect, tabMode = "full-view") {
55
- document.body.classList.add("drawing");
56
- this.currentPath = null;
57
- this.tabMode = tabMode;
58
- const points = this.getPoints(0, 0, 0, 0);
59
- const d = pathFromPoints(points);
60
- const dropOutlinePath = document.getElementById("vuu-drop-outline");
61
- dropOutlinePath?.setAttribute("d", d);
62
- this.currentPath = d;
63
- }
64
- clear() {
65
- _hoverDropTarget = null;
66
- clearShiftedTab();
67
- document.body.classList.remove("drawing");
68
- vuuPopups.PopupService.hidePopup();
69
- }
70
- get hoverDropTarget() {
71
- return _hoverDropTarget;
72
- }
73
- getPoints(x, y, width, height, tabLeft = 0, tabWidth = 0, tabHeight = 0) {
74
- const tabOnly = this.tabMode === "tab-only";
75
- if (tabWidth === 0) {
76
- return [
77
- [x, y + tabHeight],
78
- [x, y + tabHeight],
79
- [x, y],
80
- [x + tabWidth, y],
81
- [x + tabWidth, y],
82
- [x + width, y],
83
- [x + width, y + height],
84
- [x, y + height]
85
- ];
86
- } else if (tabOnly) {
87
- const left = tabLeft;
88
- return [
89
- [left, y],
90
- [left, y],
91
- [left + tabWidth, y],
92
- [left + tabWidth, y],
93
- [left + tabWidth, y + tabHeight],
94
- [left + tabWidth, y + tabHeight],
95
- [left, y + tabHeight],
96
- [left, y + tabHeight]
97
- ];
98
- } else if (tabLeft === 0) {
99
- return [
100
- [x, y + tabHeight],
101
- [x, y + tabHeight],
102
- [x, y],
103
- [x + tabWidth, y],
104
- [x + tabWidth, y + tabHeight],
105
- [x + width, y + tabHeight],
106
- [x + width, y + height],
107
- [x, y + height]
108
- ];
109
- } else {
110
- return [
111
- [x, y + tabHeight],
112
- [x + tabLeft, y + tabHeight],
113
- [x + tabLeft, y],
114
- [x + tabLeft, y],
115
- [x + tabLeft, y + tabHeight],
116
- [x + width, y + tabHeight],
117
- [x + width, y + height],
118
- [x, y + height]
119
- ];
120
- }
121
- }
122
- draw(dropTarget, dragState) {
123
- const sameDropTarget = false;
124
- const wasMultiDrop = _multiDropOptions;
125
- if (_hoverDropTarget !== null) {
126
- this.drawTarget(_hoverDropTarget);
127
- } else {
128
- {
129
- _multiDropOptions = dropTarget.nextDropTarget != null;
130
- if (dropTarget.pos.tab) {
131
- moveExistingTabs(dropTarget);
132
- } else if (_shiftedTab) {
133
- clearShiftedTab();
134
- }
135
- this.drawTarget(dropTarget, dragState);
136
- }
137
- if (_multiDropOptions) {
138
- const [left, top, orientation] = DropMenu.computeMenuPosition(dropTarget);
139
- if (!wasMultiDrop || !sameDropTarget) {
140
- const component = /* @__PURE__ */ jsxRuntime.jsx(
141
- DropMenu.DropMenu,
142
- {
143
- dropTarget,
144
- onHover: onHoverDropTarget,
145
- orientation
146
- }
147
- );
148
- vuuPopups.PopupService.showPopup({
149
- left,
150
- top,
151
- component
152
- });
153
- }
154
- } else {
155
- vuuPopups.PopupService.hidePopup();
156
- }
157
- }
158
- }
159
- drawTarget(dropTarget, dragState) {
160
- const lineWidth = 6;
161
- const targetDropOutline = dropTarget.getTargetDropOutline(
162
- lineWidth,
163
- dragState
164
- );
165
- if (targetDropOutline) {
166
- const { l, t, r, b, tabLeft, tabWidth, tabHeight, guideLines } = targetDropOutline;
167
- const w = r - l;
168
- const h = b - t;
169
- if (this.currentPath) {
170
- const path2 = document.getElementById("vuu-drop-outline");
171
- path2?.setAttribute("d", this.currentPath);
172
- }
173
- const points = this.getPoints(l, t, w, h, tabLeft, tabWidth, tabHeight);
174
- const path = pathFromPoints(points);
175
- const animation = document.getElementById(
176
- "hw-drop-outline-animate"
177
- );
178
- animation?.setAttribute("to", path);
179
- animation?.beginElement();
180
- this.currentPath = path;
181
- const dropGuidePath = document.getElementById("hw-drop-guides");
182
- dropGuidePath?.setAttribute("d", pathFromGuideLines(guideLines));
183
- }
184
- }
185
- }
186
- const cssShiftRight = "transition:margin-left .4s ease-out;margin-left: 63px";
187
- const cssShiftBack = "transition:margin-left .4s ease-out;margin-left: 0px";
188
- function moveExistingTabs(dropTarget) {
189
- const { AFTER, BEFORE } = BoxModel.RelativeDropPosition;
190
- const {
191
- clientRect: { Stack },
192
- pos: {
193
- // tab: { index: tabIndex, positionRelativeToTab }
194
- tab
195
- }
196
- } = dropTarget;
197
- const { id } = dropTarget.component.props;
198
- let tabEl = null;
199
- if (Stack && tab && tab.positionRelativeToTab !== AFTER) {
200
- const tabOffset = tab.positionRelativeToTab === BEFORE ? 1 : 2;
201
- const selector = `:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${tab.index + tabOffset})`;
202
- tabEl = document.getElementById(id)?.querySelector(selector);
203
- if (tabEl) {
204
- if (_shiftedTab === null || _shiftedTab !== tabEl) {
205
- tabEl.style.cssText = cssShiftRight;
206
- if (_shiftedTab) {
207
- _shiftedTab.style.cssText = cssShiftBack;
208
- }
209
- _shiftedTab = tabEl;
210
- }
211
- } else {
212
- clearShiftedTab();
213
- }
214
- } else if (tab?.positionRelativeToTab === BEFORE) {
215
- if (_shiftedTab === null) {
216
- const selector = ".vuuHeader-title";
217
- tabEl = document.getElementById(id)?.querySelector(selector);
218
- tabEl.style.cssText = cssShiftRight;
219
- _shiftedTab = tabEl;
220
- }
221
- } else {
222
- clearShiftedTab();
223
- }
224
- }
225
- function clearShiftedTab() {
226
- if (_shiftedTab) {
227
- _shiftedTab.style.cssText = cssShiftBack;
228
- _shiftedTab = null;
229
- }
230
- }
231
-
232
- module.exports = DropTargetCanvas;
233
- //# sourceMappingURL=DropTargetRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropTargetRenderer.js","sources":["../../src/drag-drop/DropTargetRenderer.tsx"],"sourcesContent":["import { PopupService } from \"@vuu-ui/vuu-popups\";\nimport { RelativeDropPosition } from \"./BoxModel\";\nimport { DragDropRect } from \"./dragDropTypes\";\nimport { DragState } from \"./DragState\";\nimport { computeMenuPosition, DropMenu } from \"./DropMenu\";\nimport { DropTarget, GuideLine } from \"./DropTarget\";\n\nimport \"./DropTargetRenderer.css\";\n\ntype Point = [number, number];\ntype TabMode = \"full-view\" | \"tab-only\";\n\nlet _multiDropOptions = false;\nlet _hoverDropTarget: DropTarget | null = null;\nlet _shiftedTab: HTMLElement | null = null;\n\nconst onHoverDropTarget = (dropTarget: DropTarget | null) =>\n (_hoverDropTarget = dropTarget);\n\nconst start = ([x, y]: Point) => `M${x},${y}`;\nconst point = ([x, y]: Point) => `L${x},${y}`;\nconst pathFromPoints = ([p1, ...points]: Point[]) =>\n `${start(p1)} ${points.map(point)}Z`;\n\nconst pathFromGuideLines = (guideLines?: GuideLine) => {\n if (guideLines) {\n const [x1, y1, x2, y2, x3, y3, x4, y4] = guideLines;\n return `M${x1},${y1} L${x2},${y2} M${x3},${y3} L${x4},${y4}`;\n } else {\n return \"\";\n }\n};\n\nfunction insertSVGRoot() {\n if (document.getElementById(\"hw-drag-canvas\") === null) {\n const root = document.getElementById(\"root\");\n const container = document.createElement(\"div\");\n container.id = \"hw-drag-canvas\";\n container.innerHTML = `\n <svg width=\"100%\" height=\"100%\">\n <path id=\"hw-drop-guides\" />\n <path\n id=\"vuu-drop-outline\"\n d=\"M300,132 L380,132 L380,100 L460,100 L460,132, L550,132 L550,350 L300,350z\">\n <animate\n attributeName=\"d\"\n id=\"hw-drop-outline-animate\"\n begin=\"indefinite\"\n dur=\"300ms\"\n fill=\"freeze\"\n to=\"M255,33 L255,33,L255,1,L315,1,L315,1,L794,1,L794,164,L255,164Z\"\n />\n </path>\n </svg>\n `;\n document.body.insertBefore(container, root);\n }\n}\nexport default class DropTargetCanvas {\n private currentPath: string | null = null;\n private tabMode: TabMode | null = null;\n\n constructor() {\n insertSVGRoot();\n }\n\n prepare(dragRect: DragDropRect, tabMode: TabMode = \"full-view\") {\n // don't do this on body\n document.body.classList.add(\"drawing\");\n this.currentPath = null;\n this.tabMode = tabMode;\n\n const points = this.getPoints(0, 0, 0, 0);\n // const points = this.getPoints(left, top, width, height);\n const d = pathFromPoints(points);\n\n const dropOutlinePath = document.getElementById(\"vuu-drop-outline\");\n dropOutlinePath?.setAttribute(\"d\", d);\n this.currentPath = d;\n }\n\n clear() {\n // don't do this on body\n _hoverDropTarget = null;\n clearShiftedTab();\n document.body.classList.remove(\"drawing\");\n PopupService.hidePopup();\n }\n\n get hoverDropTarget() {\n return _hoverDropTarget;\n }\n\n getPoints(\n x: number,\n y: number,\n width: number,\n height: number,\n tabLeft = 0,\n tabWidth = 0,\n tabHeight = 0\n ): Point[] {\n const tabOnly = this.tabMode === \"tab-only\";\n if (tabWidth === 0) {\n return [\n [x, y + tabHeight],\n [x, y + tabHeight],\n [x, y],\n [x + tabWidth, y],\n [x + tabWidth, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height],\n ];\n } else if (tabOnly) {\n const left = tabLeft;\n return [\n [left, y],\n [left, y],\n [left + tabWidth, y],\n [left + tabWidth, y],\n [left + tabWidth, y + tabHeight],\n [left + tabWidth, y + tabHeight],\n [left, y + tabHeight],\n [left, y + tabHeight],\n ];\n } else if (tabLeft === 0) {\n return [\n [x, y + tabHeight],\n [x, y + tabHeight],\n [x, y],\n [x + tabWidth, y],\n [x + tabWidth, y + tabHeight],\n [x + width, y + tabHeight],\n [x + width, y + height],\n [x, y + height],\n ];\n } else {\n return [\n [x, y + tabHeight],\n [x + tabLeft, y + tabHeight],\n [x + tabLeft, y],\n [x + tabLeft, y],\n [x + tabLeft, y + tabHeight],\n [x + width, y + tabHeight],\n [x + width, y + height],\n [x, y + height],\n ];\n }\n }\n\n draw(dropTarget: DropTarget, dragState: DragState) {\n const sameDropTarget = false;\n const wasMultiDrop = _multiDropOptions;\n\n if (_hoverDropTarget !== null) {\n this.drawTarget(_hoverDropTarget);\n } else {\n if (sameDropTarget === false) {\n _multiDropOptions = dropTarget.nextDropTarget != null;\n if (dropTarget.pos.tab) {\n moveExistingTabs(dropTarget);\n } else if (_shiftedTab) {\n clearShiftedTab();\n }\n this.drawTarget(dropTarget, dragState);\n }\n\n if (_multiDropOptions) {\n const [left, top, orientation] = computeMenuPosition(dropTarget);\n if (!wasMultiDrop || !sameDropTarget) {\n const component = (\n <DropMenu\n dropTarget={dropTarget}\n onHover={onHoverDropTarget}\n orientation={orientation}\n />\n );\n PopupService.showPopup({\n left,\n top,\n component,\n });\n }\n } else {\n PopupService.hidePopup();\n }\n }\n }\n\n drawTarget(dropTarget: DropTarget, dragState?: DragState) {\n const lineWidth = 6;\n\n const targetDropOutline = dropTarget.getTargetDropOutline(\n lineWidth,\n dragState\n );\n\n if (targetDropOutline) {\n const { l, t, r, b, tabLeft, tabWidth, tabHeight, guideLines } =\n targetDropOutline;\n const w = r - l;\n const h = b - t;\n\n if (this.currentPath) {\n const path = document.getElementById(\"vuu-drop-outline\");\n path?.setAttribute(\"d\", this.currentPath);\n }\n\n const points = this.getPoints(l, t, w, h, tabLeft, tabWidth, tabHeight);\n const path = pathFromPoints(points);\n const animation = document.getElementById(\n \"hw-drop-outline-animate\"\n ) as unknown as SVGAnimateElement;\n animation?.setAttribute(\"to\", path);\n animation?.beginElement();\n this.currentPath = path;\n\n const dropGuidePath = document.getElementById(\"hw-drop-guides\");\n dropGuidePath?.setAttribute(\"d\", pathFromGuideLines(guideLines));\n }\n }\n}\n\nconst cssShiftRight = \"transition:margin-left .4s ease-out;margin-left: 63px\";\nconst cssShiftBack = \"transition:margin-left .4s ease-out;margin-left: 0px\";\n\nfunction moveExistingTabs(dropTarget: DropTarget) {\n const { AFTER, BEFORE } = RelativeDropPosition;\n const {\n clientRect: { Stack },\n pos: {\n // tab: { index: tabIndex, positionRelativeToTab }\n tab,\n },\n } = dropTarget;\n\n const { id } = dropTarget.component.props;\n let tabEl = null;\n // console.log(`tabPos = ${tabPos} (width=${tabWidth}) x=${x}`)\n if (Stack && tab && tab.positionRelativeToTab !== AFTER) {\n const tabOffset = tab.positionRelativeToTab === BEFORE ? 1 : 2;\n const selector = `:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${\n tab.index + tabOffset\n })`;\n tabEl = document.getElementById(id)?.querySelector(selector) as HTMLElement;\n if (tabEl) {\n if (_shiftedTab === null || _shiftedTab !== tabEl) {\n tabEl.style.cssText = cssShiftRight;\n if (_shiftedTab) {\n _shiftedTab.style.cssText = cssShiftBack;\n }\n _shiftedTab = tabEl;\n }\n } else {\n clearShiftedTab();\n }\n } else if (tab?.positionRelativeToTab === BEFORE) {\n if (_shiftedTab === null) {\n const selector = \".vuuHeader-title\";\n tabEl = document\n .getElementById(id)\n ?.querySelector(selector) as HTMLElement;\n tabEl.style.cssText = cssShiftRight;\n _shiftedTab = tabEl;\n }\n } else {\n clearShiftedTab();\n }\n}\n\nfunction clearShiftedTab() {\n if (_shiftedTab) {\n _shiftedTab.style.cssText = cssShiftBack;\n _shiftedTab = null;\n }\n}\n"],"names":["PopupService","computeMenuPosition","jsx","DropMenu","path","RelativeDropPosition"],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- :root {
2
- --hw-space-unit: 4px;
3
- --hw-flex-gap: 3;
4
- --hw-fluid-grid-col-bg: rgba(200, 200, 200, 0.3);
5
- }
6
-
7
- .hwFlexbox {
8
- background-color: var(--container1-background);
9
- box-sizing: border-box;
10
- display: flex;
11
- gap: calc(var(--spacing) * var(--space));
12
- min-height: 0;
13
- min-width: 0;
14
- overflow: hidden;
15
- }
16
-
17
- .hwFlexbox-column {
18
- flex-direction: column;
19
- }
20
-
21
- .hwFlexbox-row {
22
- flex-direction: row;
23
- }
24
-
25
- .hwFlexbox > .Splitter {
26
- flex-basis: auto;
27
- flex-grow: 0;
28
- flex-shrink: 0;
29
- }
30
-
31
- .hwFlexbox.full-page {
32
- height: 100vh;
33
- width: 100vw;
34
- }
35
-
36
- .flex-fill {
37
- border-color: red;
38
- flex: 0;
39
- flex-grow: 1;
40
- flex-shrink: 1;
41
- }
42
-
43
- .vuuView.flex-fill {
44
- border-color: red;
45
- }
@@ -1,61 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var core = require('@salt-ds/core');
5
- var cx = require('clsx');
6
- var React = require('react');
7
- var useSplitterResizing = require('./useSplitterResizing.js');
8
-
9
- const classBase = "hwFlexbox";
10
- const Flexbox = React.forwardRef(function Flexbox2(props, ref) {
11
- const {
12
- breakPoints,
13
- children,
14
- // cols: colsProp,
15
- column,
16
- className: classNameProp,
17
- flexFill,
18
- gap,
19
- fullPage,
20
- id,
21
- onSplitterMoved,
22
- resizeable,
23
- row,
24
- spacing,
25
- splitterSize,
26
- style,
27
- ...rest
28
- } = props;
29
- const { content, rootRef } = useSplitterResizing.useSplitterResizing({
30
- children,
31
- // cols: colsProp,
32
- onSplitterMoved,
33
- style
34
- });
35
- const className = cx(classBase, classNameProp, {
36
- [`${classBase}-column`]: column,
37
- [`${classBase}-row`]: row,
38
- "flex-fill": flexFill,
39
- "full-page": fullPage
40
- });
41
- return /* @__PURE__ */ jsxRuntime.jsx(
42
- "div",
43
- {
44
- ...rest,
45
- className,
46
- "data-resizeable": resizeable || void 0,
47
- id,
48
- ref: core.useForkRef(rootRef, ref),
49
- style: {
50
- ...style,
51
- gap,
52
- "--spacing": spacing
53
- },
54
- children: content
55
- }
56
- );
57
- });
58
- Flexbox.displayName = "Flexbox";
59
-
60
- module.exports = Flexbox;
61
- //# sourceMappingURL=Flexbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Flexbox.js","sources":["../../src/flexbox/Flexbox.tsx"],"sourcesContent":["import { useForkRef } from \"@salt-ds/core\";\nimport cx from \"clsx\";\nimport { CSSProperties, ForwardedRef, forwardRef } from \"react\";\nimport { FlexboxProps } from \"./flexboxTypes\";\nimport { useSplitterResizing } from \"./useSplitterResizing\";\n\nimport \"./Flexbox.css\";\n\nconst classBase = \"hwFlexbox\";\n\nconst Flexbox = forwardRef(function Flexbox(\n props: FlexboxProps,\n ref: ForwardedRef<HTMLDivElement>\n) {\n const {\n breakPoints,\n children,\n // cols: colsProp,\n column,\n className: classNameProp,\n flexFill,\n gap,\n fullPage,\n id,\n onSplitterMoved,\n resizeable,\n row,\n spacing,\n splitterSize,\n style,\n ...rest\n } = props;\n\n const { content, rootRef } = useSplitterResizing({\n children,\n // cols: colsProp,\n onSplitterMoved,\n style,\n });\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-column`]: column,\n [`${classBase}-row`]: row,\n \"flex-fill\": flexFill,\n \"full-page\": fullPage,\n });\n\n return (\n <div\n {...rest}\n className={className}\n // data-cols={cols}\n data-resizeable={resizeable || undefined}\n id={id}\n ref={useForkRef(rootRef, ref)}\n style={\n {\n ...style,\n gap,\n \"--spacing\": spacing,\n } as CSSProperties\n }\n >\n {content}\n </div>\n );\n});\nFlexbox.displayName = \"Flexbox\";\n\nexport default Flexbox;\n"],"names":["forwardRef","Flexbox","useSplitterResizing","jsx","useForkRef"],"mappings":";;;;;;;;AAQA,MAAM,SAAY,GAAA,WAAA,CAAA;AAElB,MAAM,OAAU,GAAAA,gBAAA,CAAW,SAASC,QAAAA,CAClC,OACA,GACA,EAAA;AACA,EAAM,MAAA;AAAA,IACJ,WAAA;AAAA,IACA,QAAA;AAAA;AAAA,IAEA,MAAA;AAAA,IACA,SAAW,EAAA,aAAA;AAAA,IACX,QAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,EAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,OAAA,EAAS,OAAQ,EAAA,GAAIC,uCAAoB,CAAA;AAAA,IAC/C,QAAA;AAAA;AAAA,IAEA,eAAA;AAAA,IACA,KAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,SAAA,GAAY,EAAG,CAAA,SAAA,EAAW,aAAe,EAAA;AAAA,IAC7C,CAAC,CAAA,EAAG,SAAS,CAAA,OAAA,CAAS,GAAG,MAAA;AAAA,IACzB,CAAC,CAAA,EAAG,SAAS,CAAA,IAAA,CAAM,GAAG,GAAA;AAAA,IACtB,WAAa,EAAA,QAAA;AAAA,IACb,WAAa,EAAA,QAAA;AAAA,GACd,CAAA,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA;AAAA,MAEA,mBAAiB,UAAc,IAAA,KAAA,CAAA;AAAA,MAC/B,EAAA;AAAA,MACA,GAAA,EAAKC,eAAW,CAAA,OAAA,EAAS,GAAG,CAAA;AAAA,MAC5B,KACE,EAAA;AAAA,QACE,GAAG,KAAA;AAAA,QACH,GAAA;AAAA,QACA,WAAa,EAAA,OAAA;AAAA,OACf;AAAA,MAGD,QAAA,EAAA,OAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,EAAA;AACD,OAAA,CAAQ,WAAc,GAAA,SAAA;;;;"}
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var layoutAction = require('../layout-action.js');
6
- var LayoutProvider = require('../layout-provider/LayoutProvider.js');
7
- require('../layout-provider/LayoutProviderContext.js');
8
- var ComponentRegistry = require('../registry/ComponentRegistry.js');
9
- var Flexbox = require('./Flexbox.js');
10
-
11
- const FlexboxLayout = function FlexboxLayout2(props) {
12
- const { path } = props;
13
- const dispatch = LayoutProvider.useLayoutProviderDispatch();
14
- const handleSplitterMoved = React.useCallback(
15
- (sizes) => {
16
- dispatch({
17
- type: layoutAction.Action.SPLITTER_RESIZE,
18
- path,
19
- sizes
20
- });
21
- },
22
- [dispatch, path]
23
- );
24
- return /* @__PURE__ */ jsxRuntime.jsx(Flexbox, { ...props, onSplitterMoved: handleSplitterMoved });
25
- };
26
- FlexboxLayout.displayName = "Flexbox";
27
- ComponentRegistry.registerComponent("Flexbox", FlexboxLayout, "container");
28
-
29
- exports.FlexboxLayout = FlexboxLayout;
30
- //# sourceMappingURL=FlexboxLayout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlexboxLayout.js","sources":["../../src/flexbox/FlexboxLayout.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { Action } from \"../layout-action\";\nimport { useLayoutProviderDispatch } from \"../layout-provider\";\nimport { SplitterResizeAction } from \"../layout-reducer\";\nimport { registerComponent } from \"../registry/ComponentRegistry\";\nimport Flexbox from \"./Flexbox\";\nimport { FlexboxLayoutProps } from \"./flexboxTypes\";\n\nexport const FlexboxLayout = function FlexboxLayout(props: FlexboxLayoutProps) {\n const { path } = props;\n const dispatch = useLayoutProviderDispatch();\n\n const handleSplitterMoved = useCallback(\n (sizes) => {\n dispatch({\n type: Action.SPLITTER_RESIZE,\n path,\n sizes,\n } as SplitterResizeAction);\n },\n [dispatch, path]\n );\n\n return <Flexbox {...props} onSplitterMoved={handleSplitterMoved} />;\n};\nFlexboxLayout.displayName = \"Flexbox\";\n\nregisterComponent(\"Flexbox\", FlexboxLayout, \"container\");\n"],"names":["FlexboxLayout","useLayoutProviderDispatch","useCallback","Action","jsx","registerComponent"],"mappings":";;;;;;;;;;AAQa,MAAA,aAAA,GAAgB,SAASA,cAAAA,CAAc,KAA2B,EAAA;AAC7E,EAAM,MAAA,EAAE,MAAS,GAAA,KAAA,CAAA;AACjB,EAAA,MAAM,WAAWC,wCAA0B,EAAA,CAAA;AAE3C,EAAA,MAAM,mBAAsB,GAAAC,iBAAA;AAAA,IAC1B,CAAC,KAAU,KAAA;AACT,MAAS,QAAA,CAAA;AAAA,QACP,MAAMC,mBAAO,CAAA,eAAA;AAAA,QACb,IAAA;AAAA,QACA,KAAA;AAAA,OACuB,CAAA,CAAA;AAAA,KAC3B;AAAA,IACA,CAAC,UAAU,IAAI,CAAA;AAAA,GACjB,CAAA;AAEA,EAAA,uBAAQC,cAAA,CAAA,OAAA,EAAA,EAAS,GAAG,KAAA,EAAO,iBAAiB,mBAAqB,EAAA,CAAA,CAAA;AACnE,EAAA;AACA,aAAA,CAAc,WAAc,GAAA,SAAA,CAAA;AAE5BC,mCAAkB,CAAA,SAAA,EAAW,eAAe,WAAW,CAAA;;;;"}
@@ -1,134 +0,0 @@
1
- :root {
2
- --hw-space-unit: 4px;
3
- --hw-fluid-grid-col-bg: rgba(252, 209, 232, 0.7);
4
- }
5
-
6
- .hwFluidGrid {
7
- --gap: var(--gutter-width);
8
-
9
- display: flex;
10
- gap: calc(var(--grid-gap) * var(--hw-space-unit));
11
- flex-wrap: wrap;
12
- padding: 0;
13
- }
14
-
15
- .hwFluidGrid > * {
16
- --gutter-width: calc(var(--hw-flex-gap) * var(--hw-space-unit));
17
- --gutter-count: calc(var(--parent-col-count) - 1);
18
- --total-gutter-width: calc(var(--gutter-count) * var(--gutter-width));
19
- --available-width: calc(100% - var(--total-gutter-width));
20
-
21
- flex-basis: 0;
22
- flex-grow: 1;
23
- flex-shrink: 1;
24
- position: relative;
25
- }
26
-
27
- .hwFluidGrid > *:after {
28
- content: '';
29
- position: absolute;
30
- top: 0;
31
- left: 0;
32
- right: 0;
33
- bottom: 0;
34
- border: dashed 2px blue;
35
- }
36
-
37
- .hwFluidGrid > [data-xs] {
38
- --internal-gutter-count: calc(var(--col-span) - 1);
39
- --percent-width: calc(var(--col-span) / var(--parent-col-count));
40
- --internal-gutter-width: calc(var(--internal-gutter-count) * var(--gutter-width));
41
- flex-basis: calc(var(--available-width) * var(--percent-width) + var(--internal-gutter-width));
42
- flex-grow: 0;
43
- }
44
-
45
- .hwFluidGrid > [data-xs='1'] {
46
- --col-span: 1;
47
- }
48
- .hwFluidGrid > [data-xs='2'] {
49
- --col-span: 2;
50
- }
51
- .hwFluidGrid > [data-xs='3'] {
52
- --col-span: 3;
53
- }
54
-
55
- .hwFluidGrid > [data-xs='4'] {
56
- --col-span: 4;
57
- }
58
-
59
- .hwFluidGrid > [data-xs='6'] {
60
- --col-span: 6;
61
- }
62
-
63
- .hwFluidGrid > [data-xs='8'] {
64
- --col-span: 8;
65
- }
66
-
67
- .hwFluidGrid > [data-xs='9'] {
68
- --col-span: 9;
69
- }
70
- .hwFluidGrid > [data-xs='10'] {
71
- --col-span: 10;
72
- }
73
- .hwFluidGrid > [data-xs='11'] {
74
- --col-span: 11;
75
- }
76
-
77
- .hwFluidGrid > [data-xs='12'] {
78
- --col-span: 12;
79
- }
80
-
81
- @media (min-width: 600px) {
82
- .hwFluidGrid > [data-sm='1'] {
83
- --col-span: 1;
84
- }
85
- .hwFluidGrid > [data-sm='2'] {
86
- --col-span: 2;
87
- }
88
-
89
- .hwFluidGrid > [data-sm='3'] {
90
- --col-span: 3;
91
- }
92
-
93
- .hwFluidGrid > [data-sm='4'] {
94
- --col-span: 4;
95
- }
96
-
97
- .hwFluidGrid > [data-sm='6'] {
98
- --col-span: 6;
99
- }
100
-
101
- .hwFluidGrid > [data-sm='8'] {
102
- --col-span: 8;
103
- }
104
- .hwFluidGrid > [data-sm='9'] {
105
- --col-span: 9;
106
- }
107
- .hwFluidGrid > [data-sm='10'] {
108
- --col-span: 10;
109
- }
110
- .hwFluidGrid > [data-sm='11'] {
111
- --col-span: 11;
112
- }
113
- .hwFluidGrid > [data-sm='12'] {
114
- --col-span: 12;
115
- }
116
- }
117
-
118
- /* Display the grid background */
119
-
120
- .hwFluidGrid-show-grid {
121
- --gutter-width: calc(var(--hw-flex-gap) * var(--hw-space-unit));
122
- --grid-gutter-count: calc(var(--grid-col-count, var(--parent-col-count)) - 1);
123
- --grid-total-gutter-width: calc(var(--grid-gutter-count) * var(--gutter-width));
124
- --grid-available-width: calc(100% - var(--grid-total-gutter-width));
125
- --grid-percent-width: calc(1 / var(--grid-col-count, var(--parent-col-count)));
126
- --column-width: calc(var(--grid-available-width) * var(--grid-percent-width));
127
- background: repeating-linear-gradient(
128
- to right,
129
- var(--hw-fluid-grid-col-bg) 0,
130
- var(--hw-fluid-grid-col-bg) var(--column-width),
131
- white var(--column-width),
132
- white calc(var(--column-width) + var(--gutter-width))
133
- );
134
- }
@@ -1,78 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var vuuUtils = require('@vuu-ui/vuu-utils');
5
- var core = require('@salt-ds/core');
6
- var cx = require('clsx');
7
- var React = require('react');
8
- var useBreakpoints = require('../responsive/use-breakpoints.js');
9
- require('../responsive/useResizeObserver.js');
10
- var useResponsiveSizing = require('./useResponsiveSizing.js');
11
-
12
- const classBase = "hwFluidGrid";
13
- const FluidGrid = React.forwardRef(function FluidGrid2(props, ref) {
14
- const {
15
- breakPoints,
16
- children: childrenProp,
17
- column,
18
- cols: colsProp = 12,
19
- className: classNameProp,
20
- flexFill,
21
- gap = 3,
22
- fullPage,
23
- id,
24
- onSplitterMoved,
25
- resizeable,
26
- row,
27
- showGrid,
28
- spacing,
29
- splitterSize,
30
- style: styleProp,
31
- ...rest
32
- } = props;
33
- const children = React.useMemo(() => {
34
- return vuuUtils.asReactElements(childrenProp);
35
- }, [childrenProp]);
36
- const { cols, content, rootRef } = useResponsiveSizing.useResponsiveSizing({
37
- children,
38
- cols: colsProp,
39
- style: styleProp
40
- });
41
- const breakpoint = useBreakpoints.useBreakpoints(
42
- {
43
- breakPoints
44
- },
45
- rootRef
46
- );
47
- const className = cx(classBase, classNameProp, {
48
- [`${classBase}-column`]: column,
49
- [`${classBase}-row`]: row,
50
- [`${classBase}-show-grid`]: showGrid,
51
- "flex-fill": flexFill,
52
- "full-page": fullPage
53
- });
54
- const style = {
55
- ...styleProp,
56
- "--spacing": spacing,
57
- "--grid-col-count": cols,
58
- "--grid-gap": gap
59
- };
60
- return /* @__PURE__ */ jsxRuntime.jsx(
61
- "div",
62
- {
63
- ...rest,
64
- className,
65
- "data-breakpoint": breakpoint,
66
- "data-cols": cols,
67
- "data-resizeable": resizeable || void 0,
68
- id,
69
- ref: core.useForkRef(rootRef, ref),
70
- style,
71
- children: content
72
- }
73
- );
74
- });
75
- FluidGrid.displayName = "FluidGrid";
76
-
77
- exports.FluidGrid = FluidGrid;
78
- //# sourceMappingURL=FluidGrid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FluidGrid.js","sources":["../../src/flexbox/FluidGrid.tsx"],"sourcesContent":["import { asReactElements } from \"@vuu-ui/vuu-utils\";\nimport { useForkRef } from \"@salt-ds/core\";\nimport cx from \"clsx\";\nimport { ForwardedRef, forwardRef, useMemo } from \"react\";\nimport { useBreakpoints } from \"../responsive\";\nimport { FlexboxProps } from \"./flexboxTypes\";\nimport \"./FluidGrid.css\";\nimport { useResponsiveSizing } from \"./useResponsiveSizing\";\n\nconst classBase = \"hwFluidGrid\";\n\nexport interface FluidGridProps extends FlexboxProps {\n showGrid?: boolean;\n}\n\nexport const FluidGrid = forwardRef(function FluidGrid(\n props: FluidGridProps,\n ref: ForwardedRef<HTMLDivElement>\n) {\n const {\n breakPoints,\n children: childrenProp,\n column,\n cols: colsProp = 12,\n className: classNameProp,\n flexFill,\n gap = 3,\n fullPage,\n id,\n onSplitterMoved,\n resizeable,\n row,\n showGrid,\n spacing,\n splitterSize,\n style: styleProp,\n ...rest\n } = props;\n\n //TODO does thie useMemo serve any actual purpose or will childrenProp\n // always be new anyway ?\n const children = useMemo(() => {\n return asReactElements(childrenProp);\n }, [childrenProp]);\n\n const { cols, content, rootRef } = useResponsiveSizing({\n children,\n cols: colsProp,\n style: styleProp,\n });\n\n const breakpoint = useBreakpoints(\n {\n breakPoints,\n },\n rootRef\n );\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-column`]: column,\n [`${classBase}-row`]: row,\n [`${classBase}-show-grid`]: showGrid,\n \"flex-fill\": flexFill,\n \"full-page\": fullPage,\n });\n\n const style = {\n ...styleProp,\n \"--spacing\": spacing,\n \"--grid-col-count\": cols,\n \"--grid-gap\": gap,\n };\n\n return (\n <div\n {...rest}\n className={className}\n data-breakpoint={breakpoint}\n data-cols={cols}\n data-resizeable={resizeable || undefined}\n id={id}\n ref={useForkRef(rootRef, ref)}\n style={style}\n >\n {content}\n </div>\n );\n});\nFluidGrid.displayName = \"FluidGrid\";\n"],"names":["forwardRef","FluidGrid","useMemo","asReactElements","useResponsiveSizing","useBreakpoints","jsx","useForkRef"],"mappings":";;;;;;;;;;;AASA,MAAM,SAAY,GAAA,aAAA,CAAA;AAMX,MAAM,SAAY,GAAAA,gBAAA,CAAW,SAASC,UAAAA,CAC3C,OACA,GACA,EAAA;AACA,EAAM,MAAA;AAAA,IACJ,WAAA;AAAA,IACA,QAAU,EAAA,YAAA;AAAA,IACV,MAAA;AAAA,IACA,MAAM,QAAW,GAAA,EAAA;AAAA,IACjB,SAAW,EAAA,aAAA;AAAA,IACX,QAAA;AAAA,IACA,GAAM,GAAA,CAAA;AAAA,IACN,QAAA;AAAA,IACA,EAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAO,EAAA,SAAA;AAAA,IACP,GAAG,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAIJ,EAAM,MAAA,QAAA,GAAWC,cAAQ,MAAM;AAC7B,IAAA,OAAOC,yBAAgB,YAAY,CAAA,CAAA;AAAA,GACrC,EAAG,CAAC,YAAY,CAAC,CAAA,CAAA;AAEjB,EAAA,MAAM,EAAE,IAAA,EAAM,OAAS,EAAA,OAAA,KAAYC,uCAAoB,CAAA;AAAA,IACrD,QAAA;AAAA,IACA,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA,SAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,MAAM,UAAa,GAAAC,6BAAA;AAAA,IACjB;AAAA,MACE,WAAA;AAAA,KACF;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,SAAA,GAAY,EAAG,CAAA,SAAA,EAAW,aAAe,EAAA;AAAA,IAC7C,CAAC,CAAA,EAAG,SAAS,CAAA,OAAA,CAAS,GAAG,MAAA;AAAA,IACzB,CAAC,CAAA,EAAG,SAAS,CAAA,IAAA,CAAM,GAAG,GAAA;AAAA,IACtB,CAAC,CAAA,EAAG,SAAS,CAAA,UAAA,CAAY,GAAG,QAAA;AAAA,IAC5B,WAAa,EAAA,QAAA;AAAA,IACb,WAAa,EAAA,QAAA;AAAA,GACd,CAAA,CAAA;AAED,EAAA,MAAM,KAAQ,GAAA;AAAA,IACZ,GAAG,SAAA;AAAA,IACH,WAAa,EAAA,OAAA;AAAA,IACb,kBAAoB,EAAA,IAAA;AAAA,IACpB,YAAc,EAAA,GAAA;AAAA,GAChB,CAAA;AAEA,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA;AAAA,MACA,iBAAiB,EAAA,UAAA;AAAA,MACjB,WAAW,EAAA,IAAA;AAAA,MACX,mBAAiB,UAAc,IAAA,KAAA,CAAA;AAAA,MAC/B,EAAA;AAAA,MACA,GAAA,EAAKC,eAAW,CAAA,OAAA,EAAS,GAAG,CAAA;AAAA,MAC5B,KAAA;AAAA,MAEC,QAAA,EAAA,OAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,EAAA;AACD,SAAA,CAAU,WAAc,GAAA,WAAA;;;;"}