@vuu-ui/vuu-layout 0.0.27 → 0.5.5

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 (123) hide show
  1. package/LICENSE +201 -0
  2. package/cjs/index.js +20 -0
  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 +2 -0
  7. package/index.css.map +7 -0
  8. package/package.json +15 -19
  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/action-buttons.css +0 -12
  15. package/src/action-buttons/action-buttons.tsx +0 -30
  16. package/src/action-buttons/index.ts +0 -1
  17. package/src/chest-of-drawers/Chest.css +0 -36
  18. package/src/chest-of-drawers/Chest.tsx +0 -42
  19. package/src/chest-of-drawers/Drawer.css +0 -153
  20. package/src/chest-of-drawers/Drawer.tsx +0 -118
  21. package/src/chest-of-drawers/index.ts +0 -2
  22. package/src/common-types.ts +0 -9
  23. package/src/debug.ts +0 -16
  24. package/src/dialog/Dialog.css +0 -16
  25. package/src/dialog/Dialog.tsx +0 -59
  26. package/src/dialog/index.ts +0 -1
  27. package/src/drag-drop/BoxModel.ts +0 -546
  28. package/src/drag-drop/DragState.ts +0 -222
  29. package/src/drag-drop/Draggable.ts +0 -282
  30. package/src/drag-drop/DropMenu.css +0 -70
  31. package/src/drag-drop/DropMenu.tsx +0 -68
  32. package/src/drag-drop/DropTarget.ts +0 -392
  33. package/src/drag-drop/DropTargetRenderer.css +0 -40
  34. package/src/drag-drop/DropTargetRenderer.tsx +0 -284
  35. package/src/drag-drop/dragDropTypes.ts +0 -49
  36. package/src/drag-drop/index.ts +0 -4
  37. package/src/editable-label/EditableLabel.css +0 -28
  38. package/src/editable-label/EditableLabel.tsx +0 -99
  39. package/src/editable-label/index.ts +0 -1
  40. package/src/flexbox/Flexbox.css +0 -45
  41. package/src/flexbox/Flexbox.tsx +0 -70
  42. package/src/flexbox/FlexboxLayout.jsx +0 -26
  43. package/src/flexbox/FluidGrid.css +0 -134
  44. package/src/flexbox/FluidGrid.tsx +0 -84
  45. package/src/flexbox/FluidGridLayout.tsx +0 -10
  46. package/src/flexbox/Splitter.css +0 -140
  47. package/src/flexbox/Splitter.tsx +0 -135
  48. package/src/flexbox/flexbox-utils.ts +0 -128
  49. package/src/flexbox/flexboxTypes.ts +0 -63
  50. package/src/flexbox/index.ts +0 -4
  51. package/src/flexbox/useResponsiveSizing.ts +0 -85
  52. package/src/flexbox/useSplitterResizing.ts +0 -272
  53. package/src/index.ts +0 -20
  54. package/src/layout-action.ts +0 -21
  55. package/src/layout-header/ActionButton.tsx +0 -23
  56. package/src/layout-header/Header.css +0 -8
  57. package/src/layout-header/Header.tsx +0 -222
  58. package/src/layout-header/index.ts +0 -1
  59. package/src/layout-provider/LayoutProvider.tsx +0 -160
  60. package/src/layout-provider/LayoutProviderContext.ts +0 -17
  61. package/src/layout-provider/index.ts +0 -2
  62. package/src/layout-provider/useLayoutDragDrop.ts +0 -241
  63. package/src/layout-reducer/flexUtils.ts +0 -281
  64. package/src/layout-reducer/index.ts +0 -4
  65. package/src/layout-reducer/insert-layout-element.ts +0 -365
  66. package/src/layout-reducer/layout-reducer.ts +0 -255
  67. package/src/layout-reducer/layoutTypes.ts +0 -151
  68. package/src/layout-reducer/layoutUtils.ts +0 -302
  69. package/src/layout-reducer/remove-layout-element.ts +0 -240
  70. package/src/layout-reducer/replace-layout-element.ts +0 -118
  71. package/src/layout-reducer/resize-flex-children.ts +0 -56
  72. package/src/layout-reducer/wrap-layout-element.ts +0 -317
  73. package/src/layout-view/View.css +0 -58
  74. package/src/layout-view/View.tsx +0 -149
  75. package/src/layout-view/ViewContext.ts +0 -31
  76. package/src/layout-view/index.ts +0 -4
  77. package/src/layout-view/useView.tsx +0 -104
  78. package/src/layout-view/useViewActionDispatcher.ts +0 -133
  79. package/src/layout-view/useViewResize.ts +0 -53
  80. package/src/layout-view/viewTypes.ts +0 -37
  81. package/src/palette/Palette.css +0 -37
  82. package/src/palette/Palette.tsx +0 -140
  83. package/src/palette/PaletteUitk.css +0 -9
  84. package/src/palette/PaletteUitk.tsx +0 -79
  85. package/src/palette/index.ts +0 -2
  86. package/src/placeholder/Placeholder.css +0 -10
  87. package/src/placeholder/Placeholder.tsx +0 -39
  88. package/src/placeholder/index.ts +0 -1
  89. package/src/registry/ComponentRegistry.ts +0 -35
  90. package/src/registry/index.ts +0 -1
  91. package/src/responsive/OverflowMenu.css +0 -31
  92. package/src/responsive/OverflowMenu.jsx +0 -56
  93. package/src/responsive/breakpoints.ts +0 -48
  94. package/src/responsive/index.ts +0 -4
  95. package/src/responsive/measureMinimumNodeSize.ts +0 -23
  96. package/src/responsive/overflowUtils.js +0 -14
  97. package/src/responsive/use-breakpoints.ts +0 -100
  98. package/src/responsive/useOverflowObserver.ts +0 -606
  99. package/src/responsive/useResizeObserver.ts +0 -154
  100. package/src/responsive/utils.ts +0 -37
  101. package/src/stack/Stack.css +0 -39
  102. package/src/stack/Stack.tsx +0 -160
  103. package/src/stack/StackLayout.tsx +0 -137
  104. package/src/stack/index.ts +0 -3
  105. package/src/stack/stackTypes.ts +0 -19
  106. package/src/tabs/TabPanel.css +0 -12
  107. package/src/tabs/TabPanel.tsx +0 -17
  108. package/src/tabs/index.ts +0 -1
  109. package/src/tools/config-wrapper/ConfigWrapper.jsx +0 -53
  110. package/src/tools/config-wrapper/index.js +0 -1
  111. package/src/tools/devtools-box/layout-configurator.css +0 -112
  112. package/src/tools/devtools-box/layout-configurator.jsx +0 -369
  113. package/src/tools/devtools-tree/layout-tree-viewer.css +0 -15
  114. package/src/tools/devtools-tree/layout-tree-viewer.jsx +0 -36
  115. package/src/tools/index.js +0 -3
  116. package/src/use-persistent-state.ts +0 -115
  117. package/src/utils/componentFromLayout.tsx +0 -30
  118. package/src/utils/index.ts +0 -6
  119. package/src/utils/pathUtils.ts +0 -294
  120. package/src/utils/propUtils.ts +0 -24
  121. package/src/utils/refUtils.ts +0 -16
  122. package/src/utils/styleUtils.ts +0 -14
  123. 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 "@heswell/uitk-core";
4
-
5
- import "./Drawer.css";
6
-
7
- const sizeAttribute = (value: string | number) => {
8
- return typeof value === "string" ? value : value + "px";
9
- };
10
-
11
- const getStyle = (
12
- styleProp?: CSSProperties,
13
- sizeOpen?: number,
14
- sizeClosed?: number
15
- ) => {
16
- const hasSizeOpen = sizeOpen !== undefined;
17
- const hasSizeClosed = sizeClosed !== undefined;
18
-
19
- if (!styleProp && !hasSizeClosed && !hasSizeOpen) {
20
- return undefined;
21
- }
22
-
23
- if (!hasSizeClosed && !hasSizeOpen) {
24
- return styleProp;
25
- }
26
-
27
- return {
28
- ...styleProp,
29
- "--drawer-size": hasSizeOpen ? sizeAttribute(sizeOpen) : undefined,
30
- "--drawer-peek-size": hasSizeClosed ? sizeAttribute(sizeClosed) : undefined,
31
- };
32
- };
33
-
34
- export interface DrawerProps extends HTMLAttributes<HTMLDivElement> {
35
- clickToOpen?: boolean;
36
- defaultOpen: boolean;
37
- inline?: boolean;
38
- open?: boolean;
39
- peekaboo?: boolean;
40
- position?: "left" | "right" | "top" | "bottom";
41
- sizeOpen?: number;
42
- sizeClosed?: number;
43
- toggleButton?: "start" | "end";
44
- }
45
- const Drawer = ({
46
- children,
47
- className: classNameProp,
48
- clickToOpen,
49
- defaultOpen,
50
- sizeOpen,
51
- sizeClosed,
52
- style: styleProp,
53
- open: openProp,
54
- position = "left",
55
- inline,
56
- onClick,
57
- peekaboo = false,
58
- toggleButton,
59
- ...props
60
- }: DrawerProps) => {
61
- const [open, setOpen] = useControlled({
62
- controlled: openProp,
63
- default: defaultOpen ?? false,
64
- name: "Drawer",
65
- state: "open",
66
- });
67
-
68
- const classBase = "hwDrawer";
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("hwToggleButton-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/uitk-lab";
12
- import { CloseIcon } from "@heswell/uitk-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';