mathbox-react 0.0.14 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/build/cjs/{types/components → components}/ContainedMathbox.d.ts +0 -0
  2. package/build/cjs/components/ContainedMathbox.js +59 -0
  3. package/build/cjs/components/ContainedMathbox.js.map +1 -0
  4. package/build/cjs/{types/components → components}/Mathbox.d.ts +0 -0
  5. package/build/cjs/components/Mathbox.js +87 -0
  6. package/build/cjs/components/Mathbox.js.map +1 -0
  7. package/build/{esm/types/components/MathboxNodeContext.d.ts → cjs/components/MathboxAPIContext.d.ts} +5 -0
  8. package/build/cjs/components/MathboxAPIContext.js +18 -0
  9. package/build/cjs/components/MathboxAPIContext.js.map +1 -0
  10. package/build/cjs/{types/components → components}/components.d.ts +0 -0
  11. package/build/cjs/components/components.js +383 -0
  12. package/build/cjs/components/components.js.map +1 -0
  13. package/build/cjs/{types/testSetup.d.ts → components/components.spec.d.ts} +0 -0
  14. package/build/cjs/components/components.spec.js +310 -0
  15. package/build/cjs/components/components.spec.js.map +1 -0
  16. package/build/cjs/{types/components → components}/index.d.ts +1 -0
  17. package/build/cjs/components/index.js +25 -0
  18. package/build/cjs/components/index.js.map +1 -0
  19. package/build/cjs/{types/components → components}/types.d.ts +0 -0
  20. package/build/cjs/components/types.js +3 -0
  21. package/build/cjs/components/types.js.map +1 -0
  22. package/build/cjs/{types/components → components}/util.d.ts +0 -0
  23. package/build/cjs/components/util.js +107 -0
  24. package/build/cjs/components/util.js.map +1 -0
  25. package/build/cjs/{types/index.d.ts → index.d.ts} +0 -0
  26. package/build/cjs/index.js +18 -2
  27. package/build/cjs/index.js.map +1 -1
  28. package/build/cjs/stories/Area.stories.d.ts +69 -0
  29. package/build/cjs/stories/Area.stories.js +53 -0
  30. package/build/cjs/stories/Area.stories.js.map +1 -0
  31. package/build/cjs/stories/Cartesian.stories.d.ts +35 -0
  32. package/build/cjs/stories/Cartesian.stories.js +47 -0
  33. package/build/cjs/stories/Cartesian.stories.js.map +1 -0
  34. package/build/cjs/stories/Grid.stories.d.ts +263 -0
  35. package/build/cjs/stories/Grid.stories.js +45 -0
  36. package/build/cjs/stories/Grid.stories.js.map +1 -0
  37. package/build/cjs/stories/Mathbox.stories.d.ts +19 -0
  38. package/build/cjs/stories/Mathbox.stories.js +16 -0
  39. package/build/cjs/stories/Mathbox.stories.js.map +1 -0
  40. package/build/cjs/stories/Play.stories.d.ts +37 -0
  41. package/build/cjs/stories/Play.stories.js +35 -0
  42. package/build/cjs/stories/Play.stories.js.map +1 -0
  43. package/build/cjs/stories/Point.stories.d.ts +102 -0
  44. package/build/cjs/stories/Point.stories.js +103 -0
  45. package/build/cjs/stories/Point.stories.js.map +1 -0
  46. package/build/cjs/stories/Surface.stories.d.ts +69 -0
  47. package/build/cjs/stories/Surface.stories.js +49 -0
  48. package/build/cjs/stories/Surface.stories.js.map +1 -0
  49. package/build/cjs/stories/utils.d.ts +5 -0
  50. package/build/cjs/stories/utils.js +69 -0
  51. package/build/cjs/stories/utils.js.map +1 -0
  52. package/build/{esm/types → cjs}/testSetup.d.ts +0 -0
  53. package/build/cjs/testSetup.js +5 -0
  54. package/build/cjs/testSetup.js.map +1 -0
  55. package/build/cjs/{types/testUtils.d.ts → testUtils.d.ts} +0 -0
  56. package/build/cjs/testUtils.js +46 -0
  57. package/build/cjs/testUtils.js.map +1 -0
  58. package/build/cjs/threestrap/Renderer.d.ts +7 -0
  59. package/build/cjs/threestrap/Renderer.js +15 -0
  60. package/build/cjs/threestrap/Renderer.js.map +1 -0
  61. package/build/cjs/threestrap/ThreestrapContext.d.ts +6 -0
  62. package/build/cjs/threestrap/ThreestrapContext.js +15 -0
  63. package/build/cjs/threestrap/ThreestrapContext.js.map +1 -0
  64. package/build/cjs/threestrap/index.d.ts +2 -0
  65. package/build/cjs/threestrap/index.js +17 -0
  66. package/build/cjs/threestrap/index.js.map +1 -0
  67. package/build/cjs/threestrap/threestrap.d.ts +13 -0
  68. package/build/cjs/threestrap/threestrap.js +3 -0
  69. package/build/cjs/threestrap/threestrap.js.map +1 -0
  70. package/build/esm/{types/components → components}/ContainedMathbox.d.ts +0 -0
  71. package/build/esm/components/ContainedMathbox.js +31 -0
  72. package/build/esm/components/ContainedMathbox.js.map +1 -0
  73. package/build/esm/{types/components → components}/Mathbox.d.ts +0 -0
  74. package/build/esm/components/Mathbox.js +59 -0
  75. package/build/esm/components/Mathbox.js.map +1 -0
  76. package/build/{cjs/types/components/MathboxNodeContext.d.ts → esm/components/MathboxAPIContext.d.ts} +5 -0
  77. package/build/esm/components/MathboxAPIContext.js +15 -0
  78. package/build/esm/components/MathboxAPIContext.js.map +1 -0
  79. package/build/esm/{types/components → components}/components.d.ts +0 -0
  80. package/build/{index.d.ts → esm/components/components.js} +160 -98
  81. package/build/esm/components/components.js.map +1 -0
  82. package/build/esm/components/components.spec.d.ts +1 -0
  83. package/build/esm/components/components.spec.js +282 -0
  84. package/build/esm/components/components.spec.js.map +1 -0
  85. package/build/esm/{types/components → components}/index.d.ts +1 -0
  86. package/build/esm/components/index.js +5 -0
  87. package/build/esm/components/index.js.map +1 -0
  88. package/build/esm/{types/components → components}/types.d.ts +0 -0
  89. package/build/esm/components/types.js +2 -0
  90. package/build/esm/components/types.js.map +1 -0
  91. package/build/esm/{types/components → components}/util.d.ts +0 -0
  92. package/build/esm/components/util.js +96 -0
  93. package/build/esm/components/util.js.map +1 -0
  94. package/build/esm/{types/index.d.ts → index.d.ts} +0 -0
  95. package/build/esm/index.js +2 -2
  96. package/build/esm/index.js.map +1 -1
  97. package/build/esm/stories/Area.stories.d.ts +69 -0
  98. package/build/esm/stories/Area.stories.js +47 -0
  99. package/build/esm/stories/Area.stories.js.map +1 -0
  100. package/build/esm/stories/Cartesian.stories.d.ts +35 -0
  101. package/build/esm/stories/Cartesian.stories.js +41 -0
  102. package/build/esm/stories/Cartesian.stories.js.map +1 -0
  103. package/build/esm/stories/Grid.stories.d.ts +263 -0
  104. package/build/esm/stories/Grid.stories.js +39 -0
  105. package/build/esm/stories/Grid.stories.js.map +1 -0
  106. package/build/esm/stories/Mathbox.stories.d.ts +19 -0
  107. package/build/esm/stories/Mathbox.stories.js +10 -0
  108. package/build/esm/stories/Mathbox.stories.js.map +1 -0
  109. package/build/esm/stories/Play.stories.d.ts +37 -0
  110. package/build/esm/stories/Play.stories.js +29 -0
  111. package/build/esm/stories/Play.stories.js.map +1 -0
  112. package/build/esm/stories/Point.stories.d.ts +102 -0
  113. package/build/esm/stories/Point.stories.js +77 -0
  114. package/build/esm/stories/Point.stories.js.map +1 -0
  115. package/build/esm/stories/Surface.stories.d.ts +69 -0
  116. package/build/esm/stories/Surface.stories.js +43 -0
  117. package/build/esm/stories/Surface.stories.js.map +1 -0
  118. package/build/esm/stories/utils.d.ts +5 -0
  119. package/build/esm/stories/utils.js +42 -0
  120. package/build/esm/stories/utils.js.map +1 -0
  121. package/build/esm/testSetup.d.ts +1 -0
  122. package/build/esm/testSetup.js +3 -0
  123. package/build/esm/testSetup.js.map +1 -0
  124. package/build/esm/{types/testUtils.d.ts → testUtils.d.ts} +0 -0
  125. package/build/esm/testUtils.js +42 -0
  126. package/build/esm/testUtils.js.map +1 -0
  127. package/build/esm/threestrap/Renderer.d.ts +7 -0
  128. package/build/esm/threestrap/Renderer.js +13 -0
  129. package/build/esm/threestrap/Renderer.js.map +1 -0
  130. package/build/esm/threestrap/ThreestrapContext.d.ts +6 -0
  131. package/build/esm/threestrap/ThreestrapContext.js +12 -0
  132. package/build/esm/threestrap/ThreestrapContext.js.map +1 -0
  133. package/build/esm/threestrap/index.d.ts +2 -0
  134. package/build/esm/threestrap/index.js +2 -0
  135. package/build/esm/threestrap/index.js.map +1 -0
  136. package/build/esm/threestrap/threestrap.d.ts +13 -0
  137. package/build/esm/threestrap/threestrap.js +2 -0
  138. package/build/esm/threestrap/threestrap.js.map +1 -0
  139. package/package.json +37 -29
@@ -0,0 +1,69 @@
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 | number[] | import("three").Color | 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 | number[] | import("three").Color | 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
+ }>;
@@ -0,0 +1,43 @@
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: "Surface",
17
+ component: Surface,
18
+ argTypes: {
19
+ color: {
20
+ type: "string",
21
+ defaultValue: "rgb(48,144,255)"
22
+ },
23
+ shaded: {
24
+ type: "boolean",
25
+ defaultValue: true
26
+ }
27
+ }
28
+ };
29
+ var Template = function (args) { return (React.createElement(Mathbox, { containerStyle: { height: 450 } },
30
+ React.createElement(Cartesian, { range: [
31
+ [-5, 5],
32
+ [-2, 2],
33
+ [-5, 5],
34
+ ] },
35
+ React.createElement(Grid, { axes: "xz" }),
36
+ React.createElement(Area, { width: 64, height: 64, axes: ["x", "z"], expr: function (emit, x, z, i, j, t) {
37
+ var y = Math.sin(x - t) * Math.cos(z - t);
38
+ emit(x, y, z);
39
+ } }),
40
+ React.createElement(Surface, __assign({}, args))))); };
41
+ export var DefaultCartesian = Template.bind({});
42
+ DefaultCartesian.args = {};
43
+ //# sourceMappingURL=Surface.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Surface.stories.js","sourceRoot":"","sources":["../../../src/stories/Surface.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,SAAS;IAChB,SAAS,EAAE,OAAO;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,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,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,oBAAC,OAAO,eAAK,IAAI,EAAI,CACX,CACJ,CACX,EAtBuE,CAsBvE,CAAA;AAED,MAAM,CAAC,IAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjD,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAA"}
@@ -0,0 +1,5 @@
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 {};
@@ -0,0 +1,42 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React, { useMemo, useCallback } from "react";
24
+ import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
25
+ import { ContainedMathbox } from "../components";
26
+ var storybookDefaultMathboxOptions = {
27
+ plugins: ["core", "controls", "cursor"],
28
+ controls: {
29
+ klass: OrbitControls
30
+ }
31
+ };
32
+ export var CustomMathbox = function (props) {
33
+ var overrides = props.options, others = __rest(props, ["options"]);
34
+ var options = useMemo(function () { return (__assign(__assign({}, storybookDefaultMathboxOptions), (overrides !== null && overrides !== void 0 ? overrides : {}))); }, [overrides]);
35
+ var setup = useCallback(function (mathbox) {
36
+ if (mathbox === null)
37
+ return;
38
+ mathbox.three.camera.position.set(1, 1, 2);
39
+ }, []);
40
+ return (React.createElement(ContainedMathbox, __assign({ ref: setup, options: options }, others), props.children));
41
+ };
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/stories/utils.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIhD,IAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IACvC,QAAQ,EAAE;QACR,KAAK,EAAE,aAAa;KACrB;CACF,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,KAAmB;IACvC,IAAS,SAAS,GAAgB,KAAK,QAArB,EAAK,MAAM,UAAK,KAAK,EAAzC,WAAiC,CAAF,CAAU;IAC/C,IAAM,OAAO,GAAG,OAAO,CACrB,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,WAAW,CAAC,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,oBAAC,gBAAgB,aAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAM,MAAM,GACvD,KAAK,CAAC,QAAQ,CACE,CACpB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { getMockContext } from "./testUtils";
2
+ HTMLCanvasElement.prototype.getContext = getMockContext;
3
+ //# sourceMappingURL=testSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testSetup.js","sourceRoot":"","sources":["../../src/testSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,iBAAiB,CAAC,SAAS,CAAC,UAAU,GAAG,cAAc,CAAA"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * A mock that uses proxies to create properties as they are accessed. Supports
3
+ * function calls and toPrimitive.
4
+ *
5
+ * @param specifics Allows specifying specific values for properties. If a prop
6
+ * exists on `specifics`, then that value will be used when the property is
7
+ * accessed on automock.
8
+ * @returns
9
+ */
10
+ var getAutomock = function (specifics) {
11
+ var autmockSeed = jest.fn();
12
+ var handler = {
13
+ get: function (target, prop) {
14
+ if (prop === Symbol.toPrimitive) {
15
+ return function () { return "Automock: ".concat(JSON.stringify(specifics)); };
16
+ }
17
+ if (specifics && Reflect.has(specifics, prop)) {
18
+ var value = Reflect.get(specifics, prop);
19
+ return value;
20
+ }
21
+ if (!Reflect.has(target, prop)) {
22
+ Reflect.set(target, prop, getAutomock());
23
+ }
24
+ return Reflect.get(target, prop);
25
+ },
26
+ apply: function () {
27
+ return getAutomock();
28
+ }
29
+ };
30
+ return new Proxy(autmockSeed, handler);
31
+ };
32
+ export var getMockContext = function () {
33
+ var mockContext = getAutomock({
34
+ getParameter: jest.fn(function (name) {
35
+ if (name === mockContext.VERSION)
36
+ return "Fake version!";
37
+ return getAutomock();
38
+ })
39
+ });
40
+ return mockContext;
41
+ };
42
+ //# sourceMappingURL=testUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/testUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,IAAM,WAAW,GAAG,UAClB,SAAa;IAEb,IAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC7B,IAAM,OAAO,GAAG;QACd,GAAG,YAAC,MAAgB,EAAE,IAAqB;YACzC,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE;gBAC/B,OAAO,cAAM,OAAA,oBAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,EAAxC,CAAwC,CAAA;aACtD;YACD,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;gBAC7C,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBAC1C,OAAO,KAAK,CAAA;aACb;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;aACzC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,KAAK;YACH,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;IACD,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,WAAW,GAAG,WAAW,CAAC;QAC9B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,UAAC,IAAI;YACzB,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO;gBAAE,OAAO,eAAe,CAAA;YACxD,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC,CAAC;KACH,CAAC,CAAA;IACF,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import type { ColorRepresentation } from "three";
3
+ type RendererProps = {
4
+ clearColor?: ColorRepresentation;
5
+ };
6
+ declare const Renderer: React.FC<RendererProps>;
7
+ export default Renderer;
@@ -0,0 +1,13 @@
1
+ import { useEffect } from "react";
2
+ import { useThreestrap } from "./ThreestrapContext";
3
+ var Renderer = function (props) {
4
+ var threestrap = useThreestrap();
5
+ useEffect(function () {
6
+ if (props.clearColor) {
7
+ threestrap.renderer.setClearColor(props.clearColor);
8
+ }
9
+ });
10
+ return null;
11
+ };
12
+ export default Renderer;
13
+ //# sourceMappingURL=Renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/threestrap/Renderer.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMnD,IAAM,QAAQ,GAA4B,UAAC,KAAK;IAC9C,IAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,SAAS,CAAC;QACR,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;SACpD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { Threestrap } from "./threestrap";
3
+ declare const ThreestrapContext: import("react").Context<Threestrap | null>;
4
+ export default ThreestrapContext;
5
+ declare const useThreestrap: () => Threestrap;
6
+ export { useThreestrap };
@@ -0,0 +1,12 @@
1
+ import { createContext, useContext } from "react";
2
+ var ThreestrapContext = createContext(null);
3
+ export default ThreestrapContext;
4
+ var useThreestrap = function () {
5
+ var threestrap = useContext(ThreestrapContext);
6
+ if (!threestrap) {
7
+ throw new Error("Threestrap context is not available");
8
+ }
9
+ return threestrap;
10
+ };
11
+ export { useThreestrap };
12
+ //# sourceMappingURL=ThreestrapContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreestrapContext.js","sourceRoot":"","sources":["../../../src/threestrap/ThreestrapContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,IAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAA;AAEhE,eAAe,iBAAiB,CAAA;AAEhC,IAAM,aAAa,GAAG;IACpB,IAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;KACvD;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as Renderer } from "./Renderer";
2
+ export type { Threestrap } from "./threestrap";
@@ -0,0 +1,2 @@
1
+ export { default as Renderer } from "./Renderer";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/threestrap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
2
+ import type { FirstPersonControls } from "three/examples/jsm/controls/FirstPersonControls";
3
+ import type { WebGLRenderer } from "three";
4
+ export interface ThreestrapControls {
5
+ orbit: OrbitControls;
6
+ firstPerson: FirstPersonControls;
7
+ }
8
+ type Controls = ThreestrapControls[keyof ThreestrapControls];
9
+ export interface Threestrap {
10
+ renderer: WebGLRenderer;
11
+ controls: Controls | null;
12
+ }
13
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=threestrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threestrap.js","sourceRoot":"","sources":["../../../src/threestrap/threestrap.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathbox-react",
3
- "version": "0.0.14",
3
+ "version": "0.2.0",
4
4
  "description": "React wrapper for Mathbox",
5
5
  "license": "ISC",
6
6
  "repository": {
@@ -10,52 +10,60 @@
10
10
  },
11
11
  "author": "Chris Chudzicki",
12
12
  "main": "build/cjs/index.js",
13
- "module": "build/esm/index.js",
14
- "types": "build/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./build/esm/index.js",
16
+ "require": "./build/cjs/index.js"
17
+ },
18
+ "./threestrap": {
19
+ "import": "./build/esm/threestrap/index.js",
20
+ "require": "./build/cjs/threestrap/index.js"
21
+ }
22
+ },
15
23
  "files": [
16
24
  "build"
17
25
  ],
18
26
  "scripts": {
19
- "build": "rm -rf build && rollup --config rollup.config.ts --configPlugin typescript",
20
- "build-watch": "rollup --config rollup.config.ts --configPlugin typescript --watch",
27
+ "build": "rm -rf ./build && yarn build-esm && yarn build-cjs",
28
+ "build-esm": "tsc",
29
+ "build-cjs": "tsc --project tsconfig.cjs.json",
30
+ "build-watch": "tsc --watch",
21
31
  "storybook": "start-storybook -p 6006",
22
- "lint": "yarn global:lint",
23
- "format": "yarn global:format",
24
- "autofix": "yarn global:autofix",
32
+ "lint": "eslint \"**/*.ts?(x)\"",
25
33
  "prepack": "yarn build",
26
34
  "test": "jest"
27
35
  },
28
36
  "devDependencies": {
29
- "@babel/core": "7.19.3",
30
- "@babel/preset-env": "7.19.4",
31
- "@rollup/plugin-commonjs": "23.0.0",
32
- "@rollup/plugin-node-resolve": "15.0.0",
33
- "@rollup/plugin-typescript": "^10.0.1",
34
- "@storybook/addon-actions": "6.5.12",
35
- "@storybook/addon-essentials": "6.5.12",
36
- "@storybook/addon-interactions": "6.5.12",
37
- "@storybook/addon-links": "6.5.12",
38
- "@storybook/react": "6.5.12",
37
+ "@babel/core": "7.20.12",
38
+ "@babel/preset-env": "7.20.2",
39
+ "@mathbox-react/eslint-config": "workspace:*",
40
+ "@mathbox-react/tsconfig": "workspace:*",
41
+ "@storybook/addon-actions": "6.5.15",
42
+ "@storybook/addon-essentials": "6.5.15",
43
+ "@storybook/addon-interactions": "6.5.15",
44
+ "@storybook/addon-links": "6.5.15",
45
+ "@storybook/builder-webpack5": "^6.5.15",
46
+ "@storybook/manager-webpack5": "^6.5.15",
47
+ "@storybook/react": "6.5.15",
39
48
  "@storybook/testing-library": "0.0.13",
40
- "@testing-library/react": "12.1.5",
49
+ "@testing-library/react": "13.4.0",
41
50
  "@types/jest": "27.5.2",
42
- "@types/lodash": "4.14.186",
43
- "@types/react": "18.0.21",
44
- "@types/three": "0.147.0",
51
+ "@types/lodash": "4.14.191",
52
+ "@types/react": "18.0.27",
53
+ "@types/three": "0.148.1",
45
54
  "babel-jest": "27.5.1",
46
- "babel-loader": "8.2.5",
55
+ "babel-loader": "9.1.2",
56
+ "eslint": "^8.32.0",
47
57
  "jest": "27.5.1",
48
- "mathbox": "2.2.1",
58
+ "mathbox": "2.3.1",
49
59
  "react": "18.2.0",
50
60
  "react-dom": "18.2.0",
51
- "rollup": "3.9.0",
52
- "rollup-plugin-dts": "5.1.0",
53
- "rollup-plugin-terser": "7.0.2",
54
61
  "three": "0.148.0",
55
- "ts-jest": "27.1.5"
62
+ "ts-jest": "27.1.5",
63
+ "typescript": "^4.9.4"
56
64
  },
57
65
  "peerDependencies": {
58
- "mathbox": "^2.2.1",
66
+ "mathbox": "^2.3.1",
59
67
  "react": "^17.0.2 || ^18.0.0",
60
68
  "three": ">=0.118.0"
61
69
  },