seat-editor 3.6.34 → 3.6.36

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 (71) hide show
  1. package/dist/app/graph-view/page.d.ts +1 -1
  2. package/dist/app/graph-view-new/constant.d.ts +17 -0
  3. package/dist/app/graph-view-new/constant.js +87 -0
  4. package/dist/app/graph-view-new/page.d.ts +1 -1
  5. package/dist/app/graph-view-new/page.js +11 -4
  6. package/dist/app/graph-view-new/page.jsx +11 -4
  7. package/dist/app/layout.d.ts +1 -1
  8. package/dist/app/new-board/page.d.ts +1 -1
  9. package/dist/app/old-board/page.d.ts +2 -1
  10. package/dist/app/only-view/chair.d.ts +1 -1
  11. package/dist/app/only-view/chair.js +10 -2
  12. package/dist/app/only-view/page.d.ts +1 -1
  13. package/dist/app/only-view/user.d.ts +1 -1
  14. package/dist/app/only-view/user.js +10 -2
  15. package/dist/app/page.d.ts +1 -1
  16. package/dist/app/test/page.d.ts +2 -1
  17. package/dist/app/v2/page.d.ts +1 -1
  18. package/dist/components/button-radio/index.d.ts +1 -1
  19. package/dist/components/button-tools/index.d.ts +1 -1
  20. package/dist/components/form-tools/label.d.ts +1 -1
  21. package/dist/components/form-tools/shape.d.ts +2 -2
  22. package/dist/components/icons/camera.d.ts +2 -1
  23. package/dist/components/icons/circle.d.ts +2 -1
  24. package/dist/components/icons/square.d.ts +2 -1
  25. package/dist/components/icons/type-1.d.ts +2 -1
  26. package/dist/components/icons/type-2.d.ts +2 -1
  27. package/dist/components/icons/type-3.d.ts +2 -1
  28. package/dist/components/icons/type-4.d.ts +2 -1
  29. package/dist/components/icons/type-5.d.ts +2 -1
  30. package/dist/components/input/number-indicator.d.ts +1 -1
  31. package/dist/components/joystick/index.d.ts +2 -1
  32. package/dist/components/layer/index.d.ts +1 -1
  33. package/dist/components/layer-v2/index.d.ts +1 -1
  34. package/dist/components/layer-v3/index.d.ts +3 -2
  35. package/dist/components/layer-v4/index.d.ts +1 -1
  36. package/dist/components/layer-v5/icons.d.ts +1 -1
  37. package/dist/components/layer-v5/index.d.ts +1 -1
  38. package/dist/components/lib/index.d.ts +1 -1
  39. package/dist/components/modal-preview/index.d.ts +1 -1
  40. package/dist/features/board/index.d.ts +1 -1
  41. package/dist/features/board-v2/index.d.ts +2 -1
  42. package/dist/features/board-v3/icons.d.ts +1 -1
  43. package/dist/features/board-v3/index.d.ts +1 -1
  44. package/dist/features/navbar/index.d.ts +1 -1
  45. package/dist/features/package/index.d.ts +1 -1
  46. package/dist/features/panel/index.d.ts +1 -1
  47. package/dist/features/panel/polygon.d.ts +1 -1
  48. package/dist/features/panel/select-tool.d.ts +1 -1
  49. package/dist/features/panel/selected-group.d.ts +1 -1
  50. package/dist/features/panel/square-circle-tool.d.ts +1 -1
  51. package/dist/features/panel/table-seat-circle.d.ts +1 -1
  52. package/dist/features/panel/table-seat-square.d.ts +1 -1
  53. package/dist/features/panel/text-tool.d.ts +1 -1
  54. package/dist/features/panel/upload-group-tool.d.ts +1 -1
  55. package/dist/features/panel/upload-tool.d.ts +1 -1
  56. package/dist/features/side-tool/icons.d.ts +1 -1
  57. package/dist/features/side-tool/index.d.ts +1 -1
  58. package/dist/features/view-only/index.d.ts +1 -1
  59. package/dist/features/view-only-2/index.d.ts +1 -1
  60. package/dist/features/view-only-3/index.d.ts +1 -1
  61. package/dist/features/view-only-4/index.d.ts +1 -1
  62. package/dist/features/view-only-5/index.d.ts +2 -2
  63. package/dist/features/view-only-5/index.js +3 -5
  64. package/dist/features/view-only-5/index.jsx +3 -5
  65. package/dist/features/view-only-5/use-connection-graph.d.ts +7 -3
  66. package/dist/features/view-only-5/use-connection-graph.js +17 -15
  67. package/dist/features/view-only-6/index.d.ts +1 -1
  68. package/dist/features/view-only-7/index.d.ts +1 -1
  69. package/dist/provider/redux-provider.d.ts +1 -1
  70. package/dist/provider/store-provider.d.ts +1 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- export default function DrawIO(): import("react/jsx-runtime").JSX.Element;
1
+ export default function DrawIO(): import("react").JSX.Element;
@@ -301,6 +301,23 @@ export declare const data: ({
301
301
  updated_by: string;
302
302
  })[];
303
303
  export declare const COLORS_SECTION: string[];
304
+ export declare const NODE_PROPERTIES: {
305
+ id: string;
306
+ to: string;
307
+ from: string;
308
+ toPos: {
309
+ x: number;
310
+ y: number;
311
+ name: string;
312
+ };
313
+ status: number;
314
+ fromPos: {
315
+ x: number;
316
+ y: number;
317
+ name: string;
318
+ };
319
+ waypoints: any[];
320
+ }[];
304
321
  export declare const background: {
305
322
  x: number;
306
323
  y: number;
@@ -2930,6 +2930,93 @@ export const COLORS_SECTION = [
2930
2930
  "#FBC6D3",
2931
2931
  "#D5C4F9",
2932
2932
  ];
2933
+ export const NODE_PROPERTIES = [
2934
+ {
2935
+ id: "edge-1783410035523",
2936
+ to: "01bbb9f3-cdec-4e8a-8515-fce4b603a10a",
2937
+ from: "6da49554-e25e-43c5-8873-b8df3d8ce389",
2938
+ toPos: {
2939
+ x: 2431,
2940
+ y: 463,
2941
+ name: "left",
2942
+ },
2943
+ status: 1,
2944
+ fromPos: {
2945
+ x: 2484,
2946
+ y: 321,
2947
+ name: "bottom",
2948
+ },
2949
+ waypoints: [],
2950
+ },
2951
+ {
2952
+ id: "edge-1783410036151",
2953
+ to: "c5aab141-cb77-46cc-bed1-a2222eac9ed9",
2954
+ from: "6da49554-e25e-43c5-8873-b8df3d8ce389",
2955
+ toPos: {
2956
+ x: 2351,
2957
+ y: 459,
2958
+ name: "left",
2959
+ },
2960
+ status: 1,
2961
+ fromPos: {
2962
+ x: 2484,
2963
+ y: 321,
2964
+ name: "bottom",
2965
+ },
2966
+ waypoints: [],
2967
+ },
2968
+ {
2969
+ id: "edge-1783410036683",
2970
+ to: "72477b41-bb67-4969-b622-f2ff5e3d5328",
2971
+ from: "6da49554-e25e-43c5-8873-b8df3d8ce389",
2972
+ toPos: {
2973
+ x: 2279,
2974
+ y: 460,
2975
+ name: "left",
2976
+ },
2977
+ status: 1,
2978
+ fromPos: {
2979
+ x: 2484,
2980
+ y: 321,
2981
+ name: "bottom",
2982
+ },
2983
+ waypoints: [],
2984
+ },
2985
+ {
2986
+ id: "edge-1783410037651",
2987
+ to: "73ef9906-5776-471a-98d6-86190bf32a72",
2988
+ from: "6da49554-e25e-43c5-8873-b8df3d8ce389",
2989
+ toPos: {
2990
+ x: 2126,
2991
+ y: 458,
2992
+ name: "right",
2993
+ },
2994
+ status: 1,
2995
+ fromPos: {
2996
+ x: 2484,
2997
+ y: 321,
2998
+ name: "bottom",
2999
+ },
3000
+ waypoints: [],
3001
+ },
3002
+ {
3003
+ id: "edge-1783410038349",
3004
+ to: "443e4d6e-1090-4302-9f22-7e254b3e941b",
3005
+ from: "6da49554-e25e-43c5-8873-b8df3d8ce389",
3006
+ toPos: {
3007
+ x: 1978,
3008
+ y: 458,
3009
+ name: "left",
3010
+ },
3011
+ status: 1,
3012
+ fromPos: {
3013
+ x: 2484,
3014
+ y: 321,
3015
+ name: "bottom",
3016
+ },
3017
+ waypoints: [],
3018
+ },
3019
+ ];
2933
3020
  export const background = [
2934
3021
  {
2935
3022
  x: 1108,
@@ -1 +1 @@
1
- export default function GraphView(): import("react/jsx-runtime").JSX.Element;
1
+ export default function GraphView(): import("react").JSX.Element;
@@ -2,9 +2,10 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import clsx from "clsx";
4
4
  import LayerView from "../../features/view-only-5";
5
- import { data } from "./constant";
5
+ import { COLORS_SECTION, data, NODE_PROPERTIES } from "./constant";
6
6
  import { Button } from "antd";
7
7
  import { useMemo, useState } from "react";
8
+ import { selection } from "./selection";
8
9
  export default function GraphView() {
9
10
  const [isConnecting, setIsConnecting] = useState(false);
10
11
  const [actionPrivileged, setActionPrivileged] = useState({
@@ -146,12 +147,14 @@ export default function GraphView() {
146
147
  console.log({ edges });
147
148
  return (_jsx("div", { className: "w-full h-screen flex relative", children: _jsxs("div", { className: "flex", children: [_jsx("div", { className: "absolute top-0 left-0 z-10 flex gap-2", children: priviledged.map((item) => (_jsx(Button, { type: actionPrivileged[item.key] ? "primary" : "default", htmlType: "button", onClick: () => {
148
149
  setActionPrivileged((prev) => (Object.assign(Object.assign({}, prev), { [item.key]: !prev[item.key] })));
149
- }, children: item.name }, item.key))) }), _jsx(LayerView, { componentProps: componentSection, statusKey: "section", defaultBackground: "#1e2d4a", mappingKey: "properties", keyNode: "nodes", onEdgesChange: (edges, table) => {
150
+ }, children: item.name }, item.key))) }), _jsx(LayerView, { componentProps: componentSection, statusKey: "section", defaultBackground: "#1e2d4a", mappingKey: "properties", keyNode: "nodes", onEdgesChange: (edges) => {
150
151
  console.log(edges, "edges");
151
152
  setEdges(edges);
152
- }, initialEdges: edges, isConnectEdge: isConnecting, isSelectNode: isSelectNode, connectionMatchKey: {
153
+ }, initialEdges: NODE_PROPERTIES, isConnectEdge: isConnecting, isSelectNode: isSelectNode, connectionMatchKey: {
153
154
  key: "use_checking_availability",
154
155
  value: 0
156
+ }, onTableMainConnection: (e) => {
157
+ console.log({ e });
155
158
  },
156
159
  // extraComponentProps={background}
157
160
  onSelectComponent: handleSelectItem,
@@ -182,5 +185,9 @@ export default function GraphView() {
182
185
  console.log({ e, data });
183
186
  }, allowTooltip: true, onHoldTable: (e, data) => {
184
187
  console.log({ e, data });
185
- }, showConnection: true }), _jsxs("div", { className: "w-1/5 p-4", onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, children: [_jsx("div", { id: "table" }), _jsxs("div", { className: "rounded-lg bg-white p-4", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Section" }), sections.map((section) => (_jsxs("div", { className: clsx("font-bold text-white rounded-md p-2 cursor-pointer", sectionActive === section.id && "!bg-blue-500"), style: { backgroundColor: section.color }, onClick: () => setSectionActive(section.id), children: [_jsx("h2", { className: "text-lg", children: section.name }), section.items.length > 0 && (_jsx("ul", { className: "list-disc pl-5 bg-opacity-50 bg-white p-2 rounded ", children: section.items.map((item) => (_jsx("li", { children: item.name }, item.id))) }))] }, section.id)))] })] }), _jsx("div", { className: "w-1/5 p-4", children: _jsx("div", { className: "rounded-lg bg-white p-4", children: _jsx("h1", { className: "text-2xl font-bold", children: "Nodes" }) }) })] }) }));
188
+ }, showConnection: true, groupSelection: {
189
+ colorGroupSelection: COLORS_SECTION,
190
+ dataKey: "uuid_table",
191
+ selection: selection
192
+ } }), _jsxs("div", { className: "w-1/5 p-4", onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, children: [_jsx("div", { id: "table" }), _jsxs("div", { className: "rounded-lg bg-white p-4", children: [_jsx("h1", { className: "text-2xl font-bold", children: "Section" }), sections.map((section) => (_jsxs("div", { className: clsx("font-bold text-white rounded-md p-2 cursor-pointer", sectionActive === section.id && "!bg-blue-500"), style: { backgroundColor: section.color }, onClick: () => setSectionActive(section.id), children: [_jsx("h2", { className: "text-lg", children: section.name }), section.items.length > 0 && (_jsx("ul", { className: "list-disc pl-5 bg-opacity-50 bg-white p-2 rounded ", children: section.items.map((item) => (_jsx("li", { children: item.name }, item.id))) }))] }, section.id)))] })] }), _jsx("div", { className: "w-1/5 p-4", children: _jsx("div", { className: "rounded-lg bg-white p-4", children: _jsx("h1", { className: "text-2xl font-bold", children: "Nodes" }) }) })] }) }));
186
193
  }
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import clsx from "clsx";
3
3
  import LayerView from "../../features/view-only-5";
4
- import { data } from "./constant";
4
+ import { COLORS_SECTION, data, NODE_PROPERTIES } from "./constant";
5
5
  import { Button } from "antd";
6
6
  import { useMemo, useState } from "react";
7
+ import { selection } from "./selection";
7
8
  export default function GraphView() {
8
9
  const [isConnecting, setIsConnecting] = useState(false);
9
10
  const [actionPrivileged, setActionPrivileged] = useState({
@@ -152,12 +153,14 @@ export default function GraphView() {
152
153
  {item.name}
153
154
  </Button>))}
154
155
  </div>
155
- <LayerView componentProps={componentSection} statusKey="section" defaultBackground="#1e2d4a" mappingKey="properties" keyNode="nodes" onEdgesChange={(edges, table) => {
156
+ <LayerView componentProps={componentSection} statusKey="section" defaultBackground="#1e2d4a" mappingKey="properties" keyNode="nodes" onEdgesChange={(edges) => {
156
157
  console.log(edges, "edges");
157
158
  setEdges(edges);
158
- }} initialEdges={edges} isConnectEdge={isConnecting} isSelectNode={isSelectNode} connectionMatchKey={{
159
+ }} initialEdges={NODE_PROPERTIES} isConnectEdge={isConnecting} isSelectNode={isSelectNode} connectionMatchKey={{
159
160
  key: "use_checking_availability",
160
161
  value: 0
162
+ }} onTableMainConnection={(e) => {
163
+ console.log({ e });
161
164
  }}
162
165
  // extraComponentProps={background}
163
166
  onSelectComponent={handleSelectItem}
@@ -188,7 +191,11 @@ export default function GraphView() {
188
191
  console.log({ e, data });
189
192
  }} allowTooltip={true} onHoldTable={(e, data) => {
190
193
  console.log({ e, data });
191
- }} showConnection={true}/>
194
+ }} showConnection={true} groupSelection={{
195
+ colorGroupSelection: COLORS_SECTION,
196
+ dataKey: "uuid_table",
197
+ selection: selection
198
+ }}/>
192
199
  <div className="w-1/5 p-4" onMouseMove={handleMouseMove} onMouseLeave={handleMouseLeave}>
193
200
  <div id="table"/>
194
201
  <div className="rounded-lg bg-white p-4">
@@ -3,4 +3,4 @@ import "./globals.css";
3
3
  export declare const metadata: Metadata;
4
4
  export default function RootLayout({ children, }: Readonly<{
5
5
  children: React.ReactNode;
6
- }>): import("react/jsx-runtime").JSX.Element;
6
+ }>): import("react").JSX.Element;
@@ -1 +1 @@
1
- export default function NewBoard(): import("react/jsx-runtime").JSX.Element;
1
+ export default function NewBoard(): import("react").JSX.Element;
@@ -1,2 +1,3 @@
1
- declare const SeatEditor: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ declare const SeatEditor: () => React.JSX.Element;
2
3
  export default SeatEditor;
@@ -1 +1 @@
1
- export function ChairIcon(): import("react/jsx-runtime").JSX.Element;
1
+ export function ChairIcon(): import("react").JSX.Element;
@@ -1,4 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  export const ChairIcon = () => {
3
- return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("g", { "clip-path": "url(#clip0_3019_14165)", children: _jsx("path", { d: "M15.9717 7.5339V4.70339C15.9717 3.07627 14.7076 2.5 13.5189 2.5H6.46226C5.27359 2.5 4.00943 3.07627 4.00943 4.70339V7.5339C3.14151 7.73729 2.5 8.4322 2.5 9.27966V13.822C2.5 15.161 3.5 15.6864 4.48113 15.7373V16.8898C4.48113 17.2288 4.78302 17.5 5.16038 17.5H5.85849C6.23585 17.5 6.53774 17.2288 6.53774 16.8898V15.7373H13.4623V16.8898C13.4623 17.2288 13.7642 17.5 14.1415 17.5H14.8396C15.217 17.5 15.5189 17.2288 15.5189 16.8898V15.7373C16.9717 15.6695 17.5 14.7203 17.5 13.822V9.26271C17.4623 8.4322 16.8208 7.72034 15.9717 7.5339ZM4.68868 4.70339C4.68868 3.31356 5.80189 3.09322 6.46226 3.09322H13.5189C14.1792 3.09322 15.2925 3.29661 15.2925 4.68644V7.4661C14.2736 7.55085 13.4623 8.31356 13.4623 9.26271V9.68644H6.51887V9.26271C6.51887 8.31356 5.70755 7.55085 4.68868 7.4661V4.70339ZM13.4434 10.2966V12.3983H6.51887V10.2966H13.4434ZM5.85849 16.8898H5.16038V15.7373H5.85849V16.8898ZM14.8208 16.8898H14.1226V15.7373H14.8208V16.8898ZM16.8208 13.822H16.8019C16.8019 14.4153 16.5566 15.1441 15.3302 15.1441H14.8208H14.1226H5.85849H5.16038H4.65094C3.99057 15.1441 3.17925 14.9237 3.17925 13.822V9.26271C3.17925 8.6017 3.78302 8.05932 4.51887 8.05932C5.25472 8.05932 5.85849 8.6017 5.85849 9.26271V12.7034C5.85849 12.8729 6.00943 13.0085 6.19811 13.0085H13.8019C13.9906 13.0085 14.1415 12.8729 14.1415 12.7034V9.26271C14.1415 8.6017 14.7453 8.05932 15.4811 8.05932C16.217 8.05932 16.8208 8.6017 16.8208 9.26271V13.822Z", fill: "#347ADB", stroke: "#347ADB", "stroke-width": "0.8" }) }), _jsx("defs", { children: _jsx("clipPath", { id: "clip0_3019_14165", children: _jsx("rect", { width: "16.6667", height: "16.6667", fill: "white", transform: "translate(1.66675 1.6665)" }) }) })] }));
2
+ return (<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <g clip-path="url(#clip0_3019_14165)">
4
+ <path d="M15.9717 7.5339V4.70339C15.9717 3.07627 14.7076 2.5 13.5189 2.5H6.46226C5.27359 2.5 4.00943 3.07627 4.00943 4.70339V7.5339C3.14151 7.73729 2.5 8.4322 2.5 9.27966V13.822C2.5 15.161 3.5 15.6864 4.48113 15.7373V16.8898C4.48113 17.2288 4.78302 17.5 5.16038 17.5H5.85849C6.23585 17.5 6.53774 17.2288 6.53774 16.8898V15.7373H13.4623V16.8898C13.4623 17.2288 13.7642 17.5 14.1415 17.5H14.8396C15.217 17.5 15.5189 17.2288 15.5189 16.8898V15.7373C16.9717 15.6695 17.5 14.7203 17.5 13.822V9.26271C17.4623 8.4322 16.8208 7.72034 15.9717 7.5339ZM4.68868 4.70339C4.68868 3.31356 5.80189 3.09322 6.46226 3.09322H13.5189C14.1792 3.09322 15.2925 3.29661 15.2925 4.68644V7.4661C14.2736 7.55085 13.4623 8.31356 13.4623 9.26271V9.68644H6.51887V9.26271C6.51887 8.31356 5.70755 7.55085 4.68868 7.4661V4.70339ZM13.4434 10.2966V12.3983H6.51887V10.2966H13.4434ZM5.85849 16.8898H5.16038V15.7373H5.85849V16.8898ZM14.8208 16.8898H14.1226V15.7373H14.8208V16.8898ZM16.8208 13.822H16.8019C16.8019 14.4153 16.5566 15.1441 15.3302 15.1441H14.8208H14.1226H5.85849H5.16038H4.65094C3.99057 15.1441 3.17925 14.9237 3.17925 13.822V9.26271C3.17925 8.6017 3.78302 8.05932 4.51887 8.05932C5.25472 8.05932 5.85849 8.6017 5.85849 9.26271V12.7034C5.85849 12.8729 6.00943 13.0085 6.19811 13.0085H13.8019C13.9906 13.0085 14.1415 12.8729 14.1415 12.7034V9.26271C14.1415 8.6017 14.7453 8.05932 15.4811 8.05932C16.217 8.05932 16.8208 8.6017 16.8208 9.26271V13.822Z" fill="#347ADB" stroke="#347ADB" stroke-width="0.8"/>
5
+ </g>
6
+ <defs>
7
+ <clipPath id="clip0_3019_14165">
8
+ <rect width="16.6667" height="16.6667" fill="white" transform="translate(1.66675 1.6665)"/>
9
+ </clipPath>
10
+ </defs>
11
+ </svg>);
4
12
  };
@@ -17,5 +17,5 @@ export declare const dummyImage: {
17
17
  y: number;
18
18
  }[];
19
19
  }[];
20
- declare const TouchScrollDetect: () => import("react/jsx-runtime").JSX.Element;
20
+ declare const TouchScrollDetect: () => import("react").JSX.Element;
21
21
  export default TouchScrollDetect;
@@ -1 +1 @@
1
- export function UserIcon(): import("react/jsx-runtime").JSX.Element;
1
+ export function UserIcon(): import("react").JSX.Element;
@@ -1,4 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  export const UserIcon = () => {
3
- return (_jsxs("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M7.61992 10.1625C9.00754 10.1625 10.1324 9.03757 10.1324 7.64995C10.1324 6.26234 9.00754 5.13745 7.61992 5.13745C6.23231 5.13745 5.10742 6.26234 5.10742 7.64995C5.10742 9.03757 6.23231 10.1625 7.61992 10.1625Z", fill: "#5E6278" }), _jsx("path", { d: "M7.62 14.9999C9.34313 14.9999 10.74 14.1168 10.74 13.0274C10.74 11.9381 9.34313 11.0549 7.62 11.0549C5.89687 11.0549 4.5 11.9381 4.5 13.0274C4.5 14.1168 5.89687 14.9999 7.62 14.9999Z", fill: "#5E6278" }), _jsx("path", { opacity: "0.3", d: "M11.595 4.23C12.7631 4.23 13.71 3.28308 13.71 2.115C13.71 0.946918 12.7631 0 11.595 0C10.4269 0 9.47998 0.946918 9.47998 2.115C9.47998 3.28308 10.4269 4.23 11.595 4.23Z", fill: "#5E6278" }), _jsx("path", { opacity: "0.3", d: "M3.62257 4.23C4.79065 4.23 5.73757 3.28308 5.73757 2.115C5.73757 0.946918 4.79065 0 3.62257 0C2.45449 0 1.50757 0.946918 1.50757 2.115C1.50757 3.28308 2.45449 4.23 3.62257 4.23Z", fill: "#5E6278" }), _jsxs("g", { opacity: "0.3", children: [_jsx("path", { d: "M11.4749 5.87256C11.2349 5.87256 11.0024 5.87256 10.7699 5.91006C11.1229 6.52313 11.2825 7.22856 11.2276 7.93388C11.1727 8.63919 10.906 9.31147 10.4624 9.86256C10.7984 9.92909 11.1399 9.96424 11.4824 9.96756C13.3874 9.96756 14.9249 9.04506 14.9249 7.92006C14.9249 6.79506 13.3799 5.87256 11.4749 5.87256Z", fill: "#5E6278" }), _jsx("path", { d: "M3.4499 6C3.6899 6 3.9224 6 4.1549 6.0375C3.80187 6.65057 3.64233 7.356 3.6972 8.06132C3.75208 8.76664 4.0188 9.43891 4.4624 9.99C4.12639 10.0565 3.78492 10.0917 3.4424 10.095C1.5374 10.095 -9.77516e-05 9.1725 -9.77516e-05 8.0475C-9.77516e-05 6.9225 1.5449 6 3.4499 6Z", fill: "#5E6278" })] })] }));
2
+ return (<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="M7.61992 10.1625C9.00754 10.1625 10.1324 9.03757 10.1324 7.64995C10.1324 6.26234 9.00754 5.13745 7.61992 5.13745C6.23231 5.13745 5.10742 6.26234 5.10742 7.64995C5.10742 9.03757 6.23231 10.1625 7.61992 10.1625Z" fill="#5E6278"/>
4
+ <path d="M7.62 14.9999C9.34313 14.9999 10.74 14.1168 10.74 13.0274C10.74 11.9381 9.34313 11.0549 7.62 11.0549C5.89687 11.0549 4.5 11.9381 4.5 13.0274C4.5 14.1168 5.89687 14.9999 7.62 14.9999Z" fill="#5E6278"/>
5
+ <path opacity="0.3" d="M11.595 4.23C12.7631 4.23 13.71 3.28308 13.71 2.115C13.71 0.946918 12.7631 0 11.595 0C10.4269 0 9.47998 0.946918 9.47998 2.115C9.47998 3.28308 10.4269 4.23 11.595 4.23Z" fill="#5E6278"/>
6
+ <path opacity="0.3" d="M3.62257 4.23C4.79065 4.23 5.73757 3.28308 5.73757 2.115C5.73757 0.946918 4.79065 0 3.62257 0C2.45449 0 1.50757 0.946918 1.50757 2.115C1.50757 3.28308 2.45449 4.23 3.62257 4.23Z" fill="#5E6278"/>
7
+ <g opacity="0.3">
8
+ <path d="M11.4749 5.87256C11.2349 5.87256 11.0024 5.87256 10.7699 5.91006C11.1229 6.52313 11.2825 7.22856 11.2276 7.93388C11.1727 8.63919 10.906 9.31147 10.4624 9.86256C10.7984 9.92909 11.1399 9.96424 11.4824 9.96756C13.3874 9.96756 14.9249 9.04506 14.9249 7.92006C14.9249 6.79506 13.3799 5.87256 11.4749 5.87256Z" fill="#5E6278"/>
9
+ <path d="M3.4499 6C3.6899 6 3.9224 6 4.1549 6.0375C3.80187 6.65057 3.64233 7.356 3.6972 8.06132C3.75208 8.76664 4.0188 9.43891 4.4624 9.99C4.12639 10.0565 3.78492 10.0917 3.4424 10.095C1.5374 10.095 -9.77516e-05 9.1725 -9.77516e-05 8.0475C-9.77516e-05 6.9225 1.5449 6 3.4499 6Z" fill="#5E6278"/>
10
+ </g>
11
+ </svg>);
4
12
  };
@@ -1,2 +1,2 @@
1
- declare const TableEditor: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const TableEditor: () => import("react").JSX.Element;
2
2
  export default TableEditor;
@@ -1 +1,2 @@
1
- export default function DraggableRect(): import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export default function DraggableRect(): React.JSX.Element;
@@ -1,2 +1,2 @@
1
- declare const TableEditor: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const TableEditor: () => import("react").JSX.Element;
2
2
  export default TableEditor;
@@ -7,5 +7,5 @@ type ButtonRadioProps<T extends string> = {
7
7
  value?: T;
8
8
  onChange?: (value: T) => void;
9
9
  };
10
- declare const ButtonRadio: <T extends string>({ options, value, onChange, }: ButtonRadioProps<T>) => import("react/jsx-runtime").JSX.Element;
10
+ declare const ButtonRadio: <T extends string>({ options, value, onChange, }: ButtonRadioProps<T>) => import("react").JSX.Element;
11
11
  export default ButtonRadio;
@@ -7,5 +7,5 @@ interface ButtonToolsProps {
7
7
  }>;
8
8
  popoverProps?: PopoverProps;
9
9
  }
10
- declare const ButtonTools: (props: ButtonToolsProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const ButtonTools: (props: ButtonToolsProps) => import("react").JSX.Element;
11
11
  export default ButtonTools;
@@ -1,2 +1,2 @@
1
- declare const SectionLabel: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const SectionLabel: () => import("react").JSX.Element;
2
2
  export default SectionLabel;
@@ -1,9 +1,9 @@
1
1
  export declare const optionsShape: {
2
2
  value: string;
3
3
  label: string;
4
- icon: import("react/jsx-runtime").JSX.Element;
4
+ icon: import("react").JSX.Element;
5
5
  }[];
6
6
  declare const SectionShape: ({ allowChangeShape, }: {
7
7
  allowChangeShape?: boolean;
8
- }) => import("react/jsx-runtime").JSX.Element;
8
+ }) => import("react").JSX.Element;
9
9
  export default SectionShape;
@@ -1 +1,2 @@
1
- export declare const Camera: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Camera: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Circle: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Circle: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Square: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Square: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Type1Icon: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Type1Icon: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Type2Icon: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Type2Icon: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Type3Icon: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Type3Icon: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Type4Icon: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Type4Icon: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const Type5Icon: () => import("react/jsx-runtime").JSX.Element;
1
+ import React from "react";
2
+ export declare const Type5Icon: () => React.JSX.Element;
@@ -3,5 +3,5 @@ interface NumberIndicatorProps {
3
3
  defaultValue?: number;
4
4
  onChange: (value: number) => void;
5
5
  }
6
- declare const NumberIndicator: ({ name, defaultValue, onChange }: NumberIndicatorProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const NumberIndicator: ({ name, defaultValue, onChange }: NumberIndicatorProps) => import("react").JSX.Element;
7
7
  export default NumberIndicator;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  type JoystickPosition = {
2
3
  x: number;
3
4
  y: number;
@@ -7,5 +8,5 @@ type JoystickProps = {
7
8
  onMove?: (pos: JoystickPosition) => void;
8
9
  onEnd?: () => void;
9
10
  };
10
- export declare const Joystick: ({ size, onMove, onEnd, }: JoystickProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const Joystick: ({ size, onMove, onEnd, }: JoystickProps) => React.JSX.Element;
11
12
  export {};
@@ -15,5 +15,5 @@ interface LayersProps {
15
15
  onTouchMove?: (e: React.TouchEvent<SVGRectElement | SVGCircleElement | SVGTextElement | SVGImageElement>) => void;
16
16
  onTouchEnd?: (e: React.TouchEvent<SVGRectElement | SVGCircleElement | SVGTextElement | SVGImageElement>) => void;
17
17
  }
18
- declare const Layers: ({ shadowShape, components, onClick, selectedComponent, selectedTable, activeTool, onMouseDown, onMouseUp, onBlur, selectedTableColor, mode, style, onTouchEnd, onTouchMove, onTouchStart }: LayersProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const Layers: ({ shadowShape, components, onClick, selectedComponent, selectedTable, activeTool, onMouseDown, onMouseUp, onBlur, selectedTableColor, mode, style, onTouchEnd, onTouchMove, onTouchStart }: LayersProps) => import("react").JSX.Element;
19
19
  export default Layers;
@@ -15,5 +15,5 @@ interface LayersProps {
15
15
  onTouchMove?: (e: React.TouchEvent<SVGRectElement | SVGCircleElement | SVGTextElement | SVGImageElement>) => void;
16
16
  onTouchEnd?: (e: React.TouchEvent<SVGRectElement | SVGCircleElement | SVGTextElement | SVGImageElement>) => void;
17
17
  }
18
- declare const Layers: ({ shadowShape, components, onClick, selectedComponent, selectedTable, activeTool, onMouseDown, onMouseUp, onBlur, selectedTableColor, mode, style, onTouchStart }: LayersProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const Layers: ({ shadowShape, components, onClick, selectedComponent, selectedTable, activeTool, onMouseDown, onMouseUp, onBlur, selectedTableColor, mode, style, onTouchStart }: LayersProps) => import("react").JSX.Element;
19
19
  export default Layers;
@@ -1,4 +1,5 @@
1
1
  import { PropertiesProps, BaseElement, Label, Point } from "../../dto/table";
2
+ import React from "react";
2
3
  export interface SelectionLines extends BaseElement {
3
4
  points?: Point[];
4
5
  id?: string | number;
@@ -9,7 +10,7 @@ interface LayersProps {
9
10
  activeTool?: string;
10
11
  selectionLines?: SelectionLines;
11
12
  }
12
- declare const Layers: ({ components, selectedComponent, activeTool, selectionLines, }: LayersProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const Layers: ({ components, selectedComponent, activeTool, selectionLines, }: LayersProps) => React.JSX.Element;
13
14
  export declare const LabelItem: ({ id, width, height, labels, commonProps, rotation, }: {
14
15
  id: string | number;
15
16
  width: number;
@@ -17,5 +18,5 @@ export declare const LabelItem: ({ id, width, height, labels, commonProps, rotat
17
18
  labels: Label[];
18
19
  commonProps: any;
19
20
  rotation?: number;
20
- }) => import("react/jsx-runtime").JSX.Element;
21
+ }) => React.JSX.Element;
21
22
  export default Layers;
@@ -20,5 +20,5 @@ interface LayersProps {
20
20
  items: string[];
21
21
  }[];
22
22
  }
23
- declare const Layers: ({ components, selectedTable, iconTags, eventMatchTable, onHighlightGroup, onForceRestoreGroup, selectedTableColor, privilegedTags, }: LayersProps) => import("react/jsx-runtime").JSX.Element;
23
+ declare const Layers: ({ components, selectedTable, iconTags, eventMatchTable, onHighlightGroup, onForceRestoreGroup, selectedTableColor, privilegedTags, }: LayersProps) => import("react").JSX.Element;
24
24
  export default Layers;
@@ -1 +1 @@
1
- export declare const IconCross: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const IconCross: () => import("react").JSX.Element;
@@ -23,5 +23,5 @@ interface LayersProps {
23
23
  }[];
24
24
  selectionLines?: SelectionLines;
25
25
  }
26
- declare const Layers: ({ components, selectedTable, iconTags, eventMatchTable, onHighlightGroup, onForceRestoreGroup, selectedTableColor, selectionLines, }: LayersProps) => import("react/jsx-runtime").JSX.Element;
26
+ declare const Layers: ({ components, selectedTable, iconTags, eventMatchTable, onHighlightGroup, onForceRestoreGroup, selectedTableColor, selectionLines, }: LayersProps) => React.JSX.Element;
27
27
  export default Layers;
@@ -3,6 +3,6 @@ export interface LayerViewProps {
3
3
  componentProps: any[];
4
4
  extraComponentProps: any[];
5
5
  }
6
- declare const TableEditor: ({ componentProps, extraComponentProps, }: LayerViewProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const TableEditor: ({ componentProps, extraComponentProps, }: LayerViewProps) => import("react").JSX.Element;
7
7
  export default TableEditor;
8
8
  export { LayerView };
@@ -2,5 +2,5 @@ import { ModalProps } from "antd";
2
2
  declare const ModalPreview: ({ children, modalProps }: {
3
3
  children: React.ReactNode;
4
4
  modalProps?: ModalProps;
5
- }) => import("react/jsx-runtime").JSX.Element;
5
+ }) => import("react").JSX.Element;
6
6
  export default ModalPreview;
@@ -2,5 +2,5 @@ interface BoardTemplateProps {
2
2
  onSelectComponent?: (items: any) => void;
3
3
  mappingKey?: string;
4
4
  }
5
- declare const BoardTemplate: ({ onSelectComponent }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
5
+ declare const BoardTemplate: ({ onSelectComponent }: BoardTemplateProps) => import("react").JSX.Element;
6
6
  export default BoardTemplate;
@@ -1,7 +1,8 @@
1
+ import React from "react";
1
2
  interface BoardTemplateProps {
2
3
  onSelectComponent?: (items: any) => void;
3
4
  mappingKey?: string;
4
5
  viewOnly?: boolean;
5
6
  }
6
- declare const BoardTemplate: ({ onSelectComponent, viewOnly }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const BoardTemplate: ({ onSelectComponent, viewOnly }: BoardTemplateProps) => React.JSX.Element;
7
8
  export default BoardTemplate;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  type IconProps = React.HTMLAttributes<SVGElement>;
3
3
  export declare const RsvpIcons: Record<string, React.FC<IconProps>>;
4
- export declare const WarningIcon: () => import("react/jsx-runtime").JSX.Element;
4
+ export declare const WarningIcon: () => React.JSX.Element;
5
5
  export {};
@@ -18,5 +18,5 @@ interface BoardTemplateProps {
18
18
  label: string;
19
19
  }[];
20
20
  }
21
- declare const BoardTemplate: ({ refs, loadingRender, disabled, previewActive, }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
21
+ declare const BoardTemplate: ({ refs, loadingRender, disabled, previewActive, }: BoardTemplateProps) => React.JSX.Element;
22
22
  export default BoardTemplate;
@@ -1,2 +1,2 @@
1
- declare const Navbar: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const Navbar: () => import("react").JSX.Element;
2
2
  export default Navbar;
@@ -54,5 +54,5 @@ export interface TableEditorProps<TMeta = undefined> {
54
54
  label: string;
55
55
  }[];
56
56
  }
57
- declare const TableEditor: <TMeta>(props: TableEditorProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
57
+ declare const TableEditor: <TMeta>(props: TableEditorProps<TMeta>) => React.JSX.Element;
58
58
  export default TableEditor;
@@ -9,6 +9,6 @@ interface FormPlaceholderContextType {
9
9
  setPlaceholderBulk: (bulk: Record<string, string>) => void;
10
10
  resetPlaceholders: () => void;
11
11
  }
12
- declare const ControlPanels: (props: ControlPanelsProps) => import("react/jsx-runtime").JSX.Element;
12
+ declare const ControlPanels: (props: ControlPanelsProps) => import("react").JSX.Element;
13
13
  export default ControlPanels;
14
14
  export declare const useFormPlaceholder: () => FormPlaceholderContextType;
@@ -1,2 +1,2 @@
1
- declare const PolygonTool: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const PolygonTool: () => import("react").JSX.Element;
2
2
  export default PolygonTool;
@@ -1,5 +1,5 @@
1
1
  declare const SelectToolForm: ({ action, tranform }: {
2
2
  action: any;
3
3
  tranform: any;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react").JSX.Element;
5
5
  export default SelectToolForm;
@@ -1,4 +1,4 @@
1
1
  declare const SelectedGroup: ({ action, }: {
2
2
  action?: (file: File) => Promise<string>;
3
- }) => import("react/jsx-runtime").JSX.Element;
3
+ }) => import("react").JSX.Element;
4
4
  export default SelectedGroup;
@@ -1,2 +1,2 @@
1
- declare const SquareToolForm: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const SquareToolForm: () => import("react").JSX.Element;
2
2
  export default SquareToolForm;
@@ -1,2 +1,2 @@
1
- declare const SeatCircle: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const SeatCircle: () => import("react").JSX.Element;
2
2
  export default SeatCircle;
@@ -1,2 +1,2 @@
1
- declare const SeatSquare: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const SeatSquare: () => import("react").JSX.Element;
2
2
  export default SeatSquare;
@@ -1,2 +1,2 @@
1
- declare const TextTool: () => import("react/jsx-runtime").JSX.Element;
1
+ declare const TextTool: () => import("react").JSX.Element;
2
2
  export default TextTool;
@@ -6,5 +6,5 @@ interface UploadToolProps {
6
6
  defaultValue?: PropertiesProps;
7
7
  transform?: any;
8
8
  }
9
- declare const UploadTool: ({ name, type, action, transform }: UploadToolProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const UploadTool: ({ name, type, action, transform }: UploadToolProps) => import("react").JSX.Element;
10
10
  export default UploadTool;
@@ -6,5 +6,5 @@ interface UploadToolProps {
6
6
  defaultValue?: PropertiesProps;
7
7
  transform?: any;
8
8
  }
9
- declare const UploadToolForm: (props: UploadToolProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const UploadToolForm: (props: UploadToolProps) => import("react").JSX.Element;
10
10
  export default UploadToolForm;
@@ -1 +1 @@
1
- export declare const FontSizeIcon: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const FontSizeIcon: () => import("react").JSX.Element;
@@ -9,5 +9,5 @@ declare const SideTool: ({ dragOnly, deleteAutorized, previewActive }: {
9
9
  type: ShowTagType;
10
10
  label: string;
11
11
  }[];
12
- }) => import("react/jsx-runtime").JSX.Element;
12
+ }) => import("react").JSX.Element;
13
13
  export default SideTool;
@@ -15,5 +15,5 @@ export interface LayerViewProps {
15
15
  containerProps?: any;
16
16
  svgProps?: any;
17
17
  }
18
- declare const LayerView: (props: LayerViewProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const LayerView: (props: LayerViewProps) => import("react").JSX.Element;
19
19
  export default LayerView;
@@ -91,5 +91,5 @@ export interface LayerViewProps<TMeta = undefined> {
91
91
  rightClick: boolean;
92
92
  };
93
93
  }
94
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
94
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
95
95
  export default LayerView;
@@ -95,5 +95,5 @@ export interface LayerViewProps<TMeta = undefined> {
95
95
  };
96
96
  defaultFontSizeType?: ShowTagType;
97
97
  }
98
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
99
99
  export default LayerView;
@@ -95,5 +95,5 @@ export interface LayerViewProps<TMeta = undefined> {
95
95
  onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
96
96
  keyNode: string;
97
97
  }
98
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
99
99
  export default LayerView;
@@ -102,7 +102,7 @@ export interface LayerViewProps<TMeta = undefined> {
102
102
  connectingNode?: boolean;
103
103
  dragTransferTable?: boolean;
104
104
  };
105
- onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
105
+ onEdgesChange?: (edges: EdgeType[]) => void;
106
106
  keyNode?: string;
107
107
  isConnectEdge?: boolean;
108
108
  isSelectNode?: boolean;
@@ -122,5 +122,5 @@ export interface LayerViewProps<TMeta = undefined> {
122
122
  };
123
123
  onTableMainConnection?: (id: string | null) => void;
124
124
  }
125
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
125
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
126
126
  export default LayerView;
@@ -651,7 +651,8 @@ const LayerView = (props) => {
651
651
  tableMatchKey,
652
652
  statusKey,
653
653
  initialEdges: props === null || props === void 0 ? void 0 : props.initialEdges,
654
- onTableMainConnection: props === null || props === void 0 ? void 0 : props.onTableMainConnection
654
+ onTableMainConnection: props === null || props === void 0 ? void 0 : props.onTableMainConnection,
655
+ groupSelection
655
656
  });
656
657
  // ─── Render ───────────────────────────────────────────────────────────────
657
658
  const hasBoundingBox = hasBoundingBoxRef.current;
@@ -693,10 +694,7 @@ const LayerView = (props) => {
693
694
  const rotated = rotatePoint(item.width / 2, item.height / 2, (_a = item.rotation) !== null && _a !== void 0 ? _a : 0);
694
695
  return (_jsx(ConnectHandle, {
695
696
  // isAnchor={true}
696
- connecting: graph.connecting, cx: item.x + rotated.x, cy: item.y + rotated.y, width: (_b = item.width) !== null && _b !== void 0 ? _b : 100, height: (_c = item.height) !== null && _c !== void 0 ? _c : 50, rotation: (_d = item.rotation) !== null && _d !== void 0 ? _d : 0, nodeId: (_e = item === null || item === void 0 ? void 0 : item[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _e !== void 0 ? _e : String(item.id), isConnecting: !!graph.connecting, isDraggingAnchor: !!graph.draggingAnchor, onStartConnect: (nodeId, clickPos) => {
697
- graph.startConnect(nodeId, clickPos);
698
- onTableMainConnection && onTableMainConnection(nodeId);
699
- }, onEndConnect: (nodeId, clickPos) => {
697
+ connecting: graph.connecting, cx: item.x + rotated.x, cy: item.y + rotated.y, width: (_b = item.width) !== null && _b !== void 0 ? _b : 100, height: (_c = item.height) !== null && _c !== void 0 ? _c : 50, rotation: (_d = item.rotation) !== null && _d !== void 0 ? _d : 0, nodeId: (_e = item === null || item === void 0 ? void 0 : item[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _e !== void 0 ? _e : String(item.id), isConnecting: !!graph.connecting, isDraggingAnchor: !!graph.draggingAnchor, onStartConnect: (nodeId, clickPos) => graph.startConnect(nodeId, clickPos), onEndConnect: (nodeId, clickPos) => {
700
698
  if (graph.draggingAnchor)
701
699
  graph.updateAnchor(nodeId, clickPos);
702
700
  else
@@ -650,7 +650,8 @@ const LayerView = (props) => {
650
650
  tableMatchKey,
651
651
  statusKey,
652
652
  initialEdges: props === null || props === void 0 ? void 0 : props.initialEdges,
653
- onTableMainConnection: props === null || props === void 0 ? void 0 : props.onTableMainConnection
653
+ onTableMainConnection: props === null || props === void 0 ? void 0 : props.onTableMainConnection,
654
+ groupSelection
654
655
  });
655
656
  // ─── Render ───────────────────────────────────────────────────────────────
656
657
  const hasBoundingBox = hasBoundingBoxRef.current;
@@ -714,10 +715,7 @@ const LayerView = (props) => {
714
715
  const rotated = rotatePoint(item.width / 2, item.height / 2, (_a = item.rotation) !== null && _a !== void 0 ? _a : 0);
715
716
  return (<ConnectHandle key={item.id}
716
717
  // isAnchor={true}
717
- connecting={graph.connecting} cx={item.x + rotated.x} cy={item.y + rotated.y} width={(_b = item.width) !== null && _b !== void 0 ? _b : 100} height={(_c = item.height) !== null && _c !== void 0 ? _c : 50} rotation={(_d = item.rotation) !== null && _d !== void 0 ? _d : 0} nodeId={(_e = item === null || item === void 0 ? void 0 : item[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _e !== void 0 ? _e : String(item.id)} isConnecting={!!graph.connecting} isDraggingAnchor={!!graph.draggingAnchor} onStartConnect={(nodeId, clickPos) => {
718
- graph.startConnect(nodeId, clickPos);
719
- onTableMainConnection && onTableMainConnection(nodeId);
720
- }} onEndConnect={(nodeId, clickPos) => {
718
+ connecting={graph.connecting} cx={item.x + rotated.x} cy={item.y + rotated.y} width={(_b = item.width) !== null && _b !== void 0 ? _b : 100} height={(_c = item.height) !== null && _c !== void 0 ? _c : 50} rotation={(_d = item.rotation) !== null && _d !== void 0 ? _d : 0} nodeId={(_e = item === null || item === void 0 ? void 0 : item[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _e !== void 0 ? _e : String(item.id)} isConnecting={!!graph.connecting} isDraggingAnchor={!!graph.draggingAnchor} onStartConnect={(nodeId, clickPos) => graph.startConnect(nodeId, clickPos)} onEndConnect={(nodeId, clickPos) => {
721
719
  if (graph.draggingAnchor)
722
720
  graph.updateAnchor(nodeId, clickPos);
723
721
  else
@@ -1,12 +1,11 @@
1
1
  import React from "react";
2
2
  import { EdgeType, NodeType } from "./utils";
3
3
  import { DraggingAnchor } from "./connection-layer";
4
- import { PropertiesProps } from "../../dto/table";
5
4
  import { TableMatchKey } from ".";
6
5
  export type UseConnectionGraphOptions = {
7
6
  svgRef: React.RefObject<SVGSVGElement>;
8
7
  getNodeById: (id: string) => NodeType | null;
9
- onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
8
+ onEdgesChange?: (edges: EdgeType[]) => void;
10
9
  keyNode?: string;
11
10
  mappingKey?: string;
12
11
  tableMatchKey?: TableMatchKey[];
@@ -14,8 +13,13 @@ export type UseConnectionGraphOptions = {
14
13
  showConnection?: boolean;
15
14
  initialEdges?: EdgeType[];
16
15
  onTableMainConnection?: (id: string | null) => void;
16
+ groupSelection?: {
17
+ colorGroupSelection: string[];
18
+ dataKey: string;
19
+ selection: Record<number, string[]>;
20
+ };
17
21
  };
18
- export declare const useConnectionGraph: ({ svgRef, onEdgesChange, keyNode, mappingKey, initialEdges, onTableMainConnection }: UseConnectionGraphOptions) => {
22
+ export declare const useConnectionGraph: ({ svgRef, onEdgesChange, keyNode, mappingKey, initialEdges, onTableMainConnection, groupSelection, }: UseConnectionGraphOptions) => {
19
23
  edges: EdgeType[];
20
24
  setEdges: React.Dispatch<React.SetStateAction<EdgeType[]>>;
21
25
  selectedEdge: string;
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
3
3
  import { rotatePoint, snap } from "./utils";
4
4
  import { useAppSelector } from "../../hooks/use-redux";
5
5
  import { isEqual } from "lodash";
6
- export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey, initialEdges, onTableMainConnection }) => {
6
+ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey, initialEdges, onTableMainConnection, groupSelection, }) => {
7
7
  const components = useAppSelector((state) => state.board.components);
8
8
  const [edges, setEdges] = useState([]);
9
9
  const [selectedEdge, setSelectedEdge] = useState(null);
@@ -27,6 +27,7 @@ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey,
27
27
  const startConnect = useCallback((fromId, fromPos) => {
28
28
  setConnecting({ fromId, fromPos });
29
29
  setSelectedEdge(null);
30
+ onTableMainConnection(fromId);
30
31
  }, []);
31
32
  const endConnect = useCallback((toId, toPos) => {
32
33
  if (!connecting || connecting.fromId === toId) {
@@ -167,24 +168,25 @@ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey,
167
168
  sourceToTargets.set(e.from, []);
168
169
  sourceToTargets.get(e.from).push(e.to);
169
170
  });
170
- const result = components === null || components === void 0 ? void 0 : components.map((table) => {
171
- var _a, _b;
172
- return (Object.assign(Object.assign({}, table), { [keyNode]: (_b = sourceToTargets.get(String((_a = table === null || table === void 0 ? void 0 : table[mappingKey]) === null || _a === void 0 ? void 0 : _a.id))) !== null && _b !== void 0 ? _b : [] }));
173
- });
174
- onEdgesChange === null || onEdgesChange === void 0 ? void 0 : onEdgesChange(edges, result);
175
- }, [edges]);
171
+ // const result = components?.map((table) => ({
172
+ // ...table,
173
+ // [keyNode]: sourceToTargets.get(String(table?.[mappingKey]?.id)) ?? [],
174
+ // }));
175
+ onEdgesChange === null || onEdgesChange === void 0 ? void 0 : onEdgesChange(edges);
176
+ }, [edges, components]);
176
177
  // initialize edges
177
178
  useEffect(() => {
178
179
  if (!isEqual(initialEdges, edges) && components) {
179
180
  //process initial edges
180
181
  const allElements = components === null || components === void 0 ? void 0 : components.map((table) => {
181
182
  if (mappingKey && (table === null || table === void 0 ? void 0 : table[mappingKey])) {
182
- return Object.assign({}, table);
183
+ return Object.assign({}, table === null || table === void 0 ? void 0 : table[mappingKey]);
183
184
  }
184
185
  return Object.assign({}, table);
185
186
  });
186
187
  const transformAllEdges = initialEdges === null || initialEdges === void 0 ? void 0 : initialEdges.map((edge) => {
187
- const fromElement = allElements === null || allElements === void 0 ? void 0 : allElements.find((el) => el.id === edge.from);
188
+ var _a, _b;
189
+ const fromElement = allElements === null || allElements === void 0 ? void 0 : allElements.find((el) => { var _a; return ((_a = el === null || el === void 0 ? void 0 : el[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _a !== void 0 ? _a : el.id) === edge.from; });
188
190
  if (!fromElement)
189
191
  return null;
190
192
  const { x: fromX, y: fromY, rotation: fromRotation, width: fromWidth, height: fromHeight, } = fromElement;
@@ -199,15 +201,15 @@ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey,
199
201
  fromLx = 0;
200
202
  fromLy = -fromHh;
201
203
  }
202
- else if (connecting.fromPos.name === "right") {
204
+ else if (edge.fromPos.name === "right") {
203
205
  fromLx = fromHw;
204
206
  fromLy = 0;
205
207
  }
206
- else if (connecting.fromPos.name === "bottom") {
208
+ else if (edge.fromPos.name === "bottom") {
207
209
  fromLx = 0;
208
210
  fromLy = fromHh;
209
211
  }
210
- else if (connecting.fromPos.name === "left") {
212
+ else if (edge.fromPos.name === "left") {
211
213
  fromLx = -fromHw;
212
214
  fromLy = 0;
213
215
  }
@@ -217,7 +219,7 @@ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey,
217
219
  y: fromCy + fromLx * Math.sin(rad) + fromLy * Math.cos(rad),
218
220
  name: edge.fromPos.name,
219
221
  };
220
- const toElement = allElements === null || allElements === void 0 ? void 0 : allElements.find((el) => el.id === edge.to);
222
+ const toElement = allElements === null || allElements === void 0 ? void 0 : allElements.find((el) => { var _a; return ((_a = el === null || el === void 0 ? void 0 : el[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _a !== void 0 ? _a : el.id) === edge.to; });
221
223
  if (!toElement)
222
224
  return null;
223
225
  const { x: toX, y: toY, rotation: toRotation, width: toWidth, height: toHeight, } = toElement;
@@ -250,12 +252,12 @@ export const useConnectionGraph = ({ svgRef, onEdgesChange, keyNode, mappingKey,
250
252
  y: toCy + toLx * Math.sin(rad2) + toLy * Math.cos(rad2),
251
253
  name: edge.toPos.name,
252
254
  };
253
- return Object.assign(Object.assign({}, edge), { from: fromElement.id, to: toElement.id, fromPos,
255
+ return Object.assign(Object.assign({}, edge), { from: (_a = fromElement === null || fromElement === void 0 ? void 0 : fromElement[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _a !== void 0 ? _a : fromElement.id, to: (_b = toElement === null || toElement === void 0 ? void 0 : toElement[groupSelection === null || groupSelection === void 0 ? void 0 : groupSelection.dataKey]) !== null && _b !== void 0 ? _b : toElement.id, fromPos,
254
256
  toPos });
255
257
  });
256
258
  setEdges(transformAllEdges === null || transformAllEdges === void 0 ? void 0 : transformAllEdges.filter((el) => el !== null));
257
259
  }
258
- }, [initialEdges, components]);
260
+ }, [initialEdges, components, groupSelection, edges]);
259
261
  return {
260
262
  edges,
261
263
  setEdges,
@@ -95,5 +95,5 @@ export interface LayerViewProps<TMeta = undefined> {
95
95
  onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
96
96
  keyNode: string;
97
97
  }
98
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
99
99
  export default LayerView;
@@ -95,5 +95,5 @@ export interface LayerViewProps<TMeta = undefined> {
95
95
  onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
96
96
  keyNode: string;
97
97
  }
98
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
99
99
  export default LayerView;
@@ -1,3 +1,3 @@
1
1
  export declare const ReduxProvider: ({ children }: {
2
2
  children: React.ReactNode;
3
- }) => import("react/jsx-runtime").JSX.Element;
3
+ }) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  export declare const StoreProvider: ({ children, themeColor, }: {
2
2
  children: React.ReactNode;
3
3
  themeColor?: string;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seat-editor",
3
- "version": "3.6.34",
3
+ "version": "3.6.36",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",