seat-editor 3.0.0 → 3.0.2

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 (100) hide show
  1. package/dist/app/layout.d.ts +1 -1
  2. package/dist/app/{layout.js → layout.jsx} +7 -2
  3. package/dist/app/new-board/page.d.ts +1 -1
  4. package/dist/app/new-board/page.jsx +55 -0
  5. package/dist/app/old-board/page.d.ts +2 -1
  6. package/dist/app/old-board/{page.js → page.jsx} +215 -82
  7. package/dist/app/only-view/chair.d.ts +1 -1
  8. package/dist/app/only-view/chair.js +10 -2
  9. package/dist/app/only-view/page.d.ts +1 -1
  10. package/dist/app/only-view/page.jsx +101 -0
  11. package/dist/app/only-view/user.d.ts +1 -1
  12. package/dist/app/only-view/user.js +10 -2
  13. package/dist/app/page.d.ts +1 -1
  14. package/dist/app/page.jsx +13 -0
  15. package/dist/app/test/page.d.ts +2 -1
  16. package/dist/app/test/{page.js → page.jsx} +5 -3
  17. package/dist/app/v2/page.d.ts +1 -1
  18. package/dist/app/v2/page.jsx +13 -0
  19. package/dist/components/button-tools/index.d.ts +1 -1
  20. package/dist/components/button-tools/index.jsx +17 -0
  21. package/dist/components/form-tools/label.d.ts +1 -1
  22. package/dist/components/form-tools/label.jsx +44 -0
  23. package/dist/components/form-tools/shape.d.ts +1 -1
  24. package/dist/components/form-tools/shape.jsx +66 -0
  25. package/dist/components/input/number-indicator.d.ts +1 -1
  26. package/dist/components/input/{number-indicator.js → number-indicator.jsx} +11 -2
  27. package/dist/components/joystick/index.d.ts +2 -1
  28. package/dist/components/joystick/{index.js → index.jsx} +14 -13
  29. package/dist/components/layer/index.d.ts +1 -1
  30. package/dist/components/layer/index.jsx +383 -0
  31. package/dist/components/layer-v2/index.d.ts +1 -1
  32. package/dist/components/layer-v2/index.jsx +370 -0
  33. package/dist/components/layer-v3/index.d.ts +1 -1
  34. package/dist/components/layer-v3/{index.js → index.jsx} +242 -102
  35. package/dist/components/layer-v4/index.d.ts +1 -1
  36. package/dist/components/layer-v4/{index.js → index.jsx} +157 -80
  37. package/dist/components/lib/index.d.ts +1 -1
  38. package/dist/components/lib/{index.js → index.jsx} +7 -2
  39. package/dist/components/modal-preview/index.d.ts +1 -1
  40. package/dist/components/modal-preview/index.jsx +11 -0
  41. package/dist/features/board/index.d.ts +1 -1
  42. package/dist/features/board/{index.js → index.jsx} +90 -31
  43. package/dist/features/board-v2/index.d.ts +2 -1
  44. package/dist/features/board-v2/{index.js → index.jsx} +101 -39
  45. package/dist/features/board-v3/index copy.d.ts +2 -1
  46. package/dist/features/board-v3/{index copy.js → index copy.jsx } +128 -50
  47. package/dist/features/board-v3/index.d.ts +2 -1
  48. package/dist/features/board-v3/{index.js → index.jsx} +110 -32
  49. package/dist/features/navbar/index.d.ts +1 -1
  50. package/dist/features/navbar/index.jsx +5 -0
  51. package/dist/features/package/index.d.ts +1 -1
  52. package/dist/features/package/{index.js → index.jsx} +16 -6
  53. package/dist/features/panel/index.d.ts +1 -1
  54. package/dist/features/panel/{index.js → index.jsx} +25 -7
  55. package/dist/features/panel/select-tool.d.ts +1 -1
  56. package/dist/features/panel/{select-tool.js → select-tool.jsx} +23 -10
  57. package/dist/features/panel/selected-group.d.ts +1 -1
  58. package/dist/features/panel/selected-group.jsx +47 -0
  59. package/dist/features/panel/square-circle-tool.d.ts +1 -1
  60. package/dist/features/panel/{square-circle-tool.js → square-circle-tool.jsx} +4 -2
  61. package/dist/features/panel/table-seat-circle.d.ts +1 -1
  62. package/dist/features/panel/table-seat-circle.jsx +31 -0
  63. package/dist/features/panel/table-seat-square.d.ts +1 -1
  64. package/dist/features/panel/table-seat-square.jsx +46 -0
  65. package/dist/features/panel/text-tool.d.ts +1 -1
  66. package/dist/features/panel/text-tool.jsx +26 -0
  67. package/dist/features/panel/upload-tool.d.ts +1 -1
  68. package/dist/features/panel/{upload-tool.js → upload-tool.jsx} +24 -2
  69. package/dist/features/side-tool/index.d.ts +1 -1
  70. package/dist/features/side-tool/{index.js → index.jsx} +120 -98
  71. package/dist/features/view-only/index.d.ts +1 -1
  72. package/dist/features/view-only/{index.js → index.jsx} +38 -31
  73. package/dist/features/view-only-2/index.d.ts +1 -1
  74. package/dist/features/view-only-2/{index.js → index.jsx} +16 -13
  75. package/dist/features/view-only-3/index.d.ts +1 -1
  76. package/dist/features/view-only-3/{index.js → index.jsx} +46 -27
  77. package/dist/index.d.ts +2 -1
  78. package/dist/index.js +2 -1
  79. package/dist/provider/antd-provider.jsx +46 -0
  80. package/dist/provider/redux-provider.d.ts +1 -1
  81. package/dist/provider/{redux-provider.js → redux-provider.jsx} +1 -2
  82. package/dist/provider/store-provider.d.ts +1 -1
  83. package/dist/provider/{store-provider.js → store-provider.jsx} +3 -2
  84. package/package.json +1 -1
  85. package/dist/app/new-board/page.js +0 -33
  86. package/dist/app/only-view/page.js +0 -78
  87. package/dist/app/page.js +0 -8
  88. package/dist/app/v2/page.js +0 -8
  89. package/dist/components/button-tools/index.js +0 -11
  90. package/dist/components/form-tools/label.js +0 -7
  91. package/dist/components/form-tools/shape.js +0 -25
  92. package/dist/components/layer/index.js +0 -295
  93. package/dist/components/layer-v2/index.js +0 -282
  94. package/dist/components/modal-preview/index.js +0 -10
  95. package/dist/features/navbar/index.js +0 -6
  96. package/dist/features/panel/selected-group.js +0 -7
  97. package/dist/features/panel/table-seat-circle.js +0 -9
  98. package/dist/features/panel/table-seat-square.js +0 -9
  99. package/dist/features/panel/text-tool.js +0 -7
  100. package/dist/provider/antd-provider.js +0 -43
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import { Circle, CopyPlus, Eye, EyeOff, Image, Layers2, MousePointer, PaintBucket, Ratio, SquareMousePointer, Trash, Type, Upload, Hand, Layers, Ruler, Grid, Lock, LockOpen, Undo2, Redo2, PenTool } from "lucide-react";
4
3
  import ButtonTools from "../../components/button-tools";
5
4
  import { Divider, ColorPicker, Button, message, } from "antd";
@@ -16,17 +15,17 @@ const SideTool = ({ dragOnly, deleteAutorized, }) => {
16
15
  {
17
16
  id: "select",
18
17
  name: "Select Tool",
19
- icon: _jsx(MousePointer, {}),
18
+ icon: <MousePointer />,
20
19
  },
21
20
  {
22
21
  id: "grab",
23
22
  name: "Grab Tool",
24
- icon: _jsx(Hand, {}),
23
+ icon: <Hand />,
25
24
  },
26
25
  {
27
26
  id: "ruler",
28
27
  name: "Ruler",
29
- icon: _jsx(Ruler, {}),
28
+ icon: <Ruler />,
30
29
  },
31
30
  // {
32
31
  // id: "node",
@@ -43,22 +42,22 @@ const SideTool = ({ dragOnly, deleteAutorized, }) => {
43
42
  {
44
43
  id: "square",
45
44
  name: "Square",
46
- icon: _jsx(SquareMousePointer, {}),
45
+ icon: <SquareMousePointer />,
47
46
  },
48
47
  {
49
48
  id: "circle",
50
49
  name: "Circle",
51
- icon: _jsx(Circle, {}),
50
+ icon: <Circle />,
52
51
  },
53
52
  {
54
53
  id: "table-seat-circle",
55
54
  name: "Table Seat Circle",
56
- icon: _jsx(Ratio, {}),
55
+ icon: <Ratio />,
57
56
  },
58
57
  {
59
58
  id: "image-table",
60
59
  name: "Image Table",
61
- icon: _jsx(Upload, {}),
60
+ icon: <Upload />,
62
61
  },
63
62
  // {
64
63
  // id: "table-seat-square",
@@ -75,17 +74,17 @@ const SideTool = ({ dragOnly, deleteAutorized, }) => {
75
74
  {
76
75
  id: "background",
77
76
  name: "Background",
78
- icon: _jsx(Image, {}),
77
+ icon: <Image />,
79
78
  },
80
79
  {
81
80
  id: "text",
82
81
  name: "Text",
83
- icon: _jsx(Type, {}),
82
+ icon: <Type />,
84
83
  },
85
84
  {
86
85
  id: "polygon",
87
86
  name: "Polygon Tool",
88
- icon: _jsx(PenTool, {}),
87
+ icon: <PenTool />,
89
88
  }
90
89
  // {
91
90
  // id: "background-color",
@@ -258,99 +257,122 @@ const SideTool = ({ dragOnly, deleteAutorized, }) => {
258
257
  dispatch({ type: "board/setFlagChange", payload: true });
259
258
  dispatch({ type: "board/setUpdateBy", payload: "global" });
260
259
  };
261
- return (_jsxs("div", { className: "h-full left-0 flex flex-col items-center border-r-2 border-gray-300 bg-white px-2 pt-4", children: [tools === null || tools === void 0 ? void 0 : tools.map((tool) => (_jsx(ButtonTools, { buttonProps: {
260
+ return (<div className="h-full left-0 flex flex-col items-center border-r-2 border-gray-300 bg-white px-2 pt-4">
261
+ {tools === null || tools === void 0 ? void 0 : tools.map((tool) => (<ButtonTools key={tool.id} buttonProps={{
262
+ icon: tool.icon,
263
+ type: "text",
264
+ name: tool.name,
265
+ onClick: () => hanldeSelectTool(tool.id),
266
+ style: active === tool.id ? { color: "red" } : {},
267
+ }} popoverProps={{
268
+ content: <div>{tool.name}</div>,
269
+ trigger: "hover",
270
+ placement: "right",
271
+ }} items={[]}/>))}
272
+ {!dragOnly && (<>
273
+ <ButtonTools buttonProps={{
274
+ icon: <CopyPlus />,
275
+ type: "text",
276
+ name: "duplicate",
277
+ onClick: () => handleDuplicateComponent(),
278
+ }} items={[]} popoverProps={{
279
+ content: <div>Duplicate</div>,
280
+ trigger: "hover",
281
+ placement: "right",
282
+ }}/>
283
+
284
+ <ButtonTools buttonProps={{
285
+ onClick: () => handleOverride(),
286
+ icon: <Layers2 />,
287
+ type: "text",
288
+ name: "override",
289
+ }} items={[]} popoverProps={{
290
+ content: <div>Override Right</div>,
291
+ trigger: "hover",
292
+ placement: "right",
293
+ }}/>
294
+ <ButtonTools buttonProps={{
295
+ onClick: () => handleOverrideLeft(),
296
+ icon: <Layers />,
297
+ type: "text",
298
+ name: "override",
299
+ }} items={[]} popoverProps={{
300
+ content: <div>Override Left</div>,
301
+ trigger: "hover",
302
+ placement: "right",
303
+ }}/>
304
+
305
+ <Divider />
306
+ {actionsTools === null || actionsTools === void 0 ? void 0 : actionsTools.map((tool) => (<ButtonTools key={tool.id} buttonProps={{
262
307
  icon: tool.icon,
263
308
  type: "text",
264
309
  name: tool.name,
265
310
  onClick: () => hanldeSelectTool(tool.id),
266
311
  style: active === tool.id ? { color: "red" } : {},
267
- }, popoverProps: {
268
- content: _jsx("div", { children: tool.name }),
312
+ }} popoverProps={{
313
+ content: <div>{tool.name}</div>,
269
314
  trigger: "hover",
270
315
  placement: "right",
271
- }, items: [] }, tool.id))), !dragOnly && (_jsxs(_Fragment, { children: [_jsx(ButtonTools, { buttonProps: {
272
- icon: _jsx(CopyPlus, {}),
273
- type: "text",
274
- name: "duplicate",
275
- onClick: () => handleDuplicateComponent(),
276
- }, items: [], popoverProps: {
277
- content: _jsx("div", { children: "Duplicate" }),
278
- trigger: "hover",
279
- placement: "right",
280
- } }), _jsx(ButtonTools, { buttonProps: {
281
- onClick: () => handleOverride(),
282
- icon: _jsx(Layers2, {}),
283
- type: "text",
284
- name: "override",
285
- }, items: [], popoverProps: {
286
- content: _jsx("div", { children: "Override Right" }),
287
- trigger: "hover",
288
- placement: "right",
289
- } }), _jsx(ButtonTools, { buttonProps: {
290
- onClick: () => handleOverrideLeft(),
291
- icon: _jsx(Layers, {}),
292
- type: "text",
293
- name: "override",
294
- }, items: [], popoverProps: {
295
- content: _jsx("div", { children: "Override Left" }),
296
- trigger: "hover",
297
- placement: "right",
298
- } }), _jsx(Divider, {}), actionsTools === null || actionsTools === void 0 ? void 0 : actionsTools.map((tool) => (_jsx(ButtonTools, { buttonProps: {
299
- icon: tool.icon,
300
- type: "text",
301
- name: tool.name,
302
- onClick: () => hanldeSelectTool(tool.id),
303
- style: active === tool.id ? { color: "red" } : {},
304
- }, popoverProps: {
305
- content: _jsx("div", { children: tool.name }),
306
- trigger: "hover",
307
- placement: "right",
308
- }, items: [] }, tool.id))), _jsx(Divider, {})] })), controlTools === null || controlTools === void 0 ? void 0 : controlTools.map((tool) => (_jsx(ButtonTools, { buttonProps: {
309
- icon: tool.icon,
310
- type: "text",
311
- name: tool.name,
312
- onClick: () => hanldeSelectTool(tool.id),
313
- style: active === tool.id ? { color: "red" } : {},
314
- }, popoverProps: {
315
- content: _jsx("div", { children: tool.name }),
316
- trigger: "hover",
317
- placement: "right",
318
- }, items: [] }, tool.id))), _jsx(ColorPicker, { value: color, onChange: handleChangeColorBackground, children: _jsx(Button, { icon: _jsx(PaintBucket, {}), type: "text", name: "Background Color", onClick: () => hanldeSelectTool("background-color"), style: active === "background-color" ? { color: "red" } : {} }) }), _jsx(Button, { icon: preview ? _jsx(EyeOff, {}) : _jsx(Eye, {}), type: "text", name: "Preview", onClick: handleOpenModalPreview, style: active === "preview" ? { color: "red" } : {} }), _jsx(Button, { icon: _jsx(Grid, {}), type: "text", name: "Grid", onClick: () => toggleGrid() }), _jsx(ButtonTools, { buttonProps: {
319
- onClick: () => handleRemoveComponent(),
320
- icon: _jsx(Trash, {}),
321
- type: "text",
322
- name: "trash",
323
- }, items: [], popoverProps: {
324
- content: _jsx("div", { children: "Trash" }),
325
- trigger: "hover",
326
- placement: "right",
327
- } }), _jsx(ButtonTools, { buttonProps: {
328
- onClick: () => toogleSetLockBackground(),
329
- icon: lockBackground ? _jsx(Lock, {}) : _jsx(LockOpen, {}),
330
- type: "text",
331
- name: "trash",
332
- }, items: [], popoverProps: {
333
- content: _jsx("div", { children: lockBackground ? "Unlock Background" : "Lock Background" }),
334
- trigger: "hover",
335
- placement: "right",
336
- } }), _jsx(ButtonTools, { buttonProps: {
337
- onClick: () => handleUndo(),
338
- icon: _jsx(Undo2, {}),
339
- type: "text",
340
- name: "undo",
341
- }, items: [], popoverProps: {
342
- content: _jsx("div", { children: "Undo" }),
343
- trigger: "hover",
344
- placement: "right",
345
- } }), _jsx(ButtonTools, { buttonProps: {
346
- onClick: () => handleRedo(),
347
- icon: _jsx(Redo2, {}),
348
- type: "text",
349
- name: "redo",
350
- }, items: [], popoverProps: {
351
- content: _jsx("div", { children: "Redo" }),
352
- trigger: "hover",
353
- placement: "right",
354
- } })] }));
316
+ }} items={[]}/>))}
317
+
318
+ <Divider />
319
+ </>)}
320
+ {controlTools === null || controlTools === void 0 ? void 0 : controlTools.map((tool) => (<ButtonTools key={tool.id} buttonProps={{
321
+ icon: tool.icon,
322
+ type: "text",
323
+ name: tool.name,
324
+ onClick: () => hanldeSelectTool(tool.id),
325
+ style: active === tool.id ? { color: "red" } : {},
326
+ }} popoverProps={{
327
+ content: <div>{tool.name}</div>,
328
+ trigger: "hover",
329
+ placement: "right",
330
+ }} items={[]}/>))}
331
+ <ColorPicker value={color} onChange={handleChangeColorBackground}>
332
+ <Button icon={<PaintBucket />} type="text" name="Background Color" onClick={() => hanldeSelectTool("background-color")} style={active === "background-color" ? { color: "red" } : {}}/>
333
+ </ColorPicker>
334
+ <Button icon={preview ? <EyeOff /> : <Eye />} type="text" name="Preview" onClick={handleOpenModalPreview} style={active === "preview" ? { color: "red" } : {}}/>
335
+ <Button icon={<Grid />} type="text" name="Grid" onClick={() => toggleGrid()}/>
336
+ <ButtonTools buttonProps={{
337
+ onClick: () => handleRemoveComponent(),
338
+ icon: <Trash />,
339
+ type: "text",
340
+ name: "trash",
341
+ }} items={[]} popoverProps={{
342
+ content: <div>Trash</div>,
343
+ trigger: "hover",
344
+ placement: "right",
345
+ }}/>
346
+ <ButtonTools buttonProps={{
347
+ onClick: () => toogleSetLockBackground(),
348
+ icon: lockBackground ? <Lock /> : <LockOpen />,
349
+ type: "text",
350
+ name: "trash",
351
+ }} items={[]} popoverProps={{
352
+ content: <div>{lockBackground ? "Unlock Background" : "Lock Background"}</div>,
353
+ trigger: "hover",
354
+ placement: "right",
355
+ }}/>
356
+ <ButtonTools buttonProps={{
357
+ onClick: () => handleUndo(),
358
+ icon: <Undo2 />,
359
+ type: "text",
360
+ name: "undo",
361
+ }} items={[]} popoverProps={{
362
+ content: <div>Undo</div>,
363
+ trigger: "hover",
364
+ placement: "right",
365
+ }}/>
366
+ <ButtonTools buttonProps={{
367
+ onClick: () => handleRedo(),
368
+ icon: <Redo2 />,
369
+ type: "text",
370
+ name: "redo",
371
+ }} items={[]} popoverProps={{
372
+ content: <div>Redo</div>,
373
+ trigger: "hover",
374
+ placement: "right",
375
+ }}/>
376
+ </div>);
355
377
  };
356
378
  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;
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { useEffect, useMemo, useRef, useState } from "react";
4
3
  import { TransformWrapper, TransformComponent, } from "react-zoom-pan-pinch";
5
4
  import { useAppDispatch, useAppSelector } from "../../hooks/use-redux";
@@ -160,39 +159,47 @@ const LayerView = (props) => {
160
159
  }
161
160
  };
162
161
  }, []);
163
- return (_jsx("div", Object.assign({ className: "relative w-full h-full flex-1", ref: containerRef, style: {
162
+ return (<div className="relative w-full h-full flex-1" ref={containerRef} style={{
164
163
  height: "100vh",
165
164
  overflow: "auto",
166
165
  WebkitOverflowScrolling: "touch",
167
166
  touchAction: "pan-y",
168
- } }, props.containerProps, { children: _jsx(TransformWrapper, Object.assign({ ref: transformRef }, props.transformProps, { disabled: fingerCount === 1 && scale === 1, disablePadding: true,
169
- // panning={{
170
- // disabled: false,
171
- // velocityDisabled: true,
172
- // }}
173
- // limitToBounds={false}
174
- // doubleClick={{ disabled: true }}
175
- // pinch={{ disabled: false }}
176
- // wheel={{ disabled: true }}
177
- // disabled={true}
178
- // disablePadding={true}
179
- centerZoomedOut: true, onTransformed: ({ state: { scale } }) => setScale(scale), minScale: 1, maxScale: 1000, initialScale: 1,
180
- // pinch={{ step: 1 }}
181
- smooth: true, children: _jsx(TransformComponent, { wrapperStyle: {
182
- width: "100%",
183
- height: "100%",
184
- overflow: "visible",
185
- }, contentStyle: {
186
- width: "100%",
187
- height: "100%",
188
- }, children: _jsx("svg", Object.assign({}, props.svgProps, { id: "workspace", ref: svgRef, width: "100%", height: "100%", viewBox: `${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`, className: "h-full", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "xMidYMid meet", style: {
189
- background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
190
- display: "block",
191
- pointerEvents: "auto",
192
- // touchAction: "pan-y",
193
- }, children: _jsx(Layers, { mode: "view", components: [
194
- ...extraComponentsEditor,
195
- ...renderElements(componentsEditor, mappingKey, colorMatchKey),
196
- ], onClick: handleSelectComponent, selectedTable: selectedTable, selectedTableColor: selectedTableColor }) })) }) })) })));
167
+ }} {...props.containerProps}>
168
+ <TransformWrapper ref={transformRef} {...props.transformProps} disabled={fingerCount === 1 && scale === 1} disablePadding={true}
169
+ // panning={{
170
+ // disabled: false,
171
+ // velocityDisabled: true,
172
+ // }}
173
+ // limitToBounds={false}
174
+ // doubleClick={{ disabled: true }}
175
+ // pinch={{ disabled: false }}
176
+ // wheel={{ disabled: true }}
177
+ // disabled={true}
178
+ // disablePadding={true}
179
+ centerZoomedOut={true} onTransformed={({ state: { scale } }) => setScale(scale)} minScale={1} maxScale={1000} initialScale={1}
180
+ // pinch={{ step: 1 }}
181
+ smooth={true}>
182
+ <TransformComponent wrapperStyle={{
183
+ width: "100%",
184
+ height: "100%",
185
+ overflow: "visible",
186
+ }} contentStyle={{
187
+ width: "100%",
188
+ height: "100%",
189
+ }}>
190
+ <svg {...props.svgProps} id="workspace" ref={svgRef} width="100%" height="100%" viewBox={`${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`} className="h-full" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" style={{
191
+ background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
192
+ display: "block",
193
+ pointerEvents: "auto",
194
+ // touchAction: "pan-y",
195
+ }}>
196
+ <Layers mode="view" components={[
197
+ ...extraComponentsEditor,
198
+ ...renderElements(componentsEditor, mappingKey, colorMatchKey),
199
+ ]} onClick={handleSelectComponent} selectedTable={selectedTable} selectedTableColor={selectedTableColor}/>
200
+ </svg>
201
+ </TransformComponent>
202
+ </TransformWrapper>
203
+ </div>);
197
204
  };
198
205
  export default LayerView;
@@ -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;
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { useEffect, useMemo, useRef, useState } from "react";
4
3
  import { useAppDispatch, useAppSelector } from "../../hooks/use-redux";
5
4
  import Layers from "../../components/layer";
@@ -161,17 +160,21 @@ const LayerView = (props) => {
161
160
  }
162
161
  };
163
162
  }, []);
164
- return (_jsx("div", Object.assign({ className: "relative w-full h-full flex-1", ref: containerRef }, props.containerProps, { children: _jsx("svg", Object.assign({}, props.svgProps, {
165
- // id="workspace"
166
- ref: svgRef, width: "100%", height: "100%", viewBox: `${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`, className: "h-full", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "xMidYMid meet", style: {
167
- background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
168
- display: "block",
169
- pointerEvents: "auto",
170
- touchAction: "auto",
171
- // touchAction: "pan-y",
172
- }, children: _jsx(Layers, { mode: "view", components: [
173
- ...extraComponentsEditor,
174
- ...renderElements(componentsEditor, mappingKey, colorMatchKey),
175
- ], onClick: handleSelectComponent, selectedTable: selectedTable, selectedTableColor: selectedTableColor }) })) })));
163
+ return (<div className="relative w-full h-full flex-1" ref={containerRef} {...props.containerProps}>
164
+ <svg {...props.svgProps}
165
+ // id="workspace"
166
+ ref={svgRef} width="100%" height="100%" viewBox={`${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`} className="h-full" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" style={{
167
+ background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
168
+ display: "block",
169
+ pointerEvents: "auto",
170
+ touchAction: "auto",
171
+ // touchAction: "pan-y",
172
+ }}>
173
+ <Layers mode="view" components={[
174
+ ...extraComponentsEditor,
175
+ ...renderElements(componentsEditor, mappingKey, colorMatchKey),
176
+ ]} onClick={handleSelectComponent} selectedTable={selectedTable} selectedTableColor={selectedTableColor}/>
177
+ </svg>
178
+ </div>);
176
179
  };
177
180
  export default LayerView;
@@ -64,5 +64,5 @@ export interface LayerViewProps {
64
64
  onSwitch?: (e: MouseEvent, component: ComponentProps) => void;
65
65
  refs?: React.ForwardedRef<RefLayerView>;
66
66
  }
67
- declare const LayerView: (props: LayerViewProps) => import("react/jsx-runtime").JSX.Element;
67
+ declare const LayerView: (props: LayerViewProps) => React.JSX.Element;
68
68
  export default LayerView;
@@ -1,6 +1,5 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useMemo, useRef, useState, useImperativeHandle, } from "react";
2
+ import React, { useEffect, useMemo, useRef, useState, useImperativeHandle, } from "react";
4
3
  import { TransformWrapper, TransformComponent, } from "react-zoom-pan-pinch";
5
4
  import { useAppDispatch, useAppSelector } from "../../hooks/use-redux";
6
5
  import Layers from "../../components/layer-v4";
@@ -478,33 +477,53 @@ const LayerView = (props) => {
478
477
  handlePan(0, -speedPanning);
479
478
  }
480
479
  };
481
- return (_jsx("div", Object.assign({ className: "relative w-full h-full flex-1", ref: containerRef, style: {
480
+ return (<div className="relative w-full h-full flex-1" ref={containerRef} style={{
482
481
  height: "100vh",
483
482
  overflow: "auto",
484
483
  WebkitOverflowScrolling: "touch",
485
- } }, props.containerProps, { children: _jsx(TransformWrapper, Object.assign({ ref: transformRef }, props.transformProps, {
486
- // disabled={fingerCount === 1 && scale === 1}
487
- disablePadding: true, centerZoomedOut: true, panning: {
488
- disabled: panningGroup,
489
- wheelPanning: true,
490
- }, wheel: {
491
- disabled: false,
492
- }, onTransformed: ({ state: { scale } }) => setScale(scale), minScale: 1, maxScale: 1000, initialScale: 1, smooth: true, children: _jsxs(TransformComponent, { wrapperStyle: {
493
- width: "100%",
494
- height: "100%",
495
- overflow: "visible",
496
- }, contentStyle: {
497
- width: "100%",
498
- height: "100%",
499
- }, children: [_jsx("svg", Object.assign({ id: "workspace", onContextMenu: (e) => e.preventDefault(), onDrop: (e) => handleTableEvent(e, "drop"), onPointerDown: handlePointerDown, onPointerUp: handleMouseUp, ref: svgRef, width: "100%", height: "100%", viewBox: `${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`, className: "h-full", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "xMidYMid meet", style: {
500
- background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
501
- display: "block",
502
- pointerEvents: "all",
503
- touchAction: "none",
504
- userSelect: "none",
505
- } }, props.svgProps, { children: _jsx("g", { id: "main-layer", children: _jsx(Layers, { components: [
506
- ...extraComponentsEditor,
507
- ...renderElements(componentsEditor, mappingKey, tableMatchKey),
508
- ], selectedTable: selectedTable, iconTags: iconTags, eventMatchTable: eventMatchTable }) }) })), tooltip.visible && (_jsx("div", { className: `seat-editor tooltip-container ${tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.className}`, style: Object.assign({ top: tooltip.y, left: tooltip.x, minWidth: widthTooltip + "px" }, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.style), children: "hallo dunia" }))] }) })) })));
484
+ }} {...props.containerProps}>
485
+ {/* {isDragging?.current && (
486
+ <div className="absolute bottom-1/2 left-1 flex gap-4 z-[10]">
487
+ <button className="p-4 bg-gray-400">+</button>
488
+ </div>
489
+ )} */}
490
+
491
+ <TransformWrapper ref={transformRef} {...props.transformProps}
492
+ // disabled={fingerCount === 1 && scale === 1}
493
+ disablePadding={true} centerZoomedOut={true} panning={{
494
+ disabled: panningGroup,
495
+ wheelPanning: true,
496
+ }} wheel={{
497
+ disabled: false,
498
+ }} onTransformed={({ state: { scale } }) => setScale(scale)} minScale={1} maxScale={1000} initialScale={1} smooth={true}>
499
+ <TransformComponent wrapperStyle={{
500
+ width: "100%",
501
+ height: "100%",
502
+ overflow: "visible",
503
+ }} contentStyle={{
504
+ width: "100%",
505
+ height: "100%",
506
+ }}>
507
+ <svg id="workspace" onContextMenu={(e) => e.preventDefault()} onDrop={(e) => handleTableEvent(e, "drop")} onPointerDown={handlePointerDown} onPointerUp={handleMouseUp} ref={svgRef} width="100%" height="100%" viewBox={`${boundingBox.minX} ${boundingBox.minY} ${boundingBox.width} ${boundingBox.height}`} className="h-full" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" style={{
508
+ background: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : defaultBackground,
509
+ display: "block",
510
+ pointerEvents: "all",
511
+ touchAction: "none",
512
+ userSelect: "none",
513
+ }} {...props.svgProps}>
514
+ <g id="main-layer">
515
+ <Layers components={[
516
+ ...extraComponentsEditor,
517
+ ...renderElements(componentsEditor, mappingKey, tableMatchKey),
518
+ ]} selectedTable={selectedTable} iconTags={iconTags} eventMatchTable={eventMatchTable}/>
519
+ </g>
520
+ {/* 🧠 Ghost universal */}
521
+ </svg>
522
+ {tooltip.visible && (<div className={`seat-editor tooltip-container ${tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.className}`} style={Object.assign({ top: tooltip.y, left: tooltip.x, minWidth: widthTooltip + "px" }, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.style)}>
523
+ hallo dunia
524
+ </div>)}
525
+ </TransformComponent>
526
+ </TransformWrapper>
527
+ </div>);
509
528
  };
510
529
  export default LayerView;
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ import SideTool from "./features/side-tool";
4
4
  import ControlPanels from "./features/panel";
5
5
  import LayerView, { type LayerViewProps } from "./features/view-only";
6
6
  import LayerView2, { type LayerViewProps as LayerViewProps2 } from "./features/view-only-2";
7
+ import LayerView3, { type LayerViewProps as LayerViewProps3 } from "./features/view-only-3";
7
8
  import TableEditor from "./features/package";
8
- export { StoreProvider as ProviderSeatEditor, Board, SideTool, ControlPanels, LayerView, LayerView2, LayerViewProps2, LayerViewProps, TableEditor as SeatEditor };
9
+ export { StoreProvider as ProviderSeatEditor, Board, SideTool, ControlPanels, LayerView, LayerView2, LayerViewProps2, LayerViewProps, TableEditor as SeatEditor, LayerView3, LayerViewProps3 };
package/dist/index.js CHANGED
@@ -4,5 +4,6 @@ import SideTool from "./features/side-tool";
4
4
  import ControlPanels from "./features/panel";
5
5
  import LayerView from "./features/view-only";
6
6
  import LayerView2 from "./features/view-only-2";
7
+ import LayerView3 from "./features/view-only-3";
7
8
  import TableEditor from "./features/package";
8
- export { StoreProvider as ProviderSeatEditor, Board, SideTool, ControlPanels, LayerView, LayerView2, TableEditor as SeatEditor };
9
+ export { StoreProvider as ProviderSeatEditor, Board, SideTool, ControlPanels, LayerView, LayerView2, TableEditor as SeatEditor, LayerView3 };
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ import { ConfigProvider } from "antd";
4
+ import { AntdRegistry } from "@ant-design/nextjs-registry";
5
+ import { useAppSelector, useAppDispatch } from "../hooks/use-redux";
6
+ export const AntdProvider = ({ children, themeColor }) => {
7
+ const dispatch = useAppDispatch();
8
+ const theme = useAppSelector((state) => state.theme);
9
+ useEffect(() => {
10
+ if (themeColor !== theme.primaryColor) {
11
+ dispatch({
12
+ type: "theme/setPrimaryColor",
13
+ payload: themeColor
14
+ });
15
+ }
16
+ }, [themeColor]);
17
+ return (<AntdRegistry>
18
+ <ConfigProvider theme={{
19
+ token: {
20
+ colorPrimary: themeColor,
21
+ },
22
+ // token: {
23
+ // colorPrimary: theme.theme["--primary-color"],
24
+ // colorPrimaryBorderHover: theme.theme["--primary-color"],
25
+ // fontFamily: "var(--font-inter), sans-serif",
26
+ // colorError: theme.theme["--danger"],
27
+ // controlOutlineWidth: 4,
28
+ // controlOutline: theme.theme["--surface-color"],
29
+ // colorBgContainerDisabled: "var(--netral-03)",
30
+ // colorTextPlaceholder: "var(--netral-06)",
31
+ // },
32
+ components: {
33
+ Form: {
34
+ labelFontSize: 14,
35
+ fontWeightStrong: 500,
36
+ itemMarginBottom: 12,
37
+ },
38
+ Button: {
39
+ colorPrimary: themeColor
40
+ }
41
+ },
42
+ }}>
43
+ {children}
44
+ </ConfigProvider>
45
+ </AntdRegistry>);
46
+ };
@@ -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,7 +1,6 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { store } from "../libs/store";
4
3
  import { Provider } from "react-redux";
5
4
  export const ReduxProvider = ({ children }) => {
6
- return _jsx(Provider, { store: store, children: children });
5
+ return <Provider store={store}>{children}</Provider>;
7
6
  };
@@ -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;