@ram_28/kf-ai-sdk 2.0.19 → 2.0.20-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -16
- package/dist/api.cjs +1 -1
- package/dist/api.mjs +1 -1
- package/dist/auth/authConfig.d.ts +1 -1
- package/dist/auth/types.d.ts +1 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth.cjs +1 -1
- package/dist/auth.mjs +1 -1
- package/dist/bdo/core/Item.d.ts.map +1 -1
- package/dist/bdo.cjs +1 -1
- package/dist/bdo.mjs +32 -32
- package/dist/components/hooks/useActivityForm/types.d.ts +5 -4
- package/dist/components/hooks/useActivityForm/types.d.ts.map +1 -1
- package/dist/components/hooks/useActivityForm/useActivityForm.d.ts.map +1 -1
- package/dist/components/hooks/useActivityTable/types.d.ts +4 -5
- package/dist/components/hooks/useActivityTable/types.d.ts.map +1 -1
- package/dist/components/hooks/useActivityTable/useActivityTable.d.ts.map +1 -1
- package/dist/components/hooks/useBDOForm/createItemProxy.d.ts +2 -2
- package/dist/components/hooks/useBDOForm/createItemProxy.d.ts.map +1 -1
- package/dist/components/hooks/useBDOTable/types.d.ts +12 -20
- package/dist/components/hooks/useBDOTable/types.d.ts.map +1 -1
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts +2 -2
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts.map +1 -1
- package/dist/{constants-Cyi942Yr.js → constants-ConHc1oS.js} +5 -5
- package/dist/constants-QX2RX-wu.cjs +1 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.mjs +16 -15
- package/dist/table.types.d.ts +1 -1
- package/dist/table.types.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -1
- package/dist/workflow/Activity.d.ts +5 -8
- package/dist/workflow/Activity.d.ts.map +1 -1
- package/dist/workflow.cjs +1 -1
- package/dist/workflow.mjs +476 -461
- package/docs/api.md +95 -0
- package/docs/bdo.md +224 -0
- package/docs/gaps.md +360 -0
- package/docs/useActivityForm.md +393 -0
- package/docs/useActivityTable.md +418 -0
- package/docs/useBDOForm.md +498 -0
- package/docs/useBDOTable.md +284 -0
- package/docs/useFilter.md +188 -0
- package/docs/workflow.md +560 -0
- package/package.json +14 -15
- package/sdk/auth/authConfig.ts +1 -1
- package/sdk/auth/types.ts +1 -1
- package/sdk/bdo/core/Item.ts +1 -2
- package/sdk/components/hooks/useActivityForm/types.ts +6 -4
- package/sdk/components/hooks/useActivityForm/useActivityForm.ts +73 -10
- package/sdk/components/hooks/useActivityTable/types.ts +5 -4
- package/sdk/components/hooks/useActivityTable/useActivityTable.ts +8 -10
- package/sdk/components/hooks/useBDOForm/createItemProxy.ts +5 -9
- package/sdk/components/hooks/useBDOTable/types.ts +10 -20
- package/sdk/components/hooks/useBDOTable/useBDOTable.ts +8 -12
- package/sdk/table.types.ts +0 -2
- package/sdk/types/constants.ts +1 -1
- package/sdk/workflow/Activity.ts +7 -39
- package/dist/constants-DEmYwKfC.cjs +0 -1
- package/docs/README.md +0 -57
- package/docs/bdo/README.md +0 -161
- package/docs/bdo/api_reference.md +0 -281
- package/docs/examples/bdo/create-product.md +0 -69
- package/docs/examples/bdo/edit-product-dialog.md +0 -95
- package/docs/examples/bdo/filtered-product-table.md +0 -100
- package/docs/examples/bdo/product-listing.md +0 -73
- package/docs/examples/bdo/supplier-dropdown.md +0 -60
- package/docs/examples/fields/complex-fields.md +0 -248
- package/docs/examples/fields/primitive-fields.md +0 -217
- package/docs/examples/workflow/approve-leave-request.md +0 -76
- package/docs/examples/workflow/filtered-activity-table.md +0 -101
- package/docs/examples/workflow/my-pending-requests.md +0 -90
- package/docs/examples/workflow/start-new-workflow.md +0 -47
- package/docs/examples/workflow/submit-leave-request.md +0 -72
- package/docs/examples/workflow/workflow-progress.md +0 -49
- package/docs/fields/README.md +0 -141
- package/docs/fields/api_reference.md +0 -134
- package/docs/useActivityForm/README.md +0 -244
- package/docs/useActivityForm/api_reference.md +0 -279
- package/docs/useActivityTable/README.md +0 -263
- package/docs/useActivityTable/api_reference.md +0 -294
- package/docs/useBDOForm/README.md +0 -175
- package/docs/useBDOForm/api_reference.md +0 -244
- package/docs/useBDOTable/README.md +0 -242
- package/docs/useBDOTable/api_reference.md +0 -253
- package/docs/useFilter/README.md +0 -323
- package/docs/useFilter/api_reference.md +0 -228
- package/docs/workflow/README.md +0 -158
- package/docs/workflow/api_reference.md +0 -161
- /package/docs/{useAuth/README.md → useAuth.md} +0 -0
package/README.md
CHANGED
|
@@ -461,22 +461,14 @@ cn("text-red-500", condition && "text-blue-500");
|
|
|
461
461
|
|
|
462
462
|
## Documentation
|
|
463
463
|
|
|
464
|
-
Detailed
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
- [
|
|
468
|
-
- [
|
|
469
|
-
- [
|
|
470
|
-
- [
|
|
471
|
-
- [
|
|
472
|
-
|
|
473
|
-
**Core:**
|
|
474
|
-
- [BDO](./docs/bdo/README.md) — Type-safe, role-based data access layer
|
|
475
|
-
- [Workflow](./docs/workflow/README.md) — Business process orchestration
|
|
476
|
-
- [API Client](./docs/api/README.md) — Low-level CRUD, metric, pivot, draft, and attachment operations
|
|
477
|
-
|
|
478
|
-
**Auth:**
|
|
479
|
-
- [useAuth](./docs/useAuth/README.md) — Cookie-based authentication with session management
|
|
464
|
+
Detailed documentation for each feature:
|
|
465
|
+
|
|
466
|
+
- [useBDOTable Documentation](./docs/useBDOTable.md)
|
|
467
|
+
- [useActivityTable Documentation](./docs/useActivityTable.md)
|
|
468
|
+
- [useFilter Documentation](./docs/useFilter.md)
|
|
469
|
+
- [useBDOForm Documentation](./docs/useBDOForm.md)
|
|
470
|
+
- [useAuth Documentation](./docs/useAuth.md)
|
|
471
|
+
- [API Documentation](./docs/api.md)
|
|
480
472
|
|
|
481
473
|
## Requirements
|
|
482
474
|
|
package/dist/api.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./client-D5k4SYuw.cjs"),u=require("./metadata-DWXQPDav.cjs"),o=require("./constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./client-D5k4SYuw.cjs"),u=require("./metadata-DWXQPDav.cjs"),o=require("./constants-QX2RX-wu.cjs"),p={DATE:"%Y-%m-%d",TIME:"%H:%M:%S",DATE_TIME:"%Y-%m-%d %H:%M:%S"};function D(t){const[e,a,r]=t.$__d__.split("-").map(Number);return new Date(e,a-1,r)}function g(t){return new Date(t.$__dt__*1e3)}function l(t){const e=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${a}-${r}`}function S(t){const e=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),c=String(t.getSeconds()).padStart(2,"0");return`${e}-${a}-${r} ${s}:${i}:${c}`}function y(t){const[e,a,r]=t.split("-").map(Number);return new Date(e,a-1,r)}function f(t){const[e,a]=t.split(" "),[r,s,i]=e.split("-").map(Number),[c,d,m]=a.split(":").map(Number);return new Date(r,s-1,i,c,d,m)}exports.api=n.api;exports.getApiBaseUrl=n.getApiBaseUrl;exports.getDefaultHeaders=n.getDefaultHeaders;exports.setApiBaseUrl=n.setApiBaseUrl;exports.setDefaultHeaders=n.setDefaultHeaders;exports.getBdoSchema=u.getBdoSchema;exports.listMetadata=u.listMetadata;exports.DateEncodingKey=o.DateEncodingKey;exports.DeleteStatus=o.DeleteStatus;exports.HttpMethod=o.HttpMethod;exports.MetricType=o.MetricType;exports.QueryType=o.QueryType;exports.DatetimeFormat=p;exports.decodeDate=D;exports.decodeDateTime=g;exports.formatDate=l;exports.formatDateTime=S;exports.parseDate=y;exports.parseDateTime=f;
|
package/dist/api.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as f, c as h, g as M, s as $, b as T } from "./client-_ayziI1d.js";
|
|
2
2
|
import { g as H, l as b } from "./metadata-Cc1mBcLS.js";
|
|
3
|
-
import { a as w, b as x, H as A, M as N, Q as Y } from "./constants-
|
|
3
|
+
import { a as w, b as x, H as A, M as N, Q as Y } from "./constants-ConHc1oS.js";
|
|
4
4
|
const m = {
|
|
5
5
|
/** Date format: "YYYY-MM-DD" */
|
|
6
6
|
DATE: "%Y-%m-%d",
|
|
@@ -8,7 +8,7 @@ import type { AuthConfigType, AuthProviderNameType, AuthEndpointConfigType } fro
|
|
|
8
8
|
* autoRedirect: true,
|
|
9
9
|
* providers: {
|
|
10
10
|
* google: { loginPath: "/api/auth/google/login" },
|
|
11
|
-
*
|
|
11
|
+
* microsoft: { loginPath: "/api/auth/microsoft/login" },
|
|
12
12
|
* },
|
|
13
13
|
* });
|
|
14
14
|
* ```
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type AuthStatusType = "loading" | "authenticated" | "unauthenticated";
|
|
|
22
22
|
/**
|
|
23
23
|
* Authentication provider type (extensible for multiple OAuth providers)
|
|
24
24
|
*/
|
|
25
|
-
export type AuthProviderNameType = "google" | "
|
|
25
|
+
export type AuthProviderNameType = "google" | "microsoft" | "github" | "azure" | "custom";
|
|
26
26
|
/**
|
|
27
27
|
* Auth endpoint configuration for a specific provider
|
|
28
28
|
*/
|
package/dist/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../sdk/auth/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../sdk/auth/types.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var J=Object.defineProperty;var X=(e,t,o)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var Q=(e,t,o)=>X(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),n=require("react"),M=require("@tanstack/react-query"),K=require("./client-D5k4SYuw.cjs"),W=require("./constants-
|
|
1
|
+
"use strict";var J=Object.defineProperty;var X=(e,t,o)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var Q=(e,t,o)=>X(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),n=require("react"),M=require("@tanstack/react-query"),K=require("./client-D5k4SYuw.cjs"),W=require("./constants-QX2RX-wu.cjs"),Y={sessionEndpoint:"/api/id",providers:{google:{loginPath:"/api/auth/google/login",logoutPath:"/api/auth/logout"}},defaultProvider:"google",autoRedirect:!1,sessionCheckInterval:0,retry:{count:3,delay:1e3},staleTime:5*60*1e3,refetchOnWindowFocus:!1,refetchOnReconnect:!0};let h={...Y};function G(e){h={...h,...e,providers:{...h.providers,...e.providers},retry:{...h.retry,...e.retry}}}function Z(e,t){h.providers[e]=t}function b(){return{...h}}function k(){return h.baseUrl||K.getApiBaseUrl()||(typeof window<"u"?window.location.origin:"")}function H(e){return h.providers[e]}function D(){h={...Y}}class m extends Error{constructor(o,r){super(o);Q(this,"statusCode");this.name="AuthenticationError",this.statusCode=r}}async function ee(){const e=b(),t=k(),o=K.getDefaultHeaders(),r=await fetch(`${t}${e.sessionEndpoint}`,{method:"GET",headers:o,credentials:"include"});if(!r.ok)throw r.status===401||r.status===403?new m("Not authenticated",r.status):new m(`Session check failed: ${r.statusText}`,r.status);return await r.json()}function N(e,t){return new Promise(()=>{const o=b(),r=k();if(!r)throw new Error('Auth base URL is not configured. Call setApiBaseUrl("https://...") or configureAuth({ baseUrl: "https://..." }) first.');const i=e||o.defaultProvider,l=H(i);if(!l){const A=Object.keys(o.providers||{}).join(", ")||"none";throw new Error(`Auth provider "${i}" is not configured. Available providers: ${A}`)}if(!l.loginPath)throw new Error(`Login path not configured for provider "${i}". Configure it with: configureAuth({ providers: { ${i}: { loginPath: '/api/auth/...' } } })`);let g;try{g=new URL(`${r}${l.loginPath}`)}catch{throw new Error(`Failed to construct login URL. Base URL: "${r}", Login path: "${l.loginPath}". Ensure baseUrl is a valid URL (e.g., "https://example.com").`)}(t!=null&&t.callbackUrl||o.callbackUrl)&&g.searchParams.set("callbackUrl",(t==null?void 0:t.callbackUrl)||o.callbackUrl||window.location.href),t!=null&&t.params&&Object.entries(t.params).forEach(([A,v])=>{g.searchParams.set(A,v)}),window.open(g.toString(),"_blank")})}async function te(e){const t=b(),o=k(),r=H(t.defaultProvider),i=r==null?void 0:r.logoutPath;if(i&&(e==null?void 0:e.callLogoutEndpoint)!==!1)try{await fetch(`${o}${i}`)}catch(l){console.warn("Logout endpoint call failed:",l)}e!=null&&e.redirectUrl?window.location.href=e.redirectUrl:t.loginRedirectUrl&&(window.location.href=t.loginRedirectUrl)}const V=n.createContext(null),_=["auth","session"];function re({children:e,config:t,onAuthChange:o,onError:r,loadingComponent:i,unauthenticatedComponent:l,skipInitialCheck:g=!1}){const A=n.useRef(!1);t&&!A.current&&(G(t),A.current=!0);const v=M.useQueryClient(),c=b(),{data:u,isLoading:f,error:U,refetch:R,isFetching:C}=M.useQuery({queryKey:_,queryFn:ee,enabled:!g,retry:(s,w)=>w instanceof m&&(w.statusCode===401||w.statusCode===403)?!1:s<c.retry.count,retryDelay:c.retry.delay,staleTime:c.staleTime,gcTime:c.staleTime*2,refetchOnWindowFocus:c.refetchOnWindowFocus??!0,refetchOnReconnect:c.refetchOnReconnect??!0,refetchInterval:c.sessionCheckInterval||!1}),[S,L]=n.useState(null),d=n.useMemo(()=>f||C?"loading":Object.keys((u==null?void 0:u.userDetails)||{}).length>0?"authenticated":"unauthenticated",[f,C,u]),a=(u==null?void 0:u.userDetails)||null,x=(u==null?void 0:u.staticBaseUrl)||null,$=(u==null?void 0:u.buildId)||null,j=d==="authenticated",P=n.useRef(o);P.current=o;const E=n.useRef(r);E.current=r,n.useEffect(()=>{var s;f||(s=P.current)==null||s.call(P,d,a)},[d,a,f]),n.useEffect(()=>{var s;U&&(L(U),(s=E.current)==null||s.call(E,U))},[U]),n.useEffect(()=>{d==="unauthenticated"&&c.autoRedirect&&!f&&N()},[d,f,c.autoRedirect]);const p=n.useCallback((s,w)=>{N(s,w)},[]),q=n.useCallback(async s=>{v.removeQueries({queryKey:_}),await te(s)},[v]),B=n.useCallback(async()=>{if(C)return u||null;try{return(await R()).data||null}catch(s){return L(s),null}},[R,C,u]),O=n.useCallback(s=>(a==null?void 0:a.Role)===s,[a]),I=n.useCallback(s=>s.includes((a==null?void 0:a.Role)||""),[a]),F=n.useCallback(()=>{L(null)},[]),T=n.useCallback(()=>{R()},[R]),z=n.useMemo(()=>({user:a,staticBaseUrl:x,buildId:$,status:d,isAuthenticated:j,isLoading:f,login:p,logout:q,refreshSession:B,hasRole:O,hasAnyRole:I,error:S,clearError:F,_forceCheck:T}),[a,x,$,d,j,f,p,q,B,O,I,S,F,T]);return d==="loading"&&i?y.jsx(y.Fragment,{children:i}):d==="unauthenticated"&&!c.autoRedirect&&l?y.jsx(y.Fragment,{children:l}):y.jsx(V.Provider,{value:z,children:e})}function ne(){const e=n.useContext(V);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}function oe(){const e=ne();return n.useMemo(()=>({user:e.user,staticBaseUrl:e.staticBaseUrl,buildId:e.buildId,status:e.status,isAuthenticated:e.isAuthenticated,isLoading:e.isLoading,login:e.login,logout:e.logout,refreshSession:e.refreshSession,hasRole:e.hasRole,hasAnyRole:e.hasAnyRole,error:e.error,clearError:e.clearError}),[e.user,e.staticBaseUrl,e.buildId,e.status,e.isAuthenticated,e.isLoading,e.login,e.logout,e.refreshSession,e.hasRole,e.hasAnyRole,e.error,e.clearError])}exports.AuthProviderName=W.AuthProviderName;exports.AuthStatus=W.AuthStatus;exports.AuthProvider=re;exports.AuthenticationError=m;exports.configureAuth=G;exports.getAuthBaseUrl=k;exports.getAuthConfig=b;exports.resetAuthConfig=D;exports.setAuthProvider=Z;exports.useAuth=oe;
|
package/dist/auth.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { jsx as C, Fragment as W } from "react/jsx-runtime";
|
|
|
5
5
|
import { useRef as p, useState as Z, useMemo as k, useEffect as L, useCallback as f, createContext as D, useContext as ee } from "react";
|
|
6
6
|
import { useQueryClient as te, useQuery as re } from "@tanstack/react-query";
|
|
7
7
|
import { c as ne, g as oe } from "./client-_ayziI1d.js";
|
|
8
|
-
import { c as me, A as be } from "./constants-
|
|
8
|
+
import { c as me, A as be } from "./constants-ConHc1oS.js";
|
|
9
9
|
const H = {
|
|
10
10
|
sessionEndpoint: "/api/id",
|
|
11
11
|
providers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/Item.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAYjC;;GAEG;AACH,UAAU,OAAO;IACf,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,WAAW,IAAI,OAAO,CAAC;IACvB,uBAAuB,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,oBAAoB,CAAC;IACxB,OAAO,IAAI,MAAM,CAAC;CACnB;AAGD,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAE3G;;GAEG;AACH,KAAK,uBAAuB,CAAC,CAAC,IAC5B;IAAC,CAAC;CAAC,SAAS,CAAC,cAAc,CAAC,GACxB,8BAA8B,GAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GACzB,6BAA6B,GAC7B,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,KAAK,uBAAuB,CAAC,CAAC,IAC5B;IAAC,CAAC;CAAC,SAAS,CAAC,cAAc,CAAC,GACxB,8BAA8B,GAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GACzB,6BAA6B,GAC7B,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAC7B,iBAAiB,CAAC,SAAS,CAAC,GAC5B,iBAAiB,CAAC,SAAS,CAAC,GAC5B;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3B;;;;;;;;;;;;;;GAcG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsD;gBAEzE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAgF1C,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/core/Item.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAYjC;;GAEG;AACH,UAAU,OAAO;IACf,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,WAAW,IAAI,OAAO,CAAC;IACvB,uBAAuB,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,oBAAoB,CAAC;IACxB,OAAO,IAAI,MAAM,CAAC;CACnB;AAGD,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAE3G;;GAEG;AACH,KAAK,uBAAuB,CAAC,CAAC,IAC5B;IAAC,CAAC;CAAC,SAAS,CAAC,cAAc,CAAC,GACxB,8BAA8B,GAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GACzB,6BAA6B,GAC7B,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,KAAK,uBAAuB,CAAC,CAAC,IAC5B;IAAC,CAAC;CAAC,SAAS,CAAC,cAAc,CAAC,GACxB,8BAA8B,GAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GACzB,6BAA6B,GAC7B,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAC7B,iBAAiB,CAAC,SAAS,CAAC,GAC5B,iBAAiB,CAAC,SAAS,CAAC,GAC5B;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3B;;;;;;;;;;;;;;GAcG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsD;gBAEzE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAgF1C,OAAO,CAAC,kBAAkB;IAI1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6PpB;;OAEG;IACH,QAAQ,IAAI,oBAAoB;IAqChC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;CAGrB"}
|
package/dist/bdo.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var E=Object.defineProperty;var T=(r,e,t)=>e in r?E(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var m=(r,e,t)=>T(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./client-D5k4SYuw.cjs"),w=require("./attachment-constants-B5jlqoKI.cjs"),o=require("./FileField-DU4UWo_t.cjs"),U=require("./constants-DEmYwKfC.cjs");class x{constructor(e,t){m(this,"_data");m(this,"_bdo");m(this,"_accessorCache",new Map);return this._bdo=e,this._data={...t},new Proxy(this,{get(a,s,n){return s==="validate"||s==="toJSON"||s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="_getAccessor"||s==="_requireInstanceId"||typeof s=="symbol"?Reflect.get(a,s,n):s==="_id"?a._data._id:a._getAccessor(s)},set(a,s,n){return s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="validate"||s==="toJSON"?!1:typeof s=="symbol"?Reflect.set(a,s,n):(a._data[s]=n,!0)},has(a,s){return s==="validate"||s==="toJSON"?!0:s in a._data||s in a._bdo.getFields()},ownKeys(a){return[...Object.keys(a._bdo.getFields()),"validate","toJSON"]},getOwnPropertyDescriptor(a,s){if(s==="validate"||s==="toJSON")return{configurable:!0,enumerable:!1,value:a[s]};const n=a._bdo.getFields();if(s in n||s in a._data)return{configurable:!0,enumerable:!0,get:()=>a._getAccessor(s)}}})}_requireInstanceId(){return this._data._id||"draft"}_getAccessor(e){if(this._accessorCache.has(e))return this._accessorCache.get(e);const a=this._bdo.getFields()[e],s=(a==null?void 0:a.meta)??{_id:e,Name:e,Type:"String"},n=(a==null?void 0:a.readOnly)??!1,d=()=>{if(a){const _=a.validate(this._data[e]);if(!_.valid)return _}return this._bdo.hasMetadata()?this._bdo.validateFieldExpression(e,this._data[e],this.toJSON()):{valid:!0,errors:[]}},h=_=>{const f=this._data[e];return f??_};let y;if(n?y={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!0,defaultValue:a==null?void 0:a.defaultValue,meta:s,get:()=>this._data[e],getOrDefault:h,validate:d}:y={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!1,defaultValue:a==null?void 0:a.defaultValue,meta:s,get:()=>this._data[e],getOrDefault:h,set:_=>{this._data[e]=_},validate:d},s.Type==="Image"||s.Type==="File"){const _=this._bdo.getBoId(),f=y;s.Type==="Image"?(f.getDownloadUrl=async l=>{const c=this._requireInstanceId(),g=this._data[e];if(!(g!=null&&g._id))throw new Error(`${e} has no image to download`);return i.api(_).getDownloadUrl(c,e,g._id,l)},n||(f.upload=async l=>{w.validateFileExtension(l.name,"Image");const c=this._requireInstanceId(),g={FileName:l.name,Size:l.size,FileExtension:w.extractFileExtension(l.name)},[u]=await i.api(_).getUploadUrl(c,e,[g]);await fetch(u.UploadUrl.URL,{method:"PUT",headers:{"Content-Type":u.ContentType},body:l});const F={_id:u._id,_name:u._name,FileName:u.FileName,FileExtension:u.FileExtension,Size:u.Size,ContentType:u.ContentType};return this._data[e]=F,F},f.deleteAttachment=async()=>{const l=this._requireInstanceId(),c=this._data[e];if(!(c!=null&&c._id))throw new Error(`${e} has no image to delete`);await i.api(_).deleteAttachment(l,e,c._id),this._data[e]=null})):(f.getDownloadUrl=async(l,c)=>{const g=this._requireInstanceId();return i.api(_).getDownloadUrl(g,e,l,c)},f.getDownloadUrls=async l=>{const c=this._requireInstanceId();return i.api(_).getDownloadUrls(c,e,l)},n||(f.upload=async l=>{for(const b of l)w.validateFileExtension(b.name,"File");const c=this._requireInstanceId(),g=l.map(b=>({FileName:b.name,Size:b.size,FileExtension:w.extractFileExtension(b.name)})),u=await i.api(_).getUploadUrl(c,e,g),F=await Promise.all(l.map(async(b,p)=>(await fetch(u[p].UploadUrl.URL,{method:"PUT",headers:{"Content-Type":u[p].ContentType},body:b}),{_id:u[p]._id,_name:u[p]._name,FileName:u[p].FileName,FileExtension:u[p].FileExtension,Size:u[p].Size,ContentType:u[p].ContentType}))),v=this._data[e]??[];return this._data[e]=[...v,...F],F},f.deleteAttachment=async l=>{const c=this._requireInstanceId();await i.api(_).deleteAttachment(c,e,l);const g=this._data[e]??[];this._data[e]=g.filter(u=>u._id!==l)}))}return this._accessorCache.set(e,y),y}validate(){const e=this._bdo.getFields(),t=[],a=this.toJSON();for(const[s,n]of Object.entries(e)){if(n.readOnly)continue;const d=this._data[s],h=n.validate(d);if(!h.valid){t.push(...h.errors);continue}if(this._bdo.hasMetadata()){const y=this._bdo.validateFieldExpression(s,d,a);y.valid||t.push(...y.errors)}}return{valid:t.length===0,errors:t}}toJSON(){return{...this._data}}}const A={CONCAT:(...r)=>r.map(e=>String(e??"")).join(""),UPPER:r=>String(r??"").toUpperCase(),LOWER:r=>String(r??"").toLowerCase(),TRIM:r=>String(r??"").trim(),LENGTH:r=>String(r??"").length,SUBSTRING:(r,e,t)=>String(r??"").substring(e,t!==void 0?e+t:void 0),REPLACE:(r,e,t)=>String(r??"").replace(e,t),SUM:(...r)=>r.reduce((e,t)=>e+(Number(t)||0),0),AVG:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t)));return e.length===0?0:e.reduce((t,a)=>t+Number(a),0)/e.length},MIN:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.min(...e)},MAX:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.max(...e)},ABS:r=>Math.abs(Number(r)||0),ROUND:r=>Math.round(Number(r)||0),FLOOR:r=>Math.floor(Number(r)||0),CEIL:r=>Math.ceil(Number(r)||0),YEAR:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getFullYear()},MONTH:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getMonth()+1},DAY:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getDate()},DATE_DIFF:(r,e)=>{const t=new Date(r),a=new Date(e);if(isNaN(t.getTime())||isNaN(a.getTime()))return 0;const s=Math.abs(t.getTime()-a.getTime());return Math.ceil(s/(1e3*60*60*24))},ADD_DAYS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setDate(t.getDate()+e),t)},ADD_MONTHS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setMonth(t.getMonth()+e),t)},IF:(r,e,t)=>r?e:t,UUID:()=>typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})};function S(){const r=new Date;return{NOW:r,TODAY:new Date(r.getFullYear(),r.getMonth(),r.getDate()),CURRENT_USER:{Id:"",Email:"",FirstName:"",LastName:""}}}function N(r,e){var t;switch(r.Type){case"Literal":return r.Value;case"Identifier":return e.formValues[r.Name];case"SystemIdentifier":return O(r,e);case"BinaryExpression":return R(r,e);case"LogicalExpression":return D(r,e);case"CallExpression":return C(r,e);case"MemberExpression":return M(r,e);case"AssignmentExpression":return((t=r.Arguments)==null?void 0:t.length)===1?N(r.Arguments[0],e):void 0;default:throw new Error(`Unsupported expression type: ${r.Type}`)}}function O(r,e){const t=r.Name,a=e.systemValues[t];return r.Property?a&&typeof a=="object"?a[r.Property.Name]:void 0:a}function R(r,e){if(!r.Arguments||r.Arguments.length<2)throw new Error("BinaryExpression requires 2 arguments");const[t,a]=r.Arguments,s=N(t,e),n=N(a,e);switch(r.Operator){case"==":return s==n;case"!=":return s!=n;case"<":return Number(s)<Number(n);case"<=":return Number(s)<=Number(n);case">":return Number(s)>Number(n);case">=":return Number(s)>=Number(n);case"+":return Number(s)+Number(n);case"-":return Number(s)-Number(n);case"*":return Number(s)*Number(n);case"/":return Number(n)!==0?Number(s)/Number(n):0;case"%":return Number(s)%Number(n);default:throw new Error(`Unsupported binary operator: ${r.Operator}`)}}function D(r,e){if(!r.Arguments||r.Arguments.length===0)throw new Error("LogicalExpression requires at least 1 argument");const t=r.Arguments;switch(r.Operator){case"AND":return t.every(a=>!!N(a,e));case"OR":return t.some(a=>!!N(a,e));case"!":return!N(t[0],e);default:throw new Error(`Unsupported logical operator: ${r.Operator}`)}}function C(r,e){if(!r.Callee)throw new Error("CallExpression requires a Callee");const t=A[r.Callee];if(!t)throw new Error(`Unknown function: ${r.Callee}`);const a=(r.Arguments??[]).map(s=>N(s,e));return t(...a)}function M(r,e){var s,n;if(!((s=r.Arguments)!=null&&s.length))return;const t=N(r.Arguments[0],e),a=(n=r.Arguments[0].Property)==null?void 0:n.Name;return a&&t&&typeof t=="object"?t[a]:t}class B{constructor(){m(this,"fieldRules",new Map);m(this,"metadata",null)}loadMetadata(e){var t,a;this.metadata=e,this.fieldRules.clear();for(const[s,n]of Object.entries(e.Fields)){const d=[];if(n.Validation&&Array.isArray(n.Validation)){for(const h of n.Validation)if(typeof h=="object"&&h.ExpressionTree)d.push(h);else if(typeof h=="string"){const y=(a=(t=e.Rules)==null?void 0:t.Validation)==null?void 0:a[h];y&&d.push(y)}}d.length>0&&this.fieldRules.set(s,d)}}hasMetadata(){return this.metadata!==null}getFieldRules(e){return this.fieldRules.get(e)??[]}validateField(e,t,a){const s=this.fieldRules.get(e);if(!s||s.length===0)return{valid:!0,errors:[]};const n={formValues:{...a,[e]:t},systemValues:S()};for(const d of s)try{if(!N(d.ExpressionTree,n))return{valid:!1,errors:[d.Message||`Validation failed: ${d.Name||d.Id}`]}}catch(h){console.warn(`Expression evaluation failed for rule ${d.Id}:`,h)}return{valid:!0,errors:[]}}validateAll(e){const t=[];for(const a of this.fieldRules.keys()){const s=this.validateField(a,e[a],e);s.valid||t.push(...s.errors)}return{valid:t.length===0,errors:t}}}class I{constructor(){m(this,"_id",new o.StringField({_id:"_id",Name:"ID",Type:"String",ReadOnly:!0}));m(this,"_created_at",new o.DateTimeField({_id:"_created_at",Name:"Created At",Type:"DateTime",ReadOnly:!0}));m(this,"_modified_at",new o.DateTimeField({_id:"_modified_at",Name:"Modified At",Type:"DateTime",ReadOnly:!0}));m(this,"_created_by",new o.UserField({_id:"_created_by",Name:"Created By",Type:"User",ReadOnly:!0}));m(this,"_modified_by",new o.UserField({_id:"_modified_by",Name:"Modified By",Type:"User",ReadOnly:!0}));m(this,"_version",new o.StringField({_id:"_version",Name:"Version",Type:"String",ReadOnly:!0}));m(this,"_m_version",new o.StringField({_id:"_m_version",Name:"Metadata Version",Type:"String",ReadOnly:!0}));m(this,"_fieldsBound",!1);m(this,"_fieldsCache",null);m(this,"_expressionEngine",new B)}getBoId(){return this.meta._id}getFields(){if(this._fieldsCache)return this._fieldsCache;const e={};for(const t of Object.keys(this)){const a=this[t];a instanceof o.BaseField&&(e[t]=a)}if(!this._fieldsBound){for(const t of Object.values(e))t._parentBoId=this.meta._id;this._fieldsBound=!0}return this._fieldsCache=e,e}loadMetadata(e){this._expressionEngine.loadMetadata(e)}hasMetadata(){return this._expressionEngine.hasMetadata()}validateFieldExpression(e,t,a){return this._expressionEngine.hasMetadata()?this._expressionEngine.validateField(e,t,a):{valid:!0,errors:[]}}async get(e){const t=await i.api(this.meta._id).get(e);return new x(this,t)}async list(e){return(await i.api(this.meta._id).list(e)).Data.map(a=>new x(this,a))}async count(e){return(await i.api(this.meta._id).count(e)).Count}async create(e){const t=await i.api(this.meta._id).create(e);return new x(this,{...e,_id:t._id})}async update(e,t){return i.api(this.meta._id).update(e,t)}async delete(e){return i.api(this.meta._id).delete(e)}async draft(e){return i.api(this.meta._id).draft(e)}async draftInteraction(e){return i.api(this.meta._id).draftInteraction(e)}createItem(e){return new x(this,e??{})}async draftUpdate(e,t){return i.api(this.meta._id).draftUpdate(e,t)}async draftPatch(e,t){return i.api(this.meta._id).draftPatch(e,t)}async metric(e){return i.api(this.meta._id).metric(e)}async pivot(e){return i.api(this.meta._id).pivot(e)}async getUploadUrl(e,t,a){return i.api(this.meta._id).getUploadUrl(e,t,a)}async getDownloadUrl(e,t,a,s){return i.api(this.meta._id).getDownloadUrl(e,t,a,s)}async getDownloadUrls(e,t,a){return i.api(this.meta._id).getDownloadUrls(e,t,a)}async deleteAttachment(e,t,a){return i.api(this.meta._id).deleteAttachment(e,t,a)}}class q extends o.BaseField{constructor(e){super(e)}get elementType(){return this._meta.Property}validate(e){return e!=null&&!Array.isArray(e)?{valid:!1,errors:[`${this.label} must be an array`]}:{valid:!0,errors:[]}}}class V extends o.BaseField{constructor(e){super(e)}get properties(){return this._meta.Property}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid object`]}:{valid:!0,errors:[]}}}class j extends o.BaseField{constructor(e){super(e)}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid image object`]}:!e._id||!e.FileName?{valid:!1,errors:[`${this.label} must have _id and FileName`]}:{valid:!0,errors:[]}}}exports.BaseField=o.BaseField;exports.BooleanField=o.BooleanField;exports.DateField=o.DateField;exports.DateTimeField=o.DateTimeField;exports.FileField=o.FileField;exports.NumberField=o.NumberField;exports.ReferenceField=o.ReferenceField;exports.SelectField=o.SelectField;exports.StringField=o.StringField;exports.TextAreaField=o.TextField;exports.TextField=o.TextField;exports.UserField=o.UserField;exports.SystemField=U.SystemField;exports.ArrayField=q;exports.BaseBdo=I;exports.ImageField=j;exports.ObjectField=V;
|
|
1
|
+
"use strict";var E=Object.defineProperty;var T=(r,e,t)=>e in r?E(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var m=(r,e,t)=>T(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./client-D5k4SYuw.cjs"),w=require("./attachment-constants-B5jlqoKI.cjs"),o=require("./FileField-DU4UWo_t.cjs"),U=require("./constants-QX2RX-wu.cjs");class x{constructor(e,t){m(this,"_data");m(this,"_bdo");m(this,"_accessorCache",new Map);return this._bdo=e,this._data={...t},new Proxy(this,{get(a,s,n){return s==="validate"||s==="toJSON"||s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="_getAccessor"||s==="_requireInstanceId"||typeof s=="symbol"?Reflect.get(a,s,n):s==="_id"?a._data._id:a._getAccessor(s)},set(a,s,n){return s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="validate"||s==="toJSON"?!1:typeof s=="symbol"?Reflect.set(a,s,n):(a._data[s]=n,!0)},has(a,s){return s==="validate"||s==="toJSON"?!0:s in a._data||s in a._bdo.getFields()},ownKeys(a){return[...Object.keys(a._bdo.getFields()),"validate","toJSON"]},getOwnPropertyDescriptor(a,s){if(s==="validate"||s==="toJSON")return{configurable:!0,enumerable:!1,value:a[s]};const n=a._bdo.getFields();if(s in n||s in a._data)return{configurable:!0,enumerable:!0,get:()=>a._getAccessor(s)}}})}_requireInstanceId(){return this._data._id||"draft"}_getAccessor(e){if(this._accessorCache.has(e))return this._accessorCache.get(e);const a=this._bdo.getFields()[e],s=(a==null?void 0:a.meta)??{_id:e,Name:e,Type:"String"},n=(a==null?void 0:a.readOnly)??!1,d=()=>{if(a){const _=a.validate(this._data[e]);if(!_.valid)return _}return this._bdo.hasMetadata()?this._bdo.validateFieldExpression(e,this._data[e],this.toJSON()):{valid:!0,errors:[]}},h=_=>{const f=this._data[e];return f??_};let y;if(n?y={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!0,defaultValue:a==null?void 0:a.defaultValue,meta:s,get:()=>this._data[e],getOrDefault:h,validate:d}:y={label:(a==null?void 0:a.label)??e,required:(a==null?void 0:a.required)??!1,readOnly:!1,defaultValue:a==null?void 0:a.defaultValue,meta:s,get:()=>this._data[e],getOrDefault:h,set:_=>{this._data[e]=_},validate:d},s.Type==="Image"||s.Type==="File"){const _=this._bdo.getBoId(),f=y;s.Type==="Image"?(f.getDownloadUrl=async l=>{const c=this._requireInstanceId(),g=this._data[e];if(!(g!=null&&g._id))throw new Error(`${e} has no image to download`);return i.api(_).getDownloadUrl(c,e,g._id,l)},n||(f.upload=async l=>{w.validateFileExtension(l.name,"Image");const c=this._requireInstanceId(),g={FileName:l.name,Size:l.size,FileExtension:w.extractFileExtension(l.name)},[u]=await i.api(_).getUploadUrl(c,e,[g]);await fetch(u.UploadUrl.URL,{method:"PUT",headers:{"Content-Type":u.ContentType},body:l});const F={_id:u._id,_name:u._name,FileName:u.FileName,FileExtension:u.FileExtension,Size:u.Size,ContentType:u.ContentType};return this._data[e]=F,F},f.deleteAttachment=async()=>{const l=this._requireInstanceId(),c=this._data[e];if(!(c!=null&&c._id))throw new Error(`${e} has no image to delete`);await i.api(_).deleteAttachment(l,e,c._id),this._data[e]=null})):(f.getDownloadUrl=async(l,c)=>{const g=this._requireInstanceId();return i.api(_).getDownloadUrl(g,e,l,c)},f.getDownloadUrls=async l=>{const c=this._requireInstanceId();return i.api(_).getDownloadUrls(c,e,l)},n||(f.upload=async l=>{for(const b of l)w.validateFileExtension(b.name,"File");const c=this._requireInstanceId(),g=l.map(b=>({FileName:b.name,Size:b.size,FileExtension:w.extractFileExtension(b.name)})),u=await i.api(_).getUploadUrl(c,e,g),F=await Promise.all(l.map(async(b,p)=>(await fetch(u[p].UploadUrl.URL,{method:"PUT",headers:{"Content-Type":u[p].ContentType},body:b}),{_id:u[p]._id,_name:u[p]._name,FileName:u[p].FileName,FileExtension:u[p].FileExtension,Size:u[p].Size,ContentType:u[p].ContentType}))),v=this._data[e]??[];return this._data[e]=[...v,...F],F},f.deleteAttachment=async l=>{const c=this._requireInstanceId();await i.api(_).deleteAttachment(c,e,l);const g=this._data[e]??[];this._data[e]=g.filter(u=>u._id!==l)}))}return this._accessorCache.set(e,y),y}validate(){const e=this._bdo.getFields(),t=[],a=this.toJSON();for(const[s,n]of Object.entries(e)){if(n.readOnly)continue;const d=this._data[s],h=n.validate(d);if(!h.valid){t.push(...h.errors);continue}if(this._bdo.hasMetadata()){const y=this._bdo.validateFieldExpression(s,d,a);y.valid||t.push(...y.errors)}}return{valid:t.length===0,errors:t}}toJSON(){return{...this._data}}}const A={CONCAT:(...r)=>r.map(e=>String(e??"")).join(""),UPPER:r=>String(r??"").toUpperCase(),LOWER:r=>String(r??"").toLowerCase(),TRIM:r=>String(r??"").trim(),LENGTH:r=>String(r??"").length,SUBSTRING:(r,e,t)=>String(r??"").substring(e,t!==void 0?e+t:void 0),REPLACE:(r,e,t)=>String(r??"").replace(e,t),SUM:(...r)=>r.reduce((e,t)=>e+(Number(t)||0),0),AVG:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t)));return e.length===0?0:e.reduce((t,a)=>t+Number(a),0)/e.length},MIN:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.min(...e)},MAX:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.max(...e)},ABS:r=>Math.abs(Number(r)||0),ROUND:r=>Math.round(Number(r)||0),FLOOR:r=>Math.floor(Number(r)||0),CEIL:r=>Math.ceil(Number(r)||0),YEAR:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getFullYear()},MONTH:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getMonth()+1},DAY:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getDate()},DATE_DIFF:(r,e)=>{const t=new Date(r),a=new Date(e);if(isNaN(t.getTime())||isNaN(a.getTime()))return 0;const s=Math.abs(t.getTime()-a.getTime());return Math.ceil(s/(1e3*60*60*24))},ADD_DAYS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setDate(t.getDate()+e),t)},ADD_MONTHS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setMonth(t.getMonth()+e),t)},IF:(r,e,t)=>r?e:t,UUID:()=>typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})};function S(){const r=new Date;return{NOW:r,TODAY:new Date(r.getFullYear(),r.getMonth(),r.getDate()),CURRENT_USER:{Id:"",Email:"",FirstName:"",LastName:""}}}function N(r,e){var t;switch(r.Type){case"Literal":return r.Value;case"Identifier":return e.formValues[r.Name];case"SystemIdentifier":return O(r,e);case"BinaryExpression":return R(r,e);case"LogicalExpression":return D(r,e);case"CallExpression":return C(r,e);case"MemberExpression":return M(r,e);case"AssignmentExpression":return((t=r.Arguments)==null?void 0:t.length)===1?N(r.Arguments[0],e):void 0;default:throw new Error(`Unsupported expression type: ${r.Type}`)}}function O(r,e){const t=r.Name,a=e.systemValues[t];return r.Property?a&&typeof a=="object"?a[r.Property.Name]:void 0:a}function R(r,e){if(!r.Arguments||r.Arguments.length<2)throw new Error("BinaryExpression requires 2 arguments");const[t,a]=r.Arguments,s=N(t,e),n=N(a,e);switch(r.Operator){case"==":return s==n;case"!=":return s!=n;case"<":return Number(s)<Number(n);case"<=":return Number(s)<=Number(n);case">":return Number(s)>Number(n);case">=":return Number(s)>=Number(n);case"+":return Number(s)+Number(n);case"-":return Number(s)-Number(n);case"*":return Number(s)*Number(n);case"/":return Number(n)!==0?Number(s)/Number(n):0;case"%":return Number(s)%Number(n);default:throw new Error(`Unsupported binary operator: ${r.Operator}`)}}function D(r,e){if(!r.Arguments||r.Arguments.length===0)throw new Error("LogicalExpression requires at least 1 argument");const t=r.Arguments;switch(r.Operator){case"AND":return t.every(a=>!!N(a,e));case"OR":return t.some(a=>!!N(a,e));case"!":return!N(t[0],e);default:throw new Error(`Unsupported logical operator: ${r.Operator}`)}}function C(r,e){if(!r.Callee)throw new Error("CallExpression requires a Callee");const t=A[r.Callee];if(!t)throw new Error(`Unknown function: ${r.Callee}`);const a=(r.Arguments??[]).map(s=>N(s,e));return t(...a)}function M(r,e){var s,n;if(!((s=r.Arguments)!=null&&s.length))return;const t=N(r.Arguments[0],e),a=(n=r.Arguments[0].Property)==null?void 0:n.Name;return a&&t&&typeof t=="object"?t[a]:t}class B{constructor(){m(this,"fieldRules",new Map);m(this,"metadata",null)}loadMetadata(e){var t,a;this.metadata=e,this.fieldRules.clear();for(const[s,n]of Object.entries(e.Fields)){const d=[];if(n.Validation&&Array.isArray(n.Validation)){for(const h of n.Validation)if(typeof h=="object"&&h.ExpressionTree)d.push(h);else if(typeof h=="string"){const y=(a=(t=e.Rules)==null?void 0:t.Validation)==null?void 0:a[h];y&&d.push(y)}}d.length>0&&this.fieldRules.set(s,d)}}hasMetadata(){return this.metadata!==null}getFieldRules(e){return this.fieldRules.get(e)??[]}validateField(e,t,a){const s=this.fieldRules.get(e);if(!s||s.length===0)return{valid:!0,errors:[]};const n={formValues:{...a,[e]:t},systemValues:S()};for(const d of s)try{if(!N(d.ExpressionTree,n))return{valid:!1,errors:[d.Message||`Validation failed: ${d.Name||d.Id}`]}}catch(h){console.warn(`Expression evaluation failed for rule ${d.Id}:`,h)}return{valid:!0,errors:[]}}validateAll(e){const t=[];for(const a of this.fieldRules.keys()){const s=this.validateField(a,e[a],e);s.valid||t.push(...s.errors)}return{valid:t.length===0,errors:t}}}class I{constructor(){m(this,"_id",new o.StringField({_id:"_id",Name:"ID",Type:"String",ReadOnly:!0}));m(this,"_created_at",new o.DateTimeField({_id:"_created_at",Name:"Created At",Type:"DateTime",ReadOnly:!0}));m(this,"_modified_at",new o.DateTimeField({_id:"_modified_at",Name:"Modified At",Type:"DateTime",ReadOnly:!0}));m(this,"_created_by",new o.UserField({_id:"_created_by",Name:"Created By",Type:"User",ReadOnly:!0}));m(this,"_modified_by",new o.UserField({_id:"_modified_by",Name:"Modified By",Type:"User",ReadOnly:!0}));m(this,"_version",new o.StringField({_id:"_version",Name:"Version",Type:"String",ReadOnly:!0}));m(this,"_m_version",new o.StringField({_id:"_m_version",Name:"Metadata Version",Type:"String",ReadOnly:!0}));m(this,"_fieldsBound",!1);m(this,"_fieldsCache",null);m(this,"_expressionEngine",new B)}getBoId(){return this.meta._id}getFields(){if(this._fieldsCache)return this._fieldsCache;const e={};for(const t of Object.keys(this)){const a=this[t];a instanceof o.BaseField&&(e[t]=a)}if(!this._fieldsBound){for(const t of Object.values(e))t._parentBoId=this.meta._id;this._fieldsBound=!0}return this._fieldsCache=e,e}loadMetadata(e){this._expressionEngine.loadMetadata(e)}hasMetadata(){return this._expressionEngine.hasMetadata()}validateFieldExpression(e,t,a){return this._expressionEngine.hasMetadata()?this._expressionEngine.validateField(e,t,a):{valid:!0,errors:[]}}async get(e){const t=await i.api(this.meta._id).get(e);return new x(this,t)}async list(e){return(await i.api(this.meta._id).list(e)).Data.map(a=>new x(this,a))}async count(e){return(await i.api(this.meta._id).count(e)).Count}async create(e){const t=await i.api(this.meta._id).create(e);return new x(this,{...e,_id:t._id})}async update(e,t){return i.api(this.meta._id).update(e,t)}async delete(e){return i.api(this.meta._id).delete(e)}async draft(e){return i.api(this.meta._id).draft(e)}async draftInteraction(e){return i.api(this.meta._id).draftInteraction(e)}createItem(e){return new x(this,e??{})}async draftUpdate(e,t){return i.api(this.meta._id).draftUpdate(e,t)}async draftPatch(e,t){return i.api(this.meta._id).draftPatch(e,t)}async metric(e){return i.api(this.meta._id).metric(e)}async pivot(e){return i.api(this.meta._id).pivot(e)}async getUploadUrl(e,t,a){return i.api(this.meta._id).getUploadUrl(e,t,a)}async getDownloadUrl(e,t,a,s){return i.api(this.meta._id).getDownloadUrl(e,t,a,s)}async getDownloadUrls(e,t,a){return i.api(this.meta._id).getDownloadUrls(e,t,a)}async deleteAttachment(e,t,a){return i.api(this.meta._id).deleteAttachment(e,t,a)}}class q extends o.BaseField{constructor(e){super(e)}get elementType(){return this._meta.Property}validate(e){return e!=null&&!Array.isArray(e)?{valid:!1,errors:[`${this.label} must be an array`]}:{valid:!0,errors:[]}}}class V extends o.BaseField{constructor(e){super(e)}get properties(){return this._meta.Property}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid object`]}:{valid:!0,errors:[]}}}class j extends o.BaseField{constructor(e){super(e)}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid image object`]}:!e._id||!e.FileName?{valid:!1,errors:[`${this.label} must have _id and FileName`]}:{valid:!0,errors:[]}}}exports.BaseField=o.BaseField;exports.BooleanField=o.BooleanField;exports.DateField=o.DateField;exports.DateTimeField=o.DateTimeField;exports.FileField=o.FileField;exports.NumberField=o.NumberField;exports.ReferenceField=o.ReferenceField;exports.SelectField=o.SelectField;exports.StringField=o.StringField;exports.TextAreaField=o.TextField;exports.TextField=o.TextField;exports.UserField=o.UserField;exports.SystemField=U.SystemField;exports.ArrayField=q;exports.BaseBdo=I;exports.ImageField=j;exports.ObjectField=V;
|
package/dist/bdo.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
var O = Object.defineProperty;
|
|
2
2
|
var S = (r, e, t) => e in r ? O(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
|
|
3
|
-
var
|
|
3
|
+
var d = (r, e, t) => S(r, typeof e != "symbol" ? e + "" : e, t);
|
|
4
4
|
import { a as i } from "./client-_ayziI1d.js";
|
|
5
5
|
import { v, e as E } from "./attachment-constants-C2UHWxmp.js";
|
|
6
6
|
import { S as F, D as T, U, B as x } from "./FileField-CZjS2uLh.js";
|
|
7
7
|
import { a as K, b as W, F as X, N as Q, R as Z, c as ee, T as te, T as re } from "./FileField-CZjS2uLh.js";
|
|
8
|
-
import { d as se } from "./constants-
|
|
8
|
+
import { d as se } from "./constants-ConHc1oS.js";
|
|
9
9
|
class w {
|
|
10
10
|
constructor(e, t) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
d(this, "_data");
|
|
12
|
+
d(this, "_bdo");
|
|
13
|
+
d(this, "_accessorCache", /* @__PURE__ */ new Map());
|
|
14
14
|
return this._bdo = e, this._data = { ...t }, new Proxy(this, {
|
|
15
15
|
get(a, s, n) {
|
|
16
16
|
return s === "validate" || s === "toJSON" || s === "_bdo" || s === "_data" || s === "_accessorCache" || s === "_getAccessor" || s === "_requireInstanceId" || typeof s == "symbol" ? Reflect.get(a, s, n) : s === "_id" ? a._data._id : a._getAccessor(s);
|
|
@@ -95,23 +95,23 @@ class w {
|
|
|
95
95
|
}, s.Type === "Image" || s.Type === "File") {
|
|
96
96
|
const h = this._bdo.getBoId(), g = y;
|
|
97
97
|
s.Type === "Image" ? (g.getDownloadUrl = async (o) => {
|
|
98
|
-
const
|
|
98
|
+
const c = this._requireInstanceId(), _ = this._data[e];
|
|
99
99
|
if (!(_ != null && _._id))
|
|
100
100
|
throw new Error(`${e} has no image to download`);
|
|
101
101
|
return i(h).getDownloadUrl(
|
|
102
|
-
|
|
102
|
+
c,
|
|
103
103
|
e,
|
|
104
104
|
_._id,
|
|
105
105
|
o
|
|
106
106
|
);
|
|
107
107
|
}, n || (g.upload = async (o) => {
|
|
108
108
|
v(o.name, "Image");
|
|
109
|
-
const
|
|
109
|
+
const c = this._requireInstanceId(), _ = {
|
|
110
110
|
FileName: o.name,
|
|
111
111
|
Size: o.size,
|
|
112
112
|
FileExtension: E(o.name)
|
|
113
113
|
}, [u] = await i(h).getUploadUrl(
|
|
114
|
-
|
|
114
|
+
c,
|
|
115
115
|
e,
|
|
116
116
|
[_]
|
|
117
117
|
);
|
|
@@ -130,30 +130,30 @@ class w {
|
|
|
130
130
|
};
|
|
131
131
|
return this._data[e] = p, p;
|
|
132
132
|
}, g.deleteAttachment = async () => {
|
|
133
|
-
const o = this._requireInstanceId(),
|
|
134
|
-
if (!(
|
|
133
|
+
const o = this._requireInstanceId(), c = this._data[e];
|
|
134
|
+
if (!(c != null && c._id))
|
|
135
135
|
throw new Error(`${e} has no image to delete`);
|
|
136
|
-
await i(h).deleteAttachment(o, e,
|
|
137
|
-
})) : (g.getDownloadUrl = async (o,
|
|
136
|
+
await i(h).deleteAttachment(o, e, c._id), this._data[e] = null;
|
|
137
|
+
})) : (g.getDownloadUrl = async (o, c) => {
|
|
138
138
|
const _ = this._requireInstanceId();
|
|
139
139
|
return i(h).getDownloadUrl(
|
|
140
140
|
_,
|
|
141
141
|
e,
|
|
142
142
|
o,
|
|
143
|
-
|
|
143
|
+
c
|
|
144
144
|
);
|
|
145
145
|
}, g.getDownloadUrls = async (o) => {
|
|
146
|
-
const
|
|
147
|
-
return i(h).getDownloadUrls(
|
|
146
|
+
const c = this._requireInstanceId();
|
|
147
|
+
return i(h).getDownloadUrls(c, e, o);
|
|
148
148
|
}, n || (g.upload = async (o) => {
|
|
149
149
|
for (const b of o)
|
|
150
150
|
v(b.name, "File");
|
|
151
|
-
const
|
|
151
|
+
const c = this._requireInstanceId(), _ = o.map((b) => ({
|
|
152
152
|
FileName: b.name,
|
|
153
153
|
Size: b.size,
|
|
154
154
|
FileExtension: E(b.name)
|
|
155
155
|
})), u = await i(h).getUploadUrl(
|
|
156
|
-
|
|
156
|
+
c,
|
|
157
157
|
e,
|
|
158
158
|
_
|
|
159
159
|
), p = await Promise.all(
|
|
@@ -175,9 +175,9 @@ class w {
|
|
|
175
175
|
...p
|
|
176
176
|
], p;
|
|
177
177
|
}, g.deleteAttachment = async (o) => {
|
|
178
|
-
const
|
|
178
|
+
const c = this._requireInstanceId();
|
|
179
179
|
await i(h).deleteAttachment(
|
|
180
|
-
|
|
180
|
+
c,
|
|
181
181
|
e,
|
|
182
182
|
o
|
|
183
183
|
);
|
|
@@ -501,11 +501,11 @@ class q {
|
|
|
501
501
|
/**
|
|
502
502
|
* Map of field ID to its validation rules
|
|
503
503
|
*/
|
|
504
|
-
|
|
504
|
+
d(this, "fieldRules", /* @__PURE__ */ new Map());
|
|
505
505
|
/**
|
|
506
506
|
* The loaded BDO metadata
|
|
507
507
|
*/
|
|
508
|
-
|
|
508
|
+
d(this, "metadata", null);
|
|
509
509
|
}
|
|
510
510
|
/**
|
|
511
511
|
* Load metadata and extract field validation rules
|
|
@@ -612,28 +612,28 @@ class z {
|
|
|
612
612
|
// ============================================================
|
|
613
613
|
// SYSTEM FIELDS (inherited by all BDOs)
|
|
614
614
|
// ============================================================
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
615
|
+
d(this, "_id", new F({ _id: "_id", Name: "ID", Type: "String", ReadOnly: !0 }));
|
|
616
|
+
d(this, "_created_at", new T({ _id: "_created_at", Name: "Created At", Type: "DateTime", ReadOnly: !0 }));
|
|
617
|
+
d(this, "_modified_at", new T({ _id: "_modified_at", Name: "Modified At", Type: "DateTime", ReadOnly: !0 }));
|
|
618
|
+
d(this, "_created_by", new U({ _id: "_created_by", Name: "Created By", Type: "User", ReadOnly: !0 }));
|
|
619
|
+
d(this, "_modified_by", new U({ _id: "_modified_by", Name: "Modified By", Type: "User", ReadOnly: !0 }));
|
|
620
|
+
d(this, "_version", new F({ _id: "_version", Name: "Version", Type: "String", ReadOnly: !0 }));
|
|
621
|
+
d(this, "_m_version", new F({ _id: "_m_version", Name: "Metadata Version", Type: "String", ReadOnly: !0 }));
|
|
622
622
|
/**
|
|
623
623
|
* Whether fields have been bound to this BDO
|
|
624
624
|
*/
|
|
625
|
-
|
|
625
|
+
d(this, "_fieldsBound", !1);
|
|
626
626
|
/**
|
|
627
627
|
* Cached field map
|
|
628
628
|
*/
|
|
629
|
-
|
|
629
|
+
d(this, "_fieldsCache", null);
|
|
630
630
|
// ============================================================
|
|
631
631
|
// EXPRESSION ENGINE (for backend validation rules)
|
|
632
632
|
// ============================================================
|
|
633
633
|
/**
|
|
634
634
|
* Expression engine instance for evaluating backend validation rules
|
|
635
635
|
*/
|
|
636
|
-
|
|
636
|
+
d(this, "_expressionEngine", new q());
|
|
637
637
|
}
|
|
638
638
|
// ============================================================
|
|
639
639
|
// FIELD DEFINITIONS (auto-discovered)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { UseFormWatch, UseFormSetValue, UseFormGetValues, UseFormReset, UseFormTrigger, Control, FieldErrors } from 'react-hook-form';
|
|
2
2
|
import type { Activity } from '../../../workflow/Activity';
|
|
3
|
-
import type { CreateUpdateResponseType } from '../../../types/common';
|
|
4
3
|
import type { HandleSubmitType, FormItemType, FormRegisterType, EditableFormFieldAccessorType, ReadonlyFormFieldAccessorType } from '../useBDOForm/types';
|
|
5
4
|
export type { HandleSubmitType, FormItemType, FormRegisterType, EditableFormFieldAccessorType, ReadonlyFormFieldAccessorType, };
|
|
6
5
|
/** Extract TEntity from an Activity instance */
|
|
@@ -43,8 +42,10 @@ export interface UseActivityFormReturn<A extends Activity<any, any, any>> {
|
|
|
43
42
|
activity: A;
|
|
44
43
|
/** Smart register with auto-disable for readonly fields */
|
|
45
44
|
register: FormRegisterType<ExtractActivityEditable<A>, ExtractActivityReadonly<A>>;
|
|
46
|
-
/** Handle form submission —
|
|
47
|
-
handleSubmit: HandleSubmitType<
|
|
45
|
+
/** Handle form submission — calls activity.update() */
|
|
46
|
+
handleSubmit: HandleSubmitType<AllActivityFields<A>>;
|
|
47
|
+
/** Handle form completion — calls activity.update() + activity.complete() */
|
|
48
|
+
handleComplete: HandleSubmitType<AllActivityFields<A>>;
|
|
48
49
|
/** Watch field values */
|
|
49
50
|
watch: UseFormWatch<AllActivityFields<A>>;
|
|
50
51
|
/** Set field value programmatically */
|
|
@@ -63,7 +64,7 @@ export interface UseActivityFormReturn<A extends Activity<any, any, any>> {
|
|
|
63
64
|
isValid: boolean;
|
|
64
65
|
/** Form has been modified */
|
|
65
66
|
isDirty: boolean;
|
|
66
|
-
/** Form is currently submitting */
|
|
67
|
+
/** Form is currently submitting (save or complete) */
|
|
67
68
|
isSubmitting: boolean;
|
|
68
69
|
/** Form submission was successful */
|
|
69
70
|
isSubmitSuccessful: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityForm/types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,OAAO,EACP,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityForm/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActivityForm.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityForm/useActivityForm.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useActivityForm.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityForm/useActivityForm.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAwBjB,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC/D,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CAkb1B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Activity } from '../../../workflow/Activity';
|
|
2
|
+
import type { ActivityInstanceFieldsType } from '../../../workflow/types';
|
|
2
3
|
import type { UseTableReturnType, PaginationStateType } from '../useTable/types';
|
|
3
4
|
import type { UseFilterOptionsType } from '../useFilter/types';
|
|
4
5
|
import type { SortType } from '../../../types/common';
|
|
@@ -11,12 +12,10 @@ export declare const ActivityTableStatus: {
|
|
|
11
12
|
};
|
|
12
13
|
export type ActivityTableStatusType = (typeof ActivityTableStatus)[keyof typeof ActivityTableStatus];
|
|
13
14
|
/**
|
|
14
|
-
* Row type
|
|
15
|
-
*
|
|
15
|
+
* Row type for activity table data.
|
|
16
|
+
* System fields and entity fields are flat at the top level.
|
|
16
17
|
*/
|
|
17
|
-
export type ActivityRowType<A extends Activity<any, any, any>> = A extends
|
|
18
|
-
getInProgressList(opts?: any): Promise<(infer R)[]>;
|
|
19
|
-
} ? R : never;
|
|
18
|
+
export type ActivityRowType<A extends Activity<any, any, any>> = A extends Activity<infer E, any, any> ? ActivityInstanceFieldsType & E : never;
|
|
20
19
|
export interface UseActivityTableOptionsType<A extends Activity<any, any, any>> {
|
|
21
20
|
/** The activity instance to fetch data for */
|
|
22
21
|
activity: A;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC3D,CAAC,SAAS
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC3D,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACjC,0BAA0B,GAAG,CAAC,GAC9B,KAAK,CAAC;AAEZ,MAAM,WAAW,2BAA2B,CAC1C,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAEjC,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,CAAC;IACZ,sEAAsE;IACtE,MAAM,EAAE,uBAAuB,CAAC;IAChC,oBAAoB;IACpB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,MAAM,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;KACnD,CAAC;IACF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qCAAqC;IACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActivityTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityTable/useActivityTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAE3B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChE,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,0BAA0B,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useActivityTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useActivityTable/useActivityTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAE3B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChE,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,0BAA0B,CAAC,CAAC,CAAC,CA4B/B"}
|
|
@@ -7,8 +7,8 @@ import type { FormItemType, ExtractEditableType, ExtractReadonlyType } from "./t
|
|
|
7
7
|
* Key principle: Item has NO state. It's a view over RHF's state.
|
|
8
8
|
* Editable fields get set(), readonly fields do not.
|
|
9
9
|
*
|
|
10
|
-
* In create mode (no _id),
|
|
11
|
-
*
|
|
10
|
+
* In create mode (no _id), uses "draft" as the instanceId for attachment
|
|
11
|
+
* uploads and fetch operations — no draftInteraction() call needed.
|
|
12
12
|
*
|
|
13
13
|
* @param bdo - The BDO instance for field metadata
|
|
14
14
|
* @param form - The RHF useForm return object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createItemProxy.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOForm/createItemProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAQ,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9D,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,GAC/B,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"createItemProxy.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOForm/createItemProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAQ,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9D,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,GAC/B,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAqS9D"}
|
|
@@ -1,32 +1,24 @@
|
|
|
1
|
-
import type { ListOptionsType, SortType } from '../../../types/common';
|
|
2
1
|
import type { UseTableReturnType, PaginationStateType } from '../useTable/types';
|
|
3
2
|
import type { UseFilterOptionsType } from '../useFilter/types';
|
|
4
|
-
|
|
5
|
-
export interface
|
|
6
|
-
meta
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import type { SortType } from '../../../types/common';
|
|
4
|
+
export interface UseBDOTableOptionsType<T> {
|
|
5
|
+
/** BDO instance — only meta._id is used (for API routing) */
|
|
6
|
+
bdo: {
|
|
7
|
+
meta: {
|
|
8
|
+
readonly _id: string;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
};
|
|
9
11
|
};
|
|
10
|
-
list(options?: ListOptionsType): Promise<any[]>;
|
|
11
|
-
count(options?: ListOptionsType): Promise<number>;
|
|
12
|
-
}
|
|
13
|
-
/** Infer row type from BDO's list() return type */
|
|
14
|
-
export type BDORowType<B extends BDOTableSourceType> = B extends {
|
|
15
|
-
list(opts?: any): Promise<(infer R)[]>;
|
|
16
|
-
} ? R : never;
|
|
17
|
-
export interface UseBDOTableOptionsType<B extends BDOTableSourceType> {
|
|
18
|
-
/** BDO instance — list() and count() are called for data */
|
|
19
|
-
bdo: B;
|
|
20
12
|
/** Initial state */
|
|
21
13
|
initialState?: {
|
|
22
14
|
sort?: SortType;
|
|
23
15
|
pagination?: PaginationStateType;
|
|
24
|
-
filter?: UseFilterOptionsType<
|
|
16
|
+
filter?: UseFilterOptionsType<T>;
|
|
25
17
|
};
|
|
26
18
|
/** Error callback */
|
|
27
19
|
onError?: (error: Error) => void;
|
|
28
|
-
/** Success callback — receives
|
|
29
|
-
onSuccess?: (data:
|
|
20
|
+
/** Success callback — receives rows from current page */
|
|
21
|
+
onSuccess?: (data: T[]) => void;
|
|
30
22
|
}
|
|
31
|
-
export type UseBDOTableReturnType<
|
|
23
|
+
export type UseBDOTableReturnType<T> = UseTableReturnType<T>;
|
|
32
24
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,6DAA6D;IAC7D,GAAG,EAAE;QACH,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACvD,CAAC;IACF,oBAAoB;IACpB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC;IACF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function useBDOTable<
|
|
1
|
+
import type { UseBDOTableOptionsType, UseBDOTableReturnType } from './types';
|
|
2
|
+
export declare function useBDOTable<T = any>(options: UseBDOTableOptionsType<T>): UseBDOTableReturnType<T>;
|
|
3
3
|
//# sourceMappingURL=useBDOTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBDOTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/useBDOTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBDOTable.d.ts","sourceRoot":"","sources":["../../../../sdk/components/hooks/useBDOTable/useBDOTable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE7E,wBAAgB,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CAS1B"}
|
|
@@ -110,7 +110,7 @@ const t = {
|
|
|
110
110
|
Unauthenticated: "unauthenticated"
|
|
111
111
|
}, u = {
|
|
112
112
|
Google: "google",
|
|
113
|
-
|
|
113
|
+
Microsoft: "microsoft",
|
|
114
114
|
GitHub: "github",
|
|
115
115
|
Custom: "custom"
|
|
116
116
|
}, C = {
|
|
@@ -146,12 +146,12 @@ const t = {
|
|
|
146
146
|
PAGE: 1,
|
|
147
147
|
/** Maximum search query length */
|
|
148
148
|
SEARCH_MAX_LENGTH: 255
|
|
149
|
-
},
|
|
149
|
+
}, T = {
|
|
150
150
|
/** Date encoded field key: { "$__d__": "YYYY-MM-DD" } */
|
|
151
151
|
Date: "$__d__",
|
|
152
152
|
/** DateTime encoded field key: { "$__dt__": unix_timestamp } */
|
|
153
153
|
DateTime: "$__dt__"
|
|
154
|
-
},
|
|
154
|
+
}, A = {
|
|
155
155
|
/** Successful deletion */
|
|
156
156
|
Success: "success"
|
|
157
157
|
};
|
|
@@ -168,8 +168,8 @@ export {
|
|
|
168
168
|
e as R,
|
|
169
169
|
o as S,
|
|
170
170
|
r as V,
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
T as a,
|
|
172
|
+
A as b,
|
|
173
173
|
u as c,
|
|
174
174
|
C as d
|
|
175
175
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t={EQ:"EQ",NE:"NE",GT:"GT",GTE:"GTE",LT:"LT",LTE:"LTE",Between:"Between",NotBetween:"NotBetween",IN:"IN",NIN:"NIN",Empty:"Empty",NotEmpty:"NotEmpty",Contains:"Contains",NotContains:"NotContains",MinLength:"MinLength",MaxLength:"MaxLength",Length:"Length"},e={And:"And",Or:"Or",Not:"Not"},n={Constant:"Constant",BDOField:"BDOField",AppVariable:"AppVariable"},o={ASC:"ASC",DESC:"DESC"},i={Sum:"Sum",Avg:"Avg",Count:"Count",Max:"Max",Min:"Min",DistinctCount:"DistinctCount",BlankCount:"BlankCount",NotBlankCount:"NotBlankCount",Concat:"Concat",DistinctConcat:"DistinctConcat"},a={List:"List",Metric:"Metric",Pivot:"Pivot"},c={Create:"create",Update:"update"},r={Interactive:"interactive",NonInteractive:"non-interactive"},s={OnBlur:"onBlur",OnChange:"onChange",OnSubmit:"onSubmit",OnTouched:"onTouched",All:"all"},d={Loading:"loading",Authenticated:"authenticated",Unauthenticated:"unauthenticated"},u={Google:"google",Microsoft:"microsoft",GitHub:"github",Custom:"custom"},C={Id:"_id",CreatedAt:"_created_at",ModifiedAt:"_modified_at",CreatedBy:"_created_by",ModifiedBy:"_modified_by",Version:"_version",MergeVersion:"_m_version"},E={GET:"GET",POST:"POST",PATCH:"PATCH",DELETE:"DELETE"},p={SEARCH_DEBOUNCE_MS:300,PAGE_SIZE:10,PAGE:1,SEARCH_MAX_LENGTH:255},T={Date:"$__d__",DateTime:"$__dt__"},l={Success:"success"};exports.AuthProviderName=u;exports.AuthStatus=d;exports.ConditionOperator=t;exports.DateEncodingKey=T;exports.Defaults=p;exports.DeleteStatus=l;exports.FormOperation=c;exports.GroupOperator=e;exports.HttpMethod=E;exports.InteractionMode=r;exports.MetricType=i;exports.QueryType=a;exports.RHSType=n;exports.SortDirection=o;exports.SystemField=C;exports.ValidationMode=s;
|
package/dist/filter.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./useFilter-Bg0jvIL6.cjs"),e=require("./constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./useFilter-Bg0jvIL6.cjs"),e=require("./constants-QX2RX-wu.cjs");exports.isCondition=o.isCondition;exports.isConditionGroup=o.isConditionGroup;exports.useFilter=o.useFilter;exports.ConditionOperator=e.ConditionOperator;exports.FilterValueSource=e.RHSType;exports.GroupOperator=e.GroupOperator;
|
package/dist/filter.mjs
CHANGED