playhtml 1.3.1 → 2.0.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.
package/package.json CHANGED
@@ -1,11 +1,33 @@
1
1
  {
2
2
  "name": "playhtml",
3
- "version": "1.3.1",
3
+ "title": "playhtml",
4
+ "description": "Create interactive, collaborative html elements with a single attribute",
5
+ "version": "2.0.1",
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,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
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/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
- }