seat-editor 3.6.6 → 3.6.8

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 (91) hide show
  1. package/dist/app/graph-view/page.d.ts +1 -1
  2. package/dist/app/graph-view-new/page.d.ts +1 -1
  3. package/dist/app/graph-view-new/page.js +100 -12
  4. package/dist/app/graph-view-new/page.jsx +105 -19
  5. package/dist/app/graph-view-new/test.d.ts +0 -0
  6. package/dist/app/graph-view-new/test.js +0 -0
  7. package/dist/app/graph-view-new/test.jsx +0 -0
  8. package/dist/app/layout.d.ts +1 -1
  9. package/dist/app/new-board/page.d.ts +1 -1
  10. package/dist/app/new-board/page.js +1 -1
  11. package/dist/app/new-board/page.jsx +1 -1
  12. package/dist/app/old-board/page.d.ts +1 -2
  13. package/dist/app/only-view/chair.d.ts +1 -1
  14. package/dist/app/only-view/chair.js +2 -10
  15. package/dist/app/only-view/page.d.ts +1 -1
  16. package/dist/app/only-view/user.d.ts +1 -1
  17. package/dist/app/only-view/user.js +2 -10
  18. package/dist/app/page.d.ts +1 -1
  19. package/dist/app/test/page.d.ts +1 -2
  20. package/dist/app/v2/page.d.ts +1 -1
  21. package/dist/components/button-radio/index.d.ts +1 -1
  22. package/dist/components/button-tools/index.d.ts +1 -1
  23. package/dist/components/form-tools/label.d.ts +1 -1
  24. package/dist/components/form-tools/shape.d.ts +2 -2
  25. package/dist/components/icons/camera.d.ts +1 -2
  26. package/dist/components/icons/circle.d.ts +1 -2
  27. package/dist/components/icons/square.d.ts +1 -2
  28. package/dist/components/icons/type-1.d.ts +1 -2
  29. package/dist/components/icons/type-2.d.ts +1 -2
  30. package/dist/components/icons/type-3.d.ts +1 -2
  31. package/dist/components/icons/type-4.d.ts +1 -2
  32. package/dist/components/icons/type-5.d.ts +1 -2
  33. package/dist/components/input/number-indicator.d.ts +1 -1
  34. package/dist/components/joystick/index.d.ts +1 -2
  35. package/dist/components/layer/index.d.ts +1 -1
  36. package/dist/components/layer-v2/index.d.ts +1 -1
  37. package/dist/components/layer-v3/index.d.ts +2 -3
  38. package/dist/components/layer-v4/index.d.ts +1 -1
  39. package/dist/components/layer-v5/icons.d.ts +1 -0
  40. package/dist/components/layer-v5/icons.js +2 -0
  41. package/dist/components/layer-v5/icons.jsx +3 -0
  42. package/dist/components/layer-v5/index.d.ts +4 -1
  43. package/dist/components/layer-v5/index.js +203 -228
  44. package/dist/components/layer-v5/index.jsx +234 -272
  45. package/dist/components/lib/index.d.ts +1 -1
  46. package/dist/components/modal-preview/index.d.ts +1 -1
  47. package/dist/features/board/index.d.ts +1 -1
  48. package/dist/features/board-v2/index.d.ts +1 -2
  49. package/dist/features/board-v3/icons.d.ts +1 -1
  50. package/dist/features/board-v3/index.d.ts +2 -2
  51. package/dist/features/board-v3/index.js +3 -3
  52. package/dist/features/board-v3/index.jsx +3 -3
  53. package/dist/features/navbar/index.d.ts +1 -1
  54. package/dist/features/package/index.d.ts +2 -2
  55. package/dist/features/package/index.js +1 -1
  56. package/dist/features/package/index.jsx +2 -2
  57. package/dist/features/panel/index.d.ts +1 -1
  58. package/dist/features/panel/polygon.d.ts +1 -1
  59. package/dist/features/panel/select-tool.d.ts +1 -1
  60. package/dist/features/panel/selected-group.d.ts +1 -1
  61. package/dist/features/panel/square-circle-tool.d.ts +1 -1
  62. package/dist/features/panel/table-seat-circle.d.ts +1 -1
  63. package/dist/features/panel/table-seat-square.d.ts +1 -1
  64. package/dist/features/panel/text-tool.d.ts +1 -1
  65. package/dist/features/panel/upload-group-tool.d.ts +1 -1
  66. package/dist/features/panel/upload-tool.d.ts +1 -1
  67. package/dist/features/side-tool/icons.d.ts +1 -1
  68. package/dist/features/side-tool/index.d.ts +3 -3
  69. package/dist/features/side-tool/index.js +2 -2
  70. package/dist/features/side-tool/index.jsx +2 -2
  71. package/dist/features/view-only/index.d.ts +1 -1
  72. package/dist/features/view-only-2/index.d.ts +1 -1
  73. package/dist/features/view-only-3/index.d.ts +1 -1
  74. package/dist/features/view-only-4/index.d.ts +1 -1
  75. package/dist/features/view-only-5/connect-handle.d.ts +7 -0
  76. package/dist/features/view-only-5/connect-handle.js +10 -7
  77. package/dist/features/view-only-5/connect-handle.jsx +11 -7
  78. package/dist/features/view-only-5/connection-layer.d.ts +0 -1
  79. package/dist/features/view-only-5/connection-layer.js +7 -5
  80. package/dist/features/view-only-5/connection-layer.jsx +7 -5
  81. package/dist/features/view-only-5/index.d.ts +14 -5
  82. package/dist/features/view-only-5/index.js +168 -123
  83. package/dist/features/view-only-5/index.jsx +169 -124
  84. package/dist/features/view-only-5/use-connection-graph.js +1 -1
  85. package/dist/features/view-only-5/utils.d.ts +7 -1
  86. package/dist/features/view-only-5/utils.js +15 -7
  87. package/dist/features/view-only-6/index.d.ts +1 -1
  88. package/dist/features/view-only-7/index.d.ts +1 -1
  89. package/dist/provider/redux-provider.d.ts +1 -1
  90. package/dist/provider/store-provider.d.ts +1 -1
  91. package/package.json +1 -1
@@ -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.Element;
6
+ declare const TableEditor: ({ componentProps, extraComponentProps, }: LayerViewProps) => import("react/jsx-runtime").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.Element;
5
+ }) => import("react/jsx-runtime").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.Element;
5
+ declare const BoardTemplate: ({ onSelectComponent }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export default BoardTemplate;
@@ -1,8 +1,7 @@
1
- import React from "react";
2
1
  interface BoardTemplateProps {
3
2
  onSelectComponent?: (items: any) => void;
4
3
  mappingKey?: string;
5
4
  viewOnly?: boolean;
6
5
  }
7
- declare const BoardTemplate: ({ onSelectComponent, viewOnly }: BoardTemplateProps) => React.JSX.Element;
6
+ declare const BoardTemplate: ({ onSelectComponent, viewOnly }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
8
7
  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: () => React.JSX.Element;
4
+ export declare const WarningIcon: () => import("react/jsx-runtime").JSX.Element;
5
5
  export {};
@@ -13,10 +13,10 @@ interface BoardTemplateProps {
13
13
  element: React.JSX.Element;
14
14
  };
15
15
  disabled?: boolean;
16
- priviewActive?: {
16
+ previewActive?: {
17
17
  type: ShowTagType;
18
18
  label: string;
19
19
  }[];
20
20
  }
21
- declare const BoardTemplate: ({ refs, loadingRender, disabled, priviewActive, }: BoardTemplateProps) => React.JSX.Element;
21
+ declare const BoardTemplate: ({ refs, loadingRender, disabled, previewActive, }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
22
22
  export default BoardTemplate;
@@ -19,7 +19,7 @@ import { WarningIcon } from "./icons";
19
19
  const toolElement = ["square", "circle", "table-seat-circle"];
20
20
  const idSelectionBoxGhost = "selection-box-ghost";
21
21
  const nameShapeSelectionBoxGhost = "selection-box";
22
- const BoardTemplate = ({ refs, loadingRender, disabled = false, priviewActive = [], }) => {
22
+ const BoardTemplate = ({ refs, loadingRender, disabled = false, previewActive = [], }) => {
23
23
  const os = getOS();
24
24
  const dispatch = useAppDispatch();
25
25
  const backgroundColor = useAppSelector((state) => state.board.backgroundColor);
@@ -1972,8 +1972,8 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, priviewActive =
1972
1972
  };
1973
1973
  const { typePreview } = useAppSelector((state) => state.tool);
1974
1974
  const previewTabValue = typePreview === "setting"
1975
- ? priviewActive === null || priviewActive === void 0 ? void 0 : priviewActive.filter((item) => item.type !== "default")
1976
- : priviewActive;
1975
+ ? previewActive === null || previewActive === void 0 ? void 0 : previewActive.filter((item) => item.type !== "default")
1976
+ : previewActive;
1977
1977
  return (_jsxs(_Fragment, { children: [_jsx(ModalPreview, { modalProps: {
1978
1978
  footer: typePreview === "setting" && isShowTagType !== "default" && (_jsx(_Fragment, { children: _jsxs("div", { className: "flex gap-2 p-[20px]", children: [_jsx("span", { className: "font-bold text-[14px]", children: "Select Font Size:" }), _jsx(Radio.Group, { value: valuesScalingFontSize(), onChange: (e) => {
1979
1979
  handleClickButtonFontScaling(e.target.value, isShowTagType);
@@ -18,7 +18,7 @@ import { WarningIcon } from "./icons";
18
18
  const toolElement = ["square", "circle", "table-seat-circle"];
19
19
  const idSelectionBoxGhost = "selection-box-ghost";
20
20
  const nameShapeSelectionBoxGhost = "selection-box";
21
- const BoardTemplate = ({ refs, loadingRender, disabled = false, priviewActive = [], }) => {
21
+ const BoardTemplate = ({ refs, loadingRender, disabled = false, previewActive = [], }) => {
22
22
  const os = getOS();
23
23
  const dispatch = useAppDispatch();
24
24
  const backgroundColor = useAppSelector((state) => state.board.backgroundColor);
@@ -1971,8 +1971,8 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, priviewActive =
1971
1971
  };
1972
1972
  const { typePreview } = useAppSelector((state) => state.tool);
1973
1973
  const previewTabValue = typePreview === "setting"
1974
- ? priviewActive === null || priviewActive === void 0 ? void 0 : priviewActive.filter((item) => item.type !== "default")
1975
- : priviewActive;
1974
+ ? previewActive === null || previewActive === void 0 ? void 0 : previewActive.filter((item) => item.type !== "default")
1975
+ : previewActive;
1976
1976
  return (<>
1977
1977
  <ModalPreview modalProps={{
1978
1978
  footer: typePreview === "setting" && isShowTagType !== "default" && (<>
@@ -1,2 +1,2 @@
1
- declare const Navbar: () => import("react").JSX.Element;
1
+ declare const Navbar: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default Navbar;
@@ -49,10 +49,10 @@ export interface TableEditorProps<TMeta = undefined> {
49
49
  key: string;
50
50
  value: number;
51
51
  };
52
- priviewActive: {
52
+ previewActive: {
53
53
  type: ShowTagType;
54
54
  label: string;
55
55
  }[];
56
56
  }
57
- declare const TableEditor: <TMeta>(props: TableEditorProps<TMeta>) => React.JSX.Element;
57
+ declare const TableEditor: <TMeta>(props: TableEditorProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
58
58
  export default TableEditor;
@@ -237,6 +237,6 @@ const TableEditor = (props) => {
237
237
  switch: false,
238
238
  drop: false,
239
239
  rightClick: false,
240
- } }, `${viewOnly}`) })) : (_jsxs("div", { className: "w-full h-full flex relative", children: [loading && !isPreview && (_jsx("div", { className: "absolute z-10 top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-opacity-50 bg-white w-full h-full flex items-center justify-center", children: (loadingRender === null || loadingRender === void 0 ? void 0 : loadingRender.element) || _jsx(Spin, {}) })), _jsx("div", { className: "absolute top-0 left-0 w-full bg-white py-[20px] z-[51] border-b border-gray-200", children: props.header ? (props.header) : (_jsx("div", { className: "text-xl font-bold h-[38px] leading-[38px] flex ", children: "Logo Navbar" })) }), _jsx(SideTool, { dragOnly: dragOnly, deleteAutorized: deleteAutorized, priviewActive: props === null || props === void 0 ? void 0 : props.priviewActive }), _jsx(Board, { refs: refsBoard, loadingRender: props === null || props === void 0 ? void 0 : props.loadingRender, disabled: props === null || props === void 0 ? void 0 : props.disabledView, priviewActive: props === null || props === void 0 ? void 0 : props.priviewActive }, `${viewOnly}`), _jsx(ControlPanels, { action: props.action, transform: (_a = refsBoard === null || refsBoard === void 0 ? void 0 : refsBoard.current) === null || _a === void 0 ? void 0 : _a.transformRef })] }, `${viewOnly}`)) }) }));
240
+ } }, `${viewOnly}`) })) : (_jsxs("div", { className: "w-full h-full flex relative", children: [loading && !isPreview && (_jsx("div", { className: "absolute z-10 top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-opacity-50 bg-white w-full h-full flex items-center justify-center", children: (loadingRender === null || loadingRender === void 0 ? void 0 : loadingRender.element) || _jsx(Spin, {}) })), _jsx("div", { className: "absolute top-0 left-0 w-full bg-white py-[20px] z-[51] border-b border-gray-200", children: props.header ? (props.header) : (_jsx("div", { className: "text-xl font-bold h-[38px] leading-[38px] flex ", children: "Logo Navbar" })) }), _jsx(SideTool, { dragOnly: dragOnly, deleteAutorized: deleteAutorized, previewActive: props === null || props === void 0 ? void 0 : props.previewActive }), _jsx(Board, { refs: refsBoard, loadingRender: props === null || props === void 0 ? void 0 : props.loadingRender, disabled: props === null || props === void 0 ? void 0 : props.disabledView, previewActive: props === null || props === void 0 ? void 0 : props.previewActive }, `${viewOnly}`), _jsx(ControlPanels, { action: props.action, transform: (_a = refsBoard === null || refsBoard === void 0 ? void 0 : refsBoard.current) === null || _a === void 0 ? void 0 : _a.transformRef })] }, `${viewOnly}`)) }) }));
241
241
  };
242
242
  export default TableEditor;
@@ -249,8 +249,8 @@ const TableEditor = (props) => {
249
249
  Logo Navbar
250
250
  </div>)}
251
251
  </div>
252
- <SideTool dragOnly={dragOnly} deleteAutorized={deleteAutorized} priviewActive={props === null || props === void 0 ? void 0 : props.priviewActive}/>
253
- <Board key={`${viewOnly}`} refs={refsBoard} loadingRender={props === null || props === void 0 ? void 0 : props.loadingRender} disabled={props === null || props === void 0 ? void 0 : props.disabledView} priviewActive={props === null || props === void 0 ? void 0 : props.priviewActive}/>
252
+ <SideTool dragOnly={dragOnly} deleteAutorized={deleteAutorized} previewActive={props === null || props === void 0 ? void 0 : props.previewActive}/>
253
+ <Board key={`${viewOnly}`} refs={refsBoard} loadingRender={props === null || props === void 0 ? void 0 : props.loadingRender} disabled={props === null || props === void 0 ? void 0 : props.disabledView} previewActive={props === null || props === void 0 ? void 0 : props.previewActive}/>
254
254
  <ControlPanels action={props.action} transform={(_a = refsBoard === null || refsBoard === void 0 ? void 0 : refsBoard.current) === null || _a === void 0 ? void 0 : _a.transformRef}/>
255
255
  </div>)}
256
256
  </div>
@@ -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.Element;
12
+ declare const ControlPanels: (props: ControlPanelsProps) => import("react/jsx-runtime").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.Element;
1
+ declare const PolygonTool: () => import("react/jsx-runtime").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.Element;
4
+ }) => import("react/jsx-runtime").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.Element;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
4
  export default SelectedGroup;
@@ -1,2 +1,2 @@
1
- declare const SquareToolForm: () => import("react").JSX.Element;
1
+ declare const SquareToolForm: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default SquareToolForm;
@@ -1,2 +1,2 @@
1
- declare const SeatCircle: () => import("react").JSX.Element;
1
+ declare const SeatCircle: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default SeatCircle;
@@ -1,2 +1,2 @@
1
- declare const SeatSquare: () => import("react").JSX.Element;
1
+ declare const SeatSquare: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default SeatSquare;
@@ -1,2 +1,2 @@
1
- declare const TextTool: () => import("react").JSX.Element;
1
+ declare const TextTool: () => import("react/jsx-runtime").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.Element;
9
+ declare const UploadTool: ({ name, type, action, transform }: UploadToolProps) => import("react/jsx-runtime").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.Element;
9
+ declare const UploadToolForm: (props: UploadToolProps) => import("react/jsx-runtime").JSX.Element;
10
10
  export default UploadToolForm;
@@ -1 +1 @@
1
- export declare const FontSizeIcon: () => import("react").JSX.Element;
1
+ export declare const FontSizeIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,13 @@
1
1
  import { ShowTagType } from "../board-v3/board-slice";
2
- declare const SideTool: ({ dragOnly, deleteAutorized, priviewActive }: {
2
+ declare const SideTool: ({ dragOnly, deleteAutorized, previewActive }: {
3
3
  dragOnly?: boolean;
4
4
  deleteAutorized?: {
5
5
  component: boolean;
6
6
  extraComponent: boolean;
7
7
  };
8
- priviewActive?: {
8
+ previewActive?: {
9
9
  type: ShowTagType;
10
10
  label: string;
11
11
  }[];
12
- }) => import("react").JSX.Element;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
13
  export default SideTool;
@@ -7,7 +7,7 @@ import { useAppDispatch, useAppSelector } from "../../hooks/use-redux";
7
7
  import { useState } from "react";
8
8
  import clsx from "clsx";
9
9
  import { FontSizeIcon } from "./icons";
10
- const SideTool = ({ dragOnly, deleteAutorized, priviewActive }) => {
10
+ const SideTool = ({ dragOnly, deleteAutorized, previewActive }) => {
11
11
  const [color, setColor] = useState("#000000");
12
12
  const dispatch = useAppDispatch();
13
13
  const { active, grid, lockBackground } = useAppSelector((state) => state.tool);
@@ -179,7 +179,7 @@ const SideTool = ({ dragOnly, deleteAutorized, priviewActive }) => {
179
179
  if (type === "setting") {
180
180
  dispatch({
181
181
  type: "board/setTagType",
182
- payload: (_b = (_a = priviewActive === null || priviewActive === void 0 ? void 0 : priviewActive.filter((f) => f.type !== "default")) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type,
182
+ payload: (_b = (_a = previewActive === null || previewActive === void 0 ? void 0 : previewActive.filter((f) => f.type !== "default")) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type,
183
183
  });
184
184
  }
185
185
  else {
@@ -6,7 +6,7 @@ import { useAppDispatch, useAppSelector } from "../../hooks/use-redux";
6
6
  import { useState } from "react";
7
7
  import clsx from "clsx";
8
8
  import { FontSizeIcon } from "./icons";
9
- const SideTool = ({ dragOnly, deleteAutorized, priviewActive }) => {
9
+ const SideTool = ({ dragOnly, deleteAutorized, previewActive }) => {
10
10
  const [color, setColor] = useState("#000000");
11
11
  const dispatch = useAppDispatch();
12
12
  const { active, grid, lockBackground } = useAppSelector((state) => state.tool);
@@ -178,7 +178,7 @@ const SideTool = ({ dragOnly, deleteAutorized, priviewActive }) => {
178
178
  if (type === "setting") {
179
179
  dispatch({
180
180
  type: "board/setTagType",
181
- payload: (_b = (_a = priviewActive === null || priviewActive === void 0 ? void 0 : priviewActive.filter((f) => f.type !== "default")) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type,
181
+ payload: (_b = (_a = previewActive === null || previewActive === void 0 ? void 0 : previewActive.filter((f) => f.type !== "default")) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.type,
182
182
  });
183
183
  }
184
184
  else {
@@ -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.Element;
18
+ declare const LayerView: (props: LayerViewProps) => import("react/jsx-runtime").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>) => React.JSX.Element;
94
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").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>) => React.JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").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>) => React.JSX.Element;
98
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
99
99
  export default LayerView;
@@ -25,6 +25,13 @@ type Props = {
25
25
  from: string;
26
26
  to: string;
27
27
  }[];
28
+ connecting: {
29
+ fromId: string;
30
+ fromPos: {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ } | null;
28
35
  };
29
36
  export declare const ConnectHandle: React.FC<Props>;
30
37
  export {};
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // connect-handle.tsx
3
- import { useState } from "react";
2
+ import { useEffect, useState } from "react";
4
3
  // 4 titik per sisi dalam local space
5
4
  const getLocalAnchors = (w, h) => {
6
5
  const hw = w / 2;
@@ -24,7 +23,7 @@ const nearestAnchor = (lx, ly, anchors) => {
24
23
  }
25
24
  return best;
26
25
  };
27
- export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isConnecting, isDraggingAnchor, onStartConnect, onEndConnect, isConnectEdge, onSelectNode, isSelectNode, onSelectEdge, edges }) => {
26
+ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isConnecting, isDraggingAnchor, onStartConnect, onEndConnect, isConnectEdge, onSelectNode, isSelectNode, onSelectEdge, edges, connecting, }) => {
28
27
  const hw = width / 2;
29
28
  const hh = height / 2;
30
29
  const [hovered, setHovered] = useState(false);
@@ -53,15 +52,19 @@ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isC
53
52
  y: cy + lx * Math.sin(rad) + ly * Math.cos(rad),
54
53
  };
55
54
  };
55
+ useEffect(() => {
56
+ if (!isActiveSelectEdge) {
57
+ onSelectEdge && onSelectEdge("");
58
+ onSelectEdge && onSelectNode("");
59
+ }
60
+ }, [isActiveSelectEdge]);
56
61
  const handlePointerDown = (e) => {
57
62
  e.stopPropagation();
58
63
  const local = toLocalPos(e);
59
64
  const snapped = nearestAnchor(local.x, local.y, anchors);
60
65
  const worldPos = toWorld(snapped.x, snapped.y);
61
- console.log({ isActiveSelectEdge });
62
66
  if (isActiveSelectEdge) {
63
- const findEdge = edges.find(e => e.from === nodeId || e.to === nodeId);
64
- console.log({ findEdge });
67
+ const findEdge = edges.find((e) => e.from === nodeId || e.to === nodeId);
65
68
  onSelectEdge(findEdge === null || findEdge === void 0 ? void 0 : findEdge.id);
66
69
  onSelectNode(nodeId);
67
70
  return;
@@ -78,7 +81,7 @@ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isC
78
81
  cursor: isConnectEdge ? "crosshair" : "pointer",
79
82
  pointerEvents: isConnectEdge ? "all" : "none",
80
83
  }, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onPointerDown: (e) => {
81
- console.log({ isConnectEdge, isSelectNode });
84
+ // console.log({ isConnectEdge, isSelectNode });
82
85
  // console.log({ isConnectEdge, isSelectNode })
83
86
  // if (!isConnectEdge ) return;
84
87
  // if (!isSelectNode) return;
@@ -1,5 +1,4 @@
1
- // connect-handle.tsx
2
- import React, { useState } from "react";
1
+ import React, { useEffect, useState } from "react";
3
2
  // 4 titik per sisi dalam local space
4
3
  const getLocalAnchors = (w, h) => {
5
4
  const hw = w / 2;
@@ -23,7 +22,7 @@ const nearestAnchor = (lx, ly, anchors) => {
23
22
  }
24
23
  return best;
25
24
  };
26
- export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isConnecting, isDraggingAnchor, onStartConnect, onEndConnect, isConnectEdge, onSelectNode, isSelectNode, onSelectEdge, edges }) => {
25
+ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isConnecting, isDraggingAnchor, onStartConnect, onEndConnect, isConnectEdge, onSelectNode, isSelectNode, onSelectEdge, edges, connecting, }) => {
27
26
  const hw = width / 2;
28
27
  const hh = height / 2;
29
28
  const [hovered, setHovered] = useState(false);
@@ -52,15 +51,19 @@ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isC
52
51
  y: cy + lx * Math.sin(rad) + ly * Math.cos(rad),
53
52
  };
54
53
  };
54
+ useEffect(() => {
55
+ if (!isActiveSelectEdge) {
56
+ onSelectEdge && onSelectEdge("");
57
+ onSelectEdge && onSelectNode("");
58
+ }
59
+ }, [isActiveSelectEdge]);
55
60
  const handlePointerDown = (e) => {
56
61
  e.stopPropagation();
57
62
  const local = toLocalPos(e);
58
63
  const snapped = nearestAnchor(local.x, local.y, anchors);
59
64
  const worldPos = toWorld(snapped.x, snapped.y);
60
- console.log({ isActiveSelectEdge });
61
65
  if (isActiveSelectEdge) {
62
- const findEdge = edges.find(e => e.from === nodeId || e.to === nodeId);
63
- console.log({ findEdge });
66
+ const findEdge = edges.find((e) => e.from === nodeId || e.to === nodeId);
64
67
  onSelectEdge(findEdge === null || findEdge === void 0 ? void 0 : findEdge.id);
65
68
  onSelectNode(nodeId);
66
69
  return;
@@ -82,7 +85,7 @@ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isC
82
85
  cursor: isConnectEdge ? "crosshair" : "pointer",
83
86
  pointerEvents: isConnectEdge ? "all" : "none",
84
87
  }} onMouseEnter={() => setHovered(true)} onMouseLeave={() => setHovered(false)} onPointerDown={(e) => {
85
- console.log({ isConnectEdge, isSelectNode });
88
+ // console.log({ isConnectEdge, isSelectNode });
86
89
  // console.log({ isConnectEdge, isSelectNode })
87
90
  // if (!isConnectEdge ) return;
88
91
  // if (!isSelectNode) return;
@@ -92,5 +95,6 @@ export const ConnectHandle = ({ cx, cy, width, height, nodeId, rotation = 0, isC
92
95
  {/* Anchor dots — muncul saat hover atau active */}
93
96
  {((hovered && isConnectEdge) || isActive) &&
94
97
  anchors.map((a, i) => (<circle key={i} cx={a.x} cy={a.y} r={3} fill={isActive ? "#a78bfa" : "#38bdf8"} opacity={0.5} style={{ pointerEvents: "none" }}/>))}
98
+
95
99
  </g>);
96
100
  };
@@ -27,7 +27,6 @@ type Props = {
27
27
  onRemoveWaypoint: (e: React.MouseEvent, edgeId: string, index: number) => void;
28
28
  onStartDragAnchor: (e: React.MouseEvent, edgeId: string, side: "from" | "to") => void;
29
29
  isConnectEdge: boolean;
30
- isSelectNode: boolean;
31
30
  selectedNodeId: string | null;
32
31
  };
33
32
  export declare const ConnectionLayer: React.FC<Props>;
@@ -52,9 +52,9 @@ const quadraticMidpoint = (from, to) => {
52
52
  y: mt * mt * from.y + 2 * mt * t * cpy + t * t * to.y,
53
53
  };
54
54
  };
55
- export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAnchor, mousePos, isConnectEdge, isSelectNode, getNodeById, onSelectEdge, onDeleteEdge, onStartDragWaypoint, onInsertWaypoint, onRemoveWaypoint, onStartDragAnchor, selectedNodeId, }) => {
55
+ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAnchor, mousePos, isConnectEdge, getNodeById, onSelectEdge, onDeleteEdge, onStartDragWaypoint, onInsertWaypoint, onRemoveWaypoint, onStartDragAnchor, selectedNodeId, }) => {
56
56
  const [hoveredEdge, setHoveredEdge] = useState(null);
57
- console.log({ selectedEdge });
57
+ // console.log({ selectedEdge})
58
58
  const nodeHighlightMap = useMemo(() => {
59
59
  if (!selectedEdge)
60
60
  return new Map();
@@ -138,12 +138,13 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
138
138
  const fromLevel = nodeHighlightMap.get(edge.from);
139
139
  const toLevel = nodeHighlightMap.get(edge.to);
140
140
  const isInNetwork = fromLevel !== undefined && toLevel !== undefined;
141
- console.log({ isInNetwork, fromLevel, toLevel }, selectedEdge, !isSel && !isInNetwork);
142
141
  const networkColor = isInNetwork
143
142
  ? getLevelColor(Math.max(fromLevel, toLevel))
144
143
  : "#38bdf8";
145
144
  const isDraggingFrom = (draggingAnchor === null || draggingAnchor === void 0 ? void 0 : draggingAnchor.edgeId) === edge.id && draggingAnchor.side === "from";
146
145
  const isDraggingTo = (draggingAnchor === null || draggingAnchor === void 0 ? void 0 : draggingAnchor.edgeId) === edge.id && draggingAnchor.side === "to";
146
+ // const currentConnection =
147
+ const isNotRing1 = connecting && ((connecting === null || connecting === void 0 ? void 0 : connecting.fromId) !== edge.from && (connecting === null || connecting === void 0 ? void 0 : connecting.fromId) !== edge.to);
147
148
  return (_jsxs("g", { children: [_jsx("path", { d: pathD, stroke: "transparent", strokeWidth: 14, fill: "none", style: { cursor: "pointer" }, onClick: (e) => {
148
149
  e.stopPropagation();
149
150
  onSelectEdge(edge.id);
@@ -151,7 +152,7 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
151
152
  ? "#a78bfa"
152
153
  : isInNetwork && selectedEdge
153
154
  ? networkColor
154
- : "#38bdf8", strokeWidth: isSel ? 2 : isHov ? 2 : 1.5, fill: "none", opacity: selectedEdge && !isSel && !isInNetwork ? 0.25 : 0.9, strokeLinecap: "round", style: { pointerEvents: "none" } }), isSel && (_jsxs("g", { children: [isDraggingFrom && (_jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 12, fill: "#38bdf8", opacity: 0.15, style: { pointerEvents: "none" } })), _jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 10, fill: "transparent", style: { cursor: "grab" }, onMouseDown: (e) => {
155
+ : "#38bdf8", strokeWidth: isSel ? 2 : isHov ? 2 : 1.5, fill: "none", opacity: (selectedEdge && !isSel && !isInNetwork) || isNotRing1 ? 0.2 : 0.9, strokeLinecap: "round", style: { pointerEvents: "none" } }), isSel && (_jsxs("g", { children: [isDraggingFrom && (_jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 12, fill: "#38bdf8", opacity: 0.15, style: { pointerEvents: "none" } })), _jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 10, fill: "transparent", style: { cursor: "grab" }, onMouseDown: (e) => {
155
156
  e.stopPropagation();
156
157
  onStartDragAnchor(e, edge.id, "from");
157
158
  } }), _jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 6, fill: isDraggingFrom ? "#a78bfa" : "#38bdf8", stroke: "#0f172a", strokeWidth: 1.5, style: { pointerEvents: "none" } }), _jsx("circle", { cx: fromPos.x, cy: fromPos.y, r: 2.5, fill: "#0f172a", style: { pointerEvents: "none" } })] })), isSel && (_jsxs("g", { children: [isDraggingTo && (_jsx("circle", { cx: toPos.x, cy: toPos.y, r: 12, fill: "#22c55e", opacity: 0.15, style: { pointerEvents: "none" } })), _jsx("circle", { cx: toPos.x, cy: toPos.y, r: 10, fill: "transparent", style: { cursor: "grab" }, onMouseDown: (e) => {
@@ -175,8 +176,9 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
175
176
  }, style: { cursor: "pointer" }, children: [_jsx("rect", { x: midX - 16, y: midY - 10, width: 32, height: 18, rx: 4, fill: "#1e1b2e", stroke: "#a78bfa", strokeWidth: 1, opacity: 0.95 }), _jsx("text", { x: midX, y: midY, textAnchor: "middle", dominantBaseline: "middle", fill: "#a78bfa", fontSize: 9, fontFamily: "monospace", fontWeight: 600, children: "DEL" })] }))] }, edge.id));
176
177
  }), connecting &&
177
178
  (() => {
179
+ var _a, _b;
178
180
  const pts = computePoints(connecting.fromPos, mousePos, []);
179
181
  const pathD = buildPath(pts);
180
- return (_jsxs("g", { children: [_jsx("circle", { cx: connecting.fromPos.x, cy: connecting.fromPos.y, r: 4, fill: "#a78bfa", stroke: "#0f172a", strokeWidth: 0.8, opacity: 0.9, style: { pointerEvents: "none" } }), _jsx("path", { d: pathD, stroke: "#a78bfa", strokeWidth: 1.5, fill: "none", strokeDasharray: "6 3", strokeLinecap: "round", opacity: 0.8, style: { pointerEvents: "none" } })] }));
182
+ return (_jsxs("g", { children: [_jsx("circle", { cx: (_a = connecting === null || connecting === void 0 ? void 0 : connecting.fromPos) === null || _a === void 0 ? void 0 : _a.x, cy: (_b = connecting === null || connecting === void 0 ? void 0 : connecting.fromPos) === null || _b === void 0 ? void 0 : _b.y, r: 4, fill: "#a78bfa", stroke: "#0f172a", strokeWidth: 0.8, opacity: 0.9, style: { pointerEvents: "none" } }), _jsx("path", { d: pathD, stroke: "#a78bfa", strokeWidth: 1.5, fill: "none", strokeDasharray: "6 3", strokeLinecap: "round", opacity: 0.8, style: { pointerEvents: "none" } })] }));
181
183
  })(), draggingAnchor && (_jsx("text", { x: mousePos.x + 14, y: mousePos.y - 8, fill: "#a78bfa", fontSize: 9, fontFamily: "monospace", opacity: 0.8, style: { pointerEvents: "none", userSelect: "none" }, children: "klik node tujuan" }))] }));
182
184
  };
@@ -51,9 +51,9 @@ const quadraticMidpoint = (from, to) => {
51
51
  y: mt * mt * from.y + 2 * mt * t * cpy + t * t * to.y,
52
52
  };
53
53
  };
54
- export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAnchor, mousePos, isConnectEdge, isSelectNode, getNodeById, onSelectEdge, onDeleteEdge, onStartDragWaypoint, onInsertWaypoint, onRemoveWaypoint, onStartDragAnchor, selectedNodeId, }) => {
54
+ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAnchor, mousePos, isConnectEdge, getNodeById, onSelectEdge, onDeleteEdge, onStartDragWaypoint, onInsertWaypoint, onRemoveWaypoint, onStartDragAnchor, selectedNodeId, }) => {
55
55
  const [hoveredEdge, setHoveredEdge] = useState(null);
56
- console.log({ selectedEdge });
56
+ // console.log({ selectedEdge})
57
57
  const nodeHighlightMap = useMemo(() => {
58
58
  if (!selectedEdge)
59
59
  return new Map();
@@ -162,12 +162,13 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
162
162
  const fromLevel = nodeHighlightMap.get(edge.from);
163
163
  const toLevel = nodeHighlightMap.get(edge.to);
164
164
  const isInNetwork = fromLevel !== undefined && toLevel !== undefined;
165
- console.log({ isInNetwork, fromLevel, toLevel }, selectedEdge, !isSel && !isInNetwork);
166
165
  const networkColor = isInNetwork
167
166
  ? getLevelColor(Math.max(fromLevel, toLevel))
168
167
  : "#38bdf8";
169
168
  const isDraggingFrom = (draggingAnchor === null || draggingAnchor === void 0 ? void 0 : draggingAnchor.edgeId) === edge.id && draggingAnchor.side === "from";
170
169
  const isDraggingTo = (draggingAnchor === null || draggingAnchor === void 0 ? void 0 : draggingAnchor.edgeId) === edge.id && draggingAnchor.side === "to";
170
+ // const currentConnection =
171
+ const isNotRing1 = connecting && ((connecting === null || connecting === void 0 ? void 0 : connecting.fromId) !== edge.from && (connecting === null || connecting === void 0 ? void 0 : connecting.fromId) !== edge.to);
171
172
  return (<g key={edge.id}>
172
173
  {/* Hit area */}
173
174
  <path d={pathD} stroke="transparent" strokeWidth={14} fill="none" style={{ cursor: "pointer" }} onClick={(e) => {
@@ -183,7 +184,7 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
183
184
  ? "#a78bfa"
184
185
  : isInNetwork && selectedEdge
185
186
  ? networkColor
186
- : "#38bdf8"} strokeWidth={isSel ? 2 : isHov ? 2 : 1.5} fill="none" opacity={selectedEdge && !isSel && !isInNetwork ? 0.25 : 0.9} strokeLinecap="round" style={{ pointerEvents: "none" }}/>
187
+ : "#38bdf8"} strokeWidth={isSel ? 2 : isHov ? 2 : 1.5} fill="none" opacity={(selectedEdge && !isSel && !isInNetwork) || isNotRing1 ? 0.2 : 0.9} strokeLinecap="round" style={{ pointerEvents: "none" }}/>
187
188
 
188
189
  {/* FROM dot */}
189
190
  {isSel && (<g>
@@ -249,10 +250,11 @@ export const ConnectionLayer = ({ edges, selectedEdge, connecting, draggingAncho
249
250
  {/* Preview saat connecting */}
250
251
  {connecting &&
251
252
  (() => {
253
+ var _a, _b;
252
254
  const pts = computePoints(connecting.fromPos, mousePos, []);
253
255
  const pathD = buildPath(pts);
254
256
  return (<g>
255
- <circle cx={connecting.fromPos.x} cy={connecting.fromPos.y} r={4} fill="#a78bfa" stroke="#0f172a" strokeWidth={0.8} opacity={0.9} style={{ pointerEvents: "none" }}/>
257
+ <circle cx={(_a = connecting === null || connecting === void 0 ? void 0 : connecting.fromPos) === null || _a === void 0 ? void 0 : _a.x} cy={(_b = connecting === null || connecting === void 0 ? void 0 : connecting.fromPos) === null || _b === void 0 ? void 0 : _b.y} r={4} fill="#a78bfa" stroke="#0f172a" strokeWidth={0.8} opacity={0.9} style={{ pointerEvents: "none" }}/>
256
258
  <path d={pathD} stroke="#a78bfa" strokeWidth={1.5} fill="none" strokeDasharray="6 3" strokeLinecap="round" opacity={0.8} style={{ pointerEvents: "none" }}/>
257
259
  </g>);
258
260
  })()}
@@ -8,9 +8,14 @@ export type TableGhost = {
8
8
  event: EventHandleType;
9
9
  };
10
10
  export type TableMatchKey = {
11
- key: string | number;
11
+ value: string | number;
12
+ key: string;
12
13
  properties?: PropertiesProps;
13
14
  className?: string;
15
+ element?: {
16
+ icon: React.JSX.Element;
17
+ props: SVGAttributes<SVGElement>;
18
+ };
14
19
  };
15
20
  export type TableMatchEvent = {
16
21
  event: EventHandleType;
@@ -86,17 +91,21 @@ export interface LayerViewProps<TMeta = undefined> {
86
91
  viewOnly?: boolean;
87
92
  actionPrivileged?: {
88
93
  select?: boolean;
89
- move?: boolean;
90
- switch?: boolean;
91
- drop?: boolean;
92
94
  rightClick?: boolean;
93
95
  double?: boolean;
96
+ selection?: boolean;
97
+ grapConnection?: boolean;
98
+ viewGraph?: boolean;
99
+ dragTable?: boolean;
100
+ selectNode?: boolean;
101
+ connectingNode?: boolean;
94
102
  };
95
103
  onEdgesChange?: (edges: EdgeType[], table: PropertiesProps[]) => void;
96
104
  keyNode?: string;
97
105
  isConnectEdge?: boolean;
98
106
  isSelectNode?: boolean;
99
107
  onMakeSelection?: (component: ComponentProps<TMeta>[]) => void;
108
+ onDragTable?: (e: React.PointerEvent<SVGSVGElement>, component: ComponentProps<TMeta>) => void;
100
109
  }
101
- declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => React.JSX.Element;
110
+ declare const LayerView: <TMeta>(props: LayerViewProps<TMeta>) => import("react/jsx-runtime").JSX.Element;
102
111
  export default LayerView;