mathbox-react 0.2.1-rc1 → 0.2.1-rc3
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.
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +15 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/stories/Cartesian.stories.d.ts +6 -6
- package/build/cjs/stories/Grid.stories.d.ts +5 -5
- package/build/cjs/stories/Point.stories.d.ts +3 -3
- package/build/cjs/stories/Surface.stories.d.ts +2 -2
- package/build/cjs/threestrap/Controls.d.ts +9 -0
- package/build/cjs/threestrap/Controls.js +40 -9
- package/build/cjs/threestrap/Controls.js.map +1 -1
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +2 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/stories/Cartesian.stories.d.ts +6 -6
- package/build/esm/stories/Grid.stories.d.ts +5 -5
- package/build/esm/stories/Point.stories.d.ts +3 -3
- package/build/esm/stories/Surface.stories.d.ts +2 -2
- package/build/esm/threestrap/Controls.d.ts +9 -0
- package/build/esm/threestrap/Controls.js +40 -9
- package/build/esm/threestrap/Controls.js.map +1 -1
- package/package.json +1 -1
package/build/cjs/index.d.ts
CHANGED
package/build/cjs/index.js
CHANGED
|
@@ -10,9 +10,24 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
12
|
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
13
25
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
27
|
};
|
|
16
28
|
exports.__esModule = true;
|
|
29
|
+
exports.Threestrap = void 0;
|
|
30
|
+
var Threestrap = __importStar(require("./threestrap"));
|
|
31
|
+
exports.Threestrap = Threestrap;
|
|
17
32
|
__exportStar(require("./components"), exports);
|
|
18
33
|
//# sourceMappingURL=index.js.map
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA0C;AAGjC,gCAAU;AADnB,+CAA4B"}
|
|
@@ -8,10 +8,10 @@ declare const _default: Meta<React.ForwardRefExoticComponent<{
|
|
|
8
8
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
9
9
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
10
10
|
range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
|
|
11
|
-
position?: ((t: number, dt: number) => number |
|
|
11
|
+
position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
12
12
|
quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
|
|
13
|
-
rotation?: ((t: number, dt: number) => number |
|
|
14
|
-
scale?: ((t: number, dt: number) => number |
|
|
13
|
+
rotation?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
14
|
+
scale?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
15
15
|
eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
|
|
16
16
|
pass?: ((t: number, dt: number) => unknown) | undefined;
|
|
17
17
|
} | undefined;
|
|
@@ -25,10 +25,10 @@ export declare const DefaultCartesian: Story<{
|
|
|
25
25
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
26
26
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
27
27
|
range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
|
|
28
|
-
position?: ((t: number, dt: number) => number |
|
|
28
|
+
position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
29
29
|
quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
|
|
30
|
-
rotation?: ((t: number, dt: number) => number |
|
|
31
|
-
scale?: ((t: number, dt: number) => number |
|
|
30
|
+
rotation?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
31
|
+
scale?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
32
32
|
eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
|
|
33
33
|
pass?: ((t: number, dt: number) => unknown) | undefined;
|
|
34
34
|
} | undefined;
|
|
@@ -6,7 +6,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").G
|
|
|
6
6
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
7
7
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
8
8
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
9
|
-
color?: ((t: number, dt: number) => string | number |
|
|
9
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
10
10
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
11
11
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
12
12
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -59,7 +59,7 @@ export declare const DefaultGrid: Story<import("mathbox").GridProps & React.RefA
|
|
|
59
59
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
60
60
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
61
61
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
62
|
-
color?: ((t: number, dt: number) => string | number |
|
|
62
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
63
63
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
64
64
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
65
65
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -111,7 +111,7 @@ export declare const GridXY: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
111
111
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
112
112
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
113
113
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
114
|
-
color?: ((t: number, dt: number) => string | number |
|
|
114
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
115
115
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
116
116
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
117
117
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -163,7 +163,7 @@ export declare const GridYZ: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
163
163
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
164
164
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
165
165
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
166
|
-
color?: ((t: number, dt: number) => string | number |
|
|
166
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
167
167
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
168
168
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
169
169
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -215,7 +215,7 @@ export declare const GridZX: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
215
215
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
216
216
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
217
217
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
218
|
-
color?: ((t: number, dt: number) => string | number |
|
|
218
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
219
219
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
220
220
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
221
221
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -7,7 +7,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").G
|
|
|
7
7
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
8
8
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
9
9
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
10
|
-
color?: ((t: number, dt: number) => string | number |
|
|
10
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
11
11
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
12
12
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
13
13
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -60,7 +60,7 @@ export declare const DefaultPoint: Story<import("mathbox").PointProps & React.Re
|
|
|
60
60
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
61
61
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
62
62
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
63
|
-
color?: ((t: number, dt: number) => string | number |
|
|
63
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
64
64
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
65
65
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
66
66
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -83,7 +83,7 @@ export declare const LiveProps: Story<import("mathbox").PointProps & React.RefAt
|
|
|
83
83
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
84
84
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
85
85
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
86
|
-
color?: ((t: number, dt: number) => string | number |
|
|
86
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
87
87
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
88
88
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
89
89
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -6,7 +6,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").S
|
|
|
6
6
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
7
7
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
8
8
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
9
|
-
color?: ((t: number, dt: number) => string | number |
|
|
9
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
10
10
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
11
11
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
12
12
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -40,7 +40,7 @@ export declare const DefaultCartesian: Story<import("mathbox").SurfaceProps & Re
|
|
|
40
40
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
41
41
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
42
42
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
43
|
-
color?: ((t: number, dt: number) => string | number |
|
|
43
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
44
44
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
45
45
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
46
46
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
|
|
2
3
|
type OrbitControlsProps = {
|
|
3
4
|
type: "orbit";
|
|
4
5
|
enablePan?: boolean;
|
|
5
6
|
enableRotate?: boolean;
|
|
6
7
|
enableZoom?: boolean;
|
|
8
|
+
onStart?: (event: {
|
|
9
|
+
type: "end";
|
|
10
|
+
target: OrbitControls;
|
|
11
|
+
}) => void;
|
|
12
|
+
onEnd?: (event: {
|
|
13
|
+
type: "end";
|
|
14
|
+
target: OrbitControls;
|
|
15
|
+
}) => void;
|
|
7
16
|
};
|
|
8
17
|
type ControlsProps = OrbitControlsProps;
|
|
9
18
|
declare const Controls: React.FC<ControlsProps>;
|
|
@@ -4,23 +4,54 @@ exports.__esModule = true;
|
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var ThreestrapContext_1 = require("./ThreestrapContext");
|
|
6
6
|
var ALLOWED_CONTROLS = ["orbit"];
|
|
7
|
-
var useOrbitControls = function (threestrap,
|
|
7
|
+
var useOrbitControls = function (threestrap, _a) {
|
|
8
|
+
var type = _a.type, enablePan = _a.enablePan, enableRotate = _a.enableRotate, enableZoom = _a.enableZoom, onStart = _a.onStart, onEnd = _a.onEnd;
|
|
8
9
|
(0, react_1.useEffect)(function () {
|
|
9
|
-
if (
|
|
10
|
+
if (type !== "orbit")
|
|
10
11
|
return;
|
|
11
12
|
if (!threestrap.controls)
|
|
12
13
|
return;
|
|
13
14
|
var controls = threestrap.controls;
|
|
14
|
-
if (
|
|
15
|
-
controls.enablePan =
|
|
15
|
+
if (enablePan !== undefined) {
|
|
16
|
+
controls.enablePan = enablePan;
|
|
16
17
|
}
|
|
17
|
-
if (
|
|
18
|
-
controls.enableZoom =
|
|
18
|
+
if (enableZoom !== undefined) {
|
|
19
|
+
controls.enableZoom = enableZoom;
|
|
19
20
|
}
|
|
20
|
-
if (
|
|
21
|
-
controls.enableRotate =
|
|
21
|
+
if (enableRotate !== undefined) {
|
|
22
|
+
controls.enableRotate = enableRotate;
|
|
22
23
|
}
|
|
23
|
-
});
|
|
24
|
+
}, [type, enablePan, enableRotate, enableZoom, threestrap.controls]);
|
|
25
|
+
(0, react_1.useEffect)(function () {
|
|
26
|
+
if (type !== "orbit")
|
|
27
|
+
return function () { };
|
|
28
|
+
if (!threestrap.controls)
|
|
29
|
+
return function () { };
|
|
30
|
+
var controls = threestrap.controls;
|
|
31
|
+
if (onStart) {
|
|
32
|
+
controls.addEventListener("start", onStart);
|
|
33
|
+
}
|
|
34
|
+
return function () {
|
|
35
|
+
if (onStart) {
|
|
36
|
+
controls.removeEventListener("start", onStart);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}, [type, onStart, threestrap.controls]);
|
|
40
|
+
(0, react_1.useEffect)(function () {
|
|
41
|
+
if (type !== "orbit")
|
|
42
|
+
return function () { };
|
|
43
|
+
if (!threestrap.controls)
|
|
44
|
+
return function () { };
|
|
45
|
+
var controls = threestrap.controls;
|
|
46
|
+
if (onEnd) {
|
|
47
|
+
controls.addEventListener("end", onEnd);
|
|
48
|
+
}
|
|
49
|
+
return function () {
|
|
50
|
+
if (onEnd) {
|
|
51
|
+
controls.removeEventListener("end", onEnd);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, [type, onEnd, threestrap.controls]);
|
|
24
55
|
};
|
|
25
56
|
var Controls = function (props) {
|
|
26
57
|
if (!ALLOWED_CONTROLS.includes(props.type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":";;AAAA,+CAA+C;AAC/C,+BAAwC;AAExC,yDAAmD;
|
|
1
|
+
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":";;AAAA,+CAA+C;AAC/C,+BAAwC;AAExC,yDAAmD;AAanD,IAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,CAAA;AAElC,IAAM,gBAAgB,GAAG,UACvB,UAAsB,EACtB,EAA4E;QAA1E,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA;IAE3D,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAM;QAChC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAA;SAC/B;QACD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAA;SACjC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;SACrC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpE,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,cAAO,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,cAAO,CAAC,CAAA;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC5C;QACD,OAAO;YACL,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;aAC/C;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAExC,IAAA,iBAAS,EAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,cAAO,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,cAAO,CAAC,CAAA;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,KAAK,EAAE;YACT,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;SACxC;QACD,OAAO;YACL,IAAI,KAAK,EAAE;gBACT,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;aAC3C;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,IAAM,QAAQ,GAA4B,UAAC,KAAK;IAC9C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,+BAAwB,KAAK,CAAC,IAAI,CAAE,CAAC,CAAA;KACtD;IACD,IAAM,UAAU,GAAG,IAAA,iCAAa,GAAE,CAAA;IAClC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IACnC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,qBAAe,QAAQ,CAAA"}
|
package/build/esm/index.d.ts
CHANGED
package/build/esm/index.js
CHANGED
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAE1C,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -8,10 +8,10 @@ declare const _default: Meta<React.ForwardRefExoticComponent<{
|
|
|
8
8
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
9
9
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
10
10
|
range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
|
|
11
|
-
position?: ((t: number, dt: number) => number |
|
|
11
|
+
position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
12
12
|
quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
|
|
13
|
-
rotation?: ((t: number, dt: number) => number |
|
|
14
|
-
scale?: ((t: number, dt: number) => number |
|
|
13
|
+
rotation?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
14
|
+
scale?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
15
15
|
eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
|
|
16
16
|
pass?: ((t: number, dt: number) => unknown) | undefined;
|
|
17
17
|
} | undefined;
|
|
@@ -25,10 +25,10 @@ export declare const DefaultCartesian: Story<{
|
|
|
25
25
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
26
26
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
27
27
|
range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
|
|
28
|
-
position?: ((t: number, dt: number) => number |
|
|
28
|
+
position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
29
29
|
quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
|
|
30
|
-
rotation?: ((t: number, dt: number) => number |
|
|
31
|
-
scale?: ((t: number, dt: number) => number |
|
|
30
|
+
rotation?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
31
|
+
scale?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
|
|
32
32
|
eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
|
|
33
33
|
pass?: ((t: number, dt: number) => unknown) | undefined;
|
|
34
34
|
} | undefined;
|
|
@@ -6,7 +6,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").G
|
|
|
6
6
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
7
7
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
8
8
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
9
|
-
color?: ((t: number, dt: number) => string | number |
|
|
9
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
10
10
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
11
11
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
12
12
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -59,7 +59,7 @@ export declare const DefaultGrid: Story<import("mathbox").GridProps & React.RefA
|
|
|
59
59
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
60
60
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
61
61
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
62
|
-
color?: ((t: number, dt: number) => string | number |
|
|
62
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
63
63
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
64
64
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
65
65
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -111,7 +111,7 @@ export declare const GridXY: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
111
111
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
112
112
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
113
113
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
114
|
-
color?: ((t: number, dt: number) => string | number |
|
|
114
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
115
115
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
116
116
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
117
117
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -163,7 +163,7 @@ export declare const GridYZ: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
163
163
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
164
164
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
165
165
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
166
|
-
color?: ((t: number, dt: number) => string | number |
|
|
166
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
167
167
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
168
168
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
169
169
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -215,7 +215,7 @@ export declare const GridZX: Story<import("mathbox").GridProps & React.RefAttrib
|
|
|
215
215
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
216
216
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
217
217
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
218
|
-
color?: ((t: number, dt: number) => string | number |
|
|
218
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
219
219
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
220
220
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
221
221
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -7,7 +7,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").G
|
|
|
7
7
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
8
8
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
9
9
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
10
|
-
color?: ((t: number, dt: number) => string | number |
|
|
10
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
11
11
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
12
12
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
13
13
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -60,7 +60,7 @@ export declare const DefaultPoint: Story<import("mathbox").PointProps & React.Re
|
|
|
60
60
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
61
61
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
62
62
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
63
|
-
color?: ((t: number, dt: number) => string | number |
|
|
63
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
64
64
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
65
65
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
66
66
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -83,7 +83,7 @@ export declare const LiveProps: Story<import("mathbox").PointProps & React.RefAt
|
|
|
83
83
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
84
84
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
85
85
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
86
|
-
color?: ((t: number, dt: number) => string | number |
|
|
86
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
87
87
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
88
88
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
89
89
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -6,7 +6,7 @@ declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").S
|
|
|
6
6
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
7
7
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
8
8
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
9
|
-
color?: ((t: number, dt: number) => string | number |
|
|
9
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
10
10
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
11
11
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
12
12
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -40,7 +40,7 @@ export declare const DefaultCartesian: Story<import("mathbox").SurfaceProps & Re
|
|
|
40
40
|
classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
|
|
41
41
|
visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
42
42
|
opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
|
|
43
|
-
color?: ((t: number, dt: number) => string | number |
|
|
43
|
+
color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
|
|
44
44
|
blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
|
|
45
45
|
zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
46
46
|
zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
|
|
2
3
|
type OrbitControlsProps = {
|
|
3
4
|
type: "orbit";
|
|
4
5
|
enablePan?: boolean;
|
|
5
6
|
enableRotate?: boolean;
|
|
6
7
|
enableZoom?: boolean;
|
|
8
|
+
onStart?: (event: {
|
|
9
|
+
type: "end";
|
|
10
|
+
target: OrbitControls;
|
|
11
|
+
}) => void;
|
|
12
|
+
onEnd?: (event: {
|
|
13
|
+
type: "end";
|
|
14
|
+
target: OrbitControls;
|
|
15
|
+
}) => void;
|
|
7
16
|
};
|
|
8
17
|
type ControlsProps = OrbitControlsProps;
|
|
9
18
|
declare const Controls: React.FC<ControlsProps>;
|
|
@@ -2,23 +2,54 @@
|
|
|
2
2
|
import { useEffect } from "react";
|
|
3
3
|
import { useThreestrap } from "./ThreestrapContext";
|
|
4
4
|
var ALLOWED_CONTROLS = ["orbit"];
|
|
5
|
-
var useOrbitControls = function (threestrap,
|
|
5
|
+
var useOrbitControls = function (threestrap, _a) {
|
|
6
|
+
var type = _a.type, enablePan = _a.enablePan, enableRotate = _a.enableRotate, enableZoom = _a.enableZoom, onStart = _a.onStart, onEnd = _a.onEnd;
|
|
6
7
|
useEffect(function () {
|
|
7
|
-
if (
|
|
8
|
+
if (type !== "orbit")
|
|
8
9
|
return;
|
|
9
10
|
if (!threestrap.controls)
|
|
10
11
|
return;
|
|
11
12
|
var controls = threestrap.controls;
|
|
12
|
-
if (
|
|
13
|
-
controls.enablePan =
|
|
13
|
+
if (enablePan !== undefined) {
|
|
14
|
+
controls.enablePan = enablePan;
|
|
14
15
|
}
|
|
15
|
-
if (
|
|
16
|
-
controls.enableZoom =
|
|
16
|
+
if (enableZoom !== undefined) {
|
|
17
|
+
controls.enableZoom = enableZoom;
|
|
17
18
|
}
|
|
18
|
-
if (
|
|
19
|
-
controls.enableRotate =
|
|
19
|
+
if (enableRotate !== undefined) {
|
|
20
|
+
controls.enableRotate = enableRotate;
|
|
20
21
|
}
|
|
21
|
-
});
|
|
22
|
+
}, [type, enablePan, enableRotate, enableZoom, threestrap.controls]);
|
|
23
|
+
useEffect(function () {
|
|
24
|
+
if (type !== "orbit")
|
|
25
|
+
return function () { };
|
|
26
|
+
if (!threestrap.controls)
|
|
27
|
+
return function () { };
|
|
28
|
+
var controls = threestrap.controls;
|
|
29
|
+
if (onStart) {
|
|
30
|
+
controls.addEventListener("start", onStart);
|
|
31
|
+
}
|
|
32
|
+
return function () {
|
|
33
|
+
if (onStart) {
|
|
34
|
+
controls.removeEventListener("start", onStart);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}, [type, onStart, threestrap.controls]);
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (type !== "orbit")
|
|
40
|
+
return function () { };
|
|
41
|
+
if (!threestrap.controls)
|
|
42
|
+
return function () { };
|
|
43
|
+
var controls = threestrap.controls;
|
|
44
|
+
if (onEnd) {
|
|
45
|
+
controls.addEventListener("end", onEnd);
|
|
46
|
+
}
|
|
47
|
+
return function () {
|
|
48
|
+
if (onEnd) {
|
|
49
|
+
controls.removeEventListener("end", onEnd);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}, [type, onEnd, threestrap.controls]);
|
|
22
53
|
};
|
|
23
54
|
var Controls = function (props) {
|
|
24
55
|
if (!ALLOWED_CONTROLS.includes(props.type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/threestrap/Controls.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAanD,IAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,CAAA;AAElC,IAAM,gBAAgB,GAAG,UACvB,UAAsB,EACtB,EAA4E;QAA1E,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA;IAE3D,SAAS,CAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAM;QAChC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAA;SAC/B;QACD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAA;SACjC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;SACrC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpE,SAAS,CAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,cAAO,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,cAAO,CAAC,CAAA;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC5C;QACD,OAAO;YACL,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;aAC/C;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAExC,SAAS,CAAC;QACR,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,cAAO,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO,cAAO,CAAC,CAAA;QACzC,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAyB,CAAA;QACrD,IAAI,KAAK,EAAE;YACT,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;SACxC;QACD,OAAO;YACL,IAAI,KAAK,EAAE;gBACT,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;aAC3C;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,IAAM,QAAQ,GAA4B,UAAC,KAAK;IAC9C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,+BAAwB,KAAK,CAAC,IAAI,CAAE,CAAC,CAAA;KACtD;IACD,IAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IACnC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|