@plasmicpkgs/rive 0.0.2 → 0.0.4

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 CHANGED
@@ -1,25 +1,32 @@
1
1
  import registerComponent, { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
2
2
  import { RiveProps } from "@rive-app/react-canvas";
3
3
  import React from "react";
4
- declare type RiveComponentProps = RiveProps & {
4
+ export declare type RiveControlContextData = {
5
+ animationNames?: string[];
6
+ stateMachineNames?: string[];
7
+ };
8
+ export declare type RiveComponentProps = RiveProps & {
5
9
  className: string;
6
10
  autoplay: boolean;
7
11
  studioAutoplay: boolean;
8
12
  onStateChange?: (event: any) => void;
13
+ setControlContextData?: (ctxData: RiveControlContextData) => void;
9
14
  };
10
- interface RiveInputs {
15
+ export interface RiveInputs {
11
16
  setBoolean(name: string, value: boolean): void;
12
17
  setNumber(name: string, value: number): void;
13
18
  fire(name: string): void;
19
+ play(animationName: string): void;
20
+ pause(animationName: string): void;
14
21
  }
15
- declare const RivePlayer: React.ForwardRefExoticComponent<RiveProps & {
22
+ export declare const RivePlayer: React.ForwardRefExoticComponent<RiveProps & {
16
23
  className: string;
17
24
  autoplay: boolean;
18
25
  studioAutoplay: boolean;
19
26
  onStateChange?: ((event: any) => void) | undefined;
27
+ setControlContextData?: ((ctxData: RiveControlContextData) => void) | undefined;
20
28
  } & React.RefAttributes<RiveInputs>>;
21
29
  export declare const riveMetaDescriptor: CodeComponentMeta<RiveComponentProps>;
22
30
  export declare function registerPlasmicRive(loader?: {
23
31
  registerComponent: typeof registerComponent;
24
32
  }): void;
25
- export default RivePlayer;
@@ -7,7 +7,8 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var host = require('@plasmicapp/host');
8
8
  var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
9
9
  var reactCanvas = require('@rive-app/react-canvas');
10
- var React = _interopDefault(require('react'));
10
+ var React = require('react');
11
+ var React__default = _interopDefault(React);
11
12
 
12
13
  function _objectWithoutPropertiesLoose(r, e) {
13
14
  if (null == r) return {};
@@ -19,15 +20,16 @@ function _objectWithoutPropertiesLoose(r, e) {
19
20
  return t;
20
21
  }
21
22
 
22
- var _excluded = ["layout", "className", "onStateChange", "stateMachines"];
23
- var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
23
+ var _excluded = ["layout", "className", "onStateChange", "stateMachines", "setControlContextData"];
24
+ var RivePlayer = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
24
25
  var layout = _ref.layout,
25
26
  className = _ref.className,
26
27
  _onStateChange = _ref.onStateChange,
27
28
  stateMachines = _ref.stateMachines,
29
+ setControlContextData = _ref.setControlContextData,
28
30
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
29
31
  var inEditor = host.usePlasmicCanvasContext();
30
- var riveParams = React.useMemo(function () {
32
+ var riveParams = React__default.useMemo(function () {
31
33
  var riveLayout = layout ? new reactCanvas.Layout({
32
34
  fit: layout.fit,
33
35
  alignment: layout.alignment,
@@ -53,7 +55,13 @@ var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
53
55
  var _useRive = reactCanvas.useRive(riveParams),
54
56
  rive = _useRive.rive,
55
57
  RiveComponent = _useRive.RiveComponent;
56
- React.useImperativeHandle(ref, function () {
58
+ React.useEffect(function () {
59
+ setControlContextData == null || setControlContextData({
60
+ animationNames: rive == null ? void 0 : rive.animationNames,
61
+ stateMachineNames: rive == null ? void 0 : rive.stateMachineNames
62
+ });
63
+ }, [rive, setControlContextData]);
64
+ React__default.useImperativeHandle(ref, function () {
57
65
  function setInput(inputType, inputName, value, stateMachine) {
58
66
  if (value === void 0) {
59
67
  value = null;
@@ -98,10 +106,10 @@ var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
98
106
  };
99
107
  }, [rive]);
100
108
  // In Plasmic Studio, force a remount by changing the key when any relevant prop changes
101
- var studioKey = React.useMemo(function () {
109
+ var studioKey = React__default.useMemo(function () {
102
110
  return inEditor ? [props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, JSON.stringify(layout), stateMachines, Date.now()].join("|") : undefined;
103
111
  }, [inEditor, props.src, props.artboard, props.animations, props.autoplay, props.studioAutoplay, layout, stateMachines]);
104
- return React.createElement(RiveComponent, {
112
+ return React__default.createElement(RiveComponent, {
105
113
  className: className,
106
114
  key: studioKey
107
115
  });
@@ -120,10 +128,14 @@ var riveMetaDescriptor = {
120
128
  description: "URL to the .riv file (exported from Rive)"
121
129
  },
122
130
  stateMachines: {
123
- type: "string",
131
+ type: "choice",
132
+ multiSelect: true,
124
133
  displayName: "State Machines",
125
134
  description: "(optional) Name of state machine to load.",
126
- advanced: true
135
+ advanced: true,
136
+ options: function options(_props, ctx) {
137
+ return (ctx == null ? void 0 : ctx.stateMachineNames) || [];
138
+ }
127
139
  },
128
140
  autoplay: {
129
141
  type: "boolean",
@@ -189,10 +201,14 @@ var riveMetaDescriptor = {
189
201
  }
190
202
  },
191
203
  animations: {
192
- type: "string",
204
+ type: "choice",
205
+ multiSelect: true,
193
206
  displayName: "Animations",
194
207
  description: "(optional) Name or list of names of animations to play.",
195
- advanced: true
208
+ advanced: true,
209
+ options: function options(_props, ctx) {
210
+ return (ctx == null ? void 0 : ctx.animationNames) || [];
211
+ }
196
212
  },
197
213
  onStateChange: {
198
214
  type: "eventHandler",
@@ -280,7 +296,7 @@ function registerPlasmicRive(loader) {
280
296
  }
281
297
  }
282
298
 
283
- exports.default = RivePlayer;
299
+ exports.RivePlayer = RivePlayer;
284
300
  exports.registerPlasmicRive = registerPlasmicRive;
285
301
  exports.riveMetaDescriptor = riveMetaDescriptor;
286
302
  //# sourceMappingURL=rive.cjs.development.js.map
@@ -1 +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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"}
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, { useEffect } from \"react\";\n\nexport type RiveControlContextData = {\n animationNames?: string[];\n stateMachineNames?: string[];\n};\n\nexport type RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n setControlContextData?: (ctxData: RiveControlContextData) => void;\n};\n\nexport interface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n play(animationName: string): void;\n pause(animationName: string): void;\n}\n\nexport const RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n (\n {\n layout,\n className,\n onStateChange,\n stateMachines,\n setControlContextData,\n ...props\n },\n ref\n ) => {\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 useEffect(() => {\n setControlContextData?.({\n animationNames: rive?.animationNames,\n stateMachineNames: rive?.stateMachineNames,\n });\n }, [rive, setControlContextData]);\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: \"choice\",\n multiSelect: true,\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.stateMachineNames || [];\n },\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: \"choice\",\n multiSelect: true,\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.animationNames || [];\n },\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"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","setControlContextData","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","useEffect","animationNames","stateMachineNames","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","multiSelect","advanced","options","_props","ctx","nameFunc","item","fields","argTypes","defaultStyles","minHeight","width","refActions","registerPlasmicRive","loader","registerComponent"],"mappings":"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"}
@@ -1,2 +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;
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=require("react"),o=e(i),s=["layout","className","onStateChange","stateMachines","setControlContextData"],p=o.forwardRef((function(e,t){var p=e.layout,r=e.className,l=e.onStateChange,m=e.stateMachines,c=e.setControlContextData,u=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,s),d=a.usePlasmicCanvasContext(),y=o.useMemo((function(){var e=p?new n.Layout({fit:p.fit,alignment:p.alignment,minX:p.minX,minY:p.minY,maxX:p.maxX,maxY:p.maxY}):void 0;return{src:u.src,artboard:u.artboard,animations:u.animations,stateMachines:m,layout:e,autoplay:d?u.studioAutoplay:u.autoplay,onStateChange:function(e){l&&l(e)}}}),[u.src,u.artboard,u.animations,u.autoplay,u.studioAutoplay,p,m,d,l]),h=n.useRive(y),f=h.rive,v=h.RiveComponent;i.useEffect((function(){null==c||c({animationNames:null==f?void 0:f.animationNames,stateMachineNames:null==f?void 0:f.stateMachineNames})}),[f,c]),o.useImperativeHandle(t,(function(){function e(e,a,t,i){void 0===t&&(t=null),void 0===i&&(i=null),((null==f?void 0:f.stateMachineInputs(i||m))||[]).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==f||f.play(e)},pause:function(e){null==f||f.pause(e)}}}),[f]);var N=o.useMemo((function(){return d?[u.src,u.artboard,u.animations,u.autoplay,u.studioAutoplay,JSON.stringify(p),m,Date.now()].join("|"):void 0}),[d,u.src,u.artboard,u.animations,u.autoplay,u.studioAutoplay,p,m]);return o.createElement(v,{className:r,key:N})})),r={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:"choice",multiSelect:!0,displayName:"State Machines",description:"(optional) Name of state machine to load.",advanced:!0,options:function(e,a){return(null==a?void 0:a.stateMachineNames)||[]}},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:"choice",multiSelect:!0,displayName:"Animations",description:"(optional) Name or list of names of animations to play.",advanced:!0,options:function(e,a){return(null==a?void 0:a.animationNames)||[]}},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.RivePlayer=p,exports.registerPlasmicRive=function(e){e?e.registerComponent(p,r):t(p,r)},exports.riveMetaDescriptor=r;
2
2
  //# sourceMappingURL=rive.cjs.production.min.js.map
@@ -1 +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"}
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, { useEffect } from \"react\";\n\nexport type RiveControlContextData = {\n animationNames?: string[];\n stateMachineNames?: string[];\n};\n\nexport type RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n setControlContextData?: (ctxData: RiveControlContextData) => void;\n};\n\nexport interface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n play(animationName: string): void;\n pause(animationName: string): void;\n}\n\nexport const RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n (\n {\n layout,\n className,\n onStateChange,\n stateMachines,\n setControlContextData,\n ...props\n },\n ref\n ) => {\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 useEffect(() => {\n setControlContextData?.({\n animationNames: rive?.animationNames,\n stateMachineNames: rive?.stateMachineNames,\n });\n }, [rive, setControlContextData]);\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: \"choice\",\n multiSelect: true,\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.stateMachineNames || [];\n },\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: \"choice\",\n multiSelect: true,\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.animationNames || [];\n },\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"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","setControlContextData","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","useEffect","animationNames","stateMachineNames","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","multiSelect","advanced","options","_props","ctx","nameFunc","item","fields","argTypes","defaultStyles","minHeight","width","refActions","loader","registerComponent"],"mappings":"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"}
package/dist/rive.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { usePlasmicCanvasContext } from '@plasmicapp/host';
2
2
  import registerComponent from '@plasmicapp/host/registerComponent';
3
3
  import { Layout, useRive, StateMachineInputType } from '@rive-app/react-canvas';
4
- import React from 'react';
4
+ import React, { useEffect } from 'react';
5
5
 
6
6
  function _objectWithoutPropertiesLoose(r, e) {
7
7
  if (null == r) return {};
@@ -13,12 +13,13 @@ function _objectWithoutPropertiesLoose(r, e) {
13
13
  return t;
14
14
  }
15
15
 
16
- var _excluded = ["layout", "className", "onStateChange", "stateMachines"];
16
+ var _excluded = ["layout", "className", "onStateChange", "stateMachines", "setControlContextData"];
17
17
  var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
18
18
  var layout = _ref.layout,
19
19
  className = _ref.className,
20
20
  _onStateChange = _ref.onStateChange,
21
21
  stateMachines = _ref.stateMachines,
22
+ setControlContextData = _ref.setControlContextData,
22
23
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
23
24
  var inEditor = usePlasmicCanvasContext();
24
25
  var riveParams = React.useMemo(function () {
@@ -47,6 +48,12 @@ var RivePlayer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
47
48
  var _useRive = useRive(riveParams),
48
49
  rive = _useRive.rive,
49
50
  RiveComponent = _useRive.RiveComponent;
51
+ useEffect(function () {
52
+ setControlContextData == null || setControlContextData({
53
+ animationNames: rive == null ? void 0 : rive.animationNames,
54
+ stateMachineNames: rive == null ? void 0 : rive.stateMachineNames
55
+ });
56
+ }, [rive, setControlContextData]);
50
57
  React.useImperativeHandle(ref, function () {
51
58
  function setInput(inputType, inputName, value, stateMachine) {
52
59
  if (value === void 0) {
@@ -114,10 +121,14 @@ var riveMetaDescriptor = {
114
121
  description: "URL to the .riv file (exported from Rive)"
115
122
  },
116
123
  stateMachines: {
117
- type: "string",
124
+ type: "choice",
125
+ multiSelect: true,
118
126
  displayName: "State Machines",
119
127
  description: "(optional) Name of state machine to load.",
120
- advanced: true
128
+ advanced: true,
129
+ options: function options(_props, ctx) {
130
+ return (ctx == null ? void 0 : ctx.stateMachineNames) || [];
131
+ }
121
132
  },
122
133
  autoplay: {
123
134
  type: "boolean",
@@ -183,10 +194,14 @@ var riveMetaDescriptor = {
183
194
  }
184
195
  },
185
196
  animations: {
186
- type: "string",
197
+ type: "choice",
198
+ multiSelect: true,
187
199
  displayName: "Animations",
188
200
  description: "(optional) Name or list of names of animations to play.",
189
- advanced: true
201
+ advanced: true,
202
+ options: function options(_props, ctx) {
203
+ return (ctx == null ? void 0 : ctx.animationNames) || [];
204
+ }
190
205
  },
191
206
  onStateChange: {
192
207
  type: "eventHandler",
@@ -274,6 +289,5 @@ function registerPlasmicRive(loader) {
274
289
  }
275
290
  }
276
291
 
277
- export default RivePlayer;
278
- export { registerPlasmicRive, riveMetaDescriptor };
292
+ export { RivePlayer, registerPlasmicRive, riveMetaDescriptor };
279
293
  //# sourceMappingURL=rive.esm.js.map
@@ -1 +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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"}
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, { useEffect } from \"react\";\n\nexport type RiveControlContextData = {\n animationNames?: string[];\n stateMachineNames?: string[];\n};\n\nexport type RiveComponentProps = RiveProps & {\n className: string;\n autoplay: boolean;\n studioAutoplay: boolean;\n onStateChange?: (event: any) => void;\n setControlContextData?: (ctxData: RiveControlContextData) => void;\n};\n\nexport interface RiveInputs {\n setBoolean(name: string, value: boolean): void;\n setNumber(name: string, value: number): void;\n fire(name: string): void;\n play(animationName: string): void;\n pause(animationName: string): void;\n}\n\nexport const RivePlayer = React.forwardRef<RiveInputs, RiveComponentProps>(\n (\n {\n layout,\n className,\n onStateChange,\n stateMachines,\n setControlContextData,\n ...props\n },\n ref\n ) => {\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 useEffect(() => {\n setControlContextData?.({\n animationNames: rive?.animationNames,\n stateMachineNames: rive?.stateMachineNames,\n });\n }, [rive, setControlContextData]);\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: \"choice\",\n multiSelect: true,\n displayName: \"State Machines\",\n description: \"(optional) Name of state machine to load.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.stateMachineNames || [];\n },\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: \"choice\",\n multiSelect: true,\n displayName: \"Animations\",\n description: \"(optional) Name or list of names of animations to play.\",\n advanced: true,\n options: (_props, ctx) => {\n return ctx?.animationNames || [];\n },\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"],"names":["RivePlayer","React","forwardRef","_ref","ref","layout","className","onStateChange","stateMachines","setControlContextData","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","useEffect","animationNames","stateMachineNames","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","multiSelect","advanced","options","_props","ctx","nameFunc","item","fields","argTypes","defaultStyles","minHeight","width","refActions","registerPlasmicRive","loader","registerComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/rive",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Plasmic registration call for rive animation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "module": "dist/plasmic-rive.esm.js",
7
+ "module": "dist/rive.esm.js",
8
8
  "files": [
9
9
  "dist"
10
10
  ],
11
11
  "size-limit": [
12
12
  {
13
- "path": "dist/plasmic-rive.cjs.production.min.js",
13
+ "path": "dist/rive.cjs.production.min.js",
14
14
  "limit": "10 KB"
15
15
  },
16
16
  {
17
- "path": "dist/plasmic-rive.esm.js",
17
+ "path": "dist/rive.esm.js",
18
18
  "limit": "10 KB"
19
19
  }
20
20
  ],
@@ -28,7 +28,7 @@
28
28
  "analyze": "size-limit --why"
29
29
  },
30
30
  "devDependencies": {
31
- "@plasmicapp/host": "1.0.216",
31
+ "@plasmicapp/host": "1.0.217",
32
32
  "@size-limit/preset-small-lib": "^4.11.0",
33
33
  "@types/node": "^14.0.26",
34
34
  "@types/react": "^18.2.33",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "1cfe88423f5a28a0e7755ea81dea25a587c189bd"
49
+ "gitHead": "f9e1b14eafd98fbf686e03fabc6e99b5c32aae77"
50
50
  }