@object-ui/plugin-gantt 3.1.5 → 3.3.0
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/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +20 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +359 -361
- package/dist/index.umd.cjs +3 -3
- package/dist/packages/plugin-gantt/src/GanttView.d.ts.map +1 -0
- package/dist/packages/plugin-gantt/src/ObjectGantt.d.ts.map +1 -0
- package/dist/packages/plugin-gantt/src/index.d.ts.map +1 -0
- package/package.json +10 -10
- package/vite.config.ts +1 -0
- package/dist/src/GanttView.d.ts.map +0 -1
- package/dist/src/ObjectGantt.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- /package/dist/{src → packages/plugin-gantt/src}/GanttView.d.ts +0 -0
- /package/dist/{src → packages/plugin-gantt/src}/ObjectGantt.d.ts +0 -0
- /package/dist/{src → packages/plugin-gantt/src}/index.d.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -73,7 +73,7 @@ function le(e) {
|
|
|
73
73
|
return e == null;
|
|
74
74
|
}
|
|
75
75
|
function C(e) {
|
|
76
|
-
let t = e.startsWith("^")
|
|
76
|
+
let t = +!!e.startsWith("^"), n = e.endsWith("$") ? e.length - 1 : e.length;
|
|
77
77
|
return e.slice(t, n);
|
|
78
78
|
}
|
|
79
79
|
function ue(e, t) {
|
|
@@ -3143,10 +3143,7 @@ var Yo = {
|
|
|
3143
3143
|
invalid_value: "invalid_value",
|
|
3144
3144
|
custom: "custom"
|
|
3145
3145
|
}, Xo;
|
|
3146
|
-
(function(e) {})(Xo ||= {})
|
|
3147
|
-
//#endregion
|
|
3148
|
-
//#region ../../node_modules/.pnpm/@objectstack+spec@3.3.0/node_modules/@objectstack/spec/dist/ui/index.mjs
|
|
3149
|
-
var Zo = U({
|
|
3146
|
+
(function(e) {})(Xo ||= {}), U({
|
|
3150
3147
|
key: I().describe("Translation key (e.g., \"views.task_list.label\")"),
|
|
3151
3148
|
defaultValue: I().optional().describe("Fallback value when translation key is not found"),
|
|
3152
3149
|
params: G(I(), W([
|
|
@@ -3154,7 +3151,8 @@ var Zo = U({
|
|
|
3154
3151
|
R(),
|
|
3155
3152
|
z()
|
|
3156
3153
|
])).optional().describe("Interpolation parameters (e.g., { count: 5 })")
|
|
3157
|
-
})
|
|
3154
|
+
});
|
|
3155
|
+
var J = I().describe("Display label (plain string; i18n keys are auto-generated by the framework)"), Y = U({
|
|
3158
3156
|
ariaLabel: J.optional().describe("Accessible label for screen readers (WAI-ARIA aria-label)"),
|
|
3159
3157
|
ariaDescribedBy: I().optional().describe("ID of element providing additional description (WAI-ARIA aria-describedby)"),
|
|
3160
3158
|
role: I().optional().describe("WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")")
|
|
@@ -3168,7 +3166,7 @@ U({
|
|
|
3168
3166
|
many: I().optional().describe("Many form (e.g., for 5+ in some languages)"),
|
|
3169
3167
|
other: I().describe("Default plural form (e.g., \"{count} items\")")
|
|
3170
3168
|
}).describe("ICU plural rules for a translation key");
|
|
3171
|
-
var
|
|
3169
|
+
var Zo = U({
|
|
3172
3170
|
style: K([
|
|
3173
3171
|
"decimal",
|
|
3174
3172
|
"currency",
|
|
@@ -3180,7 +3178,7 @@ var Qo = U({
|
|
|
3180
3178
|
minimumFractionDigits: R().optional().describe("Minimum number of fraction digits"),
|
|
3181
3179
|
maximumFractionDigits: R().optional().describe("Maximum number of fraction digits"),
|
|
3182
3180
|
useGrouping: z().optional().describe("Whether to use grouping separators (e.g., 1,000)")
|
|
3183
|
-
}).describe("Number formatting rules"),
|
|
3181
|
+
}).describe("Number formatting rules"), Qo = U({
|
|
3184
3182
|
dateStyle: K([
|
|
3185
3183
|
"full",
|
|
3186
3184
|
"long",
|
|
@@ -3200,10 +3198,10 @@ U({
|
|
|
3200
3198
|
code: I().describe("BCP 47 language code (e.g., \"en-US\", \"zh-CN\")"),
|
|
3201
3199
|
fallbackChain: H(I()).optional().describe("Fallback language codes in priority order (e.g., [\"zh-TW\", \"en\"])"),
|
|
3202
3200
|
direction: K(["ltr", "rtl"]).default("ltr").describe("Text direction: left-to-right or right-to-left"),
|
|
3203
|
-
numberFormat:
|
|
3204
|
-
dateFormat:
|
|
3201
|
+
numberFormat: Zo.optional().describe("Default number formatting rules"),
|
|
3202
|
+
dateFormat: Qo.optional().describe("Default date/time formatting rules")
|
|
3205
3203
|
}).describe("Locale configuration");
|
|
3206
|
-
var
|
|
3204
|
+
var $o = K(/* @__PURE__ */ "bar.horizontal-bar.column.grouped-bar.stacked-bar.bi-polar-bar.line.area.stacked-area.step-line.spline.pie.donut.funnel.pyramid.scatter.bubble.treemap.sunburst.sankey.word-cloud.gauge.solid-gauge.metric.kpi.bullet.choropleth.bubble-map.gl-map.heatmap.radar.waterfall.box-plot.violin.candlestick.stock.table.pivot".split(".")), es = U({
|
|
3207
3205
|
field: I().describe("Data field key"),
|
|
3208
3206
|
title: J.optional().describe("Axis display title"),
|
|
3209
3207
|
format: I().optional().describe("Value format string (e.g., \"$0,0.00\")"),
|
|
@@ -3218,14 +3216,14 @@ var es = K(/* @__PURE__ */ "bar.horizontal-bar.column.grouped-bar.stacked-bar.bi
|
|
|
3218
3216
|
"bottom"
|
|
3219
3217
|
]).optional().describe("Axis position"),
|
|
3220
3218
|
logarithmic: z().default(!1)
|
|
3221
|
-
}),
|
|
3219
|
+
}), ts = U({
|
|
3222
3220
|
name: I().describe("Field name or series identifier"),
|
|
3223
3221
|
label: J.optional().describe("Series display label"),
|
|
3224
|
-
type:
|
|
3222
|
+
type: $o.optional().describe("Override chart type for this series"),
|
|
3225
3223
|
color: I().optional().describe("Series color (hex/rgb/token)"),
|
|
3226
3224
|
stack: I().optional().describe("Stack identifier to group series"),
|
|
3227
3225
|
yAxis: K(["left", "right"]).default("left").describe("Bind to specific Y-Axis")
|
|
3228
|
-
}),
|
|
3226
|
+
}), ns = U({
|
|
3229
3227
|
type: K(["line", "region"]).default("line"),
|
|
3230
3228
|
axis: K(["x", "y"]).default("y"),
|
|
3231
3229
|
value: W([R(), I()]).describe("Start value"),
|
|
@@ -3237,53 +3235,53 @@ var es = K(/* @__PURE__ */ "bar.horizontal-bar.column.grouped-bar.stacked-bar.bi
|
|
|
3237
3235
|
"dashed",
|
|
3238
3236
|
"dotted"
|
|
3239
3237
|
]).default("dashed")
|
|
3240
|
-
}),
|
|
3238
|
+
}), rs = U({
|
|
3241
3239
|
tooltips: z().default(!0),
|
|
3242
3240
|
zoom: z().default(!1),
|
|
3243
3241
|
brush: z().default(!1),
|
|
3244
3242
|
clickAction: I().optional().describe("Action ID to trigger on click")
|
|
3245
|
-
}),
|
|
3246
|
-
type:
|
|
3243
|
+
}), is = U({
|
|
3244
|
+
type: $o,
|
|
3247
3245
|
title: J.optional().describe("Chart title"),
|
|
3248
3246
|
subtitle: J.optional().describe("Chart subtitle"),
|
|
3249
3247
|
description: J.optional().describe("Accessibility description"),
|
|
3250
|
-
xAxis:
|
|
3251
|
-
yAxis: H(
|
|
3252
|
-
series: H(
|
|
3248
|
+
xAxis: es.optional().describe("X-Axis configuration"),
|
|
3249
|
+
yAxis: H(es).optional().describe("Y-Axis configuration (support dual axis)"),
|
|
3250
|
+
series: H(ts).optional().describe("Defined series configuration"),
|
|
3253
3251
|
colors: H(I()).optional().describe("Color palette"),
|
|
3254
3252
|
height: R().optional().describe("Fixed height in pixels"),
|
|
3255
3253
|
showLegend: z().default(!0).describe("Display legend"),
|
|
3256
3254
|
showDataLabels: z().default(!1).describe("Display data labels"),
|
|
3257
|
-
annotations: H(
|
|
3258
|
-
interaction:
|
|
3255
|
+
annotations: H(ns).optional(),
|
|
3256
|
+
interaction: rs.optional(),
|
|
3259
3257
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
3260
|
-
}),
|
|
3258
|
+
}), as = K([
|
|
3261
3259
|
"xs",
|
|
3262
3260
|
"sm",
|
|
3263
3261
|
"md",
|
|
3264
3262
|
"lg",
|
|
3265
3263
|
"xl",
|
|
3266
3264
|
"2xl"
|
|
3267
|
-
]),
|
|
3265
|
+
]), os = U({
|
|
3268
3266
|
xs: R().min(1).max(12).optional(),
|
|
3269
3267
|
sm: R().min(1).max(12).optional(),
|
|
3270
3268
|
md: R().min(1).max(12).optional(),
|
|
3271
3269
|
lg: R().min(1).max(12).optional(),
|
|
3272
3270
|
xl: R().min(1).max(12).optional(),
|
|
3273
3271
|
"2xl": R().min(1).max(12).optional()
|
|
3274
|
-
}).describe("Grid columns per breakpoint (1-12)"),
|
|
3272
|
+
}).describe("Grid columns per breakpoint (1-12)"), ss = U({
|
|
3275
3273
|
xs: R().optional(),
|
|
3276
3274
|
sm: R().optional(),
|
|
3277
3275
|
md: R().optional(),
|
|
3278
3276
|
lg: R().optional(),
|
|
3279
3277
|
xl: R().optional(),
|
|
3280
3278
|
"2xl": R().optional()
|
|
3281
|
-
}).describe("Display order per breakpoint"),
|
|
3282
|
-
breakpoint:
|
|
3283
|
-
hiddenOn: H(
|
|
3284
|
-
columns:
|
|
3285
|
-
order:
|
|
3286
|
-
}).describe("Responsive layout configuration"),
|
|
3279
|
+
}).describe("Display order per breakpoint"), cs = U({
|
|
3280
|
+
breakpoint: as.optional().describe("Minimum breakpoint for visibility"),
|
|
3281
|
+
hiddenOn: H(as).optional().describe("Hide on these breakpoints"),
|
|
3282
|
+
columns: os.optional().describe("Grid columns per breakpoint"),
|
|
3283
|
+
order: ss.optional().describe("Display order per breakpoint")
|
|
3284
|
+
}).describe("Responsive layout configuration"), ls = U({
|
|
3287
3285
|
lazyLoad: z().optional().describe("Enable lazy loading (defer rendering until visible)"),
|
|
3288
3286
|
virtualScroll: U({
|
|
3289
3287
|
enabled: z().default(!1).describe("Enable virtual scrolling"),
|
|
@@ -3299,16 +3297,16 @@ var es = K(/* @__PURE__ */ "bar.horizontal-bar.column.grouped-bar.stacked-bar.bi
|
|
|
3299
3297
|
prefetch: z().optional().describe("Prefetch data before component is visible"),
|
|
3300
3298
|
pageSize: R().optional().describe("Number of items per page for pagination"),
|
|
3301
3299
|
debounceMs: R().optional().describe("Debounce interval for user interactions in milliseconds")
|
|
3302
|
-
}).describe("Performance optimization configuration"),
|
|
3300
|
+
}).describe("Performance optimization configuration"), us = I().min(2, { message: "System identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_.]*$/, { message: "System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., \"user_profile\" or \"order.created\")" }).describe("System identifier (lowercase with underscores or dots)"), X = I().min(2, { message: "Identifier must be at least 2 characters" }).regex(/^[a-z][a-z0-9_]*$/, { message: "Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., \"user_profile\")" }).describe("Snake case identifier (lowercase with underscores only)");
|
|
3303
3301
|
I().min(3, { message: "Event name must be at least 3 characters" }).regex(/^[a-z][a-z0-9_.]*$/, { message: "Event name must be lowercase with dots for namespacing (e.g., \"user.created\", \"order.paid\")" }).describe("Event name (lowercase with dot notation for namespacing)");
|
|
3304
|
-
var
|
|
3302
|
+
var ds = U({
|
|
3305
3303
|
enabled: z().default(!1).describe("Enable public sharing"),
|
|
3306
3304
|
publicLink: I().optional().describe("Generated public share URL"),
|
|
3307
3305
|
password: I().optional().describe("Password required to access shared link"),
|
|
3308
3306
|
allowedDomains: H(I()).optional().describe("Restrict access to specific email domains (e.g. [\"example.com\"])"),
|
|
3309
3307
|
expiresAt: I().optional().describe("Expiration date/time in ISO 8601 format"),
|
|
3310
3308
|
allowAnonymous: z().optional().default(!1).describe("Allow access without authentication")
|
|
3311
|
-
}),
|
|
3309
|
+
}), fs = U({
|
|
3312
3310
|
enabled: z().default(!1).describe("Enable iframe embedding"),
|
|
3313
3311
|
allowedOrigins: H(I()).optional().describe("Allowed iframe parent origins (e.g. [\"https://example.com\"])"),
|
|
3314
3312
|
width: I().optional().default("100%").describe("Embed width (CSS value)"),
|
|
@@ -3316,7 +3314,7 @@ var fs = U({
|
|
|
3316
3314
|
showHeader: z().optional().default(!0).describe("Show interface header in embed"),
|
|
3317
3315
|
showNavigation: z().optional().default(!1).describe("Show navigation in embed"),
|
|
3318
3316
|
responsive: z().optional().default(!0).describe("Enable responsive resizing")
|
|
3319
|
-
}),
|
|
3317
|
+
}), ps = U({
|
|
3320
3318
|
id: X.describe("Unique identifier for this navigation item (lowercase snake_case)"),
|
|
3321
3319
|
label: J.describe("Display proper label"),
|
|
3322
3320
|
icon: I().optional().describe("Icon name"),
|
|
@@ -3324,46 +3322,46 @@ var fs = U({
|
|
|
3324
3322
|
badge: W([I(), R()]).optional().describe("Badge text or count displayed on the item"),
|
|
3325
3323
|
visible: I().optional().describe("Visibility formula condition"),
|
|
3326
3324
|
requiredPermissions: H(I()).optional().describe("Permissions required to access this item")
|
|
3327
|
-
}),
|
|
3325
|
+
}), ms = ps.extend({
|
|
3328
3326
|
type: q("object"),
|
|
3329
3327
|
objectName: I().describe("Target object name"),
|
|
3330
3328
|
viewName: I().optional().describe("Default list view to open. Defaults to \"all\"")
|
|
3331
|
-
}),
|
|
3329
|
+
}), hs = ps.extend({
|
|
3332
3330
|
type: q("dashboard"),
|
|
3333
3331
|
dashboardName: I().describe("Target dashboard name")
|
|
3334
|
-
}),
|
|
3332
|
+
}), gs = ps.extend({
|
|
3335
3333
|
type: q("page"),
|
|
3336
3334
|
pageName: I().describe("Target custom page component name"),
|
|
3337
3335
|
params: G(I(), B()).optional().describe("Parameters passed to the page context")
|
|
3338
|
-
}),
|
|
3336
|
+
}), _s = ps.extend({
|
|
3339
3337
|
type: q("url"),
|
|
3340
3338
|
url: I().describe("Target external URL"),
|
|
3341
3339
|
target: K(["_self", "_blank"]).default("_self").describe("Link target window")
|
|
3342
|
-
}),
|
|
3340
|
+
}), vs = ps.extend({
|
|
3343
3341
|
type: q("report"),
|
|
3344
3342
|
reportName: I().describe("Target report name")
|
|
3345
|
-
}),
|
|
3343
|
+
}), ys = ps.extend({
|
|
3346
3344
|
type: q("action"),
|
|
3347
3345
|
actionDef: U({
|
|
3348
3346
|
actionName: I().describe("Action machine name to execute"),
|
|
3349
3347
|
params: G(I(), B()).optional().describe("Parameters passed to the action")
|
|
3350
3348
|
}).describe("Action definition to execute when clicked")
|
|
3351
|
-
}),
|
|
3349
|
+
}), bs = ps.extend({
|
|
3352
3350
|
type: q("group"),
|
|
3353
3351
|
expanded: z().default(!1).describe("Default expansion state in sidebar")
|
|
3354
|
-
}),
|
|
3355
|
-
|
|
3352
|
+
}), xs = Uo(() => W([
|
|
3353
|
+
ms.extend({ children: H(xs).optional().describe("Child navigation items (e.g. specific views)") }),
|
|
3354
|
+
hs,
|
|
3356
3355
|
gs,
|
|
3357
3356
|
_s,
|
|
3358
3357
|
vs,
|
|
3359
3358
|
ys,
|
|
3360
|
-
bs
|
|
3361
|
-
|
|
3362
|
-
])), Cs = U({
|
|
3359
|
+
bs.extend({ children: H(xs).describe("Child navigation items") })
|
|
3360
|
+
])), Ss = U({
|
|
3363
3361
|
primaryColor: I().optional().describe("Primary theme color hex code"),
|
|
3364
3362
|
logo: I().optional().describe("Custom logo URL for this app"),
|
|
3365
3363
|
favicon: I().optional().describe("Custom favicon URL for this app")
|
|
3366
|
-
}),
|
|
3364
|
+
}), Cs = U({
|
|
3367
3365
|
id: X.describe("Unique area identifier (lowercase snake_case)"),
|
|
3368
3366
|
label: J.describe("Area display label"),
|
|
3369
3367
|
icon: I().optional().describe("Area icon name"),
|
|
@@ -3371,7 +3369,7 @@ var fs = U({
|
|
|
3371
3369
|
description: J.optional().describe("Area description"),
|
|
3372
3370
|
visible: I().optional().describe("Visibility formula condition for this area"),
|
|
3373
3371
|
requiredPermissions: H(I()).optional().describe("Permissions required to access this area"),
|
|
3374
|
-
navigation: H(
|
|
3372
|
+
navigation: H(xs).describe("Navigation items within this area")
|
|
3375
3373
|
});
|
|
3376
3374
|
U({
|
|
3377
3375
|
name: X.describe("App unique machine name (lowercase snake_case)"),
|
|
@@ -3379,17 +3377,17 @@ U({
|
|
|
3379
3377
|
version: I().optional().describe("App version"),
|
|
3380
3378
|
description: J.optional().describe("App description"),
|
|
3381
3379
|
icon: I().optional().describe("App icon used in the App Launcher"),
|
|
3382
|
-
branding:
|
|
3380
|
+
branding: Ss.optional().describe("App-specific branding"),
|
|
3383
3381
|
active: z().optional().default(!0).describe("Whether the app is enabled"),
|
|
3384
3382
|
isDefault: z().optional().default(!1).describe("Is default app"),
|
|
3385
|
-
navigation: H(
|
|
3386
|
-
areas: H(
|
|
3383
|
+
navigation: H(xs).optional().describe("Full navigation tree for the app sidebar"),
|
|
3384
|
+
areas: H(Cs).optional().describe("Navigation areas for partitioning navigation by business domain"),
|
|
3387
3385
|
homePageId: I().optional().describe("ID of the navigation item to serve as landing page"),
|
|
3388
3386
|
requiredPermissions: H(I()).optional().describe("Permissions required to access this app"),
|
|
3389
3387
|
objects: H(B()).optional().describe("Objects belonging to this app"),
|
|
3390
3388
|
apis: H(B()).optional().describe("Custom APIs belonging to this app"),
|
|
3391
|
-
sharing:
|
|
3392
|
-
embed:
|
|
3389
|
+
sharing: ds.optional().describe("Public sharing configuration"),
|
|
3390
|
+
embed: fs.optional().describe("Iframe embedding configuration"),
|
|
3393
3391
|
mobileNavigation: U({
|
|
3394
3392
|
mode: K([
|
|
3395
3393
|
"drawer",
|
|
@@ -3400,7 +3398,7 @@ U({
|
|
|
3400
3398
|
}).optional().describe("Mobile-specific navigation configuration"),
|
|
3401
3399
|
aria: Y.optional().describe("ARIA accessibility attributes for the application")
|
|
3402
3400
|
});
|
|
3403
|
-
var
|
|
3401
|
+
var ws = K([
|
|
3404
3402
|
"GET",
|
|
3405
3403
|
"POST",
|
|
3406
3404
|
"PUT",
|
|
@@ -3408,15 +3406,15 @@ var Ts = K([
|
|
|
3408
3406
|
"PATCH",
|
|
3409
3407
|
"HEAD",
|
|
3410
3408
|
"OPTIONS"
|
|
3411
|
-
]),
|
|
3409
|
+
]), Ts = K([
|
|
3412
3410
|
"GET",
|
|
3413
3411
|
"POST",
|
|
3414
3412
|
"PUT",
|
|
3415
3413
|
"PATCH",
|
|
3416
3414
|
"DELETE"
|
|
3417
|
-
]),
|
|
3415
|
+
]), Es = U({
|
|
3418
3416
|
url: I().describe("API endpoint URL"),
|
|
3419
|
-
method:
|
|
3417
|
+
method: Ts.optional().default("GET").describe("HTTP method"),
|
|
3420
3418
|
headers: G(I(), I()).optional().describe("Custom HTTP headers"),
|
|
3421
3419
|
params: G(I(), B()).optional().describe("Query parameters"),
|
|
3422
3420
|
body: B().optional().describe("Request body for POST/PUT/PATCH")
|
|
@@ -3424,7 +3422,7 @@ var Ts = K([
|
|
|
3424
3422
|
U({
|
|
3425
3423
|
enabled: z().default(!0).describe("Enable CORS"),
|
|
3426
3424
|
origins: W([I(), H(I())]).default("*").describe("Allowed origins (* for all)"),
|
|
3427
|
-
methods: H(
|
|
3425
|
+
methods: H(ws).optional().describe("Allowed HTTP methods"),
|
|
3428
3426
|
credentials: z().default(!1).describe("Allow credentials (cookies, authorization headers)"),
|
|
3429
3427
|
maxAge: R().int().optional().describe("Preflight cache duration in seconds")
|
|
3430
3428
|
}), U({
|
|
@@ -3436,21 +3434,21 @@ U({
|
|
|
3436
3434
|
directory: I().describe("Physical directory to serve"),
|
|
3437
3435
|
cacheControl: I().optional().describe("Cache-Control header value")
|
|
3438
3436
|
});
|
|
3439
|
-
var
|
|
3437
|
+
var Ds = mo("provider", [
|
|
3440
3438
|
U({
|
|
3441
3439
|
provider: q("object"),
|
|
3442
3440
|
object: I().describe("Target object name")
|
|
3443
3441
|
}),
|
|
3444
3442
|
U({
|
|
3445
3443
|
provider: q("api"),
|
|
3446
|
-
read:
|
|
3447
|
-
write:
|
|
3444
|
+
read: Es.optional().describe("Configuration for fetching data"),
|
|
3445
|
+
write: Es.optional().describe("Configuration for submitting data (for forms/editable tables)")
|
|
3448
3446
|
}),
|
|
3449
3447
|
U({
|
|
3450
3448
|
provider: q("value"),
|
|
3451
3449
|
items: H(B()).describe("Static data array")
|
|
3452
3450
|
})
|
|
3453
|
-
]),
|
|
3451
|
+
]), Os = U({
|
|
3454
3452
|
field: I().describe("Field name to filter on"),
|
|
3455
3453
|
operator: I().describe("Filter operator (e.g. equals, not_equals, contains, this_quarter)"),
|
|
3456
3454
|
value: W([
|
|
@@ -3460,7 +3458,7 @@ var Os = mo("provider", [
|
|
|
3460
3458
|
eo(),
|
|
3461
3459
|
H(W([I(), R()]))
|
|
3462
3460
|
]).optional().describe("Filter value")
|
|
3463
|
-
}).describe("View filter rule"),
|
|
3461
|
+
}).describe("View filter rule"), ks = K([
|
|
3464
3462
|
"none",
|
|
3465
3463
|
"count",
|
|
3466
3464
|
"count_empty",
|
|
@@ -3472,7 +3470,7 @@ var Os = mo("provider", [
|
|
|
3472
3470
|
"avg",
|
|
3473
3471
|
"min",
|
|
3474
3472
|
"max"
|
|
3475
|
-
]).describe("Aggregation function for column footer summary"),
|
|
3473
|
+
]).describe("Aggregation function for column footer summary"), As = U({
|
|
3476
3474
|
field: I().describe("Field name (snake_case)"),
|
|
3477
3475
|
label: J.optional().describe("Display label override"),
|
|
3478
3476
|
width: R().positive().optional().describe("Column width in pixels"),
|
|
@@ -3487,27 +3485,27 @@ var Os = mo("provider", [
|
|
|
3487
3485
|
wrap: z().optional().describe("Allow text wrapping"),
|
|
3488
3486
|
type: I().optional().describe("Renderer type override (e.g., \"currency\", \"date\")"),
|
|
3489
3487
|
pinned: K(["left", "right"]).optional().describe("Pin/freeze column to left or right side"),
|
|
3490
|
-
summary:
|
|
3488
|
+
summary: ks.optional().describe("Footer aggregation function for this column"),
|
|
3491
3489
|
link: z().optional().describe("Functions as the primary navigation link (triggers View navigation)"),
|
|
3492
3490
|
action: I().optional().describe("Registered Action ID to execute when clicked")
|
|
3493
|
-
}),
|
|
3491
|
+
}), js = U({ type: K([
|
|
3494
3492
|
"none",
|
|
3495
3493
|
"single",
|
|
3496
3494
|
"multiple"
|
|
3497
|
-
]).default("none").describe("Selection mode") }),
|
|
3495
|
+
]).default("none").describe("Selection mode") }), Ms = U({
|
|
3498
3496
|
pageSize: R().int().positive().default(25).describe("Number of records per page"),
|
|
3499
3497
|
pageSizeOptions: H(R().int().positive()).optional().describe("Available page size options")
|
|
3500
|
-
}),
|
|
3498
|
+
}), Ns = K([
|
|
3501
3499
|
"compact",
|
|
3502
3500
|
"short",
|
|
3503
3501
|
"medium",
|
|
3504
3502
|
"tall",
|
|
3505
3503
|
"extra_tall"
|
|
3506
|
-
]).describe("Row height / density setting for list view"),
|
|
3504
|
+
]).describe("Row height / density setting for list view"), Ps = U({ fields: H(U({
|
|
3507
3505
|
field: I().describe("Field name to group by"),
|
|
3508
3506
|
order: K(["asc", "desc"]).default("asc").describe("Group sort order"),
|
|
3509
3507
|
collapsed: z().default(!1).describe("Collapse groups by default")
|
|
3510
|
-
})).min(1).describe("Fields to group by (supports up to 3 levels)") }).describe("Record grouping configuration"),
|
|
3508
|
+
})).min(1).describe("Fields to group by (supports up to 3 levels)") }).describe("Record grouping configuration"), Fs = U({
|
|
3511
3509
|
coverField: I().optional().describe("Attachment/image field to display as card cover"),
|
|
3512
3510
|
coverFit: K(["cover", "contain"]).default("cover").describe("Image fit mode for card cover"),
|
|
3513
3511
|
cardSize: K([
|
|
@@ -3517,7 +3515,7 @@ var Os = mo("provider", [
|
|
|
3517
3515
|
]).default("medium").describe("Card size in gallery view"),
|
|
3518
3516
|
titleField: I().optional().describe("Field to display as card title"),
|
|
3519
3517
|
visibleFields: H(I()).optional().describe("Fields to display on card body")
|
|
3520
|
-
}).describe("Gallery/card view configuration"),
|
|
3518
|
+
}).describe("Gallery/card view configuration"), Is = U({
|
|
3521
3519
|
startDateField: I().describe("Field for timeline item start date"),
|
|
3522
3520
|
endDateField: I().optional().describe("Field for timeline item end date"),
|
|
3523
3521
|
titleField: I().describe("Field to display as timeline item title"),
|
|
@@ -3531,13 +3529,13 @@ var Os = mo("provider", [
|
|
|
3531
3529
|
"quarter",
|
|
3532
3530
|
"year"
|
|
3533
3531
|
]).default("week").describe("Default timeline scale")
|
|
3534
|
-
}).describe("Timeline view configuration"),
|
|
3532
|
+
}).describe("Timeline view configuration"), Ls = U({
|
|
3535
3533
|
type: K(["personal", "collaborative"]).default("collaborative").describe("View ownership type"),
|
|
3536
3534
|
lockedBy: I().optional().describe("User who locked the view configuration")
|
|
3537
|
-
}).describe("View sharing and access configuration"),
|
|
3535
|
+
}).describe("View sharing and access configuration"), Rs = U({
|
|
3538
3536
|
field: I().describe("Field to derive color from (typically a select/status field)"),
|
|
3539
3537
|
colors: G(I(), I()).optional().describe("Map of field value to color (hex/token)")
|
|
3540
|
-
}).describe("Row color configuration based on field values"),
|
|
3538
|
+
}).describe("Row color configuration based on field values"), zs = K([
|
|
3541
3539
|
"grid",
|
|
3542
3540
|
"kanban",
|
|
3543
3541
|
"gallery",
|
|
@@ -3545,27 +3543,27 @@ var Os = mo("provider", [
|
|
|
3545
3543
|
"timeline",
|
|
3546
3544
|
"gantt",
|
|
3547
3545
|
"map"
|
|
3548
|
-
]).describe("Visualization type that users can switch to"),
|
|
3546
|
+
]).describe("Visualization type that users can switch to"), Bs = U({
|
|
3549
3547
|
sort: z().default(!0).describe("Allow users to sort records"),
|
|
3550
3548
|
search: z().default(!0).describe("Allow users to search records"),
|
|
3551
3549
|
filter: z().default(!0).describe("Allow users to filter records"),
|
|
3552
3550
|
rowHeight: z().default(!0).describe("Allow users to toggle row height/density"),
|
|
3553
3551
|
addRecordForm: z().default(!1).describe("Add records through a form instead of inline"),
|
|
3554
3552
|
buttons: H(I()).optional().describe("Custom action button IDs to show in the toolbar")
|
|
3555
|
-
}).describe("User action toggles for the view toolbar"),
|
|
3553
|
+
}).describe("User action toggles for the view toolbar"), Vs = U({
|
|
3556
3554
|
showDescription: z().default(!0).describe("Show the view description text"),
|
|
3557
|
-
allowedVisualizations: H(
|
|
3558
|
-
}).describe("Appearance and visualization configuration"),
|
|
3555
|
+
allowedVisualizations: H(zs).optional().describe("Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])")
|
|
3556
|
+
}).describe("Appearance and visualization configuration"), Hs = U({
|
|
3559
3557
|
name: X.describe("Tab identifier (snake_case)"),
|
|
3560
3558
|
label: J.optional().describe("Display label"),
|
|
3561
3559
|
icon: I().optional().describe("Tab icon name"),
|
|
3562
3560
|
view: I().optional().describe("Referenced list view name from listViews"),
|
|
3563
|
-
filter: H(
|
|
3561
|
+
filter: H(Os).optional().describe("Tab-specific filter criteria"),
|
|
3564
3562
|
order: R().int().min(0).optional().describe("Tab display order"),
|
|
3565
3563
|
pinned: z().default(!1).describe("Pin tab (cannot be removed by users)"),
|
|
3566
3564
|
isDefault: z().default(!1).describe("Set as the default active tab"),
|
|
3567
3565
|
visible: z().default(!0).describe("Tab visibility")
|
|
3568
|
-
}).describe("Tab configuration for multi-tab view interface"),
|
|
3566
|
+
}).describe("Tab configuration for multi-tab view interface"), Us = U({
|
|
3569
3567
|
enabled: z().default(!0).describe("Show the add record entry point"),
|
|
3570
3568
|
position: K([
|
|
3571
3569
|
"top",
|
|
@@ -3578,22 +3576,22 @@ var Os = mo("provider", [
|
|
|
3578
3576
|
"modal"
|
|
3579
3577
|
]).default("inline").describe("How to add a new record"),
|
|
3580
3578
|
formView: I().optional().describe("Named form view to use when mode is \"form\" or \"modal\"")
|
|
3581
|
-
}).describe("Add record entry point configuration"),
|
|
3579
|
+
}).describe("Add record entry point configuration"), Ws = U({
|
|
3582
3580
|
groupByField: I().describe("Field to group columns by (usually status/select)"),
|
|
3583
3581
|
summarizeField: I().optional().describe("Field to sum at top of column (e.g. amount)"),
|
|
3584
3582
|
columns: H(I()).describe("Fields to show on cards")
|
|
3585
|
-
}),
|
|
3583
|
+
}), Gs = U({
|
|
3586
3584
|
startDateField: I(),
|
|
3587
3585
|
endDateField: I().optional(),
|
|
3588
3586
|
titleField: I(),
|
|
3589
3587
|
colorField: I().optional()
|
|
3590
|
-
}),
|
|
3588
|
+
}), Ks = U({
|
|
3591
3589
|
startDateField: I(),
|
|
3592
3590
|
endDateField: I(),
|
|
3593
3591
|
titleField: I(),
|
|
3594
3592
|
progressField: I().optional(),
|
|
3595
3593
|
dependenciesField: I().optional()
|
|
3596
|
-
}),
|
|
3594
|
+
}), qs = U({
|
|
3597
3595
|
mode: K([
|
|
3598
3596
|
"page",
|
|
3599
3597
|
"drawer",
|
|
@@ -3607,7 +3605,7 @@ var Os = mo("provider", [
|
|
|
3607
3605
|
preventNavigation: z().default(!1).describe("Disable standard navigation entirely"),
|
|
3608
3606
|
openNewTab: z().default(!1).describe("Force open in new tab (applies to page mode)"),
|
|
3609
3607
|
width: W([I(), R()]).optional().describe("Width of the drawer/modal (e.g. \"600px\", \"50%\")")
|
|
3610
|
-
}),
|
|
3608
|
+
}), Js = U({
|
|
3611
3609
|
name: X.optional().describe("Internal view name (lowercase snake_case)"),
|
|
3612
3610
|
label: J.optional(),
|
|
3613
3611
|
type: K([
|
|
@@ -3619,9 +3617,9 @@ var Os = mo("provider", [
|
|
|
3619
3617
|
"gantt",
|
|
3620
3618
|
"map"
|
|
3621
3619
|
]).default("grid"),
|
|
3622
|
-
data:
|
|
3623
|
-
columns: W([H(I()), H(
|
|
3624
|
-
filter: H(
|
|
3620
|
+
data: Ds.optional().describe("Data source configuration (defaults to \"object\" provider)"),
|
|
3621
|
+
columns: W([H(I()), H(As)]).describe("Fields to display as columns"),
|
|
3622
|
+
filter: H(Os).optional().describe("Filter criteria (JSON Rules)"),
|
|
3625
3623
|
sort: W([I(), H(U({
|
|
3626
3624
|
field: I(),
|
|
3627
3625
|
order: K(["asc", "desc"])
|
|
@@ -3650,19 +3648,19 @@ var Os = mo("provider", [
|
|
|
3650
3648
|
resizable: z().optional().describe("Enable column resizing"),
|
|
3651
3649
|
striped: z().optional().describe("Striped row styling"),
|
|
3652
3650
|
bordered: z().optional().describe("Show borders"),
|
|
3653
|
-
selection:
|
|
3654
|
-
navigation:
|
|
3655
|
-
pagination:
|
|
3656
|
-
kanban:
|
|
3657
|
-
calendar:
|
|
3658
|
-
gantt:
|
|
3659
|
-
gallery:
|
|
3660
|
-
timeline:
|
|
3651
|
+
selection: js.optional().describe("Row selection configuration"),
|
|
3652
|
+
navigation: qs.optional().describe("Configuration for item click navigation (page, drawer, modal, etc.)"),
|
|
3653
|
+
pagination: Ms.optional().describe("Pagination configuration"),
|
|
3654
|
+
kanban: Ws.optional(),
|
|
3655
|
+
calendar: Gs.optional(),
|
|
3656
|
+
gantt: Ks.optional(),
|
|
3657
|
+
gallery: Fs.optional(),
|
|
3658
|
+
timeline: Is.optional(),
|
|
3661
3659
|
description: J.optional().describe("View description for documentation/tooltips"),
|
|
3662
|
-
sharing:
|
|
3663
|
-
rowHeight:
|
|
3664
|
-
grouping:
|
|
3665
|
-
rowColor:
|
|
3660
|
+
sharing: Ls.optional().describe("View sharing and access configuration"),
|
|
3661
|
+
rowHeight: Ns.optional().describe("Row height / density setting"),
|
|
3662
|
+
grouping: Ps.optional().describe("Group records by one or more fields"),
|
|
3663
|
+
rowColor: Rs.optional().describe("Color rows based on field value"),
|
|
3666
3664
|
hiddenFields: H(I()).optional().describe("Fields to hide in this specific view"),
|
|
3667
3665
|
fieldOrder: H(I()).optional().describe("Explicit field display order for this view"),
|
|
3668
3666
|
rowActions: H(I()).optional().describe("Actions available for individual row items"),
|
|
@@ -3679,10 +3677,10 @@ var Os = mo("provider", [
|
|
|
3679
3677
|
"pdf",
|
|
3680
3678
|
"json"
|
|
3681
3679
|
])).optional().describe("Available export format options"),
|
|
3682
|
-
userActions:
|
|
3683
|
-
appearance:
|
|
3684
|
-
tabs: H(
|
|
3685
|
-
addRecord:
|
|
3680
|
+
userActions: Bs.optional().describe("User action toggles for the view toolbar"),
|
|
3681
|
+
appearance: Vs.optional().describe("Appearance and visualization configuration"),
|
|
3682
|
+
tabs: H(Hs).optional().describe("Tab definitions for multi-tab view interface"),
|
|
3683
|
+
addRecord: Us.optional().describe("Add record entry point configuration"),
|
|
3686
3684
|
showRecordCount: z().optional().describe("Show record count at the bottom of the list"),
|
|
3687
3685
|
allowPrinting: z().optional().describe("Allow users to print the view"),
|
|
3688
3686
|
emptyState: U({
|
|
@@ -3691,9 +3689,9 @@ var Os = mo("provider", [
|
|
|
3691
3689
|
icon: I().optional()
|
|
3692
3690
|
}).optional().describe("Empty state configuration when no records found"),
|
|
3693
3691
|
aria: Y.optional().describe("ARIA accessibility attributes for the list view"),
|
|
3694
|
-
responsive:
|
|
3695
|
-
performance:
|
|
3696
|
-
}),
|
|
3692
|
+
responsive: cs.optional().describe("Responsive layout configuration"),
|
|
3693
|
+
performance: ls.optional().describe("Performance optimization settings")
|
|
3694
|
+
}), Ys = U({
|
|
3697
3695
|
field: I().describe("Field name (snake_case)"),
|
|
3698
3696
|
label: J.optional().describe("Display label override"),
|
|
3699
3697
|
placeholder: J.optional().describe("Placeholder text"),
|
|
@@ -3705,7 +3703,7 @@ var Os = mo("provider", [
|
|
|
3705
3703
|
widget: I().optional().describe("Custom widget/component name"),
|
|
3706
3704
|
dependsOn: I().optional().describe("Parent field name for cascading"),
|
|
3707
3705
|
visibleOn: I().optional().describe("Visibility condition expression")
|
|
3708
|
-
}),
|
|
3706
|
+
}), Xs = U({
|
|
3709
3707
|
label: J.optional(),
|
|
3710
3708
|
collapsible: z().default(!1),
|
|
3711
3709
|
collapsed: z().default(!1),
|
|
@@ -3715,8 +3713,8 @@ var Os = mo("provider", [
|
|
|
3715
3713
|
"3",
|
|
3716
3714
|
"4"
|
|
3717
3715
|
]).default("2").transform((e) => parseInt(e)),
|
|
3718
|
-
fields: H(W([I(),
|
|
3719
|
-
}),
|
|
3716
|
+
fields: H(W([I(), Ys]))
|
|
3717
|
+
}), Zs = U({
|
|
3720
3718
|
type: K([
|
|
3721
3719
|
"simple",
|
|
3722
3720
|
"tabbed",
|
|
@@ -3725,21 +3723,21 @@ var Os = mo("provider", [
|
|
|
3725
3723
|
"drawer",
|
|
3726
3724
|
"modal"
|
|
3727
3725
|
]).default("simple"),
|
|
3728
|
-
data:
|
|
3729
|
-
sections: H(
|
|
3730
|
-
groups: H(
|
|
3726
|
+
data: Ds.optional().describe("Data source configuration (defaults to \"object\" provider)"),
|
|
3727
|
+
sections: H(Xs).optional(),
|
|
3728
|
+
groups: H(Xs).optional(),
|
|
3731
3729
|
defaultSort: H(U({
|
|
3732
3730
|
field: I().describe("Field name to sort by"),
|
|
3733
3731
|
order: K(["asc", "desc"]).default("desc").describe("Sort direction")
|
|
3734
3732
|
})).optional().describe("Default sort order for related list views within this form"),
|
|
3735
|
-
sharing:
|
|
3733
|
+
sharing: ds.optional().describe("Public sharing configuration for this form"),
|
|
3736
3734
|
aria: Y.optional().describe("ARIA accessibility attributes for the form view")
|
|
3737
3735
|
});
|
|
3738
3736
|
U({
|
|
3739
|
-
list:
|
|
3740
|
-
form:
|
|
3741
|
-
listViews: G(I(),
|
|
3742
|
-
formViews: G(I(),
|
|
3737
|
+
list: Js.optional(),
|
|
3738
|
+
form: Zs.optional(),
|
|
3739
|
+
listViews: G(I(), Js).optional().describe("Additional named list views"),
|
|
3740
|
+
formViews: G(I(), Zs).optional().describe("Additional named form views")
|
|
3743
3741
|
});
|
|
3744
3742
|
var Z = U({ $field: I().describe("Field Reference/Column Name") });
|
|
3745
3743
|
U({
|
|
@@ -3786,7 +3784,7 @@ U({
|
|
|
3786
3784
|
$null: z().optional(),
|
|
3787
3785
|
$exists: z().optional()
|
|
3788
3786
|
});
|
|
3789
|
-
var
|
|
3787
|
+
var Qs = U({
|
|
3790
3788
|
$eq: no().optional(),
|
|
3791
3789
|
$ne: no().optional(),
|
|
3792
3790
|
$gt: W([
|
|
@@ -3832,11 +3830,11 @@ var $s = U({
|
|
|
3832
3830
|
$not: Q.optional()
|
|
3833
3831
|
})));
|
|
3834
3832
|
U({ where: Q.optional() });
|
|
3835
|
-
var
|
|
3836
|
-
$and: H(W([G(I(),
|
|
3837
|
-
$or: H(W([G(I(),
|
|
3838
|
-
$not: W([G(I(),
|
|
3839
|
-
})),
|
|
3833
|
+
var $s = Uo(() => U({
|
|
3834
|
+
$and: H(W([G(I(), Qs), $s])).optional(),
|
|
3835
|
+
$or: H(W([G(I(), Qs), $s])).optional(),
|
|
3836
|
+
$not: W([G(I(), Qs), $s]).optional()
|
|
3837
|
+
})), ec = K([
|
|
3840
3838
|
"default",
|
|
3841
3839
|
"blue",
|
|
3842
3840
|
"teal",
|
|
@@ -3845,22 +3843,22 @@ var ec = Uo(() => U({
|
|
|
3845
3843
|
"success",
|
|
3846
3844
|
"warning",
|
|
3847
3845
|
"danger"
|
|
3848
|
-
]).describe("Widget color variant"),
|
|
3846
|
+
]).describe("Widget color variant"), tc = K([
|
|
3849
3847
|
"script",
|
|
3850
3848
|
"url",
|
|
3851
3849
|
"modal",
|
|
3852
3850
|
"flow",
|
|
3853
3851
|
"api"
|
|
3854
|
-
]).describe("Widget action type"),
|
|
3852
|
+
]).describe("Widget action type"), nc = U({
|
|
3855
3853
|
label: J.describe("Action button label"),
|
|
3856
3854
|
actionUrl: I().describe("URL or target for the action"),
|
|
3857
|
-
actionType:
|
|
3855
|
+
actionType: tc.optional().describe("Type of action"),
|
|
3858
3856
|
icon: I().optional().describe("Icon identifier for the action button")
|
|
3859
|
-
}).describe("Dashboard header action"),
|
|
3857
|
+
}).describe("Dashboard header action"), rc = U({
|
|
3860
3858
|
showTitle: z().default(!0).describe("Show dashboard title in header"),
|
|
3861
3859
|
showDescription: z().default(!0).describe("Show dashboard description in header"),
|
|
3862
|
-
actions: H(
|
|
3863
|
-
}).describe("Dashboard header configuration"),
|
|
3860
|
+
actions: H(nc).optional().describe("Header action buttons")
|
|
3861
|
+
}).describe("Dashboard header configuration"), ic = U({
|
|
3864
3862
|
valueField: I().describe("Field to aggregate"),
|
|
3865
3863
|
aggregate: K([
|
|
3866
3864
|
"count",
|
|
@@ -3871,15 +3869,15 @@ var ec = Uo(() => U({
|
|
|
3871
3869
|
]).default("count").describe("Aggregate function"),
|
|
3872
3870
|
label: J.optional().describe("Measure display label"),
|
|
3873
3871
|
format: I().optional().describe("Number format string")
|
|
3874
|
-
}).describe("Widget measure definition"),
|
|
3872
|
+
}).describe("Widget measure definition"), ac = U({
|
|
3875
3873
|
id: X.describe("Unique widget identifier (snake_case)"),
|
|
3876
3874
|
title: J.optional().describe("Widget title"),
|
|
3877
3875
|
description: J.optional().describe("Widget description text below the header"),
|
|
3878
|
-
type:
|
|
3879
|
-
chartConfig:
|
|
3880
|
-
colorVariant:
|
|
3876
|
+
type: $o.default("metric").describe("Visualization type"),
|
|
3877
|
+
chartConfig: is.optional().describe("Chart visualization configuration"),
|
|
3878
|
+
colorVariant: ec.optional().describe("Widget color variant for theming"),
|
|
3881
3879
|
actionUrl: I().optional().describe("URL or target for the widget action button"),
|
|
3882
|
-
actionType:
|
|
3880
|
+
actionType: tc.optional().describe("Type of action for the widget action button"),
|
|
3883
3881
|
actionIcon: I().optional().describe("Icon identifier for the widget action button"),
|
|
3884
3882
|
object: I().optional().describe("Data source object name"),
|
|
3885
3883
|
filter: Q.optional().describe("Data filter criteria"),
|
|
@@ -3892,7 +3890,7 @@ var ec = Uo(() => U({
|
|
|
3892
3890
|
"min",
|
|
3893
3891
|
"max"
|
|
3894
3892
|
]).optional().default("count").describe("Aggregate function"),
|
|
3895
|
-
measures: H(
|
|
3893
|
+
measures: H(ic).optional().describe("Multiple measures for pivot/matrix analysis"),
|
|
3896
3894
|
layout: U({
|
|
3897
3895
|
x: R(),
|
|
3898
3896
|
y: R(),
|
|
@@ -3900,14 +3898,14 @@ var ec = Uo(() => U({
|
|
|
3900
3898
|
h: R()
|
|
3901
3899
|
}).describe("Grid layout position"),
|
|
3902
3900
|
options: B().optional().describe("Widget specific configuration"),
|
|
3903
|
-
responsive:
|
|
3901
|
+
responsive: cs.optional().describe("Responsive layout configuration"),
|
|
3904
3902
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
3905
|
-
}),
|
|
3903
|
+
}), oc = U({
|
|
3906
3904
|
object: I().describe("Source object name"),
|
|
3907
3905
|
valueField: I().describe("Field to use as option value"),
|
|
3908
3906
|
labelField: I().describe("Field to use as option label"),
|
|
3909
3907
|
filter: Q.optional().describe("Filter to apply to source object")
|
|
3910
|
-
}).describe("Dynamic filter options from object"),
|
|
3908
|
+
}).describe("Dynamic filter options from object"), sc = U({
|
|
3911
3909
|
field: I().describe("Field name to filter on"),
|
|
3912
3910
|
label: J.optional().describe("Display label for the filter"),
|
|
3913
3911
|
type: K([
|
|
@@ -3925,7 +3923,7 @@ var ec = Uo(() => U({
|
|
|
3925
3923
|
]).describe("Option value"),
|
|
3926
3924
|
label: J
|
|
3927
3925
|
})).optional().describe("Static filter options"),
|
|
3928
|
-
optionsFrom:
|
|
3926
|
+
optionsFrom: oc.optional().describe("Dynamic filter options from object"),
|
|
3929
3927
|
defaultValue: W([
|
|
3930
3928
|
I(),
|
|
3931
3929
|
R(),
|
|
@@ -3938,8 +3936,8 @@ U({
|
|
|
3938
3936
|
name: X.describe("Dashboard unique name"),
|
|
3939
3937
|
label: J.describe("Dashboard label"),
|
|
3940
3938
|
description: J.optional().describe("Dashboard description"),
|
|
3941
|
-
header:
|
|
3942
|
-
widgets: H(
|
|
3939
|
+
header: rc.optional().describe("Dashboard header configuration"),
|
|
3940
|
+
widgets: H(ac).describe("Widgets to display"),
|
|
3943
3941
|
refreshInterval: R().optional().describe("Auto-refresh interval in seconds"),
|
|
3944
3942
|
dateRange: U({
|
|
3945
3943
|
field: I().optional().describe("Default date field name for time-based filtering"),
|
|
@@ -3961,16 +3959,16 @@ U({
|
|
|
3961
3959
|
]).default("this_month").describe("Default date range preset"),
|
|
3962
3960
|
allowCustomRange: z().default(!0).describe("Allow users to pick a custom date range")
|
|
3963
3961
|
}).optional().describe("Global dashboard date range filter configuration"),
|
|
3964
|
-
globalFilters: H(
|
|
3962
|
+
globalFilters: H(sc).optional().describe("Global filters that apply to all widgets in the dashboard"),
|
|
3965
3963
|
aria: Y.optional().describe("ARIA accessibility attributes"),
|
|
3966
|
-
performance:
|
|
3964
|
+
performance: ls.optional().describe("Performance optimization settings")
|
|
3967
3965
|
});
|
|
3968
|
-
var
|
|
3966
|
+
var cc = K([
|
|
3969
3967
|
"tabular",
|
|
3970
3968
|
"summary",
|
|
3971
3969
|
"matrix",
|
|
3972
3970
|
"joined"
|
|
3973
|
-
]),
|
|
3971
|
+
]), lc = U({
|
|
3974
3972
|
field: I().describe("Field name"),
|
|
3975
3973
|
label: J.optional().describe("Override label"),
|
|
3976
3974
|
aggregate: K([
|
|
@@ -3981,8 +3979,8 @@ var lc = K([
|
|
|
3981
3979
|
"count",
|
|
3982
3980
|
"unique"
|
|
3983
3981
|
]).optional().describe("Aggregation function"),
|
|
3984
|
-
responsive:
|
|
3985
|
-
}),
|
|
3982
|
+
responsive: cs.optional().describe("Responsive visibility for this column")
|
|
3983
|
+
}), uc = U({
|
|
3986
3984
|
field: I().describe("Field to group by"),
|
|
3987
3985
|
sortOrder: K(["asc", "desc"]).default("asc"),
|
|
3988
3986
|
dateGranularity: K([
|
|
@@ -3992,7 +3990,7 @@ var lc = K([
|
|
|
3992
3990
|
"quarter",
|
|
3993
3991
|
"year"
|
|
3994
3992
|
]).optional().describe("For date fields")
|
|
3995
|
-
}),
|
|
3993
|
+
}), dc = is.extend({
|
|
3996
3994
|
xAxis: I().describe("Grouping field for X-Axis"),
|
|
3997
3995
|
yAxis: I().describe("Summary field for Y-Axis"),
|
|
3998
3996
|
groupBy: I().optional().describe("Additional grouping field")
|
|
@@ -4002,37 +4000,37 @@ U({
|
|
|
4002
4000
|
label: J.describe("Report label"),
|
|
4003
4001
|
description: J.optional(),
|
|
4004
4002
|
objectName: I().describe("Primary object"),
|
|
4005
|
-
type:
|
|
4006
|
-
columns: H(
|
|
4007
|
-
groupingsDown: H(
|
|
4008
|
-
groupingsAcross: H(
|
|
4003
|
+
type: cc.default("tabular").describe("Report format type"),
|
|
4004
|
+
columns: H(lc).describe("Columns to display"),
|
|
4005
|
+
groupingsDown: H(uc).optional().describe("Row groupings"),
|
|
4006
|
+
groupingsAcross: H(uc).optional().describe("Column groupings (Matrix only)"),
|
|
4009
4007
|
filter: Q.optional().describe("Filter criteria"),
|
|
4010
|
-
chart:
|
|
4008
|
+
chart: dc.optional().describe("Embedded chart configuration"),
|
|
4011
4009
|
aria: Y.optional().describe("ARIA accessibility attributes"),
|
|
4012
|
-
performance:
|
|
4010
|
+
performance: ls.optional().describe("Performance optimization settings")
|
|
4013
4011
|
});
|
|
4014
|
-
var
|
|
4012
|
+
var fc = K([
|
|
4015
4013
|
"aes-256-gcm",
|
|
4016
4014
|
"aes-256-cbc",
|
|
4017
4015
|
"chacha20-poly1305"
|
|
4018
|
-
]).describe("Supported encryption algorithm"),
|
|
4016
|
+
]).describe("Supported encryption algorithm"), pc = K([
|
|
4019
4017
|
"local",
|
|
4020
4018
|
"aws-kms",
|
|
4021
4019
|
"azure-key-vault",
|
|
4022
4020
|
"gcp-kms",
|
|
4023
4021
|
"hashicorp-vault"
|
|
4024
|
-
]).describe("Key management service provider"),
|
|
4022
|
+
]).describe("Key management service provider"), mc = U({
|
|
4025
4023
|
enabled: z().default(!1).describe("Enable automatic key rotation"),
|
|
4026
4024
|
frequencyDays: R().min(1).default(90).describe("Rotation frequency in days"),
|
|
4027
4025
|
retainOldVersions: R().default(3).describe("Number of old key versions to retain"),
|
|
4028
4026
|
autoRotate: z().default(!0).describe("Automatically rotate without manual approval")
|
|
4029
|
-
}).describe("Policy for automatic encryption key rotation"),
|
|
4027
|
+
}).describe("Policy for automatic encryption key rotation"), hc = U({
|
|
4030
4028
|
enabled: z().default(!1).describe("Enable field-level encryption"),
|
|
4031
|
-
algorithm:
|
|
4029
|
+
algorithm: fc.default("aes-256-gcm").describe("Encryption algorithm"),
|
|
4032
4030
|
keyManagement: U({
|
|
4033
|
-
provider:
|
|
4031
|
+
provider: pc.describe("Key management service provider"),
|
|
4034
4032
|
keyId: I().optional().describe("Key identifier in the provider"),
|
|
4035
|
-
rotationPolicy:
|
|
4033
|
+
rotationPolicy: mc.optional().describe("Key rotation policy")
|
|
4036
4034
|
}).describe("Key management configuration"),
|
|
4037
4035
|
scope: K([
|
|
4038
4036
|
"field",
|
|
@@ -4045,10 +4043,10 @@ var pc = K([
|
|
|
4045
4043
|
}).describe("Field-level encryption configuration");
|
|
4046
4044
|
U({
|
|
4047
4045
|
fieldName: I().describe("Name of the field to encrypt"),
|
|
4048
|
-
encryptionConfig:
|
|
4046
|
+
encryptionConfig: hc.describe("Encryption settings for this field"),
|
|
4049
4047
|
indexable: z().default(!1).describe("Allow indexing on encrypted field")
|
|
4050
4048
|
}).describe("Per-field encryption assignment");
|
|
4051
|
-
var
|
|
4049
|
+
var gc = K([
|
|
4052
4050
|
"redact",
|
|
4053
4051
|
"partial",
|
|
4054
4052
|
"hash",
|
|
@@ -4056,9 +4054,9 @@ var _c = K([
|
|
|
4056
4054
|
"randomize",
|
|
4057
4055
|
"nullify",
|
|
4058
4056
|
"substitute"
|
|
4059
|
-
]).describe("Data masking strategy for PII protection"),
|
|
4057
|
+
]).describe("Data masking strategy for PII protection"), _c = U({
|
|
4060
4058
|
field: I().describe("Field name to apply masking to"),
|
|
4061
|
-
strategy:
|
|
4059
|
+
strategy: gc.describe("Masking strategy to use"),
|
|
4062
4060
|
pattern: I().optional().describe("Regex pattern for partial masking"),
|
|
4063
4061
|
preserveFormat: z().default(!0).describe("Keep the original data format after masking"),
|
|
4064
4062
|
preserveLength: z().default(!0).describe("Keep the original data length after masking"),
|
|
@@ -4067,12 +4065,12 @@ var _c = K([
|
|
|
4067
4065
|
}).describe("Masking rule for a single field");
|
|
4068
4066
|
U({
|
|
4069
4067
|
enabled: z().default(!1).describe("Enable data masking"),
|
|
4070
|
-
rules: H(
|
|
4068
|
+
rules: H(_c).describe("List of field-level masking rules"),
|
|
4071
4069
|
auditUnmasking: z().default(!0).describe("Log when masked data is accessed unmasked")
|
|
4072
4070
|
}).describe("Top-level data masking configuration for PII protection");
|
|
4073
|
-
var
|
|
4071
|
+
var vc = K(/* @__PURE__ */ "text.textarea.email.url.phone.password.markdown.html.richtext.number.currency.percent.date.datetime.time.boolean.toggle.select.multiselect.radio.checkboxes.lookup.master_detail.tree.image.file.avatar.video.audio.formula.summary.autonumber.location.address.code.json.color.rating.slider.signature.qrcode.progress.tags.vector".split(".")), yc = U({
|
|
4074
4072
|
label: I().describe("Display label (human-readable, any case allowed)"),
|
|
4075
|
-
value:
|
|
4073
|
+
value: us.describe("Stored value (lowercase machine identifier)"),
|
|
4076
4074
|
color: I().optional().describe("Color code for badges/charts"),
|
|
4077
4075
|
default: z().optional().describe("Is default option")
|
|
4078
4076
|
});
|
|
@@ -4082,7 +4080,7 @@ U({
|
|
|
4082
4080
|
altitude: R().optional().describe("Altitude in meters"),
|
|
4083
4081
|
accuracy: R().optional().describe("Accuracy in meters")
|
|
4084
4082
|
});
|
|
4085
|
-
var
|
|
4083
|
+
var bc = U({
|
|
4086
4084
|
precision: R().int().min(0).max(10).default(2).describe("Decimal precision (default: 2)"),
|
|
4087
4085
|
currencyMode: K(["dynamic", "fixed"]).default("dynamic").describe("Currency mode: dynamic (user selectable) or fixed (single currency)"),
|
|
4088
4086
|
defaultCurrency: I().length(3).default("CNY").describe("Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)")
|
|
@@ -4099,7 +4097,7 @@ U({
|
|
|
4099
4097
|
countryCode: I().optional().describe("ISO country code (e.g., US, GB)"),
|
|
4100
4098
|
formatted: I().optional().describe("Formatted address string")
|
|
4101
4099
|
});
|
|
4102
|
-
var
|
|
4100
|
+
var xc = U({
|
|
4103
4101
|
dimensions: R().int().min(1).max(1e4).describe("Vector dimensionality (e.g., 1536 for OpenAI embeddings)"),
|
|
4104
4102
|
distanceMetric: K([
|
|
4105
4103
|
"cosine",
|
|
@@ -4114,7 +4112,7 @@ var Sc = U({
|
|
|
4114
4112
|
"ivfflat",
|
|
4115
4113
|
"flat"
|
|
4116
4114
|
]).optional().describe("Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)")
|
|
4117
|
-
}),
|
|
4115
|
+
}), Sc = U({
|
|
4118
4116
|
minSize: R().min(0).optional().describe("Minimum file size in bytes"),
|
|
4119
4117
|
maxSize: R().min(1).optional().describe("Maximum file size in bytes (e.g., 10485760 = 10MB)"),
|
|
4120
4118
|
allowedTypes: H(I()).optional().describe("Allowed file extensions (e.g., [\".pdf\", \".docx\", \".jpg\"])"),
|
|
@@ -4159,21 +4157,21 @@ var Sc = U({
|
|
|
4159
4157
|
maxVersions: R().min(1).optional().describe("Maximum number of versions to retain"),
|
|
4160
4158
|
publicRead: z().default(!1).describe("Allow public read access to uploaded files"),
|
|
4161
4159
|
presignedUrlExpiry: R().min(60).max(604800).default(3600).describe("Presigned URL expiration in seconds (default: 1 hour)")
|
|
4162
|
-
}).refine((e) => !(e.minSize !== void 0 && e.maxSize !== void 0 && e.minSize > e.maxSize), { message: "minSize must be less than or equal to maxSize" }).refine((e) => !(e.virusScanProvider !== void 0 && e.virusScan !== !0), { message: "virusScanProvider requires virusScan to be enabled" }),
|
|
4160
|
+
}).refine((e) => !(e.minSize !== void 0 && e.maxSize !== void 0 && e.minSize > e.maxSize), { message: "minSize must be less than or equal to maxSize" }).refine((e) => !(e.virusScanProvider !== void 0 && e.virusScan !== !0), { message: "virusScanProvider requires virusScan to be enabled" }), Cc = U({
|
|
4163
4161
|
uniqueness: z().default(!1).describe("Enforce unique values across all records"),
|
|
4164
4162
|
completeness: R().min(0).max(1).default(0).describe("Minimum ratio of non-null values (0-1, default: 0 = no requirement)"),
|
|
4165
4163
|
accuracy: U({
|
|
4166
4164
|
source: I().describe("Reference data source for validation (e.g., \"api.verify.com\", \"master_data\")"),
|
|
4167
4165
|
threshold: R().min(0).max(1).describe("Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)")
|
|
4168
4166
|
}).optional().describe("Accuracy validation configuration")
|
|
4169
|
-
}),
|
|
4167
|
+
}), wc = U({
|
|
4170
4168
|
enabled: z().describe("Enable caching for computed field results"),
|
|
4171
4169
|
ttl: R().min(0).describe("Cache TTL in seconds (0 = no expiration)"),
|
|
4172
4170
|
invalidateOn: H(I()).describe("Field paths that invalidate cache (e.g., [\"inventory.quantity\", \"pricing.base_price\"])")
|
|
4173
|
-
}),
|
|
4171
|
+
}), Tc = U({
|
|
4174
4172
|
name: I().regex(/^[a-z_][a-z0-9_]*$/).describe("Machine name (snake_case)").optional(),
|
|
4175
4173
|
label: I().optional().describe("Human readable label"),
|
|
4176
|
-
type:
|
|
4174
|
+
type: vc.describe("Field Data Type"),
|
|
4177
4175
|
description: I().optional().describe("Tooltip/Help text"),
|
|
4178
4176
|
format: I().optional().describe("Format string (e.g. email, phone)"),
|
|
4179
4177
|
columnName: I().optional().describe("Physical column name in the target datasource. Defaults to the field key when not set."),
|
|
@@ -4188,7 +4186,7 @@ var Sc = U({
|
|
|
4188
4186
|
scale: R().optional().describe("Decimal places"),
|
|
4189
4187
|
min: R().optional().describe("Minimum value"),
|
|
4190
4188
|
max: R().optional().describe("Maximum value"),
|
|
4191
|
-
options: H(
|
|
4189
|
+
options: H(yc).optional().describe("Static options for select/multiselect"),
|
|
4192
4190
|
reference: I().optional().describe("Target object name (snake_case) for lookup/master_detail fields. Required for relationship types. Used by $expand to resolve foreign key IDs into full objects."),
|
|
4193
4191
|
referenceFilters: H(I()).optional().describe("Filters applied to lookup dialogs (e.g. \"active = true\")"),
|
|
4194
4192
|
writeRequiresMasterRead: z().optional().describe("If true, user needs read access to master record to edit this field"),
|
|
@@ -4249,15 +4247,15 @@ var Sc = U({
|
|
|
4249
4247
|
]).optional().describe("QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is \"qr\""),
|
|
4250
4248
|
displayValue: z().optional().describe("Display human-readable value below barcode/QR code"),
|
|
4251
4249
|
allowScanning: z().optional().describe("Enable camera scanning for barcode/QR code input"),
|
|
4252
|
-
currencyConfig:
|
|
4253
|
-
vectorConfig:
|
|
4254
|
-
fileAttachmentConfig:
|
|
4255
|
-
encryptionConfig:
|
|
4256
|
-
maskingRule:
|
|
4250
|
+
currencyConfig: bc.optional().describe("Configuration for currency field type"),
|
|
4251
|
+
vectorConfig: xc.optional().describe("Configuration for vector field type (AI/ML embeddings)"),
|
|
4252
|
+
fileAttachmentConfig: Sc.optional().describe("Configuration for file and attachment field types"),
|
|
4253
|
+
encryptionConfig: hc.optional().describe("Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)"),
|
|
4254
|
+
maskingRule: _c.optional().describe("Data masking rules for PII protection"),
|
|
4257
4255
|
auditTrail: z().default(!1).describe("Enable detailed audit trail for this field (tracks all changes with user and timestamp)"),
|
|
4258
4256
|
dependencies: H(I()).optional().describe("Array of field names that this field depends on (for formulas, visibility rules, etc.)"),
|
|
4259
|
-
cached:
|
|
4260
|
-
dataQuality:
|
|
4257
|
+
cached: wc.optional().describe("Caching configuration for computed/formula fields"),
|
|
4258
|
+
dataQuality: Cc.optional().describe("Data quality validation and monitoring rules"),
|
|
4261
4259
|
group: I().optional().describe("Field group name for organizing fields in forms and layouts (e.g., \"contact_info\", \"billing\", \"system\")"),
|
|
4262
4260
|
conditionalRequired: I().optional().describe("Formula expression that makes this field required when TRUE (e.g., \"status = 'closed_won'\")"),
|
|
4263
4261
|
hidden: z().default(!1).describe("Hidden from default UI"),
|
|
@@ -4269,22 +4267,22 @@ var Sc = U({
|
|
|
4269
4267
|
autonumberFormat: I().optional().describe("Auto-number display format pattern (e.g., \"CASE-{0000}\")"),
|
|
4270
4268
|
index: z().default(!1).describe("Create standard database index"),
|
|
4271
4269
|
externalId: z().default(!1).describe("Is external ID for upsert operations")
|
|
4272
|
-
}),
|
|
4270
|
+
}), Ec = U({
|
|
4273
4271
|
name: I(),
|
|
4274
4272
|
label: J,
|
|
4275
|
-
type:
|
|
4273
|
+
type: vc,
|
|
4276
4274
|
required: z().default(!1),
|
|
4277
4275
|
options: H(U({
|
|
4278
4276
|
label: J,
|
|
4279
4277
|
value: I()
|
|
4280
4278
|
})).optional()
|
|
4281
|
-
}),
|
|
4279
|
+
}), Dc = K([
|
|
4282
4280
|
"script",
|
|
4283
4281
|
"url",
|
|
4284
4282
|
"modal",
|
|
4285
4283
|
"flow",
|
|
4286
4284
|
"api"
|
|
4287
|
-
]),
|
|
4285
|
+
]), Oc = new Set(Dc.options.filter((e) => e !== "script"));
|
|
4288
4286
|
U({
|
|
4289
4287
|
name: X.describe("Machine name (lowercase snake_case)"),
|
|
4290
4288
|
label: J.describe("Display label"),
|
|
@@ -4304,10 +4302,10 @@ U({
|
|
|
4304
4302
|
"action:menu",
|
|
4305
4303
|
"action:group"
|
|
4306
4304
|
]).optional().describe("Visual component override"),
|
|
4307
|
-
type:
|
|
4305
|
+
type: Dc.default("script").describe("Action functionality type"),
|
|
4308
4306
|
target: I().optional().describe("URL, Script Name, Flow ID, or API Endpoint"),
|
|
4309
4307
|
execute: I().optional().describe("@deprecated — Use target instead. Auto-migrated to target during parsing."),
|
|
4310
|
-
params: H(
|
|
4308
|
+
params: H(Ec).optional().describe("Input parameters required from user"),
|
|
4311
4309
|
variant: K([
|
|
4312
4310
|
"primary",
|
|
4313
4311
|
"secondary",
|
|
@@ -4327,7 +4325,7 @@ U({
|
|
|
4327
4325
|
}).transform((e) => e.execute && !e.target ? {
|
|
4328
4326
|
...e,
|
|
4329
4327
|
target: e.execute
|
|
4330
|
-
} : e).refine((e) => !(
|
|
4328
|
+
} : e).refine((e) => !(Oc.has(e.type) && !e.target), {
|
|
4331
4329
|
message: "Action 'target' is required when type is 'url', 'flow', 'modal', or 'api'.",
|
|
4332
4330
|
path: ["target"]
|
|
4333
4331
|
}), K([
|
|
@@ -4342,9 +4340,9 @@ U({
|
|
|
4342
4340
|
"stddev",
|
|
4343
4341
|
"variance"
|
|
4344
4342
|
]).describe("Standard aggregation functions");
|
|
4345
|
-
var
|
|
4343
|
+
var kc = K(["asc", "desc"]).describe("Sort order direction"), Ac = U({
|
|
4346
4344
|
field: I().describe("Field name to sort by"),
|
|
4347
|
-
order:
|
|
4345
|
+
order: kc.describe("Sort direction")
|
|
4348
4346
|
}).describe("Sort field and direction pair");
|
|
4349
4347
|
K([
|
|
4350
4348
|
"insert",
|
|
@@ -4363,7 +4361,7 @@ K([
|
|
|
4363
4361
|
"ttl",
|
|
4364
4362
|
"fifo"
|
|
4365
4363
|
]).describe("Cache eviction strategy");
|
|
4366
|
-
var
|
|
4364
|
+
var jc = U({
|
|
4367
4365
|
name: I().describe("Region name (e.g. \"sidebar\", \"main\", \"header\")"),
|
|
4368
4366
|
width: K([
|
|
4369
4367
|
"small",
|
|
@@ -4371,15 +4369,15 @@ var Mc = U({
|
|
|
4371
4369
|
"large",
|
|
4372
4370
|
"full"
|
|
4373
4371
|
]).optional(),
|
|
4374
|
-
components: H(Uo(() =>
|
|
4375
|
-
}),
|
|
4372
|
+
components: H(Uo(() => Pc)).describe("Components in this region")
|
|
4373
|
+
}), Mc = K(/* @__PURE__ */ "page:header.page:footer.page:sidebar.page:tabs.page:accordion.page:card.page:section.record:details.record:highlights.record:related_list.record:activity.record:chatter.record:path.app:launcher.nav:menu.nav:breadcrumb.global:search.global:notifications.user:profile.ai:chat_window.ai:suggestion.element:text.element:number.element:image.element:divider.element:button.element:filter.element:form.element:record_picker".split(".")), Nc = U({
|
|
4376
4374
|
object: I().describe("Object to query"),
|
|
4377
4375
|
view: I().optional().describe("Named view to apply"),
|
|
4378
4376
|
filter: Q.optional().describe("Additional filter criteria"),
|
|
4379
|
-
sort: H(
|
|
4377
|
+
sort: H(Ac).optional().describe("Sort order"),
|
|
4380
4378
|
limit: R().int().positive().optional().describe("Max records to display")
|
|
4381
|
-
}),
|
|
4382
|
-
type: W([
|
|
4379
|
+
}), Pc = U({
|
|
4380
|
+
type: W([Mc, I()]).describe("Component Type (Standard enum or custom string)"),
|
|
4383
4381
|
id: I().optional().describe("Unique instance ID"),
|
|
4384
4382
|
label: J.optional(),
|
|
4385
4383
|
properties: G(I(), B()).describe("Component props passed to the widget. See component.zod.ts for schemas."),
|
|
@@ -4387,10 +4385,10 @@ var Mc = U({
|
|
|
4387
4385
|
style: G(I(), I()).optional().describe("Inline styles or utility classes"),
|
|
4388
4386
|
className: I().optional().describe("CSS class names"),
|
|
4389
4387
|
visibility: I().optional().describe("Visibility filter/formula"),
|
|
4390
|
-
dataSource:
|
|
4391
|
-
responsive:
|
|
4388
|
+
dataSource: Nc.optional().describe("Per-element data binding for multi-object pages"),
|
|
4389
|
+
responsive: cs.optional().describe("Responsive layout configuration"),
|
|
4392
4390
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
4393
|
-
}),
|
|
4391
|
+
}), Fc = U({
|
|
4394
4392
|
name: I().describe("Variable name"),
|
|
4395
4393
|
type: K([
|
|
4396
4394
|
"string",
|
|
@@ -4402,18 +4400,18 @@ var Mc = U({
|
|
|
4402
4400
|
]).default("string"),
|
|
4403
4401
|
defaultValue: B().optional(),
|
|
4404
4402
|
source: I().optional().describe("Component ID that writes to this variable")
|
|
4405
|
-
}),
|
|
4403
|
+
}), Ic = U({
|
|
4406
4404
|
componentId: I().describe("Reference to a PageComponent.id in the page"),
|
|
4407
4405
|
x: R().int().min(0).describe("Grid column position (0-based)"),
|
|
4408
4406
|
y: R().int().min(0).describe("Grid row position (0-based)"),
|
|
4409
4407
|
width: R().int().min(1).describe("Width in grid columns"),
|
|
4410
4408
|
height: R().int().min(1).describe("Height in grid rows")
|
|
4411
|
-
}),
|
|
4409
|
+
}), Lc = U({
|
|
4412
4410
|
columns: R().int().min(1).default(12).describe("Number of grid columns"),
|
|
4413
4411
|
rowHeight: R().int().min(1).default(40).describe("Height of each grid row in pixels"),
|
|
4414
4412
|
gap: R().int().min(0).default(8).describe("Gap between grid items in pixels"),
|
|
4415
|
-
items: H(
|
|
4416
|
-
}),
|
|
4413
|
+
items: H(Ic).describe("Positioned components on the canvas")
|
|
4414
|
+
}), Rc = K([
|
|
4417
4415
|
"record",
|
|
4418
4416
|
"home",
|
|
4419
4417
|
"app",
|
|
@@ -4430,10 +4428,10 @@ var Mc = U({
|
|
|
4430
4428
|
"record_review",
|
|
4431
4429
|
"overview",
|
|
4432
4430
|
"blank"
|
|
4433
|
-
]).describe("Page type — platform or interface page types"),
|
|
4431
|
+
]).describe("Page type — platform or interface page types"), zc = U({
|
|
4434
4432
|
object: I().describe("Target object for review"),
|
|
4435
4433
|
filter: Q.optional().describe("Filter criteria for review queue"),
|
|
4436
|
-
sort: H(
|
|
4434
|
+
sort: H(Ac).optional().describe("Sort order for review queue"),
|
|
4437
4435
|
displayFields: H(I()).optional().describe("Fields to display on the review page"),
|
|
4438
4436
|
actions: H(U({
|
|
4439
4437
|
label: I().describe("Action button label"),
|
|
@@ -4457,21 +4455,21 @@ var Mc = U({
|
|
|
4457
4455
|
"filtered"
|
|
4458
4456
|
]).optional().default("sequential").describe("Record navigation mode"),
|
|
4459
4457
|
showProgress: z().optional().default(!0).describe("Show review progress indicator")
|
|
4460
|
-
}),
|
|
4458
|
+
}), Bc = U({
|
|
4461
4459
|
source: I().optional().describe("Source object name for the page"),
|
|
4462
4460
|
levels: R().int().min(1).optional().describe("Number of hierarchy levels to display"),
|
|
4463
|
-
filterBy: H(
|
|
4464
|
-
appearance:
|
|
4461
|
+
filterBy: H(Os).optional().describe("Page-level filter criteria"),
|
|
4462
|
+
appearance: Vs.optional().describe("Appearance and visualization configuration"),
|
|
4465
4463
|
userFilters: U({
|
|
4466
4464
|
elements: H(K([
|
|
4467
4465
|
"grid",
|
|
4468
4466
|
"gallery",
|
|
4469
4467
|
"kanban"
|
|
4470
4468
|
])).optional().describe("Visualization element types available in user filter bar"),
|
|
4471
|
-
tabs: H(
|
|
4469
|
+
tabs: H(Hs).optional().describe("User-configurable tabs")
|
|
4472
4470
|
}).optional().describe("User filter configuration"),
|
|
4473
|
-
userActions:
|
|
4474
|
-
addRecord:
|
|
4471
|
+
userActions: Bs.optional().describe("User action toggles"),
|
|
4472
|
+
addRecord: Us.optional().describe("Add record entry point configuration"),
|
|
4475
4473
|
showRecordCount: z().optional().describe("Show record count at page bottom"),
|
|
4476
4474
|
allowPrinting: z().optional().describe("Allow users to print the page")
|
|
4477
4475
|
}).describe("Interface-level page configuration (Airtable parity)");
|
|
@@ -4480,16 +4478,16 @@ U({
|
|
|
4480
4478
|
label: J,
|
|
4481
4479
|
description: J.optional(),
|
|
4482
4480
|
icon: I().optional().describe("Page icon name"),
|
|
4483
|
-
type:
|
|
4484
|
-
variables: H(
|
|
4481
|
+
type: Rc.default("record").describe("Page type"),
|
|
4482
|
+
variables: H(Fc).optional().describe("Local page state variables"),
|
|
4485
4483
|
object: I().optional().describe("Bound object (for Record pages)"),
|
|
4486
|
-
recordReview:
|
|
4487
|
-
blankLayout:
|
|
4484
|
+
recordReview: zc.optional().describe("Record review configuration (required when type is \"record_review\")"),
|
|
4485
|
+
blankLayout: Lc.optional().describe("Free-form grid layout for blank pages (used when type is \"blank\")"),
|
|
4488
4486
|
template: I().default("default").describe("Layout template name (e.g. \"header-sidebar-main\")"),
|
|
4489
|
-
regions: H(
|
|
4487
|
+
regions: H(jc).describe("Defined regions with components"),
|
|
4490
4488
|
isDefault: z().default(!1),
|
|
4491
4489
|
assignedProfiles: H(I()).optional(),
|
|
4492
|
-
interfaceConfig:
|
|
4490
|
+
interfaceConfig: Bc.optional().describe("Interface-level page configuration (for Airtable-style interface pages)"),
|
|
4493
4491
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
4494
4492
|
}).superRefine((e, t) => {
|
|
4495
4493
|
e.type === "record_review" && !e.recordReview && t.addIssue({
|
|
@@ -4502,7 +4500,7 @@ U({
|
|
|
4502
4500
|
message: "blankLayout is required when type is \"blank\""
|
|
4503
4501
|
});
|
|
4504
4502
|
});
|
|
4505
|
-
var
|
|
4503
|
+
var Vc = U({
|
|
4506
4504
|
onMount: I().optional().describe("Initialization code when widget mounts"),
|
|
4507
4505
|
onUpdate: I().optional().describe("Code to run when props change"),
|
|
4508
4506
|
onUnmount: I().optional().describe("Cleanup code when widget unmounts"),
|
|
@@ -4510,14 +4508,14 @@ var Hc = U({
|
|
|
4510
4508
|
onFocus: I().optional().describe("Code to run on focus"),
|
|
4511
4509
|
onBlur: I().optional().describe("Code to run on blur"),
|
|
4512
4510
|
onError: I().optional().describe("Error handling code")
|
|
4513
|
-
}),
|
|
4511
|
+
}), Hc = U({
|
|
4514
4512
|
name: I().describe("Event name"),
|
|
4515
4513
|
label: J.optional().describe("Human-readable event label"),
|
|
4516
4514
|
description: J.optional().describe("Event description and usage"),
|
|
4517
4515
|
bubbles: z().default(!1).describe("Whether event bubbles"),
|
|
4518
4516
|
cancelable: z().default(!1).describe("Whether event is cancelable"),
|
|
4519
4517
|
payload: G(I(), B()).optional().describe("Event payload schema")
|
|
4520
|
-
}),
|
|
4518
|
+
}), Uc = U({
|
|
4521
4519
|
name: I().describe("Property name (camelCase)"),
|
|
4522
4520
|
label: J.optional().describe("Human-readable label"),
|
|
4523
4521
|
type: K([
|
|
@@ -4534,7 +4532,7 @@ var Hc = U({
|
|
|
4534
4532
|
description: J.optional().describe("Property description"),
|
|
4535
4533
|
validation: G(I(), B()).optional().describe("Validation rules"),
|
|
4536
4534
|
category: I().optional().describe("Property category")
|
|
4537
|
-
}),
|
|
4535
|
+
}), Wc = mo("type", [
|
|
4538
4536
|
U({
|
|
4539
4537
|
type: q("npm"),
|
|
4540
4538
|
packageName: I().describe("NPM package name"),
|
|
@@ -4567,10 +4565,10 @@ U({
|
|
|
4567
4565
|
"editor",
|
|
4568
4566
|
"custom"
|
|
4569
4567
|
]).default("custom").describe("Widget category"),
|
|
4570
|
-
lifecycle:
|
|
4571
|
-
events: H(
|
|
4572
|
-
properties: H(
|
|
4573
|
-
implementation:
|
|
4568
|
+
lifecycle: Vc.optional().describe("Lifecycle hooks"),
|
|
4569
|
+
events: H(Hc).optional().describe("Custom events"),
|
|
4570
|
+
properties: H(Uc).optional().describe("Configuration properties"),
|
|
4571
|
+
implementation: Wc.optional().describe("Widget implementation source"),
|
|
4574
4572
|
dependencies: H(U({
|
|
4575
4573
|
name: I(),
|
|
4576
4574
|
version: I().optional(),
|
|
@@ -4581,18 +4579,18 @@ U({
|
|
|
4581
4579
|
license: I().optional().describe("License (SPDX identifier)"),
|
|
4582
4580
|
tags: H(I()).optional().describe("Tags for categorization"),
|
|
4583
4581
|
aria: Y.optional().describe("ARIA accessibility attributes"),
|
|
4584
|
-
performance:
|
|
4582
|
+
performance: ls.optional().describe("Performance optimization settings")
|
|
4585
4583
|
}), U({
|
|
4586
4584
|
value: B().describe("Current field value"),
|
|
4587
4585
|
onChange: Go().input(vo([B()])).output(so()).describe("Callback to update field value"),
|
|
4588
4586
|
readonly: z().default(!1).describe("Read-only mode flag"),
|
|
4589
4587
|
required: z().default(!1).describe("Required field flag"),
|
|
4590
4588
|
error: I().optional().describe("Validation error message"),
|
|
4591
|
-
field:
|
|
4589
|
+
field: Tc.describe("Field schema definition"),
|
|
4592
4590
|
record: G(I(), B()).optional().describe("Complete record data"),
|
|
4593
4591
|
options: G(I(), B()).optional().describe("Custom widget options")
|
|
4594
4592
|
});
|
|
4595
|
-
var
|
|
4593
|
+
var Gc = K([
|
|
4596
4594
|
"comment",
|
|
4597
4595
|
"field_change",
|
|
4598
4596
|
"task",
|
|
@@ -4606,7 +4604,7 @@ var Kc = K([
|
|
|
4606
4604
|
"approval",
|
|
4607
4605
|
"sharing",
|
|
4608
4606
|
"system"
|
|
4609
|
-
]),
|
|
4607
|
+
]), Kc = U({
|
|
4610
4608
|
type: K([
|
|
4611
4609
|
"user",
|
|
4612
4610
|
"team",
|
|
@@ -4616,18 +4614,18 @@ var Kc = K([
|
|
|
4616
4614
|
name: I().describe("Display name for rendering"),
|
|
4617
4615
|
offset: R().int().min(0).describe("Character offset in body text"),
|
|
4618
4616
|
length: R().int().min(1).describe("Length of mention token in body text")
|
|
4619
|
-
}),
|
|
4617
|
+
}), qc = U({
|
|
4620
4618
|
field: I().describe("Field machine name"),
|
|
4621
4619
|
fieldLabel: I().optional().describe("Field display label"),
|
|
4622
4620
|
oldValue: B().optional().describe("Previous value"),
|
|
4623
4621
|
newValue: B().optional().describe("New value"),
|
|
4624
4622
|
oldDisplayValue: I().optional().describe("Human-readable old value"),
|
|
4625
4623
|
newDisplayValue: I().optional().describe("Human-readable new value")
|
|
4626
|
-
}),
|
|
4624
|
+
}), Jc = U({
|
|
4627
4625
|
emoji: I().describe("Emoji character or shortcode (e.g., \"👍\", \":thumbsup:\")"),
|
|
4628
4626
|
userIds: H(I()).describe("Users who reacted"),
|
|
4629
4627
|
count: R().int().min(1).describe("Total reaction count")
|
|
4630
|
-
}),
|
|
4628
|
+
}), Yc = U({
|
|
4631
4629
|
type: K([
|
|
4632
4630
|
"user",
|
|
4633
4631
|
"system",
|
|
@@ -4638,21 +4636,21 @@ var Kc = K([
|
|
|
4638
4636
|
name: I().optional().describe("Actor display name"),
|
|
4639
4637
|
avatarUrl: I().url().optional().describe("Actor avatar URL"),
|
|
4640
4638
|
source: I().optional().describe("Source application (e.g., \"Omni\", \"API\", \"Studio\")")
|
|
4641
|
-
}),
|
|
4639
|
+
}), Xc = K([
|
|
4642
4640
|
"public",
|
|
4643
4641
|
"internal",
|
|
4644
4642
|
"private"
|
|
4645
4643
|
]);
|
|
4646
4644
|
U({
|
|
4647
4645
|
id: I().describe("Feed item ID"),
|
|
4648
|
-
type:
|
|
4646
|
+
type: Gc.describe("Activity type"),
|
|
4649
4647
|
object: I().describe("Object name (e.g., \"account\")"),
|
|
4650
4648
|
recordId: I().describe("Record ID this feed item belongs to"),
|
|
4651
|
-
actor:
|
|
4649
|
+
actor: Yc.describe("Who performed this action"),
|
|
4652
4650
|
body: I().optional().describe("Rich text body (Markdown supported)"),
|
|
4653
|
-
mentions: H(
|
|
4654
|
-
changes: H(
|
|
4655
|
-
reactions: H(
|
|
4651
|
+
mentions: H(Kc).optional().describe("Mentioned users/teams/records"),
|
|
4652
|
+
changes: H(qc).optional().describe("Field-level changes"),
|
|
4653
|
+
reactions: H(Jc).optional().describe("Emoji reactions on this item"),
|
|
4656
4654
|
parentId: I().optional().describe("Parent feed item ID for threaded replies"),
|
|
4657
4655
|
replyCount: R().int().min(0).default(0).describe("Number of replies"),
|
|
4658
4656
|
pinned: z().default(!1).describe("Whether the feed item is pinned to the top of the timeline"),
|
|
@@ -4660,13 +4658,13 @@ U({
|
|
|
4660
4658
|
pinnedBy: I().optional().describe("User ID who pinned the item"),
|
|
4661
4659
|
starred: z().default(!1).describe("Whether the feed item is starred/bookmarked by the current user"),
|
|
4662
4660
|
starredAt: I().datetime().optional().describe("Timestamp when the item was starred"),
|
|
4663
|
-
visibility:
|
|
4661
|
+
visibility: Xc.default("public").describe("Visibility: public (all users), internal (team only), private (author + mentioned)"),
|
|
4664
4662
|
createdAt: I().datetime().describe("Creation timestamp"),
|
|
4665
4663
|
updatedAt: I().datetime().optional().describe("Last update timestamp"),
|
|
4666
4664
|
editedAt: I().datetime().optional().describe("When comment was last edited"),
|
|
4667
4665
|
isEdited: z().default(!1).describe("Whether comment has been edited")
|
|
4668
4666
|
});
|
|
4669
|
-
var
|
|
4667
|
+
var Zc = K([
|
|
4670
4668
|
"all",
|
|
4671
4669
|
"comments_only",
|
|
4672
4670
|
"changes_only",
|
|
@@ -4719,7 +4717,7 @@ U({}), U({
|
|
|
4719
4717
|
order: K(["asc", "desc"])
|
|
4720
4718
|
}))]).optional().describe("Sort order for related records"),
|
|
4721
4719
|
limit: R().int().positive().default(5).describe("Number of records to display initially"),
|
|
4722
|
-
filter: H(
|
|
4720
|
+
filter: H(Os).optional().describe("Additional filter criteria for related records"),
|
|
4723
4721
|
title: J.optional().describe("Custom title for the related list"),
|
|
4724
4722
|
showViewAll: z().default(!0).describe("Show \"View All\" link to see all related records"),
|
|
4725
4723
|
actions: H(I()).optional().describe("Action IDs available for related records"),
|
|
@@ -4729,9 +4727,9 @@ U({}), U({
|
|
|
4729
4727
|
layout: K(["horizontal", "vertical"]).default("horizontal").describe("Layout orientation for highlight fields"),
|
|
4730
4728
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
4731
4729
|
});
|
|
4732
|
-
var
|
|
4733
|
-
types: H(
|
|
4734
|
-
filterMode:
|
|
4730
|
+
var Qc = U({
|
|
4731
|
+
types: H(Gc).optional().describe("Feed item types to show (default: all)"),
|
|
4732
|
+
filterMode: Zc.default("all").describe("Default activity filter"),
|
|
4735
4733
|
showFilterToggle: z().default(!0).describe("Show filter dropdown in panel header"),
|
|
4736
4734
|
limit: R().int().positive().default(20).describe("Number of items to load per page"),
|
|
4737
4735
|
showCompleted: z().default(!1).describe("Include completed activities"),
|
|
@@ -4752,7 +4750,7 @@ U({
|
|
|
4752
4750
|
width: W([I(), R()]).optional().describe("Panel width (e.g., \"350px\", \"30%\")"),
|
|
4753
4751
|
collapsible: z().default(!0).describe("Whether the panel can be collapsed"),
|
|
4754
4752
|
defaultCollapsed: z().default(!1).describe("Whether the panel starts collapsed"),
|
|
4755
|
-
feed:
|
|
4753
|
+
feed: Qc.optional().describe("Embedded activity feed configuration"),
|
|
4756
4754
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
4757
4755
|
}), U({
|
|
4758
4756
|
statusField: I().describe("Field name representing the current status/stage"),
|
|
@@ -4868,7 +4866,7 @@ U({
|
|
|
4868
4866
|
placeholder: J.optional().describe("Placeholder text"),
|
|
4869
4867
|
aria: Y.optional().describe("ARIA accessibility attributes")
|
|
4870
4868
|
}), U({ context: I().optional() });
|
|
4871
|
-
var
|
|
4869
|
+
var $c = U({
|
|
4872
4870
|
minWidth: R().default(44).describe("Minimum touch target width in pixels (WCAG 2.5.5: 44px)"),
|
|
4873
4871
|
minHeight: R().default(44).describe("Minimum touch target height in pixels (WCAG 2.5.5: 44px)"),
|
|
4874
4872
|
padding: R().optional().describe("Additional padding around touch target in pixels"),
|
|
@@ -4878,7 +4876,7 @@ var el = U({
|
|
|
4878
4876
|
bottom: R().optional().describe("Extra hit area below the element"),
|
|
4879
4877
|
left: R().optional().describe("Extra hit area to the left of the element")
|
|
4880
4878
|
}).optional().describe("Invisible hit area extension beyond the visible bounds")
|
|
4881
|
-
}).describe("Touch target sizing configuration (WCAG accessible)"),
|
|
4879
|
+
}).describe("Touch target sizing configuration (WCAG accessible)"), el = K([
|
|
4882
4880
|
"swipe",
|
|
4883
4881
|
"pinch",
|
|
4884
4882
|
"long_press",
|
|
@@ -4886,7 +4884,7 @@ var el = U({
|
|
|
4886
4884
|
"drag",
|
|
4887
4885
|
"rotate",
|
|
4888
4886
|
"pan"
|
|
4889
|
-
]).describe("Touch gesture type"),
|
|
4887
|
+
]).describe("Touch gesture type"), tl = U({
|
|
4890
4888
|
direction: H(K([
|
|
4891
4889
|
"up",
|
|
4892
4890
|
"down",
|
|
@@ -4895,31 +4893,31 @@ var el = U({
|
|
|
4895
4893
|
])).describe("Allowed swipe directions"),
|
|
4896
4894
|
threshold: R().optional().describe("Minimum distance in pixels to recognize swipe"),
|
|
4897
4895
|
velocity: R().optional().describe("Minimum velocity (px/ms) to trigger swipe")
|
|
4898
|
-
}).describe("Swipe gesture recognition settings"),
|
|
4896
|
+
}).describe("Swipe gesture recognition settings"), nl = U({
|
|
4899
4897
|
minScale: R().optional().describe("Minimum scale factor (e.g., 0.5 for 50%)"),
|
|
4900
4898
|
maxScale: R().optional().describe("Maximum scale factor (e.g., 3.0 for 300%)")
|
|
4901
|
-
}).describe("Pinch/zoom gesture recognition settings"),
|
|
4899
|
+
}).describe("Pinch/zoom gesture recognition settings"), rl = U({
|
|
4902
4900
|
duration: R().default(500).describe("Hold duration in milliseconds to trigger long press"),
|
|
4903
4901
|
moveTolerance: R().optional().describe("Max movement in pixels allowed during press")
|
|
4904
4902
|
}).describe("Long press gesture recognition settings");
|
|
4905
4903
|
U({
|
|
4906
4904
|
gestures: H(U({
|
|
4907
|
-
type:
|
|
4905
|
+
type: el.describe("Gesture type to configure"),
|
|
4908
4906
|
label: J.optional().describe("Descriptive label for the gesture action"),
|
|
4909
4907
|
enabled: z().default(!0).describe("Whether this gesture is active"),
|
|
4910
|
-
swipe:
|
|
4911
|
-
pinch:
|
|
4912
|
-
longPress:
|
|
4908
|
+
swipe: tl.optional().describe("Swipe gesture settings (when type is swipe)"),
|
|
4909
|
+
pinch: nl.optional().describe("Pinch gesture settings (when type is pinch)"),
|
|
4910
|
+
longPress: rl.optional().describe("Long press settings (when type is long_press)")
|
|
4913
4911
|
}).describe("Per-gesture configuration")).optional().describe("Configured gesture recognizers"),
|
|
4914
|
-
touchTarget:
|
|
4912
|
+
touchTarget: $c.optional().describe("Touch target sizing and hit area"),
|
|
4915
4913
|
hapticFeedback: z().optional().describe("Enable haptic feedback on touch interactions")
|
|
4916
4914
|
}).merge(Y.partial()).describe("Touch and gesture interaction configuration");
|
|
4917
|
-
var
|
|
4915
|
+
var il = U({
|
|
4918
4916
|
enabled: z().default(!1).describe("Enable focus trapping within this container"),
|
|
4919
4917
|
initialFocus: I().optional().describe("CSS selector for the element to focus on activation"),
|
|
4920
4918
|
returnFocus: z().default(!0).describe("Return focus to trigger element on deactivation"),
|
|
4921
4919
|
escapeDeactivates: z().default(!0).describe("Allow Escape key to deactivate the focus trap")
|
|
4922
|
-
}).describe("Focus trap configuration for modal-like containers"),
|
|
4920
|
+
}).describe("Focus trap configuration for modal-like containers"), al = U({
|
|
4923
4921
|
key: I().describe("Key combination (e.g., \"Ctrl+S\", \"Alt+N\", \"Escape\")"),
|
|
4924
4922
|
action: I().describe("Action identifier to invoke when shortcut is triggered"),
|
|
4925
4923
|
description: J.optional().describe("Human-readable description of what the shortcut does"),
|
|
@@ -4930,19 +4928,19 @@ var al = U({
|
|
|
4930
4928
|
"modal",
|
|
4931
4929
|
"list"
|
|
4932
4930
|
]).default("global").describe("Scope in which this shortcut is active")
|
|
4933
|
-
}).describe("Keyboard shortcut binding"),
|
|
4931
|
+
}).describe("Keyboard shortcut binding"), ol = U({
|
|
4934
4932
|
tabOrder: K(["auto", "manual"]).default("auto").describe("Tab order strategy: auto (DOM order) or manual (explicit tabIndex)"),
|
|
4935
4933
|
skipLinks: z().default(!1).describe("Provide skip-to-content navigation links"),
|
|
4936
4934
|
focusVisible: z().default(!0).describe("Show visible focus indicators for keyboard users"),
|
|
4937
|
-
focusTrap:
|
|
4935
|
+
focusTrap: il.optional().describe("Focus trap settings"),
|
|
4938
4936
|
arrowNavigation: z().default(!1).describe("Enable arrow key navigation between focusable items")
|
|
4939
4937
|
}).describe("Focus and tab navigation management");
|
|
4940
4938
|
U({
|
|
4941
|
-
shortcuts: H(
|
|
4942
|
-
focusManagement:
|
|
4939
|
+
shortcuts: H(al).optional().describe("Registered keyboard shortcuts"),
|
|
4940
|
+
focusManagement: ol.optional().describe("Focus and tab order management"),
|
|
4943
4941
|
rovingTabindex: z().default(!1).describe("Enable roving tabindex pattern for composite widgets")
|
|
4944
4942
|
}).merge(Y.partial()).describe("Keyboard navigation and shortcut configuration");
|
|
4945
|
-
var
|
|
4943
|
+
var sl = U({
|
|
4946
4944
|
primary: I().describe("Primary brand color (hex, rgb, or hsl)"),
|
|
4947
4945
|
secondary: I().optional().describe("Secondary brand color"),
|
|
4948
4946
|
accent: I().optional().describe("Accent color for highlights"),
|
|
@@ -4960,7 +4958,7 @@ var cl = U({
|
|
|
4960
4958
|
primaryDark: I().optional().describe("Darker shade of primary"),
|
|
4961
4959
|
secondaryLight: I().optional().describe("Lighter shade of secondary"),
|
|
4962
4960
|
secondaryDark: I().optional().describe("Darker shade of secondary")
|
|
4963
|
-
}),
|
|
4961
|
+
}), cl = U({
|
|
4964
4962
|
fontFamily: U({
|
|
4965
4963
|
base: I().optional().describe("Base font family (default: system fonts)"),
|
|
4966
4964
|
heading: I().optional().describe("Heading font family"),
|
|
@@ -4996,7 +4994,7 @@ var cl = U({
|
|
|
4996
4994
|
wide: I().optional().describe("Wide letter spacing (e.g., 0.025em)"),
|
|
4997
4995
|
wider: I().optional().describe("Wider letter spacing (e.g., 0.05em)")
|
|
4998
4996
|
}).optional()
|
|
4999
|
-
}),
|
|
4997
|
+
}), ll = U({
|
|
5000
4998
|
0: I().optional().describe("0 spacing (0)"),
|
|
5001
4999
|
1: I().optional().describe("Spacing unit 1 (e.g., 0.25rem)"),
|
|
5002
5000
|
2: I().optional().describe("Spacing unit 2 (e.g., 0.5rem)"),
|
|
@@ -5010,7 +5008,7 @@ var cl = U({
|
|
|
5010
5008
|
16: I().optional().describe("Spacing unit 16 (e.g., 4rem)"),
|
|
5011
5009
|
20: I().optional().describe("Spacing unit 20 (e.g., 5rem)"),
|
|
5012
5010
|
24: I().optional().describe("Spacing unit 24 (e.g., 6rem)")
|
|
5013
|
-
}),
|
|
5011
|
+
}), ul = U({
|
|
5014
5012
|
none: I().optional().describe("No border radius (0)"),
|
|
5015
5013
|
sm: I().optional().describe("Small border radius (e.g., 0.125rem)"),
|
|
5016
5014
|
base: I().optional().describe("Base border radius (e.g., 0.25rem)"),
|
|
@@ -5019,7 +5017,7 @@ var cl = U({
|
|
|
5019
5017
|
xl: I().optional().describe("Extra large border radius (e.g., 0.75rem)"),
|
|
5020
5018
|
"2xl": I().optional().describe("2X large border radius (e.g., 1rem)"),
|
|
5021
5019
|
full: I().optional().describe("Full border radius (50%)")
|
|
5022
|
-
}),
|
|
5020
|
+
}), dl = U({
|
|
5023
5021
|
none: I().optional().describe("No shadow"),
|
|
5024
5022
|
sm: I().optional().describe("Small shadow"),
|
|
5025
5023
|
base: I().optional().describe("Base shadow"),
|
|
@@ -5028,14 +5026,14 @@ var cl = U({
|
|
|
5028
5026
|
xl: I().optional().describe("Extra large shadow"),
|
|
5029
5027
|
"2xl": I().optional().describe("2X large shadow"),
|
|
5030
5028
|
inner: I().optional().describe("Inner shadow (inset)")
|
|
5031
|
-
}),
|
|
5029
|
+
}), fl = U({
|
|
5032
5030
|
xs: I().optional().describe("Extra small breakpoint (e.g., 480px)"),
|
|
5033
5031
|
sm: I().optional().describe("Small breakpoint (e.g., 640px)"),
|
|
5034
5032
|
md: I().optional().describe("Medium breakpoint (e.g., 768px)"),
|
|
5035
5033
|
lg: I().optional().describe("Large breakpoint (e.g., 1024px)"),
|
|
5036
5034
|
xl: I().optional().describe("Extra large breakpoint (e.g., 1280px)"),
|
|
5037
5035
|
"2xl": I().optional().describe("2X large breakpoint (e.g., 1536px)")
|
|
5038
|
-
}),
|
|
5036
|
+
}), pl = U({
|
|
5039
5037
|
duration: U({
|
|
5040
5038
|
fast: I().optional().describe("Fast animation (e.g., 150ms)"),
|
|
5041
5039
|
base: I().optional().describe("Base animation (e.g., 300ms)"),
|
|
@@ -5048,7 +5046,7 @@ var cl = U({
|
|
|
5048
5046
|
ease_out: I().optional().describe("Ease-out timing function"),
|
|
5049
5047
|
ease_in_out: I().optional().describe("Ease-in-out timing function")
|
|
5050
5048
|
}).optional()
|
|
5051
|
-
}),
|
|
5049
|
+
}), ml = U({
|
|
5052
5050
|
base: R().optional().describe("Base z-index (e.g., 0)"),
|
|
5053
5051
|
dropdown: R().optional().describe("Dropdown z-index (e.g., 1000)"),
|
|
5054
5052
|
sticky: R().optional().describe("Sticky z-index (e.g., 1020)"),
|
|
@@ -5057,28 +5055,28 @@ var cl = U({
|
|
|
5057
5055
|
modal: R().optional().describe("Modal z-index (e.g., 1050)"),
|
|
5058
5056
|
popover: R().optional().describe("Popover z-index (e.g., 1060)"),
|
|
5059
5057
|
tooltip: R().optional().describe("Tooltip z-index (e.g., 1070)")
|
|
5060
|
-
}),
|
|
5058
|
+
}), hl = K([
|
|
5061
5059
|
"light",
|
|
5062
5060
|
"dark",
|
|
5063
5061
|
"auto"
|
|
5064
|
-
]),
|
|
5062
|
+
]), gl = K([
|
|
5065
5063
|
"compact",
|
|
5066
5064
|
"regular",
|
|
5067
5065
|
"spacious"
|
|
5068
|
-
]),
|
|
5066
|
+
]), _l = K(["AA", "AAA"]);
|
|
5069
5067
|
U({
|
|
5070
5068
|
name: X.describe("Unique theme identifier (snake_case)"),
|
|
5071
5069
|
label: I().describe("Human-readable theme name"),
|
|
5072
5070
|
description: I().optional().describe("Theme description"),
|
|
5073
|
-
mode:
|
|
5074
|
-
colors:
|
|
5075
|
-
typography:
|
|
5076
|
-
spacing:
|
|
5077
|
-
borderRadius:
|
|
5078
|
-
shadows:
|
|
5079
|
-
breakpoints:
|
|
5080
|
-
animation:
|
|
5081
|
-
zIndex:
|
|
5071
|
+
mode: hl.default("light").describe("Theme mode (light, dark, or auto)"),
|
|
5072
|
+
colors: sl.describe("Color palette configuration"),
|
|
5073
|
+
typography: cl.optional().describe("Typography settings"),
|
|
5074
|
+
spacing: ll.optional().describe("Spacing scale"),
|
|
5075
|
+
borderRadius: ul.optional().describe("Border radius scale"),
|
|
5076
|
+
shadows: dl.optional().describe("Box shadow effects"),
|
|
5077
|
+
breakpoints: fl.optional().describe("Responsive breakpoints"),
|
|
5078
|
+
animation: pl.optional().describe("Animation settings"),
|
|
5079
|
+
zIndex: ml.optional().describe("Z-index scale for layering"),
|
|
5082
5080
|
customVars: G(I(), I()).optional().describe("Custom CSS variables (key-value pairs)"),
|
|
5083
5081
|
logo: U({
|
|
5084
5082
|
light: I().optional().describe("Logo URL for light mode"),
|
|
@@ -5086,53 +5084,53 @@ U({
|
|
|
5086
5084
|
favicon: I().optional().describe("Favicon URL")
|
|
5087
5085
|
}).optional().describe("Logo assets"),
|
|
5088
5086
|
extends: I().optional().describe("Base theme to extend from"),
|
|
5089
|
-
density:
|
|
5090
|
-
wcagContrast:
|
|
5087
|
+
density: gl.optional().describe("Display density: compact, regular, or spacious"),
|
|
5088
|
+
wcagContrast: _l.optional().describe("WCAG color contrast level (AA or AAA)"),
|
|
5091
5089
|
rtl: z().optional().describe("Enable right-to-left layout direction"),
|
|
5092
|
-
touchTarget:
|
|
5093
|
-
keyboardNavigation:
|
|
5090
|
+
touchTarget: $c.optional().describe("Touch target sizing defaults"),
|
|
5091
|
+
keyboardNavigation: ol.optional().describe("Keyboard focus management settings")
|
|
5094
5092
|
});
|
|
5095
|
-
var
|
|
5093
|
+
var vl = K([
|
|
5096
5094
|
"cache_first",
|
|
5097
5095
|
"network_first",
|
|
5098
5096
|
"stale_while_revalidate",
|
|
5099
5097
|
"network_only",
|
|
5100
5098
|
"cache_only"
|
|
5101
|
-
]).describe("Data fetching strategy for offline/online transitions"),
|
|
5099
|
+
]).describe("Data fetching strategy for offline/online transitions"), yl = K([
|
|
5102
5100
|
"client_wins",
|
|
5103
5101
|
"server_wins",
|
|
5104
5102
|
"manual",
|
|
5105
5103
|
"last_write_wins"
|
|
5106
|
-
]).describe("How to resolve conflicts when syncing offline changes"),
|
|
5107
|
-
strategy:
|
|
5108
|
-
conflictResolution:
|
|
5104
|
+
]).describe("How to resolve conflicts when syncing offline changes"), bl = U({
|
|
5105
|
+
strategy: vl.default("network_first").describe("Sync fetch strategy"),
|
|
5106
|
+
conflictResolution: yl.default("last_write_wins").describe("Conflict resolution policy"),
|
|
5109
5107
|
retryInterval: R().optional().describe("Retry interval in milliseconds between sync attempts"),
|
|
5110
5108
|
maxRetries: R().optional().describe("Maximum number of sync retry attempts"),
|
|
5111
5109
|
batchSize: R().optional().describe("Number of mutations to sync per batch")
|
|
5112
|
-
}).describe("Offline-to-online synchronization configuration"),
|
|
5110
|
+
}).describe("Offline-to-online synchronization configuration"), xl = K([
|
|
5113
5111
|
"indexeddb",
|
|
5114
5112
|
"localstorage",
|
|
5115
5113
|
"sqlite"
|
|
5116
|
-
]).describe("Client-side storage backend for offline cache"),
|
|
5114
|
+
]).describe("Client-side storage backend for offline cache"), Sl = K([
|
|
5117
5115
|
"lru",
|
|
5118
5116
|
"lfu",
|
|
5119
5117
|
"fifo"
|
|
5120
|
-
]).describe("Cache eviction policy"),
|
|
5118
|
+
]).describe("Cache eviction policy"), Cl = U({
|
|
5121
5119
|
maxSize: R().optional().describe("Maximum cache size in bytes"),
|
|
5122
5120
|
ttl: R().optional().describe("Time-to-live for cached entries in milliseconds"),
|
|
5123
|
-
persistStorage:
|
|
5124
|
-
evictionPolicy:
|
|
5121
|
+
persistStorage: xl.default("indexeddb").describe("Storage backend"),
|
|
5122
|
+
evictionPolicy: Sl.default("lru").describe("Cache eviction policy when full")
|
|
5125
5123
|
}).describe("Client-side offline cache configuration");
|
|
5126
5124
|
U({
|
|
5127
5125
|
enabled: z().default(!1).describe("Enable offline support"),
|
|
5128
|
-
strategy:
|
|
5129
|
-
cache:
|
|
5130
|
-
sync:
|
|
5126
|
+
strategy: vl.default("network_first").describe("Default offline fetch strategy"),
|
|
5127
|
+
cache: Cl.optional().describe("Cache settings for offline data"),
|
|
5128
|
+
sync: bl.optional().describe("Sync settings for offline mutations"),
|
|
5131
5129
|
offlineIndicator: z().default(!0).describe("Show a visual indicator when offline"),
|
|
5132
5130
|
offlineMessage: J.optional().describe("Customizable offline status message shown to users"),
|
|
5133
5131
|
queueMaxSize: R().optional().describe("Maximum number of queued offline mutations")
|
|
5134
5132
|
}).describe("Offline support configuration");
|
|
5135
|
-
var
|
|
5133
|
+
var wl = K([
|
|
5136
5134
|
"fade",
|
|
5137
5135
|
"slide_up",
|
|
5138
5136
|
"slide_down",
|
|
@@ -5142,21 +5140,21 @@ var Tl = K([
|
|
|
5142
5140
|
"rotate",
|
|
5143
5141
|
"flip",
|
|
5144
5142
|
"none"
|
|
5145
|
-
]).describe("Transition preset type"),
|
|
5143
|
+
]).describe("Transition preset type"), Tl = K([
|
|
5146
5144
|
"linear",
|
|
5147
5145
|
"ease",
|
|
5148
5146
|
"ease_in",
|
|
5149
5147
|
"ease_out",
|
|
5150
5148
|
"ease_in_out",
|
|
5151
5149
|
"spring"
|
|
5152
|
-
]).describe("Animation easing function"),
|
|
5153
|
-
preset:
|
|
5150
|
+
]).describe("Animation easing function"), El = U({
|
|
5151
|
+
preset: wl.optional().describe("Transition preset to apply"),
|
|
5154
5152
|
duration: R().optional().describe("Transition duration in milliseconds"),
|
|
5155
|
-
easing:
|
|
5153
|
+
easing: Tl.optional().describe("Easing function for the transition"),
|
|
5156
5154
|
delay: R().optional().describe("Delay before transition starts in milliseconds"),
|
|
5157
5155
|
customKeyframes: I().optional().describe("CSS @keyframes name for custom animations"),
|
|
5158
5156
|
themeToken: I().optional().describe("Reference to a theme animation token (e.g. \"animation.duration.fast\")")
|
|
5159
|
-
}).describe("Animation transition configuration"),
|
|
5157
|
+
}).describe("Animation transition configuration"), Dl = K([
|
|
5160
5158
|
"on_mount",
|
|
5161
5159
|
"on_unmount",
|
|
5162
5160
|
"on_hover",
|
|
@@ -5164,50 +5162,50 @@ var Tl = K([
|
|
|
5164
5162
|
"on_click",
|
|
5165
5163
|
"on_scroll",
|
|
5166
5164
|
"on_visible"
|
|
5167
|
-
]).describe("Event that triggers the animation"),
|
|
5165
|
+
]).describe("Event that triggers the animation"), Ol = U({
|
|
5168
5166
|
label: J.optional().describe("Descriptive label for this animation configuration"),
|
|
5169
|
-
enter:
|
|
5170
|
-
exit:
|
|
5171
|
-
hover:
|
|
5172
|
-
trigger:
|
|
5167
|
+
enter: El.optional().describe("Enter/mount animation"),
|
|
5168
|
+
exit: El.optional().describe("Exit/unmount animation"),
|
|
5169
|
+
hover: El.optional().describe("Hover state animation"),
|
|
5170
|
+
trigger: Dl.optional().describe("When to trigger the animation"),
|
|
5173
5171
|
reducedMotion: K([
|
|
5174
5172
|
"respect",
|
|
5175
5173
|
"disable",
|
|
5176
5174
|
"alternative"
|
|
5177
5175
|
]).default("respect").describe("Accessibility: how to handle prefers-reduced-motion")
|
|
5178
|
-
}).merge(Y.partial()).describe("Component-level animation configuration"),
|
|
5179
|
-
type:
|
|
5176
|
+
}).merge(Y.partial()).describe("Component-level animation configuration"), kl = U({
|
|
5177
|
+
type: wl.default("fade").describe("Page transition type"),
|
|
5180
5178
|
duration: R().default(300).describe("Transition duration in milliseconds"),
|
|
5181
|
-
easing:
|
|
5179
|
+
easing: Tl.default("ease_in_out").describe("Easing function for the transition"),
|
|
5182
5180
|
crossFade: z().default(!1).describe("Whether to cross-fade between pages")
|
|
5183
5181
|
}).describe("Page-level transition configuration");
|
|
5184
5182
|
U({
|
|
5185
5183
|
label: J.optional().describe("Descriptive label for the motion configuration"),
|
|
5186
|
-
defaultTransition:
|
|
5187
|
-
pageTransitions:
|
|
5188
|
-
componentAnimations: G(I(),
|
|
5184
|
+
defaultTransition: El.optional().describe("Default transition applied to all animations"),
|
|
5185
|
+
pageTransitions: kl.optional().describe("Page navigation transition settings"),
|
|
5186
|
+
componentAnimations: G(I(), Ol).optional().describe("Component name to animation configuration mapping"),
|
|
5189
5187
|
reducedMotion: z().default(!1).describe("When true, respect prefers-reduced-motion and suppress animations globally"),
|
|
5190
5188
|
enabled: z().default(!0).describe("Enable or disable all animations globally")
|
|
5191
5189
|
}).describe("Top-level motion and animation design configuration");
|
|
5192
|
-
var
|
|
5190
|
+
var Al = K([
|
|
5193
5191
|
"toast",
|
|
5194
5192
|
"snackbar",
|
|
5195
5193
|
"banner",
|
|
5196
5194
|
"alert",
|
|
5197
5195
|
"inline"
|
|
5198
|
-
]).describe("Notification presentation style"),
|
|
5196
|
+
]).describe("Notification presentation style"), jl = K([
|
|
5199
5197
|
"info",
|
|
5200
5198
|
"success",
|
|
5201
5199
|
"warning",
|
|
5202
5200
|
"error"
|
|
5203
|
-
]).describe("Notification severity level"),
|
|
5201
|
+
]).describe("Notification severity level"), Ml = K([
|
|
5204
5202
|
"top_left",
|
|
5205
5203
|
"top_center",
|
|
5206
5204
|
"top_right",
|
|
5207
5205
|
"bottom_left",
|
|
5208
5206
|
"bottom_center",
|
|
5209
5207
|
"bottom_right"
|
|
5210
|
-
]).describe("Screen position for notification placement"),
|
|
5208
|
+
]).describe("Screen position for notification placement"), Nl = U({
|
|
5211
5209
|
label: J.describe("Action button label"),
|
|
5212
5210
|
action: I().describe("Action identifier to execute"),
|
|
5213
5211
|
variant: K([
|
|
@@ -5217,32 +5215,32 @@ var jl = K([
|
|
|
5217
5215
|
]).default("primary").describe("Button variant style")
|
|
5218
5216
|
}).describe("Notification action button");
|
|
5219
5217
|
U({
|
|
5220
|
-
type:
|
|
5221
|
-
severity:
|
|
5218
|
+
type: Al.default("toast").describe("Notification presentation style"),
|
|
5219
|
+
severity: jl.default("info").describe("Notification severity level"),
|
|
5222
5220
|
title: J.optional().describe("Notification title"),
|
|
5223
5221
|
message: J.describe("Notification message body"),
|
|
5224
5222
|
icon: I().optional().describe("Icon name override"),
|
|
5225
5223
|
duration: R().optional().describe("Auto-dismiss duration in ms, omit for persistent"),
|
|
5226
5224
|
dismissible: z().default(!0).describe("Allow user to dismiss the notification"),
|
|
5227
|
-
actions: H(
|
|
5228
|
-
position:
|
|
5225
|
+
actions: H(Nl).optional().describe("Action buttons"),
|
|
5226
|
+
position: Ml.optional().describe("Override default position")
|
|
5229
5227
|
}).merge(Y.partial()).describe("Notification instance definition"), U({
|
|
5230
|
-
defaultPosition:
|
|
5228
|
+
defaultPosition: Ml.default("top_right").describe("Default screen position for notifications"),
|
|
5231
5229
|
defaultDuration: R().default(5e3).describe("Default auto-dismiss duration in ms"),
|
|
5232
5230
|
maxVisible: R().default(5).describe("Maximum number of notifications visible at once"),
|
|
5233
5231
|
stackDirection: K(["up", "down"]).default("down").describe("Stack direction for multiple notifications"),
|
|
5234
5232
|
pauseOnHover: z().default(!0).describe("Pause auto-dismiss timer on hover")
|
|
5235
5233
|
}).describe("Global notification system configuration");
|
|
5236
|
-
var
|
|
5234
|
+
var Pl = K([
|
|
5237
5235
|
"element",
|
|
5238
5236
|
"handle",
|
|
5239
5237
|
"grip_icon"
|
|
5240
|
-
]).describe("Drag initiation method"),
|
|
5238
|
+
]).describe("Drag initiation method"), Fl = K([
|
|
5241
5239
|
"move",
|
|
5242
5240
|
"copy",
|
|
5243
5241
|
"link",
|
|
5244
5242
|
"none"
|
|
5245
|
-
]).describe("Drop operation effect"),
|
|
5243
|
+
]).describe("Drop operation effect"), Il = U({
|
|
5246
5244
|
axis: K([
|
|
5247
5245
|
"x",
|
|
5248
5246
|
"y",
|
|
@@ -5254,17 +5252,17 @@ var Fl = K([
|
|
|
5254
5252
|
"none"
|
|
5255
5253
|
]).default("none").describe("Constrain within bounds"),
|
|
5256
5254
|
grid: vo([R(), R()]).optional().describe("Snap to grid [x, y] in pixels")
|
|
5257
|
-
}).describe("Drag movement constraints"),
|
|
5255
|
+
}).describe("Drag movement constraints"), Ll = U({
|
|
5258
5256
|
label: J.optional().describe("Accessible label for the drop zone"),
|
|
5259
5257
|
accept: H(I()).describe("Accepted drag item types"),
|
|
5260
5258
|
maxItems: R().optional().describe("Maximum items allowed in drop zone"),
|
|
5261
5259
|
highlightOnDragOver: z().default(!0).describe("Highlight drop zone when dragging over"),
|
|
5262
|
-
dropEffect:
|
|
5263
|
-
}).merge(Y.partial()).describe("Drop zone configuration"),
|
|
5260
|
+
dropEffect: Fl.default("move").describe("Visual effect on drop")
|
|
5261
|
+
}).merge(Y.partial()).describe("Drop zone configuration"), Rl = U({
|
|
5264
5262
|
type: I().describe("Drag item type identifier for matching with drop zones"),
|
|
5265
5263
|
label: J.optional().describe("Accessible label describing the draggable item"),
|
|
5266
|
-
handle:
|
|
5267
|
-
constraint:
|
|
5264
|
+
handle: Pl.default("element").describe("How to initiate drag"),
|
|
5265
|
+
constraint: Il.optional().describe("Drag movement constraints"),
|
|
5268
5266
|
preview: K([
|
|
5269
5267
|
"element",
|
|
5270
5268
|
"custom",
|
|
@@ -5274,15 +5272,15 @@ var Fl = K([
|
|
|
5274
5272
|
}).merge(Y.partial()).describe("Draggable item configuration");
|
|
5275
5273
|
U({
|
|
5276
5274
|
enabled: z().default(!1).describe("Enable drag and drop"),
|
|
5277
|
-
dragItem:
|
|
5278
|
-
dropZone:
|
|
5275
|
+
dragItem: Rl.optional().describe("Configuration for draggable item"),
|
|
5276
|
+
dropZone: Ll.optional().describe("Configuration for drop target"),
|
|
5279
5277
|
sortable: z().default(!1).describe("Enable sortable list behavior"),
|
|
5280
5278
|
autoScroll: z().default(!0).describe("Auto-scroll during drag near edges"),
|
|
5281
5279
|
touchDelay: R().default(200).describe("Delay in ms before drag starts on touch devices")
|
|
5282
5280
|
}).describe("Drag and drop interaction configuration");
|
|
5283
5281
|
//#endregion
|
|
5284
|
-
//#region ../../node_modules/.pnpm/react@19.2.
|
|
5285
|
-
var
|
|
5282
|
+
//#region ../../node_modules/.pnpm/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js
|
|
5283
|
+
var zl = /* @__PURE__ */ g(((e) => {
|
|
5286
5284
|
var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
|
|
5287
5285
|
function r(e, n, r) {
|
|
5288
5286
|
var i = null;
|
|
@@ -5297,7 +5295,7 @@ var Bl = /* @__PURE__ */ g(((e) => {
|
|
|
5297
5295
|
};
|
|
5298
5296
|
}
|
|
5299
5297
|
e.Fragment = n, e.jsx = r, e.jsxs = r;
|
|
5300
|
-
})),
|
|
5298
|
+
})), Bl = /* @__PURE__ */ g(((e) => {
|
|
5301
5299
|
process.env.NODE_ENV !== "production" && (function() {
|
|
5302
5300
|
function t(e) {
|
|
5303
5301
|
if (e == null) return null;
|
|
@@ -5456,21 +5454,21 @@ var Bl = /* @__PURE__ */ g(((e) => {
|
|
|
5456
5454
|
};
|
|
5457
5455
|
})();
|
|
5458
5456
|
})), $ = (/* @__PURE__ */ g(((e, t) => {
|
|
5459
|
-
process.env.NODE_ENV === "production" ? t.exports =
|
|
5457
|
+
process.env.NODE_ENV === "production" ? t.exports = zl() : t.exports = Bl();
|
|
5460
5458
|
})))();
|
|
5461
|
-
function
|
|
5459
|
+
function Vl() {
|
|
5462
5460
|
let e = typeof window < "u" ? window.innerWidth : 1024;
|
|
5463
5461
|
return e < 640 ? 35 : e < 1024 ? 50 : 60;
|
|
5464
5462
|
}
|
|
5465
|
-
function
|
|
5463
|
+
function Hl() {
|
|
5466
5464
|
let e = typeof window < "u" ? window.innerWidth : 1024;
|
|
5467
5465
|
return e < 640 ? 120 : e < 1024 ? 200 : 300;
|
|
5468
5466
|
}
|
|
5469
|
-
function
|
|
5470
|
-
let [oe, _] = e.useState(/* @__PURE__ */ new Date()), [v, se] = e.useState(typeof window < "u" && window.innerWidth < 640 ? 32 : 40), [y, b] = e.useState(
|
|
5467
|
+
function Ul({ tasks: t, viewMode: n = "month", startDate: r, endDate: i, onTaskClick: a, onTaskUpdate: o, onViewChange: s, onAddClick: c, className: u, inlineEdit: g = !1 }) {
|
|
5468
|
+
let [oe, _] = e.useState(/* @__PURE__ */ new Date()), [v, se] = e.useState(typeof window < "u" && window.innerWidth < 640 ? 32 : 40), [y, b] = e.useState(Vl()), [ce, x] = e.useState(null), [S, le] = e.useState({});
|
|
5471
5469
|
e.useEffect(() => {
|
|
5472
5470
|
let e = () => {
|
|
5473
|
-
se(window.innerWidth < 640 ? 32 : 40), b(
|
|
5471
|
+
se(window.innerWidth < 640 ? 32 : 40), b(Vl());
|
|
5474
5472
|
};
|
|
5475
5473
|
return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
5476
5474
|
}, []);
|
|
@@ -5492,7 +5490,7 @@ function Wl({ tasks: t, viewMode: n = "month", startDate: r, endDate: i, onTaskC
|
|
|
5492
5490
|
isWeekend: t.getDay() === 0 || t.getDay() === 6
|
|
5493
5491
|
}), t.setDate(t.getDate() + 1);
|
|
5494
5492
|
return e;
|
|
5495
|
-
}, [C]), de =
|
|
5493
|
+
}, [C]), de = Hl(), w = e.useRef(null), T = e.useRef(null), E = e.useRef(null), fe = (e) => {
|
|
5496
5494
|
w.current && (w.current.scrollLeft = e.currentTarget.scrollLeft), T.current && (T.current.scrollTop = e.currentTarget.scrollTop);
|
|
5497
5495
|
}, pe = (e) => {
|
|
5498
5496
|
C.end.getTime() - C.start.getTime();
|
|
@@ -5799,7 +5797,7 @@ function Wl({ tasks: t, viewMode: n = "month", startDate: r, endDate: i, onTaskC
|
|
|
5799
5797
|
}
|
|
5800
5798
|
//#endregion
|
|
5801
5799
|
//#region src/ObjectGantt.tsx
|
|
5802
|
-
function
|
|
5800
|
+
function Wl(e) {
|
|
5803
5801
|
return e.data ? e.data : e.staticData ? {
|
|
5804
5802
|
provider: "value",
|
|
5805
5803
|
items: e.staticData
|
|
@@ -5808,7 +5806,7 @@ function Gl(e) {
|
|
|
5808
5806
|
object: e.objectName
|
|
5809
5807
|
} : null;
|
|
5810
5808
|
}
|
|
5811
|
-
function
|
|
5809
|
+
function Gl(e) {
|
|
5812
5810
|
if (e) {
|
|
5813
5811
|
if (typeof e == "string") {
|
|
5814
5812
|
let t = e.split(" "), n = t[0], r = t[1]?.toLowerCase() === "desc" ? "desc" : "asc";
|
|
@@ -5817,7 +5815,7 @@ function Kl(e) {
|
|
|
5817
5815
|
if (Array.isArray(e)) return e.reduce((e, t) => (t.field && t.order && (e[t.field] = t.order), e), {});
|
|
5818
5816
|
}
|
|
5819
5817
|
}
|
|
5820
|
-
function
|
|
5818
|
+
function Kl(e) {
|
|
5821
5819
|
let t = null;
|
|
5822
5820
|
if (e.startDateField && e.endDateField) return t = {
|
|
5823
5821
|
startDateField: e.startDateField,
|
|
@@ -5828,13 +5826,13 @@ function ql(e) {
|
|
|
5828
5826
|
colorField: e.colorField
|
|
5829
5827
|
}, t;
|
|
5830
5828
|
if (e.gantt && (t = e.gantt), t) {
|
|
5831
|
-
let e =
|
|
5829
|
+
let e = Ks.safeParse(t);
|
|
5832
5830
|
return e.success || console.warn("[ObjectGantt] Invalid gantt configuration:", e.error.format()), t;
|
|
5833
5831
|
}
|
|
5834
5832
|
return null;
|
|
5835
5833
|
}
|
|
5836
|
-
var
|
|
5837
|
-
let [p, m] = r([]), [ee, h] = r(!0), [te, ne] = r(null), [re, ie] = r(null), ae =
|
|
5834
|
+
var ql = ({ schema: e, dataSource: i, className: c, onTaskClick: l, onRowClick: d, ...f }) => {
|
|
5835
|
+
let [p, m] = r([]), [ee, h] = r(!0), [te, ne] = r(null), [re, ie] = r(null), ae = Wl(e), g = n(() => ae, [JSON.stringify(ae)]), oe = Kl(e), _ = g?.provider === "value";
|
|
5838
5836
|
t(() => {
|
|
5839
5837
|
(async () => {
|
|
5840
5838
|
try {
|
|
@@ -5851,7 +5849,7 @@ var Jl = ({ schema: e, dataSource: i, className: c, onTaskClick: l, onRowClick:
|
|
|
5851
5849
|
let t = g.object, n = a(re?.fields);
|
|
5852
5850
|
m(o(await i.find(t, {
|
|
5853
5851
|
$filter: e.filter,
|
|
5854
|
-
$orderby:
|
|
5852
|
+
$orderby: Gl(e.sort),
|
|
5855
5853
|
...n.length > 0 ? { $expand: n } : {}
|
|
5856
5854
|
})));
|
|
5857
5855
|
} else g?.provider === "api" && (console.warn("API provider not yet implemented for ObjectGantt"), m([]));
|
|
@@ -5927,7 +5925,7 @@ var Jl = ({ schema: e, dataSource: i, className: c, onTaskClick: l, onRowClick:
|
|
|
5927
5925
|
className: c,
|
|
5928
5926
|
children: [/* @__PURE__ */ (0, $.jsx)("div", {
|
|
5929
5927
|
className: "h-[calc(100vh-200px)] min-h-[600px]",
|
|
5930
|
-
children: /* @__PURE__ */ (0, $.jsx)(
|
|
5928
|
+
children: /* @__PURE__ */ (0, $.jsx)(Ul, {
|
|
5931
5929
|
tasks: v,
|
|
5932
5930
|
onTaskClick: (e) => {
|
|
5933
5931
|
se.handleClick(e.data), l?.(e.data);
|
|
@@ -5961,14 +5959,14 @@ var Jl = ({ schema: e, dataSource: i, className: c, onTaskClick: l, onRowClick:
|
|
|
5961
5959
|
})
|
|
5962
5960
|
})
|
|
5963
5961
|
});
|
|
5964
|
-
},
|
|
5962
|
+
}, Jl = ({ schema: e }) => {
|
|
5965
5963
|
let { dataSource: t } = c() || {};
|
|
5966
|
-
return /* @__PURE__ */ (0, $.jsx)(
|
|
5964
|
+
return /* @__PURE__ */ (0, $.jsx)(ql, {
|
|
5967
5965
|
schema: e,
|
|
5968
5966
|
dataSource: t
|
|
5969
5967
|
});
|
|
5970
5968
|
};
|
|
5971
|
-
i.register("object-gantt",
|
|
5969
|
+
i.register("object-gantt", Jl, {
|
|
5972
5970
|
namespace: "plugin-gantt",
|
|
5973
5971
|
label: "Object Gantt",
|
|
5974
5972
|
category: "view",
|
|
@@ -5983,7 +5981,7 @@ i.register("object-gantt", Yl, {
|
|
|
5983
5981
|
label: "Gantt Config",
|
|
5984
5982
|
description: "startDateField, endDateField, titleField, progressField, percentageField, colorField, dependenciesField"
|
|
5985
5983
|
}]
|
|
5986
|
-
}), i.register("gantt",
|
|
5984
|
+
}), i.register("gantt", Jl, {
|
|
5987
5985
|
namespace: "view",
|
|
5988
5986
|
label: "Gantt View",
|
|
5989
5987
|
category: "view",
|
|
@@ -6000,4 +5998,4 @@ i.register("object-gantt", Yl, {
|
|
|
6000
5998
|
}]
|
|
6001
5999
|
});
|
|
6002
6000
|
//#endregion
|
|
6003
|
-
export {
|
|
6001
|
+
export { Ul as GanttView, ql as ObjectGantt, Jl as ObjectGanttRenderer };
|