@proteos/sdk 0.56.0 → 0.57.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.
@@ -1508,6 +1508,22 @@ declare const FilterGroupSchema: z.ZodType<FilterGroup>;
1508
1508
  * - "fill" — grow to fill remaining space
1509
1509
  */
1510
1510
  type SizeValue = number | `${number}/${number}` | `${number}px` | `${number}%` | 'auto' | 'fill';
1511
+ /**
1512
+ * A fixed CSS length — the subset of SizeValue the server accepts for
1513
+ * `min_height` ("Npx" / "N%"). Mirrors `minHeightStringRe` in the
1514
+ * metadata-service layout validator.
1515
+ */
1516
+ type LengthValue = `${number}px` | `${number}%`;
1517
+ declare function isLengthValue(text: string): text is LengthValue;
1518
+ declare const LengthValueSchema: z.ZodType<LengthValue>;
1519
+ /**
1520
+ * A page-style dimension (`layout.style.max_width` / `padding_*`): a length,
1521
+ * "auto" or "fill" — never a fraction. Mirrors `styleSizeValueStringRe` in the
1522
+ * metadata-service layout validator.
1523
+ */
1524
+ type StyleSizeValue = LengthValue | 'auto' | 'fill';
1525
+ declare function isStyleSizeValue(text: string): text is StyleSizeValue;
1526
+ declare const StyleSizeValueSchema: z.ZodType<StyleSizeValue>;
1511
1527
  declare const SizeValueSchema: z.ZodType<SizeValue>;
1512
1528
 
1513
1529
  /**
@@ -1524,6 +1540,9 @@ type LayoutGap = 'xs' | 'sm' | 'md' | 'lg';
1524
1540
  interface SizingProps {
1525
1541
  width?: SizeValue;
1526
1542
  height?: SizeValue;
1543
+ /** Floor under `height` (px or %). Under `height: 'fill'` in a column it
1544
+ * replaces the default 320px floor. */
1545
+ min_height?: LengthValue;
1527
1546
  grow?: number;
1528
1547
  shrink?: number;
1529
1548
  align?: LayoutAlign;
@@ -1557,7 +1576,12 @@ interface CommonProps {
1557
1576
  visible_when?: FilterGroup;
1558
1577
  read_only_when?: FilterGroup;
1559
1578
  width?: SizeValue;
1579
+ /** `fill` takes the remaining space in the parent: along a column it grows
1580
+ * (floored by `min_height`, default 320px); in a row it stretches to the
1581
+ * row's height. */
1560
1582
  height?: SizeValue;
1583
+ /** Floor under `height`, px or %. */
1584
+ min_height?: LengthValue;
1561
1585
  grow?: number;
1562
1586
  shrink?: number;
1563
1587
  align?: LayoutAlign;
@@ -1617,6 +1641,7 @@ declare const LayoutElementType: {
1617
1641
  readonly List: "list";
1618
1642
  readonly WorkflowTrigger: "workflow_trigger";
1619
1643
  readonly SchedulingPicker: "scheduling_picker";
1644
+ readonly Calendar: "calendar";
1620
1645
  };
1621
1646
  type LayoutElementType = (typeof LayoutElementType)[keyof typeof LayoutElementType];
1622
1647
  type RowElement = CommonProps & {
@@ -1853,13 +1878,54 @@ type SchedulingPickerElement = CommonProps & {
1853
1878
  contact_id?: string;
1854
1879
  is_header_hidden?: boolean;
1855
1880
  };
1881
+ /** The grid views a `calendar` element can show; mirrors `metamodel.CalendarViewKinds`. */
1882
+ declare const CALENDAR_VIEW_KINDS: readonly ["day", "week", "month", "agenda"];
1883
+ type CalendarViewKind = (typeof CALENDAR_VIEW_KINDS)[number];
1884
+ /**
1885
+ * Cap on `overlay_user_ids` (one team colour per overlaid user); mirrors
1886
+ * `metamodel.CalendarMaxOverlayUsers`.
1887
+ */
1888
+ declare const CALENDAR_MAX_OVERLAY_USERS = 8;
1889
+ /**
1890
+ * A user's calendar embedded in a page: the in-page counterpart of
1891
+ * `/org/:orgId/calendar`. `user_id` is `$current_user`, a Liquid template over
1892
+ * the page scope (`{{ record.owner.id }}`) or a literal user id; writes (new
1893
+ * event, drag, edit) are offered only when it resolves to the viewer — unless
1894
+ * `is_hosted_create_allowed` opens creation through the displayed user.
1895
+ */
1896
+ type CalendarElement = CommonProps & {
1897
+ type: 'calendar';
1898
+ user_id: string;
1899
+ /** Initial view; `day` when absent. */
1900
+ default_view?: CalendarViewKind;
1901
+ /** Views the switcher offers; only `default_view` when absent. Must contain it. */
1902
+ views?: CalendarViewKind[];
1903
+ /** Liquid template for the initial anchor day (day key or datetime); today when absent. */
1904
+ date?: string;
1905
+ /**
1906
+ * Record pages only: show only events linked to the page record
1907
+ * (`record_entity_slug` + `record_id`) instead of the user's whole calendar.
1908
+ */
1909
+ is_record_scoped?: boolean;
1910
+ /**
1911
+ * Up to `CALENDAR_MAX_OVERLAY_USERS` further users drawn on the same grid in
1912
+ * team colours, read-only. Each resolves like `user_id`.
1913
+ */
1914
+ overlay_user_ids?: string[];
1915
+ /**
1916
+ * When the calendar shows someone else: "New event" and drag-select create
1917
+ * THROUGH that user (the viewer hosts the request, the event lands on the
1918
+ * displayed user's calendar). Edit and move stay owner-only.
1919
+ */
1920
+ is_hosted_create_allowed?: boolean;
1921
+ };
1856
1922
  type TextVariant = 'heading' | 'subheading' | 'body' | 'caption' | 'callout' | 'block-title';
1857
1923
  type TextElement = CommonProps & {
1858
1924
  type: 'text';
1859
1925
  variant: TextVariant;
1860
1926
  content: string;
1861
1927
  };
1862
- type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement | SchedulingPickerElement;
1928
+ type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement | SchedulingPickerElement | CalendarElement;
1863
1929
  declare const LayoutTabSchema: z.ZodType<LayoutTab>;
1864
1930
  declare const LayoutElementSchema: z.ZodType<LayoutElement>;
1865
1931
 
@@ -1892,6 +1958,16 @@ declare const PageLayoutSidePanelSchema: z.ZodObject<{
1892
1958
  */
1893
1959
  declare const PAGE_BACKGROUND_TOKENS: readonly ["bg", "bg-2", "bg-3", "ink", "ink-2", "ink-3", "ink-4", "rule", "rule-2", "accent", "accent-2", "accent-ink", "success", "warning", "danger", "info"];
1894
1960
  type PageBackgroundToken = (typeof PAGE_BACKGROUND_TOKENS)[number];
1961
+ /**
1962
+ * A raw CSS color a page background may use instead of a token: a hex literal
1963
+ * or one of a few color functions with a restricted argument charset (no `;{}`,
1964
+ * no `url(`), so a background can never smuggle arbitrary CSS. Keep in sync
1965
+ * with `pageBackgroundColorRe` in the metadata-service layout validator.
1966
+ */
1967
+ declare const PAGE_BACKGROUND_COLOR_RE: RegExp;
1968
+ /** True when `text` is a background the server accepts: a token or a color
1969
+ * matching PAGE_BACKGROUND_COLOR_RE, at most 64 characters. */
1970
+ declare function isPageBackground(text: string): boolean;
1895
1971
  /**
1896
1972
  * Per-page presentation of a standalone page shell: background color plus the
1897
1973
  * content container's max-width and side / top padding. Every field is
@@ -1904,29 +1980,30 @@ type PageBackgroundToken = (typeof PAGE_BACKGROUND_TOKENS)[number];
1904
1980
  * area rather than a standalone shell.
1905
1981
  */
1906
1982
  interface PageStyle {
1907
- /** Design-token key (see PAGE_BACKGROUND_TOKENS) or a raw CSS color. */
1983
+ /** Design-token key (see PAGE_BACKGROUND_TOKENS) or a raw CSS color
1984
+ * matching PAGE_BACKGROUND_COLOR_RE. */
1908
1985
  background?: string;
1909
- /** Content max-width; `"fill"` / `"auto"` removes the cap. */
1910
- max_width?: SizeValue;
1986
+ /** Content max-width; `"fill"` / `"auto"` removes the cap. Never a fraction. */
1987
+ max_width?: StyleSizeValue;
1911
1988
  /** Horizontal / vertical padding of the content container (Tailwind px/py). */
1912
- padding_x?: SizeValue;
1913
- padding_y?: SizeValue;
1989
+ padding_x?: StyleSizeValue;
1990
+ padding_y?: StyleSizeValue;
1914
1991
  }
1915
1992
  declare const PageStyleSchema: z.ZodObject<{
1916
- background: z.ZodOptional<z.ZodString>;
1917
- max_width: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
1918
- padding_x: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
1919
- padding_y: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
1993
+ background: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1994
+ max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1995
+ padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1996
+ padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1920
1997
  }, "strip", z.ZodTypeAny, {
1921
1998
  background?: string | undefined;
1922
- max_width?: SizeValue | undefined;
1923
- padding_x?: SizeValue | undefined;
1924
- padding_y?: SizeValue | undefined;
1999
+ max_width?: StyleSizeValue | undefined;
2000
+ padding_x?: StyleSizeValue | undefined;
2001
+ padding_y?: StyleSizeValue | undefined;
1925
2002
  }, {
1926
2003
  background?: string | undefined;
1927
- max_width?: SizeValue | undefined;
1928
- padding_x?: SizeValue | undefined;
1929
- padding_y?: SizeValue | undefined;
2004
+ max_width?: StyleSizeValue | undefined;
2005
+ padding_x?: StyleSizeValue | undefined;
2006
+ padding_y?: StyleSizeValue | undefined;
1930
2007
  }>;
1931
2008
  /**
1932
2009
  * Top-level page layout. Replaces the legacy `mainContent` / `side_panel`
@@ -1955,20 +2032,20 @@ declare const PageLayoutSchema: z.ZodObject<{
1955
2032
  is_sticky?: boolean | undefined;
1956
2033
  }>>;
1957
2034
  style: z.ZodOptional<z.ZodObject<{
1958
- background: z.ZodOptional<z.ZodString>;
1959
- max_width: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
1960
- padding_x: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
1961
- padding_y: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
2035
+ background: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
2036
+ max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2037
+ padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
2038
+ padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
1962
2039
  }, "strip", z.ZodTypeAny, {
1963
2040
  background?: string | undefined;
1964
- max_width?: SizeValue | undefined;
1965
- padding_x?: SizeValue | undefined;
1966
- padding_y?: SizeValue | undefined;
2041
+ max_width?: StyleSizeValue | undefined;
2042
+ padding_x?: StyleSizeValue | undefined;
2043
+ padding_y?: StyleSizeValue | undefined;
1967
2044
  }, {
1968
2045
  background?: string | undefined;
1969
- max_width?: SizeValue | undefined;
1970
- padding_x?: SizeValue | undefined;
1971
- padding_y?: SizeValue | undefined;
2046
+ max_width?: StyleSizeValue | undefined;
2047
+ padding_x?: StyleSizeValue | undefined;
2048
+ padding_y?: StyleSizeValue | undefined;
1972
2049
  }>>;
1973
2050
  }, "strip", z.ZodTypeAny, {
1974
2051
  version: 1;
@@ -1980,9 +2057,9 @@ declare const PageLayoutSchema: z.ZodObject<{
1980
2057
  } | undefined;
1981
2058
  style?: {
1982
2059
  background?: string | undefined;
1983
- max_width?: SizeValue | undefined;
1984
- padding_x?: SizeValue | undefined;
1985
- padding_y?: SizeValue | undefined;
2060
+ max_width?: StyleSizeValue | undefined;
2061
+ padding_x?: StyleSizeValue | undefined;
2062
+ padding_y?: StyleSizeValue | undefined;
1986
2063
  } | undefined;
1987
2064
  }, {
1988
2065
  version: 1;
@@ -1994,9 +2071,9 @@ declare const PageLayoutSchema: z.ZodObject<{
1994
2071
  } | undefined;
1995
2072
  style?: {
1996
2073
  background?: string | undefined;
1997
- max_width?: SizeValue | undefined;
1998
- padding_x?: SizeValue | undefined;
1999
- padding_y?: SizeValue | undefined;
2074
+ max_width?: StyleSizeValue | undefined;
2075
+ padding_x?: StyleSizeValue | undefined;
2076
+ padding_y?: StyleSizeValue | undefined;
2000
2077
  } | undefined;
2001
2078
  }>;
2002
2079
 
@@ -4152,20 +4229,20 @@ declare const PageSchema: z.ZodObject<{
4152
4229
  is_sticky?: boolean | undefined;
4153
4230
  }>>;
4154
4231
  style: z.ZodOptional<z.ZodObject<{
4155
- background: z.ZodOptional<z.ZodString>;
4156
- max_width: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
4157
- padding_x: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
4158
- padding_y: z.ZodOptional<z.ZodType<SizeValue, z.ZodTypeDef, SizeValue>>;
4232
+ background: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
4233
+ max_width: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4234
+ padding_x: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4235
+ padding_y: z.ZodOptional<z.ZodType<StyleSizeValue, z.ZodTypeDef, StyleSizeValue>>;
4159
4236
  }, "strip", z.ZodTypeAny, {
4160
4237
  background?: string | undefined;
4161
- max_width?: SizeValue | undefined;
4162
- padding_x?: SizeValue | undefined;
4163
- padding_y?: SizeValue | undefined;
4238
+ max_width?: StyleSizeValue | undefined;
4239
+ padding_x?: StyleSizeValue | undefined;
4240
+ padding_y?: StyleSizeValue | undefined;
4164
4241
  }, {
4165
4242
  background?: string | undefined;
4166
- max_width?: SizeValue | undefined;
4167
- padding_x?: SizeValue | undefined;
4168
- padding_y?: SizeValue | undefined;
4243
+ max_width?: StyleSizeValue | undefined;
4244
+ padding_x?: StyleSizeValue | undefined;
4245
+ padding_y?: StyleSizeValue | undefined;
4169
4246
  }>>;
4170
4247
  }, "strip", z.ZodTypeAny, {
4171
4248
  version: 1;
@@ -4177,9 +4254,9 @@ declare const PageSchema: z.ZodObject<{
4177
4254
  } | undefined;
4178
4255
  style?: {
4179
4256
  background?: string | undefined;
4180
- max_width?: SizeValue | undefined;
4181
- padding_x?: SizeValue | undefined;
4182
- padding_y?: SizeValue | undefined;
4257
+ max_width?: StyleSizeValue | undefined;
4258
+ padding_x?: StyleSizeValue | undefined;
4259
+ padding_y?: StyleSizeValue | undefined;
4183
4260
  } | undefined;
4184
4261
  }, {
4185
4262
  version: 1;
@@ -4191,9 +4268,9 @@ declare const PageSchema: z.ZodObject<{
4191
4268
  } | undefined;
4192
4269
  style?: {
4193
4270
  background?: string | undefined;
4194
- max_width?: SizeValue | undefined;
4195
- padding_x?: SizeValue | undefined;
4196
- padding_y?: SizeValue | undefined;
4271
+ max_width?: StyleSizeValue | undefined;
4272
+ padding_x?: StyleSizeValue | undefined;
4273
+ padding_y?: StyleSizeValue | undefined;
4197
4274
  } | undefined;
4198
4275
  }>;
4199
4276
  }, "strip", z.ZodTypeAny, {
@@ -4232,9 +4309,9 @@ declare const PageSchema: z.ZodObject<{
4232
4309
  } | undefined;
4233
4310
  style?: {
4234
4311
  background?: string | undefined;
4235
- max_width?: SizeValue | undefined;
4236
- padding_x?: SizeValue | undefined;
4237
- padding_y?: SizeValue | undefined;
4312
+ max_width?: StyleSizeValue | undefined;
4313
+ padding_x?: StyleSizeValue | undefined;
4314
+ padding_y?: StyleSizeValue | undefined;
4238
4315
  } | undefined;
4239
4316
  };
4240
4317
  entity_slug?: string | undefined;
@@ -4274,9 +4351,9 @@ declare const PageSchema: z.ZodObject<{
4274
4351
  } | undefined;
4275
4352
  style?: {
4276
4353
  background?: string | undefined;
4277
- max_width?: SizeValue | undefined;
4278
- padding_x?: SizeValue | undefined;
4279
- padding_y?: SizeValue | undefined;
4354
+ max_width?: StyleSizeValue | undefined;
4355
+ padding_x?: StyleSizeValue | undefined;
4356
+ padding_y?: StyleSizeValue | undefined;
4280
4357
  } | undefined;
4281
4358
  };
4282
4359
  entity_slug?: string | undefined;
@@ -5757,6 +5834,18 @@ interface DesignReferenceContent {
5757
5834
  * hook. An object rather than a bare string because a bare string IS a valid
5758
5835
  * user value (clients send bare ids). Mirrors `metamodel.CurrentUserDefault`.
5759
5836
  */
5837
+ /**
5838
+ * The signed-in user as a VALUE: a `FilterElement.value` (any field —
5839
+ * data-service and the page renderer substitute the caller's id), a component
5840
+ * prop, a `calendar` element's `user_id` / `overlay_user_ids`, a string
5841
+ * literal in the records SQL dialect. The `$` prefix keeps it apart from every
5842
+ * id, slug or text, so no slot has to know the attribute type. The Liquid
5843
+ * scope exposes the same person as the object `{{ current_user.id }}`.
5844
+ * Mirrors `common.CurrentUser`.
5845
+ */
5846
+ declare const CURRENT_USER = "$current_user";
5847
+ /** True when a string slot carries the current-user sentinel. */
5848
+ declare function isCurrentUser(value: unknown): value is typeof CURRENT_USER;
5760
5849
  declare const CURRENT_USER_DEFAULT: {
5761
5850
  readonly type: "current_user";
5762
5851
  };
@@ -5768,4 +5857,4 @@ declare function isCurrentUserDefault(value: unknown): value is CurrentUserDefau
5768
5857
  /** Only the identity-valued attribute types can carry the sentinel. */
5769
5858
  declare function acceptsCurrentUserDefault(type: AttributeType): boolean;
5770
5859
 
5771
- export { CurrencyAttributeMetaSchema as $, type AuditFields as A, type ComponentService as B, CURRENT_USER_DEFAULT as C, type ContactAddressAttributeKind as D, type ContactAddressAttributeMeta as E, type FileRef as F, ContactAddressAttributeMetaSchema as G, type ContactBindingDuplicatePolicy as H, type CreateAppConfigurationRequest as I, type CreateAppRequest as J, type CreateComponentRequest as K, type ListOptions as L, type CreateDesignReferenceRequest as M, type CreateEntityExtensionRequest as N, type CreateEntityRequest as O, PageIterator as P, type CreateListExtensionRequest as Q, type ResponseMeta as R, type CreateListRequest as S, type CreateListViewRequest as T, type UserRef as U, type CreateMenuConfigurationExtensionRequest as V, type CreateMenuConfigurationRequest as W, type CreatePageExtensionRequest as X, type CreatePageRequest as Y, type CreateVariableRequest as Z, type CurrencyAttributeMeta as _, type Attribute as a, type MenuConfigurationExtensionPlacement as a$, type CurrencySymbolSide as a0, type CurrencyValue as a1, type CurrentUserDefault as a2, DEFAULT_OPTIONS as a3, DEFAULT_PAGE_SIZE as a4, DONE as a5, type DeployModuleRequest as a6, type DesignReference as a7, type DesignReferenceContent as a8, DesignReferenceSchema as a9, type ListDesignReferencesOptions as aA, type ListEntitiesOptions as aB, type ListEntityExtensionsOptions as aC, type ListExtension as aD, type ListExtensionColumnPlacement as aE, ListExtensionColumnPlacementSchema as aF, ListExtensionSchema as aG, type ListExtensionService as aH, type ListFn as aI, type ListListExtensionsOptions as aJ, type ListListViewsOptions as aK, type ListListsOptions as aL, type ListMenuConfigurationExtensionsOptions as aM, type ListMenuConfigurationsOptions as aN, type ListModulesOptions as aO, type ListPageExtensionsOptions as aP, type ListPagesOptions as aQ, ListSchema as aR, type ListService as aS, type ListVariablesOptions as aT, type ListView as aU, ListViewSchema as aV, type ListViewService as aW, type LogicalOperator as aX, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as aY, type MenuConfiguration as aZ, type MenuConfigurationExtension as a_, type DesignReferenceService as aa, type Done as ab, type Entity as ac, type EntityContactBinding as ad, EntityContactBindingSchema as ae, type EntityExtension as af, EntityExtensionSchema as ag, type EntityExtensionService as ah, EntitySchema as ai, type EntityService as aj, type EntityWithSchema as ak, EntityWithSchemaSchema as al, type EnumAttributeMeta as am, type EnumValue as an, type ExtensionPosition as ao, ExtensionPositionSchema as ap, type FileAttributeMeta as aq, FileRefSchema as ar, type FilterElement as as, FilterElementSchema as at, type FilterGroup as au, FilterGroupSchema as av, type List as aw, type ListAppConfigurationsOptions as ax, type ListAppsOptions as ay, type ListComponentsOptions as az, type ListResult as b, type UserType as b$, MenuConfigurationExtensionPlacementSchema as b0, type MenuConfigurationExtensionPosition as b1, MenuConfigurationExtensionPositionSchema as b2, MenuConfigurationExtensionSchema as b3, type MenuConfigurationExtensionService as b4, MenuConfigurationSchema as b5, type MenuConfigurationService as b6, type MenuItem as b7, MenuItemSchema as b8, MenuItemType as b9, type PublicPageComponent as bA, type PublicPageResponse as bB, type RelationAttributeMeta as bC, RelationAttributeMetaSchema as bD, type RequestOptions as bE, type ResolvedClientOptions as bF, ResponseMetaSchema as bG, type SortConfig as bH, SortConfigSchema as bI, type SortDirection as bJ, type Timestamps as bK, type TokenProvider as bL, type UpdateAppConfigurationRequest as bM, type UpdateAppRequest as bN, type UpdateComponentRequest as bO, type UpdateDesignReferenceRequest as bP, type UpdateEntityExtensionRequest as bQ, type UpdateEntityRequest as bR, type UpdateListExtensionRequest as bS, type UpdateListRequest as bT, type UpdateListViewRequest as bU, type UpdateMenuConfigurationExtensionRequest as bV, type UpdateMenuConfigurationRequest as bW, type UpdatePageExtensionRequest as bX, type UpdatePageRequest as bY, type UpdateVariableRequest as bZ, UserRefSchema as b_, MetaClient as ba, type MetaListOptions as bb, type Module as bc, ModuleSchema as bd, type ModuleService as be, type ModuleStatus as bf, type OnDeleteAction as bg, OnDeleteActionSchema as bh, PAGE_EXTENSION_ANCHOR_MAIN as bi, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bj, PLATFORM_ATTRIBUTE_NAMES as bk, PLATFORM_USER_ID as bl, type Page as bm, type PageAction as bn, type PageActionKind as bo, PageActionSchema as bp, type PageExtension as bq, type PageExtensionPlacement as br, PageExtensionPlacementSchema as bs, PageExtensionSchema as bt, type PageExtensionService as bu, type PageLayout as bv, PageLayoutSchema as bw, PageSchema as bx, type PageService as by, type PageType as bz, ProteosClient as c, type SizeValue as c$, type Variable as c0, VariableSchema as c1, type VariableService as c2, acceptsCurrentUserDefault as c3, allCurrencyCodes as c4, createIterator as c5, createListResultSchema as c6, currencyLabel as c7, currencySymbol as c8, currencySymbolSide as c9, type LayoutAlign as cA, type LayoutElement as cB, LayoutElementSchema as cC, LayoutElementType as cD, type LayoutGap as cE, type LayoutJustify as cF, type LayoutTab as cG, LayoutTabSchema as cH, type ListElement as cI, type NumberAttributeMeta as cJ, type ObjectAttributeMeta as cK, PAGE_BACKGROUND_TOKENS as cL, type PageBackgroundToken as cM, type PageLayoutSidePanel as cN, PageLayoutSidePanelSchema as cO, type PageStyle as cP, PageStyleSchema as cQ, type PrincipalAttributeMeta as cR, type PrincipalType as cS, RECORD_TITLE_FIELD as cT, type RecordFilterElement as cU, type RelatedListElement as cV, type RelatedRecordElement as cW, type ResponsiveSizing as cX, type RowElement as cY, type SchedulingPickerElement as cZ, type SectionElement as c_, formatAmount as ca, formatMoney as cb, isCurrentUserDefault as cc, isPlatformAttributeName as cd, localeNumberSeparators as ce, parseAmount as cf, parseContactAddressMeta as cg, parseCurrencyMeta as ch, parseFileMeta as ci, parseRelationMeta as cj, platformAttributes as ck, resolveOptions as cl, type AttributeForLookup as cm, type AttributeMeta as cn, BUILT_IN_CONTROLS as co, type BuiltInControlSlug as cp, type CardElement as cq, type ColumnElement as cr, type CommonProps as cs, type ComponentElement as ct, type ControlBucket as cu, type DatetimeAttributeMeta as cv, type DatetimeFormat as cw, type DividerElement as cx, type FieldElement as cy, FileAttributeMetaSchema as cz, type PrincipalRef as d, SizeValueSchema as d0, type SizingProps as d1, type StringAttributeMeta as d2, type StringFormat as d3, type TabsElement as d4, type TextElement as d5, type TextVariant as d6, type UserAttributeMeta as d7, UserAttributeMetaSchema as d8, type WorkflowTriggerElement as d9, isBuiltInControl as da, isReservedAttributeName as db, isTitleQueryable as dc, lookupCompatibleControls as dd, lookupControls as de, lookupPrimaryControl as df, parsePrincipalMeta as dg, parseUserMeta as dh, titleTemplateVariables as di, type PublicAccessOperation as e, type App as f, type AppConfiguration as g, AppConfigurationSchema as h, type AppConfigurationService as i, type AppHome as j, AppHomeSchema as k, type AppHomeType as l, AppSchema as m, type AppService as n, type ArrayAttributeMeta as o, type AttributeAccessRule as p, type AttributeRestrictions as q, AttributeSchema as r, type AttributeType as s, AuditFieldsSchema as t, type ClientOptions as u, type Column as v, ColumnSchema as w, type ComparisonOperator as x, type Component as y, ComponentSchema as z };
5860
+ export { type CurrencyAttributeMeta as $, type AuditFields as A, ComponentSchema as B, CURRENT_USER as C, type ComponentService as D, type ContactAddressAttributeKind as E, type FileRef as F, type ContactAddressAttributeMeta as G, ContactAddressAttributeMetaSchema as H, type ContactBindingDuplicatePolicy as I, type CreateAppConfigurationRequest as J, type CreateAppRequest as K, type ListOptions as L, type CreateComponentRequest as M, type CreateDesignReferenceRequest as N, type CreateEntityExtensionRequest as O, PageIterator as P, type CreateEntityRequest as Q, type ResponseMeta as R, type CreateListExtensionRequest as S, type CreateListRequest as T, type UserRef as U, type CreateListViewRequest as V, type CreateMenuConfigurationExtensionRequest as W, type CreateMenuConfigurationRequest as X, type CreatePageExtensionRequest as Y, type CreatePageRequest as Z, type CreateVariableRequest as _, type Attribute as a, type MenuConfigurationExtension as a$, CurrencyAttributeMetaSchema as a0, type CurrencySymbolSide as a1, type CurrencyValue as a2, type CurrentUserDefault as a3, DEFAULT_OPTIONS as a4, DEFAULT_PAGE_SIZE as a5, DONE as a6, type DeployModuleRequest as a7, type DesignReference as a8, type DesignReferenceContent as a9, type ListComponentsOptions as aA, type ListDesignReferencesOptions as aB, type ListEntitiesOptions as aC, type ListEntityExtensionsOptions as aD, type ListExtension as aE, type ListExtensionColumnPlacement as aF, ListExtensionColumnPlacementSchema as aG, ListExtensionSchema as aH, type ListExtensionService as aI, type ListFn as aJ, type ListListExtensionsOptions as aK, type ListListViewsOptions as aL, type ListListsOptions as aM, type ListMenuConfigurationExtensionsOptions as aN, type ListMenuConfigurationsOptions as aO, type ListModulesOptions as aP, type ListPageExtensionsOptions as aQ, type ListPagesOptions as aR, ListSchema as aS, type ListService as aT, type ListVariablesOptions as aU, type ListView as aV, ListViewSchema as aW, type ListViewService as aX, type LogicalOperator as aY, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as aZ, type MenuConfiguration as a_, DesignReferenceSchema as aa, type DesignReferenceService as ab, type Done as ac, type Entity as ad, type EntityContactBinding as ae, EntityContactBindingSchema as af, type EntityExtension as ag, EntityExtensionSchema as ah, type EntityExtensionService as ai, EntitySchema as aj, type EntityService as ak, type EntityWithSchema as al, EntityWithSchemaSchema as am, type EnumAttributeMeta as an, type EnumValue as ao, type ExtensionPosition as ap, ExtensionPositionSchema as aq, type FileAttributeMeta as ar, FileRefSchema as as, type FilterElement as at, FilterElementSchema as au, type FilterGroup as av, FilterGroupSchema as aw, type List as ax, type ListAppConfigurationsOptions as ay, type ListAppsOptions as az, type ListResult as b, UserRefSchema as b$, type MenuConfigurationExtensionPlacement as b0, MenuConfigurationExtensionPlacementSchema as b1, type MenuConfigurationExtensionPosition as b2, MenuConfigurationExtensionPositionSchema as b3, MenuConfigurationExtensionSchema as b4, type MenuConfigurationExtensionService as b5, MenuConfigurationSchema as b6, type MenuConfigurationService as b7, type MenuItem as b8, MenuItemSchema as b9, type PageType as bA, type PublicPageComponent as bB, type PublicPageResponse as bC, type RelationAttributeMeta as bD, RelationAttributeMetaSchema as bE, type RequestOptions as bF, type ResolvedClientOptions as bG, ResponseMetaSchema as bH, type SortConfig as bI, SortConfigSchema as bJ, type SortDirection as bK, type Timestamps as bL, type TokenProvider as bM, type UpdateAppConfigurationRequest as bN, type UpdateAppRequest as bO, type UpdateComponentRequest as bP, type UpdateDesignReferenceRequest as bQ, type UpdateEntityExtensionRequest as bR, type UpdateEntityRequest as bS, type UpdateListExtensionRequest as bT, type UpdateListRequest as bU, type UpdateListViewRequest as bV, type UpdateMenuConfigurationExtensionRequest as bW, type UpdateMenuConfigurationRequest as bX, type UpdatePageExtensionRequest as bY, type UpdatePageRequest as bZ, type UpdateVariableRequest as b_, MenuItemType as ba, MetaClient as bb, type MetaListOptions as bc, type Module as bd, ModuleSchema as be, type ModuleService as bf, type ModuleStatus as bg, type OnDeleteAction as bh, OnDeleteActionSchema as bi, PAGE_EXTENSION_ANCHOR_MAIN as bj, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bk, PLATFORM_ATTRIBUTE_NAMES as bl, PLATFORM_USER_ID as bm, type Page as bn, type PageAction as bo, type PageActionKind as bp, PageActionSchema as bq, type PageExtension as br, type PageExtensionPlacement as bs, PageExtensionPlacementSchema as bt, PageExtensionSchema as bu, type PageExtensionService as bv, type PageLayout as bw, PageLayoutSchema as bx, PageSchema as by, type PageService as bz, ProteosClient as c, type PrincipalType as c$, type UserType as c0, type Variable as c1, VariableSchema as c2, type VariableService as c3, acceptsCurrentUserDefault as c4, allCurrencyCodes as c5, createIterator as c6, createListResultSchema as c7, currencyLabel as c8, currencySymbol as c9, type ControlBucket as cA, type DatetimeAttributeMeta as cB, type DatetimeFormat as cC, type DividerElement as cD, type FieldElement as cE, FileAttributeMetaSchema as cF, type LayoutAlign as cG, type LayoutElement as cH, LayoutElementSchema as cI, LayoutElementType as cJ, type LayoutGap as cK, type LayoutJustify as cL, type LayoutTab as cM, LayoutTabSchema as cN, type LengthValue as cO, LengthValueSchema as cP, type ListElement as cQ, type NumberAttributeMeta as cR, type ObjectAttributeMeta as cS, PAGE_BACKGROUND_COLOR_RE as cT, PAGE_BACKGROUND_TOKENS as cU, type PageBackgroundToken as cV, type PageLayoutSidePanel as cW, PageLayoutSidePanelSchema as cX, type PageStyle as cY, PageStyleSchema as cZ, type PrincipalAttributeMeta as c_, currencySymbolSide as ca, formatAmount as cb, formatMoney as cc, isCurrentUser as cd, isCurrentUserDefault as ce, isPlatformAttributeName as cf, localeNumberSeparators as cg, parseAmount as ch, parseContactAddressMeta as ci, parseCurrencyMeta as cj, parseFileMeta as ck, parseRelationMeta as cl, platformAttributes as cm, resolveOptions as cn, type AttributeForLookup as co, type AttributeMeta as cp, BUILT_IN_CONTROLS as cq, type BuiltInControlSlug as cr, CALENDAR_MAX_OVERLAY_USERS as cs, CALENDAR_VIEW_KINDS as ct, type CalendarElement as cu, type CalendarViewKind as cv, type CardElement as cw, type ColumnElement as cx, type CommonProps as cy, type ComponentElement as cz, type PrincipalRef as d, RECORD_TITLE_FIELD as d0, type RecordFilterElement as d1, type RelatedListElement as d2, type RelatedRecordElement as d3, type ResponsiveSizing as d4, type RowElement as d5, type SchedulingPickerElement as d6, type SectionElement as d7, type SizeValue as d8, SizeValueSchema as d9, type SizingProps as da, type StringAttributeMeta as db, type StringFormat as dc, type StyleSizeValue as dd, StyleSizeValueSchema as de, type TabsElement as df, type TextElement as dg, type TextVariant as dh, type UserAttributeMeta as di, UserAttributeMetaSchema as dj, type WorkflowTriggerElement as dk, isBuiltInControl as dl, isLengthValue as dm, isPageBackground as dn, isReservedAttributeName as dp, isStyleSizeValue as dq, isTitleQueryable as dr, lookupCompatibleControls as ds, lookupControls as dt, lookupPrimaryControl as du, parsePrincipalMeta as dv, parseUserMeta as dw, titleTemplateVariables as dx, type PublicAccessOperation as e, type App as f, type AppConfiguration as g, AppConfigurationSchema as h, type AppConfigurationService as i, type AppHome as j, AppHomeSchema as k, type AppHomeType as l, AppSchema as m, type AppService as n, type ArrayAttributeMeta as o, type AttributeAccessRule as p, type AttributeRestrictions as q, AttributeSchema as r, type AttributeType as s, AuditFieldsSchema as t, CURRENT_USER_DEFAULT as u, type ClientOptions as v, type Column as w, ColumnSchema as x, type ComparisonOperator as y, type Component as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteos/sdk",
3
- "version": "0.56.0",
3
+ "version": "0.57.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "TypeScript SDK for the Proteos platform",
6
6
  "repository": {
@@ -66,8 +66,8 @@
66
66
  "tsup": "^8.3.0",
67
67
  "typescript": "^5.7.0",
68
68
  "vitest": "^3.0.0",
69
- "@proteos/tsconfig": "0.0.0",
70
- "@proteos/biome-config": "0.0.0"
69
+ "@proteos/biome-config": "0.0.0",
70
+ "@proteos/tsconfig": "0.0.0"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "tsup",
package/src/index.ts CHANGED
@@ -761,6 +761,7 @@ export {
761
761
  ColumnSchema,
762
762
  ComponentSchema,
763
763
  ContactAddressAttributeMetaSchema,
764
+ CURRENT_USER,
764
765
  CURRENT_USER_DEFAULT,
765
766
  CurrencyAttributeMetaSchema,
766
767
  currencyLabel,
@@ -776,6 +777,7 @@ export {
776
777
  FilterGroupSchema,
777
778
  formatAmount,
778
779
  formatMoney,
780
+ isCurrentUser,
779
781
  isCurrentUserDefault,
780
782
  isPlatformAttributeName,
781
783
  ListExtensionColumnPlacementSchema,
@@ -829,19 +831,19 @@ export type {
829
831
  CalendarConnectionStatus,
830
832
  CalendarEvent,
831
833
  CalendarEventService,
834
+ CalendarEventsResponse,
832
835
  CalendarEventType,
833
836
  CalendarEventTypeService,
834
- CalendarEventsResponse,
835
837
  CalendarProvider,
836
838
  CalendarService,
837
839
  CalendarSync,
838
840
  CalendarSyncStatus,
839
841
  CalendarVisibility,
840
842
  CalendarWatch,
843
+ CancelPublicCalendarEventRequest,
841
844
  ConferencingProvider,
842
845
  CreateAvailabilityConstraintRequest,
843
846
  CreateCalendarConnectionRequest,
844
- CancelPublicCalendarEventRequest,
845
847
  CreateCalendarEventRequest,
846
848
  CreateSchedulingLinkRequest,
847
849
  EventLocation,
@@ -856,13 +858,13 @@ export type {
856
858
  HostsRequest,
857
859
  ListAvailabilityConstraintsQuery,
858
860
  ListCalendarConnectionsQuery,
859
- ListCalendarEventTypesQuery,
860
861
  ListCalendarEventsQuery,
862
+ ListCalendarEventTypesQuery,
861
863
  ListCalendarsQuery,
862
- ListSchedulingLinksQuery,
863
- LocationKind,
864
864
  // Aliased: the conversation module already exports its own ListResponse.
865
865
  ListResponse as SchedulingListResponse,
866
+ ListSchedulingLinksQuery,
867
+ LocationKind,
866
868
  NotifyMode,
867
869
  ParticipationStatus,
868
870
  PublicBookSchedulingLinkResponse,
@@ -876,8 +878,8 @@ export type {
876
878
  PutSchedulingProfileRequest,
877
879
  RecordRef,
878
880
  RecurrenceScope,
879
- ReschedulePublicCalendarEventRequest,
880
881
  RescheduleHost,
882
+ ReschedulePublicCalendarEventRequest,
881
883
  RespondCalendarEventRequest,
882
884
  SchedulingLink,
883
885
  SchedulingLinkService,
@@ -888,12 +890,12 @@ export type {
888
890
  SlotService,
889
891
  SlotUnavailability,
890
892
  SlotUnavailabilityReason,
891
- UpdateCalendarSyncRequest,
892
893
  UpdateAvailabilityConstraintRequest,
893
894
  UpdateCalendarConnectionRequest,
894
895
  UpdateCalendarEventRequest,
895
896
  UpdateCalendarEventTypeRequest,
896
897
  UpdateCalendarRequest,
898
+ UpdateCalendarSyncRequest,
897
899
  UpdateSchedulingLinkRequest,
898
900
  } from './scheduling/index.js'
899
901
  // Scheduling client (scheduling-service)
package/src/meta/index.ts CHANGED
@@ -316,6 +316,7 @@ export {
316
316
  ColumnSchema,
317
317
  ComponentSchema,
318
318
  ContactAddressAttributeMetaSchema,
319
+ CURRENT_USER,
319
320
  CURRENT_USER_DEFAULT,
320
321
  CurrencyAttributeMetaSchema,
321
322
  DesignReferenceSchema,
@@ -327,6 +328,7 @@ export {
327
328
  FileAttributeMetaSchema,
328
329
  FilterElementSchema,
329
330
  FilterGroupSchema,
331
+ isCurrentUser,
330
332
  isCurrentUserDefault,
331
333
  isPlatformAttributeName,
332
334
  ListExtensionColumnPlacementSchema,
@@ -1,6 +1,11 @@
1
1
  import { z } from 'zod'
2
2
  import { type FilterGroup, FilterGroupSchema } from '../filters.js'
3
- import { type SizeValue, SizeValueSchema } from './size-value.js'
3
+ import {
4
+ type LengthValue,
5
+ LengthValueSchema,
6
+ type SizeValue,
7
+ SizeValueSchema,
8
+ } from './size-value.js'
4
9
 
5
10
  /**
6
11
  * Cross-axis alignment values. On Row / Column the same string also drives
@@ -23,6 +28,9 @@ const GapSchema = z.enum(['xs', 'sm', 'md', 'lg'])
23
28
  export interface SizingProps {
24
29
  width?: SizeValue
25
30
  height?: SizeValue
31
+ /** Floor under `height` (px or %). Under `height: 'fill'` in a column it
32
+ * replaces the default 320px floor. */
33
+ min_height?: LengthValue
26
34
  grow?: number
27
35
  shrink?: number
28
36
  align?: LayoutAlign
@@ -31,6 +39,7 @@ export interface SizingProps {
31
39
  const SizingPropsSchema = z.object({
32
40
  width: SizeValueSchema.optional(),
33
41
  height: SizeValueSchema.optional(),
42
+ min_height: LengthValueSchema.optional(),
34
43
  grow: z.number().optional(),
35
44
  shrink: z.number().optional(),
36
45
  align: AlignSchema.optional(),
@@ -72,7 +81,12 @@ export interface CommonProps {
72
81
  visible_when?: FilterGroup
73
82
  read_only_when?: FilterGroup
74
83
  width?: SizeValue
84
+ /** `fill` takes the remaining space in the parent: along a column it grows
85
+ * (floored by `min_height`, default 320px); in a row it stretches to the
86
+ * row's height. */
75
87
  height?: SizeValue
88
+ /** Floor under `height`, px or %. */
89
+ min_height?: LengthValue
76
90
  grow?: number
77
91
  shrink?: number
78
92
  align?: LayoutAlign
@@ -90,6 +104,7 @@ export const commonPropsShape = {
90
104
  read_only_when: FilterGroupSchema.optional(),
91
105
  width: SizeValueSchema.optional(),
92
106
  height: SizeValueSchema.optional(),
107
+ min_height: LengthValueSchema.optional(),
93
108
  grow: z.number().optional(),
94
109
  shrink: z.number().optional(),
95
110
  align: AlignSchema.optional(),
@@ -24,6 +24,7 @@ export const LayoutElementType = {
24
24
  List: 'list',
25
25
  WorkflowTrigger: 'workflow_trigger',
26
26
  SchedulingPicker: 'scheduling_picker',
27
+ Calendar: 'calendar',
27
28
  } as const
28
29
  export type LayoutElementType = (typeof LayoutElementType)[keyof typeof LayoutElementType]
29
30
 
@@ -276,6 +277,50 @@ export type SchedulingPickerElement = CommonProps & {
276
277
  is_header_hidden?: boolean
277
278
  }
278
279
 
280
+ /** The grid views a `calendar` element can show; mirrors `metamodel.CalendarViewKinds`. */
281
+ export const CALENDAR_VIEW_KINDS = ['day', 'week', 'month', 'agenda'] as const
282
+ export type CalendarViewKind = (typeof CALENDAR_VIEW_KINDS)[number]
283
+
284
+ /**
285
+ * Cap on `overlay_user_ids` (one team colour per overlaid user); mirrors
286
+ * `metamodel.CalendarMaxOverlayUsers`.
287
+ */
288
+ export const CALENDAR_MAX_OVERLAY_USERS = 8
289
+
290
+ /**
291
+ * A user's calendar embedded in a page: the in-page counterpart of
292
+ * `/org/:orgId/calendar`. `user_id` is `$current_user`, a Liquid template over
293
+ * the page scope (`{{ record.owner.id }}`) or a literal user id; writes (new
294
+ * event, drag, edit) are offered only when it resolves to the viewer — unless
295
+ * `is_hosted_create_allowed` opens creation through the displayed user.
296
+ */
297
+ export type CalendarElement = CommonProps & {
298
+ type: 'calendar'
299
+ user_id: string
300
+ /** Initial view; `day` when absent. */
301
+ default_view?: CalendarViewKind
302
+ /** Views the switcher offers; only `default_view` when absent. Must contain it. */
303
+ views?: CalendarViewKind[]
304
+ /** Liquid template for the initial anchor day (day key or datetime); today when absent. */
305
+ date?: string
306
+ /**
307
+ * Record pages only: show only events linked to the page record
308
+ * (`record_entity_slug` + `record_id`) instead of the user's whole calendar.
309
+ */
310
+ is_record_scoped?: boolean
311
+ /**
312
+ * Up to `CALENDAR_MAX_OVERLAY_USERS` further users drawn on the same grid in
313
+ * team colours, read-only. Each resolves like `user_id`.
314
+ */
315
+ overlay_user_ids?: string[]
316
+ /**
317
+ * When the calendar shows someone else: "New event" and drag-select create
318
+ * THROUGH that user (the viewer hosts the request, the event lands on the
319
+ * displayed user's calendar). Edit and move stay owner-only.
320
+ */
321
+ is_hosted_create_allowed?: boolean
322
+ }
323
+
279
324
  export type TextVariant = 'heading' | 'subheading' | 'body' | 'caption' | 'callout' | 'block-title'
280
325
 
281
326
  export type TextElement = CommonProps & {
@@ -300,6 +345,7 @@ export type LayoutElement =
300
345
  | ListElement
301
346
  | WorkflowTriggerElement
302
347
  | SchedulingPickerElement
348
+ | CalendarElement
303
349
 
304
350
  // ──────────────────────────────────────────────────────────── Schemas ──
305
351
 
@@ -439,5 +485,16 @@ export const LayoutElementSchema: z.ZodType<LayoutElement> = z.lazy(() =>
439
485
  contact_id: z.string().optional(),
440
486
  is_header_hidden: z.boolean().optional(),
441
487
  }),
488
+ z.object({
489
+ type: z.literal('calendar'),
490
+ ...commonPropsShape,
491
+ user_id: z.string().min(1),
492
+ default_view: z.enum(CALENDAR_VIEW_KINDS).optional(),
493
+ views: z.array(z.enum(CALENDAR_VIEW_KINDS)).min(1).optional(),
494
+ date: z.string().optional(),
495
+ is_record_scoped: z.boolean().optional(),
496
+ overlay_user_ids: z.array(z.string().min(1)).max(CALENDAR_MAX_OVERLAY_USERS).optional(),
497
+ is_hosted_create_allowed: z.boolean().optional(),
498
+ }),
442
499
  ]),
443
500
  ) as unknown as z.ZodType<LayoutElement>