seat-editor 3.3.45 → 3.4.0

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 (78) hide show
  1. package/dist/app/constant.d.ts +4 -3
  2. package/dist/app/constant.js +3 -2
  3. package/dist/app/layout.d.ts +1 -1
  4. package/dist/app/new-board/page.d.ts +1 -1
  5. package/dist/app/new-board/page.js +6 -1
  6. package/dist/app/new-board/page.jsx +6 -1
  7. package/dist/app/old-board/page.d.ts +1 -2
  8. package/dist/app/only-view/chair.d.ts +1 -1
  9. package/dist/app/only-view/chair.js +2 -10
  10. package/dist/app/only-view/constant.d.ts +288 -30
  11. package/dist/app/only-view/constant.js +7227 -912
  12. package/dist/app/only-view/page.d.ts +1 -1
  13. package/dist/app/only-view/page.js +7 -7
  14. package/dist/app/only-view/page.jsx +7 -7
  15. package/dist/app/only-view/user.d.ts +1 -1
  16. package/dist/app/only-view/user.js +2 -10
  17. package/dist/app/page.d.ts +1 -1
  18. package/dist/app/test/page.d.ts +1 -2
  19. package/dist/app/v2/page.d.ts +1 -1
  20. package/dist/components/button-tools/index.d.ts +1 -1
  21. package/dist/components/form-tools/label.d.ts +1 -1
  22. package/dist/components/form-tools/label.js +8 -4
  23. package/dist/components/form-tools/label.jsx +27 -21
  24. package/dist/components/form-tools/shape.d.ts +1 -1
  25. package/dist/components/form-tools/shape.js +41 -16
  26. package/dist/components/form-tools/shape.jsx +35 -14
  27. package/dist/components/input/number-indicator.d.ts +1 -1
  28. package/dist/components/joystick/index.d.ts +1 -2
  29. package/dist/components/layer/index.d.ts +1 -1
  30. package/dist/components/layer-v2/index.d.ts +1 -1
  31. package/dist/components/layer-v3/index.d.ts +1 -1
  32. package/dist/components/layer-v4/index.d.ts +1 -1
  33. package/dist/components/lib/index.d.ts +1 -1
  34. package/dist/components/modal-preview/index.d.ts +1 -1
  35. package/dist/features/board/index.d.ts +1 -1
  36. package/dist/features/board-v2/index.d.ts +1 -2
  37. package/dist/features/board-v3/index.d.ts +1 -1
  38. package/dist/features/board-v3/index.js +12 -5
  39. package/dist/features/board-v3/index.jsx +12 -5
  40. package/dist/features/navbar/index.d.ts +1 -1
  41. package/dist/features/package/index.d.ts +2 -1
  42. package/dist/features/package/index.js +22 -17
  43. package/dist/features/package/index.jsx +22 -17
  44. package/dist/features/panel/index.d.ts +1 -1
  45. package/dist/features/panel/index.js +26 -13
  46. package/dist/features/panel/index.jsx +26 -13
  47. package/dist/features/panel/panel-slice.d.ts +2 -0
  48. package/dist/features/panel/panel-slice.js +3 -0
  49. package/dist/features/panel/select-tool.d.ts +1 -1
  50. package/dist/features/panel/select-tool.js +31 -14
  51. package/dist/features/panel/select-tool.jsx +31 -24
  52. package/dist/features/panel/selected-group.d.ts +1 -1
  53. package/dist/features/panel/square-circle-tool.d.ts +1 -1
  54. package/dist/features/panel/table-seat-circle.d.ts +1 -1
  55. package/dist/features/panel/table-seat-circle.js +2 -2
  56. package/dist/features/panel/table-seat-circle.jsx +6 -14
  57. package/dist/features/panel/table-seat-square.d.ts +1 -1
  58. package/dist/features/panel/table-seat-square.js +8 -2
  59. package/dist/features/panel/table-seat-square.jsx +15 -8
  60. package/dist/features/panel/text-tool.d.ts +1 -1
  61. package/dist/features/panel/upload-tool.d.ts +1 -1
  62. package/dist/features/panel/upload-tool.js +3 -1
  63. package/dist/features/panel/upload-tool.jsx +4 -2
  64. package/dist/features/panel/utils.d.ts +8 -2
  65. package/dist/features/panel/utils.js +60 -23
  66. package/dist/features/side-tool/index.d.ts +1 -1
  67. package/dist/features/side-tool/index.js +9 -3
  68. package/dist/features/side-tool/index.jsx +16 -4
  69. package/dist/features/view-only/index.d.ts +1 -1
  70. package/dist/features/view-only-2/index.d.ts +1 -1
  71. package/dist/features/view-only-2/index.js +6 -4
  72. package/dist/features/view-only-2/index.jsx +6 -4
  73. package/dist/features/view-only-3/index.d.ts +1 -1
  74. package/dist/features/view-only-3/index.js +7 -5
  75. package/dist/features/view-only-3/index.jsx +7 -5
  76. package/dist/provider/redux-provider.d.ts +1 -1
  77. package/dist/provider/store-provider.d.ts +1 -1
  78. package/package.json +1 -1
@@ -17,5 +17,5 @@ export declare const dummyImage: {
17
17
  y: number;
18
18
  }[];
19
19
  }[];
20
- declare const TouchScrollDetect: () => import("react").JSX.Element;
20
+ declare const TouchScrollDetect: () => import("react/jsx-runtime").JSX.Element;
21
21
  export default TouchScrollDetect;
@@ -165,7 +165,7 @@ const TouchScrollDetect = () => {
165
165
  return (_jsx(Modal, { open: open, onCancel: () => setOpen(false), width: 700, title: "Preview Board", centered: true, footer: null, children: _jsx("div", { className: "flex flex-col p-4 h-[500px] overflow-auto", children: _jsx(JsonView, { value: table }) }) }));
166
166
  };
167
167
  const testData = [];
168
- return (_jsxs("div", { className: "w-full h-screen border-2 border-black overflow-auto", id: "scroll-container", children: [renderModal(), _jsxs("div", { className: "flex", children: [_jsx("div", { className: "h-screen bg-gray-500 w-1/3", children: _jsx("div", { className: "p-4", children: data4.map((item, index) => (_jsx(Card, Object.assign({}, item), index))) }) }), _jsxs("div", { className: "h-screen w-2/3 relative", children: [_jsxs("div", { className: "absolute top-1 right-1 flex gap-4 z-[10]", children: [_jsx("button", { className: "p-4 bg-gray-400", onClick: () => handleZoomIn(), children: "+" }), _jsx("button", { className: "p-4 bg-gray-400", onClick: () => handleZoomOut(), children: "-" })] }), _jsx(LayerView, { refs: refLayer, statusKey: "is_hold", privilegedTags: [
168
+ return (_jsxs("div", { className: "w-full h-screen border-2 border-black overflow-auto", id: "scroll-container", children: [renderModal(), _jsxs("div", { className: "flex", children: [_jsx("div", { className: "h-screen bg-gray-500 w-1/3", children: _jsx("div", { className: "p-4", children: data4.map((item, index) => (_jsx(Card, Object.assign({}, item), index))) }) }), _jsxs("div", { className: "h-screen w-2/3 relative", children: [_jsxs("div", { className: "absolute top-1 right-1 flex gap-4 z-[10]", children: [_jsx("button", { className: "p-4 bg-gray-400", onClick: () => handleZoomIn(), children: "+" }), _jsx("button", { className: "p-4 bg-gray-400", onClick: () => handleZoomOut(), children: "-" })] }), _jsx(LayerView, { refs: refLayer, statusKey: "is_late", privilegedTags: [
169
169
  {
170
170
  key: "table",
171
171
  items: ["text", "icon"],
@@ -178,13 +178,13 @@ const TouchScrollDetect = () => {
178
178
  handleSelectTable(component);
179
179
  }, dragTableBlockKey: [
180
180
  {
181
- key: "status",
182
- value: null,
181
+ key: "code",
182
+ value: "V1",
183
183
  },
184
- {
185
- key: "rsvp",
186
- value: 1
187
- }
184
+ // {
185
+ // key: "rsvp",
186
+ // value: 1
187
+ // }
188
188
  ], tableMatchKey: [
189
189
  {
190
190
  key: 0,
@@ -189,7 +189,7 @@ const TouchScrollDetect = () => {
189
189
  -
190
190
  </button>
191
191
  </div>
192
- <LayerView refs={refLayer} statusKey="is_hold" privilegedTags={[
192
+ <LayerView refs={refLayer} statusKey="is_late" privilegedTags={[
193
193
  {
194
194
  key: "table",
195
195
  items: ["text", "icon"],
@@ -202,13 +202,13 @@ const TouchScrollDetect = () => {
202
202
  handleSelectTable(component);
203
203
  }} dragTableBlockKey={[
204
204
  {
205
- key: "status",
206
- value: null,
205
+ key: "code",
206
+ value: "V1",
207
207
  },
208
- {
209
- key: "rsvp",
210
- value: 1
211
- }
208
+ // {
209
+ // key: "rsvp",
210
+ // value: 1
211
+ // }
212
212
  ]} tableMatchKey={[
213
213
  {
214
214
  key: 0,
@@ -1 +1 @@
1
- export function UserIcon(): import("react").JSX.Element;
1
+ export function UserIcon(): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  export const UserIcon = () => {
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>);
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" })] })] }));
12
4
  };
@@ -1,2 +1,2 @@
1
- declare const TableEditor: () => import("react").JSX.Element;
1
+ declare const TableEditor: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default TableEditor;
@@ -1,2 +1 @@
1
- import React from "react";
2
- export default function DraggableRect(): React.JSX.Element;
1
+ export default function DraggableRect(): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- declare const TableEditor: () => import("react").JSX.Element;
1
+ declare const TableEditor: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default TableEditor;
@@ -7,5 +7,5 @@ interface ButtonToolsProps {
7
7
  }>;
8
8
  popoverProps?: PopoverProps;
9
9
  }
10
- declare const ButtonTools: (props: ButtonToolsProps) => import("react").JSX.Element;
10
+ declare const ButtonTools: (props: ButtonToolsProps) => import("react/jsx-runtime").JSX.Element;
11
11
  export default ButtonTools;
@@ -1,2 +1,2 @@
1
- declare const SectionLabel: () => import("react").JSX.Element;
1
+ declare const SectionLabel: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default SectionLabel;
@@ -1,21 +1,25 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Button, ColorPicker, Flex, Form, Input, InputNumber } from "antd";
3
+ import { Button, ColorPicker, Flex, Form, Input, InputNumber, Divider } from "antd";
4
4
  const SectionLabel = () => {
5
- return (_jsxs("div", { className: "py-2", children: [_jsx("h1", { className: "heading-s", children: "Section Labeling" }), _jsx(Form.Item, { label: "Labels in square", name: "labels", children: _jsx(Form.List, { name: "labels", children: (fields, { add, remove }) => (_jsxs(_Fragment, { children: [fields.map((field) => (_jsxs("div", { children: [_jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { name: [field.name, "label"], label: "Text", children: _jsx(Input, {}) }), _jsx(Form.Item, { name: [field.name, "fontColor"], label: "Color", getValueFromEvent: (color) => color.toHexString(), children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) })] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { name: [field.name, "x"], label: "X", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { name: [field.name, "y"], label: "Y", children: _jsx(InputNumber, {}) })] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { name: [field.name, "fontSize"], label: "Size", children: _jsx(InputNumber, { suffix: "px" }) }), _jsx(Form.Item, { name: [field.name, "rotation"], label: "Rotation", children: _jsx(InputNumber, { suffix: "\u00B0", min: 0, max: 360, parser: (value) => {
5
+ return (_jsxs("div", { className: "py-2", children: [_jsx("h1", { className: "heading-s", children: "Section Labeling" }), _jsx(Divider, { style: { margin: 4 } }), _jsx(Form.Item, { label: "Labels in table", name: "labels", className: "w-full", children: _jsx(Form.List, { name: "labels", children: (fields, { add, remove }) => (_jsxs(_Fragment, { children: [fields.map((field) => (_jsxs("div", { className: "w-full", children: [_jsx(Flex, { gap: 5, className: "w-full flex justify-between", children: _jsx(Form.Item, { name: [field.name, "label"], label: "Text", className: "w-full", children: _jsx(Input, {}) }) }), _jsxs(Flex, { gap: 5, className: "w-full flex justify-between", children: [_jsx(Form.Item, { name: [field.name, "x"], label: "Position X", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { name: [field.name, "y"], label: "Position Y", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { name: [field.name, "rotation"], label: "Rotation", children: _jsx(InputNumber, { suffix: "\u00B0", min: 0, max: 360, parser: (value) => {
6
6
  if (!value)
7
7
  return 0;
8
8
  const num = Number(value.replace(/\D/g, ""));
9
9
  if (Number.isNaN(num))
10
10
  return 0;
11
11
  return Math.min(360, Math.max(0, num));
12
- } }) })] })] }, field.key))), _jsxs(Flex, { gap: 2, children: [_jsx(Button, { type: "primary", onClick: () => add({
12
+ } }) })] }), _jsxs(Flex, { gap: 5, children: [_jsx(Form.Item, { name: [field.name, "fontSize"], label: "Size", children: _jsx(InputNumber, { suffix: "px" }) }), _jsx(Form.Item, { name: [field.name, "fontColor"], label: "Color", getValueFromEvent: (color) => color.toHexString(), children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) })] })] }, field.key))), _jsxs(Flex, { gap: 2, className: "w-full", children: [_jsx(Button
13
+ // type="dashed"
14
+ , {
15
+ // type="dashed"
16
+ onClick: () => remove(fields.length - 1), className: "w-full", children: "Remove" }), _jsx(Button, { type: "primary", onClick: () => add({
13
17
  label: "",
14
18
  fontColor: "#000000",
15
19
  x: 0,
16
20
  y: 0,
17
21
  fontSize: 12,
18
22
  rotation: 0
19
- }), className: "btn btn-primary", children: "Add" }), _jsx(Button, { type: "primary", onClick: () => remove(fields.length - 1), className: "btn btn-primary", children: "Remove" })] })] })) }) }), _jsx("div", { className: "divider-dashed" })] }));
23
+ }), className: "w-full", children: "Add" })] })] })) }) }), _jsx("div", { className: "divider-dashed" })] }));
20
24
  };
21
25
  export default SectionLabel;
@@ -1,32 +1,27 @@
1
1
  "use client";
2
- import { Button, ColorPicker, Flex, Form, Input, InputNumber } from "antd";
2
+ import { Button, ColorPicker, Flex, Form, Input, InputNumber, Divider } from "antd";
3
3
  const SectionLabel = () => {
4
4
  return (<div className="py-2">
5
5
  <h1 className="heading-s">Section Labeling</h1>
6
- <Form.Item label="Labels in square" name={"labels"}>
6
+ <Divider style={{ margin: 4 }}/>
7
+
8
+ <Form.Item label="Labels in table" name={"labels"} className="w-full">
7
9
  <Form.List name="labels">
8
10
  {(fields, { add, remove }) => (<>
9
- {fields.map((field) => (<div key={field.key}>
10
- <Flex gap={2}>
11
- <Form.Item name={[field.name, "label"]} label="Text">
11
+ {fields.map((field) => (<div key={field.key} className="w-full">
12
+ <Flex gap={5} className="w-full flex justify-between">
13
+ <Form.Item name={[field.name, "label"]} label="Text" className="w-full">
12
14
  <Input />
13
15
  </Form.Item>
14
- <Form.Item name={[field.name, "fontColor"]} label="Color" getValueFromEvent={(color) => color.toHexString()}>
15
- <ColorPicker allowClear format="hex" defaultFormat="hex"/>
16
- </Form.Item>
16
+
17
17
  </Flex>
18
- <Flex gap={2}>
19
- <Form.Item name={[field.name, "x"]} label="X">
18
+ <Flex gap={5} className="w-full flex justify-between">
19
+ <Form.Item name={[field.name, "x"]} label="Position X">
20
20
  <InputNumber />
21
21
  </Form.Item>
22
- <Form.Item name={[field.name, "y"]} label="Y">
22
+ <Form.Item name={[field.name, "y"]} label="Position Y">
23
23
  <InputNumber />
24
24
  </Form.Item>
25
- </Flex>
26
- <Flex gap={2}>
27
- <Form.Item name={[field.name, "fontSize"]} label="Size">
28
- <InputNumber suffix="px"/>
29
- </Form.Item>
30
25
  <Form.Item name={[field.name, "rotation"]} label="Rotation">
31
26
  <InputNumber suffix="°" min={0} max={360} parser={(value) => {
32
27
  if (!value)
@@ -38,8 +33,22 @@ const SectionLabel = () => {
38
33
  }}/>
39
34
  </Form.Item>
40
35
  </Flex>
36
+ <Flex gap={5}>
37
+ <Form.Item name={[field.name, "fontSize"]} label="Size">
38
+ <InputNumber suffix="px"/>
39
+ </Form.Item>
40
+ <Form.Item name={[field.name, "fontColor"]} label="Color" getValueFromEvent={(color) => color.toHexString()}>
41
+ <ColorPicker allowClear format="hex" defaultFormat="hex"/>
42
+ </Form.Item>
43
+ </Flex>
41
44
  </div>))}
42
- <Flex gap={2}>
45
+ <Flex gap={2} className="w-full">
46
+
47
+ <Button
48
+ // type="dashed"
49
+ onClick={() => remove(fields.length - 1)} className="w-full">
50
+ Remove
51
+ </Button>
43
52
  <Button type="primary" onClick={() => add({
44
53
  label: "",
45
54
  fontColor: "#000000",
@@ -47,12 +56,9 @@ const SectionLabel = () => {
47
56
  y: 0,
48
57
  fontSize: 12,
49
58
  rotation: 0
50
- })} className="btn btn-primary">
59
+ })} className="w-full">
51
60
  Add
52
61
  </Button>
53
- <Button type="primary" onClick={() => remove(fields.length - 1)} className="btn btn-primary">
54
- Remove
55
- </Button>
56
62
  </Flex>
57
63
  </>)}
58
64
  </Form.List>
@@ -4,5 +4,5 @@ export declare const optionsShape: {
4
4
  }[];
5
5
  declare const SectionShape: ({ allowChangeShape, }: {
6
6
  allowChangeShape?: boolean;
7
- }) => import("react").JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
8
  export default SectionShape;
@@ -1,6 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useAppSelector } from "@/hooks/use-redux";
3
4
  import { ColorPicker, Flex, Form, InputNumber, Select } from "antd";
5
+ const { Option } = Select;
4
6
  export const optionsShape = [
5
7
  {
6
8
  value: "circle",
@@ -28,7 +30,7 @@ export const optionsShape = [
28
30
  },
29
31
  {
30
32
  value: "table-seat-rect-circle",
31
- label: "Type 5",
33
+ label: "Type 5 ",
32
34
  },
33
35
  {
34
36
  label: "Image Table",
@@ -37,7 +39,30 @@ export const optionsShape = [
37
39
  ];
38
40
  const SectionShape = ({ allowChangeShape = true, }) => {
39
41
  const shape = Form.useWatch("shape");
40
- return (_jsxs("div", { className: "py-2", children: [_jsx("h1", { className: "heading-s", children: "Shape" }), allowChangeShape && (_jsx(Flex, { gap: 2, className: "w-full", children: _jsx(Form.Item, { label: "Name", name: "shape", className: "w-full", children: _jsx(Select, { options: optionsShape, className: "w-full" }) }) })), _jsxs(Flex, { gap: 2, className: "w-full", children: [_jsx(Form.Item, { label: "Width", name: "width", className: "w-full", children: _jsx(InputNumber, { suffix: "px", controls: true, parser: (value) => {
42
+ const seatKey = useAppSelector((state) => state.panel.seatDefaultKey);
43
+ const selectedComponent = useAppSelector((state) => state.panel.selectedComponent);
44
+ const maxSeat = (selectedComponent === null || selectedComponent === void 0 ? void 0 : selectedComponent[seatKey]) || 0;
45
+ return (_jsxs("div", { className: "py-2", children: [_jsx("h1", { className: "heading-s", children: "Shape" }), allowChangeShape && (_jsx(Flex, { gap: 2, className: "w-full", children: _jsx(Form.Item, { label: "Name", name: "shape", className: "w-full", children: _jsx(Select
46
+ // options={optionsShape.map((item) => ({
47
+ // ...item,
48
+ // label:
49
+ // item.value === "table-seat-rect-circle"
50
+ // ? `Type 5 (only for 4 ${seatKey})`
51
+ // : item.label,
52
+ // }))}
53
+ , {
54
+ // options={optionsShape.map((item) => ({
55
+ // ...item,
56
+ // label:
57
+ // item.value === "table-seat-rect-circle"
58
+ // ? `Type 5 (only for 4 ${seatKey})`
59
+ // : item.label,
60
+ // }))}
61
+ className: "w-full", children: optionsShape === null || optionsShape === void 0 ? void 0 : optionsShape.map((item) => {
62
+ const disabled = item.value === "table-seat-rect-circle" && maxSeat > 4;
63
+ return (_jsx(Option, { value: item.value, disabled: disabled, children: item.value === "table-seat-rect-circle" ?
64
+ `Type 5 (only for 4 ${seatKey})` : item.label }, item.value));
65
+ }) }) }) })), _jsxs(Flex, { gap: 2, className: "w-full", children: [_jsx(Form.Item, { label: "Width", name: "width", className: "w-full", children: _jsx(InputNumber, { suffix: "px", controls: true, parser: (value) => {
41
66
  var _a;
42
67
  const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
43
68
  return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
@@ -45,25 +70,25 @@ const SectionShape = ({ allowChangeShape = true, }) => {
45
70
  var _a;
46
71
  const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
47
72
  return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
48
- } }) })] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { label: "Position X", name: "x", className: "w-full", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { label: "Position Y", name: "y", className: "w-full", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { label: "Rotation", name: "rotation", className: "w-full", children: _jsx(InputNumber, { suffix: "\u00B0", min: 0, max: 360, parser: (value) => {
73
+ } }) }), !(shape === null || shape === void 0 ? void 0 : shape.includes("circle")) && (_jsx(Form.Item, { label: "Radius", name: "radius", className: "w-full", children: _jsx(InputNumber, { suffix: "px", parser: (value) => {
74
+ var _a;
75
+ const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
76
+ return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
77
+ } }) }))] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { label: "Position X", name: "x", className: "w-full", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { label: "Position Y", name: "y", className: "w-full", children: _jsx(InputNumber, {}) }), _jsx(Form.Item, { label: "Rotation", name: "rotation", className: "w-full", children: _jsx(InputNumber, { suffix: "\u00B0", min: 0, max: 360, parser: (value) => {
49
78
  if (!value)
50
79
  return 0;
51
80
  const num = Number(value.replace(/\D/g, ""));
52
81
  if (Number.isNaN(num))
53
82
  return 0;
54
83
  return Math.min(360, Math.max(0, num));
55
- } }) })] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { label: "Fill", name: "fill", getValueFromEvent: (color) => color.toHexString(), className: "w-full ", children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) }), _jsx(Form.Item, { label: "Stroke", name: "stroke", getValueFromEvent: (color) => color.toHexString(), className: "w-full ", children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) })] }), _jsxs(Flex, { children: [_jsx(Form.Item, { label: "Stroke", name: "strokeWidth", className: "w-full", children: _jsx(InputNumber, {}) }), !(shape === null || shape === void 0 ? void 0 : shape.includes("circle")) && (_jsx(Form.Item, { label: "Radius", name: "radius", className: "w-full", children: _jsx(InputNumber, { suffix: "px", parser: (value) => {
56
- var _a;
57
- const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
58
- return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
59
- } }) })), _jsx(Form.Item, { label: "opacity", name: "opacity", className: "w-full", children: _jsx(InputNumber, { step: 0.1, max: 1, min: 0, parser: (value) => {
60
- if (value === undefined || value === null || value === "")
61
- return null;
62
- const cleaned = value.replace(/[^0-9.]/g, "");
63
- const num = Number(cleaned);
64
- if (Number.isNaN(num))
65
- return null;
66
- return Math.min(1, Math.max(0, num));
67
- } }) })] })] }));
84
+ } }) })] }), _jsxs(Flex, { gap: 2, children: [_jsx(Form.Item, { label: "Fill", name: "fill", getValueFromEvent: (color) => color.toHexString(), className: "w-full ", children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) }), _jsx(Form.Item, { label: "Stroke Fill", name: "stroke", getValueFromEvent: (color) => color.toHexString(), className: "w-full ", children: _jsx(ColorPicker, { allowClear: true, format: "hex", defaultFormat: "hex" }) }), _jsx(Form.Item, { label: "Stroke", name: "strokeWidth", className: "w-full", children: _jsx(InputNumber, {}) })] }), _jsx(Flex, { children: _jsx(Form.Item, { label: "opacity", name: "opacity", className: "w-full", children: _jsx(InputNumber, { step: 10, max: 100, min: 0, parser: (value) => {
85
+ if (value === undefined || value === null || value === "")
86
+ return null;
87
+ const cleaned = value.replace(/[^0-9.]/g, "");
88
+ const num = Number(cleaned);
89
+ if (Number.isNaN(num))
90
+ return null;
91
+ return Math.min(0, Math.max(0, num));
92
+ } }) }) })] }));
68
93
  };
69
94
  export default SectionShape;
@@ -1,5 +1,7 @@
1
1
  "use client";
2
+ import { useAppSelector } from "@/hooks/use-redux";
2
3
  import { ColorPicker, Flex, Form, InputNumber, Select } from "antd";
4
+ const { Option } = Select;
3
5
  export const optionsShape = [
4
6
  {
5
7
  value: "circle",
@@ -27,7 +29,7 @@ export const optionsShape = [
27
29
  },
28
30
  {
29
31
  value: "table-seat-rect-circle",
30
- label: "Type 5",
32
+ label: "Type 5 ",
31
33
  },
32
34
  {
33
35
  label: "Image Table",
@@ -36,11 +38,30 @@ export const optionsShape = [
36
38
  ];
37
39
  const SectionShape = ({ allowChangeShape = true, }) => {
38
40
  const shape = Form.useWatch("shape");
41
+ const seatKey = useAppSelector((state) => state.panel.seatDefaultKey);
42
+ const selectedComponent = useAppSelector((state) => state.panel.selectedComponent);
43
+ const maxSeat = (selectedComponent === null || selectedComponent === void 0 ? void 0 : selectedComponent[seatKey]) || 0;
39
44
  return (<div className="py-2">
40
45
  <h1 className="heading-s">Shape</h1>
41
46
  {allowChangeShape && (<Flex gap={2} className="w-full">
42
47
  <Form.Item label="Name" name="shape" className="w-full">
43
- <Select options={optionsShape} className="w-full"/>
48
+ <Select
49
+ // options={optionsShape.map((item) => ({
50
+ // ...item,
51
+ // label:
52
+ // item.value === "table-seat-rect-circle"
53
+ // ? `Type 5 (only for 4 ${seatKey})`
54
+ // : item.label,
55
+ // }))}
56
+ className="w-full">
57
+ {optionsShape === null || optionsShape === void 0 ? void 0 : optionsShape.map((item) => {
58
+ const disabled = item.value === "table-seat-rect-circle" && maxSeat > 4;
59
+ return (<Option key={item.value} value={item.value} disabled={disabled}>
60
+ {item.value === "table-seat-rect-circle" ?
61
+ `Type 5 (only for 4 ${seatKey})` : item.label}
62
+ </Option>);
63
+ })}
64
+ </Select>
44
65
  </Form.Item>
45
66
  </Flex>)}
46
67
  <Flex gap={2} className="w-full">
@@ -58,6 +79,13 @@ const SectionShape = ({ allowChangeShape = true, }) => {
58
79
  return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
59
80
  }}/>
60
81
  </Form.Item>
82
+ {!(shape === null || shape === void 0 ? void 0 : shape.includes("circle")) && (<Form.Item label="Radius" name="radius" className="w-full">
83
+ <InputNumber suffix="px" parser={(value) => {
84
+ var _a;
85
+ const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
86
+ return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
87
+ }}/>
88
+ </Form.Item>)}
61
89
  </Flex>
62
90
  <Flex gap={2}>
63
91
  <Form.Item label="Position X" name="x" className="w-full">
@@ -81,30 +109,23 @@ const SectionShape = ({ allowChangeShape = true, }) => {
81
109
  <Form.Item label="Fill" name={"fill"} getValueFromEvent={(color) => color.toHexString()} className="w-full ">
82
110
  <ColorPicker allowClear format="hex" defaultFormat="hex"/>
83
111
  </Form.Item>
84
- <Form.Item label="Stroke" name={"stroke"} getValueFromEvent={(color) => color.toHexString()} className="w-full ">
112
+ <Form.Item label="Stroke Fill" name={"stroke"} getValueFromEvent={(color) => color.toHexString()} className="w-full ">
85
113
  <ColorPicker allowClear format="hex" defaultFormat="hex"/>
86
114
  </Form.Item>
87
- </Flex>
88
- <Flex>
89
115
  <Form.Item label="Stroke" name={"strokeWidth"} className="w-full">
90
116
  <InputNumber />
91
117
  </Form.Item>
92
- {!(shape === null || shape === void 0 ? void 0 : shape.includes("circle")) && (<Form.Item label="Radius" name="radius" className="w-full">
93
- <InputNumber suffix="px" parser={(value) => {
94
- var _a;
95
- const onlyNumber = (_a = value === null || value === void 0 ? void 0 : value.replace(/\D/g, "")) !== null && _a !== void 0 ? _a : "";
96
- return onlyNumber === "" ? 1 : Math.max(1, Number(onlyNumber));
97
- }}/>
98
- </Form.Item>)}
118
+ </Flex>
119
+ <Flex>
99
120
  <Form.Item label="opacity" name={"opacity"} className="w-full">
100
- <InputNumber step={0.1} max={1} min={0} parser={(value) => {
121
+ <InputNumber step={10} max={100} min={0} parser={(value) => {
101
122
  if (value === undefined || value === null || value === "")
102
123
  return null;
103
124
  const cleaned = value.replace(/[^0-9.]/g, "");
104
125
  const num = Number(cleaned);
105
126
  if (Number.isNaN(num))
106
127
  return null;
107
- return Math.min(1, Math.max(0, num));
128
+ return Math.min(0, Math.max(0, num));
108
129
  }}/>
109
130
  </Form.Item>
110
131
  </Flex>
@@ -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.Element;
6
+ declare const NumberIndicator: ({ name, defaultValue, onChange }: NumberIndicatorProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export default NumberIndicator;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  type JoystickPosition = {
3
2
  x: number;
4
3
  y: number;
@@ -8,5 +7,5 @@ type JoystickProps = {
8
7
  onMove?: (pos: JoystickPosition) => void;
9
8
  onEnd?: () => void;
10
9
  };
11
- export declare const Joystick: ({ size, onMove, onEnd, }: JoystickProps) => React.JSX.Element;
10
+ export declare const Joystick: ({ size, onMove, onEnd, }: JoystickProps) => import("react/jsx-runtime").JSX.Element;
12
11
  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.Element;
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;
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.Element;
18
+ declare const Layers: ({ shadowShape, components, onClick, selectedComponent, selectedTable, activeTool, onMouseDown, onMouseUp, onBlur, selectedTableColor, mode, style, onTouchStart }: LayersProps) => import("react/jsx-runtime").JSX.Element;
19
19
  export default Layers;
@@ -9,5 +9,5 @@ interface LayersProps {
9
9
  activeTool?: string;
10
10
  selectionLines?: SelectionLines;
11
11
  }
12
- declare const Layers: ({ components, selectedComponent, activeTool, selectionLines, }: LayersProps) => import("react").JSX.Element;
12
+ declare const Layers: ({ components, selectedComponent, activeTool, selectionLines, }: LayersProps) => import("react/jsx-runtime").JSX.Element;
13
13
  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.Element;
23
+ declare const Layers: ({ components, selectedTable, iconTags, eventMatchTable, onHighlightGroup, onForceRestoreGroup, selectedTableColor, privilegedTags, }: LayersProps) => import("react/jsx-runtime").JSX.Element;
24
24
  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.Element;
6
+ declare const TableEditor: ({ componentProps, extraComponentProps, }: LayerViewProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export default TableEditor;
8
8
  export { LayerView };
@@ -1,4 +1,4 @@
1
1
  declare const ModalPreview: ({ children }: {
2
2
  children: React.ReactNode;
3
- }) => import("react").JSX.Element;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
4
  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;
@@ -13,5 +13,5 @@ interface BoardTemplateProps {
13
13
  };
14
14
  disabled?: boolean;
15
15
  }
16
- declare const BoardTemplate: ({ refs, loadingRender, disabled, }: BoardTemplateProps) => React.JSX.Element;
16
+ declare const BoardTemplate: ({ refs, loadingRender, disabled, }: BoardTemplateProps) => import("react/jsx-runtime").JSX.Element;
17
17
  export default BoardTemplate;
@@ -67,6 +67,8 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, }) => {
67
67
  //polygon
68
68
  const polygonElementRef = useRef([]);
69
69
  const isOnMakePolygonRef = useRef(false);
70
+ //boundingbox
71
+ const isInialBoundingBox = useRef(false);
70
72
  const { components: componentsProps, extraComponents: extraComponentsProps, boundingBox, flagChange, updateBy, isShowTagType, } = useAppSelector((state) => state.board);
71
73
  const { selectionLines } = useAppSelector((state) => state.panel);
72
74
  const [selectedLines, setSelectedLines] = useState(null);
@@ -338,6 +340,7 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, }) => {
338
340
  const isInitialCreateElemente = toolElement.includes(activeTool) && !isCreateElementRef.current;
339
341
  const isInitialCreateBoundingBox = activeTool === "bounding-box";
340
342
  const isInitialCreateText = activeTool === "text" && !isCreateElementRef.current;
343
+ console.log({ isInitialCreateText, }, isCreateElementRef.current);
341
344
  if (isInitialCreateElemente) {
342
345
  const tables = createTableGhost({
343
346
  x,
@@ -429,6 +432,7 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, }) => {
429
432
  hadSelectionRef.current = true;
430
433
  }
431
434
  if (downOutSelectionBox) {
435
+ console.log("downOutSelectionBox");
432
436
  hadSelectionRef.current = false;
433
437
  onMoveSelectionBoxRef.current = false;
434
438
  handleUnSelectComponent();
@@ -1352,11 +1356,14 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, }) => {
1352
1356
  if (isInitialCreateBoundingBox) {
1353
1357
  const ghost = svg.querySelector("#ghost-element-create");
1354
1358
  const getBBox = getGlobalBBox(svg, ghost);
1355
- dispatch({
1356
- type: "board/setBoundingBox",
1357
- payload: Object.assign(Object.assign({}, getBBox), { id: `${Date.now()}`, shape: "bounding-box", fill: "transparent" }),
1358
- });
1359
+ if (getBBox.width > 90 || getBBox.height > 90) {
1360
+ dispatch({
1361
+ type: "board/setBoundingBox",
1362
+ payload: Object.assign(Object.assign({}, getBBox), { id: `${Date.now()}`, shape: "bounding-box", fill: "transparent" }),
1363
+ });
1364
+ }
1359
1365
  (_m = (_l = svgRef.current) === null || _l === void 0 ? void 0 : _l.querySelectorAll("#ghost-element-create")) === null || _m === void 0 ? void 0 : _m.forEach((el) => el.remove());
1366
+ isCreateElementRef.current = false;
1360
1367
  }
1361
1368
  if (isInitialCreateText) {
1362
1369
  const ghost = svg.querySelector("#ghost-element-create");
@@ -1553,7 +1560,7 @@ const BoardTemplate = ({ refs, loadingRender, disabled = false, }) => {
1553
1560
  switch: false,
1554
1561
  drop: false,
1555
1562
  rightClick: false,
1556
- } }), _jsx("div", { className: "flex gap-2 mt-2", children: _jsxs(Radio.Group, { value: isShowTagType, onChange: handleCheckPreview, children: [_jsx(Radio, { value: "default", children: "Default" }), _jsx(Radio, { value: "type-1", children: "Type 1" }), _jsx(Radio, { value: "type-2", children: "Type 2" })] }) })] }), _jsxs("div", { className: "relative w-full h-screen flex-1 overflow-hidden", ref: containerRef, children: [_jsx("div", { className: "absolute bottom-5 left-1/2 transform -translate-x-1/2 z-10", children: _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { icon: _jsx(ZoomIn, {}), onClick: handelZoomIn }), _jsx(Button, { icon: _jsx(ZoomOut, {}), onClick: handleZoomOut })] }) }), _jsx(TransformWrapper, { ref: transformRef,
1563
+ }, defaultBoundingBox: boundingBox }), _jsx("div", { className: "flex gap-2 mt-2", children: _jsxs(Radio.Group, { value: isShowTagType, onChange: handleCheckPreview, children: [_jsx(Radio, { value: "default", children: "Default" }), _jsx(Radio, { value: "type-1", children: "Type 1" }), _jsx(Radio, { value: "type-2", children: "Type 2" })] }) })] }), _jsxs("div", { className: "relative w-full h-screen flex-1 overflow-hidden", ref: containerRef, children: [_jsx("div", { className: "absolute bottom-5 left-1/2 transform -translate-x-1/2 z-10", children: _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { icon: _jsx(ZoomIn, {}), onClick: handelZoomIn }), _jsx(Button, { icon: _jsx(ZoomOut, {}), onClick: handleZoomOut })] }) }), _jsx(TransformWrapper, { ref: transformRef,
1557
1564
  // limitToBounds={true}
1558
1565
  panning: {
1559
1566
  disabled: [