@photonviz/vue 0.1.0 → 0.1.1
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/dist/index.d.ts +12 -3
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -48,7 +48,11 @@ declare const Line: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
48
48
|
default: undefined;
|
|
49
49
|
};
|
|
50
50
|
join: {
|
|
51
|
-
type: PropType<"round" | "butt" | undefined>;
|
|
51
|
+
type: PropType<("round" | "miter" | "bevel" | "butt") | undefined>;
|
|
52
|
+
default: undefined;
|
|
53
|
+
};
|
|
54
|
+
miterLimit: {
|
|
55
|
+
type: PropType<number>;
|
|
52
56
|
default: undefined;
|
|
53
57
|
};
|
|
54
58
|
decimate: {
|
|
@@ -85,7 +89,11 @@ declare const Line: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
85
89
|
default: undefined;
|
|
86
90
|
};
|
|
87
91
|
join: {
|
|
88
|
-
type: PropType<"round" | "butt" | undefined>;
|
|
92
|
+
type: PropType<("round" | "miter" | "bevel" | "butt") | undefined>;
|
|
93
|
+
default: undefined;
|
|
94
|
+
};
|
|
95
|
+
miterLimit: {
|
|
96
|
+
type: PropType<number>;
|
|
89
97
|
default: undefined;
|
|
90
98
|
};
|
|
91
99
|
decimate: {
|
|
@@ -94,11 +102,12 @@ declare const Line: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
94
102
|
};
|
|
95
103
|
}>> & Readonly<{}>, {
|
|
96
104
|
name: string;
|
|
97
|
-
join: "round" | "butt" | undefined;
|
|
105
|
+
join: ("round" | "miter" | "bevel" | "butt") | undefined;
|
|
98
106
|
color: string | _photonviz_core.Color | undefined;
|
|
99
107
|
step: "before" | "after" | "center" | undefined;
|
|
100
108
|
width: number;
|
|
101
109
|
yAxis: string;
|
|
110
|
+
miterLimit: number;
|
|
102
111
|
decimate: boolean;
|
|
103
112
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
104
113
|
declare const Scatter: vue.DefineComponent<vue.ExtractPropTypes<{
|
package/dist/index.js
CHANGED
|
@@ -73,12 +73,13 @@ var Line = defineComponent({
|
|
|
73
73
|
yAxis: opt(),
|
|
74
74
|
step: opt(),
|
|
75
75
|
join: opt(),
|
|
76
|
+
miterLimit: opt(),
|
|
76
77
|
decimate: opt()
|
|
77
78
|
},
|
|
78
79
|
setup(props) {
|
|
79
80
|
useLayer(
|
|
80
|
-
(p) => p.addLine({ x: props.x, y: props.y, color: props.color, width: props.width, name: props.name, yAxis: props.yAxis, step: props.step, join: props.join, decimate: props.decimate }),
|
|
81
|
-
() => [props.color, props.width, props.name, props.yAxis, props.step, props.join, props.decimate],
|
|
81
|
+
(p) => p.addLine({ x: props.x, y: props.y, color: props.color, width: props.width, name: props.name, yAxis: props.yAxis, step: props.step, join: props.join, miterLimit: props.miterLimit, decimate: props.decimate }),
|
|
82
|
+
() => [props.color, props.width, props.name, props.yAxis, props.step, props.join, props.miterLimit, props.decimate],
|
|
82
83
|
() => [props.x, props.y],
|
|
83
84
|
(l) => l.setData(props.x, props.y)
|
|
84
85
|
);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n Plot as CorePlot,\n type AreaOptions,\n type BarOptions,\n type Layer,\n type LineOptions,\n type PlotOptions,\n type ScatterOptions,\n type YAxisOptions,\n} from \"@photonviz/core\";\nimport {\n defineComponent,\n h,\n inject,\n markRaw,\n onMounted,\n onUnmounted,\n provide,\n ref,\n shallowRef,\n watch,\n type InjectionKey,\n type PropType,\n type Ref,\n} from \"vue\";\n\nconst PlotKey: InjectionKey<Ref<CorePlot | null>> = Symbol(\"photon-plot\");\n\nexport const Plot = defineComponent({\n name: \"PhotonPlot\",\n props: {\n options: { type: Object as PropType<PlotOptions>, default: undefined },\n },\n setup(props, { slots }) {\n const el = ref<HTMLDivElement | null>(null);\n const plot = shallowRef<CorePlot | null>(null);\n provide(PlotKey, plot);\n onMounted(() => {\n if (el.value) plot.value = markRaw(new CorePlot(el.value, props.options));\n });\n onUnmounted(() => plot.value?.destroy());\n return () =>\n h(\n \"div\",\n { ref: el, style: \"position:relative;width:100%;height:100%\" },\n plot.value && slots.default ? slots.default() : [],\n );\n },\n});\n\n/** Shared layer lifecycle: add on mount, recreate on structural change, setData on data change. */\nfunction useLayer<L extends Layer>(\n add: (p: CorePlot) => L,\n structural: () => unknown[],\n data: () => unknown[],\n update: (l: L, p: CorePlot) => void,\n): void {\n const plotRef = inject(PlotKey);\n if (!plotRef) throw new Error(\"Photon layer must be used inside <Plot>\");\n let layer: L | null = null;\n const create = () => {\n const p = plotRef.value;\n if (p) layer = markRaw(add(p)) as L;\n };\n const destroy = () => {\n if (layer && plotRef.value) plotRef.value.removeLayer(layer);\n layer = null;\n };\n onMounted(create);\n onUnmounted(destroy);\n watch(structural, () => {\n destroy();\n create();\n });\n watch(data, () => {\n if (layer && plotRef.value) {\n update(layer, plotRef.value);\n plotRef.value.render();\n }\n });\n}\n\nconst arr = () => ({ type: [Array, Object, Float64Array, Float32Array] as unknown as PropType<ArrayLike<number>>, required: true as const });\nconst opt = <T,>() => ({ type: [String, Number, Object, Array, Boolean, Float64Array, Float32Array] as unknown as PropType<T>, default: undefined });\n\nexport const Line = defineComponent({\n name: \"PhotonLine\",\n props: {\n x: arr(), y: arr(),\n color: opt<LineOptions[\"color\"]>(), width: opt<number>(), name: opt<string>(),\n yAxis: opt<string>(), step: opt<LineOptions[\"step\"]>(), join: opt<LineOptions[\"join\"]>(),\n decimate: opt<boolean>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addLine({ x: props.x, y: props.y, color: props.color, width: props.width, name: props.name, yAxis: props.yAxis, step: props.step, join: props.join, decimate: props.decimate }),\n () => [props.color, props.width, props.name, props.yAxis, props.step, props.join, props.decimate],\n () => [props.x, props.y],\n (l) => l.setData(props.x, props.y),\n );\n return () => null;\n },\n});\n\nexport const Scatter = defineComponent({\n name: \"PhotonScatter\",\n props: {\n x: arr(), y: arr(),\n color: opt<ScatterOptions[\"color\"]>(), size: opt<number>(), name: opt<string>(),\n yAxis: opt<string>(), colorBy: opt<ScatterOptions[\"colorBy\"]>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addScatter({ x: props.x, y: props.y, color: props.color, size: props.size, name: props.name, yAxis: props.yAxis, colorBy: props.colorBy }),\n () => [props.color, props.size, props.name, props.yAxis, props.colorBy],\n () => [props.x, props.y],\n (l) => l.setData(props.x, props.y),\n );\n return () => null;\n },\n});\n\nexport const Bar = defineComponent({\n name: \"PhotonBar\",\n props: {\n x: arr(), y: arr(),\n base: opt<BarOptions[\"base\"]>(), width: opt<number>(), offset: opt<number>(),\n color: opt<BarOptions[\"color\"]>(), name: opt<string>(), yAxis: opt<string>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addBar({ x: props.x, y: props.y, base: props.base, width: props.width, offset: props.offset, color: props.color, name: props.name, yAxis: props.yAxis }),\n () => [props.width, props.offset, props.color, props.name, props.yAxis],\n () => [props.x, props.y, props.base],\n (l) => l.setData(props.x, props.y, props.base),\n );\n return () => null;\n },\n});\n\nexport const Area = defineComponent({\n name: \"PhotonArea\",\n props: {\n x: arr(), y: arr(),\n base: opt<AreaOptions[\"base\"]>(), color: opt<AreaOptions[\"color\"]>(),\n name: opt<string>(), yAxis: opt<string>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addArea({ x: props.x, y: props.y, base: props.base, color: props.color, name: props.name, yAxis: props.yAxis }),\n () => [props.color, props.name, props.yAxis],\n () => [props.x, props.y, props.base],\n (l) => l.setData(props.x, props.y, props.base),\n );\n return () => null;\n },\n});\n\nexport const YAxis = defineComponent({\n name: \"PhotonYAxis\",\n props: {\n id: { type: String, required: true },\n side: opt<YAxisOptions[\"side\"]>(),\n color: opt<string>(),\n title: opt<string>(),\n domain: opt<YAxisOptions[\"domain\"]>(),\n type: opt<YAxisOptions[\"type\"]>(),\n },\n setup(props) {\n const plotRef = inject(PlotKey);\n if (!plotRef) throw new Error(\"<YAxis> must be used inside <Plot>\");\n onMounted(() => {\n plotRef.value?.addYAxis(props.id, { side: props.side, color: props.color, title: props.title, domain: props.domain, type: props.type });\n });\n return () => null;\n },\n});\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n Plot as CorePlot,\n type AreaOptions,\n type BarOptions,\n type Layer,\n type LineOptions,\n type PlotOptions,\n type ScatterOptions,\n type YAxisOptions,\n} from \"@photonviz/core\";\nimport {\n defineComponent,\n h,\n inject,\n markRaw,\n onMounted,\n onUnmounted,\n provide,\n ref,\n shallowRef,\n watch,\n type InjectionKey,\n type PropType,\n type Ref,\n} from \"vue\";\n\nconst PlotKey: InjectionKey<Ref<CorePlot | null>> = Symbol(\"photon-plot\");\n\nexport const Plot = defineComponent({\n name: \"PhotonPlot\",\n props: {\n options: { type: Object as PropType<PlotOptions>, default: undefined },\n },\n setup(props, { slots }) {\n const el = ref<HTMLDivElement | null>(null);\n const plot = shallowRef<CorePlot | null>(null);\n provide(PlotKey, plot);\n onMounted(() => {\n if (el.value) plot.value = markRaw(new CorePlot(el.value, props.options));\n });\n onUnmounted(() => plot.value?.destroy());\n return () =>\n h(\n \"div\",\n { ref: el, style: \"position:relative;width:100%;height:100%\" },\n plot.value && slots.default ? slots.default() : [],\n );\n },\n});\n\n/** Shared layer lifecycle: add on mount, recreate on structural change, setData on data change. */\nfunction useLayer<L extends Layer>(\n add: (p: CorePlot) => L,\n structural: () => unknown[],\n data: () => unknown[],\n update: (l: L, p: CorePlot) => void,\n): void {\n const plotRef = inject(PlotKey);\n if (!plotRef) throw new Error(\"Photon layer must be used inside <Plot>\");\n let layer: L | null = null;\n const create = () => {\n const p = plotRef.value;\n if (p) layer = markRaw(add(p)) as L;\n };\n const destroy = () => {\n if (layer && plotRef.value) plotRef.value.removeLayer(layer);\n layer = null;\n };\n onMounted(create);\n onUnmounted(destroy);\n watch(structural, () => {\n destroy();\n create();\n });\n watch(data, () => {\n if (layer && plotRef.value) {\n update(layer, plotRef.value);\n plotRef.value.render();\n }\n });\n}\n\nconst arr = () => ({ type: [Array, Object, Float64Array, Float32Array] as unknown as PropType<ArrayLike<number>>, required: true as const });\nconst opt = <T,>() => ({ type: [String, Number, Object, Array, Boolean, Float64Array, Float32Array] as unknown as PropType<T>, default: undefined });\n\nexport const Line = defineComponent({\n name: \"PhotonLine\",\n props: {\n x: arr(), y: arr(),\n color: opt<LineOptions[\"color\"]>(), width: opt<number>(), name: opt<string>(),\n yAxis: opt<string>(), step: opt<LineOptions[\"step\"]>(), join: opt<LineOptions[\"join\"]>(),\n miterLimit: opt<number>(), decimate: opt<boolean>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addLine({ x: props.x, y: props.y, color: props.color, width: props.width, name: props.name, yAxis: props.yAxis, step: props.step, join: props.join, miterLimit: props.miterLimit, decimate: props.decimate }),\n () => [props.color, props.width, props.name, props.yAxis, props.step, props.join, props.miterLimit, props.decimate],\n () => [props.x, props.y],\n (l) => l.setData(props.x, props.y),\n );\n return () => null;\n },\n});\n\nexport const Scatter = defineComponent({\n name: \"PhotonScatter\",\n props: {\n x: arr(), y: arr(),\n color: opt<ScatterOptions[\"color\"]>(), size: opt<number>(), name: opt<string>(),\n yAxis: opt<string>(), colorBy: opt<ScatterOptions[\"colorBy\"]>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addScatter({ x: props.x, y: props.y, color: props.color, size: props.size, name: props.name, yAxis: props.yAxis, colorBy: props.colorBy }),\n () => [props.color, props.size, props.name, props.yAxis, props.colorBy],\n () => [props.x, props.y],\n (l) => l.setData(props.x, props.y),\n );\n return () => null;\n },\n});\n\nexport const Bar = defineComponent({\n name: \"PhotonBar\",\n props: {\n x: arr(), y: arr(),\n base: opt<BarOptions[\"base\"]>(), width: opt<number>(), offset: opt<number>(),\n color: opt<BarOptions[\"color\"]>(), name: opt<string>(), yAxis: opt<string>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addBar({ x: props.x, y: props.y, base: props.base, width: props.width, offset: props.offset, color: props.color, name: props.name, yAxis: props.yAxis }),\n () => [props.width, props.offset, props.color, props.name, props.yAxis],\n () => [props.x, props.y, props.base],\n (l) => l.setData(props.x, props.y, props.base),\n );\n return () => null;\n },\n});\n\nexport const Area = defineComponent({\n name: \"PhotonArea\",\n props: {\n x: arr(), y: arr(),\n base: opt<AreaOptions[\"base\"]>(), color: opt<AreaOptions[\"color\"]>(),\n name: opt<string>(), yAxis: opt<string>(),\n },\n setup(props) {\n useLayer(\n (p) => p.addArea({ x: props.x, y: props.y, base: props.base, color: props.color, name: props.name, yAxis: props.yAxis }),\n () => [props.color, props.name, props.yAxis],\n () => [props.x, props.y, props.base],\n (l) => l.setData(props.x, props.y, props.base),\n );\n return () => null;\n },\n});\n\nexport const YAxis = defineComponent({\n name: \"PhotonYAxis\",\n props: {\n id: { type: String, required: true },\n side: opt<YAxisOptions[\"side\"]>(),\n color: opt<string>(),\n title: opt<string>(),\n domain: opt<YAxisOptions[\"domain\"]>(),\n type: opt<YAxisOptions[\"type\"]>(),\n },\n setup(props) {\n const plotRef = inject(PlotKey);\n if (!plotRef) throw new Error(\"<YAxis> must be used inside <Plot>\");\n onMounted(() => {\n plotRef.value?.addYAxis(props.id, { side: props.side, color: props.color, title: props.title, domain: props.domain, type: props.type });\n });\n return () => null;\n },\n});\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@photonviz/vue",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Vue bindings for Photon — WebGL2 scientific plotting",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"sideEffects": false,
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@photonviz/core": "0.1.
|
|
20
|
+
"@photonviz/core": "0.1.1"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"vue": ">=3.3"
|