@vuu-ui/vuu-layout 0.5.4 → 0.5.6

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 (147) hide show
  1. package/README.md +1 -0
  2. package/cjs/index.js +4 -7379
  3. package/cjs/index.js.map +7 -0
  4. package/esm/index.js +20 -0
  5. package/esm/index.js.map +7 -0
  6. package/index.css +1 -951
  7. package/index.css.map +3 -3
  8. package/package.json +5 -9
  9. package/src/Component.css +0 -2
  10. package/src/Component.tsx +0 -20
  11. package/src/DraggableLayout.css +0 -18
  12. package/src/DraggableLayout.tsx +0 -29
  13. package/src/__tests__/flexbox-utils.spec.js +0 -90
  14. package/src/action-buttons/index.ts +0 -1
  15. package/src/chest-of-drawers/Chest.css +0 -36
  16. package/src/chest-of-drawers/Chest.tsx +0 -42
  17. package/src/chest-of-drawers/Drawer.css +0 -159
  18. package/src/chest-of-drawers/Drawer.tsx +0 -118
  19. package/src/chest-of-drawers/index.ts +0 -2
  20. package/src/common-types.ts +0 -9
  21. package/src/debug.ts +0 -16
  22. package/src/dialog/Dialog.css +0 -16
  23. package/src/dialog/Dialog.tsx +0 -59
  24. package/src/dialog/index.ts +0 -1
  25. package/src/drag-drop/BoxModel.ts +0 -546
  26. package/src/drag-drop/DragState.ts +0 -222
  27. package/src/drag-drop/Draggable.ts +0 -282
  28. package/src/drag-drop/DropMenu.css +0 -71
  29. package/src/drag-drop/DropMenu.tsx +0 -61
  30. package/src/drag-drop/DropTarget.ts +0 -392
  31. package/src/drag-drop/DropTargetRenderer.css +0 -40
  32. package/src/drag-drop/DropTargetRenderer.tsx +0 -279
  33. package/src/drag-drop/dragDropTypes.ts +0 -49
  34. package/src/drag-drop/index.ts +0 -4
  35. package/src/editable-label/EditableLabel.css +0 -28
  36. package/src/editable-label/EditableLabel.tsx +0 -99
  37. package/src/editable-label/index.ts +0 -1
  38. package/src/flexbox/Flexbox.css +0 -45
  39. package/src/flexbox/Flexbox.tsx +0 -70
  40. package/src/flexbox/FlexboxLayout.jsx +0 -26
  41. package/src/flexbox/FluidGrid.css +0 -134
  42. package/src/flexbox/FluidGrid.tsx +0 -84
  43. package/src/flexbox/FluidGridLayout.tsx +0 -10
  44. package/src/flexbox/Splitter.css +0 -140
  45. package/src/flexbox/Splitter.tsx +0 -135
  46. package/src/flexbox/flexbox-utils.ts +0 -128
  47. package/src/flexbox/flexboxTypes.ts +0 -63
  48. package/src/flexbox/index.ts +0 -4
  49. package/src/flexbox/useResponsiveSizing.ts +0 -85
  50. package/src/flexbox/useSplitterResizing.ts +0 -272
  51. package/src/index.ts +0 -21
  52. package/src/layout-action.ts +0 -21
  53. package/src/layout-header/ActionButton.tsx +0 -23
  54. package/src/layout-header/Header.css +0 -8
  55. package/src/layout-header/Header.tsx +0 -222
  56. package/src/layout-header/index.ts +0 -1
  57. package/src/layout-provider/LayoutProvider.tsx +0 -160
  58. package/src/layout-provider/LayoutProviderContext.ts +0 -17
  59. package/src/layout-provider/index.ts +0 -2
  60. package/src/layout-provider/useLayoutDragDrop.ts +0 -241
  61. package/src/layout-reducer/flexUtils.ts +0 -281
  62. package/src/layout-reducer/index.ts +0 -4
  63. package/src/layout-reducer/insert-layout-element.ts +0 -365
  64. package/src/layout-reducer/layout-reducer.ts +0 -255
  65. package/src/layout-reducer/layoutTypes.ts +0 -151
  66. package/src/layout-reducer/layoutUtils.ts +0 -302
  67. package/src/layout-reducer/remove-layout-element.ts +0 -240
  68. package/src/layout-reducer/replace-layout-element.ts +0 -118
  69. package/src/layout-reducer/resize-flex-children.ts +0 -56
  70. package/src/layout-reducer/wrap-layout-element.ts +0 -317
  71. package/src/layout-view/View.css +0 -61
  72. package/src/layout-view/View.tsx +0 -149
  73. package/src/layout-view/ViewContext.ts +0 -31
  74. package/src/layout-view/index.ts +0 -4
  75. package/src/layout-view/useView.tsx +0 -104
  76. package/src/layout-view/useViewActionDispatcher.ts +0 -133
  77. package/src/layout-view/useViewResize.ts +0 -53
  78. package/src/layout-view/viewTypes.ts +0 -37
  79. package/src/menu/ContextMenu.css +0 -22
  80. package/src/menu/ContextMenu.jsx +0 -121
  81. package/src/menu/MenuList.css +0 -150
  82. package/src/menu/MenuList.jsx +0 -179
  83. package/src/menu/aim/aim.js +0 -92
  84. package/src/menu/aim/corners.js +0 -114
  85. package/src/menu/aim/point-in-polygon.js +0 -25
  86. package/src/menu/aim/utils.js +0 -19
  87. package/src/menu/context-menu-provider.jsx +0 -135
  88. package/src/menu/index.js +0 -4
  89. package/src/menu/key-code.js +0 -61
  90. package/src/menu/list-dom-utils.js +0 -22
  91. package/src/menu/use-cascade.js +0 -292
  92. package/src/menu/use-click-away.js +0 -22
  93. package/src/menu/use-items-with-ids.js +0 -75
  94. package/src/menu/use-keyboard-navigation.js +0 -162
  95. package/src/menu/utils.js +0 -5
  96. package/src/palette/Palette.css +0 -37
  97. package/src/palette/Palette.tsx +0 -140
  98. package/src/palette/PaletteSalt.css +0 -9
  99. package/src/palette/PaletteSalt.tsx +0 -79
  100. package/src/palette/index.ts +0 -2
  101. package/src/placeholder/Placeholder.css +0 -10
  102. package/src/placeholder/Placeholder.tsx +0 -39
  103. package/src/placeholder/index.ts +0 -1
  104. package/src/popup/index.js +0 -2
  105. package/src/popup/popup-provider.js +0 -0
  106. package/src/popup/popup-service.css +0 -15
  107. package/src/popup/popup-service.js +0 -281
  108. package/src/portal/Portal.jsx +0 -50
  109. package/src/portal/index.ts +0 -3
  110. package/src/portal/render-portal.jsx +0 -68
  111. package/src/portal/utils.js +0 -16
  112. package/src/registry/ComponentRegistry.ts +0 -35
  113. package/src/registry/index.ts +0 -1
  114. package/src/responsive/OverflowMenu.css +0 -31
  115. package/src/responsive/OverflowMenu.jsx +0 -56
  116. package/src/responsive/breakpoints.ts +0 -62
  117. package/src/responsive/index.ts +0 -4
  118. package/src/responsive/measureMinimumNodeSize.ts +0 -23
  119. package/src/responsive/overflowUtils.js +0 -14
  120. package/src/responsive/use-breakpoints.ts +0 -100
  121. package/src/responsive/useOverflowObserver.ts +0 -606
  122. package/src/responsive/useResizeObserver.ts +0 -154
  123. package/src/responsive/utils.ts +0 -37
  124. package/src/stack/Stack.css +0 -39
  125. package/src/stack/Stack.tsx +0 -161
  126. package/src/stack/StackLayout.tsx +0 -137
  127. package/src/stack/index.ts +0 -3
  128. package/src/stack/stackTypes.ts +0 -19
  129. package/src/tabs/TabPanel.css +0 -12
  130. package/src/tabs/TabPanel.tsx +0 -17
  131. package/src/tabs/index.ts +0 -1
  132. package/src/tools/config-wrapper/ConfigWrapper.jsx +0 -53
  133. package/src/tools/config-wrapper/index.js +0 -1
  134. package/src/tools/devtools-box/layout-configurator.css +0 -112
  135. package/src/tools/devtools-box/layout-configurator.jsx +0 -369
  136. package/src/tools/devtools-tree/layout-tree-viewer.css +0 -15
  137. package/src/tools/devtools-tree/layout-tree-viewer.jsx +0 -36
  138. package/src/tools/index.js +0 -3
  139. package/src/use-persistent-state.ts +0 -115
  140. package/src/utils/apply-handlers.js +0 -15
  141. package/src/utils/componentFromLayout.tsx +0 -30
  142. package/src/utils/index.ts +0 -6
  143. package/src/utils/pathUtils.ts +0 -294
  144. package/src/utils/propUtils.ts +0 -24
  145. package/src/utils/refUtils.ts +0 -16
  146. package/src/utils/styleUtils.ts +0 -14
  147. package/src/utils/typeOf.ts +0 -22
@@ -1,118 +0,0 @@
1
- import React, { CSSProperties, HTMLAttributes, useCallback } from "react";
2
- import cx from "classnames";
3
- import { Button, useControlled } from "@salt-ds/core";
4
-
5
- import "./Drawer.css";
6
-
7
- const classBase = "vuuDrawer";
8
-
9
- const sizeAttribute = (value: string | number) => {
10
- return typeof value === "string" ? value : value + "px";
11
- };
12
-
13
- const getStyle = (
14
- styleProp?: CSSProperties,
15
- sizeOpen?: number,
16
- sizeClosed?: number
17
- ) => {
18
- const hasSizeOpen = sizeOpen !== undefined;
19
- const hasSizeClosed = sizeClosed !== undefined;
20
-
21
- if (!styleProp && !hasSizeClosed && !hasSizeOpen) {
22
- return undefined;
23
- }
24
-
25
- if (!hasSizeClosed && !hasSizeOpen) {
26
- return styleProp;
27
- }
28
-
29
- return {
30
- ...styleProp,
31
- "--drawer-size": hasSizeOpen ? sizeAttribute(sizeOpen) : undefined,
32
- "--drawer-peek-size": hasSizeClosed ? sizeAttribute(sizeClosed) : undefined,
33
- };
34
- };
35
-
36
- export interface DrawerProps extends HTMLAttributes<HTMLDivElement> {
37
- clickToOpen?: boolean;
38
- defaultOpen: boolean;
39
- inline?: boolean;
40
- open?: boolean;
41
- peekaboo?: boolean;
42
- position?: "left" | "right" | "top" | "bottom";
43
- sizeOpen?: number;
44
- sizeClosed?: number;
45
- toggleButton?: "start" | "end";
46
- }
47
- const Drawer = ({
48
- children,
49
- className: classNameProp,
50
- clickToOpen,
51
- defaultOpen,
52
- sizeOpen,
53
- sizeClosed,
54
- style: styleProp,
55
- open: openProp,
56
- position = "left",
57
- inline,
58
- onClick,
59
- peekaboo = false,
60
- toggleButton,
61
- ...props
62
- }: DrawerProps) => {
63
- const [open, setOpen] = useControlled({
64
- controlled: openProp,
65
- default: defaultOpen ?? false,
66
- name: "Drawer",
67
- state: "open",
68
- });
69
-
70
- const className = cx(classBase, classNameProp, `${classBase}-${position}`, {
71
- [`${classBase}-open`]: open,
72
- [`${classBase}-inline`]: inline,
73
- [`${classBase}-over`]: !inline,
74
- [`${classBase}-peekaboo`]: peekaboo,
75
- });
76
-
77
- const toggleDrawer = useCallback(() => {
78
- console.log("toggleDrawer");
79
- setOpen(!open);
80
- }, [open, setOpen]);
81
-
82
- const style = getStyle(styleProp, sizeOpen, sizeClosed);
83
-
84
- const handleClick = clickToOpen ? toggleDrawer : onClick;
85
-
86
- const renderToggleButton = () => (
87
- <div className={cx("vuuToggleButton-container")}>
88
- {open ? (
89
- <Button
90
- aria-label="close"
91
- onClick={toggleDrawer}
92
- data-icon="close"
93
- variant="secondary"
94
- />
95
- ) : (
96
- <Button
97
- aria-label="open"
98
- onClick={toggleDrawer}
99
- data-icon="close"
100
- variant="secondary"
101
- />
102
- )}
103
- </div>
104
- );
105
-
106
- return (
107
- <div {...props} className={className} onClick={handleClick} style={style}>
108
- {toggleButton == "start" ? renderToggleButton() : null}
109
- <div className={`${classBase}-liner`}>
110
- <div className={`${classBase}-content`}>{children}</div>
111
- </div>
112
- {toggleButton == "end" ? renderToggleButton() : null}
113
- </div>
114
- );
115
- };
116
- Drawer.displayName = "Drawer";
117
-
118
- export default Drawer;
@@ -1,2 +0,0 @@
1
- export { default as Chest } from './Chest';
2
- export { default as Drawer } from './Drawer';
@@ -1,9 +0,0 @@
1
- export interface rect {
2
- bottom: number;
3
- left: number;
4
- right: number;
5
- top: number;
6
- }
7
- export type rectTuple = [number, number, number, number];
8
-
9
- export type dimension = 'width' | 'height';
package/src/debug.ts DELETED
@@ -1,16 +0,0 @@
1
- import { ReactElement } from 'react';
2
- import { typeOf } from './utils';
3
-
4
- export const tree = (el: ReactElement, depth = 0) => {
5
- const type = typeOf(el);
6
- const spaces = ' ';
7
- let str = `\n${spaces.slice(0, depth)}${type}`;
8
- if (type !== 'View') {
9
- const els = el.props.children || [];
10
- (Array.isArray(els) ? els : [els]).forEach((child) => {
11
- str += tree(child, depth + 1);
12
- });
13
- }
14
-
15
- return str;
16
- };
@@ -1,16 +0,0 @@
1
- .hwDialog {
2
- --dialog-border: var(--hw-dialog-border, solid 1px #ccc);
3
- --dialog-padding: var(--hw-dialog-padding, 0);
4
- --dialog-shadow: var(--hw-dialog-shadow, none);
5
- --vuuView-margin: 0;
6
- --vuuView-flex-wrap: none;
7
-
8
- border: var(--dialog-border);
9
- margin: var(--hwDialog-margin, 200px auto 0 auto);
10
- padding: var(--dialog-padding);
11
- box-shadow: var(--dialog-shadow);
12
- }
13
-
14
- .hwDialog::backdrop {
15
- background-color: var(--hw-dialog-backdrop);
16
- }
@@ -1,59 +0,0 @@
1
- import React, {
2
- HTMLAttributes,
3
- useCallback,
4
- useLayoutEffect,
5
- useRef,
6
- } from "react";
7
- import cx from "classnames";
8
- import { Flexbox } from "../flexbox";
9
- import { View } from "../layout-view";
10
-
11
- import { Toolbar, ToolbarButton } from "@heswell/salt-lab";
12
- import { CloseIcon } from "@salt-ds/icons";
13
-
14
- import "./Dialog.css";
15
-
16
- export interface DialogProps extends HTMLAttributes<HTMLDialogElement> {
17
- isOpen?: boolean;
18
- onClose?: () => void;
19
- }
20
-
21
- const Dialog = ({
22
- children,
23
- className,
24
- isOpen = false,
25
- onClose,
26
- ...props
27
- }: DialogProps) => {
28
- const classRoot = "hwDialog";
29
- const root = useRef<HTMLDialogElement>(null);
30
-
31
- useLayoutEffect(() => {
32
- if (isOpen) {
33
- root.current?.showModal();
34
- }
35
- }, [isOpen]);
36
-
37
- const close = useCallback(() => {
38
- root.current?.close();
39
- onClose?.();
40
- }, [onClose]);
41
-
42
- return (
43
- <dialog {...props} className={cx(classRoot, className)} ref={root}>
44
- {/* <Flexbox style={{ flexDirection: "column", width: "fit-content" }}> */}
45
- <Flexbox
46
- style={{ flexDirection: "column", width: "100%", height: "100%" }}
47
- >
48
- <Toolbar style={{ height: 32 }}>
49
- <ToolbarButton key="close" onClick={close} data-align="right">
50
- <CloseIcon /> Close
51
- </ToolbarButton>
52
- </Toolbar>
53
- <View style={{ flex: 1 }}>{children}</View>
54
- </Flexbox>
55
- </dialog>
56
- );
57
- };
58
-
59
- export default Dialog;
@@ -1 +0,0 @@
1
- export { default as Dialog } from './Dialog';