@rokt/dcui-orchestrator 1.2.1-rc.6 → 1.2.1-rc.61

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.
Files changed (123) hide show
  1. package/dist/index.cjs +47 -38
  2. package/dist/index.js +59 -50
  3. package/dist/libraries/dcui-components/src/components/index.d.ts +3 -0
  4. package/dist/libraries/dcui-components/src/components/paypal-button/index.d.ts +1 -0
  5. package/dist/libraries/dcui-components/src/components/paypal-button/paypal-button.d.ts +78 -0
  6. package/dist/libraries/dcui-components/src/components/paypal-button/paypal-wordmark.d.ts +10 -0
  7. package/dist/libraries/dcui-components/src/components/progress-control/index.d.ts +1 -0
  8. package/dist/libraries/dcui-components/src/components/progress-control/progress-control.d.ts +49 -0
  9. package/dist/libraries/dcui-components/src/components/progress-indicator/get-progress-indicator-state.d.ts +3 -0
  10. package/dist/libraries/dcui-components/src/components/progress-indicator/index.d.ts +3 -0
  11. package/dist/libraries/dcui-components/src/components/progress-indicator/progress-indicator.d.ts +8 -0
  12. package/dist/libraries/dcui-components/src/components/progress-indicator/types.d.ts +88 -0
  13. package/dist/libraries/dcui-components/src/components/style-mapper/combiners/escape-css-string.d.ts +19 -0
  14. package/dist/libraries/dcui-components/src/components/style-mapper/combiners/index.d.ts +1 -0
  15. package/dist/libraries/dcui-components/src/contexts/index.d.ts +1 -0
  16. package/dist/libraries/dcui-components/src/contexts/lead-capture-offer-context.d.ts +5 -0
  17. package/dist/libraries/dcui-components/src/contexts/validators/validator-provider.d.ts +5 -3
  18. package/dist/libraries/dcui-components/src/failure-codes.d.ts +2 -0
  19. package/dist/libraries/dcui-components/src/utils/index.d.ts +1 -0
  20. package/dist/libraries/dcui-components/src/utils/link-schemes.d.ts +35 -0
  21. package/dist/libraries/dcui-components/src/utils/responsive-css.d.ts +9 -0
  22. package/dist/libraries/domain/src/behaviors/continuous-child.d.ts +62 -0
  23. package/dist/libraries/domain/src/behaviors/custom-states.d.ts +8 -1
  24. package/dist/libraries/domain/src/behaviors/index.d.ts +1 -0
  25. package/dist/libraries/domain/src/behaviors/offer-engagement.d.ts +11 -0
  26. package/dist/libraries/domain/src/behaviors/send-partner.d.ts +14 -2
  27. package/dist/libraries/domain/src/behaviors/trigger-action.d.ts +3 -3
  28. package/dist/libraries/domain/src/models/child-layout-response.d.ts +6 -0
  29. package/dist/libraries/domain/src/models/form-state.d.ts +85 -0
  30. package/dist/libraries/domain/src/models/global-state.d.ts +15 -1
  31. package/dist/libraries/domain/src/models/index.d.ts +1 -0
  32. package/dist/libraries/domain/src/models/layout/layout-offer.d.ts +2 -0
  33. package/dist/libraries/domain/src/models/partner-event.d.ts +1 -1
  34. package/dist/libraries/domain/src/models/plugin/plugin-child-layout-model.d.ts +1 -0
  35. package/dist/libraries/domain/src/models/plugin/plugin-offer.d.ts +2 -0
  36. package/dist/libraries/domain/src/models/purchase.d.ts +3 -0
  37. package/dist/libraries/layout-renderer-utils/src/reducers/breakpoint/coerce-breakpoints.d.ts +19 -0
  38. package/dist/libraries/layout-renderer-utils/src/reducers/breakpoint/index.d.ts +1 -0
  39. package/dist/libraries/layout-renderer-utils/src/sagas/error/error-codes.d.ts +3 -0
  40. package/dist/libraries/layout-renderer-utils/src/sagas/plugin/display.d.ts +3 -0
  41. package/dist/libraries/layout-renderer-utils/src/sagas/plugin/sagas.d.ts +4 -1
  42. package/dist/libraries/layout-renderer-utils/src/sagas/utils/index.d.ts +8 -1
  43. package/dist/libraries/layout-renderer-utils/src/sagas/utils/links.d.ts +28 -1
  44. package/dist/libraries/module-connector/src/main.d.ts +1 -1
  45. package/dist/libraries/module-connector/src/models/gateway.d.ts +19 -3
  46. package/dist/libraries/module-connector/src/models/module-attributes.d.ts +3 -0
  47. package/dist/libraries/module-connector/src/models/module-connector-builder.d.ts +1 -0
  48. package/dist/libraries/module-utils/src/sagas/child-layouts/sagas.d.ts +14 -4
  49. package/dist/libraries/orchestrator/src/actions/global-offer-data-state.d.ts +11 -1
  50. package/dist/libraries/orchestrator/src/actions/index.d.ts +2 -0
  51. package/dist/libraries/orchestrator/src/actions/module.d.ts +9 -1
  52. package/dist/libraries/orchestrator/src/cart-listener-gateway.d.ts +7 -0
  53. package/dist/libraries/orchestrator/src/components/progress-control/progress-control.d.ts +2 -45
  54. package/dist/libraries/orchestrator/src/components/progress-indicator/progress-indicator.d.ts +1 -9
  55. package/dist/libraries/orchestrator/src/components/progress-indicator/types.d.ts +1 -87
  56. package/dist/libraries/orchestrator/src/measurement/creative-measurement.d.ts +54 -0
  57. package/dist/libraries/orchestrator/src/models/state/global-offer-data-state.d.ts +6 -0
  58. package/dist/libraries/orchestrator/src/models/state/module.d.ts +1 -0
  59. package/dist/libraries/orchestrator/src/reducers/progression/reducer.d.ts +8 -0
  60. package/dist/libraries/orchestrator/src/sagas/child-layouts/continuous-child-host.d.ts +15 -0
  61. package/dist/libraries/orchestrator/src/sagas/child-layouts/continuous-child.d.ts +52 -0
  62. package/dist/libraries/orchestrator/src/sagas/index.d.ts +1 -1
  63. package/dist/libraries/orchestrator/src/sagas/offer-engagement/sagas.d.ts +3 -3
  64. package/dist/libraries/orchestrator/src/sagas/partner-cart-sync/sagas.d.ts +2 -2
  65. package/dist/libraries/orchestrator/src/sagas/progression/sagas.d.ts +8 -2
  66. package/dist/libraries/orchestrator/src/sagas/utils/distribution.d.ts +21 -0
  67. package/dist/libraries/orchestrator/src/sagas/utils/index.d.ts +3 -0
  68. package/dist/libraries/orchestrator/src/selectors/global-offer-data-state/selectors.d.ts +8 -1
  69. package/dist/libraries/plugin-utils/src/plugin-service/display.d.ts +1 -0
  70. package/dist/libraries/saga-utils/src/utils/index.d.ts +1 -0
  71. package/dist/libraries/saga-utils/src/utils/quantity-rules.d.ts +184 -0
  72. package/dist/modules/add-to-cart/src/actions/cart.d.ts +7 -1
  73. package/dist/modules/add-to-cart/src/actions/catalog-item.d.ts +15 -1
  74. package/dist/modules/add-to-cart/src/components/when-catalog-quantity/when-catalog-quantity.d.ts +2 -1
  75. package/dist/modules/add-to-cart/src/reducers/cart/reducer.d.ts +2 -1
  76. package/dist/modules/add-to-cart/src/sagas/index.d.ts +2 -1
  77. package/dist/modules/add-to-cart/src/sagas/update-cart-item/sagas.d.ts +6 -3
  78. package/dist/modules/add-to-cart/src/selectors/cart/selectors.d.ts +31 -0
  79. package/dist/modules/add-to-cart/src/selectors/catalogItems/selectors.d.ts +8 -0
  80. package/dist/modules/instant-purchase/src/actions/instant-purchase.d.ts +4 -0
  81. package/dist/modules/instant-purchase/src/components/catalog-device-pay-button/catalog-device-pay-button.d.ts +8 -0
  82. package/dist/modules/instant-purchase/src/components/catalog-selectors-stacked/catalog-selectors-stacked.d.ts +30 -0
  83. package/dist/modules/instant-purchase/src/constants/device-pay-error.d.ts +1 -1
  84. package/dist/modules/instant-purchase/src/models/state/device-pay-availability.d.ts +2 -0
  85. package/dist/modules/instant-purchase/src/models/state/instant-purchase.d.ts +4 -0
  86. package/dist/modules/instant-purchase/src/sagas/device-pay/sagas.d.ts +2 -7
  87. package/dist/modules/instant-purchase/src/sagas/instant-purchase/sagas.d.ts +17 -3
  88. package/dist/modules/instant-purchase/src/sagas/paypal/sagas.d.ts +2 -0
  89. package/dist/modules/instant-purchase/src/sagas/tax-and-shipping/sagas.d.ts +10 -20
  90. package/dist/modules/instant-purchase/src/selectors/catalog-selection/index.d.ts +1 -0
  91. package/dist/modules/instant-purchase/src/selectors/catalog-selection/selectors.d.ts +7 -0
  92. package/dist/modules/instant-purchase/src/selectors/device-pay-availability/selectors.d.ts +2 -0
  93. package/dist/modules/instant-purchase/src/selectors/index.d.ts +1 -0
  94. package/dist/modules/instant-purchase/src/selectors/tax-and-shipping/selectors.d.ts +8 -0
  95. package/dist/modules/instant-purchase/src/utils/compute-selections-for-item.d.ts +7 -0
  96. package/dist/modules/instant-purchase/src/utils/create-tax-and-shipping-cache-key.d.ts +4 -0
  97. package/dist/modules/instant-purchase/src/utils/parse-non-negative-monetary-amount.d.ts +1 -0
  98. package/dist/modules/instant-purchase/src/utils/requires-tax-and-shipping-initialization.d.ts +2 -0
  99. package/dist/modules/standard-marketing/src/sagas/offer-engagement/sagas.d.ts +2 -1
  100. package/node_modules/@rokt/dcui-layout-schema/dist/schema.d.ts +583 -21
  101. package/node_modules/@rokt/dcui-layout-schema/dist/tsconfig.tsbuildinfo +1 -1
  102. package/node_modules/@rokt/dcui-layout-schema/package.json +1 -1
  103. package/node_modules/@rokt/dcui-layout-schema/v1.21/index.d.ts +7105 -0
  104. package/node_modules/@rokt/dcui-layout-schema/v1.21/index.js +4 -0
  105. package/node_modules/@rokt/dcui-layout-schema/v1.22/index.d.ts +7121 -0
  106. package/node_modules/@rokt/dcui-layout-schema/v1.22/index.js +4 -0
  107. package/node_modules/@rokt/dcui-layout-schema/v1.23/index.d.ts +7126 -0
  108. package/node_modules/@rokt/dcui-layout-schema/v1.23/index.js +4 -0
  109. package/node_modules/@rokt/dcui-layout-schema/v1.24/index.d.ts +7492 -0
  110. package/node_modules/@rokt/dcui-layout-schema/v1.24/index.js +4 -0
  111. package/node_modules/@rokt/dcui-layout-schema/v1.25/index.d.ts +7510 -0
  112. package/node_modules/@rokt/dcui-layout-schema/v1.25/index.js +4 -0
  113. package/node_modules/@rokt/dcui-layout-schema/v1.26/index.d.ts +7516 -0
  114. package/node_modules/@rokt/dcui-layout-schema/v1.26/index.js +4 -0
  115. package/node_modules/@rokt/dcui-layout-schema/v1.27/index.d.ts +7577 -0
  116. package/node_modules/@rokt/dcui-layout-schema/v1.27/index.js +4 -0
  117. package/node_modules/@rokt/dcui-layout-schema/v1.28/index.d.ts +7628 -0
  118. package/node_modules/@rokt/dcui-layout-schema/v1.28/index.js +4 -0
  119. package/node_modules/@rokt/dcui-layout-schema/v1.29/index.d.ts +7643 -0
  120. package/node_modules/@rokt/dcui-layout-schema/v1.29/index.js +4 -0
  121. package/node_modules/@rokt/dcui-layout-schema/v1.30/index.d.ts +7659 -0
  122. package/node_modules/@rokt/dcui-layout-schema/v1.30/index.js +4 -0
  123. package/package.json +2 -2
@@ -788,6 +788,14 @@ export interface ButtonStateTriggerTransitions {
788
788
  /** Transition properties for the trigger button's own styles. */
789
789
  own?: null | ButtonStateTriggerStyle;
790
790
  }
791
+ /**
792
+ * Requests a lead-capture event with the active field values selected by the
793
+ * containing ActionButton's `validates` entries. The runtime must reject an
794
+ * empty or unresolved selection and must not emit values when validation fails.
795
+ * The event recipient owns submission and any consent receipt.
796
+ */
797
+ export interface CaptureLeadActionModel {
798
+ }
791
799
  /** A styling block with only a default state. Used for non-interactive elements. */
792
800
  export interface StatelessStylingBlock<StyleProperties> {
793
801
  /** The styles to apply. Always required. */
@@ -1047,8 +1055,18 @@ export interface CatalogDevicePayButtonStyles {
1047
1055
  flexChild?: null | FlexChildStylingProperties;
1048
1056
  spacing?: null | SpacingStylingProperties;
1049
1057
  }
1058
+ export interface CatalogDevicePayButtonErrorTextStyles {
1059
+ container?: null | ContainerStylingProperties;
1060
+ background?: null | BackgroundStylingProperties;
1061
+ border?: null | BorderStylingProperties;
1062
+ dimension?: null | DimensionStylingProperties;
1063
+ flexChild?: null | FlexChildStylingProperties;
1064
+ spacing?: null | SpacingStylingProperties;
1065
+ text?: null | TextStylingProperties;
1066
+ }
1050
1067
  export interface CatalogDevicePayButtonElements {
1051
1068
  own: BasicStateStylingBlock<CatalogDevicePayButtonStyles>[];
1069
+ errorText?: null | StatelessStylingBlock<CatalogDevicePayButtonErrorTextStyles>[];
1052
1070
  }
1053
1071
  export type PaymentProvider = "ApplePay" | "GooglePay" | "Stripe" | "Afterpay" | "Paypal" | "Card";
1054
1072
  export interface ValidationTriggerConfig {
@@ -1058,11 +1076,30 @@ export interface CatalogDevicePayButtonModel<Children, Predicates> {
1058
1076
  a11yLabel?: null | string;
1059
1077
  styles?: null | LayoutStyle<CatalogDevicePayButtonElements, ConditionalStyleTransition<CatalogDevicePayButtonTransitions, Predicates>>;
1060
1078
  provider: PaymentProvider;
1079
+ /**
1080
+ * Enables listener-only mode and associates this component with child-layout
1081
+ * payment requests that use the same key.
1082
+ */
1083
+ requestKey?: null | string;
1061
1084
  validatorTriggerConfig?: null | ValidationTriggerConfig;
1085
+ /**
1086
+ * Optional user-facing message rendered for a button-level payment error.
1087
+ * When omitted or empty, the consuming SDK uses its built-in fallback error content.
1088
+ */
1089
+ errorMessage?: null | string;
1062
1090
  children: Children[];
1063
1091
  }
1064
1092
  export interface CatalogDevicePayButtonTransitions {
1065
1093
  own?: null | CatalogDevicePayButtonStyles;
1094
+ errorText?: null | CatalogDevicePayButtonErrorTextStyles;
1095
+ }
1096
+ /**
1097
+ * Text and spacing for the persistent dimension label above the dropdown.
1098
+ * Styling does not change the catalog-provided label text or its visibility.
1099
+ */
1100
+ export interface CatalogDropdownLabelStyles {
1101
+ text?: null | TextStylingProperties;
1102
+ spacing?: null | SpacingStylingProperties;
1066
1103
  }
1067
1104
  /**
1068
1105
  * A styling block for form elements that extends interactive states with
@@ -1119,9 +1156,14 @@ export interface CatalogDropdownStyles {
1119
1156
  * Breakpoint-specific style elements for the CatalogDropdown and all its
1120
1157
  * sub-elements. The `own`, `head`, `icon`, `option`, and `error` elements use
1121
1158
  * `FormStateStylingBlock` to support `selected` and `errored` visual states.
1122
- * `option_list` uses `BasicStateStylingBlock` as it is a structural container.
1159
+ * The non-interactive `label` uses `StatelessStylingBlock`.
1123
1160
  */
1124
1161
  export interface CatalogDropdownElements {
1162
+ /**
1163
+ * Optional responsive text and spacing overrides for the built-in label.
1164
+ * Omitted properties retain the renderer's defaults.
1165
+ */
1166
+ label?: null | StatelessStylingBlock<CatalogDropdownLabelStyles>[];
1125
1167
  /**
1126
1168
  * Style blocks for the dropdown's outer container.
1127
1169
  * Supports `selected` and `errored` states via FormStateStylingBlock.
@@ -1218,6 +1260,14 @@ export interface CatalogDropdownModel<Predicates> {
1218
1260
  * (e.g., "Out of stock").
1219
1261
  */
1220
1262
  unavailableValue?: null | string;
1263
+ /**
1264
+ * The icon rendered in the head, selected by name from the icon set of the
1265
+ * font applied to the `icon` element (via its `text.fontFamily`) — the same
1266
+ * mechanism as `StaticIcon`'s `name`. Allows a partner icon set to supply
1267
+ * the expand/collapse affordance (e.g., "StockXChevronDown"). When omitted,
1268
+ * the platform renders its built-in chevron.
1269
+ */
1270
+ iconName?: null | string;
1221
1271
  /**
1222
1272
  * Configuration for form-level validation of this dropdown field, including
1223
1273
  * the field key and validation rules with their error messages.
@@ -1225,7 +1275,7 @@ export interface CatalogDropdownModel<Predicates> {
1225
1275
  validatorFieldConfig?: null | ValidatorFieldConfig;
1226
1276
  /**
1227
1277
  * Responsive and conditional styling for the dropdown container, head,
1228
- * option list, options, and error message.
1278
+ * label, option list, options, and error message.
1229
1279
  */
1230
1280
  styles?: null | LayoutStyle<CatalogDropdownElements, ConditionalStyleTransition<CatalogDropdownTransitions, Predicates>>;
1231
1281
  }
@@ -1234,6 +1284,8 @@ export interface CatalogDropdownModel<Predicates> {
1234
1284
  * and all its sub-elements.
1235
1285
  */
1236
1286
  export interface CatalogDropdownTransitions {
1287
+ /** Conditional text and spacing overrides for the built-in label. */
1288
+ label?: null | CatalogDropdownLabelStyles;
1237
1289
  /** Transition properties for the outer container. */
1238
1290
  own?: null | CatalogDropdownStyles;
1239
1291
  /** Transition properties for the head/trigger area. */
@@ -1761,17 +1813,27 @@ export interface CatalogResponseButtonElements {
1761
1813
  */
1762
1814
  export interface CatalogResponseButtonModel<Children, Predicates> {
1763
1815
  /** Accessibility label read by screen readers to describe the button's purpose. */
1764
- a11y_label?: null | string;
1816
+ a11yLabel?: null | string;
1765
1817
  /**
1766
1818
  * Unique key identifying which response this button represents in the catalog flow.
1767
1819
  * Sent to the server when the button is tapped to indicate the user's selection.
1768
1820
  */
1769
- response_key?: null | string;
1821
+ responseKey?: null | string;
1822
+ /**
1823
+ * Enables listener-only mode and associates this button with child-layout
1824
+ * purchase requests that use the same key.
1825
+ */
1826
+ requestKey?: null | string;
1770
1827
  /**
1771
1828
  * Responsive and conditional styling for this button, including breakpoint-specific
1772
1829
  * element styles and animated transitions.
1773
1830
  */
1774
1831
  styles?: null | LayoutStyle<CatalogResponseButtonElements, ConditionalStyleTransition<CatalogResponseButtonTransitions, Predicates>>;
1832
+ /**
1833
+ * Optional validation trigger that declares which form-field keys must pass validation
1834
+ * before this button's response is submitted. When omitted, no pre-submit validation runs.
1835
+ */
1836
+ validatorTriggerConfig?: null | ValidationTriggerConfig;
1775
1837
  /**
1776
1838
  * Child nodes rendered inside this button. Typically contains text labels or icons
1777
1839
  * describing the action (e.g., "Add to Cart", product name).
@@ -1980,6 +2042,37 @@ export interface CatalogThumbnailGalleryTransitions {
1980
2042
  /** Transition properties for thumbnail images. */
1981
2043
  thumbnail?: null | CatalogThumbnailGalleryStyles;
1982
2044
  }
2045
+ /**
2046
+ * Responses to the currently presented offer through the parent response flow.
2047
+ * Positive responses must use the supported URL response flow.
2048
+ */
2049
+ export type ChildCreativeResponseKey = "positive" | "negative";
2050
+ /**
2051
+ * Controls how links are opened when clicked. MUST be one of the valid
2052
+ * kebab-case string values. Determines the navigation behavior when a
2053
+ * user activates a link action.
2054
+ */
2055
+ export type LinkOpenTarget =
2056
+ /**
2057
+ * Opens the link within the current context (in-app webview or same
2058
+ * window). Use for links that should keep the user in the application.
2059
+ */
2060
+ "internally"
2061
+ /**
2062
+ * Opens the link in the system browser. Use for external URLs that
2063
+ * should leave the application context.
2064
+ */
2065
+ | "externally";
2066
+ /**
2067
+ * Responds to the currently presented offer through its existing parent handler.
2068
+ * A continuation child advances the parent sequence while staying open; a
2069
+ * standalone child retains its existing completion lifecycle.
2070
+ */
2071
+ export interface ChildCreativeResponseActionModel {
2072
+ responseKey: ChildCreativeResponseKey;
2073
+ /** Positive responses only. If omitted, uses the offer's default link behavior. */
2074
+ openLinks?: null | LinkOpenTarget;
2075
+ }
1983
2076
  /**
1984
2077
  * The top-level schema structure for a child layout (layout variant). Similar to
1985
2078
  * RootSchemaModel but includes predicates for conditional display.
@@ -1998,6 +2091,29 @@ export interface ChildRootSchemaModel<Layout, Display, Settings, Predicates> {
1998
2091
  display?: null | Display;
1999
2092
  /** Conditions that determine when this child layout is displayed. */
2000
2093
  predicates: Predicates[];
2094
+ /**
2095
+ * For a standalone child (no continuationKey), whether user dismissal also
2096
+ * dismisses its originating offer and progresses the parent. Omitted or false
2097
+ * preserves close-only behavior. A continuation session uses its coordinated
2098
+ * response/progression contract instead of this standalone dismissal flag.
2099
+ * Positive completion and parent teardown never count as user dismissal.
2100
+ */
2101
+ advanceOnDismiss?: null | boolean;
2102
+ /**
2103
+ * Identifies matching variant-owned children that continue in one expanded
2104
+ * session across offers. Must be nonblank when present. Omitted means the
2105
+ * existing standalone child lifecycle. Matching/compatibility is checked
2106
+ * against the selected offer sequence by the renderer, not by this root.
2107
+ * ProgressControl and ProgressIndicator use the parent sequence in this mode.
2108
+ */
2109
+ continuationKey?: null | string;
2110
+ /**
2111
+ * When true, this child owns qualification of its offer's creative view;
2112
+ * the embedded presentation must not qualify it. The parent records and
2113
+ * deduplicates the qualifying exposure. Omitted or false preserves ordinary
2114
+ * qualification. This does not change creative render-impression ownership.
2115
+ */
2116
+ ownsViewability?: null | boolean;
2001
2117
  }
2002
2118
  /** Model for the Close action. Mirrors CloseButtonModel properties. */
2003
2119
  export interface CloseActionModel {
@@ -2230,22 +2346,6 @@ export interface CreativeCopyPredicate {
2230
2346
  */
2231
2347
  value: string;
2232
2348
  }
2233
- /**
2234
- * Controls how links are opened when clicked. MUST be one of the valid
2235
- * kebab-case string values. Determines the navigation behavior when a
2236
- * user activates a link action.
2237
- */
2238
- export type LinkOpenTarget =
2239
- /**
2240
- * Opens the link within the current context (in-app webview or same
2241
- * window). Use for links that should keep the user in the application.
2242
- */
2243
- "internally"
2244
- /**
2245
- * Opens the link in the system browser. Use for external URLs that
2246
- * should leave the application context.
2247
- */
2248
- | "externally";
2249
2349
  /**
2250
2350
  * Model for the CreativeResponse action. Mirrors CreativeResponseModel
2251
2351
  * properties.
@@ -2586,6 +2686,11 @@ export interface DynamicIntegerPredicate {
2586
2686
  /** The integer value to compare against. */
2587
2687
  value: number;
2588
2688
  }
2689
+ export interface DynamicNumericComparePredicate {
2690
+ left: string;
2691
+ condition: OrderableWhenCondition;
2692
+ right: string;
2693
+ }
2589
2694
  /**
2590
2695
  * Condition operators for string comparisons. Supports both equality checks
2591
2696
  * and existence checks on string values.
@@ -4910,6 +5015,12 @@ export interface ToggleButtonStateTriggerModel<Children, Predicates> {
4910
5015
  * MUST match the key referenced in When node predicates.
4911
5016
  */
4912
5017
  customStateKey: string;
5018
+ /**
5019
+ * Optional validation trigger that declares which form-field keys must pass validation
5020
+ * before the custom state is toggled. When omitted, no validation runs and the toggle
5021
+ * behaves as it always has.
5022
+ */
5023
+ validatorTriggerConfig?: null | ValidationTriggerConfig;
4913
5024
  }
4914
5025
  /** Transition styles for animating ToggleButtonStateTrigger style changes. */
4915
5026
  export interface ToggleButtonStateTriggerTransitions {
@@ -5436,6 +5547,310 @@ export type CatalogStackedCollectionTemplateNodeChildren = {
5436
5547
  type: "InlineContainer";
5437
5548
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
5438
5549
  };
5550
+ /**
5551
+ * Actions supported in a child layout with an originating offer. Close retains
5552
+ * its existing dismissal behavior; the child root's advanceOnDismiss controls
5553
+ * whether a user dismissal also progresses the parent.
5554
+ */
5555
+ export type ChildLayoutAction = {
5556
+ type: "Close";
5557
+ action: CloseActionModel;
5558
+ } | {
5559
+ type: "SetCustomState";
5560
+ action: SetCustomStateActionModel;
5561
+ } | {
5562
+ type: "CreativeResponse";
5563
+ action: ChildCreativeResponseActionModel;
5564
+ };
5565
+ /**
5566
+ * Recursive node types allowed within child-layout containers. Preserves existing
5567
+ * outer-layout controls and adds offer-scoped predicates and device-pay requests.
5568
+ */
5569
+ export type ChildLayoutChildren = {
5570
+ type: "Form";
5571
+ node: FormModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5572
+ } | {
5573
+ type: "TextInput";
5574
+ node: TextInputModel<LayoutVariantWhenPredicate>;
5575
+ } | {
5576
+ type: "ActionButton";
5577
+ node: ActionButtonModel<ChildLayoutNonInteractableChildren, ChildLayoutAction, LayoutVariantWhenPredicate>;
5578
+ } | {
5579
+ type: "Row";
5580
+ node: RowModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5581
+ } | {
5582
+ type: "FlowRow";
5583
+ node: FlowRowModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5584
+ } | {
5585
+ type: "Column";
5586
+ node: ColumnModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5587
+ } | {
5588
+ type: "ScrollableColumn";
5589
+ node: ScrollableColumnModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
5590
+ } | {
5591
+ type: "ScrollableRow";
5592
+ node: ScrollableRowModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
5593
+ } | {
5594
+ type: "ZStack";
5595
+ node: ZStackModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5596
+ } | {
5597
+ type: "StaticImage";
5598
+ node: StaticImageModel<LayoutVariantWhenPredicate>;
5599
+ } | {
5600
+ type: "DataImage";
5601
+ node: DataImageModel<LayoutVariantWhenPredicate>;
5602
+ } | {
5603
+ type: "RichText";
5604
+ node: RichTextModel<LayoutVariantWhenPredicate>;
5605
+ } | {
5606
+ type: "BasicText";
5607
+ node: BasicTextModel<LayoutVariantWhenPredicate>;
5608
+ } | {
5609
+ type: "ProgressIndicator";
5610
+ node: ProgressIndicatorModel<LayoutVariantWhenPredicate>;
5611
+ } | {
5612
+ type: "OneByOneDistribution";
5613
+ node: OneByOneDistributionModel<LayoutVariantWhenPredicate>;
5614
+ } | {
5615
+ type: "When";
5616
+ node: WhenModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5617
+ } | {
5618
+ type: "StaticLink";
5619
+ node: StaticLinkModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5620
+ } | {
5621
+ type: "CloseButton";
5622
+ node: CloseButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5623
+ } | {
5624
+ type: "MinimizeButton";
5625
+ node: MinimizeButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5626
+ } | {
5627
+ type: "StackedDistribution";
5628
+ node: StackedDistributionModel<LayoutVariantWhenPredicate>;
5629
+ } | {
5630
+ type: "CarouselDistribution";
5631
+ node: CarouselDistributionModel<LayoutVariantWhenPredicate>;
5632
+ } | {
5633
+ type: "ProgressControl";
5634
+ node: ProgressControlModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5635
+ } | {
5636
+ type: "GroupedDistribution";
5637
+ node: GroupedDistributionModel<LayoutVariantWhenPredicate>;
5638
+ } | {
5639
+ type: "DataIcon";
5640
+ node: DataIconModel<LayoutVariantWhenPredicate>;
5641
+ } | {
5642
+ type: "StaticIcon";
5643
+ node: StaticIconModel<LayoutVariantWhenPredicate>;
5644
+ } | {
5645
+ type: "IconGroup";
5646
+ node: IconGroupModel<LayoutVariantWhenPredicate>;
5647
+ } | {
5648
+ type: "SlideStateTrigger";
5649
+ node: SlideStateTriggerModel<LayoutVariantWhenPredicate>;
5650
+ } | {
5651
+ type: "TimerStateTrigger";
5652
+ node: TimerStateTriggerModel;
5653
+ } | {
5654
+ type: "ToggleButtonStateTrigger";
5655
+ node: ToggleButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5656
+ } | {
5657
+ type: "ButtonStateTrigger";
5658
+ node: ButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5659
+ } | {
5660
+ type: "CopyToClipboardButton";
5661
+ node: CopyToClipboardButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5662
+ } | {
5663
+ type: "CatalogDevicePayButton";
5664
+ node: CatalogDevicePayButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5665
+ } | {
5666
+ type: "EscapeHatch";
5667
+ node: EscapeHatchModel;
5668
+ } | {
5669
+ type: "InlineContainer";
5670
+ node: InlineContainerModel<ChildLayoutInlineChildren, LayoutVariantWhenPredicate>;
5671
+ };
5672
+ /**
5673
+ * Inline child-layout nodes. Preserves outer-layout inline controls while carrying
5674
+ * offer-scoped predicates through their non-interactive text children.
5675
+ */
5676
+ export type ChildLayoutInlineChildren = {
5677
+ type: "BasicText";
5678
+ node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
5679
+ } | {
5680
+ type: "StaticLink";
5681
+ node: InlineStaticLinkModel<ChildLayoutNonInteractableInlineChildren, LayoutVariantWhenPredicate>;
5682
+ } | {
5683
+ type: "ToggleButtonStateTrigger";
5684
+ node: InlineToggleButtonStateTriggerModel<ChildLayoutNonInteractableInlineChildren, LayoutVariantWhenPredicate>;
5685
+ } | {
5686
+ type: "ButtonStateTrigger";
5687
+ node: InlineButtonStateTriggerModel<ChildLayoutNonInteractableInlineChildren, LayoutVariantWhenPredicate>;
5688
+ };
5689
+ /**
5690
+ * Non-interactive child-layout nodes. Preserves the outer-layout presentational node
5691
+ * set while carrying offer-scoped predicates through buttons, links, and inline text.
5692
+ */
5693
+ export type ChildLayoutNonInteractableChildren = {
5694
+ type: "Row";
5695
+ node: RowModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5696
+ } | {
5697
+ type: "FlowRow";
5698
+ node: FlowRowModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5699
+ } | {
5700
+ type: "Column";
5701
+ node: ColumnModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5702
+ } | {
5703
+ type: "ZStack";
5704
+ node: ZStackModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5705
+ } | {
5706
+ type: "StaticImage";
5707
+ node: StaticImageModel<LayoutVariantWhenPredicate>;
5708
+ } | {
5709
+ type: "DataImage";
5710
+ node: DataImageModel<LayoutVariantWhenPredicate>;
5711
+ } | {
5712
+ type: "BasicText";
5713
+ node: BasicTextModel<LayoutVariantWhenPredicate>;
5714
+ } | {
5715
+ type: "When";
5716
+ node: WhenModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5717
+ } | {
5718
+ type: "DataIcon";
5719
+ node: DataIconModel<LayoutVariantWhenPredicate>;
5720
+ } | {
5721
+ type: "StaticIcon";
5722
+ node: StaticIconModel<LayoutVariantWhenPredicate>;
5723
+ } | {
5724
+ type: "IconGroup";
5725
+ node: IconGroupModel<LayoutVariantWhenPredicate>;
5726
+ } | {
5727
+ type: "EscapeHatch";
5728
+ node: EscapeHatchModel;
5729
+ } | {
5730
+ type: "InlineContainer";
5731
+ node: InlineContainerModel<ChildLayoutInlineChildren, LayoutVariantWhenPredicate>;
5732
+ };
5733
+ /** Non-interactive inline child-layout nodes. Only permits offer-aware basic text. */
5734
+ export type ChildLayoutNonInteractableInlineChildren = {
5735
+ type: "BasicText";
5736
+ node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
5737
+ };
5738
+ /**
5739
+ * Node types valid within child layouts. Preserves the outer-layout structure while
5740
+ * permitting offer-scoped predicates and device-pay requests only within child layouts.
5741
+ */
5742
+ export type ChildLayoutSchemaModel = {
5743
+ type: "Form";
5744
+ node: FormModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5745
+ } | {
5746
+ type: "TextInput";
5747
+ node: TextInputModel<LayoutVariantWhenPredicate>;
5748
+ } | {
5749
+ type: "ActionButton";
5750
+ node: ActionButtonModel<ChildLayoutNonInteractableChildren, ChildLayoutAction, LayoutVariantWhenPredicate>;
5751
+ } | {
5752
+ type: "Row";
5753
+ node: RowModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5754
+ } | {
5755
+ type: "FlowRow";
5756
+ node: FlowRowModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5757
+ } | {
5758
+ type: "Column";
5759
+ node: ColumnModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5760
+ } | {
5761
+ type: "ScrollableColumn";
5762
+ node: ScrollableColumnModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
5763
+ } | {
5764
+ type: "ScrollableRow";
5765
+ node: ScrollableRowModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
5766
+ } | {
5767
+ type: "ZStack";
5768
+ node: ZStackModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5769
+ } | {
5770
+ type: "StaticImage";
5771
+ node: StaticImageModel<LayoutVariantWhenPredicate>;
5772
+ } | {
5773
+ type: "DataImage";
5774
+ node: DataImageModel<LayoutVariantWhenPredicate>;
5775
+ } | {
5776
+ type: "RichText";
5777
+ node: RichTextModel<LayoutVariantWhenPredicate>;
5778
+ } | {
5779
+ type: "BasicText";
5780
+ node: BasicTextModel<LayoutVariantWhenPredicate>;
5781
+ } | {
5782
+ type: "ProgressIndicator";
5783
+ node: ProgressIndicatorModel<LayoutVariantWhenPredicate>;
5784
+ } | {
5785
+ type: "OneByOneDistribution";
5786
+ node: OneByOneDistributionModel<LayoutVariantWhenPredicate>;
5787
+ } | {
5788
+ type: "Overlay";
5789
+ node: OverlayModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5790
+ } | {
5791
+ type: "BottomSheet";
5792
+ node: BottomSheetModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5793
+ } | {
5794
+ type: "MinimizableBottomSheet";
5795
+ node: MinimizableBottomSheetModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5796
+ } | {
5797
+ type: "When";
5798
+ node: WhenModel<ChildLayoutChildren, LayoutVariantWhenPredicate>;
5799
+ } | {
5800
+ type: "StaticLink";
5801
+ node: StaticLinkModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5802
+ } | {
5803
+ type: "CloseButton";
5804
+ node: CloseButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5805
+ } | {
5806
+ type: "MinimizeButton";
5807
+ node: MinimizeButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5808
+ } | {
5809
+ type: "StackedDistribution";
5810
+ node: StackedDistributionModel<LayoutVariantWhenPredicate>;
5811
+ } | {
5812
+ type: "CarouselDistribution";
5813
+ node: CarouselDistributionModel<LayoutVariantWhenPredicate>;
5814
+ } | {
5815
+ type: "ProgressControl";
5816
+ node: ProgressControlModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5817
+ } | {
5818
+ type: "GroupedDistribution";
5819
+ node: GroupedDistributionModel<LayoutVariantWhenPredicate>;
5820
+ } | {
5821
+ type: "DataIcon";
5822
+ node: DataIconModel<LayoutVariantWhenPredicate>;
5823
+ } | {
5824
+ type: "StaticIcon";
5825
+ node: StaticIconModel<LayoutVariantWhenPredicate>;
5826
+ } | {
5827
+ type: "IconGroup";
5828
+ node: IconGroupModel<LayoutVariantWhenPredicate>;
5829
+ } | {
5830
+ type: "SlideStateTrigger";
5831
+ node: SlideStateTriggerModel<LayoutVariantWhenPredicate>;
5832
+ } | {
5833
+ type: "TimerStateTrigger";
5834
+ node: TimerStateTriggerModel;
5835
+ } | {
5836
+ type: "ToggleButtonStateTrigger";
5837
+ node: ToggleButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5838
+ } | {
5839
+ type: "ButtonStateTrigger";
5840
+ node: ButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5841
+ } | {
5842
+ type: "CopyToClipboardButton";
5843
+ node: CopyToClipboardButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5844
+ } | {
5845
+ type: "CatalogDevicePayButton";
5846
+ node: CatalogDevicePayButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
5847
+ } | {
5848
+ type: "EscapeHatch";
5849
+ node: EscapeHatchModel;
5850
+ } | {
5851
+ type: "InlineContainer";
5852
+ node: InlineContainerModel<ChildLayoutInlineChildren, LayoutVariantWhenPredicate>;
5853
+ };
5439
5854
  /**
5440
5855
  * Fit behaviour options for height.
5441
5856
  * Used as the 'value' inside a {"type": "fit", "value": ...} height specification.
@@ -5494,6 +5909,9 @@ export type LayoutAction = {
5494
5909
  } | {
5495
5910
  type: "InitiateTax";
5496
5911
  action: InitiateTaxActionModel;
5912
+ } | {
5913
+ type: "CaptureLead";
5914
+ action: CaptureLeadActionModel;
5497
5915
  };
5498
5916
  /** Controls how the layout is displayed on the page. */
5499
5917
  export type LayoutDisplayPreset =
@@ -5686,6 +6104,9 @@ export type LayoutVariantAction = {
5686
6104
  } | {
5687
6105
  type: "InitiateTax";
5688
6106
  action: InitiateTaxActionModel;
6107
+ } | {
6108
+ type: "CaptureLead";
6109
+ action: CaptureLeadActionModel;
5689
6110
  };
5690
6111
  /**
5691
6112
  * Recursive child node types allowed within layout variant containers. Includes all layout
@@ -6010,7 +6431,30 @@ export type LayoutVariantSchemaModel = {
6010
6431
  node: PartnerEventButtonTriggerModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
6011
6432
  } | {
6012
6433
  type: "LayoutVariantRoot";
6013
- node: LayoutVariantRootModel<LayoutVariantChildren, LayoutTimer<LayoutVariantWhenPredicate, LayoutVariantAction>>;
6434
+ node: LayoutVariantRootModel<LayoutVariantChildren, LayoutTimer<LayoutVariantWhenPredicate, LayoutVariantTimerAction>>;
6435
+ };
6436
+ /**
6437
+ * Actions available to a layout variant timer. A timer has no ActionButton
6438
+ * `validates` selection, so it cannot capture a lead.
6439
+ */
6440
+ export type LayoutVariantTimerAction = {
6441
+ type: "Close";
6442
+ action: CloseActionModel;
6443
+ } | {
6444
+ type: "SetCustomState";
6445
+ action: SetCustomStateActionModel;
6446
+ } | {
6447
+ type: "CreativeResponse";
6448
+ action: CreativeResponseActionModel;
6449
+ } | {
6450
+ type: "CatalogResponse";
6451
+ action: CatalogResponseActionModel;
6452
+ } | {
6453
+ type: "AddToCart";
6454
+ action: AddToCartActionModel;
6455
+ } | {
6456
+ type: "InitiateTax";
6457
+ action: InitiateTaxActionModel;
6014
6458
  };
6015
6459
  /**
6016
6460
  * Predicate types available in the layout variant (offer format) context.
@@ -6340,6 +6784,9 @@ export type OuterLayoutAction = {
6340
6784
  } | {
6341
6785
  type: "SetCustomState";
6342
6786
  action: SetCustomStateActionModel;
6787
+ } | {
6788
+ type: "CaptureLead";
6789
+ action: CaptureLeadActionModel;
6343
6790
  };
6344
6791
  /**
6345
6792
  * Recursive child node types allowed within outer layout containers. Includes structural,
@@ -6622,6 +7069,17 @@ export type OuterLayoutSchemaModel = {
6622
7069
  type: "InlineContainer";
6623
7070
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
6624
7071
  };
7072
+ /**
7073
+ * Actions available to an outer layout timer. A timer has no ActionButton
7074
+ * `validates` selection, so it cannot capture a lead.
7075
+ */
7076
+ export type OuterLayoutTimerAction = {
7077
+ type: "Close";
7078
+ action: CloseActionModel;
7079
+ } | {
7080
+ type: "SetCustomState";
7081
+ action: SetCustomStateActionModel;
7082
+ };
6625
7083
  /**
6626
7084
  * Predicate types available in the outer layout context. This is a more
6627
7085
  * restricted subset of predicates for use in the outer layout wrapper.
@@ -6702,6 +7160,110 @@ export type PlaceholderPredicate =
6702
7160
  | {
6703
7161
  type: "Numeric";
6704
7162
  content: DynamicIntegerPredicate;
7163
+ } | {
7164
+ type: "NumericCompare";
7165
+ content: DynamicNumericComparePredicate;
7166
+ };
7167
+ /**
7168
+ * Child-layout nodes permitted within scrollable containers. Retains offer-scoped
7169
+ * predicates and device-pay buttons without allowing nested scrollable or modal nodes.
7170
+ */
7171
+ export type ScrollableChildLayoutChildren = {
7172
+ type: "Form";
7173
+ node: FormModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7174
+ } | {
7175
+ type: "TextInput";
7176
+ node: TextInputModel<LayoutVariantWhenPredicate>;
7177
+ } | {
7178
+ type: "ActionButton";
7179
+ node: ActionButtonModel<ChildLayoutNonInteractableChildren, ChildLayoutAction, LayoutVariantWhenPredicate>;
7180
+ } | {
7181
+ type: "Row";
7182
+ node: RowModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7183
+ } | {
7184
+ type: "FlowRow";
7185
+ node: FlowRowModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7186
+ } | {
7187
+ type: "Column";
7188
+ node: ColumnModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7189
+ } | {
7190
+ type: "ZStack";
7191
+ node: ZStackModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7192
+ } | {
7193
+ type: "StaticImage";
7194
+ node: StaticImageModel<LayoutVariantWhenPredicate>;
7195
+ } | {
7196
+ type: "DataImage";
7197
+ node: DataImageModel<LayoutVariantWhenPredicate>;
7198
+ } | {
7199
+ type: "RichText";
7200
+ node: RichTextModel<LayoutVariantWhenPredicate>;
7201
+ } | {
7202
+ type: "BasicText";
7203
+ node: BasicTextModel<LayoutVariantWhenPredicate>;
7204
+ } | {
7205
+ type: "ProgressIndicator";
7206
+ node: ProgressIndicatorModel<LayoutVariantWhenPredicate>;
7207
+ } | {
7208
+ type: "OneByOneDistribution";
7209
+ node: OneByOneDistributionModel<LayoutVariantWhenPredicate>;
7210
+ } | {
7211
+ type: "When";
7212
+ node: WhenModel<ScrollableChildLayoutChildren, LayoutVariantWhenPredicate>;
7213
+ } | {
7214
+ type: "StaticLink";
7215
+ node: StaticLinkModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7216
+ } | {
7217
+ type: "CloseButton";
7218
+ node: CloseButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7219
+ } | {
7220
+ type: "MinimizeButton";
7221
+ node: MinimizeButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7222
+ } | {
7223
+ type: "StackedDistribution";
7224
+ node: StackedDistributionModel<LayoutVariantWhenPredicate>;
7225
+ } | {
7226
+ type: "CarouselDistribution";
7227
+ node: CarouselDistributionModel<LayoutVariantWhenPredicate>;
7228
+ } | {
7229
+ type: "ProgressControl";
7230
+ node: ProgressControlModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7231
+ } | {
7232
+ type: "GroupedDistribution";
7233
+ node: GroupedDistributionModel<LayoutVariantWhenPredicate>;
7234
+ } | {
7235
+ type: "DataIcon";
7236
+ node: DataIconModel<LayoutVariantWhenPredicate>;
7237
+ } | {
7238
+ type: "StaticIcon";
7239
+ node: StaticIconModel<LayoutVariantWhenPredicate>;
7240
+ } | {
7241
+ type: "IconGroup";
7242
+ node: IconGroupModel<LayoutVariantWhenPredicate>;
7243
+ } | {
7244
+ type: "SlideStateTrigger";
7245
+ node: SlideStateTriggerModel<LayoutVariantWhenPredicate>;
7246
+ } | {
7247
+ type: "TimerStateTrigger";
7248
+ node: TimerStateTriggerModel;
7249
+ } | {
7250
+ type: "ToggleButtonStateTrigger";
7251
+ node: ToggleButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7252
+ } | {
7253
+ type: "ButtonStateTrigger";
7254
+ node: ButtonStateTriggerModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7255
+ } | {
7256
+ type: "CopyToClipboardButton";
7257
+ node: CopyToClipboardButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7258
+ } | {
7259
+ type: "CatalogDevicePayButton";
7260
+ node: CatalogDevicePayButtonModel<ChildLayoutNonInteractableChildren, LayoutVariantWhenPredicate>;
7261
+ } | {
7262
+ type: "EscapeHatch";
7263
+ node: EscapeHatchModel;
7264
+ } | {
7265
+ type: "InlineContainer";
7266
+ node: InlineContainerModel<ChildLayoutInlineChildren, LayoutVariantWhenPredicate>;
6705
7267
  };
6706
7268
  /**
6707
7269
  * Child node types allowed inside scrollable containers (ScrollableColumn, ScrollableRow)