oneko 0.0.0-stage → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +97 -2
  3. package/SKIN-CREDITS.md +61 -0
  4. package/dist/adapter.d.ts +1 -0
  5. package/dist/adapter.js +11 -0
  6. package/dist/cat-sounds/Cat_baby_ambient1.ogg +0 -0
  7. package/dist/cat-sounds/Cat_baby_ambient2.ogg +0 -0
  8. package/dist/cat-sounds/Cat_baby_ambient3.ogg +0 -0
  9. package/dist/cat-sounds/Cat_baby_ambient4.ogg +0 -0
  10. package/dist/cat-sounds/Cat_baby_ambient5.ogg +0 -0
  11. package/dist/cat-sounds/Cat_baby_ambient6.ogg +0 -0
  12. package/dist/cat-sounds/Cat_baby_ambient7.ogg +0 -0
  13. package/dist/cat-sounds/Cat_baby_death.ogg +0 -0
  14. package/dist/cat-sounds/Cat_baby_hurt1.ogg +0 -0
  15. package/dist/cat-sounds/Cat_baby_hurt2.ogg +0 -0
  16. package/dist/cat-sounds/Cat_baby_hurt3.ogg +0 -0
  17. package/dist/cat-sounds/Cat_beg1.ogg +0 -0
  18. package/dist/cat-sounds/Cat_beg2.ogg +0 -0
  19. package/dist/cat-sounds/Cat_beg3.ogg +0 -0
  20. package/dist/cat-sounds/Cat_eat1.ogg +0 -0
  21. package/dist/cat-sounds/Cat_eat2.ogg +0 -0
  22. package/dist/cat-sounds/Cat_hiss1.ogg +0 -0
  23. package/dist/cat-sounds/Cat_hiss2.ogg +0 -0
  24. package/dist/cat-sounds/Cat_hiss3.ogg +0 -0
  25. package/dist/cat-sounds/Cat_hurt1.ogg +0 -0
  26. package/dist/cat-sounds/Cat_hurt2.ogg +0 -0
  27. package/dist/cat-sounds/Cat_hurt3.ogg +0 -0
  28. package/dist/cat-sounds/Cat_idle1.ogg +0 -0
  29. package/dist/cat-sounds/Cat_idle2.ogg +0 -0
  30. package/dist/cat-sounds/Cat_idle3.ogg +0 -0
  31. package/dist/cat-sounds/Cat_idle4.ogg +0 -0
  32. package/dist/cat-sounds/Cat_purr1.ogg +0 -0
  33. package/dist/cat-sounds/Cat_purr2.ogg +0 -0
  34. package/dist/cat-sounds/Cat_purr3.ogg +0 -0
  35. package/dist/cat-sounds/Cat_purreow1.ogg +0 -0
  36. package/dist/cat-sounds/Cat_purreow2.ogg +0 -0
  37. package/dist/cat-sounds/Cat_royal_ambient1.ogg +0 -0
  38. package/dist/cat-sounds/Cat_royal_ambient2.ogg +0 -0
  39. package/dist/cat-sounds/Cat_royal_ambient3.ogg +0 -0
  40. package/dist/cat-sounds/Cat_royal_ambient4.ogg +0 -0
  41. package/dist/cat-sounds/Cat_royal_ambient5.ogg +1 -0
  42. package/dist/cat-sounds/Cat_royal_ambient6.ogg +1 -0
  43. package/dist/cat-sounds/Cat_royal_death.ogg +1 -0
  44. package/dist/cat-sounds/Cat_royal_hurt1.ogg +1 -0
  45. package/dist/cat-sounds/Cat_royal_hurt2.ogg +1 -0
  46. package/dist/cat-sounds/Cat_royal_hurt3.ogg +1 -0
  47. package/dist/cat-sounds/Stray_cat_idle1.ogg +1 -0
  48. package/dist/cat-sounds/Stray_cat_idle2.ogg +1 -0
  49. package/dist/cat-sounds/Stray_cat_idle3.ogg +1 -0
  50. package/dist/cat-sounds/Stray_cat_idle4.ogg +1 -0
  51. package/dist/chunks/skin-sheets-CG0yKeZb.js +71 -0
  52. package/dist/chunks/vanilla-CUrawvWx.js +2993 -0
  53. package/dist/index.js +286 -0
  54. package/dist/solid.js +17 -0
  55. package/dist/svelte/Oneko.svelte +17 -0
  56. package/dist/svelte/Oneko.svelte.d.ts +4 -0
  57. package/dist/types/components/laser-cursor.d.ts +3 -0
  58. package/dist/types/components/oneko.d.ts +11 -0
  59. package/dist/types/hooks/use-cat-animation.d.ts +23 -0
  60. package/dist/types/hooks/use-motion-allowed.d.ts +3 -0
  61. package/dist/types/hooks/use-oneko-props-sync.d.ts +14 -0
  62. package/dist/types/hooks/use-skin-source.d.ts +3 -0
  63. package/dist/types/hooks/use-sprite-appearance.d.ts +6 -0
  64. package/dist/types/lib/oneko/animation/activity.d.ts +5 -0
  65. package/dist/types/lib/oneko/animation/attention.d.ts +13 -0
  66. package/dist/types/lib/oneko/animation/bubbles.d.ts +5 -0
  67. package/dist/types/lib/oneko/animation/debug-render.d.ts +5 -0
  68. package/dist/types/lib/oneko/animation/deps.d.ts +21 -0
  69. package/dist/types/lib/oneko/animation/frame/interrupt-idle.d.ts +2 -0
  70. package/dist/types/lib/oneko/animation/frame/tick-laser.d.ts +2 -0
  71. package/dist/types/lib/oneko/animation/frame/tick-live-state.d.ts +3 -0
  72. package/dist/types/lib/oneko/animation/frame/tick-movement.d.ts +2 -0
  73. package/dist/types/lib/oneko/animation/frame/tick-prelude.d.ts +2 -0
  74. package/dist/types/lib/oneko/animation/frame/tick-sounds.d.ts +3 -0
  75. package/dist/types/lib/oneko/animation/frame.d.ts +2 -0
  76. package/dist/types/lib/oneko/animation/grid.d.ts +3 -0
  77. package/dist/types/lib/oneko/animation/idle.d.ts +4 -0
  78. package/dist/types/lib/oneko/animation/mouse.d.ts +2 -0
  79. package/dist/types/lib/oneko/animation/movement.d.ts +3 -0
  80. package/dist/types/lib/oneko/animation/sprites.d.ts +5 -0
  81. package/dist/types/lib/oneko/animation-loop.d.ts +5 -0
  82. package/dist/types/lib/oneko/constants.d.ts +118 -0
  83. package/dist/types/lib/oneko/debug-controls/bubble.d.ts +4 -0
  84. package/dist/types/lib/oneko/debug-controls/force-state.d.ts +4 -0
  85. package/dist/types/lib/oneko/debug-controls/index.d.ts +14 -0
  86. package/dist/types/lib/oneko/debug-controls/playback.d.ts +4 -0
  87. package/dist/types/lib/oneko/debug-controls/position.d.ts +4 -0
  88. package/dist/types/lib/oneko/debug-controls/speed.d.ts +4 -0
  89. package/dist/types/lib/oneko/debug-controls/ui.d.ts +5 -0
  90. package/dist/types/lib/oneko/defaults.d.ts +39 -0
  91. package/dist/types/lib/oneko/dom.d.ts +10 -0
  92. package/dist/types/lib/oneko/initial-state.d.ts +9 -0
  93. package/dist/types/lib/oneko/konami.d.ts +4 -0
  94. package/dist/types/lib/oneko/laser-cursor-dom.d.ts +1 -0
  95. package/dist/types/lib/oneko/obstacle-filters.d.ts +12 -0
  96. package/dist/types/lib/oneko/pack.d.ts +12 -0
  97. package/dist/types/lib/oneko/pathfinding.d.ts +6 -0
  98. package/dist/types/lib/oneko/persistence.d.ts +18 -0
  99. package/dist/types/lib/oneko/runtime-config.d.ts +28 -0
  100. package/dist/types/lib/oneko/skin-catalog.d.ts +98 -0
  101. package/dist/types/lib/oneko/skin-classic.json.d.ts +4 -0
  102. package/dist/types/lib/oneko/skin-sheets.json.d.ts +27 -0
  103. package/dist/types/lib/oneko/skins.d.ts +14 -0
  104. package/dist/types/lib/oneko/start-cat-animation.d.ts +24 -0
  105. package/dist/types/lib/oneko/teardown.d.ts +17 -0
  106. package/dist/types/lib/oneko/types.d.ts +183 -0
  107. package/dist/types/lib/oneko/vanilla.d.ts +13 -0
  108. package/dist/types/lib/oneko/zone-runtime.d.ts +20 -0
  109. package/dist/types/lib/oneko/zones.d.ts +26 -0
  110. package/dist/types/packages/oneko/src/adapter.d.ts +3 -0
  111. package/dist/types/packages/oneko/src/index.d.ts +3 -0
  112. package/dist/types/packages/oneko/src/solid.d.ts +3 -0
  113. package/dist/types/packages/oneko/src/vanilla.d.ts +7 -0
  114. package/dist/types/packages/oneko/src/vue.d.ts +173 -0
  115. package/dist/vanilla.d.ts +1 -0
  116. package/dist/vanilla.js +9 -0
  117. package/dist/vue.js +71 -0
  118. package/package.json +82 -4
@@ -0,0 +1,173 @@
1
+ import { type PropType } from "vue";
2
+ import { type OnekoOptions, type CatActivityState } from "./vanilla";
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ skin: PropType<OnekoOptions["skin"]>;
5
+ spriteSrc: StringConstructor;
6
+ scale: NumberConstructor;
7
+ opacity: NumberConstructor;
8
+ hueRotate: NumberConstructor;
9
+ rotationAmount: NumberConstructor;
10
+ speed: NumberConstructor;
11
+ followDistance: NumberConstructor;
12
+ animationSpeed: NumberConstructor;
13
+ idleThreshold: NumberConstructor;
14
+ freerunChance: NumberConstructor;
15
+ freerunDuration: NumberConstructor;
16
+ paused: {
17
+ type: BooleanConstructor;
18
+ default: undefined;
19
+ };
20
+ followCursor: {
21
+ type: BooleanConstructor;
22
+ default: undefined;
23
+ };
24
+ sleepEnabled: {
25
+ type: BooleanConstructor;
26
+ default: undefined;
27
+ };
28
+ laserPointer: {
29
+ type: BooleanConstructor;
30
+ default: undefined;
31
+ };
32
+ reducedMotion: PropType<"hide" | "rest">;
33
+ bubbleEnabled: {
34
+ type: BooleanConstructor;
35
+ default: undefined;
36
+ };
37
+ bubbleText: PropType<string | string[]>;
38
+ bubblePlacement: PropType<"auto" | "above" | "below">;
39
+ bubbleScale: NumberConstructor;
40
+ bubbleChance: NumberConstructor;
41
+ bubbleDisplayFrames: NumberConstructor;
42
+ bubbleCooldown: NumberConstructor;
43
+ meow: {
44
+ type: BooleanConstructor;
45
+ default: undefined;
46
+ };
47
+ volume: NumberConstructor;
48
+ soundBasePath: StringConstructor;
49
+ zones: PropType<OnekoOptions["zones"]>;
50
+ zoneAttractionChance: NumberConstructor;
51
+ zoneAttractionDuration: NumberConstructor;
52
+ persistPosition: {
53
+ type: BooleanConstructor;
54
+ default: undefined;
55
+ };
56
+ storageKey: StringConstructor;
57
+ initialPos: PropType<{
58
+ x: number;
59
+ y: number;
60
+ }>;
61
+ zIndex: NumberConstructor;
62
+ chase: PropType<"cursor" | "cat">;
63
+ napWhileTyping: {
64
+ type: BooleanConstructor;
65
+ default: undefined;
66
+ };
67
+ followFocus: {
68
+ type: BooleanConstructor;
69
+ default: undefined;
70
+ };
71
+ perchOnHover: {
72
+ type: BooleanConstructor;
73
+ default: undefined;
74
+ };
75
+ pettable: {
76
+ type: BooleanConstructor;
77
+ default: undefined;
78
+ };
79
+ }>, () => null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
80
+ stateChange: (_state: CatActivityState) => true;
81
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
82
+ skin: PropType<OnekoOptions["skin"]>;
83
+ spriteSrc: StringConstructor;
84
+ scale: NumberConstructor;
85
+ opacity: NumberConstructor;
86
+ hueRotate: NumberConstructor;
87
+ rotationAmount: NumberConstructor;
88
+ speed: NumberConstructor;
89
+ followDistance: NumberConstructor;
90
+ animationSpeed: NumberConstructor;
91
+ idleThreshold: NumberConstructor;
92
+ freerunChance: NumberConstructor;
93
+ freerunDuration: NumberConstructor;
94
+ paused: {
95
+ type: BooleanConstructor;
96
+ default: undefined;
97
+ };
98
+ followCursor: {
99
+ type: BooleanConstructor;
100
+ default: undefined;
101
+ };
102
+ sleepEnabled: {
103
+ type: BooleanConstructor;
104
+ default: undefined;
105
+ };
106
+ laserPointer: {
107
+ type: BooleanConstructor;
108
+ default: undefined;
109
+ };
110
+ reducedMotion: PropType<"hide" | "rest">;
111
+ bubbleEnabled: {
112
+ type: BooleanConstructor;
113
+ default: undefined;
114
+ };
115
+ bubbleText: PropType<string | string[]>;
116
+ bubblePlacement: PropType<"auto" | "above" | "below">;
117
+ bubbleScale: NumberConstructor;
118
+ bubbleChance: NumberConstructor;
119
+ bubbleDisplayFrames: NumberConstructor;
120
+ bubbleCooldown: NumberConstructor;
121
+ meow: {
122
+ type: BooleanConstructor;
123
+ default: undefined;
124
+ };
125
+ volume: NumberConstructor;
126
+ soundBasePath: StringConstructor;
127
+ zones: PropType<OnekoOptions["zones"]>;
128
+ zoneAttractionChance: NumberConstructor;
129
+ zoneAttractionDuration: NumberConstructor;
130
+ persistPosition: {
131
+ type: BooleanConstructor;
132
+ default: undefined;
133
+ };
134
+ storageKey: StringConstructor;
135
+ initialPos: PropType<{
136
+ x: number;
137
+ y: number;
138
+ }>;
139
+ zIndex: NumberConstructor;
140
+ chase: PropType<"cursor" | "cat">;
141
+ napWhileTyping: {
142
+ type: BooleanConstructor;
143
+ default: undefined;
144
+ };
145
+ followFocus: {
146
+ type: BooleanConstructor;
147
+ default: undefined;
148
+ };
149
+ perchOnHover: {
150
+ type: BooleanConstructor;
151
+ default: undefined;
152
+ };
153
+ pettable: {
154
+ type: BooleanConstructor;
155
+ default: undefined;
156
+ };
157
+ }>> & Readonly<{
158
+ onStateChange?: ((_state: CatActivityState) => any) | undefined;
159
+ }>, {
160
+ paused: boolean;
161
+ followCursor: boolean;
162
+ sleepEnabled: boolean;
163
+ napWhileTyping: boolean;
164
+ followFocus: boolean;
165
+ perchOnHover: boolean;
166
+ persistPosition: boolean;
167
+ meow: boolean;
168
+ bubbleEnabled: boolean;
169
+ laserPointer: boolean;
170
+ pettable: boolean;
171
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
172
+ export default _default;
173
+ export type { OnekoOptions } from "./vanilla";
@@ -0,0 +1 @@
1
+ export * from "./types/packages/oneko/src/vanilla";
@@ -0,0 +1,9 @@
1
+ import { e, d, c, i, o, f } from "./chunks/vanilla-CUrawvWx.js";
2
+ export {
3
+ e as ONEKO_SKINS,
4
+ d as areCatsHidden,
5
+ c as createOneko,
6
+ i as isOnekoSkin,
7
+ o as onCatsHiddenChange,
8
+ f as setCatsHidden
9
+ };
package/dist/vue.js ADDED
@@ -0,0 +1,71 @@
1
+ import { defineComponent, onMounted, watch, onBeforeUnmount } from "vue";
2
+ import { c as createOneko } from "./chunks/vanilla-CUrawvWx.js";
3
+ import { createPropsUpdater } from "./adapter.js";
4
+ const vue = defineComponent({
5
+ name: "Oneko",
6
+ props: {
7
+ skin: String,
8
+ spriteSrc: String,
9
+ scale: Number,
10
+ opacity: Number,
11
+ hueRotate: Number,
12
+ rotationAmount: Number,
13
+ speed: Number,
14
+ followDistance: Number,
15
+ animationSpeed: Number,
16
+ idleThreshold: Number,
17
+ freerunChance: Number,
18
+ freerunDuration: Number,
19
+ paused: { type: Boolean, default: void 0 },
20
+ followCursor: { type: Boolean, default: void 0 },
21
+ sleepEnabled: { type: Boolean, default: void 0 },
22
+ laserPointer: { type: Boolean, default: void 0 },
23
+ reducedMotion: String,
24
+ bubbleEnabled: { type: Boolean, default: void 0 },
25
+ bubbleText: [String, Array],
26
+ bubblePlacement: String,
27
+ bubbleScale: Number,
28
+ bubbleChance: Number,
29
+ bubbleDisplayFrames: Number,
30
+ bubbleCooldown: Number,
31
+ meow: { type: Boolean, default: void 0 },
32
+ volume: Number,
33
+ soundBasePath: String,
34
+ zones: Array,
35
+ zoneAttractionChance: Number,
36
+ zoneAttractionDuration: Number,
37
+ persistPosition: { type: Boolean, default: void 0 },
38
+ storageKey: String,
39
+ initialPos: Object,
40
+ zIndex: Number,
41
+ chase: String,
42
+ napWhileTyping: { type: Boolean, default: void 0 },
43
+ followFocus: { type: Boolean, default: void 0 },
44
+ perchOnHover: { type: Boolean, default: void 0 },
45
+ pettable: { type: Boolean, default: void 0 }
46
+ },
47
+ emits: { stateChange: (_state) => true },
48
+ setup(props, { emit }) {
49
+ let update;
50
+ let destroy;
51
+ const options = () => ({
52
+ ...props,
53
+ onStateChange: (state) => emit("stateChange", state)
54
+ });
55
+ onMounted(() => {
56
+ const cat = createOneko();
57
+ destroy = () => cat.destroy();
58
+ update = createPropsUpdater(cat);
59
+ update(options());
60
+ });
61
+ watch(
62
+ () => ({ ...props }),
63
+ () => update?.(options())
64
+ );
65
+ onBeforeUnmount(() => destroy?.());
66
+ return () => null;
67
+ }
68
+ });
69
+ export {
70
+ vue as default
71
+ };
package/package.json CHANGED
@@ -1,6 +1,84 @@
1
1
  {
2
2
  "name": "oneko",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.3.0",
4
+ "description": "A tiny pixel cat for React, Vue, Svelte, Solid, and the browser. Bundled engine and 24 coats, no CDN required.",
5
+ "keywords": [
6
+ "cat",
7
+ "oneko",
8
+ "pixel-art",
9
+ "react",
10
+ "solid",
11
+ "svelte",
12
+ "vue"
13
+ ],
14
+ "homepage": "https://oneko.dhrv.pw",
15
+ "bugs": "https://github.com/0xdhrv/oneko/issues",
16
+ "license": "MIT",
17
+ "author": "0xdhrv",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/0xdhrv/oneko.git",
21
+ "directory": "packages/oneko"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "LICENSE",
26
+ "SKIN-CREDITS.md"
27
+ ],
28
+ "type": "module",
29
+ "sideEffects": false,
30
+ "main": "./dist/index.js",
31
+ "types": "./dist/types/packages/oneko/src/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/types/packages/oneko/src/index.d.ts",
35
+ "default": "./dist/index.js"
36
+ },
37
+ "./vanilla": {
38
+ "types": "./dist/types/packages/oneko/src/vanilla.d.ts",
39
+ "default": "./dist/vanilla.js"
40
+ },
41
+ "./vue": {
42
+ "types": "./dist/types/packages/oneko/src/vue.d.ts",
43
+ "default": "./dist/vue.js"
44
+ },
45
+ "./svelte": {
46
+ "types": "./dist/svelte/Oneko.svelte.d.ts",
47
+ "svelte": "./dist/svelte/Oneko.svelte",
48
+ "default": "./dist/svelte/Oneko.svelte"
49
+ },
50
+ "./solid": {
51
+ "types": "./dist/types/packages/oneko/src/solid.d.ts",
52
+ "default": "./dist/solid.js"
53
+ },
54
+ "./cat-sounds/*": "./dist/cat-sounds/*",
55
+ "./package.json": "./package.json"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public",
59
+ "registry": "https://registry.npmjs.org/"
60
+ },
61
+ "scripts": {
62
+ "prepack": "node ../../scripts/build-package.mjs"
63
+ },
64
+ "peerDependencies": {
65
+ "react": ">=18.0.0 <20",
66
+ "solid-js": "^1.9.0",
67
+ "svelte": "^5.0.0",
68
+ "vue": "^3.3.0"
69
+ },
70
+ "peerDependenciesMeta": {
71
+ "react": {
72
+ "optional": true
73
+ },
74
+ "vue": {
75
+ "optional": true
76
+ },
77
+ "svelte": {
78
+ "optional": true
79
+ },
80
+ "solid-js": {
81
+ "optional": true
82
+ }
83
+ }
84
+ }