cogsbox-state 0.5.481 → 0.5.483
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/CogsState.d.ts +15 -13
- package/dist/CogsState.d.ts.map +1 -1
- package/dist/CogsState.js +2 -2
- package/dist/CogsState.js.map +1 -1
- package/dist/CogsStateClient.d.ts +2 -2
- package/dist/CogsStateClient.d.ts.map +1 -1
- package/dist/CogsStateClient.js.map +1 -1
- package/dist/Components.d.ts +3 -3
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js.map +1 -1
- package/dist/PluginRunner.d.ts +2 -2
- package/dist/PluginRunner.d.ts.map +1 -1
- package/dist/PluginRunner.js +79 -78
- package/dist/PluginRunner.js.map +1 -1
- package/dist/pluginStore.d.ts +1 -0
- package/dist/pluginStore.d.ts.map +1 -1
- package/dist/pluginStore.js +22 -18
- package/dist/pluginStore.js.map +1 -1
- package/dist/plugins.d.ts +4 -4
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/store.d.ts +2 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js.map +1 -1
- package/package.json +2 -1
- package/src/CogsState.tsx +55 -61
- package/src/CogsStateClient.tsx +2 -2
- package/src/Components.tsx +4 -3
- package/src/PluginRunner.tsx +31 -34
- package/src/pluginStore.ts +7 -1
- package/src/plugins.ts +5 -6
- package/src/store.ts +2 -1
package/dist/pluginStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginStore.js","sources":["../src/pluginStore.ts"],"sourcesContent":["import { create } from 'zustand';\r\nimport type { PluginData, StateObject, UpdateTypeDetail } from './CogsState';\r\nimport type { CogsPlugin } from './plugins';\r\nexport type ClientActivityEvent = {\r\n stateKey: string;\r\n path: string[];\r\n timestamp: number;\r\n duration?: number;\r\n} & (\r\n | { activityType: 'focus'; details: { cursorPosition?: number } }\r\n | { activityType: 'blur'; details: { duration: number } }\r\n | {\r\n activityType: 'input';\r\n details: {\r\n value: any;\r\n inputLength?: number;\r\n isComposing?: boolean;\r\n isPasting?: boolean;\r\n keystrokeCount?: number;\r\n };\r\n }\r\n | {\r\n activityType: 'select';\r\n details: {\r\n selectionStart: number;\r\n selectionEnd: number;\r\n selectedText?: string;\r\n };\r\n }\r\n | { activityType: 'hover_enter'; details: { cursorPosition?: number } }\r\n | { activityType: 'hover_exit'; details: { duration: number } }\r\n | {\r\n activityType: 'scroll';\r\n details: { scrollTop: number; scrollLeft: number };\r\n }\r\n | { activityType: 'cursor_move'; details: { cursorPosition: number } }\r\n);\r\n\r\ntype PluginRegistryStore = {\r\n stateHandlers: Map<string, StateObject<any>>; // stateKey -> handler\r\n registerStateHandler: (stateKey: string, handler: StateObject<any>) => void;\r\n registeredPlugins: readonly CogsPlugin<any, any, any, any, any>[];\r\n setRegisteredPlugins: (\r\n plugins: readonly CogsPlugin<any, any, any, any, any>[]\r\n ) => void;\r\n\r\n // Store options keyed by stateKey and pluginName\r\n pluginOptions: Map<string, Map<string, any>>; // stateKey -> pluginName -> options\r\n setPluginOptionsForState: (\r\n stateKey: string,\r\n pluginOptions: Record<string, any>\r\n ) => void;\r\n\r\n // Get all plugin configs for a specific stateKey\r\n getPluginConfigsForState: (stateKey: string) => Array<{\r\n plugin: CogsPlugin<any, any, any, any, any>;\r\n options: any;\r\n }>;\r\n updateSubscribers: Set<(update: UpdateTypeDetail) => void>;\r\n subscribeToUpdates: (\r\n callback: (update: UpdateTypeDetail) => void\r\n ) => () => void;\r\n notifyUpdate: (update: UpdateTypeDetail) => void;\r\n formUpdateSubscribers: Set<(event: ClientActivityEvent) => void>;\r\n subscribeToFormUpdates: (\r\n callback: (event: ClientActivityEvent) => void\r\n ) => () => void;\r\n notifyFormUpdate: (event: ClientActivityEvent) => void;\r\n hookResults: Map<string, Map<string, any>>; // stateKey -> pluginName -> hook\r\n setHookResult: (stateKey: string, pluginName: string, data: any) => void;\r\n getHookResult: (stateKey: string, pluginName: string) => any | undefined;\r\n removeHookResult: (stateKey: string, pluginName: string) => void;\r\n};\r\n\r\nexport const pluginStore = create<PluginRegistryStore>((set, get) => ({\r\n stateHandlers: new Map(),\r\n registerStateHandler: (stateKey, handler) =>\r\n set((state) => {\r\n const newMap = new Map(state.stateHandlers);\r\n newMap.set(stateKey, handler);\r\n
|
|
1
|
+
{"version":3,"file":"pluginStore.js","sources":["../src/pluginStore.ts"],"sourcesContent":["import { create } from 'zustand';\r\nimport type { PluginData, StateObject, UpdateTypeDetail } from './CogsState';\r\nimport type { CogsPlugin } from './plugins';\r\nexport type ClientActivityEvent = {\r\n stateKey: string;\r\n path: string[];\r\n timestamp: number;\r\n duration?: number;\r\n} & (\r\n | { activityType: 'focus'; details: { cursorPosition?: number } }\r\n | { activityType: 'blur'; details: { duration: number } }\r\n | {\r\n activityType: 'input';\r\n details: {\r\n value: any;\r\n inputLength?: number;\r\n isComposing?: boolean;\r\n isPasting?: boolean;\r\n keystrokeCount?: number;\r\n };\r\n }\r\n | {\r\n activityType: 'select';\r\n details: {\r\n selectionStart: number;\r\n selectionEnd: number;\r\n selectedText?: string;\r\n };\r\n }\r\n | { activityType: 'hover_enter'; details: { cursorPosition?: number } }\r\n | { activityType: 'hover_exit'; details: { duration: number } }\r\n | {\r\n activityType: 'scroll';\r\n details: { scrollTop: number; scrollLeft: number };\r\n }\r\n | { activityType: 'cursor_move'; details: { cursorPosition: number } }\r\n);\r\n\r\ntype PluginRegistryStore = {\r\n stateHandlers: Map<string, StateObject<any>>; // stateKey -> handler\r\n registerStateHandler: (stateKey: string, handler: StateObject<any>) => void;\r\n unregisterStateHandler: (stateKey: string) => void;\r\n registeredPlugins: readonly CogsPlugin<any, any, any, any, any>[];\r\n setRegisteredPlugins: (\r\n plugins: readonly CogsPlugin<any, any, any, any, any>[]\r\n ) => void;\r\n\r\n // Store options keyed by stateKey and pluginName\r\n pluginOptions: Map<string, Map<string, any>>; // stateKey -> pluginName -> options\r\n setPluginOptionsForState: (\r\n stateKey: string,\r\n pluginOptions: Record<string, any>\r\n ) => void;\r\n\r\n // Get all plugin configs for a specific stateKey\r\n getPluginConfigsForState: (stateKey: string) => Array<{\r\n plugin: CogsPlugin<any, any, any, any, any>;\r\n options: any;\r\n }>;\r\n updateSubscribers: Set<(update: UpdateTypeDetail) => void>;\r\n subscribeToUpdates: (\r\n callback: (update: UpdateTypeDetail) => void\r\n ) => () => void;\r\n notifyUpdate: (update: UpdateTypeDetail) => void;\r\n formUpdateSubscribers: Set<(event: ClientActivityEvent) => void>;\r\n subscribeToFormUpdates: (\r\n callback: (event: ClientActivityEvent) => void\r\n ) => () => void;\r\n notifyFormUpdate: (event: ClientActivityEvent) => void;\r\n hookResults: Map<string, Map<string, any>>; // stateKey -> pluginName -> hook\r\n setHookResult: (stateKey: string, pluginName: string, data: any) => void;\r\n getHookResult: (stateKey: string, pluginName: string) => any | undefined;\r\n removeHookResult: (stateKey: string, pluginName: string) => void;\r\n};\r\n\r\nexport const pluginStore = create<PluginRegistryStore>((set, get) => ({\r\n stateHandlers: new Map(),\r\n registerStateHandler: (stateKey, handler) =>\r\n set((state) => {\r\n const newMap = new Map(state.stateHandlers);\r\n newMap.set(stateKey, handler);\r\n return { stateHandlers: newMap };\r\n }),\r\n unregisterStateHandler: (stateKey) =>\r\n set((state) => {\r\n const newMap = new Map(state.stateHandlers);\r\n newMap.delete(stateKey);\r\n return { stateHandlers: newMap };\r\n }),\r\n registeredPlugins: [],\r\n pluginOptions: new Map(),\r\n\r\n setRegisteredPlugins: (plugins) => set({ registeredPlugins: plugins }),\r\n\r\n setPluginOptionsForState: (stateKey, pluginOptions) =>\r\n set((state) => {\r\n const newMap = new Map(state.pluginOptions);\r\n const statePluginMap = new Map();\r\n\r\n // Store each plugin's options\r\n Object.entries(pluginOptions).forEach(([pluginName, options]) => {\r\n // Only store if this is actually a registered plugin\r\n if (state.registeredPlugins.some((p) => p.name === pluginName)) {\r\n statePluginMap.set(pluginName, options);\r\n }\r\n });\r\n\r\n if (statePluginMap.size > 0) {\r\n newMap.set(stateKey, statePluginMap);\r\n }\r\n\r\n return { pluginOptions: newMap };\r\n }),\r\n\r\n getPluginConfigsForState: (stateKey) => {\r\n const state = get();\r\n const stateOptions = state.pluginOptions.get(stateKey);\r\n if (!stateOptions) return [];\r\n\r\n return state.registeredPlugins\r\n .map((plugin) => {\r\n const options = stateOptions.get(plugin.name);\r\n if (options !== undefined) {\r\n return { plugin, options };\r\n }\r\n return null;\r\n })\r\n .filter(Boolean) as Array<{\r\n plugin: CogsPlugin<any, any, any, any, any>;\r\n options: any;\r\n }>;\r\n },\r\n updateSubscribers: new Set(),\r\n subscribeToUpdates: (callback) => {\r\n const subscribers = get().updateSubscribers;\r\n subscribers.add(callback);\r\n // Return an unsubscribe function\r\n return () => {\r\n get().updateSubscribers.delete(callback);\r\n };\r\n },\r\n notifyUpdate: (update) => {\r\n // Call all registered subscribers with the update details\r\n get().updateSubscribers.forEach((callback) => callback(update));\r\n },\r\n formUpdateSubscribers: new Set(),\r\n subscribeToFormUpdates: (callback) => {\r\n const subscribers = get().formUpdateSubscribers;\r\n subscribers.add(callback);\r\n return () => {\r\n get().formUpdateSubscribers.delete(callback);\r\n };\r\n },\r\n notifyFormUpdate: (event) => {\r\n get().formUpdateSubscribers.forEach((callback) => callback(event));\r\n },\r\n hookResults: new Map(),\r\n\r\n setHookResult: (stateKey, pluginName, data) =>\r\n set((state) => {\r\n const next = new Map(state.hookResults);\r\n const byPlugin = new Map(next.get(stateKey) ?? new Map());\r\n if (data === undefined) byPlugin.delete(pluginName);\r\n else byPlugin.set(pluginName, data);\r\n if (byPlugin.size > 0) next.set(stateKey, byPlugin);\r\n else next.delete(stateKey);\r\n return { hookResults: next };\r\n }),\r\n\r\n getHookResult: (stateKey, pluginName) =>\r\n get().hookResults.get(stateKey)?.get(pluginName),\r\n\r\n removeHookResult: (stateKey, pluginName) =>\r\n set((state) => {\r\n const next = new Map(state.hookResults);\r\n const byPlugin = new Map(next.get(stateKey) ?? new Map());\r\n byPlugin.delete(pluginName);\r\n if (byPlugin.size > 0) next.set(stateKey, byPlugin);\r\n else next.delete(stateKey);\r\n return { hookResults: next };\r\n }),\r\n}));\r\n"],"names":["pluginStore","create","set","get","stateKey","handler","state","newMap","plugins","pluginOptions","statePluginMap","pluginName","options","stateOptions","plugin","callback","update","event","data","next","byPlugin"],"mappings":"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"}
|
package/dist/plugins.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { ReactNode, RefObject } from 'react';
|
|
3
3
|
import { StateObject, UpdateTypeDetail } from './CogsState';
|
|
4
4
|
import { ClientActivityEvent } from './pluginStore';
|
|
5
5
|
|
|
@@ -132,7 +132,7 @@ export type OnFormUpdateParams<TOptions, THookReturn, TPluginMetaData, TFieldMet
|
|
|
132
132
|
pluginName: string;
|
|
133
133
|
};
|
|
134
134
|
export type FormWrapperParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, TStateSlice = any> = ScopedMetadataMethods<TFieldMetaData> & {
|
|
135
|
-
element:
|
|
135
|
+
element: ReactNode;
|
|
136
136
|
path: string[];
|
|
137
137
|
stateKey: string;
|
|
138
138
|
options: TOptions;
|
|
@@ -159,7 +159,7 @@ export type CogsPlugin<TName extends string, TOptions, THookReturn, TPluginMetaD
|
|
|
159
159
|
transformState?: (params: TransformStateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
160
160
|
onUpdate?: (params: OnUpdateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
161
161
|
onFormUpdate?: (params: OnFormUpdateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
162
|
-
formWrapper?: (params: FormWrapperParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) =>
|
|
162
|
+
formWrapper?: (params: FormWrapperParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => ReactNode;
|
|
163
163
|
chainMethods?: TChainMethods;
|
|
164
164
|
};
|
|
165
165
|
export declare function createMetadataContext<TPluginMetaData, TFieldMetaData>(stateKey: string, pluginName: string): {
|
|
@@ -220,7 +220,7 @@ type MethodsBuilderParams = {
|
|
|
220
220
|
export type PluginTransformFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData> = (params: TransformStateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
221
221
|
export type PluginUpdateFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData> = (params: OnUpdateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
222
222
|
export type PluginFormUpdateFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData> = (params: OnFormUpdateParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => void;
|
|
223
|
-
export type PluginFormWrapperFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData> = (params: FormWrapperParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) =>
|
|
223
|
+
export type PluginFormWrapperFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData> = (params: FormWrapperParams<TOptions, THookReturn, TPluginMetaData, TFieldMetaData, any>) => ReactNode;
|
|
224
224
|
export type CogsPluginBuilder<TName extends string, TOptions, TPluginMetaData, TFieldMetaData, THookReturn, TChainMethods extends ChainMethodDefinitions, HasTransform extends boolean, HasUpdate extends boolean, HasFormUpdate extends boolean, HasMethods extends boolean, HasWrapper extends boolean, HasInitialState extends boolean, TInitialState extends Record<string, unknown> = {}> = Prettify<CogsPlugin<TName, TOptions, THookReturn, TPluginMetaData, TFieldMetaData, TChainMethods, TInitialState>> & (HasTransform extends true ? {} : {
|
|
225
225
|
transformState(fn: PluginTransformFn<TOptions, THookReturn, TPluginMetaData, TFieldMetaData>): CogsPluginBuilder<TName, TOptions, TPluginMetaData, TFieldMetaData, THookReturn, TChainMethods, true, HasUpdate, HasFormUpdate, HasMethods, HasWrapper, HasInitialState, TInitialState>;
|
|
226
226
|
}) & (HasUpdate extends true ? {} : {
|
package/dist/plugins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sources":["../src/plugins.ts"],"sourcesContent":["import { z } from 'zod';\r\nimport type React from 'react';\r\nimport { StateObject, UpdateTypeDetail } from './CogsState';\r\nimport {\r\n getGlobalStore,\r\n getAllFieldElements,\r\n setAllFieldsDisabled,\r\n} from './store';\r\nimport { ClientActivityEvent } from './pluginStore';\r\nimport { RefObject } from 'react';\r\n\r\ntype Prettify<T> = { [K in keyof T]: T[K] } & {};\r\n\r\nexport type ChainMethodTarget =\r\n | 'any'\r\n | 'array'\r\n | 'object'\r\n | 'primitive'\r\n | 'boolean';\r\n\r\nexport type ChainMethodContext<TOptions = any, THookReturn = any> = {\r\n stateKey: string;\r\n path: string[];\r\n pluginName: string;\r\n options: TOptions | undefined;\r\n hookData?: THookReturn;\r\n $get: () => any;\r\n $update: (payload: any) => { synced: () => void };\r\n $applyOperation: (operation: any, metaData?: Record<string, any>) => void;\r\n getFieldMetaData: () => any;\r\n setFieldMetaData: (data: Record<string, any>) => void;\r\n removeFieldMetaData: () => void;\r\n getFieldRefs: () => RefObject<any>[];\r\n getFieldElements: () => HTMLElement[];\r\n setFieldDisabled: (disabled: boolean) => void;\r\n};\r\n\r\nexport type ChainMethodHandler = (\r\n ctx: ChainMethodContext<any, any>,\r\n ...args: any[]\r\n) => any;\r\n\r\nexport type ChainMethodDefinition<\r\n THandler extends ChainMethodHandler = ChainMethodHandler,\r\n> = {\r\n target: ChainMethodTarget;\r\n pathPattern?: string[];\r\n handler: THandler;\r\n};\r\n\r\nexport type ChainMethodDefinitions = Record<string, ChainMethodDefinition<any>>;\r\n\r\ntype ChainMethodCallable<THandler> = THandler extends (\r\n ctx: any,\r\n ...args: infer TArgs\r\n) => infer TReturn\r\n ? (...args: TArgs) => TReturn\r\n : never;\r\n\r\nexport type ChainMethodCallables<TMethods> = {\r\n [K in keyof TMethods]: TMethods[K] extends ChainMethodDefinition<infer TFn>\r\n ? ChainMethodCallable<TFn>\r\n : never;\r\n};\r\n\r\nexport type KeyedTypes<TMap extends Record<string, any>> = {\r\n __key: 'keyed';\r\n map: TMap;\r\n};\r\n\r\nexport const keyedSchema = <TMap extends Record<string, any>>() =>\r\n z.object({\r\n __key: z.literal('keyed'),\r\n map: z.any(),\r\n }) as z.ZodType<KeyedTypes<TMap>>;\r\n\r\n// Helpers: turn a zod object shape into its inferred value shape\r\ntype InferZodObject<T extends Record<string, z.ZodTypeAny>> = {\r\n [K in keyof T]: z.infer<T[K]>;\r\n};\r\nexport type InferPerKeyValueMap<\r\n TMap extends Record<string, Record<string, z.ZodTypeAny>>,\r\n> = {\r\n [K in keyof TMap]: InferZodObject<TMap[K]>;\r\n};\r\n\r\n// Deconstructed cogs methods (no TState)\r\ntype DeconstructedCogsMethods<TStateSlice = any> = {\r\n initialiseState: (data: TStateSlice) => void;\r\n initialiseShadowState: (data: any) => void;\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) => void;\r\n addZodErrors: (errors: any[]) => void;\r\n getState: () => TStateSlice;\r\n setOptions: (options: any) => void;\r\n};\r\n\r\nexport function toDeconstructedMethods(stateHandler: StateObject<any>) {\r\n return {\r\n initialiseState: (data: any) => {\r\n stateHandler.$update(data);\r\n },\r\n initialiseShadowState: (data: any) => {\r\n stateHandler.$initializeAndMergeShadowState(data);\r\n },\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) =>\r\n stateHandler.$applyOperation(patch, meta),\r\n addZodErrors: (errors: any[]) => stateHandler.$addZodValidation(errors),\r\n getState: () => stateHandler.$get(),\r\n setOptions: (opts: any) => {\r\n stateHandler.$setOptions(opts);\r\n },\r\n };\r\n}\r\ntype ScopedMetadataMethods<TFieldMetaData> = {\r\n getFieldMetaData: () => TFieldMetaData | undefined;\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: () => void;\r\n getFieldRefs: () => RefObject<any>[];\r\n getFieldElements: () => HTMLElement[];\r\n setFieldDisabled: (disabled: boolean) => void;\r\n};\r\n\r\n// These are the existing global methods that still require a path.\r\ntype GlobalMetadataMethods<TFieldMetaData> = {\r\n getFieldMetaData: (path: string[]) => TFieldMetaData | undefined;\r\n setFieldMetaData: (path: string[], data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: (path: string[]) => void;\r\n getFieldRefs: (path: string[]) => RefObject<any>[];\r\n getFieldElements: (path: string[]) => HTMLElement[];\r\n setFieldDisabled: (path: string[], disabled: boolean) => void;\r\n getAllFieldElements: () => HTMLElement[];\r\n setAllFieldsDisabled: (disabled: boolean) => void;\r\n};\r\n// Simplified: All params use the same TFieldMetaData type\r\nexport type UseHookParams<\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n GlobalMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n options: TOptions;\r\n pluginName: string;\r\n isInitialMount: boolean;\r\n };\r\n\r\nexport type TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n GlobalMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n previousState?: TStateSlice;\r\n isInitialTransform: boolean;\r\n pluginName: string;\r\n };\r\n\r\nexport type OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n ScopedMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n update: UpdateTypeDetail;\r\n path?: string[];\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n\r\n previousValue?: any;\r\n nextValue?: any;\r\n updateSource?: 'user' | 'plugin' | 'system';\r\n\r\n pluginName: string;\r\n };\r\nexport type OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n ScopedMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n path: string[];\r\n event: ClientActivityEvent; // Update this to use the full event type\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n\r\n formState?: 'pristine' | 'dirty' | 'submitting' | 'submitted';\r\n pluginName: string;\r\n };\r\n\r\nexport type FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = ScopedMetadataMethods<TFieldMetaData> & {\r\n element: React.ReactNode;\r\n path: string[];\r\n stateKey: string;\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n fieldType?: string;\r\n wrapperDepth?: number;\r\n\r\n // Deconstructed methods\r\n initialiseState: (data: TStateSlice) => void;\r\n initialiseShadowState: (data: any) => void;\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) => void;\r\n addZodErrors: (errors: any[]) => void;\r\n getState: () => TStateSlice;\r\n setOptions: (options: any) => void;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n pluginName: string;\r\n};\r\n\r\n// Unified plugin definition\r\nexport type CogsPlugin<\r\n TName extends string,\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n TInitialState extends Record<string, unknown> = {},\r\n> = {\r\n name: TName;\r\n\r\n initialState?: () => TInitialState;\r\n\r\n useHook?: (\r\n params: UseHookParams<TOptions, TPluginMetaData, TFieldMetaData, any>\r\n ) => THookReturn;\r\n\r\n transformState?: (\r\n params: TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n onUpdate?: (\r\n params: OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n onFormUpdate?: (\r\n params: OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n formWrapper?: (\r\n params: FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => React.ReactNode;\r\n\r\n chainMethods?: TChainMethods;\r\n};\r\n\r\n// Metadata helpers\r\nexport function createMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey: string,\r\n pluginName: string\r\n) {\r\n return {\r\n getPluginMetaData: (): TPluginMetaData | undefined =>\r\n getGlobalStore\r\n .getState()\r\n .getPluginMetaDataMap(stateKey, [])\r\n ?.get(pluginName) as TPluginMetaData | undefined,\r\n\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) =>\r\n getGlobalStore\r\n .getState()\r\n .setPluginMetaData(stateKey, [], pluginName, data),\r\n\r\n removePluginMetaData: () =>\r\n getGlobalStore.getState().removePluginMetaData(stateKey, [], pluginName),\r\n\r\n getFieldMetaData: (path: string[]): TFieldMetaData | undefined =>\r\n getGlobalStore\r\n .getState()\r\n .getPluginMetaDataMap(stateKey, path)\r\n ?.get(pluginName) as TFieldMetaData | undefined,\r\n\r\n setFieldMetaData: (path: string[], data: Partial<TFieldMetaData>) =>\r\n getGlobalStore\r\n .getState()\r\n .setPluginMetaData(stateKey, path, pluginName, data),\r\n\r\n removeFieldMetaData: (path: string[]) =>\r\n getGlobalStore\r\n .getState()\r\n .removePluginMetaData(stateKey, path, pluginName),\r\n getFieldRefs: (path: string[]): RefObject<any>[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const refs: RefObject<any>[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) refs.push(entry.domRef);\r\n });\r\n return refs;\r\n },\r\n\r\n getFieldElements: (path: string[]): HTMLElement[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const elements: HTMLElement[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) elements.push(entry.domRef.current);\r\n });\r\n return elements;\r\n },\r\n\r\n setFieldDisabled: (path: string[], disabled: boolean) => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return;\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n const el = entry.domRef?.current;\r\n if (!el) return;\r\n if ('disabled' in el) el.disabled = disabled;\r\n else {\r\n el.style.pointerEvents = disabled ? 'none' : '';\r\n el.setAttribute('aria-disabled', String(disabled));\r\n }\r\n });\r\n },\r\n getAllFieldElements: (): HTMLElement[] => {\r\n return getAllFieldElements(stateKey);\r\n },\r\n\r\n setAllFieldsDisabled: (disabled: boolean): void =>\r\n setAllFieldsDisabled(stateKey, disabled),\r\n };\r\n}\r\n\r\nexport function createScopedMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey: string,\r\n pluginName: string,\r\n path: string[]\r\n) {\r\n const globalContext = createMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey,\r\n pluginName\r\n );\r\n\r\n return {\r\n ...globalContext,\r\n getFieldMetaData: (): TFieldMetaData | undefined =>\r\n globalContext.getFieldMetaData(path),\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) =>\r\n globalContext.setFieldMetaData(path, data),\r\n removeFieldMetaData: () => globalContext.removeFieldMetaData(path),\r\n\r\n // NEW: Direct access to the DOM refs for this field\r\n getFieldRefs: (): RefObject<any>[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const refs: RefObject<any>[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) {\r\n refs.push(entry.domRef);\r\n }\r\n });\r\n return refs;\r\n },\r\n\r\n getFieldElements: (): HTMLElement[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const elements: HTMLElement[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) {\r\n elements.push(entry.domRef.current);\r\n }\r\n });\r\n return elements;\r\n },\r\n\r\n setFieldDisabled: (disabled: boolean) => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return;\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n const el = entry.domRef?.current;\r\n if (!el) return;\r\n if ('disabled' in el) {\r\n el.disabled = disabled;\r\n } else {\r\n el.style.pointerEvents = disabled ? 'none' : '';\r\n el.setAttribute('aria-disabled', String(disabled));\r\n }\r\n });\r\n },\r\n };\r\n}\r\n// Add this type export - derives from what createScopedMetadataContext returns\r\nexport type ScopedMetadataContext<TFieldMetaData = any> = {\r\n getFieldMetaData: () => TFieldMetaData | undefined;\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: () => void;\r\n};\r\n\r\n// Type for a single plugin's API entry in ValidationWrapper\r\nexport type PluginApiEntry<THookData = any, TFieldMetaData = any> = {\r\n hookData: THookData | undefined;\r\n} & ScopedMetadataContext<TFieldMetaData>;\r\n\r\n// Type for the entire plugins API object passed to validation render prop\r\nexport type PluginsApi = Record<string, PluginApiEntry>;\r\ntype ZodObjOutput<T extends z.ZodObject<any>> = {\r\n [K in keyof T['shape']]: z.output<T['shape'][K]>;\r\n};\r\ntype OutputOf<T extends z.ZodTypeAny> =\r\n T extends z.ZodObject<any> ? Prettify<ZodObjOutput<T>> : z.output<T>;\r\n\r\ntype MethodFactory = <THandler extends ChainMethodHandler>(\r\n handler: THandler\r\n) => ChainMethodDefinition<THandler>;\r\n\r\ntype PathMethodFactory = MethodFactory & {\r\n array: MethodFactory;\r\n object: MethodFactory;\r\n primitive: MethodFactory;\r\n boolean: MethodFactory;\r\n field: MethodFactory;\r\n};\r\n\r\ntype MethodsBuilderParams = {\r\n path: (selector: (state: any) => any) => PathMethodFactory;\r\n array: MethodFactory;\r\n object: MethodFactory;\r\n primitive: MethodFactory;\r\n boolean: MethodFactory;\r\n field: MethodFactory;\r\n};\r\n\r\nconst createMethodDefinition =\r\n (target: ChainMethodTarget, pathPattern?: string[]): MethodFactory =>\r\n (handler) => ({\r\n target,\r\n pathPattern,\r\n handler,\r\n });\r\n\r\nconst createPathRecorder = () => {\r\n const path: string[] = [];\r\n\r\n const recorder = new Proxy(\r\n {},\r\n {\r\n get(_target, prop) {\r\n if (typeof prop !== 'string') return recorder;\r\n if (prop === 'then') return undefined;\r\n path.push(prop === '$' ? '*' : prop);\r\n return recorder;\r\n },\r\n }\r\n );\r\n\r\n return { recorder, path };\r\n};\r\n\r\nconst createMethodsBuilderParams = (): MethodsBuilderParams => {\r\n const path = (selector: (state: any) => any): PathMethodFactory => {\r\n const { recorder, path: pathPattern } = createPathRecorder();\r\n selector(recorder);\r\n\r\n const base = createMethodDefinition(\r\n 'any',\r\n pathPattern\r\n ) as PathMethodFactory;\r\n base.array = createMethodDefinition('array', pathPattern);\r\n base.object = createMethodDefinition('object', pathPattern);\r\n base.primitive = createMethodDefinition('primitive', pathPattern);\r\n base.boolean = createMethodDefinition('boolean', pathPattern);\r\n base.field = createMethodDefinition('any', pathPattern);\r\n\r\n return base;\r\n };\r\n\r\n return {\r\n path,\r\n array: createMethodDefinition('array'),\r\n object: createMethodDefinition('object'),\r\n primitive: createMethodDefinition('primitive'),\r\n boolean: createMethodDefinition('boolean'),\r\n field: createMethodDefinition('any'),\r\n };\r\n};\r\n// --- EXTRACTED BUILDER TYPES (Solves TS7056 Serialization Error) ---\r\n\r\nexport type PluginTransformFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginFormUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginFormWrapperFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => React.ReactNode;\r\n\r\nexport type CogsPluginBuilder<\r\n TName extends string,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods extends ChainMethodDefinitions,\r\n HasTransform extends boolean,\r\n HasUpdate extends boolean,\r\n HasFormUpdate extends boolean,\r\n HasMethods extends boolean,\r\n HasWrapper extends boolean,\r\n HasInitialState extends boolean,\r\n TInitialState extends Record<string, unknown> = {},\r\n> = Prettify<\r\n CogsPlugin<\r\n TName,\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TChainMethods,\r\n TInitialState\r\n >\r\n> &\r\n (HasTransform extends true\r\n ? {}\r\n : {\r\n transformState(\r\n fn: PluginTransformFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n true,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasUpdate extends true\r\n ? {}\r\n : {\r\n onUpdate(\r\n fn: PluginUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n true,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasFormUpdate extends true\r\n ? {}\r\n : {\r\n onFormUpdate(\r\n fn: PluginFormUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n true,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasMethods extends true\r\n ? {}\r\n : {\r\n methods<TNextMethods extends ChainMethodDefinitions>(\r\n fn: (helpers: MethodsBuilderParams) => TNextMethods\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TNextMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n true,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasWrapper extends true\r\n ? {}\r\n : {\r\n formWrapper(\r\n fn: PluginFormWrapperFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n true,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasInitialState extends true\r\n ? {}\r\n : {\r\n initialState<TNewState extends Record<string, unknown>>(\r\n fn: () => TNewState\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n true,\r\n TNewState\r\n >;\r\n });\n\r\nexport type CreatePluginStart<\r\n TName extends string,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n> & {\r\n useHook<THookReturn>(\r\n hookFn: (\r\n params: UseHookParams<TOptions, TPluginMetaData, TFieldMetaData, any>\r\n ) => THookReturn\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n >;\r\n initialState<TNewState extends Record<string, unknown>>(\r\n fn: () => TNewState\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n true,\r\n TNewState\r\n >;\r\n};\r\n\r\n// --- UPDATED EXPLICIT CONTEXT ---\r\n\r\nexport function createPluginContext<\r\n O extends z.ZodTypeAny | undefined = undefined,\r\n PM extends z.ZodTypeAny | undefined = undefined,\r\n FM extends z.ZodTypeAny | undefined = undefined,\r\n>(schemas?: {\r\n options?: O;\r\n pluginMetaData?: PM;\r\n fieldMetaData?: FM;\r\n}): {\r\n // EXPLICIT RETURN ANNOTATION STOPS TS FROM SERIALIZING\r\n createPlugin: <TName extends string>(\r\n name: TName\r\n ) => CreatePluginStart<\r\n TName,\r\n O extends z.ZodTypeAny ? OutputOf<O> : undefined,\r\n PM extends z.ZodTypeAny ? OutputOf<PM> : unknown,\r\n FM extends z.ZodTypeAny ? OutputOf<FM> : unknown\r\n >;\r\n} {\r\n type Options = O extends z.ZodTypeAny ? OutputOf<O> : undefined;\r\n type PluginMetaData = PM extends z.ZodTypeAny ? OutputOf<PM> : unknown;\r\n type FieldMetaData = FM extends z.ZodTypeAny ? OutputOf<FM> : unknown;\r\n\r\n function createPlugin<TName extends string>(name: TName) {\r\n type Builder<\r\n THookReturn,\r\n TChainMethods extends ChainMethodDefinitions,\r\n HT extends boolean,\r\n HU extends boolean,\r\n HFU extends boolean,\r\n HM extends boolean,\r\n HW extends boolean,\r\n HI extends boolean,\r\n TInitialState extends Record<string, unknown> = {},\r\n > = CogsPluginBuilder<\r\n TName,\r\n Options,\r\n PluginMetaData,\r\n FieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HT,\r\n HU,\r\n HFU,\r\n HM,\r\n HW,\r\n HI,\r\n TInitialState\r\n >;\r\n\r\n const createPluginObject = <\r\n THookReturn = never,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n TInitialState extends Record<string, unknown> = {},\r\n >(\r\n hookFn?: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn,\r\n transformFn?: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n updateHandler?: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n formUpdateHandler?: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n chainMethods?: TChainMethods,\r\n initialStateFn?: () => TInitialState,\r\n wrapperFn?: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ): Prettify<\r\n CogsPlugin<\r\n TName,\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData,\r\n TChainMethods,\r\n TInitialState\r\n >\r\n > => {\r\n return {\r\n name,\r\n initialState: initialStateFn,\r\n useHook: hookFn as any,\r\n transformState: transformFn as any,\r\n onUpdate: updateHandler as any,\r\n onFormUpdate: formUpdateHandler as any,\r\n formWrapper: wrapperFn as any,\r\n chainMethods,\r\n };\r\n };\r\n\r\n function createBuilder<\r\n THookReturn = never,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n HasTransform extends boolean = false,\r\n HasUpdate extends boolean = false,\r\n HasFormUpdate extends boolean = false,\r\n HasMethods extends boolean = false,\r\n HasWrapper extends boolean = false,\r\n HasInitialState extends boolean = false,\r\n TInitialState extends Record<string, unknown> = {},\r\n >(\r\n hookFn?: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn,\r\n transformFn?: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n updateHandler?: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n formUpdateHandler?: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n chainMethods?: TChainMethods,\r\n initialStateFn?: () => TInitialState,\r\n wrapperFn?: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ): Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n > {\r\n const plugin = createPluginObject<THookReturn, TChainMethods, TInitialState>(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n\r\n const methods = {} as Partial<\r\n Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >\r\n >;\r\n\r\n if (!transformFn) {\r\n (methods as any).transformState = (\r\n fn: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n true,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n fn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!updateHandler) {\r\n (methods as any).onUpdate = (\r\n fn: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n true,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n fn,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!formUpdateHandler) {\r\n (methods as any).onFormUpdate = (\r\n fn: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n true,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n fn,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!chainMethods) {\r\n (methods as any).methods = <\r\n TNextMethods extends ChainMethodDefinitions,\r\n >(\r\n fn: (helpers: MethodsBuilderParams) => TNextMethods\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TNextMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n true,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n fn(createMethodsBuilderParams()),\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!initialStateFn) {\r\n (methods as any).initialState = <TNewState extends Record<string, unknown>>(fn: () => TNewState) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n true,\r\n TNewState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n fn,\r\n wrapperFn\r\n );\r\n }\r\n if (!wrapperFn) {\r\n (methods as any).formWrapper = (\r\n fn: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n true,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n fn\r\n );\r\n }\r\n\r\n return Object.assign(plugin, methods) as Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }\r\n\r\n const start = Object.assign(\r\n createBuilder<never, {}, false, false, false, false, false, false, {}>(),\r\n {\r\n useHook<THookReturn>(\r\n hookFn: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn\r\n ) {\r\n return createBuilder<\r\n THookReturn,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n >(hookFn);\r\n },\r\n initialState<TNewState extends Record<string, unknown>>(fn: () => TNewState) {\r\n return createBuilder<\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n true,\r\n TNewState\r\n >(undefined, undefined, undefined, undefined, undefined, fn);\r\n },\r\n }\r\n ) as CreatePluginStart<TName, Options, PluginMetaData, FieldMetaData>;\r\n\r\n return start;\r\n }\r\n\r\n return { createPlugin };\r\n}\r\n"],"names":["keyedSchema","z","toDeconstructedMethods","stateHandler","data","patch","meta","errors","opts","createMetadataContext","stateKey","pluginName","getGlobalStore","path","refs","entry","elements","disabled","el","getAllFieldElements","setAllFieldsDisabled","createScopedMetadataContext","globalContext","createMethodDefinition","target","pathPattern","handler","createPathRecorder","recorder","_target","prop","createMethodsBuilderParams","selector","base","createPluginContext","schemas","createPlugin","name","createPluginObject","hookFn","transformFn","updateHandler","formUpdateHandler","chainMethods","initialStateFn","wrapperFn","createBuilder","plugin","methods","fn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugins.js","sources":["../src/plugins.ts"],"sourcesContent":["import { z } from 'zod';\r\nimport type { ReactNode, RefObject } from 'react';\r\nimport { StateObject, UpdateTypeDetail } from './CogsState';\r\nimport {\r\n getGlobalStore,\r\n getAllFieldElements,\r\n setAllFieldsDisabled,\r\n} from './store';\r\nimport { ClientActivityEvent } from './pluginStore';\r\n\r\ntype Prettify<T> = { [K in keyof T]: T[K] } & {};\r\n\r\nexport type ChainMethodTarget =\r\n | 'any'\r\n | 'array'\r\n | 'object'\r\n | 'primitive'\r\n | 'boolean';\r\n\r\nexport type ChainMethodContext<TOptions = any, THookReturn = any> = {\r\n stateKey: string;\r\n path: string[];\r\n pluginName: string;\r\n options: TOptions | undefined;\r\n hookData?: THookReturn;\r\n $get: () => any;\r\n $update: (payload: any) => { synced: () => void };\r\n $applyOperation: (operation: any, metaData?: Record<string, any>) => void;\r\n getFieldMetaData: () => any;\r\n setFieldMetaData: (data: Record<string, any>) => void;\r\n removeFieldMetaData: () => void;\r\n getFieldRefs: () => RefObject<any>[];\r\n getFieldElements: () => HTMLElement[];\r\n setFieldDisabled: (disabled: boolean) => void;\r\n};\r\n\r\nexport type ChainMethodHandler = (\r\n ctx: ChainMethodContext<any, any>,\r\n ...args: any[]\r\n) => any;\r\n\r\nexport type ChainMethodDefinition<\r\n THandler extends ChainMethodHandler = ChainMethodHandler,\r\n> = {\r\n target: ChainMethodTarget;\r\n pathPattern?: string[];\r\n handler: THandler;\r\n};\r\n\r\nexport type ChainMethodDefinitions = Record<string, ChainMethodDefinition<any>>;\r\n\r\ntype ChainMethodCallable<THandler> = THandler extends (\r\n ctx: any,\r\n ...args: infer TArgs\r\n) => infer TReturn\r\n ? (...args: TArgs) => TReturn\r\n : never;\r\n\r\nexport type ChainMethodCallables<TMethods> = {\r\n [K in keyof TMethods]: TMethods[K] extends ChainMethodDefinition<infer TFn>\r\n ? ChainMethodCallable<TFn>\r\n : never;\r\n};\r\n\r\nexport type KeyedTypes<TMap extends Record<string, any>> = {\r\n __key: 'keyed';\r\n map: TMap;\r\n};\r\n\r\nexport const keyedSchema = <TMap extends Record<string, any>>() =>\r\n z.object({\r\n __key: z.literal('keyed'),\r\n map: z.any(),\r\n }) as z.ZodType<KeyedTypes<TMap>>;\r\n\r\n// Helpers: turn a zod object shape into its inferred value shape\r\ntype InferZodObject<T extends Record<string, z.ZodTypeAny>> = {\r\n [K in keyof T]: z.infer<T[K]>;\r\n};\r\nexport type InferPerKeyValueMap<\r\n TMap extends Record<string, Record<string, z.ZodTypeAny>>,\r\n> = {\r\n [K in keyof TMap]: InferZodObject<TMap[K]>;\r\n};\r\n\r\n// Deconstructed cogs methods (no TState)\r\ntype DeconstructedCogsMethods<TStateSlice = any> = {\r\n initialiseState: (data: TStateSlice) => void;\r\n initialiseShadowState: (data: any) => void;\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) => void;\r\n addZodErrors: (errors: any[]) => void;\r\n getState: () => TStateSlice;\r\n setOptions: (options: any) => void;\r\n};\r\n\r\nexport function toDeconstructedMethods(stateHandler: StateObject<any>) {\r\n return {\r\n initialiseState: (data: any) => {\r\n stateHandler.$update(data);\r\n },\r\n initialiseShadowState: (data: any) => {\r\n stateHandler.$initializeAndMergeShadowState(data);\r\n },\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) =>\r\n stateHandler.$applyOperation(patch, meta),\r\n addZodErrors: (errors: any[]) => stateHandler.$addZodValidation(errors),\r\n getState: () => stateHandler.$get(),\r\n setOptions: (opts: any) => {\r\n stateHandler.$setOptions(opts);\r\n },\r\n };\r\n}\r\ntype ScopedMetadataMethods<TFieldMetaData> = {\r\n getFieldMetaData: () => TFieldMetaData | undefined;\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: () => void;\r\n getFieldRefs: () => RefObject<any>[];\r\n getFieldElements: () => HTMLElement[];\r\n setFieldDisabled: (disabled: boolean) => void;\r\n};\r\n\r\n// These are the existing global methods that still require a path.\r\ntype GlobalMetadataMethods<TFieldMetaData> = {\r\n getFieldMetaData: (path: string[]) => TFieldMetaData | undefined;\r\n setFieldMetaData: (path: string[], data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: (path: string[]) => void;\r\n getFieldRefs: (path: string[]) => RefObject<any>[];\r\n getFieldElements: (path: string[]) => HTMLElement[];\r\n setFieldDisabled: (path: string[], disabled: boolean) => void;\r\n getAllFieldElements: () => HTMLElement[];\r\n setAllFieldsDisabled: (disabled: boolean) => void;\r\n};\r\n// Simplified: All params use the same TFieldMetaData type\r\nexport type UseHookParams<\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n GlobalMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n options: TOptions;\r\n pluginName: string;\r\n isInitialMount: boolean;\r\n };\r\n\r\nexport type TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n GlobalMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n previousState?: TStateSlice;\r\n isInitialTransform: boolean;\r\n pluginName: string;\r\n };\r\n\r\nexport type OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n ScopedMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n update: UpdateTypeDetail;\r\n path?: string[];\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n\r\n previousValue?: any;\r\n nextValue?: any;\r\n updateSource?: 'user' | 'plugin' | 'system';\r\n\r\n pluginName: string;\r\n };\r\nexport type OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = DeconstructedCogsMethods<TStateSlice> &\r\n ScopedMetadataMethods<TFieldMetaData> & {\r\n stateKey: string;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n path: string[];\r\n event: ClientActivityEvent; // Update this to use the full event type\r\n\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n\r\n formState?: 'pristine' | 'dirty' | 'submitting' | 'submitted';\r\n pluginName: string;\r\n };\r\n\r\nexport type FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TStateSlice = any,\r\n> = ScopedMetadataMethods<TFieldMetaData> & {\r\n element: ReactNode;\r\n path: string[];\r\n stateKey: string;\r\n options: TOptions;\r\n hookData?: THookReturn;\r\n fieldType?: string;\r\n wrapperDepth?: number;\r\n\r\n // Deconstructed methods\r\n initialiseState: (data: TStateSlice) => void;\r\n initialiseShadowState: (data: any) => void;\r\n applyOperation: (patch: any, meta?: { dontUpdate?: boolean }) => void;\r\n addZodErrors: (errors: any[]) => void;\r\n getState: () => TStateSlice;\r\n setOptions: (options: any) => void;\r\n\r\n getPluginMetaData: () => TPluginMetaData | undefined;\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) => void;\r\n removePluginMetaData: () => void;\r\n\r\n pluginName: string;\r\n};\r\n\r\n// Unified plugin definition\r\nexport type CogsPlugin<\r\n TName extends string,\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n TInitialState extends Record<string, unknown> = {},\r\n> = {\r\n name: TName;\r\n\r\n initialState?: () => TInitialState;\r\n\r\n useHook?: (\r\n params: UseHookParams<TOptions, TPluginMetaData, TFieldMetaData, any>\r\n ) => THookReturn;\r\n\r\n transformState?: (\r\n params: TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n onUpdate?: (\r\n params: OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n onFormUpdate?: (\r\n params: OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => void;\r\n\r\n formWrapper?: (\r\n params: FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n ) => ReactNode;\r\n\r\n chainMethods?: TChainMethods;\r\n};\r\n\r\n// Metadata helpers\r\nexport function createMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey: string,\r\n pluginName: string\r\n) {\r\n return {\r\n getPluginMetaData: (): TPluginMetaData | undefined =>\r\n getGlobalStore\r\n .getState()\r\n .getPluginMetaDataMap(stateKey, [])\r\n ?.get(pluginName) as TPluginMetaData | undefined,\r\n\r\n setPluginMetaData: (data: Partial<TPluginMetaData>) =>\r\n getGlobalStore\r\n .getState()\r\n .setPluginMetaData(stateKey, [], pluginName, data),\r\n\r\n removePluginMetaData: () =>\r\n getGlobalStore.getState().removePluginMetaData(stateKey, [], pluginName),\r\n\r\n getFieldMetaData: (path: string[]): TFieldMetaData | undefined =>\r\n getGlobalStore\r\n .getState()\r\n .getPluginMetaDataMap(stateKey, path)\r\n ?.get(pluginName) as TFieldMetaData | undefined,\r\n\r\n setFieldMetaData: (path: string[], data: Partial<TFieldMetaData>) =>\r\n getGlobalStore\r\n .getState()\r\n .setPluginMetaData(stateKey, path, pluginName, data),\r\n\r\n removeFieldMetaData: (path: string[]) =>\r\n getGlobalStore\r\n .getState()\r\n .removePluginMetaData(stateKey, path, pluginName),\r\n getFieldRefs: (path: string[]): RefObject<any>[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const refs: RefObject<any>[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) refs.push(entry.domRef);\r\n });\r\n return refs;\r\n },\r\n\r\n getFieldElements: (path: string[]): HTMLElement[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const elements: HTMLElement[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) elements.push(entry.domRef.current);\r\n });\r\n return elements;\r\n },\r\n\r\n setFieldDisabled: (path: string[], disabled: boolean) => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return;\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n const el = entry.domRef?.current;\r\n if (!el) return;\r\n if ('disabled' in el) el.disabled = disabled;\r\n else {\r\n el.style.pointerEvents = disabled ? 'none' : '';\r\n el.setAttribute('aria-disabled', String(disabled));\r\n }\r\n });\r\n },\r\n getAllFieldElements: (): HTMLElement[] => {\r\n return getAllFieldElements(stateKey);\r\n },\r\n\r\n setAllFieldsDisabled: (disabled: boolean): void =>\r\n setAllFieldsDisabled(stateKey, disabled),\r\n };\r\n}\r\n\r\nexport function createScopedMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey: string,\r\n pluginName: string,\r\n path: string[]\r\n) {\r\n const globalContext = createMetadataContext<TPluginMetaData, TFieldMetaData>(\r\n stateKey,\r\n pluginName\r\n );\r\n\r\n return {\r\n ...globalContext,\r\n getFieldMetaData: (): TFieldMetaData | undefined =>\r\n globalContext.getFieldMetaData(path),\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) =>\r\n globalContext.setFieldMetaData(path, data),\r\n removeFieldMetaData: () => globalContext.removeFieldMetaData(path),\r\n\r\n // NEW: Direct access to the DOM refs for this field\r\n getFieldRefs: (): RefObject<any>[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const refs: RefObject<any>[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) {\r\n refs.push(entry.domRef);\r\n }\r\n });\r\n return refs;\r\n },\r\n\r\n getFieldElements: (): HTMLElement[] => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return [];\r\n const elements: HTMLElement[] = [];\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n if (entry.domRef?.current) {\r\n elements.push(entry.domRef.current);\r\n }\r\n });\r\n return elements;\r\n },\r\n\r\n setFieldDisabled: (disabled: boolean) => {\r\n const meta = getGlobalStore.getState().getShadowMetadata(stateKey, path);\r\n if (!meta?.clientActivityState?.elements) return;\r\n meta.clientActivityState.elements.forEach((entry: any) => {\r\n const el = entry.domRef?.current;\r\n if (!el) return;\r\n if ('disabled' in el) {\r\n el.disabled = disabled;\r\n } else {\r\n el.style.pointerEvents = disabled ? 'none' : '';\r\n el.setAttribute('aria-disabled', String(disabled));\r\n }\r\n });\r\n },\r\n };\r\n}\r\n// Add this type export - derives from what createScopedMetadataContext returns\r\nexport type ScopedMetadataContext<TFieldMetaData = any> = {\r\n getFieldMetaData: () => TFieldMetaData | undefined;\r\n setFieldMetaData: (data: Partial<TFieldMetaData>) => void;\r\n removeFieldMetaData: () => void;\r\n};\r\n\r\n// Type for a single plugin's API entry in ValidationWrapper\r\nexport type PluginApiEntry<THookData = any, TFieldMetaData = any> = {\r\n hookData: THookData | undefined;\r\n} & ScopedMetadataContext<TFieldMetaData>;\r\n\r\n// Type for the entire plugins API object passed to validation render prop\r\nexport type PluginsApi = Record<string, PluginApiEntry>;\r\ntype ZodObjOutput<T extends z.ZodObject<any>> = {\r\n [K in keyof T['shape']]: z.output<T['shape'][K]>;\r\n};\r\ntype OutputOf<T extends z.ZodTypeAny> =\r\n T extends z.ZodObject<any> ? Prettify<ZodObjOutput<T>> : z.output<T>;\r\n\r\ntype MethodFactory = <THandler extends ChainMethodHandler>(\r\n handler: THandler\r\n) => ChainMethodDefinition<THandler>;\r\n\r\ntype PathMethodFactory = MethodFactory & {\r\n array: MethodFactory;\r\n object: MethodFactory;\r\n primitive: MethodFactory;\r\n boolean: MethodFactory;\r\n field: MethodFactory;\r\n};\r\n\r\ntype MethodsBuilderParams = {\r\n path: (selector: (state: any) => any) => PathMethodFactory;\r\n array: MethodFactory;\r\n object: MethodFactory;\r\n primitive: MethodFactory;\r\n boolean: MethodFactory;\r\n field: MethodFactory;\r\n};\r\n\r\nconst createMethodDefinition =\r\n (target: ChainMethodTarget, pathPattern?: string[]): MethodFactory =>\r\n (handler) => ({\r\n target,\r\n pathPattern,\r\n handler,\r\n });\r\n\r\nconst createPathRecorder = () => {\r\n const path: string[] = [];\r\n\r\n const recorder = new Proxy(\r\n {},\r\n {\r\n get(_target, prop) {\r\n if (typeof prop !== 'string') return recorder;\r\n if (prop === 'then') return undefined;\r\n path.push(prop === '$' ? '*' : prop);\r\n return recorder;\r\n },\r\n }\r\n );\r\n\r\n return { recorder, path };\r\n};\r\n\r\nconst createMethodsBuilderParams = (): MethodsBuilderParams => {\r\n const path = (selector: (state: any) => any): PathMethodFactory => {\r\n const { recorder, path: pathPattern } = createPathRecorder();\r\n selector(recorder);\r\n\r\n const base = createMethodDefinition(\r\n 'any',\r\n pathPattern\r\n ) as PathMethodFactory;\r\n base.array = createMethodDefinition('array', pathPattern);\r\n base.object = createMethodDefinition('object', pathPattern);\r\n base.primitive = createMethodDefinition('primitive', pathPattern);\r\n base.boolean = createMethodDefinition('boolean', pathPattern);\r\n base.field = createMethodDefinition('any', pathPattern);\r\n\r\n return base;\r\n };\r\n\r\n return {\r\n path,\r\n array: createMethodDefinition('array'),\r\n object: createMethodDefinition('object'),\r\n primitive: createMethodDefinition('primitive'),\r\n boolean: createMethodDefinition('boolean'),\r\n field: createMethodDefinition('any'),\r\n };\r\n};\r\n// --- EXTRACTED BUILDER TYPES (Solves TS7056 Serialization Error) ---\r\n\r\nexport type PluginTransformFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: TransformStateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: OnUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginFormUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: OnFormUpdateParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => void;\r\n\r\nexport type PluginFormWrapperFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = (\r\n params: FormWrapperParams<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n any\r\n >\r\n) => ReactNode;\r\n\r\nexport type CogsPluginBuilder<\r\n TName extends string,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods extends ChainMethodDefinitions,\r\n HasTransform extends boolean,\r\n HasUpdate extends boolean,\r\n HasFormUpdate extends boolean,\r\n HasMethods extends boolean,\r\n HasWrapper extends boolean,\r\n HasInitialState extends boolean,\r\n TInitialState extends Record<string, unknown> = {},\r\n> = Prettify<\r\n CogsPlugin<\r\n TName,\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n TChainMethods,\r\n TInitialState\r\n >\r\n> &\r\n (HasTransform extends true\r\n ? {}\r\n : {\r\n transformState(\r\n fn: PluginTransformFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n true,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasUpdate extends true\r\n ? {}\r\n : {\r\n onUpdate(\r\n fn: PluginUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n true,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasFormUpdate extends true\r\n ? {}\r\n : {\r\n onFormUpdate(\r\n fn: PluginFormUpdateFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n true,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasMethods extends true\r\n ? {}\r\n : {\r\n methods<TNextMethods extends ChainMethodDefinitions>(\r\n fn: (helpers: MethodsBuilderParams) => TNextMethods\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TNextMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n true,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasWrapper extends true\r\n ? {}\r\n : {\r\n formWrapper(\r\n fn: PluginFormWrapperFn<\r\n TOptions,\r\n THookReturn,\r\n TPluginMetaData,\r\n TFieldMetaData\r\n >\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n true,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }) &\r\n (HasInitialState extends true\r\n ? {}\r\n : {\r\n initialState<TNewState extends Record<string, unknown>>(\r\n fn: () => TNewState\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n true,\r\n TNewState\r\n >;\r\n });\r\n\r\nexport type CreatePluginStart<\r\n TName extends string,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n> = CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n> & {\r\n useHook<THookReturn>(\r\n hookFn: (\r\n params: UseHookParams<TOptions, TPluginMetaData, TFieldMetaData, any>\r\n ) => THookReturn\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n THookReturn,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n >;\r\n initialState<TNewState extends Record<string, unknown>>(\r\n fn: () => TNewState\r\n ): CogsPluginBuilder<\r\n TName,\r\n TOptions,\r\n TPluginMetaData,\r\n TFieldMetaData,\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n true,\r\n TNewState\r\n >;\r\n};\r\n\r\n// --- UPDATED EXPLICIT CONTEXT ---\r\n\r\nexport function createPluginContext<\r\n O extends z.ZodTypeAny | undefined = undefined,\r\n PM extends z.ZodTypeAny | undefined = undefined,\r\n FM extends z.ZodTypeAny | undefined = undefined,\r\n>(schemas?: {\r\n options?: O;\r\n pluginMetaData?: PM;\r\n fieldMetaData?: FM;\r\n}): {\r\n // EXPLICIT RETURN ANNOTATION STOPS TS FROM SERIALIZING\r\n createPlugin: <TName extends string>(\r\n name: TName\r\n ) => CreatePluginStart<\r\n TName,\r\n O extends z.ZodTypeAny ? OutputOf<O> : undefined,\r\n PM extends z.ZodTypeAny ? OutputOf<PM> : unknown,\r\n FM extends z.ZodTypeAny ? OutputOf<FM> : unknown\r\n >;\r\n} {\r\n type Options = O extends z.ZodTypeAny ? OutputOf<O> : undefined;\r\n type PluginMetaData = PM extends z.ZodTypeAny ? OutputOf<PM> : unknown;\r\n type FieldMetaData = FM extends z.ZodTypeAny ? OutputOf<FM> : unknown;\r\n\r\n function createPlugin<TName extends string>(name: TName) {\r\n type Builder<\r\n THookReturn,\r\n TChainMethods extends ChainMethodDefinitions,\r\n HT extends boolean,\r\n HU extends boolean,\r\n HFU extends boolean,\r\n HM extends boolean,\r\n HW extends boolean,\r\n HI extends boolean,\r\n TInitialState extends Record<string, unknown> = {},\r\n > = CogsPluginBuilder<\r\n TName,\r\n Options,\r\n PluginMetaData,\r\n FieldMetaData,\r\n THookReturn,\r\n TChainMethods,\r\n HT,\r\n HU,\r\n HFU,\r\n HM,\r\n HW,\r\n HI,\r\n TInitialState\r\n >;\r\n\r\n const createPluginObject = <\r\n THookReturn = never,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n TInitialState extends Record<string, unknown> = {},\r\n >(\r\n hookFn?: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn,\r\n transformFn?: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n updateHandler?: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n formUpdateHandler?: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n chainMethods?: TChainMethods,\r\n initialStateFn?: () => TInitialState,\r\n wrapperFn?: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ): Prettify<\r\n CogsPlugin<\r\n TName,\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData,\r\n TChainMethods,\r\n TInitialState\r\n >\r\n > => {\r\n return {\r\n name,\r\n initialState: initialStateFn,\r\n useHook: hookFn as any,\r\n transformState: transformFn as any,\r\n onUpdate: updateHandler as any,\r\n onFormUpdate: formUpdateHandler as any,\r\n formWrapper: wrapperFn as any,\r\n chainMethods,\r\n };\r\n };\r\n\r\n function createBuilder<\r\n THookReturn = never,\r\n TChainMethods extends ChainMethodDefinitions = {},\r\n HasTransform extends boolean = false,\r\n HasUpdate extends boolean = false,\r\n HasFormUpdate extends boolean = false,\r\n HasMethods extends boolean = false,\r\n HasWrapper extends boolean = false,\r\n HasInitialState extends boolean = false,\r\n TInitialState extends Record<string, unknown> = {},\r\n >(\r\n hookFn?: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn,\r\n transformFn?: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n updateHandler?: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n formUpdateHandler?: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >,\r\n chainMethods?: TChainMethods,\r\n initialStateFn?: () => TInitialState,\r\n wrapperFn?: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ): Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n > {\r\n const plugin = createPluginObject<THookReturn, TChainMethods, TInitialState>(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n\r\n const methods = {} as Partial<\r\n Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >\r\n >;\r\n\r\n if (!transformFn) {\r\n (methods as any).transformState = (\r\n fn: PluginTransformFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n true,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n fn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!updateHandler) {\r\n (methods as any).onUpdate = (\r\n fn: PluginUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n true,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n fn,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!formUpdateHandler) {\r\n (methods as any).onFormUpdate = (\r\n fn: PluginFormUpdateFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n true,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n fn,\r\n chainMethods,\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!chainMethods) {\r\n (methods as any).methods = <\r\n TNextMethods extends ChainMethodDefinitions,\r\n >(\r\n fn: (helpers: MethodsBuilderParams) => TNextMethods\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TNextMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n true,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n fn(createMethodsBuilderParams()),\r\n initialStateFn,\r\n wrapperFn\r\n );\r\n }\r\n if (!initialStateFn) {\r\n (methods as any).initialState = <TNewState extends Record<string, unknown>>(fn: () => TNewState) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n true,\r\n TNewState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n fn,\r\n wrapperFn\r\n );\r\n }\r\n if (!wrapperFn) {\r\n (methods as any).formWrapper = (\r\n fn: PluginFormWrapperFn<\r\n Options,\r\n THookReturn,\r\n PluginMetaData,\r\n FieldMetaData\r\n >\r\n ) =>\r\n createBuilder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n true,\r\n HasInitialState,\r\n TInitialState\r\n >(\r\n hookFn,\r\n transformFn,\r\n updateHandler,\r\n formUpdateHandler,\r\n chainMethods,\r\n initialStateFn,\r\n fn\r\n );\r\n }\r\n\r\n return Object.assign(plugin, methods) as Builder<\r\n THookReturn,\r\n TChainMethods,\r\n HasTransform,\r\n HasUpdate,\r\n HasFormUpdate,\r\n HasMethods,\r\n HasWrapper,\r\n HasInitialState,\r\n TInitialState\r\n >;\r\n }\r\n\r\n const start = Object.assign(\r\n createBuilder<never, {}, false, false, false, false, false, false, {}>(),\r\n {\r\n useHook<THookReturn>(\r\n hookFn: (\r\n params: UseHookParams<Options, PluginMetaData, FieldMetaData, any>\r\n ) => THookReturn\r\n ) {\r\n return createBuilder<\r\n THookReturn,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n {}\r\n >(hookFn);\r\n },\r\n initialState<TNewState extends Record<string, unknown>>(fn: () => TNewState) {\r\n return createBuilder<\r\n never,\r\n {},\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n true,\r\n TNewState\r\n >(undefined, undefined, undefined, undefined, undefined, fn);\r\n },\r\n }\r\n ) as CreatePluginStart<TName, Options, PluginMetaData, FieldMetaData>;\r\n\r\n return start;\r\n }\r\n\r\n return { createPlugin };\r\n}\r\n"],"names":["keyedSchema","z","toDeconstructedMethods","stateHandler","data","patch","meta","errors","opts","createMetadataContext","stateKey","pluginName","getGlobalStore","path","refs","entry","elements","disabled","el","getAllFieldElements","setAllFieldsDisabled","createScopedMetadataContext","globalContext","createMethodDefinition","target","pathPattern","handler","createPathRecorder","recorder","_target","prop","createMethodsBuilderParams","selector","base","createPluginContext","schemas","createPlugin","name","createPluginObject","hookFn","transformFn","updateHandler","formUpdateHandler","chainMethods","initialStateFn","wrapperFn","createBuilder","plugin","methods","fn"],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
1
2
|
import { OptionsType, ReactivityType, SyncInfo, UpdateTypeDetail } from './CogsState.js';
|
|
2
3
|
|
|
3
4
|
export type FreshValuesObject = {
|
|
@@ -50,7 +51,7 @@ export type SchemaTypeInfo = {
|
|
|
50
51
|
};
|
|
51
52
|
export type ClientActivityState = {
|
|
52
53
|
elements: Map<string, {
|
|
53
|
-
domRef:
|
|
54
|
+
domRef: RefObject<HTMLElement>;
|
|
54
55
|
elementType: 'input' | 'textarea' | 'select' | 'checkbox' | 'radio' | 'range' | 'file' | 'custom';
|
|
55
56
|
inputType?: string;
|
|
56
57
|
mountedAt: number;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|