@codefluss/rive 0.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rive-component.js","sourceRoot":"","sources":["../src/rive-component.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ export interface RiveData {
2
+ pluginType: 'rive';
3
+ animationType: 'rive';
4
+ src?: string;
5
+ artboard?: string;
6
+ animations?: string[];
7
+ stateMachines?: string[];
8
+ width?: number;
9
+ height?: number;
10
+ fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
11
+ alignment?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
12
+ autoplay?: boolean;
13
+ loop?: boolean;
14
+ playStyle?: 'normal' | 'bounce' | 'reverse';
15
+ mouseInteraction?: {
16
+ enabled: boolean;
17
+ followMouse?: boolean;
18
+ sensitivity?: number;
19
+ hoverEffects?: boolean;
20
+ clickActions?: boolean;
21
+ };
22
+ stateMachineInputs?: {
23
+ hover?: string;
24
+ click?: string;
25
+ mousePosition?: {
26
+ x: string;
27
+ y: string;
28
+ };
29
+ };
30
+ accessibility?: {
31
+ label?: string;
32
+ description?: string;
33
+ role?: string;
34
+ };
35
+ advanced?: {
36
+ className?: string;
37
+ id?: string;
38
+ 'data-testid'?: string;
39
+ ariaLabel?: string;
40
+ tabIndex?: number;
41
+ onLoad?: string;
42
+ onError?: string;
43
+ onPlay?: string;
44
+ onPause?: string;
45
+ onStop?: string;
46
+ };
47
+ }
48
+ export interface RiveComponentProps {
49
+ data: RiveData;
50
+ onChange?: (data: RiveData) => void;
51
+ isEditing?: boolean;
52
+ className?: string;
53
+ }
54
+ export interface PluginConfig<T = any> {
55
+ type: string;
56
+ name: string;
57
+ description: string;
58
+ category: string;
59
+ icon: string;
60
+ version: string;
61
+ defaultData: T;
62
+ properties: any[];
63
+ meta: any;
64
+ }
65
+ export declare const defaultRiveData: RiveData;
66
+ export declare const riveConfig: PluginConfig<RiveData>;
67
+ //# sourceMappingURL=rive-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rive-config.d.ts","sourceRoot":"","sources":["../src/rive-config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IAC3D,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAG5C,gBAAgB,CAAC,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IAGF,kBAAkB,CAAC,EAAE;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE;YACd,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;SACX,CAAC;KACH,CAAC;IAEF,aAAa,CAAC,EAAE;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,CAAC,CAAC;IACf,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,eAAO,MAAM,eAAe,EAAE,QAiC7B,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,QAAQ,CAiO7C,CAAC"}
@@ -0,0 +1,264 @@
1
+ // Simplified types for Rive plugin
2
+ import { defaultLocale, locales } from './locales';
3
+ export const defaultRiveData = {
4
+ pluginType: 'rive',
5
+ animationType: 'rive',
6
+ src: '',
7
+ artboard: '',
8
+ animations: [],
9
+ stateMachines: [],
10
+ width: 400,
11
+ height: 400,
12
+ fit: 'contain',
13
+ alignment: 'center',
14
+ autoplay: true,
15
+ loop: true,
16
+ playStyle: 'normal',
17
+ mouseInteraction: {
18
+ enabled: false,
19
+ followMouse: false,
20
+ sensitivity: 1,
21
+ hoverEffects: false,
22
+ clickActions: false,
23
+ },
24
+ stateMachineInputs: {
25
+ hover: '',
26
+ click: '',
27
+ mousePosition: {
28
+ x: '',
29
+ y: '',
30
+ },
31
+ },
32
+ accessibility: {
33
+ label: 'Rive Animation',
34
+ description: 'Interactive Rive animation with mouse interactions',
35
+ },
36
+ };
37
+ const r = locales[defaultLocale];
38
+ export const riveConfig = {
39
+ type: 'rive',
40
+ name: r.plugin.name,
41
+ description: r.plugin.description,
42
+ category: 'media',
43
+ icon: '🎯',
44
+ version: '1.0.0',
45
+ defaultData: defaultRiveData,
46
+ properties: [
47
+ {
48
+ key: 'src',
49
+ type: 'file',
50
+ label: r.properties.src.label,
51
+ placeholder: r.properties.src.placeholder,
52
+ description: r.properties.src.description,
53
+ accept: '.riv',
54
+ required: true,
55
+ },
56
+ {
57
+ key: 'artboard',
58
+ type: 'text',
59
+ label: r.properties.artboard.label,
60
+ placeholder: r.properties.artboard.placeholder,
61
+ description: r.properties.artboard.description,
62
+ },
63
+ {
64
+ key: 'stateMachines',
65
+ type: 'text',
66
+ label: r.properties.stateMachines.label,
67
+ placeholder: r.properties.stateMachines.placeholder,
68
+ description: r.properties.stateMachines.description,
69
+ },
70
+ {
71
+ key: 'width',
72
+ type: 'number',
73
+ label: r.properties.width.label,
74
+ placeholder: r.properties.width.placeholder,
75
+ description: r.properties.width.description,
76
+ min: 50,
77
+ max: 2000,
78
+ step: 10,
79
+ required: true,
80
+ },
81
+ {
82
+ key: 'height',
83
+ type: 'number',
84
+ label: r.properties.height.label,
85
+ placeholder: r.properties.height.placeholder,
86
+ description: r.properties.height.description,
87
+ min: 50,
88
+ max: 2000,
89
+ step: 10,
90
+ required: true,
91
+ },
92
+ {
93
+ key: 'fit',
94
+ type: 'select',
95
+ label: r.properties.fit.label,
96
+ description: r.properties.fit.description,
97
+ options: [
98
+ { value: 'contain', label: r.fitModes.contain },
99
+ { value: 'cover', label: r.fitModes.cover },
100
+ { value: 'fill', label: r.fitModes.fill },
101
+ { value: 'none', label: r.fitModes.none },
102
+ { value: 'fitWidth', label: r.fitModes.fitWidth },
103
+ { value: 'fitHeight', label: r.fitModes.fitHeight },
104
+ ],
105
+ },
106
+ {
107
+ key: 'alignment',
108
+ type: 'select',
109
+ label: r.properties.alignment.label,
110
+ description: r.properties.alignment.description,
111
+ options: [
112
+ { value: 'center', label: r.alignments.center },
113
+ { value: 'topLeft', label: r.alignments.topLeft },
114
+ { value: 'topCenter', label: r.alignments.topCenter },
115
+ { value: 'topRight', label: r.alignments.topRight },
116
+ { value: 'centerLeft', label: r.alignments.centerLeft },
117
+ { value: 'centerRight', label: r.alignments.centerRight },
118
+ { value: 'bottomLeft', label: r.alignments.bottomLeft },
119
+ { value: 'bottomCenter', label: r.alignments.bottomCenter },
120
+ { value: 'bottomRight', label: r.alignments.bottomRight },
121
+ ],
122
+ },
123
+ {
124
+ key: 'autoplay',
125
+ type: 'boolean',
126
+ label: r.properties.autoplay.label,
127
+ description: r.properties.autoplay.description,
128
+ },
129
+ {
130
+ key: 'loop',
131
+ type: 'boolean',
132
+ label: r.properties.loop.label,
133
+ description: r.properties.loop.description,
134
+ },
135
+ {
136
+ key: 'mouseInteraction.enabled',
137
+ type: 'boolean',
138
+ label: r.properties['mouseInteraction.enabled'].label,
139
+ description: r.properties['mouseInteraction.enabled'].description,
140
+ },
141
+ {
142
+ key: 'mouseInteraction.followMouse',
143
+ type: 'boolean',
144
+ label: r.properties['mouseInteraction.followMouse'].label,
145
+ description: r.properties['mouseInteraction.followMouse'].description,
146
+ condition: { 'mouseInteraction.enabled': true },
147
+ },
148
+ {
149
+ key: 'mouseInteraction.sensitivity',
150
+ type: 'range',
151
+ label: r.properties['mouseInteraction.sensitivity'].label,
152
+ placeholder: r.properties['mouseInteraction.sensitivity'].placeholder,
153
+ description: r.properties['mouseInteraction.sensitivity'].description,
154
+ min: 0.1,
155
+ max: 2,
156
+ step: 0.1,
157
+ condition: { 'mouseInteraction.enabled': true },
158
+ },
159
+ {
160
+ key: 'mouseInteraction.hoverEffects',
161
+ type: 'boolean',
162
+ label: r.properties['mouseInteraction.hoverEffects'].label,
163
+ description: r.properties['mouseInteraction.hoverEffects'].description,
164
+ condition: { 'mouseInteraction.enabled': true },
165
+ },
166
+ {
167
+ key: 'mouseInteraction.clickActions',
168
+ type: 'boolean',
169
+ label: r.properties['mouseInteraction.clickActions'].label,
170
+ description: r.properties['mouseInteraction.clickActions'].description,
171
+ condition: { 'mouseInteraction.enabled': true },
172
+ },
173
+ {
174
+ key: 'stateMachineInputs.hover',
175
+ type: 'text',
176
+ label: r.properties['stateMachineInputs.hover'].label,
177
+ placeholder: r.properties['stateMachineInputs.hover'].placeholder,
178
+ description: r.properties['stateMachineInputs.hover'].description,
179
+ },
180
+ {
181
+ key: 'stateMachineInputs.click',
182
+ type: 'text',
183
+ label: r.properties['stateMachineInputs.click'].label,
184
+ placeholder: r.properties['stateMachineInputs.click'].placeholder,
185
+ description: r.properties['stateMachineInputs.click'].description,
186
+ },
187
+ {
188
+ key: 'stateMachineInputs.mousePosition.x',
189
+ type: 'text',
190
+ label: r.properties['stateMachineInputs.mousePosition.x'].label,
191
+ placeholder: r.properties['stateMachineInputs.mousePosition.x'].placeholder,
192
+ description: r.properties['stateMachineInputs.mousePosition.x'].description,
193
+ },
194
+ {
195
+ key: 'stateMachineInputs.mousePosition.y',
196
+ type: 'text',
197
+ label: r.properties['stateMachineInputs.mousePosition.y'].label,
198
+ placeholder: r.properties['stateMachineInputs.mousePosition.y'].placeholder,
199
+ description: r.properties['stateMachineInputs.mousePosition.y'].description,
200
+ },
201
+ {
202
+ key: 'accessibility.label',
203
+ type: 'text',
204
+ label: r.properties['accessibility.label'].label,
205
+ placeholder: r.properties['accessibility.label'].placeholder,
206
+ description: r.properties['accessibility.label'].description,
207
+ },
208
+ {
209
+ key: 'accessibility.description',
210
+ type: 'textarea',
211
+ label: r.properties['accessibility.description'].label,
212
+ placeholder: r.properties['accessibility.description'].placeholder,
213
+ description: r.properties['accessibility.description'].description,
214
+ },
215
+ ],
216
+ meta: {
217
+ tags: ['animation', 'rive', 'interactive', 'mouse', 'state-machine', 'media'],
218
+ author: 'Codefluss',
219
+ documentation: 'https://rive.app/docs',
220
+ examples: [
221
+ {
222
+ name: 'Basic Animation',
223
+ data: {
224
+ ...defaultRiveData,
225
+ src: '/animations/example.riv',
226
+ },
227
+ },
228
+ {
229
+ name: 'Mouse Follow',
230
+ data: {
231
+ ...defaultRiveData,
232
+ src: '/animations/mouse-follow.riv',
233
+ mouseInteraction: {
234
+ enabled: true,
235
+ followMouse: true,
236
+ sensitivity: 1,
237
+ hoverEffects: true,
238
+ clickActions: false,
239
+ },
240
+ },
241
+ },
242
+ {
243
+ name: 'Interactive Character',
244
+ data: {
245
+ ...defaultRiveData,
246
+ src: '/animations/character.riv',
247
+ stateMachines: 'CharacterStates',
248
+ mouseInteraction: {
249
+ enabled: true,
250
+ followMouse: false,
251
+ sensitivity: 1,
252
+ hoverEffects: true,
253
+ clickActions: true,
254
+ },
255
+ stateMachineInputs: {
256
+ hover: 'isHovering',
257
+ click: 'onClick',
258
+ },
259
+ },
260
+ },
261
+ ],
262
+ },
263
+ };
264
+ //# sourceMappingURL=rive-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rive-config.js","sourceRoot":"","sources":["../src/rive-config.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@codefluss/rive",
3
+ "version": "0.0.1-alpha.1",
4
+ "description": "Rive animation plugin with advanced interactive features",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./renderer": {
13
+ "types": "./dist/renderer.d.ts",
14
+ "default": "./dist/renderer.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "keywords": [
21
+ "rive",
22
+ "animation",
23
+ "interactive",
24
+ "mouse",
25
+ "state-machine",
26
+ "plugin"
27
+ ],
28
+ "author": "Codefluss",
29
+ "license": "MIT",
30
+ "peerDependencies": {
31
+ "next": "^16.0.1",
32
+ "react": "^19.2.0"
33
+ },
34
+ "dependencies": {
35
+ "clsx": "^2.1.1",
36
+ "rive-react": "^4.24.0",
37
+ "tailwind-merge": "^3.4.0"
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^24.10.3",
41
+ "@types/react": "^19.2.7",
42
+ "@types/react-dom": "^19.2.3",
43
+ "@typescript-eslint/eslint-plugin": "^8.49.0",
44
+ "@typescript-eslint/parser": "^8.49.0",
45
+ "eslint": "^9.39.1",
46
+ "prettier": "^3.7.4",
47
+ "typescript": "^5.9.3",
48
+ "vitest": "^4.0.15"
49
+ },
50
+ "publishConfig": {
51
+ "access": "public"
52
+ },
53
+ "scripts": {
54
+ "build": "tsc",
55
+ "dev": "tsc --watch",
56
+ "test": "vitest",
57
+ "test:watch": "vitest --watch",
58
+ "lint": "eslint src/ --ext .ts,.tsx",
59
+ "format": "prettier --write src/**/*.{ts,tsx}"
60
+ }
61
+ }