playhtml 1.3.1 → 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/CHANGELOG.md +34 -0
- package/README.md +13 -2
- package/dist/main.d.ts +138 -23
- package/dist/playhtml.es.js +5687 -2829
- package/dist/playhtml.umd.js +7 -7
- package/package.json +25 -3
- package/dist/candle-gif.gif +0 -0
- package/dist/candle-off.png +0 -0
- package/dist/elements.d.ts +0 -43
- package/dist/icon.png +0 -0
- package/dist/noguchi-akari-a1.png +0 -0
- package/dist/noguchi-hanging-lamp.png +0 -0
- package/dist/playhtml-candles.png +0 -0
- package/dist/playhtml-fridge.png +0 -0
- package/dist/playhtml-story.png +0 -0
- package/dist/playhtml.png +0 -0
- package/dist/server.d.ts +0 -4
- package/dist/types.d.ts +0 -70
package/package.json
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "playhtml",
|
|
3
|
-
"
|
|
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
|
-
"
|
|
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"
|
package/dist/candle-gif.gif
DELETED
|
Binary file
|
package/dist/candle-off.png
DELETED
|
Binary file
|
package/dist/elements.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/// <reference lib="dom" />
|
|
2
|
-
import { ElementAwarenessEventHandlerData, ElementData, ElementEventHandlerData, ElementInitializer, ElementSetupData, ModifierKey, TagType } from "./types";
|
|
3
|
-
export declare const TagTypeToElement: Record<Exclude<TagType, "can-play">, ElementInitializer>;
|
|
4
|
-
export declare class ElementHandler<T = any, U = any, V = any> {
|
|
5
|
-
defaultData: T;
|
|
6
|
-
localData: U;
|
|
7
|
-
awareness: V[];
|
|
8
|
-
selfAwareness?: V;
|
|
9
|
-
element: HTMLElement;
|
|
10
|
-
_data: T;
|
|
11
|
-
onChange: (data: T) => void;
|
|
12
|
-
onAwarenessChange: (data: V) => void;
|
|
13
|
-
debouncedOnChange: (data: T) => void;
|
|
14
|
-
resetShortcut?: ModifierKey;
|
|
15
|
-
updateElement: (data: ElementEventHandlerData<T, U, V>) => void;
|
|
16
|
-
updateElementAwareness?: (data: ElementAwarenessEventHandlerData<T, U, V>) => void;
|
|
17
|
-
triggerAwarenessUpdate?: () => void;
|
|
18
|
-
constructor({ element, onChange, onAwarenessChange, defaultData, defaultLocalData, myDefaultAwareness, data, awareness: awarenessData, updateElement, updateElementAwareness, onClick, onDrag, onDragStart, additionalSetup, resetShortcut, debounceMs, triggerAwarenessUpdate, }: ElementData<T>);
|
|
19
|
-
get data(): T;
|
|
20
|
-
setLocalData(localData: U): void;
|
|
21
|
-
/**
|
|
22
|
-
* // PRIVATE USE ONLY \\
|
|
23
|
-
*
|
|
24
|
-
* 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
|
|
25
|
-
* reactivity.
|
|
26
|
-
* (e.g. calling `updateElement` and `onChange`)
|
|
27
|
-
*/
|
|
28
|
-
set __data(data: T);
|
|
29
|
-
set __awareness(data: V[]);
|
|
30
|
-
getEventHandlerData(): ElementEventHandlerData<T, U, V>;
|
|
31
|
-
getAwarenessEventHandlerData(): ElementAwarenessEventHandlerData<T, U, V>;
|
|
32
|
-
getSetupData(): ElementSetupData<T, U>;
|
|
33
|
-
/**
|
|
34
|
-
* Public-use setter for data that makes the change to all clients.
|
|
35
|
-
*/
|
|
36
|
-
setData(data: T): void;
|
|
37
|
-
setLocalAwareness(data: V): void;
|
|
38
|
-
setDataDebounced(data: T): void;
|
|
39
|
-
/**
|
|
40
|
-
* Resets the element to its default state.
|
|
41
|
-
*/
|
|
42
|
-
reset(): void;
|
|
43
|
-
}
|
package/dist/icon.png
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/playhtml-fridge.png
DELETED
|
Binary file
|
package/dist/playhtml-story.png
DELETED
|
Binary file
|
package/dist/playhtml.png
DELETED
|
Binary file
|
package/dist/server.d.ts
DELETED
package/dist/types.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export type ModifierKey = "ctrlKey" | "altKey" | "shiftKey" | "metaKey";
|
|
2
|
-
export declare const ModifierKeyToName: Record<ModifierKey, string>;
|
|
3
|
-
export interface ElementInitializer<T = any, U = any, V = any> {
|
|
4
|
-
defaultData: T | ((element: HTMLElement) => T);
|
|
5
|
-
defaultLocalData?: U | ((element: HTMLElement) => U);
|
|
6
|
-
myDefaultAwareness?: V | ((element: HTMLElement) => V);
|
|
7
|
-
updateElement: (data: ElementEventHandlerData<T, U, V>) => void;
|
|
8
|
-
updateElementAwareness?: (data: ElementAwarenessEventHandlerData<T, U, V>) => void;
|
|
9
|
-
onDrag?: (e: MouseEvent | TouchEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
|
|
10
|
-
onClick?: (e: MouseEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
|
|
11
|
-
onDragStart?: (e: MouseEvent | TouchEvent, eventData: ElementEventHandlerData<T, U, V>) => void;
|
|
12
|
-
additionalSetup?: (eventData: ElementSetupData<T, U, V>) => void;
|
|
13
|
-
resetShortcut?: ModifierKey;
|
|
14
|
-
debounceMs?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface ElementData<T = any, U = any, V = any> extends ElementInitializer<T> {
|
|
17
|
-
data?: T;
|
|
18
|
-
localData?: U;
|
|
19
|
-
awareness?: V;
|
|
20
|
-
element: HTMLElement;
|
|
21
|
-
onChange: (data: T) => void;
|
|
22
|
-
onAwarenessChange: (data: V) => void;
|
|
23
|
-
triggerAwarenessUpdate: () => void;
|
|
24
|
-
}
|
|
25
|
-
export interface ElementEventHandlerData<T = any, U = any, V = any> {
|
|
26
|
-
data: T;
|
|
27
|
-
localData: U;
|
|
28
|
-
awareness: V[];
|
|
29
|
-
element: HTMLElement;
|
|
30
|
-
setData: (data: T) => void;
|
|
31
|
-
setLocalData: (data: U) => void;
|
|
32
|
-
setLocalAwareness: (data: V) => void;
|
|
33
|
-
}
|
|
34
|
-
export interface ElementAwarenessEventHandlerData<T = any, U = any, V = any> extends ElementEventHandlerData<T, U, V> {
|
|
35
|
-
myAwareness?: V;
|
|
36
|
-
}
|
|
37
|
-
export interface ElementSetupData<T = any, U = any, V = any> {
|
|
38
|
-
getData: () => T;
|
|
39
|
-
getLocalData: () => U;
|
|
40
|
-
getAwareness: () => V[];
|
|
41
|
-
getElement: () => HTMLElement;
|
|
42
|
-
setData: (data: T) => void;
|
|
43
|
-
setLocalData: (data: U) => void;
|
|
44
|
-
setLocalAwareness: (data: V) => void;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Custom Capabilities data types
|
|
48
|
-
*/
|
|
49
|
-
export type MoveData = {
|
|
50
|
-
x: number;
|
|
51
|
-
y: number;
|
|
52
|
-
};
|
|
53
|
-
export type SpinData = {
|
|
54
|
-
rotation: number;
|
|
55
|
-
};
|
|
56
|
-
export type GrowData = {
|
|
57
|
-
scale: number;
|
|
58
|
-
maxScale: number;
|
|
59
|
-
isHovering: boolean;
|
|
60
|
-
};
|
|
61
|
-
export declare const CanDuplicateTo = "can-duplicate-to";
|
|
62
|
-
export declare enum TagType {
|
|
63
|
-
"CanPlay" = "can-play",
|
|
64
|
-
"CanMove" = "can-move",
|
|
65
|
-
"CanSpin" = "can-spin",
|
|
66
|
-
"CanGrow" = "can-grow",
|
|
67
|
-
"CanToggle" = "can-toggle",
|
|
68
|
-
"CanDuplicate" = "can-duplicate",
|
|
69
|
-
"CanPost" = "can-post"
|
|
70
|
-
}
|