mathbox-react 0.2.2 → 0.2.3-rc1

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 (82) hide show
  1. package/build/cjs/components/ContainedMathbox.js +3 -3
  2. package/build/cjs/components/ContainedMathbox.js.map +1 -1
  3. package/build/cjs/components/Mathbox.js +4 -4
  4. package/build/cjs/components/Mathbox.js.map +1 -1
  5. package/build/cjs/components/MathboxAPIContext.js +2 -2
  6. package/build/cjs/components/MathboxAPIContext.js.map +1 -1
  7. package/build/cjs/components/components.js +3 -3
  8. package/build/cjs/components/components.js.map +1 -1
  9. package/build/cjs/components/components.spec.js +50 -50
  10. package/build/cjs/components/components.spec.js.map +1 -1
  11. package/build/cjs/components/index.js +7 -4
  12. package/build/cjs/components/index.js.map +1 -1
  13. package/build/cjs/components/types.js +1 -1
  14. package/build/cjs/components/util.js +2 -2
  15. package/build/cjs/components/util.js.map +1 -1
  16. package/build/cjs/index.js +1 -1
  17. package/build/cjs/testSetup.js +1 -1
  18. package/build/cjs/testUtils.js +3 -3
  19. package/build/cjs/threestrap/Controls.d.ts +2 -0
  20. package/build/cjs/threestrap/Controls.js +13 -3
  21. package/build/cjs/threestrap/Controls.js.map +1 -1
  22. package/build/cjs/threestrap/Renderer.js +2 -2
  23. package/build/cjs/threestrap/Renderer.js.map +1 -1
  24. package/build/cjs/threestrap/ThreestrapContext.js +2 -2
  25. package/build/cjs/threestrap/ThreestrapContext.js.map +1 -1
  26. package/build/cjs/threestrap/index.js +7 -15
  27. package/build/cjs/threestrap/index.js.map +1 -1
  28. package/build/cjs/threestrap/threestrap.js +1 -1
  29. package/build/esm/components/components.spec.js +1 -1
  30. package/build/esm/testUtils.js +2 -2
  31. package/build/esm/threestrap/Controls.d.ts +2 -0
  32. package/build/esm/threestrap/Controls.js +11 -1
  33. package/build/esm/threestrap/Controls.js.map +1 -1
  34. package/package.json +16 -16
  35. package/build/cjs/stories/Area.stories.d.ts +0 -69
  36. package/build/cjs/stories/Area.stories.js +0 -53
  37. package/build/cjs/stories/Area.stories.js.map +0 -1
  38. package/build/cjs/stories/Cartesian.stories.d.ts +0 -35
  39. package/build/cjs/stories/Cartesian.stories.js +0 -47
  40. package/build/cjs/stories/Cartesian.stories.js.map +0 -1
  41. package/build/cjs/stories/Grid.stories.d.ts +0 -263
  42. package/build/cjs/stories/Grid.stories.js +0 -45
  43. package/build/cjs/stories/Grid.stories.js.map +0 -1
  44. package/build/cjs/stories/Mathbox.stories.d.ts +0 -19
  45. package/build/cjs/stories/Mathbox.stories.js +0 -16
  46. package/build/cjs/stories/Mathbox.stories.js.map +0 -1
  47. package/build/cjs/stories/Play.stories.d.ts +0 -37
  48. package/build/cjs/stories/Play.stories.js +0 -35
  49. package/build/cjs/stories/Play.stories.js.map +0 -1
  50. package/build/cjs/stories/Point.stories.d.ts +0 -102
  51. package/build/cjs/stories/Point.stories.js +0 -103
  52. package/build/cjs/stories/Point.stories.js.map +0 -1
  53. package/build/cjs/stories/Surface.stories.d.ts +0 -69
  54. package/build/cjs/stories/Surface.stories.js +0 -49
  55. package/build/cjs/stories/Surface.stories.js.map +0 -1
  56. package/build/cjs/stories/utils.d.ts +0 -5
  57. package/build/cjs/stories/utils.js +0 -69
  58. package/build/cjs/stories/utils.js.map +0 -1
  59. package/build/esm/stories/Area.stories.d.ts +0 -69
  60. package/build/esm/stories/Area.stories.js +0 -47
  61. package/build/esm/stories/Area.stories.js.map +0 -1
  62. package/build/esm/stories/Cartesian.stories.d.ts +0 -35
  63. package/build/esm/stories/Cartesian.stories.js +0 -41
  64. package/build/esm/stories/Cartesian.stories.js.map +0 -1
  65. package/build/esm/stories/Grid.stories.d.ts +0 -263
  66. package/build/esm/stories/Grid.stories.js +0 -39
  67. package/build/esm/stories/Grid.stories.js.map +0 -1
  68. package/build/esm/stories/Mathbox.stories.d.ts +0 -19
  69. package/build/esm/stories/Mathbox.stories.js +0 -10
  70. package/build/esm/stories/Mathbox.stories.js.map +0 -1
  71. package/build/esm/stories/Play.stories.d.ts +0 -37
  72. package/build/esm/stories/Play.stories.js +0 -29
  73. package/build/esm/stories/Play.stories.js.map +0 -1
  74. package/build/esm/stories/Point.stories.d.ts +0 -102
  75. package/build/esm/stories/Point.stories.js +0 -77
  76. package/build/esm/stories/Point.stories.js.map +0 -1
  77. package/build/esm/stories/Surface.stories.d.ts +0 -69
  78. package/build/esm/stories/Surface.stories.js +0 -43
  79. package/build/esm/stories/Surface.stories.js.map +0 -1
  80. package/build/esm/stories/utils.d.ts +0 -5
  81. package/build/esm/stories/utils.js +0 -42
  82. package/build/esm/stories/utils.js.map +0 -1
@@ -1,103 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
- exports.__esModule = true;
48
- exports.LiveProps = exports.DefaultPoint = void 0;
49
- var react_1 = __importStar(require("react"));
50
- var utils_1 = require("./utils");
51
- var components_1 = require("../components");
52
- exports["default"] = {
53
- title: "Point",
54
- component: components_1.Point,
55
- argTypes: {
56
- color: {
57
- type: "string",
58
- defaultValue: "rgb(128, 128, 128)"
59
- },
60
- opacity: {
61
- type: "number",
62
- defaultValue: 1
63
- },
64
- points: {
65
- type: "array",
66
- defaultValue: [[1, 1, 1]]
67
- },
68
- size: {
69
- type: "number",
70
- defaultValue: 4
71
- }
72
- }
73
- };
74
- var Template = function (args) {
75
- var points = args.points, otherArgs = __rest(args, ["points"]);
76
- var _a = (0, react_1.useState)(null), data = _a[0], setData = _a[1];
77
- return (react_1["default"].createElement(utils_1.CustomMathbox, { containerStyle: { height: 450 } },
78
- react_1["default"].createElement(components_1.Cartesian, { range: [
79
- [-5, 5],
80
- [-5, 5],
81
- [-5, 5],
82
- ] },
83
- react_1["default"].createElement(components_1.Grid, { axes: "xy" }),
84
- react_1["default"].createElement(components_1.Grid, { axes: "xz" }),
85
- react_1["default"].createElement(components_1.Array, { ref: setData, items: 1, channels: 3, data: [
86
- [1, 1, 2],
87
- [1, 1, 3],
88
- ] }),
89
- react_1["default"].createElement(components_1.Array, { items: 1, channels: 3, data: [
90
- [1, 1, -2],
91
- [1, 1, -3],
92
- ] }),
93
- react_1["default"].createElement(components_1.Point, __assign({ points: data }, otherArgs)))));
94
- };
95
- exports.DefaultPoint = Template.bind({});
96
- exports.DefaultPoint.args = {};
97
- exports.LiveProps = Template.bind({});
98
- exports.LiveProps.args = {
99
- liveProps: {
100
- size: function (t) { return 20 * (1 + 0.5 * Math.sin(t)); }
101
- }
102
- };
103
- //# sourceMappingURL=Point.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Point.stories.js","sourceRoot":"","sources":["../../../src/stories/Point.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAuC;AAGvC,iCAAkD;AAClD,4CAAwE;AAExE,qBAAe;IACb,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,kBAAK;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,oBAAoB;SACnC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,CAAC;SAChB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1B;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,CAAC;SAChB;KACF;CACmB,CAAA;AAEtB,IAAM,QAAQ,GAA8C,UAAC,IAAI;IACvD,IAAA,MAAM,GAAmB,IAAI,OAAvB,EAAK,SAAS,UAAK,IAAI,EAA/B,UAAwB,CAAF,CAAS;IAC/B,IAAA,KAAkB,IAAA,gBAAQ,EAAmC,IAAI,CAAC,EAAjE,IAAI,QAAA,EAAE,OAAO,QAAoD,CAAA;IACxE,OAAO,CACL,iCAAC,qBAAO,IAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;QACtC,iCAAC,sBAAS,IACR,KAAK,EAAE;gBACL,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACR;YAED,iCAAC,iBAAI,IAAC,IAAI,EAAC,IAAI,GAAG;YAClB,iCAAC,iBAAI,IAAC,IAAI,EAAC,IAAI,GAAG;YAClB,iCAAC,kBAAO,IACN,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE;oBACJ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACV,GACD;YACF,iCAAC,kBAAO,IACN,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE;oBACJ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBACX,GACD;YACF,iCAAC,kBAAK,aAAC,MAAM,EAAE,IAAI,IAAM,SAAS,EAAI,CAC5B,CACJ,CACX,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7C,oBAAY,CAAC,IAAI,GAAG,EAAE,CAAA;AAET,QAAA,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,iBAAS,CAAC,IAAI,GAAG;IACf,SAAS,EAAE;QACT,IAAI,EAAE,UAAC,CAAS,IAAK,OAAA,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAA5B,CAA4B;KAClD;CACF,CAAA"}
@@ -1,69 +0,0 @@
1
- import React from "react";
2
- import { Story, Meta } from "@storybook/react";
3
- declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").SurfaceProps & React.RefAttributes<import("mathbox").MathboxSelection<"surface">> & {
4
- liveProps?: {
5
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
6
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
7
- visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
8
- opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
9
- color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
10
- blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
11
- zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
12
- zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
13
- zIndex?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
14
- zBias?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
15
- zOrder?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
16
- width?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
17
- depth?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
18
- join?: ((t: number, dt: number) => unknown) | undefined;
19
- stroke?: ((t: number, dt: number) => unknown) | undefined;
20
- proximity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
21
- closed?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
22
- fill?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
23
- shaded?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
24
- map?: ((t: number, dt: number) => any) | undefined;
25
- normals?: ((t: number, dt: number) => any) | undefined;
26
- lineBias?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
27
- points?: ((t: number, dt: number) => any) | undefined;
28
- colors?: ((t: number, dt: number) => any) | undefined;
29
- lineX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
30
- lineY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
31
- crossed?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
32
- closedX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
33
- closedY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
34
- } | undefined;
35
- }>>;
36
- export default _default;
37
- export declare const DefaultCartesian: Story<import("mathbox").SurfaceProps & React.RefAttributes<import("mathbox").MathboxSelection<"surface">> & {
38
- liveProps?: {
39
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
40
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
41
- visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
42
- opacity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
43
- color?: ((t: number, dt: number) => string | number | import("three").Color | number[] | undefined) | undefined;
44
- blending?: ((t: number, dt: number) => import("mathbox").Optional<import("mathbox").BlendingModes>) | undefined;
45
- zWrite?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
46
- zTest?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
47
- zIndex?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
48
- zBias?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
49
- zOrder?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
50
- width?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
51
- depth?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
52
- join?: ((t: number, dt: number) => unknown) | undefined;
53
- stroke?: ((t: number, dt: number) => unknown) | undefined;
54
- proximity?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
55
- closed?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
56
- fill?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
57
- shaded?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
58
- map?: ((t: number, dt: number) => any) | undefined;
59
- normals?: ((t: number, dt: number) => any) | undefined;
60
- lineBias?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
61
- points?: ((t: number, dt: number) => any) | undefined;
62
- colors?: ((t: number, dt: number) => any) | undefined;
63
- lineX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
64
- lineY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
65
- crossed?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
66
- closedX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
67
- closedY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
68
- } | undefined;
69
- }>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- exports.__esModule = true;
17
- exports.DefaultCartesian = void 0;
18
- var react_1 = __importDefault(require("react"));
19
- var utils_1 = require("./utils");
20
- var components_1 = require("../components/components");
21
- exports["default"] = {
22
- title: "Surface",
23
- component: components_1.Surface,
24
- argTypes: {
25
- color: {
26
- type: "string",
27
- defaultValue: "rgb(48,144,255)"
28
- },
29
- shaded: {
30
- type: "boolean",
31
- defaultValue: true
32
- }
33
- }
34
- };
35
- var Template = function (args) { return (react_1["default"].createElement(utils_1.CustomMathbox, { containerStyle: { height: 450 } },
36
- react_1["default"].createElement(components_1.Cartesian, { range: [
37
- [-5, 5],
38
- [-2, 2],
39
- [-5, 5],
40
- ] },
41
- react_1["default"].createElement(components_1.Grid, { axes: "xz" }),
42
- react_1["default"].createElement(components_1.Area, { width: 64, height: 64, axes: ["x", "z"], expr: function (emit, x, z, i, j, t) {
43
- var y = Math.sin(x - t) * Math.cos(z - t);
44
- emit(x, y, z);
45
- } }),
46
- react_1["default"].createElement(components_1.Surface, __assign({}, args))))); };
47
- exports.DefaultCartesian = Template.bind({});
48
- exports.DefaultCartesian.args = {};
49
- //# sourceMappingURL=Surface.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Surface.stories.js","sourceRoot":"","sources":["../../../src/stories/Surface.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAGzB,iCAAkD;AAClD,uDAAyE;AAEzE,qBAAe;IACb,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,oBAAO;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,iBAAiB;SAChC;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,IAAI;SACnB;KACF;CACsB,CAAA;AAEzB,IAAM,QAAQ,GAAgD,UAAC,IAAI,IAAK,OAAA,CACtE,iCAAC,qBAAO,IAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,iCAAC,sBAAS,IACR,KAAK,EAAE;YACL,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACR;QAED,iCAAC,iBAAI,IAAC,IAAI,EAAC,IAAI,GAAG;QAClB,iCAAC,iBAAI,IACH,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAChB,IAAI,EAAE,UAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACf,CAAC,GACD;QACF,iCAAC,oBAAO,eAAK,IAAI,EAAI,CACX,CACJ,CACX,EAtBuE,CAsBvE,CAAA;AAEY,QAAA,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjD,wBAAgB,CAAC,IAAI,GAAG,EAAE,CAAA"}
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- import { ContainedMathbox } from "../components";
3
- type MathboxProps = React.ComponentProps<typeof ContainedMathbox>;
4
- export declare const CustomMathbox: (props: MathboxProps) => JSX.Element;
5
- export {};
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
- exports.__esModule = true;
48
- exports.CustomMathbox = void 0;
49
- var react_1 = __importStar(require("react"));
50
- var OrbitControls_1 = require("three/examples/jsm/controls/OrbitControls");
51
- var components_1 = require("../components");
52
- var storybookDefaultMathboxOptions = {
53
- plugins: ["core", "controls", "cursor"],
54
- controls: {
55
- klass: OrbitControls_1.OrbitControls
56
- }
57
- };
58
- var CustomMathbox = function (props) {
59
- var overrides = props.options, others = __rest(props, ["options"]);
60
- var options = (0, react_1.useMemo)(function () { return (__assign(__assign({}, storybookDefaultMathboxOptions), (overrides !== null && overrides !== void 0 ? overrides : {}))); }, [overrides]);
61
- var setup = (0, react_1.useCallback)(function (mathbox) {
62
- if (mathbox === null)
63
- return;
64
- mathbox.three.camera.position.set(1, 1, 2);
65
- }, []);
66
- return (react_1["default"].createElement(components_1.ContainedMathbox, __assign({ ref: setup, options: options }, others), props.children));
67
- };
68
- exports.CustomMathbox = CustomMathbox;
69
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/stories/utils.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AAEnD,2EAAyE;AACzE,4CAAgD;AAIhD,IAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IACvC,QAAQ,EAAE;QACR,KAAK,EAAE,6BAAa;KACrB;CACF,CAAA;AAEM,IAAM,aAAa,GAAG,UAAC,KAAmB;IACvC,IAAS,SAAS,GAAgB,KAAK,QAArB,EAAK,MAAM,UAAK,KAAK,EAAzC,WAAiC,CAAF,CAAU;IAC/C,IAAM,OAAO,GAAG,IAAA,eAAO,EACrB,cAAM,OAAA,uBACD,8BAA8B,GAC9B,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,EACpB,EAHI,CAGJ,EACF,CAAC,SAAS,CAAC,CACZ,CAAA;IACD,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,UAAC,OAAwC;QACjE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAM;QAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,CACL,iCAAC,6BAAgB,aAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAM,MAAM,GACvD,KAAK,CAAC,QAAQ,CACE,CACpB,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,aAAa,iBAkBzB"}
@@ -1,69 +0,0 @@
1
- import React from "react";
2
- import { Story, Meta } from "@storybook/react";
3
- declare const _default: Meta<React.ForwardRefExoticComponent<import("mathbox").AreaProps & React.RefAttributes<import("mathbox").MathboxSelection<"area">> & {
4
- liveProps?: {
5
- expr?: ((t: number, dt: number) => import("mathbox").AreaEmitter | undefined) | undefined;
6
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
7
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
8
- channels?: ((t: number, dt: number) => import("mathbox").Optional<1 | 3 | 2 | 4>) | undefined;
9
- items?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
10
- fps?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
11
- hurry?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
12
- limit?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
13
- realtime?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
14
- observe?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
15
- aligned?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
16
- data?: ((t: number, dt: number) => unknown) | undefined;
17
- bind?: ((t: number, dt: number) => unknown) | undefined;
18
- live?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
19
- width?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
20
- height?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
21
- history?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
22
- bufferWidth?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
23
- bufferHeight?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
24
- minFilter?: ((t: number, dt: number) => unknown) | undefined;
25
- magFilter?: ((t: number, dt: number) => unknown) | undefined;
26
- type?: ((t: number, dt: number) => unknown) | undefined;
27
- axes?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
28
- rangeX?: ((t: number, dt: number) => number | number[] | import("three").Vector2 | null | undefined) | undefined;
29
- rangeY?: ((t: number, dt: number) => number | number[] | import("three").Vector2 | null | undefined) | undefined;
30
- centeredX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
31
- paddingX?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
32
- centeredY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
33
- paddingY?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
34
- } | undefined;
35
- }>>;
36
- export default _default;
37
- export declare const DefaultCartesian: Story<import("mathbox").AreaProps & React.RefAttributes<import("mathbox").MathboxSelection<"area">> & {
38
- liveProps?: {
39
- expr?: ((t: number, dt: number) => import("mathbox").AreaEmitter | undefined) | undefined;
40
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
41
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
42
- channels?: ((t: number, dt: number) => import("mathbox").Optional<1 | 3 | 2 | 4>) | undefined;
43
- items?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
44
- fps?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
45
- hurry?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
46
- limit?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
47
- realtime?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
48
- observe?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
49
- aligned?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
50
- data?: ((t: number, dt: number) => unknown) | undefined;
51
- bind?: ((t: number, dt: number) => unknown) | undefined;
52
- live?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
53
- width?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
54
- height?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
55
- history?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
56
- bufferWidth?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
57
- bufferHeight?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
58
- minFilter?: ((t: number, dt: number) => unknown) | undefined;
59
- magFilter?: ((t: number, dt: number) => unknown) | undefined;
60
- type?: ((t: number, dt: number) => unknown) | undefined;
61
- axes?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
62
- rangeX?: ((t: number, dt: number) => number | number[] | import("three").Vector2 | null | undefined) | undefined;
63
- rangeY?: ((t: number, dt: number) => number | number[] | import("three").Vector2 | null | undefined) | undefined;
64
- centeredX?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
65
- paddingX?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
66
- centeredY?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
67
- paddingY?: ((t: number, dt: number) => import("mathbox").Optional<number>) | undefined;
68
- } | undefined;
69
- }>;
@@ -1,47 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React from "react";
13
- import { CustomMathbox as Mathbox } from "./utils";
14
- import { Cartesian, Surface, Area, Grid } from "../components/components";
15
- export default {
16
- title: "Area",
17
- component: Area,
18
- argTypes: {
19
- width: {
20
- type: "number",
21
- defaultValue: 18
22
- },
23
- height: {
24
- type: "number",
25
- defaultValue: 18
26
- },
27
- live: {
28
- type: "boolean",
29
- defaultValue: true
30
- }
31
- }
32
- };
33
- var Template = function (args) { return (React.createElement(Mathbox, { containerStyle: { height: 450 } },
34
- React.createElement(Cartesian, { range: [
35
- [-5, 5],
36
- [-2, 2],
37
- [-5, 5],
38
- ] },
39
- React.createElement(Grid, { axes: "xz" }),
40
- React.createElement(Area, __assign({ axes: ["x", "z"], expr: function (emit, x, z, i, j, t) {
41
- var y = Math.sin(x - t) * Math.cos(z - t);
42
- emit(x, y, z);
43
- } }, args)),
44
- React.createElement(Surface, { color: 0x3090ff, shaded: true })))); };
45
- export var DefaultCartesian = Template.bind({});
46
- DefaultCartesian.args = {};
47
- //# sourceMappingURL=Area.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Area.stories.js","sourceRoot":"","sources":["../../../src/stories/Area.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEzE,eAAe;IACb,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,EAAE;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,EAAE;SACjB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,IAAI;SACnB;KACF;CACmB,CAAA;AAEtB,IAAM,QAAQ,GAA6C,UAAC,IAAI,IAAK,OAAA,CACnE,oBAAC,OAAO,IAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,oBAAC,SAAS,IACR,KAAK,EAAE;YACL,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACR;QAED,oBAAC,IAAI,IAAC,IAAI,EAAC,IAAI,GAAG;QAClB,oBAAC,IAAI,aACH,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAChB,IAAI,EAAE,UAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACf,CAAC,IACG,IAAI,EACR;QACF,oBAAC,OAAO,IAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAG,CACzB,CACJ,CACX,EArBoE,CAqBpE,CAAA;AAED,MAAM,CAAC,IAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjD,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAA"}
@@ -1,35 +0,0 @@
1
- import React from "react";
2
- import { Story, Meta } from "@storybook/react";
3
- declare const _default: Meta<React.ForwardRefExoticComponent<{
4
- children?: React.ReactNode | React.ReactNode[];
5
- } & import("mathbox").CartesianProps & React.RefAttributes<import("mathbox").MathboxSelection<"cartesian">> & {
6
- liveProps?: {
7
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
8
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
9
- visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
10
- range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
11
- position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
12
- quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
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
- eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
16
- pass?: ((t: number, dt: number) => unknown) | undefined;
17
- } | undefined;
18
- }>>;
19
- export default _default;
20
- export declare const DefaultCartesian: Story<{
21
- children?: React.ReactNode | React.ReactNode[];
22
- } & import("mathbox").CartesianProps & React.RefAttributes<import("mathbox").MathboxSelection<"cartesian">> & {
23
- liveProps?: {
24
- id?: ((t: number, dt: number) => import("mathbox").Optional<string>) | undefined;
25
- classes?: ((t: number, dt: number) => import("mathbox").Optional<string | string[]>) | undefined;
26
- visible?: ((t: number, dt: number) => import("mathbox").Optional<boolean>) | undefined;
27
- range?: ((t: number, dt: number) => (number | number[] | import("three").Vector2)[] | undefined) | undefined;
28
- position?: ((t: number, dt: number) => number | import("three").Vector3 | number[] | undefined) | undefined;
29
- quaternion?: ((t: number, dt: number) => number | number[] | import("three").Vector4 | import("three").Quaternion | undefined) | undefined;
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
- eulerOrder?: ((t: number, dt: number) => import("mathbox").Optional<string | import("mathbox").Axes[]>) | undefined;
33
- pass?: ((t: number, dt: number) => unknown) | undefined;
34
- } | undefined;
35
- }>;
@@ -1,41 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React from "react";
13
- import { CustomMathbox as Mathbox } from "./utils";
14
- import { Cartesian, Grid, Axis } from "../components/components";
15
- export default {
16
- title: "Cartesian",
17
- component: Cartesian,
18
- argTypes: {
19
- range: {
20
- type: "array",
21
- defaultValue: [
22
- [-1, 1],
23
- [-1, 1],
24
- [-1, 1],
25
- ]
26
- },
27
- scale: {
28
- type: "array",
29
- defaultValue: [1, 1, 1]
30
- }
31
- }
32
- };
33
- var Template = function (args) { return (React.createElement(Mathbox, { containerStyle: { height: 450 } },
34
- React.createElement(Cartesian, __assign({}, args),
35
- React.createElement(Grid, { axes: "xz" }),
36
- React.createElement(Axis, { width: 4, axis: "x", color: "red" }),
37
- React.createElement(Axis, { width: 4, axis: "y", color: "green" }),
38
- React.createElement(Axis, { width: 4, axis: "z", color: "blue" })))); };
39
- export var DefaultCartesian = Template.bind({});
40
- DefaultCartesian.args = {};
41
- //# sourceMappingURL=Cartesian.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cartesian.stories.js","sourceRoot":"","sources":["../../../src/stories/Cartesian.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAe;IACb,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,YAAY,EAAE;gBACZ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACR;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACxB;KACF;CACwB,CAAA;AAE3B,IAAM,QAAQ,GAAkD,UAAC,IAAI,IAAK,OAAA,CACxE,oBAAC,OAAO,IAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,oBAAC,SAAS,eAAK,IAAI;QACjB,oBAAC,IAAI,IAAC,IAAI,EAAC,IAAI,GAAG;QAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,GAAG;QACvC,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,OAAO,GAAG;QACzC,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,GAAG,CAC9B,CACJ,CACX,EATyE,CASzE,CAAA;AAED,MAAM,CAAC,IAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjD,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAA"}