cogsbox-state 0.5.490 → 0.5.491
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 +2 -1
- package/dist/CogsState.d.ts.map +1 -1
- package/dist/CogsState.js.map +1 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +85 -87
- package/dist/Components.js.map +1 -1
- package/dist/plugins.d.ts +2 -1
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js.map +1 -1
- package/package.json +1 -1
- package/src/CogsState.tsx +70 -64
- package/src/Components.tsx +45 -46
- package/src/plugins.ts +27 -23
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 { 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;\n removeFieldMetaData: () => void;\n watchPluginMeta: (scope?: string) => void;\n notifyPluginMeta: (scope?: string) => void;\n getFieldRefs: () => RefObject<any>[];\n getFieldElements: () => HTMLElement[];\n setFieldDisabled: (disabled: boolean) => void;\n};\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> = {\n [K in keyof TMethods as K extends string\n ? `$${K}`\n : never]: TMethods[K] extends ChainMethodDefinition<infer TFn>\n ? ChainMethodCallable<TFn>\n : never;\n};\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 clearZodErrors: (paths: string[][]) => 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 clearZodErrors: (paths: string[][]) =>\r\n stateHandler.$clearZodValidationPaths(paths),\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 = <TArgs extends any[], TReturn>(\n handler: (\n ctx: ChainMethodContext<any, any>,\n ...args: TArgs\n ) => TReturn\n) => ChainMethodDefinition<\n (ctx: ChainMethodContext<any, any>, ...args: TArgs) => TReturn\n>;\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","paths","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 watchPluginMeta: (scope?: string) => void;\r\n notifyPluginMeta: (scope?: string) => 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\ntype LiteralStringKeys<T> = string extends keyof T\r\n ? never\r\n : Extract<keyof T, string>;\r\n\r\nexport type ChainMethodCallables<TMethods> = {\r\n [K in LiteralStringKeys<TMethods> as K extends string\r\n ? `$${K}`\r\n : never]: 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 clearZodErrors: (paths: string[][]) => 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 clearZodErrors: (paths: string[][]) =>\r\n stateHandler.$clearZodValidationPaths(paths),\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 = <TArgs extends any[], TReturn>(\r\n handler: (\r\n ctx: ChainMethodContext<any, any>,\r\n ...args: TArgs\r\n ) => TReturn\r\n) => ChainMethodDefinition<\r\n (ctx: ChainMethodContext<any, any>, ...args: TArgs) => TReturn\r\n>;\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","paths","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/package.json
CHANGED
package/src/CogsState.tsx
CHANGED
|
@@ -57,6 +57,7 @@ import { runValidation } from './validation';
|
|
|
57
57
|
import { ZodType } from 'zod/v4';
|
|
58
58
|
|
|
59
59
|
export type Prettify<T> = T extends any ? { [K in keyof T]: T[K] } : never;
|
|
60
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
60
61
|
|
|
61
62
|
// Removed: SyncInfo is now owned by Shape Plugin
|
|
62
63
|
|
|
@@ -370,13 +371,18 @@ export type StateObject<
|
|
|
370
371
|
> = {
|
|
371
372
|
(): T;
|
|
372
373
|
(newValue: T | ((prev: T) => T)): void;
|
|
373
|
-
} & (
|
|
374
|
-
?
|
|
375
|
-
: [NonNullable<T>] extends [
|
|
376
|
-
?
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
374
|
+
} & (IsAny<T> extends true
|
|
375
|
+
? {}
|
|
376
|
+
: [NonNullable<T>] extends [any[]] // <-- Wrap in brackets
|
|
377
|
+
? ArrayEndType<T, TPlugins>
|
|
378
|
+
: [NonNullable<T>] extends [Record<string, unknown> | object] // <-- Wrap in brackets
|
|
379
|
+
? {
|
|
380
|
+
[K in keyof NonNullable<T>]-?: StateObject<
|
|
381
|
+
NonNullable<T>[K],
|
|
382
|
+
TPlugins
|
|
383
|
+
>;
|
|
384
|
+
}
|
|
385
|
+
: {}) & // Fallback to {} since we intersect EndType below anyway
|
|
380
386
|
EndType<T, TPlugins> & {
|
|
381
387
|
$toggle: NonNullable<T> extends boolean ? () => void : never;
|
|
382
388
|
$validate: {
|
|
@@ -2022,11 +2028,11 @@ function getFieldElementsForPath(stateKey: string, path: string[]) {
|
|
|
2022
2028
|
return refs.map((ref) => ref.current).filter(Boolean);
|
|
2023
2029
|
}
|
|
2024
2030
|
|
|
2025
|
-
function setFieldDisabledForPath(
|
|
2026
|
-
stateKey: string,
|
|
2027
|
-
path: string[],
|
|
2028
|
-
disabled: boolean
|
|
2029
|
-
) {
|
|
2031
|
+
function setFieldDisabledForPath(
|
|
2032
|
+
stateKey: string,
|
|
2033
|
+
path: string[],
|
|
2034
|
+
disabled: boolean
|
|
2035
|
+
) {
|
|
2030
2036
|
getFieldElementsForPath(stateKey, path).forEach((el: any) => {
|
|
2031
2037
|
if ('disabled' in el) {
|
|
2032
2038
|
el.disabled = disabled;
|
|
@@ -2034,36 +2040,36 @@ function setFieldDisabledForPath(
|
|
|
2034
2040
|
}
|
|
2035
2041
|
|
|
2036
2042
|
el.style.pointerEvents = disabled ? 'none' : '';
|
|
2037
|
-
el.setAttribute('aria-disabled', String(disabled));
|
|
2038
|
-
});
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
function pluginMetaDependencyPath(
|
|
2042
|
-
path: string[],
|
|
2043
|
-
pluginName: string,
|
|
2044
|
-
scope = 'default'
|
|
2045
|
-
) {
|
|
2046
|
-
return [...path, '$pluginMeta', pluginName, scope];
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
function notifyPluginMetaDependency(
|
|
2050
|
-
stateKey: string,
|
|
2051
|
-
path: string[],
|
|
2052
|
-
pluginName: string,
|
|
2053
|
-
scope?: string
|
|
2054
|
-
) {
|
|
2055
|
-
const rootMeta = getShadowMetadata(stateKey, []);
|
|
2056
|
-
const dependencyMeta = getShadowMetadata(
|
|
2057
|
-
stateKey,
|
|
2058
|
-
pluginMetaDependencyPath(path, pluginName, scope)
|
|
2059
|
-
);
|
|
2060
|
-
|
|
2061
|
-
dependencyMeta?.pathComponents?.forEach((componentId) => {
|
|
2062
|
-
rootMeta?.components?.get(componentId)?.forceUpdate();
|
|
2063
|
-
});
|
|
2064
|
-
}
|
|
2065
|
-
|
|
2066
|
-
function createProxyHandler<
|
|
2043
|
+
el.setAttribute('aria-disabled', String(disabled));
|
|
2044
|
+
});
|
|
2045
|
+
}
|
|
2046
|
+
|
|
2047
|
+
function pluginMetaDependencyPath(
|
|
2048
|
+
path: string[],
|
|
2049
|
+
pluginName: string,
|
|
2050
|
+
scope = 'default'
|
|
2051
|
+
) {
|
|
2052
|
+
return [...path, '$pluginMeta', pluginName, scope];
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2055
|
+
function notifyPluginMetaDependency(
|
|
2056
|
+
stateKey: string,
|
|
2057
|
+
path: string[],
|
|
2058
|
+
pluginName: string,
|
|
2059
|
+
scope?: string
|
|
2060
|
+
) {
|
|
2061
|
+
const rootMeta = getShadowMetadata(stateKey, []);
|
|
2062
|
+
const dependencyMeta = getShadowMetadata(
|
|
2063
|
+
stateKey,
|
|
2064
|
+
pluginMetaDependencyPath(path, pluginName, scope)
|
|
2065
|
+
);
|
|
2066
|
+
|
|
2067
|
+
dependencyMeta?.pathComponents?.forEach((componentId) => {
|
|
2068
|
+
rootMeta?.components?.get(componentId)?.forceUpdate();
|
|
2069
|
+
});
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
function createProxyHandler<
|
|
2067
2073
|
T,
|
|
2068
2074
|
const TPlugins extends readonly CogsPlugin<
|
|
2069
2075
|
any,
|
|
@@ -2241,28 +2247,28 @@ function createProxyHandler<
|
|
|
2241
2247
|
metaData,
|
|
2242
2248
|
});
|
|
2243
2249
|
},
|
|
2244
|
-
getFieldMetaData: () =>
|
|
2245
|
-
getPluginMetaDataMap(stateKey, path)?.get(plugin.name),
|
|
2246
|
-
setFieldMetaData: (data: Record<string, any>) =>
|
|
2247
|
-
setPluginMetaData(stateKey, path, plugin.name, data),
|
|
2248
|
-
removeFieldMetaData: () =>
|
|
2249
|
-
removePluginMetaData(stateKey, path, plugin.name),
|
|
2250
|
-
watchPluginMeta: (scope?: string) =>
|
|
2251
|
-
registerComponentDependency(
|
|
2252
|
-
stateKey,
|
|
2253
|
-
componentId,
|
|
2254
|
-
pluginMetaDependencyPath(path, plugin.name, scope)
|
|
2255
|
-
),
|
|
2256
|
-
notifyPluginMeta: (scope?: string) =>
|
|
2257
|
-
notifyPluginMetaDependency(
|
|
2258
|
-
stateKey,
|
|
2259
|
-
path,
|
|
2260
|
-
plugin.name,
|
|
2261
|
-
scope
|
|
2262
|
-
),
|
|
2263
|
-
getFieldRefs: () => getFieldRefsForPath(stateKey, path),
|
|
2264
|
-
getFieldElements: () =>
|
|
2265
|
-
getFieldElementsForPath(stateKey, path),
|
|
2250
|
+
getFieldMetaData: () =>
|
|
2251
|
+
getPluginMetaDataMap(stateKey, path)?.get(plugin.name),
|
|
2252
|
+
setFieldMetaData: (data: Record<string, any>) =>
|
|
2253
|
+
setPluginMetaData(stateKey, path, plugin.name, data),
|
|
2254
|
+
removeFieldMetaData: () =>
|
|
2255
|
+
removePluginMetaData(stateKey, path, plugin.name),
|
|
2256
|
+
watchPluginMeta: (scope?: string) =>
|
|
2257
|
+
registerComponentDependency(
|
|
2258
|
+
stateKey,
|
|
2259
|
+
componentId,
|
|
2260
|
+
pluginMetaDependencyPath(path, plugin.name, scope)
|
|
2261
|
+
),
|
|
2262
|
+
notifyPluginMeta: (scope?: string) =>
|
|
2263
|
+
notifyPluginMetaDependency(
|
|
2264
|
+
stateKey,
|
|
2265
|
+
path,
|
|
2266
|
+
plugin.name,
|
|
2267
|
+
scope
|
|
2268
|
+
),
|
|
2269
|
+
getFieldRefs: () => getFieldRefsForPath(stateKey, path),
|
|
2270
|
+
getFieldElements: () =>
|
|
2271
|
+
getFieldElementsForPath(stateKey, path),
|
|
2266
2272
|
setFieldDisabled: (disabled: boolean) =>
|
|
2267
2273
|
setFieldDisabledForPath(stateKey, path, disabled),
|
|
2268
2274
|
},
|
package/src/Components.tsx
CHANGED
|
@@ -22,7 +22,7 @@ import React, {
|
|
|
22
22
|
useMemo,
|
|
23
23
|
type ReactNode,
|
|
24
24
|
} from 'react';
|
|
25
|
-
import { getGlobalStore, ValidationError, ValidationSeverity } from './store';
|
|
25
|
+
import { getGlobalStore, ValidationError, ValidationSeverity } from './store';
|
|
26
26
|
import { useInView } from 'react-intersection-observer';
|
|
27
27
|
import { v4 as uuidv4 } from 'uuid';
|
|
28
28
|
import { isDeepEqual } from './utility';
|
|
@@ -272,7 +272,6 @@ export function FormElementWrapper({
|
|
|
272
272
|
|
|
273
273
|
useEffect(() => {
|
|
274
274
|
const { getShadowMetadata, setShadowMetadata } = getGlobalStore.getState();
|
|
275
|
-
console.log('FormElementWrapper effect running for:', stateKey, path);
|
|
276
275
|
|
|
277
276
|
// Initialize clientActivityState if needed
|
|
278
277
|
const currentMeta = getShadowMetadata(stateKey, path) || {};
|
|
@@ -304,7 +303,7 @@ export function FormElementWrapper({
|
|
|
304
303
|
inputType: formElementRef.current?.type,
|
|
305
304
|
mountedAt: Date.now(),
|
|
306
305
|
});
|
|
307
|
-
|
|
306
|
+
|
|
308
307
|
setShadowMetadata(stateKey, path, currentMeta);
|
|
309
308
|
|
|
310
309
|
// Subscribe to path updates
|
|
@@ -526,55 +525,55 @@ export function FormElementWrapper({
|
|
|
526
525
|
});
|
|
527
526
|
}, [localValue, setState, path, stateKey, componentId, globalStateValue]);
|
|
528
527
|
|
|
529
|
-
const baseState = rebuildStateShape({
|
|
530
|
-
path: path,
|
|
531
|
-
componentId: componentId,
|
|
532
|
-
meta: undefined,
|
|
533
|
-
});
|
|
534
|
-
const validationState = getShadowMetadata(stateKey, path)?.validation;
|
|
535
|
-
const validationStatus = validationState?.status || 'NOT_VALIDATED';
|
|
536
|
-
const allErrors = (validationState?.errors || []).map((err) => ({
|
|
537
|
-
...err,
|
|
538
|
-
path,
|
|
539
|
-
})) as ValidationError[];
|
|
540
|
-
const errorMessages = allErrors
|
|
541
|
-
.filter((err) => err.severity === 'error')
|
|
542
|
-
.map((err) => err.message);
|
|
543
|
-
const warningMessages = allErrors
|
|
544
|
-
.filter((err) => err.severity === 'warning')
|
|
545
|
-
.map((err) => err.message);
|
|
546
|
-
const validationMessage = errorMessages[0] || warningMessages[0] || '';
|
|
547
|
-
const validationSeverity: ValidationSeverity =
|
|
548
|
-
errorMessages.length > 0
|
|
549
|
-
? 'error'
|
|
550
|
-
: warningMessages.length > 0
|
|
551
|
-
? 'warning'
|
|
552
|
-
: undefined;
|
|
553
|
-
|
|
554
|
-
const stateWithInputProps = new Proxy(baseState, {
|
|
555
|
-
get(target, prop) {
|
|
556
|
-
if (prop === '$inputProps') {
|
|
557
|
-
return {
|
|
528
|
+
const baseState = rebuildStateShape({
|
|
529
|
+
path: path,
|
|
530
|
+
componentId: componentId,
|
|
531
|
+
meta: undefined,
|
|
532
|
+
});
|
|
533
|
+
const validationState = getShadowMetadata(stateKey, path)?.validation;
|
|
534
|
+
const validationStatus = validationState?.status || 'NOT_VALIDATED';
|
|
535
|
+
const allErrors = (validationState?.errors || []).map((err) => ({
|
|
536
|
+
...err,
|
|
537
|
+
path,
|
|
538
|
+
})) as ValidationError[];
|
|
539
|
+
const errorMessages = allErrors
|
|
540
|
+
.filter((err) => err.severity === 'error')
|
|
541
|
+
.map((err) => err.message);
|
|
542
|
+
const warningMessages = allErrors
|
|
543
|
+
.filter((err) => err.severity === 'warning')
|
|
544
|
+
.map((err) => err.message);
|
|
545
|
+
const validationMessage = errorMessages[0] || warningMessages[0] || '';
|
|
546
|
+
const validationSeverity: ValidationSeverity =
|
|
547
|
+
errorMessages.length > 0
|
|
548
|
+
? 'error'
|
|
549
|
+
: warningMessages.length > 0
|
|
550
|
+
? 'warning'
|
|
551
|
+
: undefined;
|
|
552
|
+
|
|
553
|
+
const stateWithInputProps = new Proxy(baseState, {
|
|
554
|
+
get(target, prop) {
|
|
555
|
+
if (prop === '$inputProps') {
|
|
556
|
+
return {
|
|
558
557
|
value: localValue ?? '',
|
|
559
558
|
onChange: (e: any) => {
|
|
560
559
|
debouncedUpdate(e.target.value);
|
|
561
560
|
},
|
|
562
561
|
onFocus: handleFocus,
|
|
563
562
|
onBlur: handleBlur,
|
|
564
|
-
ref: formElementRef,
|
|
565
|
-
};
|
|
566
|
-
}
|
|
567
|
-
if (prop === 'status') return validationStatus;
|
|
568
|
-
if (prop === 'severity') return validationSeverity;
|
|
569
|
-
if (prop === 'hasErrors') return errorMessages.length > 0;
|
|
570
|
-
if (prop === 'hasWarnings') return warningMessages.length > 0;
|
|
571
|
-
if (prop === 'allErrors') return allErrors;
|
|
572
|
-
if (prop === 'message') return validationMessage;
|
|
573
|
-
if (prop === 'getData') return () => getShadowValue(stateKey, path);
|
|
574
|
-
|
|
575
|
-
return target[prop];
|
|
576
|
-
},
|
|
577
|
-
});
|
|
563
|
+
ref: formElementRef,
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
if (prop === 'status') return validationStatus;
|
|
567
|
+
if (prop === 'severity') return validationSeverity;
|
|
568
|
+
if (prop === 'hasErrors') return errorMessages.length > 0;
|
|
569
|
+
if (prop === 'hasWarnings') return warningMessages.length > 0;
|
|
570
|
+
if (prop === 'allErrors') return allErrors;
|
|
571
|
+
if (prop === 'message') return validationMessage;
|
|
572
|
+
if (prop === 'getData') return () => getShadowValue(stateKey, path);
|
|
573
|
+
|
|
574
|
+
return target[prop];
|
|
575
|
+
},
|
|
576
|
+
});
|
|
578
577
|
|
|
579
578
|
const initialElement = renderFn(stateWithInputProps);
|
|
580
579
|
|