publ-echo 0.0.4 → 0.0.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 (131) hide show
  1. package/dist/App.d.ts +2 -0
  2. package/dist/App.js +18 -0
  3. package/dist/examples/ReactGridLayout/ReactGridLayoutShowcase01.d.ts +2 -0
  4. package/dist/examples/ReactGridLayout/ReactGridLayoutShowcase01.js +57 -0
  5. package/dist/examples/ReactGridLayout/index.js +1 -0
  6. package/dist/examples/ResponsiveGridLayout/ResponsiveGridLayoutShowcase01.d.ts +2 -0
  7. package/dist/examples/ResponsiveGridLayout/ResponsiveGridLayoutShowcase01.js +69 -0
  8. package/dist/examples/ResponsiveGridLayout/index.js +1 -0
  9. package/dist/examples/index.js +2 -0
  10. package/dist/examples/utils.d.ts +8 -0
  11. package/dist/examples/utils.js +14 -0
  12. package/dist/index.d.ts +1 -0
  13. package/{src/index.tsx → dist/index.js} +3 -12
  14. package/dist/lib/Draggable/Draggable.d.ts +17 -0
  15. package/dist/lib/Draggable/Draggable.js +192 -0
  16. package/dist/lib/Draggable/DraggableCore.d.ts +5 -0
  17. package/dist/lib/Draggable/DraggableCore.js +266 -0
  18. package/dist/lib/Draggable/constants.d.ts +12 -0
  19. package/dist/lib/Draggable/constants.js +12 -0
  20. package/dist/lib/Draggable/index.js +2 -0
  21. package/dist/lib/Draggable/types.d.ts +55 -0
  22. package/dist/lib/Draggable/types.js +1 -0
  23. package/dist/lib/Draggable/utils/domHelpers.d.ts +22 -0
  24. package/dist/lib/Draggable/utils/domHelpers.js +222 -0
  25. package/dist/lib/Draggable/utils/getPrefix.d.ts +5 -0
  26. package/dist/lib/Draggable/utils/getPrefix.js +41 -0
  27. package/dist/lib/Draggable/utils/positionHelpers.d.ts +7 -0
  28. package/dist/lib/Draggable/utils/positionHelpers.js +32 -0
  29. package/dist/lib/Draggable/utils/types.d.ts +30 -0
  30. package/dist/lib/Draggable/utils/types.js +1 -0
  31. package/dist/lib/Draggable/utils/validationHelpers.d.ts +4 -0
  32. package/dist/lib/Draggable/utils/validationHelpers.js +16 -0
  33. package/dist/lib/GridItem/GridItem.d.ts +5 -0
  34. package/dist/lib/GridItem/GridItem.js +324 -0
  35. package/dist/lib/GridItem/index.js +1 -0
  36. package/dist/lib/GridItem/types.d.ts +105 -0
  37. package/dist/lib/GridItem/types.js +1 -0
  38. package/dist/lib/GridItem/utils/calculateUtils.d.ts +30 -0
  39. package/dist/lib/GridItem/utils/calculateUtils.js +108 -0
  40. package/dist/lib/GridLayoutEditor/ReactGridLayout.d.ts +5 -0
  41. package/dist/lib/GridLayoutEditor/ReactGridLayout.js +423 -0
  42. package/dist/lib/GridLayoutEditor/ResponsiveGridLayout.d.ts +4 -0
  43. package/dist/lib/GridLayoutEditor/ResponsiveGridLayout.js +117 -0
  44. package/dist/lib/GridLayoutEditor/index.d.ts +3 -0
  45. package/dist/lib/GridLayoutEditor/index.js +2 -0
  46. package/dist/lib/GridLayoutEditor/types.d.ts +129 -0
  47. package/dist/lib/GridLayoutEditor/types.js +1 -0
  48. package/dist/lib/GridLayoutEditor/utils/renderHelpers.d.ts +164 -0
  49. package/dist/lib/GridLayoutEditor/utils/renderHelpers.js +591 -0
  50. package/dist/lib/GridLayoutEditor/utils/responsiveUtils.d.ts +26 -0
  51. package/dist/lib/GridLayoutEditor/utils/responsiveUtils.js +77 -0
  52. package/dist/lib/PreviewGLE/ReactGridLayoutPreview.d.ts +7 -0
  53. package/dist/lib/PreviewGLE/ReactGridLayoutPreview.js +35 -0
  54. package/dist/lib/PreviewGLE/ResponsiveGridLayoutPreview.d.ts +9 -0
  55. package/dist/lib/PreviewGLE/ResponsiveGridLayoutPreview.js +38 -0
  56. package/dist/lib/PreviewGLE/index.js +2 -0
  57. package/dist/lib/Resizable/Resizable.d.ts +7 -0
  58. package/dist/lib/Resizable/Resizable.js +216 -0
  59. package/dist/lib/Resizable/ResizableBox.d.ts +7 -0
  60. package/dist/lib/Resizable/ResizableBox.js +57 -0
  61. package/dist/lib/Resizable/index.js +1 -0
  62. package/dist/lib/Resizable/types.d.ts +63 -0
  63. package/dist/lib/Resizable/types.js +1 -0
  64. package/dist/lib/Resizable/utils/cloneElement.d.ts +2 -0
  65. package/dist/lib/Resizable/utils/cloneElement.js +21 -0
  66. package/dist/lib/components/WidthProvider.d.ts +9 -0
  67. package/dist/lib/components/WidthProvider.js +55 -0
  68. package/dist/lib/components/index.js +1 -0
  69. package/dist/lib/components/types.d.ts +13 -0
  70. package/dist/lib/components/types.js +1 -0
  71. package/dist/lib/index.js +5 -0
  72. package/dist/reportWebVitals.d.ts +3 -0
  73. package/dist/reportWebVitals.js +13 -0
  74. package/dist/setupTests.d.ts +1 -0
  75. package/dist/utils/types.d.ts +4 -0
  76. package/dist/utils/types.js +1 -0
  77. package/package.json +5 -5
  78. package/bin/cli.js +0 -8
  79. package/bitbucket-pipelines.yml +0 -35
  80. package/public/favicon.ico +0 -0
  81. package/public/index.html +0 -43
  82. package/public/logo192.png +0 -0
  83. package/public/logo512.png +0 -0
  84. package/public/manifest.json +0 -25
  85. package/public/robots.txt +0 -3
  86. package/src/App.tsx +0 -28
  87. package/src/examples/ReactGridLayout/ReactGridLayoutShowcase01.tsx +0 -80
  88. package/src/examples/ResponsiveGridLayout/ResponsiveGridLayoutShowcase01.tsx +0 -114
  89. package/src/examples/utils.ts +0 -15
  90. package/src/lib/Draggable/Draggable.tsx +0 -303
  91. package/src/lib/Draggable/DraggableCore.tsx +0 -352
  92. package/src/lib/Draggable/constants.ts +0 -12
  93. package/src/lib/Draggable/types.ts +0 -74
  94. package/src/lib/Draggable/utils/domHelpers.ts +0 -284
  95. package/src/lib/Draggable/utils/getPrefix.ts +0 -42
  96. package/src/lib/Draggable/utils/positionHelpers.ts +0 -49
  97. package/src/lib/Draggable/utils/types.ts +0 -41
  98. package/src/lib/Draggable/utils/validationHelpers.ts +0 -23
  99. package/src/lib/GridItem/GridItem.tsx +0 -493
  100. package/src/lib/GridItem/types.ts +0 -121
  101. package/src/lib/GridItem/utils/calculateUtils.ts +0 -173
  102. package/src/lib/GridLayoutEditor/ReactGridLayout.tsx +0 -662
  103. package/src/lib/GridLayoutEditor/ResponsiveGridLayout.tsx +0 -204
  104. package/src/lib/GridLayoutEditor/index.ts +0 -11
  105. package/src/lib/GridLayoutEditor/styles/styles.css +0 -133
  106. package/src/lib/GridLayoutEditor/types.ts +0 -199
  107. package/src/lib/GridLayoutEditor/utils/renderHelpers.ts +0 -737
  108. package/src/lib/GridLayoutEditor/utils/responsiveUtils.ts +0 -111
  109. package/src/lib/PreviewGLE/ReactGridLayoutPreview.tsx +0 -46
  110. package/src/lib/PreviewGLE/ResponsiveGridLayoutPreview.tsx +0 -54
  111. package/src/lib/Resizable/Resizable.tsx +0 -323
  112. package/src/lib/Resizable/ResizableBox.tsx +0 -109
  113. package/src/lib/Resizable/styles/styles.css +0 -76
  114. package/src/lib/Resizable/types.ts +0 -96
  115. package/src/lib/Resizable/utils/cloneElement.ts +0 -15
  116. package/src/lib/components/WidthProvider.tsx +0 -71
  117. package/src/lib/components/types.ts +0 -19
  118. package/src/react-app-env.d.ts +0 -1
  119. package/src/reportWebVitals.ts +0 -15
  120. package/src/utils/types.ts +0 -3
  121. package/tsconfig.json +0 -22
  122. /package/{src/examples/ReactGridLayout/index.ts → dist/examples/ReactGridLayout/index.d.ts} +0 -0
  123. /package/{src/examples/ResponsiveGridLayout/index.ts → dist/examples/ResponsiveGridLayout/index.d.ts} +0 -0
  124. /package/{src/examples/index.ts → dist/examples/index.d.ts} +0 -0
  125. /package/{src/lib/Draggable/index.ts → dist/lib/Draggable/index.d.ts} +0 -0
  126. /package/{src/lib/GridItem/index.ts → dist/lib/GridItem/index.d.ts} +0 -0
  127. /package/{src/lib/PreviewGLE/index.ts → dist/lib/PreviewGLE/index.d.ts} +0 -0
  128. /package/{src/lib/Resizable/index.ts → dist/lib/Resizable/index.d.ts} +0 -0
  129. /package/{src/lib/components/index.ts → dist/lib/components/index.d.ts} +0 -0
  130. /package/{src/lib/index.ts → dist/lib/index.d.ts} +0 -0
  131. /package/{src/setupTests.ts → dist/setupTests.js} +0 -0
@@ -1,121 +0,0 @@
1
- import { DragEvent, SyntheticEvent } from "react";
2
- import { RowHeight } from "../GridLayoutEditor/types";
3
- import { ResizeHandleAxis, ResizeHandleType } from "../Resizable/types";
4
-
5
- export type PartialPosition = { top: number; left: number };
6
-
7
- export type ResizeEventType = SyntheticEvent | MouseEvent | TouchEvent;
8
-
9
- export type GridResizeEvent = {
10
- e: ResizeEventType;
11
- node: HTMLElement;
12
- size: Size;
13
- };
14
-
15
- export type GridDragEvent = {
16
- e: ResizeEventType;
17
- node: HTMLElement;
18
- newPosition: PartialPosition;
19
- };
20
-
21
- export type GridItemCallback<Data extends GridDragEvent | GridResizeEvent> = (
22
- i: string,
23
- x: number,
24
- y: number,
25
- data: Data
26
- ) => void;
27
-
28
- type ResizeGridItemCallback<Data extends GridDragEvent | GridResizeEvent> = (
29
- i: string,
30
- w: number,
31
- h: number,
32
- data: Data,
33
- x: number,
34
- y: number
35
- ) => void;
36
-
37
- export type GridDragStopEvent = GridDragEvent & { change: boolean };
38
-
39
- export type Size = { width: number; height: number; top: number; left: number };
40
-
41
- export type GridItemStateType = {
42
- resizing?: { width: number; height: number };
43
- dragging?: { top: number; left: number };
44
- className: string;
45
- };
46
-
47
- export type GridItemProps = {
48
- margin: [number, number];
49
- containerPadding: [number, number];
50
- rowHeight: RowHeight;
51
- maxRows: number;
52
- isDraggable: boolean;
53
- isResizable: boolean;
54
- isBounded: boolean;
55
- static?: boolean;
56
- useCSSTransforms?: boolean;
57
- usePercentages?: boolean;
58
- transformScale?: number;
59
- droppingPosition?: DroppingPosition;
60
- cols: number;
61
- containerWidth: number;
62
- className?: string;
63
- style?: Object;
64
- cancel?: string;
65
- handle?: string;
66
-
67
- minW?: number;
68
- maxW?: number;
69
- minH?: number;
70
- maxH?: number;
71
-
72
- x: number;
73
- y: number;
74
- z: number;
75
- w: number;
76
- h: number;
77
- i: string;
78
-
79
- resizeHandles?: ResizeHandleAxis[];
80
- resizeHandle?: ResizeHandleType;
81
-
82
- onDrag?: GridItemCallback<GridDragEvent>;
83
- onDragStart?: GridItemCallback<GridDragEvent>;
84
- onDragStop?: GridItemCallback<GridDragStopEvent>;
85
- onResize?: ResizeGridItemCallback<GridResizeEvent>;
86
- onResizeStart?: ResizeGridItemCallback<GridResizeEvent>;
87
- onResizeStop?: ResizeGridItemCallback<GridResizeEvent>;
88
- isHiddenVisibility?: boolean;
89
- };
90
-
91
- export type GridItemDefaultProps = {
92
- className: string;
93
- cancel: string;
94
- handle: string;
95
- minH: number;
96
- minW: number;
97
- maxH: number;
98
- maxW: number;
99
- transformScale: number;
100
- };
101
-
102
- export type DroppingPosition = {
103
- left: number;
104
- top: number;
105
- e: DragEvent<HTMLDivElement>;
106
- };
107
-
108
- export type ReactDraggableCallbackData = {
109
- node: HTMLElement;
110
- x: number;
111
- y: number;
112
- deltaX: number;
113
- deltaY: number;
114
- lastX: number;
115
- lastY: number;
116
- };
117
-
118
- export type ResizeHandlerNameType =
119
- | "onResizeStart"
120
- | "onResize"
121
- | "onResizeStop";
@@ -1,173 +0,0 @@
1
- import { ResizeHandleAxis } from "../../Resizable/types";
2
- import { Position, PositionParams } from "../../GridLayoutEditor/types";
3
-
4
- export type RowHeight = number | ((width: number) => number);
5
-
6
- export function calcGridColWidth(positionParams: PositionParams): number {
7
- const { margin, containerPadding, containerWidth, cols } = positionParams;
8
-
9
- return (
10
- (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols
11
- );
12
- }
13
-
14
- export function calcGridItemWHPx(
15
- gridUnits: number,
16
- colOrRowSize: number,
17
- marginPx: number
18
- ): number {
19
- if (!Number.isFinite(gridUnits)) return gridUnits;
20
-
21
- return Math.round(
22
- colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx
23
- );
24
- }
25
-
26
- export const resolveRowHeight = (rowHeight: RowHeight, width: number) =>
27
- typeof rowHeight === "number" ? rowHeight : rowHeight(width);
28
-
29
- export function calcGridItemPosition(
30
- positionParams: PositionParams,
31
- x: number,
32
- y: number,
33
- z: number,
34
- w: number,
35
- h: number,
36
- state?: {
37
- resizing?: { width: number; height: number; top: number; left: number };
38
- dragging?: { top: number; left: number };
39
- }
40
- ): Position {
41
- const { margin, containerPadding, rowHeight } = positionParams;
42
- const colWidth = calcGridColWidth(positionParams);
43
- const rowHeightNumber = resolveRowHeight(rowHeight, colWidth);
44
-
45
- const result = {
46
- left: Math.round((colWidth + margin[0]) * x + containerPadding[0]),
47
- top: Math.round((rowHeightNumber + margin[1]) * y + containerPadding[1]),
48
- width: w === Infinity ? w : calcGridItemWHPx(w, colWidth, margin[0]),
49
- height:
50
- h === Infinity ? h : calcGridItemWHPx(h, rowHeightNumber, margin[1]),
51
- };
52
-
53
- if (state && state.resizing) {
54
- result.width = Math.round(state.resizing.width);
55
- result.height = Math.round(state.resizing.height);
56
- result.top = Math.round(state.resizing.top);
57
- result.left = Math.round(state.resizing.left);
58
- } else {
59
- result.width = calcGridItemWHPx(w, colWidth, margin[0]);
60
- result.height = calcGridItemWHPx(h, rowHeightNumber, margin[1]);
61
- }
62
-
63
- if (state && state.dragging) {
64
- result.top = Math.round(state.dragging.top);
65
- result.left = Math.round(state.dragging.left);
66
- } else {
67
- result.top = Math.round(
68
- (rowHeightNumber + margin[1]) * y + containerPadding[1]
69
- );
70
- result.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);
71
- }
72
-
73
- // result.z = z;
74
-
75
- return result;
76
- }
77
-
78
- export function calcXY(
79
- positionParams: PositionParams,
80
- top: number,
81
- left: number,
82
- w: number,
83
- h: number
84
- ): { x: number; y: number } {
85
- const { margin, cols, rowHeight, maxRows } = positionParams;
86
- const colWidth = calcGridColWidth(positionParams);
87
- const rowHeightNumber = resolveRowHeight(rowHeight, colWidth);
88
-
89
- let x = Math.round((left - margin[0]) / (colWidth + margin[0]));
90
- let y = Math.round((top - margin[1]) / (rowHeightNumber + margin[1]));
91
-
92
- // Capping
93
- x = clamp(x, 0, cols - w);
94
- y = clamp(y, 0, maxRows - h);
95
-
96
- return { x, y };
97
- }
98
-
99
- export function calcWH(
100
- positionParams: PositionParams,
101
- { width, height }: { width: number; height: number },
102
- x: number,
103
- y: number,
104
- handleAxis?: ResizeHandleAxis,
105
- prevW?: number,
106
- prevH?: number
107
- ): { w: number; h: number } {
108
- const { margin, maxRows, cols, rowHeight } = positionParams;
109
- const colWidth = calcGridColWidth(positionParams);
110
- const rowHeightNumber = resolveRowHeight(rowHeight, colWidth);
111
-
112
- let w = Math.round((width + margin[0]) / (colWidth + margin[0]));
113
- let h = Math.round((height + margin[1]) / (rowHeightNumber + margin[1]));
114
-
115
- // // Capping
116
- // w = clamp(w, 0, cols - x);
117
- // h = clamp(h, 0, maxRows - y);
118
-
119
- if (handleAxis === "nw") {
120
- if (x <= 0 && y <= 0 && prevW && prevH) {
121
- w = Math.max(Math.min(w, prevW), 0);
122
- h = Math.max(Math.min(h, prevH), 0);
123
- }
124
-
125
- if (x <= 0 && prevW) {
126
- w = Math.max(Math.min(w, prevW), 0);
127
- h = Math.max(Math.min(h, maxRows - y), 0);
128
- }
129
-
130
- if (y <= 0 && prevH) {
131
- h = Math.max(Math.min(h, prevH), 0);
132
- }
133
- }
134
-
135
- if (handleAxis === "w" || handleAxis === "sw") {
136
- if (x <= 0 && prevW) {
137
- w = Math.max(Math.min(w, prevW), 0);
138
- h = Math.max(Math.min(h, maxRows - y), 0);
139
- }
140
- }
141
-
142
- if (handleAxis === "n") {
143
- if (y <= 0 && prevH) {
144
- w = Math.max(Math.min(w, cols - x), 0);
145
- h = Math.max(Math.min(h, prevH), 0);
146
- }
147
- }
148
-
149
- if (handleAxis === "ne") {
150
- if (y <= 0 && prevH) {
151
- w = Math.max(Math.min(w, cols - x), 0);
152
- h = Math.max(Math.min(h, prevH), 0);
153
- } else {
154
- w = Math.max(Math.min(w, cols - x), 0);
155
- h = Math.max(Math.min(h, maxRows - y), 0);
156
- }
157
- }
158
-
159
- if (handleAxis === "e" || handleAxis === "se") {
160
- w = Math.max(Math.min(w, cols - x), 0);
161
- h = Math.max(Math.min(h, maxRows - y), 0);
162
- }
163
-
164
- return { w, h };
165
- }
166
-
167
- export function clamp(
168
- num: number,
169
- lowerBound: number,
170
- upperBound: number
171
- ): number {
172
- return Math.max(Math.min(num, upperBound), lowerBound);
173
- }