@plasmicpkgs/rive 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +8 -0
- package/dist/rive.cjs.development.js +286 -0
- package/dist/rive.cjs.development.js.map +1 -0
- package/dist/rive.cjs.production.min.js +2 -0
- package/dist/rive.cjs.production.min.js.map +1 -0
- package/dist/rive.esm.js +279 -0
- package/dist/rive.esm.js.map +1 -0
- package/package.json +50 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Plasmic
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Plasmic registration call for Rive code component
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import registerComponent, { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
|
|
2
|
+
import { RiveProps } from "@rive-app/react-canvas";
|
|
3
|
+
import React from "react";
|
|
4
|
+
declare type RiveComponentProps = RiveProps & {
|
|
5
|
+
className: string;
|
|
6
|
+
autoplay: boolean;
|
|
7
|
+
studioAutoplay: boolean;
|
|
8
|
+
onStateChange?: (event: any) => void;
|
|
9
|
+
};
|
|
10
|
+
interface RiveInputs {
|
|
11
|
+
setBoolean(name: string, value: boolean): void;
|
|
12
|
+
setNumber(name: string, value: number): void;
|
|
13
|
+
fire(name: string): void;
|
|
14
|
+
}
|
|
15
|
+
declare const RivePlayer: React.ForwardRefExoticComponent<RiveProps & {
|
|
16
|
+
className: string;
|
|
17
|
+
autoplay: boolean;
|
|
18
|
+
studioAutoplay: boolean;
|
|
19
|
+
onStateChange?: ((event: any) => void) | undefined;
|
|
20
|
+
} & React.RefAttributes<RiveInputs>>;
|
|
21
|
+
export declare const riveMetaDescriptor: CodeComponentMeta<RiveComponentProps>;
|
|
22
|
+
export declare function registerPlasmicRive(loader?: {
|
|
23
|
+
registerComponent: typeof registerComponent;
|
|
24
|
+
}): void;
|
|
25
|
+
export default RivePlayer;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
+
|
|
7
|
+
var host = require('@plasmicapp/host');
|
|
8
|
+
var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
|
|
9
|
+
var reactCanvas = require('@rive-app/react-canvas');
|
|
10
|
+
var React = _interopDefault(require('react'));
|
|
11
|
+
|
|
12
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
13
|
+
if (null == r) return {};
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
16
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
17
|
+
t[n] = r[n];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var _excluded = ["layout", "className", "onStateChange", "stateMachines"];
|
|
23
|
+
var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
24
|
+
var layout = _ref.layout,
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
_onStateChange = _ref.onStateChange,
|
|
27
|
+
stateMachines = _ref.stateMachines,
|
|
28
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
29
|
+
var inEditor = host.usePlasmicCanvasContext();
|
|
30
|
+
var riveParams = React.useMemo(function () {
|
|
31
|
+
var riveLayout = layout ? new reactCanvas.Layout({
|
|
32
|
+
fit: layout.fit,
|
|
33
|
+
alignment: layout.alignment,
|
|
34
|
+
minX: layout.minX,
|
|
35
|
+
minY: layout.minY,
|
|
36
|
+
maxX: layout.maxX,
|
|
37
|
+
maxY: layout.maxY
|
|
38
|
+
}) : undefined;
|
|
39
|
+
return {
|
|
40
|
+
src: props.src,
|
|
41
|
+
artboard: props.artboard,
|
|
42
|
+
animations: props.animations,
|
|
43
|
+
stateMachines: stateMachines,
|
|
44
|
+
layout: riveLayout,
|
|
45
|
+
autoplay: inEditor ? props.studioAutoplay : props.autoplay,
|
|
46
|
+
onStateChange: function onStateChange(event) {
|
|
47
|
+
if (_onStateChange) {
|
|
48
|
+
_onStateChange(event);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}, [props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, layout, stateMachines, inEditor, _onStateChange]);
|
|
53
|
+
var _useRive = reactCanvas.useRive(riveParams),
|
|
54
|
+
rive = _useRive.rive,
|
|
55
|
+
RiveComponent = _useRive.RiveComponent;
|
|
56
|
+
React.useImperativeHandle(ref, function () {
|
|
57
|
+
function setInput(inputType, inputName, value, stateMachine) {
|
|
58
|
+
if (value === void 0) {
|
|
59
|
+
value = null;
|
|
60
|
+
}
|
|
61
|
+
if (stateMachine === void 0) {
|
|
62
|
+
stateMachine = null;
|
|
63
|
+
}
|
|
64
|
+
var inputs = rive == null ? void 0 : rive.stateMachineInputs(stateMachine || stateMachines);
|
|
65
|
+
(inputs || []).forEach(function (i) {
|
|
66
|
+
if (i.type !== inputType) {
|
|
67
|
+
console.warn("PlasmicRive: Input type mismatch: expected " + inputType + ", got " + i.type);
|
|
68
|
+
}
|
|
69
|
+
if (i.name === inputName) {
|
|
70
|
+
switch (inputType) {
|
|
71
|
+
case reactCanvas.StateMachineInputType.Trigger:
|
|
72
|
+
i.fire();
|
|
73
|
+
break;
|
|
74
|
+
case reactCanvas.StateMachineInputType.Number:
|
|
75
|
+
case reactCanvas.StateMachineInputType.Boolean:
|
|
76
|
+
i.value = value;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
setBoolean: function setBoolean(name, value, stateMachine) {
|
|
84
|
+
setInput(reactCanvas.StateMachineInputType.Boolean, name, value, stateMachine);
|
|
85
|
+
},
|
|
86
|
+
setNumber: function setNumber(name, value, stateMachine) {
|
|
87
|
+
setInput(reactCanvas.StateMachineInputType.Number, name, value, stateMachine);
|
|
88
|
+
},
|
|
89
|
+
fire: function fire(name, stateMachine) {
|
|
90
|
+
setInput(reactCanvas.StateMachineInputType.Trigger, name, null, stateMachine);
|
|
91
|
+
},
|
|
92
|
+
play: function play(animationName) {
|
|
93
|
+
rive == null || rive.play(animationName);
|
|
94
|
+
},
|
|
95
|
+
pause: function pause(animationName) {
|
|
96
|
+
rive == null || rive.pause(animationName);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}, [rive]);
|
|
100
|
+
// In Plasmic Studio, force a remount by changing the key when any relevant prop changes
|
|
101
|
+
var studioKey = React.useMemo(function () {
|
|
102
|
+
return inEditor ? [props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, JSON.stringify(layout), stateMachines, Date.now()].join("|") : undefined;
|
|
103
|
+
}, [inEditor, props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, layout, stateMachines]);
|
|
104
|
+
return React.createElement(RiveComponent, {
|
|
105
|
+
className: className,
|
|
106
|
+
key: studioKey
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
var riveMetaDescriptor = {
|
|
110
|
+
name: "rive",
|
|
111
|
+
displayName: "Rive",
|
|
112
|
+
importName: "RivePlayer",
|
|
113
|
+
importPath: "@plasmicpkgs/rive",
|
|
114
|
+
description: "Rive animation component",
|
|
115
|
+
props: {
|
|
116
|
+
src: {
|
|
117
|
+
type: "string",
|
|
118
|
+
defaultValue: "https://cdn.rive.app/animations/vehicles.riv",
|
|
119
|
+
displayName: "Source URL",
|
|
120
|
+
description: "URL to the .riv file (exported from Rive)"
|
|
121
|
+
},
|
|
122
|
+
stateMachines: {
|
|
123
|
+
type: "string",
|
|
124
|
+
displayName: "State Machines",
|
|
125
|
+
description: "(optional) Name of state machine to load.",
|
|
126
|
+
advanced: true
|
|
127
|
+
},
|
|
128
|
+
autoplay: {
|
|
129
|
+
type: "boolean",
|
|
130
|
+
displayName: "Autoplay",
|
|
131
|
+
description: "Should animation play automatically.",
|
|
132
|
+
defaultValue: true,
|
|
133
|
+
advanced: true
|
|
134
|
+
},
|
|
135
|
+
studioAutoplay: {
|
|
136
|
+
type: "boolean",
|
|
137
|
+
displayName: "Studio Autoplay",
|
|
138
|
+
description: "Should animation play automatically in Plasmic Studio.",
|
|
139
|
+
defaultValue: false,
|
|
140
|
+
advanced: true
|
|
141
|
+
},
|
|
142
|
+
artboard: {
|
|
143
|
+
type: "string",
|
|
144
|
+
displayName: "Artboard",
|
|
145
|
+
description: "(optional) Name of the artboard to use.",
|
|
146
|
+
advanced: true
|
|
147
|
+
},
|
|
148
|
+
layout: {
|
|
149
|
+
type: "object",
|
|
150
|
+
displayName: "Layout",
|
|
151
|
+
description: "(optional) Layout object to define how animations are displayed on the canvas.",
|
|
152
|
+
nameFunc: function nameFunc(item) {
|
|
153
|
+
return item ? item.fit + " / " + item.alignment : undefined;
|
|
154
|
+
},
|
|
155
|
+
advanced: true,
|
|
156
|
+
fields: {
|
|
157
|
+
fit: {
|
|
158
|
+
type: "choice",
|
|
159
|
+
displayName: "Fit",
|
|
160
|
+
options: ["cover", "contain", "fill", "fitWidth", "fitHeight", "none", "scaleDown"],
|
|
161
|
+
description: "How the animation should fit in the canvas."
|
|
162
|
+
},
|
|
163
|
+
alignment: {
|
|
164
|
+
type: "choice",
|
|
165
|
+
displayName: "Alignment",
|
|
166
|
+
options: ["center", "topLeft", "topCenter", "topRight", "centerLeft", "centerRight", "bottomLeft", "bottomCenter", "bottomRight"],
|
|
167
|
+
description: "How the animation should be aligned in the canvas."
|
|
168
|
+
},
|
|
169
|
+
minX: {
|
|
170
|
+
type: "number",
|
|
171
|
+
displayName: "Min X",
|
|
172
|
+
advanced: true
|
|
173
|
+
},
|
|
174
|
+
minY: {
|
|
175
|
+
type: "number",
|
|
176
|
+
displayName: "Min Y",
|
|
177
|
+
advanced: true
|
|
178
|
+
},
|
|
179
|
+
maxX: {
|
|
180
|
+
type: "number",
|
|
181
|
+
displayName: "Max X",
|
|
182
|
+
advanced: true
|
|
183
|
+
},
|
|
184
|
+
maxY: {
|
|
185
|
+
type: "number",
|
|
186
|
+
displayName: "Max Y",
|
|
187
|
+
advanced: true
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
animations: {
|
|
192
|
+
type: "string",
|
|
193
|
+
displayName: "Animations",
|
|
194
|
+
description: "(optional) Name or list of names of animations to play.",
|
|
195
|
+
advanced: true
|
|
196
|
+
},
|
|
197
|
+
onStateChange: {
|
|
198
|
+
type: "eventHandler",
|
|
199
|
+
displayName: "On State Change",
|
|
200
|
+
description: "(optional) Callback when the state changes.",
|
|
201
|
+
advanced: true,
|
|
202
|
+
argTypes: [{
|
|
203
|
+
name: "event",
|
|
204
|
+
type: "object"
|
|
205
|
+
}]
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
defaultStyles: {
|
|
209
|
+
minHeight: "60vh",
|
|
210
|
+
width: "stretch"
|
|
211
|
+
},
|
|
212
|
+
refActions: {
|
|
213
|
+
setBoolean: {
|
|
214
|
+
description: "Set the Rive Input",
|
|
215
|
+
argTypes: [{
|
|
216
|
+
name: "name",
|
|
217
|
+
type: "string",
|
|
218
|
+
displayName: "Input Name"
|
|
219
|
+
}, {
|
|
220
|
+
name: "value",
|
|
221
|
+
type: "boolean",
|
|
222
|
+
displayName: "Input Value"
|
|
223
|
+
}, {
|
|
224
|
+
name: "stateMachine",
|
|
225
|
+
type: "string",
|
|
226
|
+
displayName: "State Machine Name"
|
|
227
|
+
}]
|
|
228
|
+
},
|
|
229
|
+
setNumber: {
|
|
230
|
+
description: "Set the Rive Input",
|
|
231
|
+
argTypes: [{
|
|
232
|
+
name: "name",
|
|
233
|
+
type: "string",
|
|
234
|
+
displayName: "Input Name"
|
|
235
|
+
}, {
|
|
236
|
+
name: "value",
|
|
237
|
+
type: "number",
|
|
238
|
+
displayName: "Input Value"
|
|
239
|
+
}, {
|
|
240
|
+
name: "stateMachine",
|
|
241
|
+
type: "string",
|
|
242
|
+
displayName: "State Machine Name"
|
|
243
|
+
}]
|
|
244
|
+
},
|
|
245
|
+
fire: {
|
|
246
|
+
description: "Fire the Rive Input",
|
|
247
|
+
argTypes: [{
|
|
248
|
+
name: "name",
|
|
249
|
+
type: "string",
|
|
250
|
+
displayName: "Input Name"
|
|
251
|
+
}, {
|
|
252
|
+
name: "stateMachine",
|
|
253
|
+
type: "string",
|
|
254
|
+
displayName: "State Machine Name"
|
|
255
|
+
}]
|
|
256
|
+
},
|
|
257
|
+
play: {
|
|
258
|
+
description: "Play the animation",
|
|
259
|
+
argTypes: [{
|
|
260
|
+
name: "animationName",
|
|
261
|
+
type: "string",
|
|
262
|
+
displayName: "Animation Name"
|
|
263
|
+
}]
|
|
264
|
+
},
|
|
265
|
+
pause: {
|
|
266
|
+
description: "Pause the animation",
|
|
267
|
+
argTypes: [{
|
|
268
|
+
name: "animationName",
|
|
269
|
+
type: "string",
|
|
270
|
+
displayName: "Animation Name"
|
|
271
|
+
}]
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
function registerPlasmicRive(loader) {
|
|
276
|
+
if (loader) {
|
|
277
|
+
loader.registerComponent(RivePlayer, riveMetaDescriptor);
|
|
278
|
+
} else {
|
|
279
|
+
registerComponent(RivePlayer, riveMetaDescriptor);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
exports.default = RivePlayer;
|
|
284
|
+
exports.registerPlasmicRive = registerPlasmicRive;
|
|
285
|
+
exports.riveMetaDescriptor = riveMetaDescriptor;
|
|
286
|
+
//# sourceMappingURL=rive.cjs.development.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rive.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n Layout,\n RiveProps,\n StateMachineInputType,\n useRive,\n} from \"@rive-app/react-canvas\";\nimport React from \"react\";\n\ntype RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n};\n\ninterface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n}\n\nconst RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n ({ layout, className, onStateChange, stateMachines, ...props }, ref) => {\n const inEditor = usePlasmicCanvasContext();\n\n const riveParams = React.useMemo(() => {\n const riveLayout = layout\n ? new Layout({\n fit: layout.fit,\n alignment: layout.alignment,\n minX: layout.minX,\n minY: layout.minY,\n maxX: layout.maxX,\n maxY: layout.maxY,\n })\n : undefined;\n\n return {\n src: props.src,\n artboard: props.artboard,\n animations: props.animations,\n stateMachines,\n layout: riveLayout,\n autoplay: inEditor ? props.studioAutoplay : props.autoplay,\n onStateChange: (event: any) => {\n if (onStateChange) {\n onStateChange(event);\n }\n },\n };\n }, [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n inEditor,\n onStateChange,\n ]);\n\n const { rive, RiveComponent } = useRive(riveParams);\n\n React.useImperativeHandle(\n ref,\n () => {\n function setInput(\n inputType: StateMachineInputType,\n inputName: string,\n value: any = null,\n stateMachine: string | null = null\n ) {\n const inputs = rive?.stateMachineInputs(\n stateMachine || (stateMachines as string)\n );\n (inputs || []).forEach((i: any) => {\n if (i.type !== inputType) {\n console.warn(\n `PlasmicRive: Input type mismatch: expected ${inputType}, got ${i.type}`\n );\n }\n if (i.name === inputName) {\n switch (inputType) {\n case StateMachineInputType.Trigger:\n i.fire();\n break;\n case StateMachineInputType.Number:\n case StateMachineInputType.Boolean:\n i.value = value;\n break;\n }\n }\n });\n }\n\n return {\n setBoolean(name: string, value: boolean, stateMachine?: string) {\n setInput(StateMachineInputType.Boolean, name, value, stateMachine);\n },\n setNumber(name: string, value: number, stateMachine?: string) {\n setInput(StateMachineInputType.Number, name, value, stateMachine);\n },\n fire(name: string, stateMachine?: string) {\n setInput(StateMachineInputType.Trigger, name, null, stateMachine);\n },\n play(animationName: string) {\n rive?.play(animationName);\n },\n pause(animationName: string) {\n rive?.pause(animationName);\n },\n };\n },\n [rive]\n );\n\n // In Plasmic Studio, force a remount by changing the key when any relevant prop changes\n const studioKey = React.useMemo(\n () =>\n inEditor\n ? [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n JSON.stringify(layout),\n stateMachines,\n Date.now(), // ensures a new key on every render in studio\n ].join(\"|\")\n : undefined,\n [\n inEditor,\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n ]\n );\n\n return <RiveComponent className={className} key={studioKey} />;\n }\n);\n\nexport const riveMetaDescriptor: CodeComponentMeta<RiveComponentProps> = {\n name: \"rive\",\n displayName: \"Rive\",\n importName: \"RivePlayer\",\n importPath: \"@plasmicpkgs/rive\",\n description: \"Rive animation component\",\n\n props: {\n src: {\n type: \"string\",\n defaultValue: \"https://cdn.rive.app/animations/vehicles.riv\",\n displayName: \"Source URL\",\n description: \"URL to the .riv file (exported from Rive)\",\n },\n stateMachines: {\n type: \"string\",\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n },\n autoplay: {\n type: \"boolean\",\n displayName: \"Autoplay\",\n description: \"Should animation play automatically.\",\n defaultValue: true,\n advanced: true,\n },\n studioAutoplay: {\n type: \"boolean\",\n displayName: \"Studio Autoplay\",\n description: \"Should animation play automatically in Plasmic Studio.\",\n defaultValue: false,\n advanced: true,\n },\n artboard: {\n type: \"string\",\n displayName: \"Artboard\",\n description: \"(optional) Name of the artboard to use.\",\n advanced: true,\n },\n layout: {\n type: \"object\",\n displayName: \"Layout\",\n description:\n \"(optional) Layout object to define how animations are displayed on the canvas.\",\n nameFunc: (item: any) =>\n item ? `${item.fit} / ${item.alignment}` : undefined,\n advanced: true,\n fields: {\n fit: {\n type: \"choice\",\n displayName: \"Fit\",\n options: [\n \"cover\",\n \"contain\",\n \"fill\",\n \"fitWidth\",\n \"fitHeight\",\n \"none\",\n \"scaleDown\",\n ],\n description: \"How the animation should fit in the canvas.\",\n },\n alignment: {\n type: \"choice\",\n displayName: \"Alignment\",\n options: [\n \"center\",\n \"topLeft\",\n \"topCenter\",\n \"topRight\",\n \"centerLeft\",\n \"centerRight\",\n \"bottomLeft\",\n \"bottomCenter\",\n \"bottomRight\",\n ],\n description: \"How the animation should be aligned in the canvas.\",\n },\n minX: { type: \"number\", displayName: \"Min X\", advanced: true },\n minY: { type: \"number\", displayName: \"Min Y\", advanced: true },\n maxX: { type: \"number\", displayName: \"Max X\", advanced: true },\n maxY: { type: \"number\", displayName: \"Max Y\", advanced: true },\n },\n },\n animations: {\n type: \"string\",\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n },\n onStateChange: {\n type: \"eventHandler\",\n displayName: \"On State Change\",\n description: \"(optional) Callback when the state changes.\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n defaultStyles: {\n minHeight: \"60vh\",\n width: \"stretch\",\n },\n refActions: {\n setBoolean: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"boolean\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n setNumber: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"number\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n fire: {\n description: \"Fire the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n play: {\n description: \"Play the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n pause: {\n description: \"Pause the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n },\n};\n\nexport function registerPlasmicRive(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n if (loader) {\n loader.registerComponent(RivePlayer, riveMetaDescriptor);\n } else {\n registerComponent(RivePlayer, riveMetaDescriptor);\n }\n}\n\nexport default RivePlayer;\n"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","props","_objectWithoutPropertiesLoose","_excluded","inEditor","usePlasmicCanvasContext","riveParams","useMemo","riveLayout","Layout","fit","alignment","minX","minY","maxX","maxY","undefined","src","artboard","animations","autoplay","studioAutoplay","event","_useRive","useRive","rive","RiveComponent","useImperativeHandle","setInput","inputType","inputName","value","stateMachine","inputs","stateMachineInputs","forEach","i","type","console","warn","name","StateMachineInputType","Trigger","fire","Number","Boolean","setBoolean","setNumber","play","animationName","pause","studioKey","JSON","stringify","Date","now","join","key","riveMetaDescriptor","displayName","importName","importPath","description","defaultValue","advanced","nameFunc","item","fields","options","argTypes","defaultStyles","minHeight","width","refActions","registerPlasmicRive","loader","registerComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var a=require("@plasmicapp/host"),t=e(require("@plasmicapp/host/registerComponent")),n=require("@rive-app/react-canvas"),i=e(require("react")),o=["layout","className","onStateChange","stateMachines"],s=i.forwardRef((function(e,t){var s=e.layout,p=e.className,r=e.onStateChange,l=e.stateMachines,m=function(e,a){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==a.indexOf(n))continue;t[n]=e[n]}return t}(e,o),u=a.usePlasmicCanvasContext(),c=i.useMemo((function(){var e=s?new n.Layout({fit:s.fit,alignment:s.alignment,minX:s.minX,minY:s.minY,maxX:s.maxX,maxY:s.maxY}):void 0;return{src:m.src,artboard:m.artboard,animations:m.animations,stateMachines:l,layout:e,autoplay:u?m.studioAutoplay:m.autoplay,onStateChange:function(e){r&&r(e)}}}),[m.src,m.artboard,m.animations,m.autoplay,m.studioAutoplay,s,l,u,r]),d=n.useRive(c),y=d.rive,h=d.RiveComponent;i.useImperativeHandle(t,(function(){function e(e,a,t,i){void 0===t&&(t=null),void 0===i&&(i=null),((null==y?void 0:y.stateMachineInputs(i||l))||[]).forEach((function(i){if(i.type!==e&&console.warn("PlasmicRive: Input type mismatch: expected "+e+", got "+i.type),i.name===a)switch(e){case n.StateMachineInputType.Trigger:i.fire();break;case n.StateMachineInputType.Number:case n.StateMachineInputType.Boolean:i.value=t}}))}return{setBoolean:function(a,t,i){e(n.StateMachineInputType.Boolean,a,t,i)},setNumber:function(a,t,i){e(n.StateMachineInputType.Number,a,t,i)},fire:function(a,t){e(n.StateMachineInputType.Trigger,a,null,t)},play:function(e){null==y||y.play(e)},pause:function(e){null==y||y.pause(e)}}}),[y]);var f=i.useMemo((function(){return u?[m.src,m.artboard,m.animations,m.autoplay,m.studioAutoplay,JSON.stringify(s),l,Date.now()].join("|"):void 0}),[u,m.src,m.artboard,m.animations,m.autoplay,m.studioAutoplay,s,l]);return i.createElement(h,{className:p,key:f})})),p={name:"rive",displayName:"Rive",importName:"RivePlayer",importPath:"@plasmicpkgs/rive",description:"Rive animation component",props:{src:{type:"string",defaultValue:"https://cdn.rive.app/animations/vehicles.riv",displayName:"Source URL",description:"URL to the .riv file (exported from Rive)"},stateMachines:{type:"string",displayName:"State Machines",description:"(optional) Name of state machine to load.",advanced:!0},autoplay:{type:"boolean",displayName:"Autoplay",description:"Should animation play automatically.",defaultValue:!0,advanced:!0},studioAutoplay:{type:"boolean",displayName:"Studio Autoplay",description:"Should animation play automatically in Plasmic Studio.",defaultValue:!1,advanced:!0},artboard:{type:"string",displayName:"Artboard",description:"(optional) Name of the artboard to use.",advanced:!0},layout:{type:"object",displayName:"Layout",description:"(optional) Layout object to define how animations are displayed on the canvas.",nameFunc:function(e){return e?e.fit+" / "+e.alignment:void 0},advanced:!0,fields:{fit:{type:"choice",displayName:"Fit",options:["cover","contain","fill","fitWidth","fitHeight","none","scaleDown"],description:"How the animation should fit in the canvas."},alignment:{type:"choice",displayName:"Alignment",options:["center","topLeft","topCenter","topRight","centerLeft","centerRight","bottomLeft","bottomCenter","bottomRight"],description:"How the animation should be aligned in the canvas."},minX:{type:"number",displayName:"Min X",advanced:!0},minY:{type:"number",displayName:"Min Y",advanced:!0},maxX:{type:"number",displayName:"Max X",advanced:!0},maxY:{type:"number",displayName:"Max Y",advanced:!0}}},animations:{type:"string",displayName:"Animations",description:"(optional) Name or list of names of animations to play.",advanced:!0},onStateChange:{type:"eventHandler",displayName:"On State Change",description:"(optional) Callback when the state changes.",advanced:!0,argTypes:[{name:"event",type:"object"}]}},defaultStyles:{minHeight:"60vh",width:"stretch"},refActions:{setBoolean:{description:"Set the Rive Input",argTypes:[{name:"name",type:"string",displayName:"Input Name"},{name:"value",type:"boolean",displayName:"Input Value"},{name:"stateMachine",type:"string",displayName:"State Machine Name"}]},setNumber:{description:"Set the Rive Input",argTypes:[{name:"name",type:"string",displayName:"Input Name"},{name:"value",type:"number",displayName:"Input Value"},{name:"stateMachine",type:"string",displayName:"State Machine Name"}]},fire:{description:"Fire the Rive Input",argTypes:[{name:"name",type:"string",displayName:"Input Name"},{name:"stateMachine",type:"string",displayName:"State Machine Name"}]},play:{description:"Play the animation",argTypes:[{name:"animationName",type:"string",displayName:"Animation Name"}]},pause:{description:"Pause the animation",argTypes:[{name:"animationName",type:"string",displayName:"Animation Name"}]}}};exports.default=s,exports.registerPlasmicRive=function(e){e?e.registerComponent(s,p):t(s,p)},exports.riveMetaDescriptor=p;
|
|
2
|
+
//# sourceMappingURL=rive.cjs.production.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rive.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n Layout,\n RiveProps,\n StateMachineInputType,\n useRive,\n} from \"@rive-app/react-canvas\";\nimport React from \"react\";\n\ntype RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n};\n\ninterface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n}\n\nconst RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n ({ layout, className, onStateChange, stateMachines, ...props }, ref) => {\n const inEditor = usePlasmicCanvasContext();\n\n const riveParams = React.useMemo(() => {\n const riveLayout = layout\n ? new Layout({\n fit: layout.fit,\n alignment: layout.alignment,\n minX: layout.minX,\n minY: layout.minY,\n maxX: layout.maxX,\n maxY: layout.maxY,\n })\n : undefined;\n\n return {\n src: props.src,\n artboard: props.artboard,\n animations: props.animations,\n stateMachines,\n layout: riveLayout,\n autoplay: inEditor ? props.studioAutoplay : props.autoplay,\n onStateChange: (event: any) => {\n if (onStateChange) {\n onStateChange(event);\n }\n },\n };\n }, [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n inEditor,\n onStateChange,\n ]);\n\n const { rive, RiveComponent } = useRive(riveParams);\n\n React.useImperativeHandle(\n ref,\n () => {\n function setInput(\n inputType: StateMachineInputType,\n inputName: string,\n value: any = null,\n stateMachine: string | null = null\n ) {\n const inputs = rive?.stateMachineInputs(\n stateMachine || (stateMachines as string)\n );\n (inputs || []).forEach((i: any) => {\n if (i.type !== inputType) {\n console.warn(\n `PlasmicRive: Input type mismatch: expected ${inputType}, got ${i.type}`\n );\n }\n if (i.name === inputName) {\n switch (inputType) {\n case StateMachineInputType.Trigger:\n i.fire();\n break;\n case StateMachineInputType.Number:\n case StateMachineInputType.Boolean:\n i.value = value;\n break;\n }\n }\n });\n }\n\n return {\n setBoolean(name: string, value: boolean, stateMachine?: string) {\n setInput(StateMachineInputType.Boolean, name, value, stateMachine);\n },\n setNumber(name: string, value: number, stateMachine?: string) {\n setInput(StateMachineInputType.Number, name, value, stateMachine);\n },\n fire(name: string, stateMachine?: string) {\n setInput(StateMachineInputType.Trigger, name, null, stateMachine);\n },\n play(animationName: string) {\n rive?.play(animationName);\n },\n pause(animationName: string) {\n rive?.pause(animationName);\n },\n };\n },\n [rive]\n );\n\n // In Plasmic Studio, force a remount by changing the key when any relevant prop changes\n const studioKey = React.useMemo(\n () =>\n inEditor\n ? [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n JSON.stringify(layout),\n stateMachines,\n Date.now(), // ensures a new key on every render in studio\n ].join(\"|\")\n : undefined,\n [\n inEditor,\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n ]\n );\n\n return <RiveComponent className={className} key={studioKey} />;\n }\n);\n\nexport const riveMetaDescriptor: CodeComponentMeta<RiveComponentProps> = {\n name: \"rive\",\n displayName: \"Rive\",\n importName: \"RivePlayer\",\n importPath: \"@plasmicpkgs/rive\",\n description: \"Rive animation component\",\n\n props: {\n src: {\n type: \"string\",\n defaultValue: \"https://cdn.rive.app/animations/vehicles.riv\",\n displayName: \"Source URL\",\n description: \"URL to the .riv file (exported from Rive)\",\n },\n stateMachines: {\n type: \"string\",\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n },\n autoplay: {\n type: \"boolean\",\n displayName: \"Autoplay\",\n description: \"Should animation play automatically.\",\n defaultValue: true,\n advanced: true,\n },\n studioAutoplay: {\n type: \"boolean\",\n displayName: \"Studio Autoplay\",\n description: \"Should animation play automatically in Plasmic Studio.\",\n defaultValue: false,\n advanced: true,\n },\n artboard: {\n type: \"string\",\n displayName: \"Artboard\",\n description: \"(optional) Name of the artboard to use.\",\n advanced: true,\n },\n layout: {\n type: \"object\",\n displayName: \"Layout\",\n description:\n \"(optional) Layout object to define how animations are displayed on the canvas.\",\n nameFunc: (item: any) =>\n item ? `${item.fit} / ${item.alignment}` : undefined,\n advanced: true,\n fields: {\n fit: {\n type: \"choice\",\n displayName: \"Fit\",\n options: [\n \"cover\",\n \"contain\",\n \"fill\",\n \"fitWidth\",\n \"fitHeight\",\n \"none\",\n \"scaleDown\",\n ],\n description: \"How the animation should fit in the canvas.\",\n },\n alignment: {\n type: \"choice\",\n displayName: \"Alignment\",\n options: [\n \"center\",\n \"topLeft\",\n \"topCenter\",\n \"topRight\",\n \"centerLeft\",\n \"centerRight\",\n \"bottomLeft\",\n \"bottomCenter\",\n \"bottomRight\",\n ],\n description: \"How the animation should be aligned in the canvas.\",\n },\n minX: { type: \"number\", displayName: \"Min X\", advanced: true },\n minY: { type: \"number\", displayName: \"Min Y\", advanced: true },\n maxX: { type: \"number\", displayName: \"Max X\", advanced: true },\n maxY: { type: \"number\", displayName: \"Max Y\", advanced: true },\n },\n },\n animations: {\n type: \"string\",\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n },\n onStateChange: {\n type: \"eventHandler\",\n displayName: \"On State Change\",\n description: \"(optional) Callback when the state changes.\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n defaultStyles: {\n minHeight: \"60vh\",\n width: \"stretch\",\n },\n refActions: {\n setBoolean: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"boolean\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n setNumber: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"number\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n fire: {\n description: \"Fire the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n play: {\n description: \"Play the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n pause: {\n description: \"Pause the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n },\n};\n\nexport function registerPlasmicRive(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n if (loader) {\n loader.registerComponent(RivePlayer, riveMetaDescriptor);\n } else {\n registerComponent(RivePlayer, riveMetaDescriptor);\n }\n}\n\nexport default RivePlayer;\n"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","props","_objectWithoutPropertiesLoose","_excluded","inEditor","usePlasmicCanvasContext","riveParams","useMemo","riveLayout","Layout","fit","alignment","minX","minY","maxX","maxY","undefined","src","artboard","animations","autoplay","studioAutoplay","event","_useRive","useRive","rive","RiveComponent","useImperativeHandle","setInput","inputType","inputName","value","stateMachine","stateMachineInputs","forEach","i","type","console","warn","name","StateMachineInputType","Trigger","fire","Number","Boolean","setBoolean","setNumber","play","animationName","pause","studioKey","JSON","stringify","Date","now","join","key","riveMetaDescriptor","displayName","importName","importPath","description","defaultValue","advanced","nameFunc","item","fields","options","argTypes","defaultStyles","minHeight","width","refActions","loader","registerComponent"],"mappings":"kVAyBMA,EAAaC,EAAMC,YACvB,SAAAC,EAAgEC,OAA7DC,EAAMF,EAANE,OAAQC,EAASH,EAATG,UAAWC,EAAaJ,EAAbI,cAAeC,EAAaL,EAAbK,cAAkBC,6IAAKC,CAAAP,EAAAQ,GACpDC,EAAWC,4BAEXC,EAAab,EAAMc,SAAQ,WAC/B,IAAMC,EAAaX,EACf,IAAIY,SAAO,CACTC,IAAKb,EAAOa,IACZC,UAAWd,EAAOc,UAClBC,KAAMf,EAAOe,KACbC,KAAMhB,EAAOgB,KACbC,KAAMjB,EAAOiB,KACbC,KAAMlB,EAAOkB,YAEfC,EAEJ,MAAO,CACLC,IAAKhB,EAAMgB,IACXC,SAAUjB,EAAMiB,SAChBC,WAAYlB,EAAMkB,WAClBnB,cAAAA,EACAH,OAAQW,EACRY,SAAUhB,EAAWH,EAAMoB,eAAiBpB,EAAMmB,SAClDrB,cAAe,SAACuB,GACVvB,GACFA,EAAcuB,OAInB,CACDrB,EAAMgB,IACNhB,EAAMiB,SACNjB,EAAMkB,WACNlB,EAAMmB,SACNnB,EAAMoB,eACNxB,EACAG,EACAI,EACAL,IAGFwB,EAAgCC,UAAQlB,GAAhCmB,EAAIF,EAAJE,KAAMC,EAAaH,EAAbG,cAEdjC,EAAMkC,oBACJ/B,GACA,WACE,SAASgC,EACPC,EACAC,EACAC,EACAC,YADAD,IAAAA,EAAa,eACbC,IAAAA,EAA8B,cAEfP,SAAAA,EAAMQ,mBACnBD,GAAiBhC,KAER,IAAIkC,SAAQ,SAACC,GAMtB,GALIA,EAAEC,OAASP,GACbQ,QAAQC,mDACwCT,WAAkBM,EAAEC,MAGlED,EAAEI,OAAST,EACb,OAAQD,GACN,KAAKW,wBAAsBC,QACzBN,EAAEO,OACF,MACF,KAAKF,wBAAsBG,OAC3B,KAAKH,wBAAsBI,QACzBT,EAAEJ,MAAQA,MAOpB,MAAO,CACLc,oBAAWN,EAAcR,EAAgBC,GACvCJ,EAASY,wBAAsBI,QAASL,EAAMR,EAAOC,IAEvDc,mBAAUP,EAAcR,EAAeC,GACrCJ,EAASY,wBAAsBG,OAAQJ,EAAMR,EAAOC,IAEtDU,cAAKH,EAAcP,GACjBJ,EAASY,wBAAsBC,QAASF,EAAM,KAAMP,IAEtDe,cAAKC,SACHvB,GAAAA,EAAMsB,KAAKC,IAEbC,eAAMD,SACJvB,GAAAA,EAAMwB,MAAMD,OAIlB,CAACvB,IAIH,IAAMyB,EAAYzD,EAAMc,SACtB,WAAA,OACEH,EACI,CACEH,EAAMgB,IACNhB,EAAMiB,SACNjB,EAAMkB,WACNlB,EAAMmB,SACNnB,EAAMoB,eACN8B,KAAKC,UAAUvD,GACfG,EACAqD,KAAKC,OACLC,KAAK,UACPvC,IACN,CACEZ,EACAH,EAAMgB,IACNhB,EAAMiB,SACNjB,EAAMkB,WACNlB,EAAMmB,SACNnB,EAAMoB,eACNxB,EACAG,IAIJ,OAAOP,gBAACiC,GAAc5B,UAAWA,EAAW0D,IAAKN,OAIxCO,EAA4D,CACvElB,KAAM,OACNmB,YAAa,OACbC,WAAY,aACZC,WAAY,oBACZC,YAAa,2BAEb5D,MAAO,CACLgB,IAAK,CACHmB,KAAM,SACN0B,aAAc,+CACdJ,YAAa,aACbG,YAAa,6CAEf7D,cAAe,CACboC,KAAM,SACNsB,YAAa,iBACbG,YAAa,4CACbE,UAAU,GAEZ3C,SAAU,CACRgB,KAAM,UACNsB,YAAa,WACbG,YAAa,uCACbC,cAAc,EACdC,UAAU,GAEZ1C,eAAgB,CACde,KAAM,UACNsB,YAAa,kBACbG,YAAa,yDACbC,cAAc,EACdC,UAAU,GAEZ7C,SAAU,CACRkB,KAAM,SACNsB,YAAa,WACbG,YAAa,0CACbE,UAAU,GAEZlE,OAAQ,CACNuC,KAAM,SACNsB,YAAa,SACbG,YACE,iFACFG,SAAU,SAACC,GAAS,OAClBA,EAAUA,EAAKvD,UAASuD,EAAKtD,eAAcK,GAC7C+C,UAAU,EACVG,OAAQ,CACNxD,IAAK,CACH0B,KAAM,SACNsB,YAAa,MACbS,QAAS,CACP,QACA,UACA,OACA,WACA,YACA,OACA,aAEFN,YAAa,+CAEflD,UAAW,CACTyB,KAAM,SACNsB,YAAa,YACbS,QAAS,CACP,SACA,UACA,YACA,WACA,aACA,cACA,aACA,eACA,eAEFN,YAAa,sDAEfjD,KAAM,CAAEwB,KAAM,SAAUsB,YAAa,QAASK,UAAU,GACxDlD,KAAM,CAAEuB,KAAM,SAAUsB,YAAa,QAASK,UAAU,GACxDjD,KAAM,CAAEsB,KAAM,SAAUsB,YAAa,QAASK,UAAU,GACxDhD,KAAM,CAAEqB,KAAM,SAAUsB,YAAa,QAASK,UAAU,KAG5D5C,WAAY,CACViB,KAAM,SACNsB,YAAa,aACbG,YAAa,0DACbE,UAAU,GAEZhE,cAAe,CACbqC,KAAM,eACNsB,YAAa,kBACbG,YAAa,8CACbE,UAAU,EACVK,SAAU,CACR,CACE7B,KAAM,QACNH,KAAM,aAKdiC,cAAe,CACbC,UAAW,OACXC,MAAO,WAETC,WAAY,CACV3B,WAAY,CACVgB,YAAa,qBACbO,SAAU,CACR,CACE7B,KAAM,OACNH,KAAM,SACNsB,YAAa,cAEf,CACEnB,KAAM,QACNH,KAAM,UACNsB,YAAa,eAEf,CACEnB,KAAM,eACNH,KAAM,SACNsB,YAAa,wBAInBZ,UAAW,CACTe,YAAa,qBACbO,SAAU,CACR,CACE7B,KAAM,OACNH,KAAM,SACNsB,YAAa,cAEf,CACEnB,KAAM,QACNH,KAAM,SACNsB,YAAa,eAEf,CACEnB,KAAM,eACNH,KAAM,SACNsB,YAAa,wBAInBhB,KAAM,CACJmB,YAAa,sBACbO,SAAU,CACR,CACE7B,KAAM,OACNH,KAAM,SACNsB,YAAa,cAEf,CACEnB,KAAM,eACNH,KAAM,SACNsB,YAAa,wBAInBX,KAAM,CACJc,YAAa,qBACbO,SAAU,CACR,CACE7B,KAAM,gBACNH,KAAM,SACNsB,YAAa,oBAInBT,MAAO,CACLY,YAAa,sBACbO,SAAU,CACR,CACE7B,KAAM,gBACNH,KAAM,SACNsB,YAAa,6EAOae,GAG9BA,EACFA,EAAOC,kBAAkBlF,EAAYiE,GAErCiB,EAAkBlF,EAAYiE"}
|
package/dist/rive.esm.js
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { usePlasmicCanvasContext } from '@plasmicapp/host';
|
|
2
|
+
import registerComponent from '@plasmicapp/host/registerComponent';
|
|
3
|
+
import { Layout, useRive, StateMachineInputType } from '@rive-app/react-canvas';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
|
|
6
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
7
|
+
if (null == r) return {};
|
|
8
|
+
var t = {};
|
|
9
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
10
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
11
|
+
t[n] = r[n];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var _excluded = ["layout", "className", "onStateChange", "stateMachines"];
|
|
17
|
+
var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
18
|
+
var layout = _ref.layout,
|
|
19
|
+
className = _ref.className,
|
|
20
|
+
_onStateChange = _ref.onStateChange,
|
|
21
|
+
stateMachines = _ref.stateMachines,
|
|
22
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
23
|
+
var inEditor = usePlasmicCanvasContext();
|
|
24
|
+
var riveParams = React.useMemo(function () {
|
|
25
|
+
var riveLayout = layout ? new Layout({
|
|
26
|
+
fit: layout.fit,
|
|
27
|
+
alignment: layout.alignment,
|
|
28
|
+
minX: layout.minX,
|
|
29
|
+
minY: layout.minY,
|
|
30
|
+
maxX: layout.maxX,
|
|
31
|
+
maxY: layout.maxY
|
|
32
|
+
}) : undefined;
|
|
33
|
+
return {
|
|
34
|
+
src: props.src,
|
|
35
|
+
artboard: props.artboard,
|
|
36
|
+
animations: props.animations,
|
|
37
|
+
stateMachines: stateMachines,
|
|
38
|
+
layout: riveLayout,
|
|
39
|
+
autoplay: inEditor ? props.studioAutoplay : props.autoplay,
|
|
40
|
+
onStateChange: function onStateChange(event) {
|
|
41
|
+
if (_onStateChange) {
|
|
42
|
+
_onStateChange(event);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}, [props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, layout, stateMachines, inEditor, _onStateChange]);
|
|
47
|
+
var _useRive = useRive(riveParams),
|
|
48
|
+
rive = _useRive.rive,
|
|
49
|
+
RiveComponent = _useRive.RiveComponent;
|
|
50
|
+
React.useImperativeHandle(ref, function () {
|
|
51
|
+
function setInput(inputType, inputName, value, stateMachine) {
|
|
52
|
+
if (value === void 0) {
|
|
53
|
+
value = null;
|
|
54
|
+
}
|
|
55
|
+
if (stateMachine === void 0) {
|
|
56
|
+
stateMachine = null;
|
|
57
|
+
}
|
|
58
|
+
var inputs = rive == null ? void 0 : rive.stateMachineInputs(stateMachine || stateMachines);
|
|
59
|
+
(inputs || []).forEach(function (i) {
|
|
60
|
+
if (i.type !== inputType) {
|
|
61
|
+
console.warn("PlasmicRive: Input type mismatch: expected " + inputType + ", got " + i.type);
|
|
62
|
+
}
|
|
63
|
+
if (i.name === inputName) {
|
|
64
|
+
switch (inputType) {
|
|
65
|
+
case StateMachineInputType.Trigger:
|
|
66
|
+
i.fire();
|
|
67
|
+
break;
|
|
68
|
+
case StateMachineInputType.Number:
|
|
69
|
+
case StateMachineInputType.Boolean:
|
|
70
|
+
i.value = value;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
setBoolean: function setBoolean(name, value, stateMachine) {
|
|
78
|
+
setInput(StateMachineInputType.Boolean, name, value, stateMachine);
|
|
79
|
+
},
|
|
80
|
+
setNumber: function setNumber(name, value, stateMachine) {
|
|
81
|
+
setInput(StateMachineInputType.Number, name, value, stateMachine);
|
|
82
|
+
},
|
|
83
|
+
fire: function fire(name, stateMachine) {
|
|
84
|
+
setInput(StateMachineInputType.Trigger, name, null, stateMachine);
|
|
85
|
+
},
|
|
86
|
+
play: function play(animationName) {
|
|
87
|
+
rive == null || rive.play(animationName);
|
|
88
|
+
},
|
|
89
|
+
pause: function pause(animationName) {
|
|
90
|
+
rive == null || rive.pause(animationName);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}, [rive]);
|
|
94
|
+
// In Plasmic Studio, force a remount by changing the key when any relevant prop changes
|
|
95
|
+
var studioKey = React.useMemo(function () {
|
|
96
|
+
return inEditor ? [props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, JSON.stringify(layout), stateMachines, Date.now()].join("|") : undefined;
|
|
97
|
+
}, [inEditor, props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, layout, stateMachines]);
|
|
98
|
+
return React.createElement(RiveComponent, {
|
|
99
|
+
className: className,
|
|
100
|
+
key: studioKey
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
var riveMetaDescriptor = {
|
|
104
|
+
name: "rive",
|
|
105
|
+
displayName: "Rive",
|
|
106
|
+
importName: "RivePlayer",
|
|
107
|
+
importPath: "@plasmicpkgs/rive",
|
|
108
|
+
description: "Rive animation component",
|
|
109
|
+
props: {
|
|
110
|
+
src: {
|
|
111
|
+
type: "string",
|
|
112
|
+
defaultValue: "https://cdn.rive.app/animations/vehicles.riv",
|
|
113
|
+
displayName: "Source URL",
|
|
114
|
+
description: "URL to the .riv file (exported from Rive)"
|
|
115
|
+
},
|
|
116
|
+
stateMachines: {
|
|
117
|
+
type: "string",
|
|
118
|
+
displayName: "State Machines",
|
|
119
|
+
description: "(optional) Name of state machine to load.",
|
|
120
|
+
advanced: true
|
|
121
|
+
},
|
|
122
|
+
autoplay: {
|
|
123
|
+
type: "boolean",
|
|
124
|
+
displayName: "Autoplay",
|
|
125
|
+
description: "Should animation play automatically.",
|
|
126
|
+
defaultValue: true,
|
|
127
|
+
advanced: true
|
|
128
|
+
},
|
|
129
|
+
studioAutoplay: {
|
|
130
|
+
type: "boolean",
|
|
131
|
+
displayName: "Studio Autoplay",
|
|
132
|
+
description: "Should animation play automatically in Plasmic Studio.",
|
|
133
|
+
defaultValue: false,
|
|
134
|
+
advanced: true
|
|
135
|
+
},
|
|
136
|
+
artboard: {
|
|
137
|
+
type: "string",
|
|
138
|
+
displayName: "Artboard",
|
|
139
|
+
description: "(optional) Name of the artboard to use.",
|
|
140
|
+
advanced: true
|
|
141
|
+
},
|
|
142
|
+
layout: {
|
|
143
|
+
type: "object",
|
|
144
|
+
displayName: "Layout",
|
|
145
|
+
description: "(optional) Layout object to define how animations are displayed on the canvas.",
|
|
146
|
+
nameFunc: function nameFunc(item) {
|
|
147
|
+
return item ? item.fit + " / " + item.alignment : undefined;
|
|
148
|
+
},
|
|
149
|
+
advanced: true,
|
|
150
|
+
fields: {
|
|
151
|
+
fit: {
|
|
152
|
+
type: "choice",
|
|
153
|
+
displayName: "Fit",
|
|
154
|
+
options: ["cover", "contain", "fill", "fitWidth", "fitHeight", "none", "scaleDown"],
|
|
155
|
+
description: "How the animation should fit in the canvas."
|
|
156
|
+
},
|
|
157
|
+
alignment: {
|
|
158
|
+
type: "choice",
|
|
159
|
+
displayName: "Alignment",
|
|
160
|
+
options: ["center", "topLeft", "topCenter", "topRight", "centerLeft", "centerRight", "bottomLeft", "bottomCenter", "bottomRight"],
|
|
161
|
+
description: "How the animation should be aligned in the canvas."
|
|
162
|
+
},
|
|
163
|
+
minX: {
|
|
164
|
+
type: "number",
|
|
165
|
+
displayName: "Min X",
|
|
166
|
+
advanced: true
|
|
167
|
+
},
|
|
168
|
+
minY: {
|
|
169
|
+
type: "number",
|
|
170
|
+
displayName: "Min Y",
|
|
171
|
+
advanced: true
|
|
172
|
+
},
|
|
173
|
+
maxX: {
|
|
174
|
+
type: "number",
|
|
175
|
+
displayName: "Max X",
|
|
176
|
+
advanced: true
|
|
177
|
+
},
|
|
178
|
+
maxY: {
|
|
179
|
+
type: "number",
|
|
180
|
+
displayName: "Max Y",
|
|
181
|
+
advanced: true
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
animations: {
|
|
186
|
+
type: "string",
|
|
187
|
+
displayName: "Animations",
|
|
188
|
+
description: "(optional) Name or list of names of animations to play.",
|
|
189
|
+
advanced: true
|
|
190
|
+
},
|
|
191
|
+
onStateChange: {
|
|
192
|
+
type: "eventHandler",
|
|
193
|
+
displayName: "On State Change",
|
|
194
|
+
description: "(optional) Callback when the state changes.",
|
|
195
|
+
advanced: true,
|
|
196
|
+
argTypes: [{
|
|
197
|
+
name: "event",
|
|
198
|
+
type: "object"
|
|
199
|
+
}]
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
defaultStyles: {
|
|
203
|
+
minHeight: "60vh",
|
|
204
|
+
width: "stretch"
|
|
205
|
+
},
|
|
206
|
+
refActions: {
|
|
207
|
+
setBoolean: {
|
|
208
|
+
description: "Set the Rive Input",
|
|
209
|
+
argTypes: [{
|
|
210
|
+
name: "name",
|
|
211
|
+
type: "string",
|
|
212
|
+
displayName: "Input Name"
|
|
213
|
+
}, {
|
|
214
|
+
name: "value",
|
|
215
|
+
type: "boolean",
|
|
216
|
+
displayName: "Input Value"
|
|
217
|
+
}, {
|
|
218
|
+
name: "stateMachine",
|
|
219
|
+
type: "string",
|
|
220
|
+
displayName: "State Machine Name"
|
|
221
|
+
}]
|
|
222
|
+
},
|
|
223
|
+
setNumber: {
|
|
224
|
+
description: "Set the Rive Input",
|
|
225
|
+
argTypes: [{
|
|
226
|
+
name: "name",
|
|
227
|
+
type: "string",
|
|
228
|
+
displayName: "Input Name"
|
|
229
|
+
}, {
|
|
230
|
+
name: "value",
|
|
231
|
+
type: "number",
|
|
232
|
+
displayName: "Input Value"
|
|
233
|
+
}, {
|
|
234
|
+
name: "stateMachine",
|
|
235
|
+
type: "string",
|
|
236
|
+
displayName: "State Machine Name"
|
|
237
|
+
}]
|
|
238
|
+
},
|
|
239
|
+
fire: {
|
|
240
|
+
description: "Fire the Rive Input",
|
|
241
|
+
argTypes: [{
|
|
242
|
+
name: "name",
|
|
243
|
+
type: "string",
|
|
244
|
+
displayName: "Input Name"
|
|
245
|
+
}, {
|
|
246
|
+
name: "stateMachine",
|
|
247
|
+
type: "string",
|
|
248
|
+
displayName: "State Machine Name"
|
|
249
|
+
}]
|
|
250
|
+
},
|
|
251
|
+
play: {
|
|
252
|
+
description: "Play the animation",
|
|
253
|
+
argTypes: [{
|
|
254
|
+
name: "animationName",
|
|
255
|
+
type: "string",
|
|
256
|
+
displayName: "Animation Name"
|
|
257
|
+
}]
|
|
258
|
+
},
|
|
259
|
+
pause: {
|
|
260
|
+
description: "Pause the animation",
|
|
261
|
+
argTypes: [{
|
|
262
|
+
name: "animationName",
|
|
263
|
+
type: "string",
|
|
264
|
+
displayName: "Animation Name"
|
|
265
|
+
}]
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
function registerPlasmicRive(loader) {
|
|
270
|
+
if (loader) {
|
|
271
|
+
loader.registerComponent(RivePlayer, riveMetaDescriptor);
|
|
272
|
+
} else {
|
|
273
|
+
registerComponent(RivePlayer, riveMetaDescriptor);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export default RivePlayer;
|
|
278
|
+
export { registerPlasmicRive, riveMetaDescriptor };
|
|
279
|
+
//# sourceMappingURL=rive.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rive.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n Layout,\n RiveProps,\n StateMachineInputType,\n useRive,\n} from \"@rive-app/react-canvas\";\nimport React from \"react\";\n\ntype RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n};\n\ninterface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n}\n\nconst RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n ({ layout, className, onStateChange, stateMachines, ...props }, ref) => {\n const inEditor = usePlasmicCanvasContext();\n\n const riveParams = React.useMemo(() => {\n const riveLayout = layout\n ? new Layout({\n fit: layout.fit,\n alignment: layout.alignment,\n minX: layout.minX,\n minY: layout.minY,\n maxX: layout.maxX,\n maxY: layout.maxY,\n })\n : undefined;\n\n return {\n src: props.src,\n artboard: props.artboard,\n animations: props.animations,\n stateMachines,\n layout: riveLayout,\n autoplay: inEditor ? props.studioAutoplay : props.autoplay,\n onStateChange: (event: any) => {\n if (onStateChange) {\n onStateChange(event);\n }\n },\n };\n }, [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n inEditor,\n onStateChange,\n ]);\n\n const { rive, RiveComponent } = useRive(riveParams);\n\n React.useImperativeHandle(\n ref,\n () => {\n function setInput(\n inputType: StateMachineInputType,\n inputName: string,\n value: any = null,\n stateMachine: string | null = null\n ) {\n const inputs = rive?.stateMachineInputs(\n stateMachine || (stateMachines as string)\n );\n (inputs || []).forEach((i: any) => {\n if (i.type !== inputType) {\n console.warn(\n `PlasmicRive: Input type mismatch: expected ${inputType}, got ${i.type}`\n );\n }\n if (i.name === inputName) {\n switch (inputType) {\n case StateMachineInputType.Trigger:\n i.fire();\n break;\n case StateMachineInputType.Number:\n case StateMachineInputType.Boolean:\n i.value = value;\n break;\n }\n }\n });\n }\n\n return {\n setBoolean(name: string, value: boolean, stateMachine?: string) {\n setInput(StateMachineInputType.Boolean, name, value, stateMachine);\n },\n setNumber(name: string, value: number, stateMachine?: string) {\n setInput(StateMachineInputType.Number, name, value, stateMachine);\n },\n fire(name: string, stateMachine?: string) {\n setInput(StateMachineInputType.Trigger, name, null, stateMachine);\n },\n play(animationName: string) {\n rive?.play(animationName);\n },\n pause(animationName: string) {\n rive?.pause(animationName);\n },\n };\n },\n [rive]\n );\n\n // In Plasmic Studio, force a remount by changing the key when any relevant prop changes\n const studioKey = React.useMemo(\n () =>\n inEditor\n ? [\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n JSON.stringify(layout),\n stateMachines,\n Date.now(), // ensures a new key on every render in studio\n ].join(\"|\")\n : undefined,\n [\n inEditor,\n props.src,\n props.artboard,\n props.animations,\n props.autoplay,\n props.studioAutoplay,\n layout,\n stateMachines,\n ]\n );\n\n return <RiveComponent className={className} key={studioKey} />;\n }\n);\n\nexport const riveMetaDescriptor: CodeComponentMeta<RiveComponentProps> = {\n name: \"rive\",\n displayName: \"Rive\",\n importName: \"RivePlayer\",\n importPath: \"@plasmicpkgs/rive\",\n description: \"Rive animation component\",\n\n props: {\n src: {\n type: \"string\",\n defaultValue: \"https://cdn.rive.app/animations/vehicles.riv\",\n displayName: \"Source URL\",\n description: \"URL to the .riv file (exported from Rive)\",\n },\n stateMachines: {\n type: \"string\",\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n },\n autoplay: {\n type: \"boolean\",\n displayName: \"Autoplay\",\n description: \"Should animation play automatically.\",\n defaultValue: true,\n advanced: true,\n },\n studioAutoplay: {\n type: \"boolean\",\n displayName: \"Studio Autoplay\",\n description: \"Should animation play automatically in Plasmic Studio.\",\n defaultValue: false,\n advanced: true,\n },\n artboard: {\n type: \"string\",\n displayName: \"Artboard\",\n description: \"(optional) Name of the artboard to use.\",\n advanced: true,\n },\n layout: {\n type: \"object\",\n displayName: \"Layout\",\n description:\n \"(optional) Layout object to define how animations are displayed on the canvas.\",\n nameFunc: (item: any) =>\n item ? `${item.fit} / ${item.alignment}` : undefined,\n advanced: true,\n fields: {\n fit: {\n type: \"choice\",\n displayName: \"Fit\",\n options: [\n \"cover\",\n \"contain\",\n \"fill\",\n \"fitWidth\",\n \"fitHeight\",\n \"none\",\n \"scaleDown\",\n ],\n description: \"How the animation should fit in the canvas.\",\n },\n alignment: {\n type: \"choice\",\n displayName: \"Alignment\",\n options: [\n \"center\",\n \"topLeft\",\n \"topCenter\",\n \"topRight\",\n \"centerLeft\",\n \"centerRight\",\n \"bottomLeft\",\n \"bottomCenter\",\n \"bottomRight\",\n ],\n description: \"How the animation should be aligned in the canvas.\",\n },\n minX: { type: \"number\", displayName: \"Min X\", advanced: true },\n minY: { type: \"number\", displayName: \"Min Y\", advanced: true },\n maxX: { type: \"number\", displayName: \"Max X\", advanced: true },\n maxY: { type: \"number\", displayName: \"Max Y\", advanced: true },\n },\n },\n animations: {\n type: \"string\",\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n },\n onStateChange: {\n type: \"eventHandler\",\n displayName: \"On State Change\",\n description: \"(optional) Callback when the state changes.\",\n advanced: true,\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n defaultStyles: {\n minHeight: \"60vh\",\n width: \"stretch\",\n },\n refActions: {\n setBoolean: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"boolean\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n setNumber: {\n description: \"Set the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"value\",\n type: \"number\",\n displayName: \"Input Value\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n fire: {\n description: \"Fire the Rive Input\",\n argTypes: [\n {\n name: \"name\",\n type: \"string\",\n displayName: \"Input Name\",\n },\n {\n name: \"stateMachine\",\n type: \"string\",\n displayName: \"State Machine Name\",\n },\n ],\n },\n play: {\n description: \"Play the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n pause: {\n description: \"Pause the animation\",\n argTypes: [\n {\n name: \"animationName\",\n type: \"string\",\n displayName: \"Animation Name\",\n },\n ],\n },\n },\n};\n\nexport function registerPlasmicRive(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n if (loader) {\n loader.registerComponent(RivePlayer, riveMetaDescriptor);\n } else {\n registerComponent(RivePlayer, riveMetaDescriptor);\n }\n}\n\nexport default RivePlayer;\n"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","props","_objectWithoutPropertiesLoose","_excluded","inEditor","usePlasmicCanvasContext","riveParams","useMemo","riveLayout","Layout","fit","alignment","minX","minY","maxX","maxY","undefined","src","artboard","animations","autoplay","studioAutoplay","event","_useRive","useRive","rive","RiveComponent","useImperativeHandle","setInput","inputType","inputName","value","stateMachine","inputs","stateMachineInputs","forEach","i","type","console","warn","name","StateMachineInputType","Trigger","fire","Number","Boolean","setBoolean","setNumber","play","animationName","pause","studioKey","JSON","stringify","Date","now","join","key","riveMetaDescriptor","displayName","importName","importPath","description","defaultValue","advanced","nameFunc","item","fields","options","argTypes","defaultStyles","minHeight","width","refActions","registerPlasmicRive","loader","registerComponent"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@plasmicpkgs/rive",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "Plasmic registration call for rive animation",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"module": "dist/plasmic-rive.esm.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"size-limit": [
|
|
12
|
+
{
|
|
13
|
+
"path": "dist/plasmic-rive.cjs.production.min.js",
|
|
14
|
+
"limit": "10 KB"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"path": "dist/plasmic-rive.esm.js",
|
|
18
|
+
"limit": "10 KB"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsdx build",
|
|
23
|
+
"start": "tsdx watch",
|
|
24
|
+
"test": "TEST_CWD=`pwd` yarn --cwd=../.. test --passWithNoTests",
|
|
25
|
+
"lint": "tsdx lint",
|
|
26
|
+
"prepublishOnly": "npm run build",
|
|
27
|
+
"size": "size-limit",
|
|
28
|
+
"analyze": "size-limit --why"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@plasmicapp/host": "1.0.216",
|
|
32
|
+
"@size-limit/preset-small-lib": "^4.11.0",
|
|
33
|
+
"@types/node": "^14.0.26",
|
|
34
|
+
"@types/react": "^18.2.33",
|
|
35
|
+
"size-limit": "^4.11.0",
|
|
36
|
+
"tsdx": "^0.14.1",
|
|
37
|
+
"tslib": "^2.2.0"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@rive-app/react-canvas": "^4.18.8"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"@plasmicapp/host": ">=1.0.0",
|
|
44
|
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"gitHead": "1cfe88423f5a28a0e7755ea81dea25a587c189bd"
|
|
50
|
+
}
|