@object-ui/plugin-gantt 3.1.5 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { useNavigationOverlay as s, useSchemaContext as c } from "@object-ui/rea
5
5
  import { Button as l, NavigationOverlay as u, Select as d, SelectContent as f, SelectItem as p, SelectTrigger as m, SelectValue as ee, cn as h } from "@object-ui/components";
6
6
  import { ChevronLeft as te, ChevronRight as ne, Plus as re, ZoomIn as ie, ZoomOut as ae } from "lucide-react";
7
7
  //#region \0rolldown/runtime.js
8
- var g = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), oe = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
8
+ var g = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), oe = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
9
9
  if (typeof require < "u") return require.apply(this, arguments);
10
10
  throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
11
11
  });
@@ -73,7 +73,7 @@ function le(e) {
73
73
  return e == null;
74
74
  }
75
75
  function C(e) {
76
- let t = e.startsWith("^") ? 1 : 0, n = e.endsWith("$") ? e.length - 1 : e.length;
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
- }), J = W([I(), Zo]).describe("Display label: plain string or i18n translation object"), Y = U({
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 Qo = U({
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"), $o = U({
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: Qo.optional().describe("Default number formatting rules"),
3204
- dateFormat: $o.optional().describe("Default date/time formatting rules")
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 es = 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(".")), ts = U({
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
- }), ns = U({
3219
+ }), ts = U({
3222
3220
  name: I().describe("Field name or series identifier"),
3223
3221
  label: J.optional().describe("Series display label"),
3224
- type: es.optional().describe("Override chart type for this series"),
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
- }), rs = U({
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
- }), is = U({
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
- }), as = U({
3246
- type: es,
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: ts.optional().describe("X-Axis configuration"),
3251
- yAxis: H(ts).optional().describe("Y-Axis configuration (support dual axis)"),
3252
- series: H(ns).optional().describe("Defined series configuration"),
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(rs).optional(),
3258
- interaction: is.optional(),
3255
+ annotations: H(ns).optional(),
3256
+ interaction: rs.optional(),
3259
3257
  aria: Y.optional().describe("ARIA accessibility attributes")
3260
- }), os = K([
3258
+ }), as = K([
3261
3259
  "xs",
3262
3260
  "sm",
3263
3261
  "md",
3264
3262
  "lg",
3265
3263
  "xl",
3266
3264
  "2xl"
3267
- ]), ss = U({
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)"), cs = U({
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"), ls = U({
3282
- breakpoint: os.optional().describe("Minimum breakpoint for visibility"),
3283
- hiddenOn: H(os).optional().describe("Hide on these breakpoints"),
3284
- columns: ss.optional().describe("Grid columns per breakpoint"),
3285
- order: cs.optional().describe("Display order per breakpoint")
3286
- }).describe("Responsive layout configuration"), us = U({
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"), ds = 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)");
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 fs = U({
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
- }), ps = U({
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
- }), ms = U({
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
- }), hs = ms.extend({
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
- }), gs = ms.extend({
3329
+ }), hs = ps.extend({
3332
3330
  type: q("dashboard"),
3333
3331
  dashboardName: I().describe("Target dashboard name")
3334
- }), _s = ms.extend({
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
- }), vs = ms.extend({
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
- }), ys = ms.extend({
3340
+ }), vs = ps.extend({
3343
3341
  type: q("report"),
3344
3342
  reportName: I().describe("Target report name")
3345
- }), bs = ms.extend({
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
- }), xs = ms.extend({
3349
+ }), bs = ps.extend({
3352
3350
  type: q("group"),
3353
3351
  expanded: z().default(!1).describe("Default expansion state in sidebar")
3354
- }), Ss = Uo(() => W([
3355
- hs.extend({ children: H(Ss).optional().describe("Child navigation items (e.g. specific views)") }),
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
- xs.extend({ children: H(Ss).describe("Child navigation items") })
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
- }), ws = U({
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(Ss).describe("Navigation items within this area")
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: Cs.optional().describe("App-specific 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(Ss).optional().describe("Full navigation tree for the app sidebar"),
3386
- areas: H(ws).optional().describe("Navigation areas for partitioning navigation by business domain"),
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: fs.optional().describe("Public sharing configuration"),
3392
- embed: ps.optional().describe("Iframe embedding configuration"),
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 Ts = K([
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
- ]), Es = K([
3409
+ ]), Ts = K([
3412
3410
  "GET",
3413
3411
  "POST",
3414
3412
  "PUT",
3415
3413
  "PATCH",
3416
3414
  "DELETE"
3417
- ]), Ds = U({
3415
+ ]), Es = U({
3418
3416
  url: I().describe("API endpoint URL"),
3419
- method: Es.optional().default("GET").describe("HTTP 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(Ts).optional().describe("Allowed HTTP methods"),
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 Os = mo("provider", [
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: Ds.optional().describe("Configuration for fetching data"),
3447
- write: Ds.optional().describe("Configuration for submitting data (for forms/editable tables)")
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
- ]), ks = U({
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"), As = K([
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"), js = U({
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: As.optional().describe("Footer aggregation function for this column"),
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
- }), Ms = U({ type: K([
3491
+ }), js = U({ type: K([
3494
3492
  "none",
3495
3493
  "single",
3496
3494
  "multiple"
3497
- ]).default("none").describe("Selection mode") }), Ns = U({
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
- }), Ps = K([
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"), Fs = U({ fields: H(U({
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"), Is = U({
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"), Ls = U({
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"), Rs = U({
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"), zs = U({
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"), Bs = K([
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"), Vs = U({
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"), Hs = U({
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(Bs).optional().describe("Whitelist of visualization types users can switch between (e.g. [\"grid\", \"gallery\", \"kanban\"])")
3558
- }).describe("Appearance and visualization configuration"), Us = U({
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(ks).optional().describe("Tab-specific filter criteria"),
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"), Ws = U({
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"), Gs = U({
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
- }), Ks = U({
3583
+ }), Gs = U({
3586
3584
  startDateField: I(),
3587
3585
  endDateField: I().optional(),
3588
3586
  titleField: I(),
3589
3587
  colorField: I().optional()
3590
- }), qs = U({
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
- }), Js = U({
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
- }), Ys = U({
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: Os.optional().describe("Data source configuration (defaults to \"object\" provider)"),
3623
- columns: W([H(I()), H(js)]).describe("Fields to display as columns"),
3624
- filter: H(ks).optional().describe("Filter criteria (JSON Rules)"),
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: Ms.optional().describe("Row selection configuration"),
3654
- navigation: Js.optional().describe("Configuration for item click navigation (page, drawer, modal, etc.)"),
3655
- pagination: Ns.optional().describe("Pagination configuration"),
3656
- kanban: Gs.optional(),
3657
- calendar: Ks.optional(),
3658
- gantt: qs.optional(),
3659
- gallery: Is.optional(),
3660
- timeline: Ls.optional(),
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: Rs.optional().describe("View sharing and access configuration"),
3663
- rowHeight: Ps.optional().describe("Row height / density setting"),
3664
- grouping: Fs.optional().describe("Group records by one or more fields"),
3665
- rowColor: zs.optional().describe("Color rows based on field value"),
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: Vs.optional().describe("User action toggles for the view toolbar"),
3683
- appearance: Hs.optional().describe("Appearance and visualization configuration"),
3684
- tabs: H(Us).optional().describe("Tab definitions for multi-tab view interface"),
3685
- addRecord: Ws.optional().describe("Add record entry point configuration"),
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: ls.optional().describe("Responsive layout configuration"),
3695
- performance: us.optional().describe("Performance optimization settings")
3696
- }), Xs = U({
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
- }), Zs = U({
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(), Xs]))
3719
- }), Qs = U({
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: Os.optional().describe("Data source configuration (defaults to \"object\" provider)"),
3729
- sections: H(Zs).optional(),
3730
- groups: H(Zs).optional(),
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: fs.optional().describe("Public sharing configuration for this form"),
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: Ys.optional(),
3740
- form: Qs.optional(),
3741
- listViews: G(I(), Ys).optional().describe("Additional named list views"),
3742
- formViews: G(I(), Qs).optional().describe("Additional named form views")
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 $s = U({
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 ec = Uo(() => U({
3836
- $and: H(W([G(I(), $s), ec])).optional(),
3837
- $or: H(W([G(I(), $s), ec])).optional(),
3838
- $not: W([G(I(), $s), ec]).optional()
3839
- })), tc = K([
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"), nc = K([
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"), rc = U({
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: nc.optional().describe("Type of action"),
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"), ic = U({
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(rc).optional().describe("Header action buttons")
3863
- }).describe("Dashboard header configuration"), ac = U({
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"), oc = U({
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: es.default("metric").describe("Visualization type"),
3879
- chartConfig: as.optional().describe("Chart visualization configuration"),
3880
- colorVariant: tc.optional().describe("Widget color variant for theming"),
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: nc.optional().describe("Type of action for the widget action button"),
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(ac).optional().describe("Multiple measures for pivot/matrix analysis"),
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: ls.optional().describe("Responsive layout configuration"),
3901
+ responsive: cs.optional().describe("Responsive layout configuration"),
3904
3902
  aria: Y.optional().describe("ARIA accessibility attributes")
3905
- }), sc = U({
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"), cc = U({
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: sc.optional().describe("Dynamic filter options from object"),
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: ic.optional().describe("Dashboard header configuration"),
3942
- widgets: H(oc).describe("Widgets to display"),
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(cc).optional().describe("Global filters that apply to all widgets in the dashboard"),
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: us.optional().describe("Performance optimization settings")
3964
+ performance: ls.optional().describe("Performance optimization settings")
3967
3965
  });
3968
- var lc = K([
3966
+ var cc = K([
3969
3967
  "tabular",
3970
3968
  "summary",
3971
3969
  "matrix",
3972
3970
  "joined"
3973
- ]), uc = U({
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: ls.optional().describe("Responsive visibility for this column")
3985
- }), dc = U({
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
- }), fc = as.extend({
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: lc.default("tabular").describe("Report format type"),
4006
- columns: H(uc).describe("Columns to display"),
4007
- groupingsDown: H(dc).optional().describe("Row groupings"),
4008
- groupingsAcross: H(dc).optional().describe("Column groupings (Matrix only)"),
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: fc.optional().describe("Embedded chart configuration"),
4008
+ chart: dc.optional().describe("Embedded chart configuration"),
4011
4009
  aria: Y.optional().describe("ARIA accessibility attributes"),
4012
- performance: us.optional().describe("Performance optimization settings")
4010
+ performance: ls.optional().describe("Performance optimization settings")
4013
4011
  });
4014
- var pc = K([
4012
+ var fc = K([
4015
4013
  "aes-256-gcm",
4016
4014
  "aes-256-cbc",
4017
4015
  "chacha20-poly1305"
4018
- ]).describe("Supported encryption algorithm"), mc = K([
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"), hc = U({
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"), gc = U({
4027
+ }).describe("Policy for automatic encryption key rotation"), hc = U({
4030
4028
  enabled: z().default(!1).describe("Enable field-level encryption"),
4031
- algorithm: pc.default("aes-256-gcm").describe("Encryption algorithm"),
4029
+ algorithm: fc.default("aes-256-gcm").describe("Encryption algorithm"),
4032
4030
  keyManagement: U({
4033
- provider: mc.describe("Key management service provider"),
4031
+ provider: pc.describe("Key management service provider"),
4034
4032
  keyId: I().optional().describe("Key identifier in the provider"),
4035
- rotationPolicy: hc.optional().describe("Key rotation policy")
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: gc.describe("Encryption settings for this field"),
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 _c = K([
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"), vc = U({
4057
+ ]).describe("Data masking strategy for PII protection"), _c = U({
4060
4058
  field: I().describe("Field name to apply masking to"),
4061
- strategy: _c.describe("Masking strategy to use"),
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(vc).describe("List of field-level masking rules"),
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 yc = 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(".")), bc = U({
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: ds.describe("Stored value (lowercase machine identifier)"),
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 xc = U({
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 Sc = U({
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
- }), Cc = U({
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" }), wc = U({
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
- }), Tc = U({
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
- }), Ec = U({
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: yc.describe("Field Data 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(bc).optional().describe("Static options for select/multiselect"),
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: xc.optional().describe("Configuration for currency field type"),
4253
- vectorConfig: Sc.optional().describe("Configuration for vector field type (AI/ML embeddings)"),
4254
- fileAttachmentConfig: Cc.optional().describe("Configuration for file and attachment field types"),
4255
- encryptionConfig: gc.optional().describe("Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)"),
4256
- maskingRule: vc.optional().describe("Data masking rules for PII protection"),
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: Tc.optional().describe("Caching configuration for computed/formula fields"),
4260
- dataQuality: wc.optional().describe("Data quality validation and monitoring rules"),
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
- }), Dc = U({
4270
+ }), Ec = U({
4273
4271
  name: I(),
4274
4272
  label: J,
4275
- type: yc,
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
- }), Oc = K([
4279
+ }), Dc = K([
4282
4280
  "script",
4283
4281
  "url",
4284
4282
  "modal",
4285
4283
  "flow",
4286
4284
  "api"
4287
- ]), kc = new Set(Oc.options.filter((e) => e !== "script"));
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: Oc.default("script").describe("Action functionality 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(Dc).optional().describe("Input parameters required from user"),
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) => !(kc.has(e.type) && !e.target), {
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 Ac = K(["asc", "desc"]).describe("Sort order direction"), jc = U({
4343
+ var kc = K(["asc", "desc"]).describe("Sort order direction"), Ac = U({
4346
4344
  field: I().describe("Field name to sort by"),
4347
- order: Ac.describe("Sort direction")
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 Mc = U({
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(() => Fc)).describe("Components in this region")
4375
- }), Nc = 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(".")), Pc = U({
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(jc).optional().describe("Sort order"),
4377
+ sort: H(Ac).optional().describe("Sort order"),
4380
4378
  limit: R().int().positive().optional().describe("Max records to display")
4381
- }), Fc = U({
4382
- type: W([Nc, I()]).describe("Component Type (Standard enum or custom string)"),
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: Pc.optional().describe("Per-element data binding for multi-object pages"),
4391
- responsive: ls.optional().describe("Responsive layout configuration"),
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
- }), Ic = U({
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
- }), Lc = U({
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
- }), Rc = U({
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(Lc).describe("Positioned components on the canvas")
4416
- }), zc = K([
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"), Bc = U({
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(jc).optional().describe("Sort order for review queue"),
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
- }), Vc = U({
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(ks).optional().describe("Page-level filter criteria"),
4464
- appearance: Hs.optional().describe("Appearance and visualization configuration"),
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(Us).optional().describe("User-configurable tabs")
4469
+ tabs: H(Hs).optional().describe("User-configurable tabs")
4472
4470
  }).optional().describe("User filter configuration"),
4473
- userActions: Vs.optional().describe("User action toggles"),
4474
- addRecord: Ws.optional().describe("Add record entry point configuration"),
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: zc.default("record").describe("Page type"),
4484
- variables: H(Ic).optional().describe("Local page state variables"),
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: Bc.optional().describe("Record review configuration (required when type is \"record_review\")"),
4487
- blankLayout: Rc.optional().describe("Free-form grid layout for blank pages (used when type is \"blank\")"),
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(Mc).describe("Defined regions with components"),
4487
+ regions: H(jc).describe("Defined regions with components"),
4490
4488
  isDefault: z().default(!1),
4491
4489
  assignedProfiles: H(I()).optional(),
4492
- interfaceConfig: Vc.optional().describe("Interface-level page configuration (for Airtable-style interface pages)"),
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 Hc = U({
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
- }), Uc = U({
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
- }), Wc = U({
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
- }), Gc = mo("type", [
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: Hc.optional().describe("Lifecycle hooks"),
4571
- events: H(Uc).optional().describe("Custom events"),
4572
- properties: H(Wc).optional().describe("Configuration properties"),
4573
- implementation: Gc.optional().describe("Widget implementation source"),
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: us.optional().describe("Performance optimization settings")
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: Ec.describe("Field schema definition"),
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 Kc = K([
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
- ]), qc = U({
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
- }), Jc = U({
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
- }), Yc = U({
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
- }), Xc = U({
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
- }), Zc = K([
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: Kc.describe("Activity 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: Xc.describe("Who performed this action"),
4649
+ actor: Yc.describe("Who performed this action"),
4652
4650
  body: I().optional().describe("Rich text body (Markdown supported)"),
4653
- mentions: H(qc).optional().describe("Mentioned users/teams/records"),
4654
- changes: H(Jc).optional().describe("Field-level changes"),
4655
- reactions: H(Yc).optional().describe("Emoji reactions on this item"),
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: Zc.default("public").describe("Visibility: public (all users), internal (team only), private (author + mentioned)"),
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 Qc = K([
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(ks).optional().describe("Additional filter criteria for related records"),
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 $c = U({
4733
- types: H(Kc).optional().describe("Feed item types to show (default: all)"),
4734
- filterMode: Qc.default("all").describe("Default activity filter"),
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: $c.optional().describe("Embedded activity feed configuration"),
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 el = U({
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)"), tl = K([
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"), nl = U({
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"), rl = U({
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"), il = U({
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: tl.describe("Gesture type to configure"),
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: nl.optional().describe("Swipe gesture settings (when type is swipe)"),
4911
- pinch: rl.optional().describe("Pinch gesture settings (when type is pinch)"),
4912
- longPress: il.optional().describe("Long press settings (when type is long_press)")
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: el.optional().describe("Touch target sizing and hit area"),
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 al = U({
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"), ol = U({
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"), sl = U({
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: al.optional().describe("Focus trap settings"),
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(ol).optional().describe("Registered keyboard shortcuts"),
4942
- focusManagement: sl.optional().describe("Focus and tab order management"),
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 cl = U({
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
- }), ll = U({
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
- }), ul = U({
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
- }), dl = U({
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
- }), fl = U({
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
- }), pl = U({
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
- }), ml = U({
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
- }), hl = U({
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
- }), gl = K([
5058
+ }), hl = K([
5061
5059
  "light",
5062
5060
  "dark",
5063
5061
  "auto"
5064
- ]), _l = K([
5062
+ ]), gl = K([
5065
5063
  "compact",
5066
5064
  "regular",
5067
5065
  "spacious"
5068
- ]), vl = K(["AA", "AAA"]);
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: gl.default("light").describe("Theme mode (light, dark, or auto)"),
5074
- colors: cl.describe("Color palette configuration"),
5075
- typography: ll.optional().describe("Typography settings"),
5076
- spacing: ul.optional().describe("Spacing scale"),
5077
- borderRadius: dl.optional().describe("Border radius scale"),
5078
- shadows: fl.optional().describe("Box shadow effects"),
5079
- breakpoints: pl.optional().describe("Responsive breakpoints"),
5080
- animation: ml.optional().describe("Animation settings"),
5081
- zIndex: hl.optional().describe("Z-index scale for layering"),
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: _l.optional().describe("Display density: compact, regular, or spacious"),
5090
- wcagContrast: vl.optional().describe("WCAG color contrast level (AA or AAA)"),
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: el.optional().describe("Touch target sizing defaults"),
5093
- keyboardNavigation: sl.optional().describe("Keyboard focus management settings")
5090
+ touchTarget: $c.optional().describe("Touch target sizing defaults"),
5091
+ keyboardNavigation: ol.optional().describe("Keyboard focus management settings")
5094
5092
  });
5095
- var yl = K([
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"), bl = K([
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"), xl = U({
5107
- strategy: yl.default("network_first").describe("Sync fetch strategy"),
5108
- conflictResolution: bl.default("last_write_wins").describe("Conflict resolution policy"),
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"), Sl = K([
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"), Cl = K([
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"), wl = U({
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: Sl.default("indexeddb").describe("Storage backend"),
5124
- evictionPolicy: Cl.default("lru").describe("Cache eviction policy when full")
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: yl.default("network_first").describe("Default offline fetch strategy"),
5129
- cache: wl.optional().describe("Cache settings for offline data"),
5130
- sync: xl.optional().describe("Sync settings for offline mutations"),
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 Tl = K([
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"), El = K([
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"), Dl = U({
5153
- preset: Tl.optional().describe("Transition preset to apply"),
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: El.optional().describe("Easing function for the transition"),
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"), Ol = K([
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"), kl = U({
5165
+ ]).describe("Event that triggers the animation"), Ol = U({
5168
5166
  label: J.optional().describe("Descriptive label for this animation configuration"),
5169
- enter: Dl.optional().describe("Enter/mount animation"),
5170
- exit: Dl.optional().describe("Exit/unmount animation"),
5171
- hover: Dl.optional().describe("Hover state animation"),
5172
- trigger: Ol.optional().describe("When to trigger the animation"),
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"), Al = U({
5179
- type: Tl.default("fade").describe("Page transition 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: El.default("ease_in_out").describe("Easing function for the transition"),
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: Dl.optional().describe("Default transition applied to all animations"),
5187
- pageTransitions: Al.optional().describe("Page navigation transition settings"),
5188
- componentAnimations: G(I(), kl).optional().describe("Component name to animation configuration mapping"),
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 jl = K([
5190
+ var Al = K([
5193
5191
  "toast",
5194
5192
  "snackbar",
5195
5193
  "banner",
5196
5194
  "alert",
5197
5195
  "inline"
5198
- ]).describe("Notification presentation style"), Ml = K([
5196
+ ]).describe("Notification presentation style"), jl = K([
5199
5197
  "info",
5200
5198
  "success",
5201
5199
  "warning",
5202
5200
  "error"
5203
- ]).describe("Notification severity level"), Nl = K([
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"), Pl = U({
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: jl.default("toast").describe("Notification presentation style"),
5221
- severity: Ml.default("info").describe("Notification severity level"),
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(Pl).optional().describe("Action buttons"),
5228
- position: Nl.optional().describe("Override default 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: Nl.default("top_right").describe("Default screen position for notifications"),
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 Fl = K([
5234
+ var Pl = K([
5237
5235
  "element",
5238
5236
  "handle",
5239
5237
  "grip_icon"
5240
- ]).describe("Drag initiation method"), Il = K([
5238
+ ]).describe("Drag initiation method"), Fl = K([
5241
5239
  "move",
5242
5240
  "copy",
5243
5241
  "link",
5244
5242
  "none"
5245
- ]).describe("Drop operation effect"), Ll = U({
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"), Rl = U({
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: Il.default("move").describe("Visual effect on drop")
5263
- }).merge(Y.partial()).describe("Drop zone configuration"), zl = U({
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: Fl.default("element").describe("How to initiate drag"),
5267
- constraint: Ll.optional().describe("Drag movement constraints"),
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: zl.optional().describe("Configuration for draggable item"),
5278
- dropZone: Rl.optional().describe("Configuration for drop target"),
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.4/node_modules/react/cjs/react-jsx-runtime.production.js
5285
- var Bl = /* @__PURE__ */ g(((e) => {
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
- })), Vl = /* @__PURE__ */ g(((e) => {
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 = Bl() : t.exports = Vl();
5457
+ process.env.NODE_ENV === "production" ? t.exports = zl() : t.exports = Bl();
5460
5458
  })))();
5461
- function Hl() {
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 Ul() {
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 Wl({ tasks: t, viewMode: n = "month", startDate: r, endDate: i, onTaskClick: a, onTaskUpdate: o, onViewChange: s, onAddClick: c, className: u, inlineEdit: g = !1 }) {
5470
- let [oe, _] = e.useState(/* @__PURE__ */ new Date()), [v, se] = e.useState(typeof window < "u" && window.innerWidth < 640 ? 32 : 40), [y, b] = e.useState(Hl()), [ce, x] = e.useState(null), [S, le] = 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(Hl());
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 = Ul(), w = e.useRef(null), T = e.useRef(null), E = e.useRef(null), fe = (e) => {
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 Gl(e) {
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 Kl(e) {
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 ql(e) {
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 = qs.safeParse(t);
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 Jl = ({ schema: e, dataSource: i, className: c, onTaskClick: l, onRowClick: d, ...f }) => {
5837
- let [p, m] = r([]), [ee, h] = r(!0), [te, ne] = r(null), [re, ie] = r(null), ae = Gl(e), g = n(() => ae, [JSON.stringify(ae)]), oe = ql(e), _ = g?.provider === "value";
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: Kl(e.sort),
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)(Wl, {
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
- }, Yl = ({ schema: e }) => {
5962
+ }, Jl = ({ schema: e }) => {
5965
5963
  let { dataSource: t } = c() || {};
5966
- return /* @__PURE__ */ (0, $.jsx)(Jl, {
5964
+ return /* @__PURE__ */ (0, $.jsx)(ql, {
5967
5965
  schema: e,
5968
5966
  dataSource: t
5969
5967
  });
5970
5968
  };
5971
- i.register("object-gantt", Yl, {
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", Yl, {
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 { Wl as GanttView, Jl as ObjectGantt, Yl as ObjectGanttRenderer };
6001
+ export { Ul as GanttView, ql as ObjectGantt, Jl as ObjectGanttRenderer };