observer-form 0.1.0 → 0.1.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/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { default as createForm } from './core/form';
2
+ export type { FormOptions } from './types/form';
@@ -0,0 +1,43 @@
1
+ export type NotifyData = {
2
+ name: string;
3
+ value: string;
4
+ };
5
+ export type Observer = {
6
+ update: (data: NotifyData) => void;
7
+ };
8
+ export type SubscriberStore = {
9
+ subscribe: (fieldName: string, observer: Observer) => void;
10
+ unsubscribe: (fieldName: string, observer: Observer) => void;
11
+ get: (fieldName: string) => Set<Observer> | undefined;
12
+ has: (fieldName: string) => boolean;
13
+ clear: () => void;
14
+ delete: (fieldName: string) => boolean;
15
+ readonly size: number;
16
+ };
17
+ export type Notifier = {
18
+ notify: (data: NotifyData) => void;
19
+ };
20
+ export type CleanupManager = {
21
+ createFieldController: (fieldName: string) => AbortSignal;
22
+ observeField: (fieldName: string, input: HTMLInputElement, ancestor: Element) => void;
23
+ observeForm: (formElement: HTMLFormElement) => void;
24
+ cleanupField: (fieldName: string) => void;
25
+ teardown: () => void;
26
+ readonly hasFormObserver: boolean;
27
+ };
28
+ export type FormOptions = {
29
+ initialValues: Record<string, any>;
30
+ formFields?: Record<string, any>;
31
+ formState?: Record<string, any>;
32
+ onSubmit: () => void;
33
+ validation?: () => void;
34
+ triggerValidation?: () => void;
35
+ config: {};
36
+ };
37
+ export type FormApi = {
38
+ state: Record<string, any>;
39
+ subscribe: (fieldName: string, observer: Observer) => void;
40
+ unsubscribe: (fieldName: string, observer: Observer) => void;
41
+ notify: (data: NotifyData) => void;
42
+ registerField: (inputField: HTMLInputElement) => void;
43
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "observer-form",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Lightweight observer-pattern form library",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,8 +9,8 @@
9
9
  "types": "./dist/index.d.ts",
10
10
  "exports": {
11
11
  ".": {
12
- "import": "./dist/observer-form-index.es.js",
13
- "types": "./dist/index.d.ts"
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/observer-form-index.es.js"
14
14
  }
15
15
  },
16
16
  "files": ["dist"],