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.
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GACzB,KAAK,GACL,OAAO,GACP,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,CAAC;IAChB,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAClD,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC1E,gBAAgB,EAAE,MAAM,GAAG,CAAC;IAC5B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,gBAAgB,EAAE,MAAM,WAAW,EAAE,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjC,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,CAAC;AAET,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,IACtD;IACF,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhF,KAAK,mBAAmB,CAAC,QAAQ,IAAI,QAAQ,SAAS,CACpD,GAAG,EAAE,GAAG,EACR,GAAG,IAAI,EAAE,MAAM,KAAK,KACjB,MAAM,OAAO,GACd,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,GAC3B,KAAK,CAAC;AAEV,KAAK,iBAAiB,CAAC,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,GAC9C,KAAK,GACL,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7B,MAAM,MAAM,oBAAoB,CAAC,QAAQ,IAAI;KAC1C,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,MAAM,GACjD,IAAI,CAAC,EAAE,GACP,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,MAAM,GAAG,CAAC,GAC5D,mBAAmB,CAAC,GAAG,CAAC,GACxB,KAAK;CACV,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAIpD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAGpC,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,mBAAmB,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,IACvD;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC;AAGF,KAAK,wBAAwB,CAAC,WAAW,GAAG,GAAG,IAAI;IACjD,eAAe,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,MAAM,WAAW,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC;4BAEzC,GAAG;kCAGG,GAAG;4BAGT,GAAG,SAAS;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;2BAErC,GAAG,EAAE;4BACJ,MAAM,EAAE,EAAE;;uBAGf,GAAG;EAIzB;AACD,KAAK,qBAAqB,CAAC,cAAc,IAAI;IAC3C,gBAAgB,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,gBAAgB,EAAE,MAAM,WAAW,EAAE,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAGF,KAAK,qBAAqB,CAAC,cAAc,IAAI;IAC3C,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,cAAc,GAAG,SAAS,CAAC;IACjE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1E,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,CAAC;IACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,mBAAmB,EAAE,MAAM,WAAW,EAAE,CAAC;IACzC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,GAAG,GAAG,IACf,wBAAwB,CAAC,WAAW,CAAC,GACvC,qBAAqB,CAAC,cAAc,CAAC,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,OAAO,EAAE,QAAQ,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEJ,MAAM,MAAM,oBAAoB,CAC9B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,GAAG,GAAG,IACf,wBAAwB,CAAC,WAAW,CAAC,GACvC,qBAAqB,CAAC,cAAc,CAAC,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,cAAc,CACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,GAAG,GAAG,IACf,wBAAwB,CAAC,WAAW,CAAC,GACvC,qBAAqB,CAAC,cAAc,CAAC,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE5C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACJ,MAAM,MAAM,kBAAkB,CAC5B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,GAAG,GAAG,IACf,wBAAwB,CAAC,WAAW,CAAC,GACvC,qBAAqB,CAAC,cAAc,CAAC,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC;IAE3B,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAC3B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,GAAG,GAAG,IACf,qBAAqB,CAAC,cAAc,CAAC,GAAG;IAC1C,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,WAAW,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAEnC,iBAAiB,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,MAAM,EACpB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,SAAS,sBAAsB,GAAG,EAAE,EACjD,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAChD;IACF,IAAI,EAAE,KAAK,CAAC;IAEZ,YAAY,CAAC,EAAE,MAAM,aAAa,CAAC;IAEnC,OAAO,CAAC,EAAE,CACR,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,CAAC,KAClE,WAAW,CAAC;IAEjB,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,oBAAoB,CAC1B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;IAEV,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,cAAc,CACpB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;IAEV,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,kBAAkB,CACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;IAEV,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,iBAAiB,CACvB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,SAAS,CAAC;IAEf,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,cAAc,EACnE,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM;6BAGO,eAAe,GAAG,SAAS;8BAMxB,OAAO,CAAC,eAAe,CAAC;;6BAQzB,MAAM,EAAE,KAAG,cAAc,GAAG,SAAS;6BAMrC,MAAM,EAAE,QAAQ,OAAO,CAAC,cAAc,CAAC;gCAKpC,MAAM,EAAE;yBAIf,MAAM,EAAE,KAAG,SAAS,CAAC,GAAG,CAAC,EAAE;6BAUvB,MAAM,EAAE,KAAG,WAAW,EAAE;6BAUxB,MAAM,EAAE,YAAY,OAAO;+BAa3B,WAAW,EAAE;qCAIL,OAAO,KAAG,IAAI;EAGlD;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,cAAc,EACzE,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE;4BASU,cAAc,GAAG,SAAS;6BAEvB,OAAO,CAAC,cAAc,CAAC;;wBAK9B,SAAS,CAAC,GAAG,CAAC,EAAE;4BAYZ,WAAW,EAAE;iCAYN,OAAO;;;;+BApDX,WAAW,EAAE;qCAIL,OAAO,KAAG,IAAI;EA+DlD;AAED,MAAM,MAAM,qBAAqB,CAAC,cAAc,GAAG,GAAG,IAAI;IACxD,gBAAgB,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAGF,MAAM,MAAM,cAAc,CAAC,SAAS,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAClE,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;AAG1C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACxD,KAAK,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;KAC7C,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACjD,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAClC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEvE,KAAK,aAAa,GAAG,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAChD,OAAO,EAAE,CACP,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjC,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,KACT,qBAAqB,CACxB,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAC/D,CAAC;AAEF,KAAK,iBAAiB,GAAG,aAAa,GAAG;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,iBAAiB,CAAC;IAC3D,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAyDF,MAAM,MAAM,iBAAiB,CAC3B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,IACZ,CACF,MAAM,EAAE,oBAAoB,CAC1B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,cAAc,CACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,IACZ,CACF,MAAM,EAAE,cAAc,CACpB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,kBAAkB,CAC5B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,IACZ,CACF,MAAM,EAAE,kBAAkB,CACxB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,CAC7B,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,IACZ,CACF,MAAM,EAAE,iBAAiB,CACvB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,GAAG,CACJ,KACE,SAAS,CAAC;AAEf,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,MAAM,EACpB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,SAAS,sBAAsB,EAC5C,YAAY,SAAS,OAAO,EAC5B,SAAS,SAAS,OAAO,EACzB,aAAa,SAAS,OAAO,EAC7B,UAAU,SAAS,OAAO,EAC1B,UAAU,SAAS,OAAO,EAC1B,eAAe,SAAS,OAAO,EAC/B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAChD,QAAQ,CACV,UAAU,CACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,CACd,CACF,GACC,CAAC,YAAY,SAAS,IAAI,GACtB,EAAE,GACF;IACE,cAAc,CACZ,EAAE,EAAE,iBAAiB,CACnB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,CACf,GACA,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,CACd,CAAC;CACH,CAAC,GACN,CAAC,SAAS,SAAS,IAAI,GACnB,EAAE,GACF;IACE,QAAQ,CACN,EAAE,EAAE,cAAc,CAChB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,CACf,GACA,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,CACd,CAAC;CACH,CAAC,GACN,CAAC,aAAa,SAAS,IAAI,GACvB,EAAE,GACF;IACE,YAAY,CACV,EAAE,EAAE,kBAAkB,CACpB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,CACf,GACA,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,CACd,CAAC;CACH,CAAC,GACN,CAAC,UAAU,SAAS,IAAI,GACpB,EAAE,GACF;IACE,OAAO,CAAC,YAAY,SAAS,sBAAsB,EACjD,EAAE,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,YAAY,GAClD,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,IAAI,EACJ,UAAU,EACV,eAAe,EACf,aAAa,CACd,CAAC;CACH,CAAC,GACN,CAAC,UAAU,SAAS,IAAI,GACpB,EAAE,GACF;IACE,WAAW,CACT,EAAE,EAAE,mBAAmB,CACrB,QAAQ,EACR,WAAW,EACX,eAAe,EACf,cAAc,CACf,GACA,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,IAAI,EACJ,eAAe,EACf,aAAa,CACd,CAAC;CACH,CAAC,GACN,CAAC,eAAe,SAAS,IAAI,GACzB,EAAE,GACF;IACE,YAAY,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,MAAM,SAAS,GAClB,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,IAAI,EACJ,SAAS,CACV,CAAC;CACH,CAAC,CAAC;AAET,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,MAAM,EACpB,QAAQ,EACR,eAAe,EACf,cAAc,IACZ,iBAAiB,CACnB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,CACH,GAAG;IACF,OAAO,CAAC,WAAW,EACjB,MAAM,EAAE,CACN,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,CAAC,KAClE,WAAW,GACf,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,WAAW,EACX,EAAE,EACF,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,CACH,CAAC;IACF,YAAY,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,EAAE,EAAE,MAAM,SAAS,GAClB,iBAAiB,CAClB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,EACL,EAAE,EACF,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,CACV,CAAC;CACH,CAAC;AAIF,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC9C,EAAE,SAAS,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC/C,EAAE,SAAS,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC/C,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,cAAc,CAAC,EAAE,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,EAAE,CAAC;CACpB,GAAG;IAEF,YAAY,EAAE,CAAC,KAAK,SAAS,MAAM,EACjC,IAAI,EAAE,KAAK,KACR,iBAAiB,CACpB,KAAK,EACL,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,EAChD,EAAE,SAAS,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,EAChD,EAAE,SAAS,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CACjD,CAAC;CACH,CA8XA"}
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cogsbox-state",
3
- "version": "0.5.490",
3
+ "version": "0.5.491",
4
4
  "description": "React state management library with form controls and server sync",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
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
- } & ([NonNullable<T>] extends [any[]] // <-- Wrap in brackets
374
- ? ArrayEndType<T, TPlugins>
375
- : [NonNullable<T>] extends [Record<string, unknown> | object] // <-- Wrap in brackets
376
- ? {
377
- [K in keyof NonNullable<T>]-?: StateObject<NonNullable<T>[K], TPlugins>;
378
- }
379
- : {}) & // Fallback to {} since we intersect EndType below anyway
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
  },
@@ -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
- console.log('currentMeta', currentMeta);
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