playhtml 1.3.0 → 2.0.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.
package/package.json CHANGED
@@ -1,11 +1,33 @@
1
1
  {
2
2
  "name": "playhtml",
3
- "version": "1.3.0",
3
+ "title": "playhtml",
4
+ "description": "Create interactive, collaborative html elements with a single attribute",
5
+ "version": "2.0.0",
4
6
  "license": "MIT",
5
7
  "type": "module",
8
+ "keywords": [
9
+ "html",
10
+ "collaboration",
11
+ "fun",
12
+ "real-time",
13
+ "persistence",
14
+ "html energy"
15
+ ],
16
+ "author": {
17
+ "name": "Spencer Chang",
18
+ "email": "spencerc99@gmail.com"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "github:spencerc99/playhtml"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/spencerc99/playhtml/issues"
26
+ },
6
27
  "main": "./dist/playhtml.umd.js",
7
28
  "types": "./dist/main.d.ts",
8
29
  "module": "./dist/playhtml.es.js",
30
+ "homepage": "https://playhtml.fun",
9
31
  "files": [
10
32
  "dist"
11
33
  ],
@@ -16,7 +38,7 @@
16
38
  }
17
39
  },
18
40
  "scripts": {
19
- "dev": "vite",
41
+ "dev": "vite --config vite.config.site.ts",
20
42
  "build": "tsc && vite build",
21
43
  "build-site": "vite build --config vite.config.site.ts",
22
44
  "preview": "vite preview",
@@ -32,7 +54,7 @@
32
54
  },
33
55
  "dependencies": {
34
56
  "partykit": "^0.0.0-39cf5ce",
35
- "partysocket": "^0.0.0-e7aa4cd",
57
+ "profane-words": "^1.5.10",
36
58
  "y-indexeddb": "^9.0.11",
37
59
  "y-partykit": "^0.0.0-39cf5ce",
38
60
  "yjs": "^13.5.44"
Binary file
Binary file
@@ -1,88 +0,0 @@
1
- /// <reference lib="dom" />
2
- import { TagType } from "./types";
3
- type ModifierKey = "ctrlKey" | "altKey" | "shiftKey" | "metaKey";
4
- export interface ElementInitializer<T = any, U = any, V = any> {
5
- defaultData: T | ((element: HTMLElement) => T);
6
- defaultLocalData?: U | ((element: HTMLElement) => U);
7
- myDefaultAwareness?: V | ((element: HTMLElement) => V);
8
- updateElement: (data: ElementEventHandlerData<T, U, V>) => void;
9
- updateElementAwareness?: (data: ElementAwarenessEventHandlerData<T, U, V>) => void;
10
- onDrag?: (e: MouseEvent | TouchEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
11
- onClick?: (e: MouseEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
12
- onDragStart?: (e: MouseEvent | TouchEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
13
- additionalSetup?: (eventData: ElementSetupData<T, U, V>) => void;
14
- resetShortcut?: ModifierKey;
15
- debounceMs?: number;
16
- }
17
- export interface ElementData<T = any, U = any, V = any> extends ElementInitializer<T> {
18
- data?: T;
19
- localData?: U;
20
- awareness?: V;
21
- element: HTMLElement;
22
- onChange: (data: T) => void;
23
- onAwarenessChange: (data: V) => void;
24
- triggerAwarenessUpdate: () => void;
25
- }
26
- interface ElementEventHandlerData<T = any, U = any, V = any> {
27
- data: T;
28
- localData: U;
29
- awareness: V[];
30
- element: HTMLElement;
31
- setData: (data: T) => void;
32
- setLocalData: (data: U) => void;
33
- setLocalAwareness: (data: V) => void;
34
- }
35
- interface ElementAwarenessEventHandlerData<T = any, U = any, V = any> extends ElementEventHandlerData<T, U, V> {
36
- myAwareness?: V;
37
- }
38
- interface ElementSetupData<T = any, U = any, V = any> {
39
- getData: () => T;
40
- getLocalData: () => U;
41
- getAwareness: () => V[];
42
- getElement: () => HTMLElement;
43
- setData: (data: T) => void;
44
- setLocalData: (data: U) => void;
45
- setLocalAwareness: (data: V) => void;
46
- }
47
- export declare const TagTypeToElement: Record<Exclude<TagType, "can-play">, ElementInitializer>;
48
- export declare class ElementHandler<T = any, U = any, V = any> {
49
- defaultData: T;
50
- localData: U;
51
- awareness: V[];
52
- selfAwareness?: V;
53
- element: HTMLElement;
54
- _data: T;
55
- onChange: (data: T) => void;
56
- onAwarenessChange: (data: V) => void;
57
- debouncedOnChange: (data: T) => void;
58
- resetShortcut?: ModifierKey;
59
- updateElement: (data: ElementEventHandlerData<T, U, V>) => void;
60
- updateElementAwareness?: (data: ElementAwarenessEventHandlerData<T, U, V>) => void;
61
- triggerAwarenessUpdate?: () => void;
62
- constructor({ element, onChange, onAwarenessChange, defaultData, defaultLocalData, myDefaultAwareness, data, awareness: awarenessData, updateElement, updateElementAwareness, onClick, onDrag, onDragStart, additionalSetup, resetShortcut, debounceMs, triggerAwarenessUpdate, }: ElementData<T>);
63
- get data(): T;
64
- setLocalData(localData: U): void;
65
- /**
66
- * // PRIVATE USE ONLY \\
67
- *
68
- * Updates the internal state with the given data and handles all the downstream effects. Should only be used by the sync code to ensure one-way
69
- * reactivity.
70
- * (e.g. calling `updateElement` and `onChange`)
71
- */
72
- set __data(data: T);
73
- set __awareness(data: V[]);
74
- getEventHandlerData(): ElementEventHandlerData<T, U, V>;
75
- getAwarenessEventHandlerData(): ElementAwarenessEventHandlerData<T, U, V>;
76
- getSetupData(): ElementSetupData<T, U>;
77
- /**
78
- * Public-use setter for data that makes the change to all clients.
79
- */
80
- setData(data: T): void;
81
- setLocalAwareness(data: V): void;
82
- setDataDebounced(data: T): void;
83
- /**
84
- * Resets the element to its default state.
85
- */
86
- reset(): void;
87
- }
88
- export {};
package/dist/icon.png DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/playhtml.png DELETED
Binary file
package/dist/server.d.ts DELETED
@@ -1,4 +0,0 @@
1
- declare const _default: {
2
- onConnect(ws: import("partykit/server").PartyKitConnection, room: import("partykit/server").PartyKitRoom): Promise<void>;
3
- };
4
- export default _default;
package/dist/tags.d.ts DELETED
File without changes
package/dist/types.d.ts DELETED
@@ -1,22 +0,0 @@
1
- export type MoveData = {
2
- x: number;
3
- y: number;
4
- };
5
- export type SpinData = {
6
- rotation: number;
7
- };
8
- export type GrowData = {
9
- scale: number;
10
- maxScale: number;
11
- isHovering: boolean;
12
- };
13
- export declare const CanDuplicateTo = "can-duplicate-to";
14
- export declare enum TagType {
15
- "CanPlay" = "can-play",
16
- "CanMove" = "can-move",
17
- "CanSpin" = "can-spin",
18
- "CanGrow" = "can-grow",
19
- "CanToggle" = "can-toggle",
20
- "CanDuplicate" = "can-duplicate",
21
- "CanPost" = "can-post"
22
- }