@rokt/dcui-orchestrator 0.2.1-rc.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/dist/extensions/address-form/src/actions/forms.d.ts +11 -0
  2. package/dist/extensions/address-form/src/actions/index.d.ts +1 -0
  3. package/dist/extensions/address-form/src/components/address-form.d.ts +96 -0
  4. package/dist/extensions/address-form/src/components/edit-address-form-view.d.ts +23 -0
  5. package/dist/extensions/address-form/src/components/form-button.d.ts +15 -0
  6. package/dist/extensions/address-form/src/components/input-field.d.ts +34 -0
  7. package/dist/extensions/address-form/src/index.d.ts +3 -0
  8. package/dist/extensions/address-form/src/models/form-state.d.ts +1 -0
  9. package/dist/extensions/address-form/src/models/index.d.ts +1 -0
  10. package/dist/extensions/address-form/src/reducers/forms.d.ts +4 -0
  11. package/dist/extensions/address-form/src/reducers/index.d.ts +1 -0
  12. package/dist/extensions/address-form/src/sagas/cart-service/index.d.ts +1 -0
  13. package/dist/extensions/address-form/src/sagas/cart-service/sagas.d.ts +9 -0
  14. package/dist/extensions/address-form/src/sagas/index.d.ts +2 -0
  15. package/dist/extensions/address-form/src/types.d.ts +63 -0
  16. package/dist/extensions/address-form/src/utils.d.ts +15 -0
  17. package/dist/extensions/minimized-bottomsheet/src/components/bottom-sheet/bottom-sheet.d.ts +2 -0
  18. package/dist/extensions/minimized-bottomsheet/src/components/bottom-sheet/factory.d.ts +1 -0
  19. package/dist/extensions/minimized-bottomsheet/src/components/bottom-sheet/hooks.d.ts +2 -1
  20. package/dist/extensions/minimized-bottomsheet/src/components/bottomsheet-wrapper/overlay-wrapper.d.ts +2 -2
  21. package/dist/extensions/shimmer-background/src/index.d.ts +10 -0
  22. package/dist/extensions/shimmer-background/src/shimmer-background.d.ts +11 -0
  23. package/dist/index.cjs +97 -46
  24. package/dist/index.js +102 -51
  25. package/dist/libraries/dcui-components/src/components/action-button/action-button.d.ts +24 -0
  26. package/dist/libraries/dcui-components/src/components/action-button/factory.d.ts +2 -0
  27. package/dist/libraries/dcui-components/src/components/action-button/index.d.ts +2 -0
  28. package/dist/libraries/dcui-components/src/components/catalog-carousel-collection/hooks.d.ts +7 -0
  29. package/dist/libraries/{layout-renderer-utils → dcui-components}/src/components/close-button/factory.d.ts +1 -1
  30. package/dist/libraries/dcui-components/src/components/data-image-carousel/carousel-indicators.d.ts +20 -0
  31. package/dist/libraries/dcui-components/src/components/data-image-carousel/data-image-carousel.d.ts +100 -0
  32. package/dist/libraries/dcui-components/src/components/data-image-carousel/factory.d.ts +2 -0
  33. package/dist/libraries/dcui-components/src/components/data-image-carousel/index.d.ts +2 -0
  34. package/dist/libraries/dcui-components/src/components/data-mapper/form-state-projection.d.ts +31 -0
  35. package/dist/libraries/dcui-components/src/components/data-mapper/index.d.ts +1 -0
  36. package/dist/libraries/dcui-components/src/components/extension/context.d.ts +2 -1
  37. package/dist/libraries/dcui-components/src/components/extension/models.d.ts +2 -1
  38. package/dist/libraries/dcui-components/src/components/form/factory.d.ts +2 -0
  39. package/dist/libraries/dcui-components/src/components/form/form.d.ts +24 -0
  40. package/dist/libraries/dcui-components/src/components/form/index.d.ts +2 -0
  41. package/dist/libraries/dcui-components/src/components/icon-group/factory.d.ts +2 -0
  42. package/dist/libraries/dcui-components/src/components/icon-group/icon-group.d.ts +36 -0
  43. package/dist/libraries/dcui-components/src/components/icon-group/index.d.ts +2 -0
  44. package/dist/libraries/dcui-components/src/components/index.d.ts +5 -0
  45. package/dist/libraries/dcui-components/src/components/layout-timer/index.d.ts +5 -0
  46. package/dist/libraries/dcui-components/src/components/layout-timer/layout-timer.d.ts +7 -0
  47. package/dist/libraries/dcui-components/src/components/layout-timer/timer-countdown-provider.d.ts +8 -0
  48. package/dist/libraries/dcui-components/src/components/layout-timer/use-layout-timer.d.ts +11 -0
  49. package/dist/libraries/dcui-components/src/components/layout-timer/use-timer-action-dispatch.d.ts +9 -0
  50. package/dist/libraries/dcui-components/src/components/rich-text/rich-text.d.ts +2 -0
  51. package/dist/libraries/dcui-components/src/components/scrollable-column/scrollable-column.d.ts +1 -1
  52. package/dist/libraries/dcui-components/src/components/scrollable-row/scrollable-row.d.ts +1 -1
  53. package/dist/libraries/dcui-components/src/components/style-mapper/get-css-writer.d.ts +1 -0
  54. package/dist/libraries/dcui-components/src/components/style-mapper/transformers/index.d.ts +1 -0
  55. package/dist/libraries/dcui-components/src/components/style-mapper/transformers/scroll-mask-transformer.d.ts +8 -0
  56. package/dist/libraries/dcui-components/src/components/style-mapper/types.d.ts +2 -2
  57. package/dist/libraries/dcui-components/src/components/text-input/factory.d.ts +2 -0
  58. package/dist/libraries/dcui-components/src/components/text-input/index.d.ts +2 -0
  59. package/dist/libraries/dcui-components/src/components/text-input/text-input.d.ts +23 -0
  60. package/dist/libraries/dcui-components/src/components/when/form-state.d.ts +9 -0
  61. package/dist/libraries/dcui-components/src/contexts/form-context.d.ts +15 -0
  62. package/dist/libraries/dcui-components/src/contexts/index.d.ts +2 -0
  63. package/dist/libraries/dcui-components/src/contexts/minimizable-context.d.ts +2 -0
  64. package/dist/libraries/dcui-components/src/contexts/offer-data-context.d.ts +1 -0
  65. package/dist/libraries/dcui-components/src/failure-codes.d.ts +1 -0
  66. package/dist/libraries/dcui-components/src/utils/get-scroll-mask-config.d.ts +20 -0
  67. package/dist/libraries/dcui-components/src/utils/index.d.ts +2 -0
  68. package/dist/libraries/dcui-components/src/utils/use-scroll-mask-visibility.d.ts +22 -0
  69. package/dist/libraries/dcui-schema/src/models/nodes/close-button.d.ts +3 -1
  70. package/dist/libraries/domain/src/behaviors/cart-item-event.d.ts +44 -0
  71. package/dist/libraries/domain/src/behaviors/dismiss-overlay.d.ts +9 -0
  72. package/dist/libraries/domain/src/behaviors/domain-states.d.ts +2 -2
  73. package/dist/libraries/domain/src/behaviors/form-state.d.ts +66 -0
  74. package/dist/libraries/domain/src/behaviors/global-actions.d.ts +17 -1
  75. package/dist/libraries/domain/src/behaviors/index.d.ts +6 -0
  76. package/dist/libraries/domain/src/behaviors/layout-events.d.ts +17 -0
  77. package/dist/libraries/domain/src/behaviors/offer-engagement.d.ts +3 -1
  78. package/dist/libraries/domain/src/behaviors/report-error.d.ts +26 -0
  79. package/dist/libraries/domain/src/behaviors/send-partner.d.ts +40 -3
  80. package/dist/libraries/domain/src/behaviors/trigger-action.d.ts +19 -0
  81. package/dist/libraries/domain/src/models/domain-state-keys.d.ts +5 -0
  82. package/dist/libraries/domain/src/models/form-state.d.ts +85 -0
  83. package/dist/libraries/domain/src/models/global-state.d.ts +4 -1
  84. package/dist/libraries/domain/src/models/index.d.ts +3 -0
  85. package/dist/libraries/domain/src/models/layout/index.d.ts +1 -0
  86. package/dist/libraries/domain/src/models/layout/layout-catalog-item.d.ts +2 -0
  87. package/dist/libraries/domain/src/models/layout/layout-child-config.d.ts +2 -0
  88. package/dist/libraries/domain/src/models/layout/layout-config.d.ts +2 -2
  89. package/dist/libraries/domain/src/models/layout/layout-offer.d.ts +2 -0
  90. package/dist/libraries/domain/src/models/layout/layout-signal-type.d.ts +3 -1
  91. package/dist/libraries/domain/src/models/layout/layout-transaction-data.d.ts +31 -0
  92. package/dist/libraries/domain/src/models/partner-event.d.ts +2 -2
  93. package/dist/libraries/domain/src/models/plugin/index.d.ts +2 -0
  94. package/dist/libraries/domain/src/models/plugin/plugin-catalog-item-group.d.ts +17 -0
  95. package/dist/libraries/domain/src/models/plugin/plugin-catalog-item.d.ts +8 -0
  96. package/dist/libraries/domain/src/models/plugin/plugin-child-layout-model.d.ts +2 -0
  97. package/dist/libraries/domain/src/models/plugin/plugin-model.d.ts +3 -3
  98. package/dist/libraries/domain/src/models/plugin/plugin-offer.d.ts +4 -0
  99. package/dist/libraries/domain/src/models/plugin/plugin-signal-type.d.ts +4 -1
  100. package/dist/libraries/domain/src/models/plugin/plugin-transaction-data.d.ts +31 -0
  101. package/dist/libraries/domain/src/models/purchase.d.ts +54 -0
  102. package/dist/libraries/domain/src/models/shipping.d.ts +25 -0
  103. package/dist/libraries/domain/src/models/signals.d.ts +19 -5
  104. package/dist/libraries/layout-renderer-utils/src/actions/domain-states.d.ts +14 -0
  105. package/dist/libraries/layout-renderer-utils/src/actions/form-states.d.ts +37 -0
  106. package/dist/libraries/layout-renderer-utils/src/actions/index.d.ts +15 -3
  107. package/dist/libraries/layout-renderer-utils/src/actions/overlay.d.ts +15 -8
  108. package/dist/libraries/layout-renderer-utils/src/actions/settings.d.ts +10 -3
  109. package/dist/libraries/layout-renderer-utils/src/components/index.d.ts +4 -1
  110. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/connector.d.ts +2 -0
  111. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/drag-handle.d.ts +7 -0
  112. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/extract-border-styles.d.ts +25 -0
  113. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/factory.d.ts +13 -0
  114. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/hooks.d.ts +23 -0
  115. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/index.d.ts +2 -0
  116. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/minimizable-bottomsheet-wrapper.d.ts +12 -0
  117. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/minimizable-bottomsheet.d.ts +27 -0
  118. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/sheet-gesture.d.ts +18 -0
  119. package/dist/libraries/layout-renderer-utils/src/components/minimizable-bottomsheet/types.d.ts +63 -0
  120. package/dist/libraries/layout-renderer-utils/src/components/minimize-button/factory.d.ts +2 -0
  121. package/dist/libraries/layout-renderer-utils/src/components/minimize-button/index.d.ts +2 -0
  122. package/dist/libraries/layout-renderer-utils/src/components/minimize-button/minimize-button.d.ts +12 -0
  123. package/dist/libraries/layout-renderer-utils/src/components/overlay/overlay.d.ts +1 -0
  124. package/dist/libraries/layout-renderer-utils/src/components/overlay-wrapper/attached-overlay-wrapper.d.ts +19 -0
  125. package/dist/libraries/layout-renderer-utils/src/components/overlay-wrapper/index.d.ts +1 -0
  126. package/dist/libraries/layout-renderer-utils/src/components/utils.d.ts +1 -0
  127. package/dist/libraries/layout-renderer-utils/src/constant.d.ts +1 -1
  128. package/dist/libraries/layout-renderer-utils/src/hooks/useEscToClose.d.ts +1 -0
  129. package/dist/libraries/layout-renderer-utils/src/models/state/fired-events.d.ts +17 -0
  130. package/dist/libraries/layout-renderer-utils/src/models/state/form-states.d.ts +11 -0
  131. package/dist/libraries/layout-renderer-utils/src/models/state/index.d.ts +9 -2
  132. package/dist/libraries/layout-renderer-utils/src/models/state/layout.d.ts +2 -1
  133. package/dist/libraries/layout-renderer-utils/src/models/state/settings.d.ts +6 -0
  134. package/dist/libraries/layout-renderer-utils/src/reducers/fired-events/index.d.ts +1 -0
  135. package/dist/libraries/layout-renderer-utils/src/reducers/fired-events/reducer.d.ts +5 -0
  136. package/dist/libraries/layout-renderer-utils/src/reducers/form-states/index.d.ts +1 -0
  137. package/dist/libraries/layout-renderer-utils/src/reducers/form-states/reducer.d.ts +4 -0
  138. package/dist/libraries/layout-renderer-utils/src/reducers/index.d.ts +6 -0
  139. package/dist/libraries/layout-renderer-utils/src/reducers/settings/reducer.d.ts +3 -3
  140. package/dist/libraries/layout-renderer-utils/src/sagas/error/error-codes.d.ts +2 -0
  141. package/dist/libraries/layout-renderer-utils/src/sagas/form-states/index.d.ts +1 -0
  142. package/dist/libraries/layout-renderer-utils/src/sagas/form-states/sagas.d.ts +16 -0
  143. package/dist/libraries/layout-renderer-utils/src/sagas/index.d.ts +2 -0
  144. package/dist/libraries/layout-renderer-utils/src/sagas/plugin/attached-bottomsheet.d.ts +18 -0
  145. package/dist/libraries/layout-renderer-utils/src/sagas/plugin/display.d.ts +7 -13
  146. package/dist/libraries/layout-renderer-utils/src/sagas/plugin/sagas.d.ts +1 -1
  147. package/dist/libraries/layout-renderer-utils/src/sagas/trigger-action/index.d.ts +1 -0
  148. package/dist/libraries/layout-renderer-utils/src/sagas/trigger-action/sagas.d.ts +12 -0
  149. package/dist/libraries/layout-renderer-utils/src/selectors/fired-events/selectors.d.ts +7 -0
  150. package/dist/libraries/layout-renderer-utils/src/selectors/form-state/index.d.ts +1 -0
  151. package/dist/libraries/layout-renderer-utils/src/selectors/form-state/selectors.d.ts +8 -0
  152. package/dist/libraries/layout-renderer-utils/src/selectors/index.d.ts +2 -0
  153. package/dist/libraries/layout-renderer-utils/src/utils/signals.d.ts +2 -2
  154. package/dist/libraries/module-connector/src/main.d.ts +1 -1
  155. package/dist/libraries/module-connector/src/models/gateway.d.ts +4 -3
  156. package/dist/libraries/module-connector/src/models/module-connector-builder.d.ts +4 -1
  157. package/dist/libraries/module-utils/src/actions/child-layouts.d.ts +11 -0
  158. package/dist/libraries/module-utils/src/actions/dynamic-data.d.ts +7 -0
  159. package/dist/libraries/module-utils/src/actions/index.d.ts +2 -0
  160. package/dist/libraries/module-utils/src/index.d.ts +5 -0
  161. package/dist/libraries/module-utils/src/models/index.d.ts +1 -0
  162. package/dist/libraries/module-utils/src/models/state/child-layouts.d.ts +4 -0
  163. package/dist/libraries/module-utils/src/models/state/dynamic-data.d.ts +3 -0
  164. package/dist/libraries/module-utils/src/models/state/index.d.ts +3 -0
  165. package/dist/libraries/module-utils/src/models/state/static-data.d.ts +6 -0
  166. package/dist/libraries/module-utils/src/reducers/child-layouts/index.d.ts +1 -0
  167. package/dist/libraries/module-utils/src/reducers/child-layouts/reducer.d.ts +5 -0
  168. package/dist/libraries/module-utils/src/reducers/dynamic-data/index.d.ts +1 -0
  169. package/dist/libraries/module-utils/src/reducers/dynamic-data/reducer.d.ts +4 -0
  170. package/dist/libraries/module-utils/src/reducers/index.d.ts +3 -0
  171. package/dist/libraries/module-utils/src/reducers/static-data/index.d.ts +1 -0
  172. package/dist/libraries/module-utils/src/reducers/static-data/reducer.d.ts +4 -0
  173. package/dist/libraries/module-utils/src/sagas/child-layouts/index.d.ts +1 -0
  174. package/dist/libraries/module-utils/src/sagas/child-layouts/sagas.d.ts +5 -0
  175. package/dist/libraries/module-utils/src/sagas/error-codes.d.ts +1 -0
  176. package/dist/libraries/module-utils/src/sagas/index.d.ts +1 -0
  177. package/dist/libraries/module-utils/src/selectors/child-layouts/index.d.ts +1 -0
  178. package/dist/libraries/module-utils/src/selectors/child-layouts/selectors.d.ts +4 -0
  179. package/dist/libraries/module-utils/src/selectors/dynamic-data/index.d.ts +1 -0
  180. package/dist/libraries/module-utils/src/selectors/dynamic-data/selectors.d.ts +4 -0
  181. package/dist/libraries/module-utils/src/selectors/index.d.ts +3 -0
  182. package/dist/libraries/module-utils/src/selectors/static-data/index.d.ts +1 -0
  183. package/dist/libraries/module-utils/src/selectors/static-data/selectors.d.ts +7 -0
  184. package/dist/libraries/orchestrator/src/actions/domain-states.d.ts +2 -2
  185. package/dist/libraries/orchestrator/src/actions/index.d.ts +14 -4
  186. package/dist/libraries/orchestrator/src/actions/trigger-action.d.ts +2 -0
  187. package/dist/libraries/orchestrator/src/global-store-proxy.d.ts +2 -0
  188. package/dist/libraries/orchestrator/src/models/index.d.ts +1 -1
  189. package/dist/libraries/orchestrator/src/models/state/domain-states.d.ts +2 -2
  190. package/dist/libraries/orchestrator/src/models/state/index.d.ts +0 -2
  191. package/dist/libraries/orchestrator/src/reducers/domain-states/reducer.d.ts +2 -1
  192. package/dist/libraries/orchestrator/src/reducers/index.d.ts +3 -1
  193. package/dist/libraries/orchestrator/src/sagas/plugin/config-transformer.d.ts +2 -2
  194. package/dist/libraries/orchestrator/src/sagas/plugin/migrate-schema.d.ts +2 -2
  195. package/dist/libraries/orchestrator/src/sagas/plugin/migrations/migration-mapper.d.ts +3 -3
  196. package/dist/libraries/orchestrator/src/sagas/plugin/migrations/v1.0.d.ts +2 -2
  197. package/dist/libraries/orchestrator/src/sagas/plugin/sagas.d.ts +2 -2
  198. package/dist/libraries/orchestrator/src/sagas/progression/sagas.d.ts +2 -1
  199. package/dist/libraries/orchestrator/src/sagas/trigger-action/index.d.ts +1 -0
  200. package/dist/libraries/orchestrator/src/sagas/trigger-action/sagas.d.ts +3 -0
  201. package/dist/libraries/orchestrator/src/selectors/domain-state/selectors.d.ts +2 -2
  202. package/dist/libraries/orchestrator/src/selectors/index.d.ts +1 -1
  203. package/dist/libraries/plugin-utils/src/translate-config.d.ts +5 -1
  204. package/dist/libraries/saga-utils/src/sagas/handle-variant-action.d.ts +12 -0
  205. package/dist/libraries/saga-utils/src/sagas/index.d.ts +1 -0
  206. package/dist/libraries/saga-utils/src/utils/catalog-translator.d.ts +1 -0
  207. package/dist/modules/add-to-cart/src/components/escape-hatch/factory.d.ts +1 -1
  208. package/dist/modules/add-to-cart/src/components/mapped-icons/icon-registry-data.d.ts +10 -0
  209. package/dist/modules/add-to-cart/src/components/mapped-icons/icon-registry.d.ts +9 -0
  210. package/dist/modules/add-to-cart/src/components/mapped-icons/mapped-icon.d.ts +15 -0
  211. package/dist/modules/add-to-cart/src/components/read-more-text/read-more-text.d.ts +29 -0
  212. package/dist/modules/add-to-cart/src/components/read-more-text-container/read-more-text-container.d.ts +34 -0
  213. package/dist/modules/add-to-cart/src/components/scroll-to-target/scroll-to-target.d.ts +56 -0
  214. package/dist/modules/add-to-cart/src/components/tooltip/tooltip.d.ts +42 -0
  215. package/dist/modules/add-to-cart/src/components/when-catalog-quantity/when-catalog-quantity.d.ts +22 -0
  216. package/dist/modules/add-to-cart/src/reducers/index.d.ts +1 -1
  217. package/dist/modules/add-to-cart/src/sagas/cart-service-response/index.d.ts +1 -0
  218. package/dist/modules/add-to-cart/src/sagas/cart-service-response/sagas.d.ts +11 -0
  219. package/dist/modules/add-to-cart/src/sagas/index.d.ts +11 -0
  220. package/dist/modules/add-to-cart/src/selectors/catalogItems/selectors.d.ts +2 -0
  221. package/dist/modules/add-to-cart/src/selectors/creative/index.d.ts +1 -0
  222. package/dist/modules/add-to-cart/src/selectors/creative/selectors.d.ts +3 -0
  223. package/dist/modules/add-to-cart/src/selectors/index.d.ts +2 -1
  224. package/dist/modules/add-to-cart/src/selectors/offerDataState/index.d.ts +1 -0
  225. package/dist/modules/add-to-cart/src/selectors/{globalOfferDataState → offerDataState}/selectors.d.ts +1 -1
  226. package/dist/modules/instant-purchase/src/actions/device-pay.d.ts +60 -0
  227. package/dist/modules/instant-purchase/src/actions/index.d.ts +2 -0
  228. package/dist/modules/instant-purchase/src/actions/instant-purchase.d.ts +52 -2
  229. package/dist/modules/instant-purchase/src/actions/paypal.d.ts +35 -0
  230. package/dist/modules/instant-purchase/src/channels/channel.d.ts +5 -1
  231. package/dist/modules/instant-purchase/src/components/catalog-device-pay-button/apple-pay-button.d.ts +36 -0
  232. package/dist/modules/instant-purchase/src/components/catalog-device-pay-button/catalog-device-pay-button.d.ts +59 -0
  233. package/dist/modules/instant-purchase/src/components/catalog-device-pay-button/factory.d.ts +2 -0
  234. package/dist/modules/instant-purchase/src/components/catalog-device-pay-button/retryable-device-pay-error.d.ts +1 -0
  235. package/dist/modules/instant-purchase/src/components/catalog-discount-callout-tag/catalog-discount-callout-tag.d.ts +90 -0
  236. package/dist/modules/instant-purchase/src/components/catalog-dropdown/catalog-dropdown.d.ts +6 -0
  237. package/dist/modules/instant-purchase/src/components/catalog-dropdown/dropdown-options-context.d.ts +17 -0
  238. package/dist/modules/instant-purchase/src/components/catalog-dropdown/factory.d.ts +2 -0
  239. package/dist/modules/instant-purchase/src/components/catalog-imagegallery/catalog-gallery-index.d.ts +1 -0
  240. package/dist/modules/instant-purchase/src/components/catalog-imagegallery/catalog-image-gallery.d.ts +6 -0
  241. package/dist/modules/instant-purchase/src/components/catalog-imagegallery/factory.d.ts +2 -0
  242. package/dist/modules/instant-purchase/src/components/catalog-selectors-stacked/catalog-selectors-stacked.d.ts +6 -0
  243. package/dist/modules/instant-purchase/src/components/catalog-selectors-stacked/factory.d.ts +2 -0
  244. package/dist/modules/instant-purchase/src/components/catalog-thumbnail-gallery/catalog-thumbnail-gallery.d.ts +6 -0
  245. package/dist/modules/instant-purchase/src/components/catalog-thumbnail-gallery/factory.d.ts +2 -0
  246. package/dist/modules/instant-purchase/src/components/checkbox/checkbox.d.ts +1 -0
  247. package/dist/modules/instant-purchase/src/components/checkout-state-button-trigger/checkout-state-button-trigger.d.ts +2 -0
  248. package/dist/modules/instant-purchase/src/components/custom-state-validation-trigger-button/custom-state-validation-trigger-button.d.ts +28 -0
  249. package/dist/modules/instant-purchase/src/components/dismiss-instant-purchase-button/dismiss-instant-purchase-button.d.ts +1 -0
  250. package/dist/modules/instant-purchase/src/components/escape-hatch/factory.d.ts +1 -1
  251. package/dist/modules/instant-purchase/src/components/escape-hatch/index.d.ts +1 -0
  252. package/dist/modules/instant-purchase/src/components/{catalog-drop-down → escapehatch-catalog-drop-down}/catalog-drop-down.d.ts +2 -0
  253. package/dist/modules/instant-purchase/src/components/{catalog-image-gallery → escapehatch-catalog-image-gallery}/catalog-image-gallery.d.ts +15 -4
  254. package/dist/modules/instant-purchase/src/components/escapehatch-catalog-image-gallery/constants.d.ts +9 -0
  255. package/dist/modules/instant-purchase/src/components/inline-container/factory.d.ts +2 -0
  256. package/dist/modules/instant-purchase/src/components/inline-container/inline-container.d.ts +55 -0
  257. package/dist/modules/instant-purchase/src/components/loading-spinner/loading-spinner.d.ts +2 -1
  258. package/dist/modules/instant-purchase/src/components/offer-lifecycle-timer/offer-lifecycle-timer.d.ts +2 -0
  259. package/dist/modules/instant-purchase/src/components/read-more-text-container/read-more-text-container.d.ts +1 -0
  260. package/dist/modules/instant-purchase/src/components/rich-text/factory.d.ts +2 -0
  261. package/dist/modules/instant-purchase/src/components/rich-text/rich-text.d.ts +64 -0
  262. package/dist/modules/instant-purchase/src/components/snackbar/snackbar.d.ts +25 -0
  263. package/dist/modules/instant-purchase/src/constants/device-pay-error.d.ts +4 -0
  264. package/dist/modules/instant-purchase/src/constants/device-pay-providers.d.ts +26 -0
  265. package/dist/modules/instant-purchase/src/constants/index.d.ts +2 -0
  266. package/dist/modules/instant-purchase/src/models/state/device-pay-availability.d.ts +5 -0
  267. package/dist/modules/instant-purchase/src/models/state/index.d.ts +1 -0
  268. package/dist/modules/instant-purchase/src/models/state/instant-purchase.d.ts +70 -2
  269. package/dist/modules/instant-purchase/src/reducers/device-pay-availability/index.d.ts +1 -0
  270. package/dist/modules/instant-purchase/src/reducers/device-pay-availability/reducer.d.ts +4 -0
  271. package/dist/modules/instant-purchase/src/reducers/index.d.ts +17 -2
  272. package/dist/modules/instant-purchase/src/reducers/instant-purchase/index.d.ts +3 -0
  273. package/dist/modules/instant-purchase/src/reducers/instant-purchase/offer-lifecycle-event/index.d.ts +1 -0
  274. package/dist/modules/instant-purchase/src/reducers/instant-purchase/offer-lifecycle-event/reducer.d.ts +4 -0
  275. package/dist/modules/instant-purchase/src/reducers/instant-purchase/purchase-id/index.d.ts +1 -0
  276. package/dist/modules/instant-purchase/src/reducers/instant-purchase/purchase-id/reducer.d.ts +4 -0
  277. package/dist/modules/instant-purchase/src/reducers/instant-purchase/tax-and-shipping-data-cache/index.d.ts +1 -0
  278. package/dist/modules/instant-purchase/src/reducers/instant-purchase/tax-and-shipping-data-cache/reducer.d.ts +4 -0
  279. package/dist/modules/instant-purchase/src/reducers/paypal-purchase-context/index.d.ts +2 -0
  280. package/dist/modules/instant-purchase/src/reducers/paypal-purchase-context/reducer.d.ts +5 -0
  281. package/dist/modules/instant-purchase/src/reducers/paypal-transaction-details/index.d.ts +2 -0
  282. package/dist/modules/instant-purchase/src/reducers/paypal-transaction-details/reducer.d.ts +5 -0
  283. package/dist/modules/instant-purchase/src/sagas/checkout-lifecycle/sagas.d.ts +1 -1
  284. package/dist/modules/instant-purchase/src/sagas/device-pay/index.d.ts +1 -0
  285. package/dist/modules/instant-purchase/src/sagas/device-pay/sagas.d.ts +116 -0
  286. package/dist/modules/instant-purchase/src/sagas/dismiss-overlay/index.d.ts +1 -0
  287. package/dist/modules/instant-purchase/src/sagas/dismiss-overlay/sagas.d.ts +7 -0
  288. package/dist/modules/instant-purchase/src/sagas/error-codes.d.ts +14 -0
  289. package/dist/modules/instant-purchase/src/sagas/index.d.ts +16 -1
  290. package/dist/modules/instant-purchase/src/sagas/instant-purchase/sagas.d.ts +20 -72
  291. package/dist/modules/instant-purchase/src/sagas/instant-purchase-signals.d.ts +4 -0
  292. package/dist/modules/instant-purchase/src/sagas/layout-events.d.ts +9 -0
  293. package/dist/modules/instant-purchase/src/sagas/offer-engagement.d.ts +3 -0
  294. package/dist/modules/instant-purchase/src/sagas/paypal/index.d.ts +1 -0
  295. package/dist/modules/instant-purchase/src/sagas/paypal/sagas.d.ts +83 -0
  296. package/dist/modules/instant-purchase/src/sagas/tax-and-shipping/index.d.ts +1 -0
  297. package/dist/modules/instant-purchase/src/sagas/tax-and-shipping/sagas.d.ts +50 -0
  298. package/dist/modules/instant-purchase/src/sagas/variant-action-overrides.d.ts +11 -0
  299. package/dist/modules/instant-purchase/src/selectors/creative/index.d.ts +1 -0
  300. package/dist/modules/instant-purchase/src/selectors/creative/selectors.d.ts +5 -0
  301. package/dist/modules/instant-purchase/src/selectors/device-pay-availability/index.d.ts +1 -0
  302. package/dist/modules/instant-purchase/src/selectors/device-pay-availability/selectors.d.ts +13 -0
  303. package/dist/modules/instant-purchase/src/selectors/index.d.ts +4 -0
  304. package/dist/modules/instant-purchase/src/selectors/paypal-transaction-details/index.d.ts +1 -0
  305. package/dist/modules/instant-purchase/src/selectors/paypal-transaction-details/selectors.d.ts +3 -0
  306. package/dist/modules/instant-purchase/src/selectors/tax-and-shipping/index.d.ts +1 -0
  307. package/dist/modules/instant-purchase/src/selectors/tax-and-shipping/selectors.d.ts +3 -0
  308. package/dist/modules/instant-purchase/src/utils/create-tax-and-shipping-cache-key.d.ts +4 -0
  309. package/dist/modules/layouts-xp-sandbox/src/reducers/index.d.ts +1 -1
  310. package/dist/modules/layouts-xp-sandbox/src/sagas/index.d.ts +11 -0
  311. package/dist/modules/layouts-xp-sandbox/src/sagas/offer-engagement/sagas.d.ts +1 -1
  312. package/dist/modules/standard-marketing/src/components/escape-hatch/factory.d.ts +2 -0
  313. package/dist/modules/standard-marketing/src/components/escape-hatch-checkbox/escape-hatch-checkbox.d.ts +28 -0
  314. package/dist/modules/standard-marketing/src/reducers/index.d.ts +1 -1
  315. package/dist/modules/standard-marketing/src/sagas/index.d.ts +11 -0
  316. package/dist/modules/standard-marketing/src/sagas/offer-engagement/channels.d.ts +4 -1
  317. package/dist/modules/standard-marketing/src/sagas/offer-engagement/sagas.d.ts +3 -3
  318. package/node_modules/@rokt/dcui-layout-schema/dist/schema.d.ts +4694 -117
  319. package/node_modules/@rokt/dcui-layout-schema/dist/schema.js +1 -1
  320. package/node_modules/@rokt/dcui-layout-schema/dist/tsconfig.tsbuildinfo +1 -1
  321. package/node_modules/@rokt/dcui-layout-schema/package.json +1 -1
  322. package/node_modules/@rokt/dcui-layout-schema/v0.1/index.d.ts +953 -29
  323. package/node_modules/@rokt/dcui-layout-schema/v0.1/index.js +1 -1
  324. package/node_modules/@rokt/dcui-layout-schema/v0.10/index.d.ts +1087 -35
  325. package/node_modules/@rokt/dcui-layout-schema/v0.10/index.js +1 -1
  326. package/node_modules/@rokt/dcui-layout-schema/v0.11/index.d.ts +1143 -35
  327. package/node_modules/@rokt/dcui-layout-schema/v0.11/index.js +1 -1
  328. package/node_modules/@rokt/dcui-layout-schema/v0.12/index.d.ts +1147 -35
  329. package/node_modules/@rokt/dcui-layout-schema/v0.12/index.js +1 -1
  330. package/node_modules/@rokt/dcui-layout-schema/v0.13/index.d.ts +1218 -35
  331. package/node_modules/@rokt/dcui-layout-schema/v0.13/index.js +1 -1
  332. package/node_modules/@rokt/dcui-layout-schema/v0.14/index.d.ts +1258 -37
  333. package/node_modules/@rokt/dcui-layout-schema/v0.14/index.js +1 -1
  334. package/node_modules/@rokt/dcui-layout-schema/v0.15/index.d.ts +1272 -38
  335. package/node_modules/@rokt/dcui-layout-schema/v0.15/index.js +1 -1
  336. package/node_modules/@rokt/dcui-layout-schema/v0.16/index.d.ts +1334 -38
  337. package/node_modules/@rokt/dcui-layout-schema/v0.16/index.js +1 -1
  338. package/node_modules/@rokt/dcui-layout-schema/v0.17/index.d.ts +1353 -39
  339. package/node_modules/@rokt/dcui-layout-schema/v0.17/index.js +1 -1
  340. package/node_modules/@rokt/dcui-layout-schema/v0.18/index.d.ts +1406 -39
  341. package/node_modules/@rokt/dcui-layout-schema/v0.18/index.js +1 -1
  342. package/node_modules/@rokt/dcui-layout-schema/v0.19/index.d.ts +1407 -39
  343. package/node_modules/@rokt/dcui-layout-schema/v0.19/index.js +1 -1
  344. package/node_modules/@rokt/dcui-layout-schema/v0.2/index.d.ts +1013 -33
  345. package/node_modules/@rokt/dcui-layout-schema/v0.2/index.js +1 -1
  346. package/node_modules/@rokt/dcui-layout-schema/v0.20/index.d.ts +1439 -39
  347. package/node_modules/@rokt/dcui-layout-schema/v0.20/index.js +1 -1
  348. package/node_modules/@rokt/dcui-layout-schema/v0.21/index.d.ts +1482 -39
  349. package/node_modules/@rokt/dcui-layout-schema/v0.21/index.js +1 -1
  350. package/node_modules/@rokt/dcui-layout-schema/v0.22/index.d.ts +1512 -39
  351. package/node_modules/@rokt/dcui-layout-schema/v0.22/index.js +1 -1
  352. package/node_modules/@rokt/dcui-layout-schema/v0.23/index.d.ts +1522 -40
  353. package/node_modules/@rokt/dcui-layout-schema/v0.23/index.js +1 -1
  354. package/node_modules/@rokt/dcui-layout-schema/v0.3/index.d.ts +1013 -33
  355. package/node_modules/@rokt/dcui-layout-schema/v0.3/index.js +1 -1
  356. package/node_modules/@rokt/dcui-layout-schema/v0.4/index.d.ts +1041 -33
  357. package/node_modules/@rokt/dcui-layout-schema/v0.4/index.js +1 -1
  358. package/node_modules/@rokt/dcui-layout-schema/v0.5/index.d.ts +1065 -33
  359. package/node_modules/@rokt/dcui-layout-schema/v0.5/index.js +1 -1
  360. package/node_modules/@rokt/dcui-layout-schema/v0.6/index.d.ts +1065 -33
  361. package/node_modules/@rokt/dcui-layout-schema/v0.6/index.js +1 -1
  362. package/node_modules/@rokt/dcui-layout-schema/v0.7/index.d.ts +1066 -33
  363. package/node_modules/@rokt/dcui-layout-schema/v0.7/index.js +1 -1
  364. package/node_modules/@rokt/dcui-layout-schema/v0.8/index.d.ts +1069 -33
  365. package/node_modules/@rokt/dcui-layout-schema/v0.8/index.js +1 -1
  366. package/node_modules/@rokt/dcui-layout-schema/v0.9/index.d.ts +1070 -33
  367. package/node_modules/@rokt/dcui-layout-schema/v0.9/index.js +1 -1
  368. package/node_modules/@rokt/dcui-layout-schema/v1.0/index.d.ts +1827 -59
  369. package/node_modules/@rokt/dcui-layout-schema/v1.0/index.js +1 -1
  370. package/node_modules/@rokt/dcui-layout-schema/v1.1/index.d.ts +1851 -59
  371. package/node_modules/@rokt/dcui-layout-schema/v1.1/index.js +1 -1
  372. package/node_modules/@rokt/dcui-layout-schema/v1.10/index.d.ts +5322 -0
  373. package/node_modules/@rokt/dcui-layout-schema/v1.10/index.js +4 -0
  374. package/node_modules/@rokt/dcui-layout-schema/v1.11/index.d.ts +5486 -0
  375. package/node_modules/@rokt/dcui-layout-schema/v1.11/index.js +4 -0
  376. package/node_modules/@rokt/dcui-layout-schema/v1.12/index.d.ts +5496 -0
  377. package/node_modules/@rokt/dcui-layout-schema/v1.12/index.js +4 -0
  378. package/node_modules/@rokt/dcui-layout-schema/v1.13/index.d.ts +5498 -0
  379. package/node_modules/@rokt/dcui-layout-schema/v1.13/index.js +4 -0
  380. package/node_modules/@rokt/dcui-layout-schema/v1.14/index.d.ts +5828 -0
  381. package/node_modules/@rokt/dcui-layout-schema/v1.14/index.js +4 -0
  382. package/node_modules/@rokt/dcui-layout-schema/v1.15/index.d.ts +6085 -0
  383. package/node_modules/@rokt/dcui-layout-schema/v1.15/index.js +4 -0
  384. package/node_modules/@rokt/dcui-layout-schema/v1.16/index.d.ts +6324 -0
  385. package/node_modules/@rokt/dcui-layout-schema/v1.16/index.js +4 -0
  386. package/node_modules/@rokt/dcui-layout-schema/v1.17/index.d.ts +6439 -0
  387. package/node_modules/@rokt/dcui-layout-schema/v1.17/index.js +4 -0
  388. package/node_modules/@rokt/dcui-layout-schema/v1.18/index.d.ts +6439 -0
  389. package/node_modules/@rokt/dcui-layout-schema/v1.18/index.js +4 -0
  390. package/node_modules/@rokt/dcui-layout-schema/v1.19/index.d.ts +6439 -0
  391. package/node_modules/@rokt/dcui-layout-schema/v1.19/index.js +4 -0
  392. package/node_modules/@rokt/dcui-layout-schema/v1.2/index.d.ts +1861 -59
  393. package/node_modules/@rokt/dcui-layout-schema/v1.2/index.js +1 -1
  394. package/node_modules/@rokt/dcui-layout-schema/v1.20/index.d.ts +6558 -0
  395. package/node_modules/@rokt/dcui-layout-schema/v1.20/index.js +4 -0
  396. package/node_modules/@rokt/dcui-layout-schema/v1.3/index.d.ts +1948 -59
  397. package/node_modules/@rokt/dcui-layout-schema/v1.3/index.js +1 -1
  398. package/node_modules/@rokt/dcui-layout-schema/v1.4/index.d.ts +2115 -60
  399. package/node_modules/@rokt/dcui-layout-schema/v1.4/index.js +1 -1
  400. package/node_modules/@rokt/dcui-layout-schema/v1.5/index.d.ts +2137 -60
  401. package/node_modules/@rokt/dcui-layout-schema/v1.5/index.js +1 -1
  402. package/node_modules/@rokt/dcui-layout-schema/v1.6/index.d.ts +2308 -60
  403. package/node_modules/@rokt/dcui-layout-schema/v1.6/index.js +1 -1
  404. package/node_modules/@rokt/dcui-layout-schema/v1.7/index.d.ts +2578 -68
  405. package/node_modules/@rokt/dcui-layout-schema/v1.7/index.js +1 -1
  406. package/node_modules/@rokt/dcui-layout-schema/v1.8/index.d.ts +2680 -68
  407. package/node_modules/@rokt/dcui-layout-schema/v1.8/index.js +1 -1
  408. package/node_modules/@rokt/dcui-layout-schema/v1.9/index.d.ts +5222 -0
  409. package/node_modules/@rokt/dcui-layout-schema/v1.9/index.js +4 -0
  410. package/node_modules/@rokt/partner-integration/README.md +85 -0
  411. package/node_modules/@rokt/partner-integration/dist/cart/index.barrel.d.ts +2 -0
  412. package/node_modules/@rokt/partner-integration/dist/cart/index.d.ts +3 -0
  413. package/node_modules/@rokt/partner-integration/dist/cart/v1/delete-alert-partner-message-body.d.ts +7 -0
  414. package/node_modules/@rokt/partner-integration/dist/cart/v1/events.d.ts +23 -0
  415. package/node_modules/@rokt/partner-integration/dist/cart/v1/index.d.ts +5 -0
  416. package/node_modules/@rokt/partner-integration/dist/cart/v1/update-cart-item.d.ts +48 -0
  417. package/node_modules/@rokt/partner-integration/dist/cart/v1/upsert-alert-partner-message-body.d.ts +15 -0
  418. package/node_modules/@rokt/partner-integration/dist/cart/v1/upsert-delivery-details-message-body.d.ts +12 -0
  419. package/node_modules/@rokt/partner-integration/dist/cart/v2/cart-item-updated-placement-message-body.d.ts +48 -0
  420. package/node_modules/@rokt/partner-integration/dist/cart/v2/index.d.ts +4 -0
  421. package/node_modules/@rokt/partner-integration/dist/cart/v2/partner-message.d.ts +8 -0
  422. package/node_modules/@rokt/partner-integration/dist/cart/v2/placement-message.d.ts +10 -0
  423. package/node_modules/@rokt/partner-integration/dist/cart/v2/update-cart-item-partner-message-body.d.ts +4 -0
  424. package/node_modules/@rokt/partner-integration/dist/core/events.d.ts +45 -0
  425. package/node_modules/@rokt/partner-integration/dist/core/index.d.ts +1 -0
  426. package/node_modules/@rokt/partner-integration/dist/delivery-details/delivery-details.d.ts +20 -0
  427. package/node_modules/@rokt/partner-integration/dist/delivery-details/index.barrel.d.ts +2 -0
  428. package/node_modules/@rokt/partner-integration/dist/delivery-details/index.d.ts +2 -0
  429. package/node_modules/@rokt/partner-integration/dist/delivery-details/placement-message.d.ts +10 -0
  430. package/node_modules/@rokt/partner-integration/dist/extensions/extension-mapping.d.ts +9 -0
  431. package/node_modules/@rokt/partner-integration/dist/extensions/extension.d.ts +6 -0
  432. package/node_modules/@rokt/partner-integration/dist/extensions/index.barrel.d.ts +2 -0
  433. package/node_modules/@rokt/partner-integration/dist/extensions/index.d.ts +2 -0
  434. package/node_modules/@rokt/partner-integration/dist/index.d.ts +11 -0
  435. package/node_modules/@rokt/partner-integration/dist/index.js +1 -0
  436. package/node_modules/@rokt/partner-integration/dist/instant-purchase/cart-item-instant-purchase-message-body.d.ts +6 -0
  437. package/node_modules/@rokt/partner-integration/dist/instant-purchase/cart-item-instant-purchase-response-message-body.d.ts +11 -0
  438. package/node_modules/@rokt/partner-integration/dist/instant-purchase/index.barrel.d.ts +5 -0
  439. package/node_modules/@rokt/partner-integration/dist/instant-purchase/index.d.ts +2 -0
  440. package/node_modules/@rokt/partner-integration/dist/instant-purchase/partner-message.d.ts +8 -0
  441. package/node_modules/@rokt/partner-integration/dist/instant-purchase/placement-message.d.ts +9 -0
  442. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/index.barrel.d.ts +5 -0
  443. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/index.d.ts +1 -0
  444. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/partner-message.d.ts +8 -0
  445. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/placement-message.d.ts +9 -0
  446. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/upsell-item-instant-purchase-message-body.d.ts +8 -0
  447. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/upsell-item-instant-purchase-response-message-body.d.ts +11 -0
  448. package/node_modules/@rokt/partner-integration/dist/instant-purchase/v2/upsell-item.d.ts +26 -0
  449. package/node_modules/@rokt/partner-integration/dist/journey/index.barrel.d.ts +1 -0
  450. package/node_modules/@rokt/partner-integration/dist/journey/index.d.ts +2 -0
  451. package/node_modules/@rokt/partner-integration/dist/journey/journey-extension.d.ts +39 -0
  452. package/node_modules/@rokt/partner-integration/dist/link-navigation/index.d.ts +2 -0
  453. package/node_modules/@rokt/partner-integration/dist/link-navigation/link-navigation-message.d.ts +9 -0
  454. package/node_modules/@rokt/partner-integration/dist/link-navigation/link-navigation-request-body.d.ts +3 -0
  455. package/node_modules/@rokt/partner-integration/dist/partner-validation/events.d.ts +17 -0
  456. package/node_modules/@rokt/partner-integration/dist/partner-validation/index.barrel.d.ts +4 -0
  457. package/node_modules/@rokt/partner-integration/dist/partner-validation/index.d.ts +2 -0
  458. package/node_modules/@rokt/partner-integration/dist/partner-validation/partner-validation-extension.d.ts +7 -0
  459. package/node_modules/@rokt/partner-integration/dist/partner-validation/partner-validation-status.d.ts +10 -0
  460. package/node_modules/@rokt/partner-integration/dist/partner-validation/set-partner-validation-status.d.ts +12 -0
  461. package/node_modules/@rokt/partner-integration/dist/promotions-extension/index.d.ts +2 -0
  462. package/node_modules/@rokt/partner-integration/dist/promotions-extension/realtime-conversion-promotion-events.d.ts +6 -0
  463. package/node_modules/@rokt/partner-integration/dist/promotions-extension/realtime-conversion-promotion-payload.d.ts +1 -0
  464. package/node_modules/@rokt/partner-integration/dist/thank-you-page/index.barrel.d.ts +1 -0
  465. package/node_modules/@rokt/partner-integration/dist/thank-you-page/index.d.ts +2 -0
  466. package/node_modules/@rokt/partner-integration/dist/thank-you-page/thank-you-page-extension.d.ts +22 -0
  467. package/node_modules/@rokt/partner-integration/dist/upsells-offers/index.barrel.d.ts +5 -0
  468. package/node_modules/@rokt/partner-integration/dist/upsells-offers/index.d.ts +2 -0
  469. package/node_modules/@rokt/partner-integration/dist/upsells-offers/partner-message.d.ts +9 -0
  470. package/node_modules/@rokt/partner-integration/dist/upsells-offers/placement-message.d.ts +21 -0
  471. package/node_modules/@rokt/partner-integration/dist/upsells-offers/upsell-creative-sent-message-body.d.ts +14 -0
  472. package/node_modules/@rokt/partner-integration/dist/upsells-offers/upsells-offer.d.ts +35 -0
  473. package/node_modules/@rokt/partner-integration/dist/upsells-offers/upsells-offers-sent-body.d.ts +11 -0
  474. package/node_modules/@rokt/partner-integration/dist/user-action/index.barrel.d.ts +2 -0
  475. package/node_modules/@rokt/partner-integration/dist/user-action/index.d.ts +2 -0
  476. package/node_modules/@rokt/partner-integration/dist/user-action/user-action-event.d.ts +11 -0
  477. package/node_modules/@rokt/partner-integration/dist/user-action/user-action-extension.d.ts +4 -0
  478. package/node_modules/@rokt/partner-integration/package.json +34 -0
  479. package/node_modules/@rokt/plugin/bootstrap/bootstrap.d.ts +1 -2
  480. package/node_modules/@rokt/plugin/bootstrap/bootstrap.js +5 -30
  481. package/node_modules/@rokt/plugin/interface/context.d.ts +1 -0
  482. package/node_modules/@rokt/plugin/interface/display.d.ts +1 -0
  483. package/node_modules/@rokt/plugin/lib/index.barrel.d.ts +1 -14
  484. package/node_modules/@rokt/plugin/lib/index.barrel.js +1 -14
  485. package/node_modules/@rokt/plugin/lib/is-preload-frame.d.ts +1 -1
  486. package/node_modules/@rokt/plugin/lib/is-preload-frame.js +3 -1
  487. package/node_modules/@rokt/plugin/lib/plugin-instance.d.ts +13 -27
  488. package/node_modules/@rokt/plugin/lib/plugin-instance.js +1 -99
  489. package/node_modules/@rokt/plugin/package.json +15 -16
  490. package/node_modules/@rokt/plugin/standalone/standalone.d.ts +14 -2
  491. package/node_modules/@rokt/plugin/standalone/standalone.js +1 -0
  492. package/node_modules/@rokt/plugin/testing/mock-child-plugin-factory.d.ts +1 -1
  493. package/node_modules/@rokt/plugin/testing/mock-child-plugin-factory.js +2 -1
  494. package/node_modules/@rokt/plugin/testing/mock-child-plugin.d.ts +5 -5
  495. package/node_modules/@rokt/plugin/testing/mock-child-plugin.js +6 -5
  496. package/node_modules/@rokt/plugin/testing/mock-context.d.ts +18 -17
  497. package/node_modules/@rokt/plugin/testing/mock-context.js +19 -17
  498. package/node_modules/@rokt/plugin/testing/mock-display.d.ts +1 -1
  499. package/node_modules/@rokt/plugin/testing/mock-display.js +2 -1
  500. package/node_modules/@rokt/plugin/testing/mock-engine.d.ts +1 -2
  501. package/node_modules/@rokt/plugin/testing/mock-error.d.ts +1 -1
  502. package/node_modules/@rokt/plugin/testing/mock-error.js +2 -1
  503. package/node_modules/@rokt/plugin/testing/mock-function.d.ts +1 -0
  504. package/node_modules/@rokt/plugin/testing/mock-function.js +31 -0
  505. package/node_modules/@rokt/plugin/testing/mock-metrics.d.ts +4 -4
  506. package/node_modules/@rokt/plugin/testing/mock-metrics.js +5 -4
  507. package/node_modules/@rokt/plugin/testing/mock-parent-interaction.d.ts +2 -2
  508. package/node_modules/@rokt/plugin/testing/mock-parent-interaction.js +3 -2
  509. package/node_modules/@rokt/plugin/testing/mock-partner-interaction.d.ts +2 -2
  510. package/node_modules/@rokt/plugin/testing/mock-partner-interaction.js +3 -2
  511. package/node_modules/@rokt/plugin/testing/mock-rdn.d.ts +3 -3
  512. package/node_modules/@rokt/plugin/testing/mock-rdn.js +4 -3
  513. package/node_modules/@rokt/plugin/types/library-loaded.d.ts +0 -2
  514. package/node_modules/@rokt/plugin/types/library-loaded.js +0 -2
  515. package/package.json +8 -7
  516. package/dist/modules/instant-purchase/src/components/catalog-variation-selection-button/catalog-variation-selection-button.d.ts +0 -28
  517. package/node_modules/@rokt/plugin/lib/bootstrap-v1.d.ts +0 -3
  518. package/node_modules/@rokt/plugin/lib/bootstrap-v1.js +0 -9
  519. package/node_modules/@rokt/plugin/lib/child-plugin-factory.d.ts +0 -14
  520. package/node_modules/@rokt/plugin/lib/child-plugin-factory.js +0 -12
  521. package/node_modules/@rokt/plugin/lib/child-plugin.d.ts +0 -26
  522. package/node_modules/@rokt/plugin/lib/child-plugin.js +0 -81
  523. package/node_modules/@rokt/plugin/lib/context.d.ts +0 -23
  524. package/node_modules/@rokt/plugin/lib/context.js +0 -95
  525. package/node_modules/@rokt/plugin/lib/debug.d.ts +0 -19
  526. package/node_modules/@rokt/plugin/lib/debug.js +0 -36
  527. package/node_modules/@rokt/plugin/lib/display.d.ts +0 -13
  528. package/node_modules/@rokt/plugin/lib/display.js +0 -81
  529. package/node_modules/@rokt/plugin/lib/error.d.ts +0 -9
  530. package/node_modules/@rokt/plugin/lib/error.js +0 -35
  531. package/node_modules/@rokt/plugin/lib/is-inside-plugin-container.d.ts +0 -8
  532. package/node_modules/@rokt/plugin/lib/is-inside-plugin-container.js +0 -6
  533. package/node_modules/@rokt/plugin/lib/metrics.d.ts +0 -13
  534. package/node_modules/@rokt/plugin/lib/metrics.js +0 -55
  535. package/node_modules/@rokt/plugin/lib/parent-interaction.d.ts +0 -13
  536. package/node_modules/@rokt/plugin/lib/parent-interaction.js +0 -46
  537. package/node_modules/@rokt/plugin/lib/partner-interaction.d.ts +0 -11
  538. package/node_modules/@rokt/plugin/lib/partner-interaction.js +0 -35
  539. package/node_modules/@rokt/plugin/lib/plugin-runtime-connection.d.ts +0 -6
  540. package/node_modules/@rokt/plugin/lib/plugin-runtime-connection.js +0 -35
  541. package/node_modules/@rokt/plugin/lib/private-context.d.ts +0 -39
  542. package/node_modules/@rokt/plugin/lib/private-context.js +0 -76
  543. package/node_modules/@rokt/plugin/lib/rdn.d.ts +0 -15
  544. package/node_modules/@rokt/plugin/lib/rdn.js +0 -58
  545. package/node_modules/@rokt/plugin/lib/sender-receiver.d.ts +0 -5
  546. package/node_modules/@rokt/plugin/lib/sender-receiver.js +0 -1
  547. package/node_modules/@rokt/plugin/lib/theme.d.ts +0 -8
  548. package/node_modules/@rokt/plugin/lib/theme.js +0 -8
  549. package/node_modules/@rokt/plugin/lib/to-observable.d.ts +0 -4
  550. package/node_modules/@rokt/plugin/lib/to-observable.js +0 -12
  551. package/node_modules/@rokt/plugin/lib/unsafe.d.ts +0 -3
  552. package/node_modules/@rokt/plugin/lib/unsafe.js +0 -2
  553. package/node_modules/@rokt/plugin/lib/with-error-reporting.d.ts +0 -2
  554. package/node_modules/@rokt/plugin/lib/with-error-reporting.js +0 -22
  555. /package/dist/libraries/{layout-renderer-utils → dcui-components}/src/components/close-button/close-button.d.ts +0 -0
  556. /package/dist/libraries/{layout-renderer-utils → dcui-components}/src/components/close-button/index.d.ts +0 -0
  557. /package/dist/{modules/add-to-cart/src/selectors/globalOfferDataState → libraries/layout-renderer-utils/src/selectors/fired-events}/index.d.ts +0 -0
@@ -1,994 +1,3057 @@
1
+ /** A URL value that supports light and dark mode themes. */
1
2
  export interface ThemeUrl {
3
+ /** The URL for light mode. */
2
4
  light: string;
5
+ /** The URL for dark mode. Omit to use the light mode URL in both themes. */
3
6
  dark?: null | string;
4
7
  }
5
- export type BackgroundImagePosition = "top" | "right" | "bottom" | "left" | "center" | "top-right" | "top-left" | "bottom-left" | "bottom-right";
6
- export type BackgroundImageScale = "crop" | "fit" | "fill";
8
+ /**
9
+ * Positioning of a background image within its container.
10
+ * Specifies which area of the container the image aligns to.
11
+ */
12
+ export type BackgroundImagePosition =
13
+ /** Positions the image at the top center. */
14
+ "top"
15
+ /** Positions the image at the center right. */
16
+ | "right"
17
+ /** Positions the image at the bottom center. */
18
+ | "bottom"
19
+ /** Positions the image at the center left. */
20
+ | "left"
21
+ /** Positions the image at the center of the container. */
22
+ | "center"
23
+ /** Positions the image at the top right corner. */
24
+ | "top-right"
25
+ /** Positions the image at the top left corner. */
26
+ | "top-left"
27
+ /** Positions the image at the bottom left corner. */
28
+ | "bottom-left"
29
+ /** Positions the image at the bottom right corner. */
30
+ | "bottom-right";
31
+ /**
32
+ * How a background image is scaled to fit its container.
33
+ * Controls the trade-off between covering the container and preserving aspect ratio.
34
+ */
35
+ export type BackgroundImageScale =
36
+ /** Scales the image to cover the entire container, cropping edges that overflow. */
37
+ "crop"
38
+ /** Scales the image to fit entirely within the container, potentially leaving empty space. */
39
+ | "fit"
40
+ /** Stretches the image to fill the container exactly, potentially distorting aspect ratio. */
41
+ | "fill";
42
+ /**
43
+ * A background image with themed URL support.
44
+ * Use this to display an image behind element content with control over positioning and scaling.
45
+ */
7
46
  export interface BackgroundImage {
47
+ /** The image URL. Uses themed values for light/dark mode. */
8
48
  url: ThemeUrl;
49
+ /** Where the image is positioned within the element. */
9
50
  position?: null | BackgroundImagePosition;
51
+ /** How the image is scaled to fit the element. */
10
52
  scale?: null | BackgroundImageScale;
11
53
  }
54
+ /**
55
+ * A color value that supports light and dark mode themes. Always provide the light mode value.
56
+ * Provide dark mode only if the color should differ from light mode.
57
+ * Colors are hex strings in `#RRGGBB` or `#AARRGGBB` format. NOTE: the alpha channel comes
58
+ * BEFORE the RGB channels (e.g. `#80000000` for 50% transparent black), unlike CSS where alpha is last.
59
+ */
12
60
  export interface ThemeColor {
61
+ /** The color hex code for light mode. Format: `#RRGGBB` or `#AARRGGBB` (e.g. "#FF0000", "#80000000"). */
13
62
  light: string;
63
+ /** The color hex code for dark mode. Omit to use the light mode value in both themes. */
14
64
  dark?: null | string;
15
65
  }
66
+ /**
67
+ * Background styling properties for elements.
68
+ * All fields are optional. Only include the properties you want to override.
69
+ */
16
70
  export interface BackgroundStylingProperties {
71
+ /** The background fill color. */
17
72
  backgroundColor?: null | ThemeColor;
73
+ /** A background image to display behind the element content. */
18
74
  backgroundImage?: null | BackgroundImage;
19
75
  }
76
+ /** A styling block that defines styles for different interaction states. The 'default' state is required; other states are optional and override default styles when active. */
20
77
  export interface BasicStateStylingBlock<StyleProperties> {
78
+ /** The base styles applied in the normal state. This is always required. */
21
79
  default: StyleProperties;
80
+ /** Styles applied when the element is being pressed/clicked. Only applicable to interactive elements. */
22
81
  pressed?: null | StyleProperties;
82
+ /** Styles applied when the cursor is over the element. Only applicable to interactive elements. */
23
83
  hovered?: null | StyleProperties;
84
+ /** Styles applied when the element has keyboard focus. */
24
85
  focussed?: null | StyleProperties;
86
+ /** Styles applied when the element is disabled. */
25
87
  disabled?: null | StyleProperties;
26
88
  }
27
- export type DimensionWidthValue = {
89
+ /**
90
+ * Width value specification. MUST be an object with 'type' and 'value' properties.
91
+ * Do NOT use bare numbers or CSS strings. Example: {"type": "percentage", "value": 100}.
92
+ */
93
+ export type DimensionWidthValue =
94
+ /** A fixed width in platform units (px on Web, pt on iOS, dp on Android). Value: {"type": "fixed", "value": <number>}. */
95
+ {
28
96
  type: "fixed";
29
97
  value: number;
30
- } | {
98
+ }
99
+ /** A percentage of the parent container width. Value: {"type": "percentage", "value": <0-100>}. */
100
+ | {
31
101
  type: "percentage";
32
102
  value: number;
33
- } | {
103
+ }
104
+ /** Sizes to fit content. Value: {"type": "fit", "value": "wrap-content" or "fit-width"}. */
105
+ | {
34
106
  type: "fit";
35
107
  value: DimensionWidthFitValue;
36
108
  };
37
- export type DimensionHeightValue = {
109
+ /**
110
+ * Height value specification. MUST be an object with 'type' and 'value' properties.
111
+ * Do NOT use bare numbers or CSS strings. Example: {"type": "fixed", "value": 200}.
112
+ */
113
+ export type DimensionHeightValue =
114
+ /** A fixed height in platform units (px on Web, pt on iOS, dp on Android). Value: {"type": "fixed", "value": <number>}. */
115
+ {
38
116
  type: "fixed";
39
117
  value: number;
40
- } | {
118
+ }
119
+ /** A percentage of the parent container height. Value: {"type": "percentage", "value": <0-100>}. */
120
+ | {
41
121
  type: "percentage";
42
122
  value: number;
43
- } | {
123
+ }
124
+ /** Sizes to fit content. Value: {"type": "fit", "value": "wrap-content" or "fit-height"}. */
125
+ | {
44
126
  type: "fit";
45
127
  value: DimensionHeightFitValue;
46
128
  };
129
+ /**
130
+ * Dimension and size styling properties. Numeric values are in platform units (px on Web, pt on iOS, dp on Android). Plain numbers (e.g. minWidth: 100)
131
+ * while width/height use typed objects. Do NOT use bare numbers for width or height.
132
+ * All fields are optional. Only include the properties you want to override.
133
+ */
47
134
  export interface DimensionStylingProperties {
135
+ /** Minimum width in platform units. */
48
136
  minWidth?: null | number;
137
+ /** Maximum width in platform units. */
49
138
  maxWidth?: null | number;
139
+ /**
140
+ * The width value. MUST be a typed object, e.g. {"type": "percentage", "value": 100}.
141
+ * Do NOT use bare numbers.
142
+ */
50
143
  width?: null | DimensionWidthValue;
144
+ /** Minimum height in platform units. */
51
145
  minHeight?: null | number;
146
+ /** Maximum height in platform units. */
52
147
  maxHeight?: null | number;
148
+ /**
149
+ * The height value. MUST be a typed object, e.g. {"type": "fixed", "value": 200}.
150
+ * Do NOT use bare numbers.
151
+ */
53
152
  height?: null | DimensionHeightValue;
153
+ /** Rotation around the z-axis in degrees. */
54
154
  rotateZ?: null | number;
55
155
  }
56
- export type FlexAlignment = "center" | "flex-start" | "flex-end" | "stretch";
156
+ /** Cross-axis alignment options for flex containers and flex children. */
157
+ export type FlexAlignment =
158
+ /** Centers items along the cross axis. */
159
+ "center"
160
+ /** Aligns items to the start of the cross axis. */
161
+ | "flex-start"
162
+ /** Aligns items to the end of the cross axis. */
163
+ | "flex-end"
164
+ /** Stretches items to fill the cross axis. */
165
+ | "stretch";
166
+ /**
167
+ * Properties that control how this element behaves as a child within a flex container (Row or Column).
168
+ * All fields are optional. Only include the properties you want to override.
169
+ */
57
170
  export interface FlexChildStylingProperties {
171
+ /**
172
+ * The flex grow weight. Determines how remaining space is distributed.
173
+ * A child with weight 2 gets twice the extra space as one with weight 1.
174
+ */
58
175
  weight?: null | number;
176
+ /** The visual order of this child within its container. Lower values appear first. */
59
177
  order?: null | number;
178
+ /** Overrides the parent container's alignItems for this specific child. */
60
179
  alignSelf?: null | FlexAlignment;
61
180
  }
181
+ /**
182
+ * Spacing properties for padding, margin and offset.
183
+ * Values are specified as space-separated strings of numeric values in platform units (px on Web, pt on iOS, dp on Android) following CSS shorthand.
184
+ * All fields are optional. Only include the properties you want to override.
185
+ */
62
186
  export interface SpacingStylingProperties {
187
+ /**
188
+ * Internal spacing between the element border and its content. Specified as a
189
+ * space-separated string of numeric values following CSS shorthand: '10' for all sides,
190
+ * '10 20' for vertical/horizontal, '10 20 10 20' for top/right/bottom/left.
191
+ */
63
192
  padding?: null | string;
193
+ /** External spacing around the outside of the element border. Same format as padding. */
64
194
  margin?: null | string;
195
+ /** Positional offset from the element's normal position. Same format as padding. */
65
196
  offset?: null | string;
66
197
  }
67
- export type FontWeight = "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
68
- export type FontJustification = "left" | "right" | "center" | "start" | "end" | "justify";
69
- export type FontBaselineAlignment = "super" | "sub" | "baseline";
70
- export type FontStyle = "normal" | "italic";
71
- export type TextTransform = "capitalize" | "uppercase" | "lowercase" | "none";
72
- export type TextDecoration = "underline" | "strike-through" | "none";
198
+ /**
199
+ * The weight (boldness) of the font. Values are CSS-standard numeric weights.
200
+ * MUST be one of the predefined weight values. Do NOT use arbitrary numbers.
201
+ */
202
+ export type FontWeight =
203
+ /** Thin (Hairline). The lightest available weight. */
204
+ "100"
205
+ /** Extra Light (Ultra Light). */
206
+ | "200"
207
+ /** Light. */
208
+ | "300"
209
+ /** Normal / Regular. The default font weight. */
210
+ | "400"
211
+ /** Medium. Slightly bolder than normal. */
212
+ | "500"
213
+ /** Semi Bold (Demi Bold). */
214
+ | "600"
215
+ /** Bold. */
216
+ | "700"
217
+ /** Extra Bold (Ultra Bold). */
218
+ | "800"
219
+ /** Black (Heavy). The boldest available weight. */
220
+ | "900";
221
+ /**
222
+ * Horizontal text alignment within the text element.
223
+ * MUST use one of the specified alignment values. Do NOT use CSS text-align strings directly.
224
+ */
225
+ export type FontJustification =
226
+ /** Aligns text to the left edge. */
227
+ "left"
228
+ /** Aligns text to the right edge. */
229
+ | "right"
230
+ /** Centers text horizontally. */
231
+ | "center"
232
+ /** Aligns text to the start edge (left in LTR, right in RTL). */
233
+ | "start"
234
+ /** Aligns text to the end edge (right in LTR, left in RTL). */
235
+ | "end"
236
+ /** Stretches text so each line fills the full width, adjusting spacing between words. */
237
+ | "justify";
238
+ /**
239
+ * Vertical alignment of text relative to the baseline.
240
+ * Use this to position text as superscript, subscript, or at the normal baseline.
241
+ */
242
+ export type FontBaselineAlignment =
243
+ /** Raises text above the baseline (superscript). */
244
+ "super"
245
+ /** Lowers text below the baseline (subscript). */
246
+ | "sub"
247
+ /** Aligns text to the normal baseline position. */
248
+ | "baseline";
249
+ /**
250
+ * The style of the font.
251
+ * Controls whether text is rendered upright or italicised.
252
+ */
253
+ export type FontStyle =
254
+ /** Standard upright text. */
255
+ "normal"
256
+ /** Italicised text. */
257
+ | "italic";
258
+ /**
259
+ * Controls text capitalisation.
260
+ * Applied as a visual transform; does not alter the underlying text data.
261
+ */
262
+ export type TextTransform =
263
+ /** Capitalises the first letter of each word. */
264
+ "capitalize"
265
+ /** Transforms all text to uppercase. */
266
+ | "uppercase"
267
+ /** Transforms all text to lowercase. */
268
+ | "lowercase"
269
+ /** No transformation applied. */
270
+ | "none";
271
+ /**
272
+ * Decorative line applied to text.
273
+ * Use to add visual emphasis such as underline or strikethrough.
274
+ */
275
+ export type TextDecoration =
276
+ /** Adds a line beneath the text. */
277
+ "underline"
278
+ /** Adds a line through the middle of the text. */
279
+ | "strike-through"
280
+ /** No decoration applied. */
281
+ | "none";
282
+ /**
283
+ * Typography styling properties for text elements.
284
+ * All fields are optional. Only include the properties you want to override.
285
+ */
73
286
  export interface TextStylingProperties {
287
+ /** The text color. Uses themed values for light/dark mode support. */
74
288
  textColor?: null | ThemeColor;
289
+ /** Font size in platform units (px on Web, pt on iOS, dp on Android). */
75
290
  fontSize?: null | number;
291
+ /** The font family name. Use 'rokt-icons' for icon fonts. */
76
292
  fontFamily?: null | string;
293
+ /** The weight (boldness) of the font. */
77
294
  fontWeight?: null | FontWeight;
295
+ /** Line height in platform units. Controls the spacing between lines of text. */
78
296
  lineHeight?: null | number;
297
+ /** Horizontal text alignment within the element. */
79
298
  horizontalTextAlign?: null | FontJustification;
299
+ /** Vertical alignment of text relative to the baseline. */
80
300
  baselineTextAlign?: null | FontBaselineAlignment;
301
+ /** Normal or italic text rendering. */
81
302
  fontStyle?: null | FontStyle;
303
+ /** Controls automatic text capitalisation. */
82
304
  textTransform?: null | TextTransform;
305
+ /** Additional spacing between characters in platform units. */
83
306
  letterSpacing?: null | number;
307
+ /** Decorative line applied to text (underline, strikethrough). */
84
308
  textDecoration?: null | TextDecoration;
309
+ /** Maximum number of lines to display. Text beyond this limit is truncated. */
85
310
  lineLimit?: null | number;
86
311
  }
312
+ /** Visual styles for the BasicText node. */
87
313
  export interface BasicTextStyle {
314
+ /** Width, height and rotation properties. */
88
315
  dimension?: null | DimensionStylingProperties;
316
+ /** Properties controlling behaviour as a flex child. */
89
317
  flexChild?: null | FlexChildStylingProperties;
318
+ /** Padding, margin and offset properties. */
90
319
  spacing?: null | SpacingStylingProperties;
320
+ /** Background color and image properties. */
91
321
  background?: null | BackgroundStylingProperties;
322
+ /** Typography properties. */
92
323
  text?: null | TextStylingProperties;
93
324
  }
325
+ /** Style elements for the BasicText node. */
94
326
  export interface BasicTextElements {
327
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
95
328
  own: BasicStateStylingBlock<BasicTextStyle>[];
96
329
  }
330
+ /** The top-level style object for a node. Contains element styling and optional conditional transitions. */
97
331
  export interface LayoutStyle<ElementsStyles, ConditionalTransitionsStyles> {
332
+ /** Defines the visual styles for each styleable element of this node. MUST contain at least an 'own' key with a styling block array. */
98
333
  elements?: null | ElementsStyles;
334
+ /** Optional style transitions that are applied when runtime conditions (predicates) are met. */
99
335
  conditionalTransitions?: null | ConditionalTransitionsStyles;
100
336
  }
337
+ /** Defines a style transition that is applied when the specified predicates evaluate to true. */
101
338
  export interface ConditionalStyleTransition<Styles, Predicates> {
339
+ /** The list of conditions that must all be true for this transition to apply. */
102
340
  predicates: Predicates[];
341
+ /** The transition duration in milliseconds. */
103
342
  duration: number;
343
+ /** The style properties to apply when all predicates are met. */
104
344
  value: Styles;
105
345
  }
346
+ /** Renders a paragraph of plain text. Use for simple text content. For text with HTML formatting use RichText instead. */
106
347
  export interface BasicTextModel<Predicates> {
348
+ /** Visual styles for the text element. */
107
349
  styles?: null | LayoutStyle<BasicTextElements, ConditionalStyleTransition<BasicTextTransitions, Predicates>>;
350
+ /** The text content to display. Supports data binding placeholders in the format %^DATA.key^% for dynamic creative content. */
108
351
  value: string;
109
352
  }
353
+ /** Transition definitions for the BasicText node. */
110
354
  export interface BasicTextTransitions {
355
+ /** Transition properties for the primary element. */
111
356
  own?: null | BasicTextStyle;
112
357
  }
113
- export type BorderStyle = "solid" | "dashed";
358
+ /**
359
+ * The visual style of the border line.
360
+ * MUST be one of the supported values. Do NOT use CSS border-style strings directly.
361
+ */
362
+ export type BorderStyle =
363
+ /** A solid continuous border line. */
364
+ "solid"
365
+ /** A dashed border line. */
366
+ | "dashed";
367
+ /**
368
+ * Border styling properties for elements.
369
+ * All fields are optional. Only include the properties you want to override.
370
+ */
114
371
  export interface BorderStylingProperties {
372
+ /** Corner radius in platform units (px on Web, pt on iOS, dp on Android). Applies uniformly to all corners. */
115
373
  borderRadius?: null | number;
374
+ /** The border color. Uses themed values for light/dark mode support. */
116
375
  borderColor?: null | ThemeColor;
376
+ /**
377
+ * Border width specified as a space-separated string of numeric values in platform units.
378
+ * Follows CSS shorthand: '2' for all sides, '2 4' for vertical/horizontal,
379
+ * '1 2 3 4' for top/right/bottom/left.
380
+ */
117
381
  borderWidth?: null | string;
382
+ /** The visual style of the border line (solid or dashed). */
118
383
  borderStyle?: null | BorderStyle;
119
384
  }
120
- export type FlexJustification = "center" | "flex-start" | "flex-end";
385
+ /** Main-axis justification options for flex containers. */
386
+ export type FlexJustification =
387
+ /** Centers items along the main axis. */
388
+ "center"
389
+ /** Packs items toward the start of the main axis. */
390
+ | "flex-start"
391
+ /** Packs items toward the end of the main axis. */
392
+ | "flex-end";
393
+ /** Defines a box shadow effect. All offset and radius values are in platform units (px on Web, pt on iOS, dp on Android). */
121
394
  export interface Shadow {
395
+ /** Horizontal offset of the shadow. Positive values move the shadow right. */
122
396
  offsetX?: null | number;
397
+ /** Vertical offset of the shadow. Positive values move the shadow down. */
123
398
  offsetY?: null | number;
399
+ /** The blur radius. Higher values create a more diffuse shadow. */
124
400
  blurRadius?: null | number;
401
+ /** The spread radius. Positive values expand the shadow, negative values shrink it. */
125
402
  spreadRadius?: null | number;
403
+ /** The shadow color. */
126
404
  color: ThemeColor;
127
405
  }
128
- export type Overflow = "hidden" | "visible";
406
+ /** Controls visibility of content that overflows the container bounds. */
407
+ export type Overflow =
408
+ /** Content that overflows is clipped and not visible. */
409
+ "hidden"
410
+ /** Content that overflows remains visible outside the container bounds. */
411
+ | "visible";
412
+ /** Styling properties for container layout behaviour. Only applicable to nodes that contain children. */
129
413
  export interface ContainerStylingProperties {
414
+ /** Controls how children are distributed along the main axis. For a Row this is horizontal, for a Column this is vertical. */
130
415
  justifyContent?: null | FlexJustification;
416
+ /** Controls how children are aligned along the cross axis. For a Row this is vertical, for a Column this is horizontal. */
131
417
  alignItems?: null | FlexAlignment;
418
+ /** Applies a box shadow effect around the container. */
132
419
  shadow?: null | Shadow;
420
+ /** Controls whether content overflowing the container bounds is visible or hidden. */
133
421
  overflow?: null | Overflow;
422
+ /** The gap in platform units between children in the container. */
134
423
  gap?: null | number;
424
+ /** Applies a Gaussian blur effect. Value is the blur radius in platform units. */
135
425
  blur?: null | number;
136
426
  }
427
+ /**
428
+ * Available style categories for the BottomSheet content element. Each optional field
429
+ * enables a specific category of visual styling. Omit a field to leave that category
430
+ * unstyled.
431
+ */
137
432
  export interface BottomSheetStyles {
433
+ /**
434
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
435
+ * MUST be used to control how children are arranged within the bottom sheet content area.
436
+ */
138
437
  container?: null | ContainerStylingProperties;
438
+ /**
439
+ * Background color and image properties. Use to set a solid color, gradient, or image
440
+ * behind the bottom sheet content.
441
+ */
139
442
  background?: null | BackgroundStylingProperties;
443
+ /**
444
+ * Border radius, color, width and style properties. Use to add visible borders or
445
+ * rounded corners to the bottom sheet content area. Typically top corners are rounded.
446
+ */
140
447
  border?: null | BorderStylingProperties;
448
+ /**
449
+ * Width, height and rotation properties. Use to explicitly size the bottom sheet content
450
+ * area. Do NOT set width/height if the bottom sheet should size to its content.
451
+ */
141
452
  dimension?: null | DimensionStylingProperties;
453
+ /**
454
+ * Properties controlling this element's behaviour as a child of a flex container.
455
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
456
+ */
142
457
  flexChild?: null | FlexChildStylingProperties;
458
+ /**
459
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
460
+ * bottom sheet content area.
461
+ */
143
462
  spacing?: null | SpacingStylingProperties;
144
463
  }
464
+ /**
465
+ * Style categories for the BottomSheet wrapper (backdrop) element. Controls the appearance
466
+ * of the area behind the bottom sheet content.
467
+ */
145
468
  export interface BottomSheetWrapperStyles {
469
+ /** Layout properties for the wrapper container that positions the bottom sheet content. */
146
470
  container?: null | ContainerStylingProperties;
471
+ /**
472
+ * Background color for the backdrop. Typically a semi-transparent color (using `#AARRGGBB`
473
+ * format, e.g. `#80000000`) to dim the content behind the bottom sheet.
474
+ */
147
475
  background?: null | BackgroundStylingProperties;
148
476
  }
477
+ /**
478
+ * Styleable elements of the BottomSheet node. The BottomSheet has two styleable elements:
479
+ * its own content area and its wrapper (backdrop).
480
+ */
149
481
  export interface BottomSheetElements {
482
+ /**
483
+ * Style blocks for the bottom sheet content area. The array represents
484
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
485
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
486
+ * for the default style.
487
+ */
150
488
  own: BasicStateStylingBlock<BottomSheetStyles>[];
489
+ /**
490
+ * Style blocks for the bottom sheet wrapper (backdrop). The array represents
491
+ * breakpoint-specific styles: first item is the default, subsequent items correspond
492
+ * to breakpoints in ascending order.
493
+ */
151
494
  wrapper: BasicStateStylingBlock<BottomSheetWrapperStyles>[];
152
495
  }
496
+ /**
497
+ * A modal container that slides up from the bottom of the screen. Use for contextual actions,
498
+ * forms, or supplementary content that does not require full-screen takeover. The bottom
499
+ * sheet appears with a backdrop behind it. Do NOT use BottomSheet for persistent content;
500
+ * use a regular Column or ScrollableColumn instead.
501
+ */
153
502
  export interface BottomSheetModel<Children, Predicates> {
503
+ /**
504
+ * If true, clicking the backdrop area closes the bottom sheet. MUST be set to true when
505
+ * the bottom sheet is dismissible. Set to false when the user MUST interact with the
506
+ * bottom sheet content before proceeding.
507
+ */
154
508
  allowBackdropToClose: boolean;
509
+ /**
510
+ * Accessibility label for screen readers. MUST be set to describe the purpose of the
511
+ * bottom sheet (e.g., "Share options" or "Filter settings").
512
+ */
155
513
  a11yLabel?: null | string;
514
+ /**
515
+ * Visual styles for this bottom sheet. See styling documentation for the structure. Omit
516
+ * to use default (unstyled) rendering.
517
+ */
156
518
  styles?: null | LayoutStyle<BottomSheetElements, ConditionalStyleTransition<BottomSheetTransitions, Predicates>>;
519
+ /** The content displayed within the bottom sheet. */
157
520
  children: Children[];
158
521
  }
522
+ /**
523
+ * Transition styles for the BottomSheet node. Use to animate style changes smoothly,
524
+ * particularly the slide-up entrance animation.
525
+ */
159
526
  export interface BottomSheetTransitions {
527
+ /**
528
+ * Transition properties for the bottom sheet content area. Specifies which style
529
+ * properties should animate and their duration/easing when values change.
530
+ */
160
531
  own?: null | BottomSheetStyles;
532
+ /** Transition properties for the bottom sheet wrapper (backdrop). */
161
533
  wrapper?: null | BottomSheetWrapperStyles;
162
534
  }
163
- export type OrderableWhenCondition = "is" | "is-not" | "is-below" | "is-above";
535
+ /**
536
+ * Condition operators for numeric/orderable comparisons. Use these to compare
537
+ * values that have a natural ordering (numbers, positions, breakpoints).
538
+ * Serialized as kebab-case strings: "is", "is-not", "is-below", "is-above".
539
+ */
540
+ export type OrderableWhenCondition =
541
+ /** True when the value equals the specified value. */
542
+ "is"
543
+ /** True when the value does not equal the specified value. */
544
+ | "is-not"
545
+ /** True when the value is less than the specified value. */
546
+ | "is-below"
547
+ /** True when the value is greater than the specified value. */
548
+ | "is-above";
549
+ /**
550
+ * Tests the viewport width against a breakpoint value. Use for
551
+ * responsive layouts that adapt to different screen sizes. The value MUST
552
+ * be a string representation of a number in platform units.
553
+ */
164
554
  export interface BreakpointPredicate {
555
+ /** The comparison operator. Use "is-above" or "is-below" for responsive breakpoints. */
165
556
  condition: OrderableWhenCondition;
557
+ /**
558
+ * The breakpoint width in platform units to compare against. MUST be a string
559
+ * representation of a number, e.g. "768".
560
+ */
166
561
  value: string;
167
562
  }
563
+ /** A styling block with only a default state. Used for non-interactive elements. */
168
564
  export interface StatelessStylingBlock<StyleProperties> {
565
+ /** The styles to apply. Always required. */
169
566
  default: StyleProperties;
170
567
  }
568
+ /**
569
+ * Visual style properties for the CarouselDistribution container.
570
+ * Contains the standard style categories: container layout, background colors,
571
+ * border appearance, dimensions, flex child positioning, and spacing.
572
+ */
171
573
  export interface CarouselDistributionStyles {
574
+ /** Container layout styles (e.g. flex direction, alignment). */
172
575
  container?: null | ContainerStylingProperties;
576
+ /** Background color and gradient styles. */
173
577
  background?: null | BackgroundStylingProperties;
578
+ /** Border width, color, and radius styles. */
174
579
  border?: null | BorderStylingProperties;
580
+ /** Width and height dimension styles. */
175
581
  dimension?: null | DimensionStylingProperties;
582
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
176
583
  flexChild?: null | FlexChildStylingProperties;
584
+ /** Padding and margin spacing styles. */
177
585
  spacing?: null | SpacingStylingProperties;
178
586
  }
587
+ /**
588
+ * Styling elements for the CarouselDistribution container.
589
+ * The `own` array contains stateless styling blocks applied to the carousel container itself.
590
+ */
179
591
  export interface CarouselDistributionElements {
592
+ /** Array of stateless styling blocks for the carousel container. */
180
593
  own: StatelessStylingBlock<CarouselDistributionStyles>[];
181
594
  }
182
- export type PeekThroughSize = {
595
+ /**
596
+ * The size of the peek-through area showing adjacent carousel items.
597
+ * Controls how much of the next/previous items are visible at the edges.
598
+ */
599
+ export type PeekThroughSize =
600
+ /** A fixed size in platform units (px on Web, pt on iOS, dp on Android) for the peek-through area. */
601
+ {
183
602
  type: "Fixed";
184
603
  value: number;
185
- } | {
604
+ }
605
+ /** A percentage-based size for the peek-through area, relative to the carousel width. */
606
+ | {
186
607
  type: "Percentage";
187
608
  value: number;
188
609
  };
610
+ /**
611
+ * Presents offers in a horizontally scrollable carousel.
612
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
613
+ * Users can swipe left/right to browse offers.
614
+ *
615
+ * Use `viewableItems` to control how many items are visible at once per breakpoint.
616
+ * Use `peekThroughSize` to hint that more items exist by showing partial adjacent items.
617
+ */
189
618
  export interface CarouselDistributionModel<Predicates> {
619
+ /**
620
+ * Configuration for how many items are visible at once.
621
+ * Provided as an array of values for different breakpoints.
622
+ */
190
623
  viewableItems: number[];
624
+ /**
625
+ * How much of the next/previous items peek into view.
626
+ * Provided as an array of PeekThroughSize values for different breakpoints.
627
+ * Use Fixed for absolute values in platform units or Percentage for relative values.
628
+ */
191
629
  peekThroughSize: PeekThroughSize[];
630
+ /**
631
+ * Visual styles for the carousel container.
632
+ * Uses the LayoutStyle wrapper with conditional style transitions.
633
+ */
192
634
  styles?: null | LayoutStyle<CarouselDistributionElements, ConditionalStyleTransition<CarouselDistributionTransitions, Predicates>>;
193
635
  }
636
+ /** Transition styles for animating CarouselDistribution style changes. */
194
637
  export interface CarouselDistributionTransitions {
638
+ /** Transition properties for the carousel container's own styles. */
195
639
  own?: null | CarouselDistributionStyles;
196
640
  }
641
+ /**
642
+ * Visual style properties for a catalog quantity option.
643
+ * Controls the layout and appearance of the selectable quantity chip.
644
+ */
197
645
  export interface CatalogQuantityStyles {
646
+ /** Layout properties for the flex container. */
198
647
  container?: null | ContainerStylingProperties;
648
+ /** Background color and image properties. */
199
649
  background?: null | BackgroundStylingProperties;
650
+ /** Border radius, color, width and style. */
200
651
  border?: null | BorderStylingProperties;
652
+ /** Width, height and rotation properties. */
201
653
  dimension?: null | DimensionStylingProperties;
654
+ /** Properties controlling behaviour as a flex child. */
202
655
  flexChild?: null | FlexChildStylingProperties;
656
+ /** Padding, margin and offset properties. */
203
657
  spacing?: null | SpacingStylingProperties;
204
658
  }
659
+ /**
660
+ * Breakpoint-specific style elements for a catalog quantity option.
661
+ * Provides separate style arrays for the default state, the active (selected) state,
662
+ * and the passive (unselected) state.
663
+ */
205
664
  export interface CatalogQuantityOptionElements {
665
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
206
666
  own: BasicStateStylingBlock<CatalogQuantityStyles>[];
667
+ /**
668
+ * Style blocks applied when this option is the currently selected (active) quantity.
669
+ * Array represents breakpoint-specific styles.
670
+ */
207
671
  active?: null | BasicStateStylingBlock<CatalogQuantityStyles>[];
672
+ /**
673
+ * Style blocks applied when this option is not selected (passive/unselected).
674
+ * Array represents breakpoint-specific styles.
675
+ */
208
676
  passive?: null | BasicStateStylingBlock<CatalogQuantityStyles>[];
209
677
  }
678
+ /**
679
+ * A selectable quantity option within a catalog radio group or quantity picker.
680
+ * Represents a single discrete quantity value the user can choose (e.g., "1", "2", "5").
681
+ * Each option renders a template node (typically a label) and tracks its own
682
+ * active/passive visual state.
683
+ */
210
684
  export interface CatalogQuantityOptionModel<NodeTemplate, Predicates> {
685
+ /**
686
+ * Accessibility label read by screen readers to describe this quantity option
687
+ * (e.g., "Select quantity 2").
688
+ */
211
689
  a11yLabel?: null | string;
690
+ /**
691
+ * The numeric quantity value this option represents. When selected, this value
692
+ * is used as the chosen quantity for the catalog item.
693
+ */
212
694
  quantity: number;
695
+ /**
696
+ * Template node rendered as the visual content of this option, typically a text
697
+ * label displaying the quantity number.
698
+ */
213
699
  template: NodeTemplate;
700
+ /**
701
+ * Responsive and conditional styling for this option, including breakpoint-specific
702
+ * element styles and animated transitions for default, active, and passive states.
703
+ */
214
704
  styles?: null | LayoutStyle<CatalogQuantityOptionElements, ConditionalStyleTransition<CatalogQuantityOptionTransitions, Predicates>>;
215
705
  }
706
+ /**
707
+ * Transition properties for animating style changes on a catalog quantity option
708
+ * across its default, active, and passive states.
709
+ */
216
710
  export interface CatalogQuantityOptionTransitions {
711
+ /** Transition properties for the primary element. */
217
712
  own?: null | CatalogQuantityStyles;
713
+ /** Transition properties for the active (selected) state. */
218
714
  active?: null | CatalogQuantityStyles;
715
+ /** Transition properties for the passive (unselected) state. */
219
716
  passive?: null | CatalogQuantityStyles;
220
717
  }
718
+ /**
719
+ * Visual style properties for the radio group's outer container.
720
+ * Controls the overall layout and appearance of the group wrapper.
721
+ */
221
722
  export interface CatalogRadioGroupStyles {
723
+ /** Layout properties for the flex container. */
222
724
  container?: null | ContainerStylingProperties;
725
+ /** Background color and image properties. */
223
726
  background?: null | BackgroundStylingProperties;
727
+ /** Border radius, color, width and style. */
224
728
  border?: null | BorderStylingProperties;
729
+ /** Width, height and rotation properties. */
225
730
  dimension?: null | DimensionStylingProperties;
731
+ /** Properties controlling behaviour as a flex child. */
226
732
  flexChild?: null | FlexChildStylingProperties;
733
+ /** Padding, margin and offset properties. */
227
734
  spacing?: null | SpacingStylingProperties;
228
735
  }
736
+ /**
737
+ * Visual style properties for the container wrapping each individual
738
+ * radio option row (radio button + option content).
739
+ */
229
740
  export interface OptionContainerStyles {
741
+ /** Layout properties for the flex container. */
230
742
  container?: null | ContainerStylingProperties;
743
+ /** Background color and image properties. */
231
744
  background?: null | BackgroundStylingProperties;
745
+ /** Border radius, color, width and style. */
232
746
  border?: null | BorderStylingProperties;
747
+ /** Width, height and rotation properties. */
233
748
  dimension?: null | DimensionStylingProperties;
749
+ /** Properties controlling behaviour as a flex child. */
234
750
  flexChild?: null | FlexChildStylingProperties;
751
+ /** Padding, margin and offset properties. */
235
752
  spacing?: null | SpacingStylingProperties;
236
753
  }
754
+ /**
755
+ * Visual style properties for the outer ring of a radio button indicator.
756
+ * This is the circular border element surrounding the inner filled circle.
757
+ */
237
758
  export interface RadioOuterStyles {
759
+ /** Layout properties for the flex container. */
238
760
  container?: null | ContainerStylingProperties;
761
+ /** Background color and image properties. */
239
762
  background?: null | BackgroundStylingProperties;
763
+ /** Border radius, color, width and style. */
240
764
  border?: null | BorderStylingProperties;
765
+ /** Width, height and rotation properties. */
241
766
  dimension?: null | DimensionStylingProperties;
767
+ /** Properties controlling behaviour as a flex child. */
242
768
  flexChild?: null | FlexChildStylingProperties;
769
+ /** Padding, margin and offset properties. */
243
770
  spacing?: null | SpacingStylingProperties;
244
771
  }
772
+ /**
773
+ * Visual style properties for the inner filled circle of a radio button indicator.
774
+ * This dot appears inside the outer ring when the option is selected.
775
+ */
245
776
  export interface RadioInnerStyles {
777
+ /** Background color and image properties. */
246
778
  background?: null | BackgroundStylingProperties;
779
+ /** Border radius, color, width and style. */
247
780
  border?: null | BorderStylingProperties;
781
+ /** Properties controlling behaviour as a flex child. */
248
782
  flexChild?: null | FlexChildStylingProperties;
249
783
  }
784
+ /**
785
+ * Breakpoint-specific style elements for the radio group and all its sub-elements.
786
+ * Provides separate style arrays for the group container, option rows, and both
787
+ * checked and unchecked states of the radio button's outer ring and inner dot.
788
+ */
250
789
  export interface CatalogRadioGroupElements {
790
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
251
791
  own: BasicStateStylingBlock<CatalogRadioGroupStyles>[];
792
+ /** Style blocks for each option's row container. Array represents breakpoint-specific styles. */
252
793
  optionContainer?: null | BasicStateStylingBlock<OptionContainerStyles>[];
794
+ /**
795
+ * Style blocks for the radio button outer ring in the unchecked state.
796
+ * Array represents breakpoint-specific styles.
797
+ */
253
798
  radioButtonOuter?: null | BasicStateStylingBlock<RadioOuterStyles>[];
799
+ /**
800
+ * Style blocks for the radio button outer ring in the checked (selected) state.
801
+ * Array represents breakpoint-specific styles.
802
+ */
254
803
  radioButtonOuterChecked?: null | BasicStateStylingBlock<RadioOuterStyles>[];
804
+ /**
805
+ * Style blocks for the radio button inner dot in the unchecked state.
806
+ * Array represents breakpoint-specific styles.
807
+ */
255
808
  radioButtonInner?: null | BasicStateStylingBlock<RadioInnerStyles>[];
809
+ /**
810
+ * Style blocks for the radio button inner dot in the checked (selected) state.
811
+ * Array represents breakpoint-specific styles.
812
+ */
256
813
  radioButtonInnerChecked?: null | BasicStateStylingBlock<RadioInnerStyles>[];
257
814
  }
258
- export type InputValidation = {
815
+ /**
816
+ * Validation rules that can be applied to input fields. MUST be an object
817
+ * with a "type" field and a "value" field. Currently only "Required"
818
+ * validation is supported. Use to enforce that users provide input before
819
+ * submitting.
820
+ */
821
+ export type InputValidation =
822
+ /**
823
+ * Validates that the input field is not empty. The value contains the
824
+ * error message configuration to show when validation fails.
825
+ */
826
+ {
259
827
  type: "Required";
260
828
  value: InputRequiredValidation;
261
829
  };
830
+ /**
831
+ * A radio button group for selecting a quantity from a set of predefined options
832
+ * in a catalog/add-to-cart flow. Renders a list of mutually exclusive radio buttons,
833
+ * each associated with a CatalogQuantityOption. Only one option may be selected at a time.
834
+ * Supports input validation rules to enforce selection constraints.
835
+ */
262
836
  export interface CatalogRadioGroupModel<NodeOptionTemplate, Predicates> {
837
+ /**
838
+ * Accessibility label read by screen readers to describe the radio group's purpose
839
+ * (e.g., "Select quantity").
840
+ */
263
841
  a11yLabel?: null | string;
842
+ /**
843
+ * Responsive and conditional styling for this radio group, including breakpoint-specific
844
+ * element styles and animated transitions for the group, option containers, and
845
+ * radio button indicators in both checked and unchecked states.
846
+ */
264
847
  styles?: null | LayoutStyle<CatalogRadioGroupElements, ConditionalStyleTransition<CatalogRadioGroupTransitions, Predicates>>;
848
+ /**
849
+ * Validation rules applied to the radio group input. Can enforce constraints such as
850
+ * requiring a selection before the form can be submitted.
851
+ */
265
852
  validations: InputValidation[];
853
+ /**
854
+ * The list of selectable quantity options displayed as radio buttons.
855
+ * Each option contains a quantity value and a template node for its visual content.
856
+ */
266
857
  options: CatalogQuantityOptionModel<NodeOptionTemplate, Predicates>[];
267
858
  }
859
+ /**
860
+ * Transition properties for animating style changes on the radio group
861
+ * and all its sub-elements across checked and unchecked states.
862
+ */
268
863
  export interface CatalogRadioGroupTransitions {
864
+ /** Transition properties for the primary element. */
269
865
  own?: null | CatalogRadioGroupStyles;
866
+ /** Transition properties for the option row container. */
270
867
  option_container?: null | OptionContainerStyles;
868
+ /** Transition properties for the radio button outer ring (unchecked state). */
271
869
  radio_button_outer?: null | RadioOuterStyles;
870
+ /** Transition properties for the radio button outer ring (checked state). */
272
871
  radio_button_outer_checked?: null | RadioOuterStyles;
872
+ /** Transition properties for the radio button inner dot (unchecked state). */
273
873
  radio_button_inner?: null | RadioInnerStyles;
874
+ /** Transition properties for the radio button inner dot (checked state). */
274
875
  radio_button_inner_checked?: null | RadioInnerStyles;
275
876
  }
877
+ /**
878
+ * Visual style properties for a catalog response button.
879
+ * Controls the button's layout, appearance, and sizing.
880
+ */
276
881
  export interface CatalogResponseButtonStyles {
882
+ /** Layout properties for the flex container. */
277
883
  container?: null | ContainerStylingProperties;
884
+ /** Background color and image properties. */
278
885
  background?: null | BackgroundStylingProperties;
886
+ /** Border radius, color, width and style. */
279
887
  border?: null | BorderStylingProperties;
888
+ /** Width, height and rotation properties. */
280
889
  dimension?: null | DimensionStylingProperties;
890
+ /** Properties controlling behaviour as a flex child. */
281
891
  flexChild?: null | FlexChildStylingProperties;
892
+ /** Padding, margin and offset properties. */
282
893
  spacing?: null | SpacingStylingProperties;
283
894
  }
895
+ /**
896
+ * Breakpoint-specific style elements for a catalog response button.
897
+ * Allows different visual treatments at different screen sizes and interaction states.
898
+ */
284
899
  export interface CatalogResponseButtonElements {
900
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
285
901
  own: BasicStateStylingBlock<CatalogResponseButtonStyles>[];
286
902
  }
903
+ /**
904
+ * A response button for catalog/add-to-cart interactions. Similar to CreativeResponse but
905
+ * designed for product catalog flows. When tapped, it sends a response keyed by `responseKey`
906
+ * back to the server to advance the catalog interaction.
907
+ */
287
908
  export interface CatalogResponseButtonModel<Children, Predicates> {
909
+ /** Accessibility label read by screen readers to describe the button's purpose. */
288
910
  a11y_label?: null | string;
911
+ /**
912
+ * Responsive and conditional styling for this button, including breakpoint-specific
913
+ * element styles and animated transitions.
914
+ */
289
915
  styles?: null | LayoutStyle<CatalogResponseButtonElements, ConditionalStyleTransition<CatalogResponseButtonTransitions, Predicates>>;
916
+ /**
917
+ * Child nodes rendered inside this button. Typically contains text labels or icons
918
+ * describing the action (e.g., "Add to Cart", product name).
919
+ */
290
920
  children: Children[];
291
921
  }
922
+ /** Transition properties for animating style changes on a catalog response button. */
292
923
  export interface CatalogResponseButtonTransitions {
924
+ /** Transition properties for the primary element. */
293
925
  own?: null | CatalogResponseButtonStyles;
294
926
  }
927
+ /**
928
+ * Visual style properties for the stacked collection container.
929
+ * Controls the layout and appearance of the outer wrapper that holds
930
+ * the stacked catalog item cards.
931
+ */
295
932
  export interface CatalogStackedCollectionStyles {
933
+ /** Layout properties for the flex container. */
296
934
  container?: null | ContainerStylingProperties;
935
+ /** Background color and image properties. */
297
936
  background?: null | BackgroundStylingProperties;
937
+ /** Border radius, color, width and style. */
298
938
  border?: null | BorderStylingProperties;
939
+ /** Width, height and rotation properties. */
299
940
  dimension?: null | DimensionStylingProperties;
941
+ /** Properties controlling behaviour as a flex child. */
300
942
  flexChild?: null | FlexChildStylingProperties;
943
+ /** Padding, margin and offset properties. */
301
944
  spacing?: null | SpacingStylingProperties;
302
945
  }
946
+ /**
947
+ * Breakpoint-specific style elements for a catalog stacked collection.
948
+ * Uses stateless styling blocks since this is a static container without
949
+ * interactive states.
950
+ */
303
951
  export interface CatalogStackedCollectionElements {
952
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
304
953
  own: StatelessStylingBlock<CatalogStackedCollectionStyles>[];
305
954
  }
955
+ /**
956
+ * A vertically stacked collection of catalog items for add-to-cart flows.
957
+ * Renders each catalog product as a card in a vertical stack layout, where items
958
+ * are presented one below another. The visual content of each item is defined by
959
+ * a reusable template node that is instantiated per product in the collection.
960
+ */
306
961
  export interface CatalogStackedCollectionModel<NodeTemplate, Predicates> {
962
+ /**
963
+ * Responsive and conditional styling for this collection container, including
964
+ * breakpoint-specific element styles and animated transitions.
965
+ */
307
966
  styles?: null | LayoutStyle<CatalogStackedCollectionElements, ConditionalStyleTransition<CatalogStackedCollectionTransitions, Predicates>>;
967
+ /**
968
+ * Template node used to render each catalog item in the stacked collection.
969
+ * This template is instantiated once per product, with product-specific data
970
+ * bound at runtime.
971
+ */
308
972
  template: NodeTemplate;
309
973
  }
974
+ /** Transition properties for animating style changes on a catalog stacked collection. */
310
975
  export interface CatalogStackedCollectionTransitions {
976
+ /** Transition properties for the primary element. */
311
977
  own?: null | CatalogStackedCollectionStyles;
312
978
  }
979
+ /**
980
+ * The top-level schema structure for a child layout (layout variant). Similar to
981
+ * RootSchemaModel but includes predicates for conditional display.
982
+ */
313
983
  export interface ChildRootSchemaModel<Layout, Display, Settings, Predicates> {
984
+ /**
985
+ * Map of breakpoint names to viewport width thresholds in platform units.
986
+ * Defines responsive breakpoints for the layout.
987
+ */
314
988
  breakpoints: Record<string, number>;
989
+ /** The root node of the layout tree. */
315
990
  layout: Layout;
991
+ /** Platform-specific layout settings. */
316
992
  settings?: null | Settings;
993
+ /** Controls how the layout is displayed (fullscreen, embedded, etc). */
317
994
  display?: null | Display;
995
+ /** Conditions that determine when this child layout is displayed. */
318
996
  predicates: Predicates[];
319
997
  }
998
+ /**
999
+ * Visual style properties for the CloseButton.
1000
+ * Contains the standard style categories: container layout, background colors,
1001
+ * border appearance, dimensions, flex child positioning, and spacing.
1002
+ */
320
1003
  export interface CloseButtonStyles {
1004
+ /** Container layout styles (e.g. flex direction, alignment). */
321
1005
  container?: null | ContainerStylingProperties;
1006
+ /** Background color and gradient styles. */
322
1007
  background?: null | BackgroundStylingProperties;
1008
+ /** Border width, color, and radius styles. */
323
1009
  border?: null | BorderStylingProperties;
1010
+ /** Width and height dimension styles. */
324
1011
  dimension?: null | DimensionStylingProperties;
1012
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
325
1013
  flexChild?: null | FlexChildStylingProperties;
1014
+ /** Padding and margin spacing styles. */
326
1015
  spacing?: null | SpacingStylingProperties;
327
1016
  }
1017
+ /**
1018
+ * Styling elements for the CloseButton.
1019
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed)
1020
+ * applied to the close button itself.
1021
+ */
328
1022
  export interface CloseButtonElements {
1023
+ /**
1024
+ * Array of state-dependent styling blocks for the close button.
1025
+ * Each block targets a specific interaction state (default, pressed, etc.).
1026
+ */
329
1027
  own: BasicStateStylingBlock<CloseButtonStyles>[];
330
1028
  }
1029
+ /**
1030
+ * A button that closes/dismisses the layout when clicked.
1031
+ * Typically contains a StaticIcon with the 'Close' icon.
1032
+ *
1033
+ * MUST include child content (usually a StaticIcon with name `"Close"`).
1034
+ * Do NOT use CreativeResponse for dismissal; use CloseButton instead so that
1035
+ * the dismiss action is correctly tracked.
1036
+ */
331
1037
  export interface CloseButtonModel<Children, Predicates> {
1038
+ /**
1039
+ * Accessibility label for the close button.
1040
+ * MUST be provided for screen reader support (e.g. "Close" or "Dismiss").
1041
+ */
332
1042
  a11yLabel?: null | string;
1043
+ /** Visual styles for the close button. Uses the LayoutStyle wrapper with conditional style transitions. */
333
1044
  styles?: null | LayoutStyle<CloseButtonElements, ConditionalStyleTransition<CloseButtonTransitions, Predicates>>;
1045
+ /**
1046
+ * Child nodes forming the button content. Typically a StaticIcon with name `"Close"`.
1047
+ * MUST contain at least one child to display the close icon or label.
1048
+ */
334
1049
  children: Children[];
1050
+ /**
1051
+ * Optional dismissal method configuration.
1052
+ * Controls how the dismissal is reported for analytics purposes.
1053
+ */
335
1054
  dismissalMethod?: null | string;
336
1055
  }
1056
+ /**
1057
+ * Transition styles for animating CloseButton style changes.
1058
+ * Defines which style properties should animate when the button's conditional styles change.
1059
+ */
337
1060
  export interface CloseButtonTransitions {
1061
+ /** Transition properties for the close button's own styles. */
338
1062
  own?: null | CloseButtonStyles;
339
1063
  }
1064
+ /**
1065
+ * Available style categories for the Column element. Each optional field enables a specific
1066
+ * category of visual styling. Omit a field to leave that category unstyled.
1067
+ */
340
1068
  export interface ColumnStyle {
1069
+ /**
1070
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1071
+ * MUST be used to control how children are arranged within the column.
1072
+ */
341
1073
  container?: null | ContainerStylingProperties;
1074
+ /**
1075
+ * Background color and image properties. Use to set a solid color, gradient, or image
1076
+ * behind the column content.
1077
+ */
342
1078
  background?: null | BackgroundStylingProperties;
1079
+ /**
1080
+ * Border radius, color, width and style properties. Use to add visible borders or
1081
+ * rounded corners to the column.
1082
+ */
343
1083
  border?: null | BorderStylingProperties;
1084
+ /**
1085
+ * Width, height and rotation properties. Use to explicitly size the column or apply
1086
+ * rotation transforms. Do NOT set width/height if the column should size to its content.
1087
+ */
344
1088
  dimension?: null | DimensionStylingProperties;
1089
+ /**
1090
+ * Properties controlling this element's behaviour as a child of a flex container.
1091
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1092
+ */
345
1093
  flexChild?: null | FlexChildStylingProperties;
1094
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the column. */
346
1095
  spacing?: null | SpacingStylingProperties;
347
1096
  }
1097
+ /**
1098
+ * Styleable elements of the Column node. The Column has a single styleable element: its own
1099
+ * container.
1100
+ */
348
1101
  export interface ColumnElements {
1102
+ /**
1103
+ * Style blocks for the column container itself. The array represents breakpoint-specific
1104
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1105
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1106
+ */
349
1107
  own: BasicStateStylingBlock<ColumnStyle>[];
350
1108
  }
1109
+ /**
1110
+ * A vertical flex container that arranges its children in a column (top to bottom). Use for
1111
+ * vertical layouts. Children are laid out along the vertical axis by default. To control
1112
+ * alignment and distribution, configure the container styles. Do NOT nest Columns
1113
+ * unnecessarily when a single Column with appropriate styling would suffice.
1114
+ */
351
1115
  export interface ColumnModel<Children, Predicates> {
1116
+ /**
1117
+ * Accessibility label for screen readers. Omit if the column is purely decorative or its
1118
+ * children already provide sufficient accessible labels. MUST be set when the column
1119
+ * conveys meaning not available from its children alone.
1120
+ */
352
1121
  a11yLabel?: null | string;
1122
+ /**
1123
+ * Visual styles for this column. See styling documentation for the structure. Omit to use
1124
+ * default (unstyled) rendering.
1125
+ */
353
1126
  styles?: null | LayoutStyle<ColumnElements, ConditionalStyleTransition<ColumnTransitions, Predicates>>;
1127
+ /**
1128
+ * Child nodes rendered vertically within this column.
1129
+ * Children are laid out top to bottom in source order.
1130
+ */
354
1131
  children: Children[];
355
1132
  }
1133
+ /** Transition styles for the Column node. Use to animate style changes smoothly. */
356
1134
  export interface ColumnTransitions {
1135
+ /**
1136
+ * Transition properties for the column container. Specifies which style properties
1137
+ * should animate and their duration/easing when values change.
1138
+ */
357
1139
  own?: null | ColumnStyle;
358
1140
  }
359
- export type ExistenceWhenCondition = "exists" | "not-exists";
1141
+ /**
1142
+ * Condition operators for checking whether a value exists. Use these to
1143
+ * conditionally render content based on whether data is present.
1144
+ * Serialized as kebab-case strings: "exists", "not-exists".
1145
+ */
1146
+ export type ExistenceWhenCondition =
1147
+ /** True when the value is present and non-empty. */
1148
+ "exists"
1149
+ /** True when the value is absent or empty. */
1150
+ | "not-exists";
1151
+ /**
1152
+ * Tests whether a creative data attribute exists. Use to conditionally show
1153
+ * content only when specific creative data is available. Do NOT use this for
1154
+ * non-creative data checks.
1155
+ */
360
1156
  export interface CreativeCopyPredicate {
1157
+ /** Whether to check for existence or non-existence of the creative attribute. */
361
1158
  condition: ExistenceWhenCondition;
1159
+ /**
1160
+ * The dot-notation path to the creative attribute, e.g.
1161
+ * "creative.socialProof.number". MUST use dot notation to reference
1162
+ * nested creative data fields.
1163
+ */
362
1164
  value: string;
363
1165
  }
1166
+ /**
1167
+ * Visual style properties for the CreativeResponse button.
1168
+ * Contains the standard style categories: container layout, background colors,
1169
+ * border appearance, dimensions, flex child positioning, and spacing.
1170
+ */
364
1171
  export interface CreativeResponseStyles {
1172
+ /** Container layout styles (e.g. flex direction, alignment). */
365
1173
  container?: null | ContainerStylingProperties;
1174
+ /** Background color and gradient styles. */
366
1175
  background?: null | BackgroundStylingProperties;
1176
+ /** Border width, color, and radius styles. */
367
1177
  border?: null | BorderStylingProperties;
1178
+ /** Width and height dimension styles. */
368
1179
  dimension?: null | DimensionStylingProperties;
1180
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
369
1181
  flexChild?: null | FlexChildStylingProperties;
1182
+ /** Padding and margin spacing styles. */
370
1183
  spacing?: null | SpacingStylingProperties;
371
1184
  }
1185
+ /**
1186
+ * Styling elements for the CreativeResponse button.
1187
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed, disabled)
1188
+ * applied to the button itself.
1189
+ */
372
1190
  export interface CreativeResponseElements {
1191
+ /**
1192
+ * Array of state-dependent styling blocks for the button.
1193
+ * Each block targets a specific interaction state (default, pressed, disabled, etc.).
1194
+ */
373
1195
  own: BasicStateStylingBlock<CreativeResponseStyles>[];
374
1196
  }
375
- export type LinkOpenTarget = "internally" | "externally";
1197
+ /**
1198
+ * Controls how links are opened when clicked. MUST be one of the valid
1199
+ * kebab-case string values. Determines the navigation behavior when a
1200
+ * user activates a link action.
1201
+ */
1202
+ export type LinkOpenTarget =
1203
+ /**
1204
+ * Opens the link within the current context (in-app webview or same
1205
+ * window). Use for links that should keep the user in the application.
1206
+ */
1207
+ "internally"
1208
+ /**
1209
+ * Opens the link in the system browser. Use for external URLs that
1210
+ * should leave the application context.
1211
+ */
1212
+ | "externally";
1213
+ /**
1214
+ * A button that triggers a creative response (positive or negative).
1215
+ * This is the primary call-to-action node for offer interactions.
1216
+ * Children inside this node become the button content.
1217
+ *
1218
+ * MUST have a `responseKey` of either `"positive"` or `"negative"`.
1219
+ * Use `"positive"` for accept/CTA buttons and `"negative"` for decline/dismiss buttons.
1220
+ * Do NOT use this node for non-response actions like navigation; use StaticLink or ButtonStateTrigger instead.
1221
+ */
376
1222
  export interface CreativeResponseModel<Children, Predicates> {
1223
+ /**
1224
+ * Accessibility label for the button.
1225
+ * MUST be provided for screen reader support. Describes the button's action to assistive technologies.
1226
+ */
377
1227
  a11yLabel?: null | string;
1228
+ /**
1229
+ * The response type. Use `"positive"` for accept/CTA buttons, `"negative"` for decline/dismiss buttons.
1230
+ * Do NOT use arbitrary strings; only `"positive"` and `"negative"` are valid.
1231
+ */
378
1232
  responseKey: string;
1233
+ /** Visual styles for the button. Uses the LayoutStyle wrapper with conditional style transitions. */
379
1234
  styles?: null | LayoutStyle<CreativeResponseElements, ConditionalStyleTransition<CreativeResponseTransitions, Predicates>>;
1235
+ /**
1236
+ * Controls how the response URL is opened when clicked.
1237
+ * If omitted, the default link opening behaviour is used.
1238
+ */
380
1239
  openLinks?: null | LinkOpenTarget;
1240
+ /**
1241
+ * Child nodes that form the button's visible content.
1242
+ * Typically contains a BasicText node with the CTA label.
1243
+ * MUST contain at least one child to display button content.
1244
+ */
381
1245
  children: Children[];
382
1246
  }
1247
+ /**
1248
+ * Transition styles for animating CreativeResponse style changes.
1249
+ * Defines which style properties should animate when the button's conditional styles change.
1250
+ */
383
1251
  export interface CreativeResponseTransitions {
1252
+ /** Transition properties for the button's own styles. */
384
1253
  own?: null | CreativeResponseStyles;
385
1254
  }
1255
+ /**
1256
+ * Tests a custom state value. Custom states are set by state trigger nodes
1257
+ * such as ButtonStateTrigger, ToggleButtonStateTrigger, and similar components.
1258
+ * The value is an integer that represents the current state.
1259
+ */
386
1260
  export interface CustomStatePredicate {
1261
+ /**
1262
+ * The custom state key to check. MUST match the key used in the
1263
+ * corresponding state trigger node.
1264
+ */
387
1265
  key: string;
1266
+ /** The comparison operator. */
388
1267
  condition: OrderableWhenCondition;
1268
+ /** The integer value to compare the custom state against. */
389
1269
  value: number;
390
1270
  }
391
- export type EqualityWhenCondition = "is" | "is-not";
1271
+ /**
1272
+ * Condition operators for equality comparisons. Use these when you only need
1273
+ * to test if two values are equal or not equal.
1274
+ * Serialized as kebab-case strings: "is", "is-not".
1275
+ */
1276
+ export type EqualityWhenCondition =
1277
+ /** True when the value equals the specified value. */
1278
+ "is"
1279
+ /** True when the value does not equal the specified value. */
1280
+ | "is-not";
1281
+ /**
1282
+ * Tests whether dark mode is active. Use to provide different styling or
1283
+ * content for light and dark modes.
1284
+ */
392
1285
  export interface DarkModePredicate {
1286
+ /** Use "is" to check if dark mode matches the value, "is-not" for the inverse. */
393
1287
  condition: EqualityWhenCondition;
1288
+ /**
1289
+ * The boolean value to compare against. Set to true to test for dark mode,
1290
+ * false to test for light mode.
1291
+ */
394
1292
  value: boolean;
395
1293
  }
1294
+ /** Visual styles for the DataIcon node. */
396
1295
  export interface DataIconStyles {
1296
+ /** Typography properties. */
397
1297
  text?: null | TextStylingProperties;
1298
+ /** Width, height and rotation properties. */
398
1299
  dimension?: null | DimensionStylingProperties;
1300
+ /** Properties controlling behaviour as a flex child. */
399
1301
  flexChild?: null | FlexChildStylingProperties;
1302
+ /** Padding, margin and offset properties. */
400
1303
  spacing?: null | SpacingStylingProperties;
1304
+ /** Background color and image properties. */
401
1305
  background?: null | BackgroundStylingProperties;
1306
+ /** Border radius, color, width and style. */
402
1307
  border?: null | BorderStylingProperties;
403
1308
  }
1309
+ /** Style elements for the DataIcon node. */
404
1310
  export interface DataIconElements {
1311
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
405
1312
  own: BasicStateStylingBlock<DataIconStyles>[];
406
1313
  }
1314
+ /** Renders an icon from creative data. The icon is resolved from the creative object using the iconKey. */
407
1315
  export interface DataIconModel<Predicates> {
1316
+ /** Visual styles for the icon. */
408
1317
  styles?: null | LayoutStyle<DataIconElements, ConditionalStyleTransition<DataIconTransitions, Predicates>>;
1318
+ /** The key identifying which icon from the creative data to display. */
409
1319
  iconKey: string;
410
1320
  }
1321
+ /** Transition definitions for the DataIcon node. */
411
1322
  export interface DataIconTransitions {
1323
+ /** Transition properties for the primary element. */
412
1324
  own?: null | DataIconStyles;
413
1325
  }
1326
+ /** Visual styles for the DataImage node. */
414
1327
  export interface DataImageStyles {
1328
+ /** Background color and image properties. */
415
1329
  background?: null | BackgroundStylingProperties;
1330
+ /** Border radius, color, width and style. */
416
1331
  border?: null | BorderStylingProperties;
1332
+ /** Width, height and rotation properties. */
417
1333
  dimension?: null | DimensionStylingProperties;
1334
+ /** Properties controlling behaviour as a flex child. */
418
1335
  flexChild?: null | FlexChildStylingProperties;
1336
+ /** Padding, margin and offset properties. */
419
1337
  spacing?: null | SpacingStylingProperties;
420
1338
  }
1339
+ /** Style elements for the DataImage node. */
421
1340
  export interface DataImageElements {
1341
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
422
1342
  own: BasicStateStylingBlock<DataImageStyles>[];
423
1343
  }
1344
+ /** Renders an image from creative data. The image URL is resolved from the creative object using the imageKey. Use for offer-specific images. */
424
1345
  export interface DataImageModel<Predicates> {
1346
+ /** Visual styles for the image element. */
425
1347
  styles?: null | LayoutStyle<DataImageElements, ConditionalStyleTransition<DataImageTransitions, Predicates>>;
1348
+ /** The key identifying which image from the creative data to display. */
426
1349
  imageKey: string;
427
1350
  }
1351
+ /** Transition definitions for the DataImage node. */
428
1352
  export interface DataImageTransitions {
1353
+ /** Transition properties for the primary element. */
429
1354
  own?: null | DataImageStyles;
430
1355
  }
431
- export type DomainStateKey = "offerComplete";
1356
+ /**
1357
+ * Keys for accessing application domain state in the full layout schema
1358
+ * context. Domain state represents high-level application state managed by
1359
+ * the host application. Serialized as camelCase strings.
1360
+ */
1361
+ export type DomainStateKey =
1362
+ /**
1363
+ * Indicates whether the current offer has been completed by the user.
1364
+ * Use to show post-completion content or hide offer-specific elements.
1365
+ */
1366
+ "offerComplete";
1367
+ /**
1368
+ * Tests application domain state. Domain state is managed by the host
1369
+ * application and represents high-level application state such as whether
1370
+ * an offer is complete or checkout state.
1371
+ */
432
1372
  export interface DomainStatePredicate<DomainStateKey> {
1373
+ /** The domain state key to check. */
433
1374
  key: DomainStateKey;
1375
+ /** The comparison operator. */
434
1376
  condition: OrderableWhenCondition;
1377
+ /** The integer value to compare the domain state against. */
435
1378
  value: number;
436
1379
  }
1380
+ /**
1381
+ * An escape hatch node that allows passing raw data through the DCUI schema.
1382
+ * Use sparingly for edge cases not covered by standard nodes.
1383
+ *
1384
+ * Do NOT use this as a general-purpose data container. Prefer standard DCUI nodes
1385
+ * whenever possible. This node bypasses schema validation for its data content.
1386
+ */
437
1387
  export interface EscapeHatchModel {
1388
+ /**
1389
+ * Raw string data to pass through.
1390
+ * The content is opaque to the DCUI renderer and is passed directly to the client.
1391
+ * MUST be a valid string. The client is responsible for parsing and interpreting the data.
1392
+ */
438
1393
  data: string;
439
1394
  }
1395
+ /** Settings for a bidirectional fade-in/fade-out transition. */
440
1396
  export interface FadeInOutTransitionSettings {
1397
+ /**
1398
+ * The transition duration in milliseconds. MUST be a positive integer.
1399
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1400
+ */
441
1401
  duration: number;
442
1402
  }
1403
+ /** Settings for a fade-in (enter) transition. */
443
1404
  export interface FadeInTransitionSettings {
1405
+ /**
1406
+ * The transition duration in milliseconds. MUST be a positive integer.
1407
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1408
+ */
444
1409
  duration: number;
445
1410
  }
1411
+ /** Settings for a fade-out (exit) transition. */
446
1412
  export interface FadeOutTransitionSettings {
1413
+ /**
1414
+ * The transition duration in milliseconds. MUST be a positive integer.
1415
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1416
+ */
447
1417
  duration: number;
448
1418
  }
1419
+ /**
1420
+ * Available style categories for the FlowRow element. Each optional field enables a specific
1421
+ * category of visual styling. Omit a field to leave that category unstyled.
1422
+ */
449
1423
  export interface FlowRowStyle {
1424
+ /**
1425
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1426
+ * MUST be used to control how children are arranged and wrapped within the flow row.
1427
+ */
450
1428
  container?: null | ContainerStylingProperties;
1429
+ /**
1430
+ * Background color and image properties. Use to set a solid color, gradient, or image
1431
+ * behind the flow row content.
1432
+ */
451
1433
  background?: null | BackgroundStylingProperties;
1434
+ /**
1435
+ * Border radius, color, width and style properties. Use to add visible borders or
1436
+ * rounded corners to the flow row.
1437
+ */
452
1438
  border?: null | BorderStylingProperties;
1439
+ /**
1440
+ * Width, height and rotation properties. Use to explicitly size the flow row or apply
1441
+ * rotation transforms. Do NOT set width/height if the flow row should size to its content.
1442
+ */
453
1443
  dimension?: null | DimensionStylingProperties;
1444
+ /**
1445
+ * Properties controlling this element's behaviour as a child of a flex container.
1446
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1447
+ */
454
1448
  flexChild?: null | FlexChildStylingProperties;
1449
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the flow row. */
455
1450
  spacing?: null | SpacingStylingProperties;
456
1451
  }
1452
+ /**
1453
+ * Styleable elements of the FlowRow node. The FlowRow has a single styleable element: its
1454
+ * own container.
1455
+ */
457
1456
  export interface FlowRowElements {
1457
+ /**
1458
+ * Style blocks for the flow row container itself. The array represents breakpoint-specific
1459
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1460
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1461
+ */
458
1462
  own: BasicStateStylingBlock<FlowRowStyle>[];
459
1463
  }
1464
+ /**
1465
+ * A horizontal flex container that wraps children to the next line when they exceed the
1466
+ * container width. Like Row but with line wrapping. Use when you have a dynamic number of
1467
+ * items that should flow naturally across lines (e.g., tags, chips, badges). Do NOT use
1468
+ * FlowRow when you need a single non-wrapping horizontal row; use Row instead.
1469
+ */
460
1470
  export interface FlowRowModel<Children, Predicates> {
1471
+ /**
1472
+ * Accessibility label for screen readers. Omit if the flow row is purely decorative or
1473
+ * its children already provide sufficient accessible labels. MUST be set when the flow
1474
+ * row conveys meaning not available from its children alone.
1475
+ */
461
1476
  a11yLabel?: null | string;
1477
+ /**
1478
+ * Visual styles for this flow row. See styling documentation for the structure. Omit to
1479
+ * use default (unstyled) rendering.
1480
+ */
462
1481
  styles?: null | LayoutStyle<FlowRowElements, ConditionalStyleTransition<FlowRowTransitions, Predicates>>;
1482
+ /**
1483
+ * Child nodes rendered horizontally with wrapping within this flow row. MUST contain at
1484
+ * least one child. Children wrap to the next line when they exceed the container width.
1485
+ */
463
1486
  children: Children[];
464
1487
  }
1488
+ /** Transition styles for the FlowRow node. Use to animate style changes smoothly. */
465
1489
  export interface FlowRowTransitions {
1490
+ /**
1491
+ * Transition properties for the flow row container. Specifies which style properties
1492
+ * should animate and their duration/easing when values change.
1493
+ */
466
1494
  own?: null | FlowRowStyle;
467
1495
  }
1496
+ /**
1497
+ * Visual style properties for the GroupedDistribution container.
1498
+ * Contains the standard style categories: container layout, background colors,
1499
+ * border appearance, dimensions, flex child positioning, and spacing.
1500
+ */
468
1501
  export interface GroupedDistributionStyles {
1502
+ /** Container layout styles (e.g. flex direction, alignment). */
469
1503
  container?: null | ContainerStylingProperties;
1504
+ /** Background color and gradient styles. */
470
1505
  background?: null | BackgroundStylingProperties;
1506
+ /** Border width, color, and radius styles. */
471
1507
  border?: null | BorderStylingProperties;
1508
+ /** Width and height dimension styles. */
472
1509
  dimension?: null | DimensionStylingProperties;
1510
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
473
1511
  flexChild?: null | FlexChildStylingProperties;
1512
+ /** Padding and margin spacing styles. */
474
1513
  spacing?: null | SpacingStylingProperties;
475
1514
  }
1515
+ /**
1516
+ * Styling elements for the GroupedDistribution container.
1517
+ * The `own` array contains stateless styling blocks applied to the grouped container itself.
1518
+ */
476
1519
  export interface GroupedDistributionElements {
1520
+ /** Array of stateless styling blocks for the grouped container. */
477
1521
  own: StatelessStylingBlock<GroupedDistributionStyles>[];
478
1522
  }
479
- export type Transition = {
1523
+ /**
1524
+ * A bidirectional transition that applies both when showing and hiding an
1525
+ * element. MUST be an object with a "type" field and a "settings" field.
1526
+ * Currently only "FadeInOut" is supported.
1527
+ */
1528
+ export type Transition =
1529
+ /**
1530
+ * A fade-in/fade-out transition. The element fades in when shown and
1531
+ * fades out when hidden, using the specified duration.
1532
+ */
1533
+ {
480
1534
  type: "FadeInOut";
481
1535
  settings: FadeInOutTransitionSettings;
482
1536
  };
1537
+ /**
1538
+ * Presents offers in groups, progressing through groups sequentially.
1539
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
1540
+ * Each group shows a fixed number of offers at once, and the user advances through groups.
1541
+ *
1542
+ * Pair with ProgressControl nodes for group navigation.
1543
+ * Use `viewableItems` to control how many offers appear per group at each breakpoint.
1544
+ */
483
1545
  export interface GroupedDistributionModel<Predicates> {
1546
+ /**
1547
+ * Configuration for how many items per group.
1548
+ * Provided as an array of values for different breakpoints.
1549
+ */
484
1550
  viewableItems: number[];
1551
+ /**
1552
+ * The transition animation between groups.
1553
+ * Defines how the current group exits and the next group enters.
1554
+ */
485
1555
  transition: Transition;
1556
+ /**
1557
+ * Visual styles for the grouped container.
1558
+ * Uses the LayoutStyle wrapper with conditional style transitions.
1559
+ */
486
1560
  styles?: null | LayoutStyle<GroupedDistributionElements, ConditionalStyleTransition<GroupedDistributionTransitions, Predicates>>;
487
1561
  }
1562
+ /** Transition styles for animating GroupedDistribution style changes. */
488
1563
  export interface GroupedDistributionTransitions {
1564
+ /** Transition properties for the grouped container's own styles. */
489
1565
  own?: null | GroupedDistributionStyles;
490
1566
  }
1567
+ /**
1568
+ * Typography styling for inline text elements. A subset of TextStylingProperties
1569
+ * without line-level controls (lineHeight, horizontalTextAlign, lineLimit).
1570
+ * All fields are optional. Only include the properties you want to override.
1571
+ */
491
1572
  export interface InlineTextStylingProperties {
1573
+ /** The text color. Uses themed values for light/dark mode support. */
492
1574
  textColor?: null | ThemeColor;
1575
+ /** Font size in platform units (px on Web, pt on iOS, dp on Android). */
493
1576
  fontSize?: null | number;
1577
+ /** The font family name. Use 'rokt-icons' for icon fonts. */
494
1578
  fontFamily?: null | string;
1579
+ /** The weight (boldness) of the font. */
495
1580
  fontWeight?: null | FontWeight;
1581
+ /** Vertical alignment of text relative to the baseline. */
496
1582
  baselineTextAlign?: null | FontBaselineAlignment;
1583
+ /** Normal or italic text rendering. */
497
1584
  fontStyle?: null | FontStyle;
1585
+ /** Controls automatic text capitalisation. */
498
1586
  textTransform?: null | TextTransform;
1587
+ /** Additional spacing between characters in platform units. */
499
1588
  letterSpacing?: null | number;
1589
+ /** Decorative line applied to text (underline, strikethrough). */
500
1590
  textDecoration?: null | TextDecoration;
501
1591
  }
1592
+ /** Inline text styling for elements like links within rich text. */
502
1593
  export interface InLineTextStyle {
1594
+ /** Typography properties for the inline text element. */
503
1595
  text: InlineTextStylingProperties;
504
1596
  }
1597
+ /**
1598
+ * Visual style properties for individual indicator items (dots, bars, etc.).
1599
+ * Includes text styling for number-based indicators.
1600
+ */
505
1601
  export interface IndicatorStyles {
1602
+ /** Container layout styles (e.g. flex direction, alignment). */
506
1603
  container?: null | ContainerStylingProperties;
1604
+ /** Background color and gradient styles. */
507
1605
  background?: null | BackgroundStylingProperties;
1606
+ /** Border width, color, and radius styles. */
508
1607
  border?: null | BorderStylingProperties;
1608
+ /** Width and height dimension styles. */
509
1609
  dimension?: null | DimensionStylingProperties;
1610
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
510
1611
  flexChild?: null | FlexChildStylingProperties;
1612
+ /** Padding and margin spacing styles. */
511
1613
  spacing?: null | SpacingStylingProperties;
1614
+ /** Text styling for number-based indicators. */
512
1615
  text?: null | TextStylingProperties;
513
1616
  }
1617
+ /**
1618
+ * Spacing properties for inline elements. Does not support offset.
1619
+ * Values are specified as space-separated strings of numeric values in platform units (px on Web, pt on iOS, dp on Android) following CSS shorthand.
1620
+ * All fields are optional. Only include the properties you want to override.
1621
+ */
514
1622
  export interface InlineSpacingStylingProperties {
1623
+ /**
1624
+ * Internal spacing between the element border and its content. Specified as a
1625
+ * space-separated string of numeric values following CSS shorthand: '10' for all sides,
1626
+ * '10 20' for vertical/horizontal, '10 20 10 20' for top/right/bottom/left.
1627
+ */
515
1628
  padding?: null | string;
1629
+ /** External spacing around the outside of the element border. Same format as padding. */
516
1630
  margin?: null | string;
517
1631
  }
1632
+ /** Visual styles for an inline BasicText node. */
518
1633
  export interface InlineBasicTextStyle {
1634
+ /** Padding, margin and offset properties. */
519
1635
  spacing?: null | InlineSpacingStylingProperties;
1636
+ /** Background color and image properties. */
520
1637
  background?: null | BackgroundStylingProperties;
1638
+ /** Typography properties. */
521
1639
  text?: null | InlineTextStylingProperties;
522
1640
  }
1641
+ /** Style elements for the inline BasicText node. */
523
1642
  export interface InlineBasicTextElements {
1643
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
524
1644
  own: BasicStateStylingBlock<InlineBasicTextStyle>[];
525
1645
  }
1646
+ /** Renders a paragraph of plain text in an inline context. Use for simple text content. For text with HTML formatting use RichText instead. */
526
1647
  export interface InlineBasicTextModel<Predicates> {
1648
+ /** Visual styles for the text element. */
527
1649
  styles?: null | LayoutStyle<InlineBasicTextElements, ConditionalStyleTransition<InlineBasicTextTransitions, Predicates>>;
1650
+ /** The text content to display. Supports data binding placeholders in the format %^DATA.key^% for dynamic creative content. */
528
1651
  value: string;
529
1652
  }
1653
+ /** Transition definitions for the inline BasicText node. */
530
1654
  export interface InlineBasicTextTransitions {
1655
+ /** Transition properties for the primary element. */
531
1656
  own?: null | InlineBasicTextStyle;
532
1657
  }
1658
+ /**
1659
+ * Available style categories for the InlineContainer element. Each optional field enables a
1660
+ * specific category of visual styling. Omit a field to leave that category unstyled.
1661
+ */
533
1662
  export interface InlineContainerStyles {
1663
+ /**
1664
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1665
+ * MUST be used to control how inline children are arranged within the container.
1666
+ */
534
1667
  container?: null | ContainerStylingProperties;
1668
+ /**
1669
+ * Background color and image properties. Use to set a solid color, gradient, or image
1670
+ * behind the inline container content.
1671
+ */
535
1672
  background?: null | BackgroundStylingProperties;
1673
+ /**
1674
+ * Border radius, color, width and style properties. Use to add visible borders or
1675
+ * rounded corners to the inline container.
1676
+ */
536
1677
  border?: null | BorderStylingProperties;
1678
+ /**
1679
+ * Width, height and rotation properties. Use to explicitly size the inline container or
1680
+ * apply rotation transforms. Do NOT set width/height if the container should size to its
1681
+ * content.
1682
+ */
537
1683
  dimension?: null | DimensionStylingProperties;
1684
+ /**
1685
+ * Properties controlling this element's behaviour as a child of a flex container.
1686
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1687
+ */
538
1688
  flexChild?: null | FlexChildStylingProperties;
1689
+ /**
1690
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
1691
+ * inline container.
1692
+ */
539
1693
  spacing?: null | SpacingStylingProperties;
540
1694
  }
1695
+ /**
1696
+ * Styleable elements of the InlineContainer node. The InlineContainer has a single styleable
1697
+ * element: its own container.
1698
+ */
541
1699
  export interface InlineContainerElements {
1700
+ /**
1701
+ * Style blocks for the inline container itself. The array represents breakpoint-specific
1702
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1703
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1704
+ */
542
1705
  own: BasicStateStylingBlock<InlineContainerStyles>[];
543
1706
  }
1707
+ /**
1708
+ * An inline container for arranging inline elements like text spans. Used within text-level
1709
+ * layouts. Use InlineContainer when you need to group inline content together with shared
1710
+ * styling. Do NOT use InlineContainer as a general-purpose layout container; use Row or
1711
+ * Column instead.
1712
+ */
544
1713
  export interface InlineContainerModel<Children, Predicates> {
1714
+ /**
1715
+ * Accessibility label for screen readers. Omit if the inline container is purely
1716
+ * decorative or its children already provide sufficient accessible labels. MUST be set
1717
+ * when the inline container conveys meaning not available from its children alone.
1718
+ */
545
1719
  a11yLabel?: null | string;
1720
+ /**
1721
+ * Visual styles for this inline container. See styling documentation for the structure.
1722
+ * Omit to use default (unstyled) rendering.
1723
+ */
546
1724
  styles?: null | LayoutStyle<InlineContainerElements, ConditionalStyleTransition<InlineContainerTransitions, Predicates>>;
1725
+ /**
1726
+ * Child nodes rendered within this inline container.
1727
+ * Children are arranged inline, suitable for text-level content.
1728
+ */
547
1729
  children: Children[];
548
1730
  }
1731
+ /** Container styling properties for inline elements. A reduced set compared to full container styling. */
549
1732
  export interface InlineContainerStylingProperties {
1733
+ /** Applies a box shadow effect around the container. */
550
1734
  shadow?: null | Shadow;
1735
+ /** Applies a Gaussian blur effect. Value is the blur radius in platform units. */
551
1736
  blur?: null | number;
552
1737
  }
1738
+ /** Transition styles for the InlineContainer node. Use to animate style changes smoothly. */
553
1739
  export interface InlineContainerTransitions {
1740
+ /**
1741
+ * Transition properties for the inline container. Specifies which style properties
1742
+ * should animate and their duration/easing when values change.
1743
+ */
554
1744
  own?: null | InlineContainerStyles;
555
1745
  }
1746
+ /**
1747
+ * Visual style properties for the inline variant of StaticLink.
1748
+ * Uses inline-specific container and spacing properties suitable for text-level content.
1749
+ */
556
1750
  export interface InlineStaticLinkStyles {
1751
+ /** Inline container layout styles. */
557
1752
  container?: null | InlineContainerStylingProperties;
1753
+ /** Background color and gradient styles. */
558
1754
  background?: null | BackgroundStylingProperties;
1755
+ /** Border width, color, and radius styles. */
559
1756
  border?: null | BorderStylingProperties;
1757
+ /** Inline spacing (padding/margin) styles. */
560
1758
  spacing?: null | InlineSpacingStylingProperties;
561
1759
  }
1760
+ /**
1761
+ * Styling elements for the inline StaticLink variant.
1762
+ * The `own` array contains state-dependent styling blocks applied to the inline link itself.
1763
+ */
562
1764
  export interface InlineStaticLinkElements {
1765
+ /** Array of state-dependent styling blocks for the inline link. */
563
1766
  own: BasicStateStylingBlock<InlineStaticLinkStyles>[];
564
1767
  }
1768
+ /**
1769
+ * An inline clickable link variant that wraps its children.
1770
+ * Used within text-level contexts (e.g. inside a RichText node).
1771
+ * Opens the specified URL when clicked.
1772
+ */
565
1773
  export interface InlineStaticLinkModel<Children, Predicates> {
1774
+ /** Accessibility label for the inline link. */
566
1775
  a11yLabel?: null | string;
1776
+ /**
1777
+ * The destination URL to open when the link is clicked.
1778
+ * MUST be a valid URL string.
1779
+ */
567
1780
  src: string;
1781
+ /** Controls how the link URL is opened. */
568
1782
  open: LinkOpenTarget;
1783
+ /** Visual styles for the inline link. */
569
1784
  styles?: null | LayoutStyle<InlineStaticLinkElements, ConditionalStyleTransition<InlineStaticLinkTransitions, Predicates>>;
1785
+ /** Child nodes that form the clickable inline link content. */
570
1786
  children: Children[];
571
1787
  }
1788
+ /** Transition styles for animating InlineStaticLink style changes. */
572
1789
  export interface InlineStaticLinkTransitions {
1790
+ /** Transition properties for the inline link's own styles. */
573
1791
  own?: null | InlineStaticLinkStyles;
574
1792
  }
1793
+ /**
1794
+ * Visual style properties for the inline variant of ToggleButtonStateTrigger.
1795
+ * Uses inline-specific container and spacing properties suitable for text-level content.
1796
+ */
575
1797
  export interface InlineToggleButtonStateTriggerStyle {
1798
+ /** Inline container layout styles. */
576
1799
  container?: null | InlineContainerStylingProperties;
1800
+ /** Background color and gradient styles. */
577
1801
  background?: null | BackgroundStylingProperties;
1802
+ /** Border width, color, and radius styles. */
578
1803
  border?: null | BorderStylingProperties;
1804
+ /** Inline spacing (padding/margin) styles. */
579
1805
  spacing?: null | InlineSpacingStylingProperties;
580
1806
  }
1807
+ /**
1808
+ * Styling elements for the inline ToggleButtonStateTrigger variant.
1809
+ * The `own` array contains state-dependent styling blocks applied to the inline toggle.
1810
+ */
581
1811
  export interface InlineToggleButtonStateTriggerElements {
1812
+ /** Array of state-dependent styling blocks for the inline toggle button. */
582
1813
  own: BasicStateStylingBlock<InlineToggleButtonStateTriggerStyle>[];
583
1814
  }
1815
+ /**
1816
+ * An inline variant of ToggleButtonStateTrigger for use within text-level contexts.
1817
+ * Cycles a custom state between values when clicked.
1818
+ */
584
1819
  export interface InlineToggleButtonStateTriggerModel<Children, Predicates> {
1820
+ /** Accessibility label for the inline toggle button. */
585
1821
  a11yLabel?: null | string;
1822
+ /** Visual styles for the inline toggle button. */
586
1823
  styles?: null | LayoutStyle<InlineToggleButtonStateTriggerElements, ConditionalStyleTransition<InlineToggleButtonStateTriggerTransitions, Predicates>>;
1824
+ /** Child nodes forming the inline toggle button content. */
587
1825
  children: Children[];
1826
+ /** The custom state key to toggle when the button is pressed. */
588
1827
  customStateKey: string;
589
1828
  }
1829
+ /** Transition styles for animating InlineToggleButtonStateTrigger style changes. */
590
1830
  export interface InlineToggleButtonStateTriggerTransitions {
1831
+ /** Transition properties for the inline toggle button's own styles. */
591
1832
  own?: null | InlineToggleButtonStateTriggerStyle;
592
1833
  }
1834
+ /**
1835
+ * Configuration for a required-field validation rule. When applied to an
1836
+ * input, the input MUST have a non-empty value to pass validation.
1837
+ */
593
1838
  export interface InputRequiredValidation {
1839
+ /**
1840
+ * The error message to display when validation fails (i.e., the input is
1841
+ * empty). MUST be a user-facing string. Do NOT leave this empty.
1842
+ */
594
1843
  message: string;
595
1844
  }
1845
+ /**
1846
+ * Tests application domain state in the full layout schema context. Domain
1847
+ * state is managed by the host application and represents high-level
1848
+ * application state.
1849
+ */
596
1850
  export interface LayoutSchemaDomainStatePredicate {
1851
+ /** The domain state key to check. */
597
1852
  key: DomainStateKey;
1853
+ /** The comparison operator. */
598
1854
  condition: OrderableWhenCondition;
1855
+ /** The integer value to compare the domain state against. */
599
1856
  value: number;
600
1857
  }
1858
+ /** Platform-specific settings for the layout behaviour. */
601
1859
  export interface LayoutSettings {
1860
+ /** Whether to automatically close the layout after the user completes the interaction flow. */
602
1861
  closeOnComplete?: null | boolean;
1862
+ /** Whether to enable partner-side validation before submitting responses. */
603
1863
  enablePartnerValidation?: null | boolean;
604
1864
  }
1865
+ /**
1866
+ * Visual style properties for the OneByOneDistribution container.
1867
+ * Contains the standard style categories: container layout, background colors,
1868
+ * border appearance, dimensions, flex child positioning, and spacing.
1869
+ */
605
1870
  export interface OneByOneDistributionStyles {
1871
+ /** Container layout styles (e.g. flex direction, alignment). */
606
1872
  container?: null | ContainerStylingProperties;
1873
+ /** Background color and gradient styles. */
607
1874
  background?: null | BackgroundStylingProperties;
1875
+ /** Border width, color, and radius styles. */
608
1876
  border?: null | BorderStylingProperties;
1877
+ /** Width and height dimension styles. */
609
1878
  dimension?: null | DimensionStylingProperties;
1879
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
610
1880
  flexChild?: null | FlexChildStylingProperties;
1881
+ /** Padding and margin spacing styles. */
611
1882
  spacing?: null | SpacingStylingProperties;
612
1883
  }
1884
+ /**
1885
+ * Styling elements for the OneByOneDistribution container.
1886
+ * The `own` array contains stateless styling blocks applied to the distribution container itself.
1887
+ */
613
1888
  export interface OneByOneDistributionElements {
1889
+ /** Array of stateless styling blocks for the distribution container. */
614
1890
  own: StatelessStylingBlock<OneByOneDistributionStyles>[];
615
1891
  }
1892
+ /**
1893
+ * Presents offers one at a time, allowing the user to progress through them sequentially.
1894
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
1895
+ *
1896
+ * Pair with ProgressControl nodes to enable forward/backward navigation between offers.
1897
+ * Pair with ProgressIndicator to show the user's current position.
1898
+ * Do NOT use this for displaying all offers at once; use StackedDistribution instead.
1899
+ */
616
1900
  export interface OneByOneDistributionModel<Predicates> {
1901
+ /**
1902
+ * Visual styles for the distribution container.
1903
+ * Uses the LayoutStyle wrapper with conditional style transitions.
1904
+ */
617
1905
  styles?: null | LayoutStyle<OneByOneDistributionElements, ConditionalStyleTransition<OneByOneDistributionTransitions, Predicates>>;
1906
+ /**
1907
+ * The animation transition between offers.
1908
+ * Defines how the current offer exits and the next offer enters.
1909
+ */
618
1910
  transition: Transition;
619
1911
  }
1912
+ /** Transition styles for animating OneByOneDistribution style changes. */
620
1913
  export interface OneByOneDistributionTransitions {
1914
+ /** Transition properties for the distribution container's own styles. */
621
1915
  own?: null | OneByOneDistributionStyles;
622
1916
  }
1917
+ /**
1918
+ * Available style categories for the Overlay content element. Each optional field enables a
1919
+ * specific category of visual styling. Omit a field to leave that category unstyled.
1920
+ */
623
1921
  export interface OverlayStyles {
1922
+ /**
1923
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1924
+ * MUST be used to control how children are arranged within the overlay content area.
1925
+ */
624
1926
  container?: null | ContainerStylingProperties;
1927
+ /**
1928
+ * Background color and image properties. Use to set a solid color, gradient, or image
1929
+ * behind the overlay content.
1930
+ */
625
1931
  background?: null | BackgroundStylingProperties;
1932
+ /**
1933
+ * Border radius, color, width and style properties. Use to add visible borders or
1934
+ * rounded corners to the overlay content area.
1935
+ */
626
1936
  border?: null | BorderStylingProperties;
1937
+ /**
1938
+ * Width, height and rotation properties. Use to explicitly size the overlay content area.
1939
+ * Do NOT set width/height if the overlay should size to its content.
1940
+ */
627
1941
  dimension?: null | DimensionStylingProperties;
1942
+ /**
1943
+ * Properties controlling this element's behaviour as a child of a flex container.
1944
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1945
+ */
628
1946
  flexChild?: null | FlexChildStylingProperties;
1947
+ /**
1948
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
1949
+ * overlay content area.
1950
+ */
629
1951
  spacing?: null | SpacingStylingProperties;
630
1952
  }
1953
+ /**
1954
+ * Style categories for the Overlay wrapper (backdrop) element. Controls the appearance of
1955
+ * the area behind the overlay content.
1956
+ */
631
1957
  export interface OverlayWrapperStyles {
1958
+ /** Layout properties for the wrapper container that positions the overlay content. */
632
1959
  container?: null | ContainerStylingProperties;
1960
+ /**
1961
+ * Background color for the backdrop. Typically a semi-transparent color (using `#AARRGGBB`
1962
+ * format, e.g. `#80000000`) to dim the content behind the overlay.
1963
+ */
633
1964
  background?: null | BackgroundStylingProperties;
634
1965
  }
1966
+ /**
1967
+ * Styleable elements of the Overlay node. The Overlay has two styleable elements: its own
1968
+ * content area and its wrapper (backdrop).
1969
+ */
635
1970
  export interface OverlayElements {
1971
+ /**
1972
+ * Style blocks for the overlay content area. The array represents breakpoint-specific
1973
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1974
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1975
+ */
636
1976
  own: BasicStateStylingBlock<OverlayStyles>[];
1977
+ /**
1978
+ * Style blocks for the overlay wrapper (backdrop). The array represents
1979
+ * breakpoint-specific styles: first item is the default, subsequent items correspond
1980
+ * to breakpoints in ascending order.
1981
+ */
637
1982
  wrapper: BasicStateStylingBlock<OverlayWrapperStyles>[];
638
1983
  }
1984
+ /**
1985
+ * A modal overlay that appears on top of the main content with a backdrop. Use for dialogs,
1986
+ * confirmations, and modal interactions that require user attention. The overlay blocks
1987
+ * interaction with the content behind it. Do NOT use Overlay for inline content layering;
1988
+ * use ZStack instead.
1989
+ */
639
1990
  export interface OverlayModel<Children, Predicates> {
1991
+ /**
1992
+ * If true, clicking the backdrop area closes the overlay. MUST be set to true when the
1993
+ * overlay is dismissible. Set to false when the user MUST interact with the overlay
1994
+ * content before proceeding (e.g., mandatory confirmations).
1995
+ */
640
1996
  allowBackdropToClose: boolean;
1997
+ /**
1998
+ * Accessibility label for screen readers. MUST be set to describe the purpose of the
1999
+ * overlay (e.g., "Confirmation dialog" or "Settings panel").
2000
+ */
641
2001
  a11yLabel?: null | string;
2002
+ /**
2003
+ * Visual styles for this overlay. See styling documentation for the structure. Omit to
2004
+ * use default (unstyled) rendering.
2005
+ */
642
2006
  styles?: null | LayoutStyle<OverlayElements, ConditionalStyleTransition<OverlayTransitions, Predicates>>;
2007
+ /** The content displayed within the overlay. */
643
2008
  children: Children[];
644
2009
  }
2010
+ /** Transition styles for the Overlay node. Use to animate style changes smoothly. */
645
2011
  export interface OverlayTransitions {
2012
+ /**
2013
+ * Transition properties for the overlay content area. Specifies which style properties
2014
+ * should animate and their duration/easing when values change.
2015
+ */
646
2016
  own?: null | OverlayStyles;
2017
+ /** Transition properties for the overlay wrapper (backdrop). */
647
2018
  wrapper?: null | OverlayWrapperStyles;
648
2019
  }
2020
+ /**
2021
+ * Tests the position index of the current item within a collection. Use to
2022
+ * style items differently based on their position (e.g. first item, last item).
2023
+ */
649
2024
  export interface PositionPredicate {
2025
+ /** The comparison operator. */
650
2026
  condition: OrderableWhenCondition;
2027
+ /**
2028
+ * The position index to compare against. MUST be a string representation
2029
+ * of a number, e.g. "0" for the first item.
2030
+ */
651
2031
  value: string;
652
2032
  }
2033
+ /**
2034
+ * Visual style properties for the ProgressControl button.
2035
+ * Contains the standard style categories: container layout, background colors,
2036
+ * border appearance, dimensions, flex child positioning, and spacing.
2037
+ */
653
2038
  export interface ProgressControlStyle {
2039
+ /** Container layout styles (e.g. flex direction, alignment). */
654
2040
  container?: null | ContainerStylingProperties;
2041
+ /** Background color and gradient styles. */
655
2042
  background?: null | BackgroundStylingProperties;
2043
+ /** Border width, color, and radius styles. */
656
2044
  border?: null | BorderStylingProperties;
2045
+ /** Width and height dimension styles. */
657
2046
  dimension?: null | DimensionStylingProperties;
2047
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
658
2048
  flexChild?: null | FlexChildStylingProperties;
2049
+ /** Padding and margin spacing styles. */
659
2050
  spacing?: null | SpacingStylingProperties;
660
2051
  }
2052
+ /**
2053
+ * Styling elements for the ProgressControl button.
2054
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed, disabled)
2055
+ * applied to the control button itself.
2056
+ */
661
2057
  export interface ProgressControlElements {
2058
+ /**
2059
+ * Array of state-dependent styling blocks for the control button.
2060
+ * Each block targets a specific interaction state (default, pressed, disabled, etc.).
2061
+ */
662
2062
  own: BasicStateStylingBlock<ProgressControlStyle>[];
663
2063
  }
664
- export type ProgressionDirection = "Forward" | "Backward";
2064
+ /** The direction in which the progress control advances offers. */
2065
+ export type ProgressionDirection =
2066
+ /** Advance to the next offer or group. */
2067
+ "Forward"
2068
+ /** Return to the previous offer or group. */
2069
+ | "Backward";
2070
+ /**
2071
+ * A button that advances or reverses offer progression.
2072
+ * Used with OneByOneDistribution or GroupedDistribution for navigation.
2073
+ *
2074
+ * MUST specify a `direction` (Forward or Backward).
2075
+ * Pair with a distribution node for the control to have an effect.
2076
+ * Typically contains an arrow icon as child content.
2077
+ */
665
2078
  export interface ProgressControlModel<Children, Predicates> {
2079
+ /**
2080
+ * Accessibility label for the control.
2081
+ * MUST be provided (e.g. "Next offer" or "Previous offer").
2082
+ */
666
2083
  a11yLabel?: null | string;
2084
+ /** Visual styles for the control. Uses the LayoutStyle wrapper with conditional style transitions. */
667
2085
  styles?: null | LayoutStyle<ProgressControlElements, ConditionalStyleTransition<ProgressControlTransitions, Predicates>>;
2086
+ /** The direction to progress. MUST be either Forward or Backward. */
668
2087
  direction: ProgressionDirection;
2088
+ /**
2089
+ * Child nodes forming the button content (e.g. an arrow icon).
2090
+ * MUST contain at least one child for the control to have visible content.
2091
+ */
669
2092
  children: Children[];
670
2093
  }
2094
+ /** Transition styles for animating ProgressControl style changes. */
671
2095
  export interface ProgressControlTransitions {
2096
+ /** Transition properties for the control button's own styles. */
672
2097
  own?: null | ProgressControlStyle;
673
2098
  }
2099
+ /**
2100
+ * Visual style properties for the ProgressIndicator container.
2101
+ * Contains the standard style categories for the outer indicator wrapper.
2102
+ */
674
2103
  export interface ProgressIndicatorStyles {
2104
+ /** Container layout styles (e.g. flex direction, alignment). */
675
2105
  container?: null | ContainerStylingProperties;
2106
+ /** Background color and gradient styles. */
676
2107
  background?: null | BackgroundStylingProperties;
2108
+ /** Border width, color, and radius styles. */
677
2109
  border?: null | BorderStylingProperties;
2110
+ /** Width and height dimension styles. */
678
2111
  dimension?: null | DimensionStylingProperties;
2112
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
679
2113
  flexChild?: null | FlexChildStylingProperties;
2114
+ /** Padding and margin spacing styles. */
680
2115
  spacing?: null | SpacingStylingProperties;
681
2116
  }
2117
+ /**
2118
+ * Styling elements for the ProgressIndicator.
2119
+ * Contains styling blocks for the container, individual indicators, and special indicator states.
2120
+ */
682
2121
  export interface ProgressIndicatorElements {
2122
+ /** Array of state-dependent styling blocks for the indicator container. */
683
2123
  own: BasicStateStylingBlock<ProgressIndicatorStyles>[];
2124
+ /** Styling blocks for each individual indicator item (default state). */
684
2125
  indicator: BasicStateStylingBlock<IndicatorStyles>[];
2126
+ /**
2127
+ * Optional styling blocks for the currently active indicator.
2128
+ * If omitted, the default indicator styling is used.
2129
+ */
685
2130
  activeIndicator?: null | BasicStateStylingBlock<IndicatorStyles>[];
2131
+ /**
2132
+ * Optional styling blocks for indicators that have been seen/visited.
2133
+ * If omitted, the default indicator styling is used.
2134
+ */
686
2135
  seenIndicator?: null | BasicStateStylingBlock<IndicatorStyles>[];
687
2136
  }
2137
+ /**
2138
+ * Displays visual progress indicators (dots, bars) showing the user's position
2139
+ * within a series of offers.
2140
+ *
2141
+ * MUST be paired with a distribution node (OneByOneDistribution, GroupedDistribution, etc.)
2142
+ * to track position. The indicator automatically reflects the current offer position.
2143
+ * Use `indicator` to specify the type (e.g. "dot", "bar", "number").
2144
+ */
688
2145
  export interface ProgressIndicatorModel<Predicates> {
2146
+ /**
2147
+ * Visual styles for the progress indicators.
2148
+ * Uses the LayoutStyle wrapper with conditional style transitions.
2149
+ */
689
2150
  styles?: null | LayoutStyle<ProgressIndicatorElements, ConditionalStyleTransition<ProgressIndicatorTransitions, Predicates>>;
2151
+ /**
2152
+ * The type of indicator to display (e.g. "dot", "bar", "number").
2153
+ * MUST be a valid indicator type string.
2154
+ */
690
2155
  indicator: string;
2156
+ /**
2157
+ * The initial position of the indicator (zero-indexed).
2158
+ * If omitted, defaults to position 0.
2159
+ */
691
2160
  startPosition?: null | number;
2161
+ /**
2162
+ * If true, the indicator is hidden from screen readers.
2163
+ * Set to true when the indicator is purely decorative.
2164
+ */
692
2165
  accessibilityHidden?: null | boolean;
693
2166
  }
2167
+ /**
2168
+ * Transition styles for animating ProgressIndicator style changes.
2169
+ * Defines transitions for the container and each indicator state.
2170
+ */
694
2171
  export interface ProgressIndicatorTransitions {
2172
+ /** Transition properties for the indicator container's own styles. */
695
2173
  own?: null | ProgressIndicatorStyles;
2174
+ /** Transition properties for the default indicator styles. */
696
2175
  indicator?: null | IndicatorStyles;
2176
+ /** Transition properties for the active indicator styles. */
697
2177
  activeIndicator?: null | IndicatorStyles;
2178
+ /** Transition properties for the seen indicator styles. */
698
2179
  seenIndicator?: null | IndicatorStyles;
699
2180
  }
2181
+ /**
2182
+ * Tests which offer index is currently visible in a carousel or progression.
2183
+ * Use 0 for the first offer, -1 for the last offer.
2184
+ */
700
2185
  export interface ProgressionPredicate {
2186
+ /** The comparison operator. */
701
2187
  condition: OrderableWhenCondition;
2188
+ /**
2189
+ * The progression index to compare against. MUST be a string representation
2190
+ * of a number. Use "0" for the first offer, "-1" for the last offer.
2191
+ */
702
2192
  value: string;
703
2193
  }
2194
+ /** Visual styles for the RichText node. */
704
2195
  export interface RichTextStyle {
2196
+ /** Width, height and rotation properties. */
705
2197
  dimension?: null | DimensionStylingProperties;
2198
+ /** Properties controlling behaviour as a flex child. */
706
2199
  flexChild?: null | FlexChildStylingProperties;
2200
+ /** Padding, margin and offset properties. */
707
2201
  spacing?: null | SpacingStylingProperties;
2202
+ /** Background color and image properties. */
708
2203
  background?: null | BackgroundStylingProperties;
2204
+ /** Typography properties. */
709
2205
  text?: null | TextStylingProperties;
710
2206
  }
2207
+ /** Style elements for the RichText node. */
711
2208
  export interface RichTextElements {
2209
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
712
2210
  own: BasicStateStylingBlock<RichTextStyle>[];
2211
+ /** Style blocks for link elements within the rich text content. */
713
2212
  link?: null | BasicStateStylingBlock<InLineTextStyle>[];
714
2213
  }
2214
+ /** Renders HTML-formatted text content. Supports `<a>`, `<strong>`, `<em>`, `<br>` and other inline HTML elements. Use BasicText for plain text without HTML. */
715
2215
  export interface RichTextModel<Predicates> {
2216
+ /** Visual styles for the text element. */
716
2217
  styles?: null | LayoutStyle<RichTextElements, ConditionalStyleTransition<RichTextTransitions, Predicates>>;
2218
+ /** Controls how links within the rich text are opened when clicked. */
717
2219
  openLinks?: null | LinkOpenTarget;
2220
+ /** The HTML text content to display. Supports inline HTML tags and data binding placeholders in the format %^DATA.key^% or %^ATTRIBUTE.key^%. */
718
2221
  value: string;
719
2222
  }
2223
+ /** Transition definitions for the RichText node. */
720
2224
  export interface RichTextTransitions {
2225
+ /** Transition properties for the primary element. */
721
2226
  own?: null | RichTextStyle;
2227
+ /** Transition properties for link elements. */
722
2228
  link?: null | InLineTextStyle;
723
2229
  }
2230
+ /**
2231
+ * The top-level schema structure for an outer layout. Contains the layout tree,
2232
+ * breakpoint definitions, settings and display configuration.
2233
+ */
724
2234
  export interface RootSchemaModel<Layout, Display, Settings> {
2235
+ /**
2236
+ * Map of breakpoint names to viewport width thresholds in platform units.
2237
+ * Defines responsive breakpoints for the layout.
2238
+ */
725
2239
  breakpoints: Record<string, number>;
2240
+ /** The root node of the layout tree. */
726
2241
  layout: Layout;
2242
+ /** Platform-specific layout settings. */
727
2243
  settings?: null | Settings;
2244
+ /** Controls how the layout is displayed (fullscreen, embedded, etc). */
728
2245
  display?: null | Display;
729
2246
  }
2247
+ /**
2248
+ * Available style categories for the Row element. Each optional field enables a specific
2249
+ * category of visual styling. Omit a field to leave that category unstyled.
2250
+ */
730
2251
  export interface RowStyle {
2252
+ /**
2253
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2254
+ * MUST be used to control how children are arranged within the row.
2255
+ */
731
2256
  container?: null | ContainerStylingProperties;
2257
+ /**
2258
+ * Background color and image properties. Use to set a solid color, gradient, or image
2259
+ * behind the row content.
2260
+ */
732
2261
  background?: null | BackgroundStylingProperties;
2262
+ /**
2263
+ * Border radius, color, width and style properties. Use to add visible borders or
2264
+ * rounded corners to the row.
2265
+ */
733
2266
  border?: null | BorderStylingProperties;
2267
+ /**
2268
+ * Width, height and rotation properties. Use to explicitly size the row or apply rotation
2269
+ * transforms. Do NOT set width/height if the row should size to its content.
2270
+ */
734
2271
  dimension?: null | DimensionStylingProperties;
2272
+ /**
2273
+ * Properties controlling this element's behaviour as a child of a flex container.
2274
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2275
+ */
735
2276
  flexChild?: null | FlexChildStylingProperties;
2277
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the row. */
736
2278
  spacing?: null | SpacingStylingProperties;
737
2279
  }
2280
+ /**
2281
+ * Styleable elements of the Row node. The Row has a single styleable element: its own
2282
+ * container.
2283
+ */
738
2284
  export interface RowElements {
2285
+ /**
2286
+ * Style blocks for the row container itself. The array represents breakpoint-specific
2287
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
2288
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
2289
+ */
739
2290
  own: BasicStateStylingBlock<RowStyle>[];
740
2291
  }
2292
+ /**
2293
+ * A horizontal flex container that arranges its children in a row (left to right). Use for
2294
+ * horizontal layouts. Children are laid out along the horizontal axis by default. To control
2295
+ * alignment and distribution, configure the container styles. Do NOT nest Rows unnecessarily
2296
+ * when a single Row with appropriate styling would suffice.
2297
+ */
741
2298
  export interface RowModel<Children, Predicates> {
2299
+ /**
2300
+ * Accessibility label for screen readers. Omit if the row is purely decorative or its
2301
+ * children already provide sufficient accessible labels. MUST be set when the row
2302
+ * conveys meaning not available from its children alone.
2303
+ */
742
2304
  a11yLabel?: null | string;
2305
+ /**
2306
+ * Visual styles for this row. See styling documentation for the structure. Omit to use
2307
+ * default (unstyled) rendering.
2308
+ */
743
2309
  styles?: null | LayoutStyle<RowElements, ConditionalStyleTransition<RowTransitions, Predicates>>;
2310
+ /**
2311
+ * Child nodes rendered horizontally within this row.
2312
+ * Children are laid out left to right in source order.
2313
+ */
744
2314
  children: Children[];
745
2315
  }
2316
+ /** Transition styles for the Row node. Use to animate style changes smoothly. */
746
2317
  export interface RowTransitions {
2318
+ /**
2319
+ * Transition properties for the row container. Specifies which style properties
2320
+ * should animate and their duration/easing when values change.
2321
+ */
747
2322
  own?: null | RowStyle;
748
2323
  }
2324
+ /**
2325
+ * Available style categories for the ScrollableColumn element. Each optional field enables a
2326
+ * specific category of visual styling. Omit a field to leave that category unstyled.
2327
+ */
749
2328
  export interface ScrollableColumnStyle {
2329
+ /**
2330
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2331
+ * MUST be used to control how children are arranged within the scrollable column.
2332
+ */
750
2333
  container?: null | ContainerStylingProperties;
2334
+ /**
2335
+ * Background color and image properties. Use to set a solid color, gradient, or image
2336
+ * behind the scrollable column content.
2337
+ */
751
2338
  background?: null | BackgroundStylingProperties;
2339
+ /**
2340
+ * Border radius, color, width and style properties. Use to add visible borders or
2341
+ * rounded corners to the scrollable column.
2342
+ */
752
2343
  border?: null | BorderStylingProperties;
2344
+ /**
2345
+ * Width, height and rotation properties. MUST set a constrained height for scrolling to
2346
+ * work. Without a height constraint, the container will expand to fit all content and
2347
+ * scrolling will not occur.
2348
+ */
753
2349
  dimension?: null | DimensionStylingProperties;
2350
+ /**
2351
+ * Properties controlling this element's behaviour as a child of a flex container.
2352
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2353
+ */
754
2354
  flexChild?: null | FlexChildStylingProperties;
2355
+ /**
2356
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
2357
+ * scrollable column.
2358
+ */
755
2359
  spacing?: null | SpacingStylingProperties;
756
2360
  }
2361
+ /**
2362
+ * Styleable elements of the ScrollableColumn node. The ScrollableColumn has a single
2363
+ * styleable element: its own container.
2364
+ */
757
2365
  export interface ScrollableColumnElements {
2366
+ /**
2367
+ * Style blocks for the scrollable column container itself. The array represents
2368
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
2369
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
2370
+ * for the default style.
2371
+ */
758
2372
  own: BasicStateStylingBlock<ScrollableColumnStyle>[];
759
2373
  }
2374
+ /**
2375
+ * A vertical scrollable container. Children that exceed the container height can be scrolled
2376
+ * into view. Use when content may overflow vertically (e.g., long lists, content feeds).
2377
+ * MUST have a constrained height via dimension styles for scrolling to activate. Do NOT use
2378
+ * ScrollableColumn when a regular Column would suffice (i.e., when content fits without
2379
+ * scrolling).
2380
+ */
760
2381
  export interface ScrollableColumnModel<Children, Predicates> {
2382
+ /**
2383
+ * Accessibility label for screen readers. Omit if the scrollable column is purely
2384
+ * decorative or its children already provide sufficient accessible labels. MUST be set
2385
+ * when the scrollable column conveys meaning not available from its children alone.
2386
+ */
761
2387
  a11yLabel?: null | string;
2388
+ /**
2389
+ * Visual styles for this scrollable column. See styling documentation for the structure.
2390
+ * Omit to use default (unstyled) rendering.
2391
+ */
762
2392
  styles?: null | LayoutStyle<ScrollableColumnElements, ConditionalStyleTransition<ScrollableColumnTransitions, Predicates>>;
2393
+ /**
2394
+ * Child nodes rendered vertically within this scrollable column. MUST contain at least
2395
+ * one child. Children are laid out top to bottom in source order and scroll vertically
2396
+ * when they exceed the container height.
2397
+ */
763
2398
  children: Children[];
764
2399
  }
2400
+ /** Transition styles for the ScrollableColumn node. Use to animate style changes smoothly. */
765
2401
  export interface ScrollableColumnTransitions {
2402
+ /**
2403
+ * Transition properties for the scrollable column container. Specifies which style
2404
+ * properties should animate and their duration/easing when values change.
2405
+ */
766
2406
  own?: null | ScrollableColumnStyle;
767
2407
  }
2408
+ /**
2409
+ * Available style categories for the ScrollableRow element. Each optional field enables a
2410
+ * specific category of visual styling. Omit a field to leave that category unstyled.
2411
+ */
768
2412
  export interface ScrollableRowStyle {
2413
+ /**
2414
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2415
+ * MUST be used to control how children are arranged within the scrollable row.
2416
+ */
769
2417
  container?: null | ContainerStylingProperties;
2418
+ /**
2419
+ * Background color and image properties. Use to set a solid color, gradient, or image
2420
+ * behind the scrollable row content.
2421
+ */
770
2422
  background?: null | BackgroundStylingProperties;
2423
+ /**
2424
+ * Border radius, color, width and style properties. Use to add visible borders or
2425
+ * rounded corners to the scrollable row.
2426
+ */
771
2427
  border?: null | BorderStylingProperties;
2428
+ /**
2429
+ * Width, height and rotation properties. MUST set a constrained width for scrolling to
2430
+ * work. Without a width constraint, the container will expand to fit all content and
2431
+ * scrolling will not occur.
2432
+ */
772
2433
  dimension?: null | DimensionStylingProperties;
2434
+ /**
2435
+ * Properties controlling this element's behaviour as a child of a flex container.
2436
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2437
+ */
773
2438
  flexChild?: null | FlexChildStylingProperties;
2439
+ /**
2440
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
2441
+ * scrollable row.
2442
+ */
774
2443
  spacing?: null | SpacingStylingProperties;
775
2444
  }
2445
+ /**
2446
+ * Styleable elements of the ScrollableRow node. The ScrollableRow has a single styleable
2447
+ * element: its own container.
2448
+ */
776
2449
  export interface ScrollableRowElements {
2450
+ /**
2451
+ * Style blocks for the scrollable row container itself. The array represents
2452
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
2453
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
2454
+ * for the default style.
2455
+ */
777
2456
  own: BasicStateStylingBlock<ScrollableRowStyle>[];
778
2457
  }
2458
+ /**
2459
+ * A horizontal scrollable container. Children that exceed the container width can be scrolled
2460
+ * into view. Use when content may overflow horizontally (e.g., carousels, horizontal lists).
2461
+ * MUST have a constrained width via dimension styles for scrolling to activate. Do NOT use
2462
+ * ScrollableRow when a regular Row would suffice (i.e., when content fits without scrolling).
2463
+ */
779
2464
  export interface ScrollableRowModel<Children, Predicates> {
2465
+ /**
2466
+ * Accessibility label for screen readers. Omit if the scrollable row is purely decorative
2467
+ * or its children already provide sufficient accessible labels. MUST be set when the
2468
+ * scrollable row conveys meaning not available from its children alone.
2469
+ */
780
2470
  a11yLabel?: null | string;
2471
+ /**
2472
+ * Visual styles for this scrollable row. See styling documentation for the structure.
2473
+ * Omit to use default (unstyled) rendering.
2474
+ */
781
2475
  styles?: null | LayoutStyle<ScrollableRowElements, ConditionalStyleTransition<ScrollableRowTransitions, Predicates>>;
2476
+ /**
2477
+ * Child nodes rendered horizontally within this scrollable row. MUST contain at least
2478
+ * one child. Children are laid out left to right in source order and scroll horizontally
2479
+ * when they exceed the container width.
2480
+ */
782
2481
  children: Children[];
783
2482
  }
2483
+ /** Transition styles for the ScrollableRow node. Use to animate style changes smoothly. */
784
2484
  export interface ScrollableRowTransitions {
2485
+ /**
2486
+ * Transition properties for the scrollable row container. Specifies which style
2487
+ * properties should animate and their duration/easing when values change.
2488
+ */
785
2489
  own?: null | ScrollableRowStyle;
786
2490
  }
2491
+ /**
2492
+ * Visual style properties for the SlideStateTrigger container.
2493
+ * Contains the standard style categories for the slider's outer container.
2494
+ */
787
2495
  export interface SlideStateTriggerOwnStyles {
2496
+ /** Container layout styles (e.g. flex direction, alignment). */
788
2497
  container?: null | ContainerStylingProperties;
2498
+ /** Background color and gradient styles. */
789
2499
  background?: null | BackgroundStylingProperties;
2500
+ /** Border width, color, and radius styles. */
790
2501
  border?: null | BorderStylingProperties;
2502
+ /** Width and height dimension styles. */
791
2503
  dimension?: null | DimensionStylingProperties;
2504
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
792
2505
  flexChild?: null | FlexChildStylingProperties;
2506
+ /** Padding and margin spacing styles. */
793
2507
  spacing?: null | SpacingStylingProperties;
794
2508
  }
2509
+ /** Visual style properties for the slider thumb (the draggable handle). */
795
2510
  export interface SlideStateTriggerThumbStyles {
2511
+ /** Text styling for the thumb label. */
796
2512
  text?: null | TextStylingProperties;
2513
+ /** Background color and gradient styles for the thumb. */
797
2514
  background?: null | BackgroundStylingProperties;
2515
+ /** Border width, color, and radius styles for the thumb. */
798
2516
  border?: null | BorderStylingProperties;
2517
+ /** Width and height dimension styles for the thumb. */
799
2518
  dimension?: null | DimensionStylingProperties;
2519
+ /** Flex child sizing and alignment styles for the thumb. */
800
2520
  flexChild?: null | FlexChildStylingProperties;
2521
+ /** Padding and margin spacing styles for the thumb. */
801
2522
  spacing?: null | SpacingStylingProperties;
802
2523
  }
2524
+ /** Visual style properties for the slider label. */
803
2525
  export interface SlideStateTriggerLabelStyles {
2526
+ /** Text styling for the label. */
804
2527
  text?: null | TextStylingProperties;
2528
+ /** Padding and margin spacing styles for the label. */
805
2529
  spacing?: null | SpacingStylingProperties;
806
2530
  }
2531
+ /** Visual style properties for the slider fill (the filled portion of the track). */
807
2532
  export interface SlideStateTriggerFillStyles {
2533
+ /** Background color and gradient styles for the fill. */
808
2534
  background?: null | BackgroundStylingProperties;
2535
+ /** Border width, color, and radius styles for the fill. */
809
2536
  border?: null | BorderStylingProperties;
810
2537
  }
2538
+ /**
2539
+ * Styling elements for the SlideStateTrigger.
2540
+ * Contains styling blocks for the container, thumb, label, and fill sub-elements.
2541
+ */
811
2542
  export interface SlideStateTriggerElements {
2543
+ /** Array of stateless styling blocks for the slider container. */
812
2544
  own: StatelessStylingBlock<SlideStateTriggerOwnStyles>[];
2545
+ /** Optional styling blocks for the slider thumb (draggable handle). */
813
2546
  thumb?: null | StatelessStylingBlock<SlideStateTriggerThumbStyles>[];
2547
+ /** Optional styling blocks for the slider label. */
814
2548
  label?: null | StatelessStylingBlock<SlideStateTriggerLabelStyles>[];
2549
+ /** Optional styling blocks for the slider fill (filled track portion). */
815
2550
  fill?: null | StatelessStylingBlock<SlideStateTriggerFillStyles>[];
816
2551
  }
2552
+ /** Configuration for the slider label. */
817
2553
  export interface SlideStateTriggerLabel {
2554
+ /** Optional text value to display as the slider label. */
818
2555
  value?: null | string;
819
2556
  }
2557
+ /** Configuration for the slider thumb (draggable handle). */
820
2558
  export interface SlideStateTriggerThumb {
2559
+ /** Optional icon name to display inside the thumb. */
821
2560
  icon?: null | string;
822
2561
  }
2562
+ /**
2563
+ * A slider control that updates a custom state value as the user drags.
2564
+ * The slider thumb can be dragged to set the state to a value proportional to the position.
2565
+ * Use with When nodes to conditionally show/hide content based on the slider state.
2566
+ *
2567
+ * MUST provide a `customStateKey` that matches the key in When predicates.
2568
+ * Optionally provide `customStateValue` to set the slider's initial position.
2569
+ */
823
2570
  export interface SlideStateTriggerModel<Predicates> {
2571
+ /**
2572
+ * Accessibility label for the slider.
2573
+ * MUST be provided for screen reader support.
2574
+ */
824
2575
  a11yLabel?: null | string;
2576
+ /** Visual styles for the slider. Uses the LayoutStyle wrapper with conditional style transitions. */
825
2577
  styles?: null | LayoutStyle<SlideStateTriggerElements, ConditionalStyleTransition<SlideStateTriggerTransitions, Predicates>>;
2578
+ /** Configuration for the slider thumb (draggable handle). */
826
2579
  thumb?: null | SlideStateTriggerThumb;
2580
+ /** Configuration for the slider label. */
827
2581
  label?: null | SlideStateTriggerLabel;
2582
+ /**
2583
+ * The custom state key to update as the slider is dragged.
2584
+ * MUST match the key referenced in When node predicates.
2585
+ */
828
2586
  customStateKey: string;
2587
+ /**
2588
+ * The initial value of the custom state (slider position).
2589
+ * If omitted, defaults to the minimum position.
2590
+ */
829
2591
  customStateValue?: null | number;
830
2592
  }
2593
+ /**
2594
+ * Transition styles for animating SlideStateTrigger style changes.
2595
+ * Defines transitions for all slider sub-elements.
2596
+ */
831
2597
  export interface SlideStateTriggerTransitions {
2598
+ /** Transition properties for the slider container's own styles. */
832
2599
  own?: null | SlideStateTriggerOwnStyles;
2600
+ /** Transition properties for the thumb styles. */
833
2601
  thumb?: null | SlideStateTriggerThumbStyles;
2602
+ /** Transition properties for the label styles. */
834
2603
  label?: null | SlideStateTriggerLabelStyles;
2604
+ /** Transition properties for the fill styles. */
835
2605
  fill?: null | SlideStateTriggerFillStyles;
836
2606
  }
2607
+ /**
2608
+ * Visual style properties for the StackedDistribution container.
2609
+ * Contains the standard style categories: container layout, background colors,
2610
+ * border appearance, dimensions, flex child positioning, and spacing.
2611
+ */
837
2612
  export interface StackedDistributionStyles {
2613
+ /** Container layout styles (e.g. flex direction, alignment). */
838
2614
  container?: null | ContainerStylingProperties;
2615
+ /** Background color and gradient styles. */
839
2616
  background?: null | BackgroundStylingProperties;
2617
+ /** Border width, color, and radius styles. */
840
2618
  border?: null | BorderStylingProperties;
2619
+ /** Width and height dimension styles. */
841
2620
  dimension?: null | DimensionStylingProperties;
2621
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
842
2622
  flexChild?: null | FlexChildStylingProperties;
2623
+ /** Padding and margin spacing styles. */
843
2624
  spacing?: null | SpacingStylingProperties;
844
2625
  }
2626
+ /**
2627
+ * Styling elements for the StackedDistribution container.
2628
+ * The `own` array contains stateless styling blocks applied to the stacked container itself.
2629
+ */
845
2630
  export interface StackedDistributionElements {
2631
+ /** Array of stateless styling blocks for the stacked container. */
846
2632
  own: StatelessStylingBlock<StackedDistributionStyles>[];
847
2633
  }
2634
+ /**
2635
+ * Presents multiple offers stacked vertically, all visible at once.
2636
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
2637
+ *
2638
+ * Use this when all offers should be visible simultaneously.
2639
+ * Do NOT use this for sequential one-at-a-time presentation; use OneByOneDistribution instead.
2640
+ */
848
2641
  export interface StackedDistributionModel<Predicates> {
2642
+ /**
2643
+ * Visual styles for the stacked container.
2644
+ * Uses the LayoutStyle wrapper with conditional style transitions.
2645
+ */
849
2646
  styles?: null | LayoutStyle<StackedDistributionElements, ConditionalStyleTransition<StackedDistributionTransitions, Predicates>>;
850
2647
  }
2648
+ /** Transition styles for animating StackedDistribution style changes. */
851
2649
  export interface StackedDistributionTransitions {
2650
+ /** Transition properties for the stacked container's own styles. */
852
2651
  own?: null | StackedDistributionStyles;
853
2652
  }
854
- export type BooleanWhenCondition = "is-true" | "is-false";
2653
+ /**
2654
+ * Condition operators for boolean values. Use these to test boolean flags.
2655
+ * Serialized as kebab-case strings: "is-true", "is-false".
2656
+ */
2657
+ export type BooleanWhenCondition =
2658
+ /** True when the value is true. */
2659
+ "is-true"
2660
+ /** True when the value is false. */
2661
+ | "is-false";
2662
+ /**
2663
+ * A predicate with a hardcoded boolean value. Useful for enabling or disabling
2664
+ * sections during development or for static feature flags.
2665
+ */
855
2666
  export interface StaticBooleanPredicate {
2667
+ /** The boolean condition. Use "is-true" or "is-false". */
856
2668
  condition: BooleanWhenCondition;
2669
+ /** The static boolean value to evaluate against the condition. */
857
2670
  value: boolean;
858
2671
  }
2672
+ /** Visual styles for the StaticIcon node. MUST include text styles with fontFamily set to 'rokt-icons' to render correctly. */
859
2673
  export interface StaticIconStyles {
2674
+ /** Typography properties. MUST include fontFamily set to 'rokt-icons' for the icon to render correctly. */
860
2675
  text?: null | TextStylingProperties;
2676
+ /** Width, height and rotation properties. */
861
2677
  dimension?: null | DimensionStylingProperties;
2678
+ /** Properties controlling behaviour as a flex child. */
862
2679
  flexChild?: null | FlexChildStylingProperties;
2680
+ /** Padding, margin and offset properties. */
863
2681
  spacing?: null | SpacingStylingProperties;
2682
+ /** Background color and image properties. */
864
2683
  background?: null | BackgroundStylingProperties;
2684
+ /** Border radius, color, width and style. */
865
2685
  border?: null | BorderStylingProperties;
866
2686
  }
2687
+ /** Style elements for the StaticIcon node. */
867
2688
  export interface StaticIconElements {
2689
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
868
2690
  own: BasicStateStylingBlock<StaticIconStyles>[];
869
2691
  }
2692
+ /** Renders an SVG icon from the Rokt icon font. The icon is selected by name from the available icon set. */
870
2693
  export interface StaticIconModel<Predicates> {
2694
+ /** Visual styles for the icon. MUST include text styles with fontFamily set to 'rokt-icons' to render correctly. */
871
2695
  styles?: null | LayoutStyle<StaticIconElements, ConditionalStyleTransition<StaticIconTransitions, Predicates>>;
2696
+ /** The icon name. Available icons include: Car, CreditCard, Ticket, Star, Mobile, Train, Utensils, Calculator, Couch, CheckApproved, Check, Lock, Shield, ThumbUp, ShoppingCart, TrendingUp, Wallet, Luggage, Close, ChevronLeft, ChevronRight, ExpandMore, ExpandLess, ArrowBack, ArrowForward, ArrowUpward, ArrowDownward, Add, Remove, ExternalLink, CircleCheck, Help, Info. */
872
2697
  name: string;
2698
+ /** Accessibility description of the icon for screen readers. */
873
2699
  description?: null | string;
874
2700
  }
2701
+ /** Transition definitions for the StaticIcon node. */
875
2702
  export interface StaticIconTransitions {
2703
+ /** Transition properties for the primary element. */
876
2704
  own?: null | StaticIconStyles;
877
2705
  }
2706
+ /** Visual styles for the StaticImage node. */
878
2707
  export interface StaticImageStyles {
2708
+ /** Background color and image properties. */
879
2709
  background?: null | BackgroundStylingProperties;
2710
+ /** Border radius, color, width and style. */
880
2711
  border?: null | BorderStylingProperties;
2712
+ /** Width, height and rotation properties. */
881
2713
  dimension?: null | DimensionStylingProperties;
2714
+ /** Properties controlling behaviour as a flex child. */
882
2715
  flexChild?: null | FlexChildStylingProperties;
2716
+ /** Padding, margin and offset properties. */
883
2717
  spacing?: null | SpacingStylingProperties;
884
2718
  }
2719
+ /** Style elements for the StaticImage node. */
885
2720
  export interface StaticImageElements {
2721
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
886
2722
  own: BasicStateStylingBlock<StaticImageStyles>[];
887
2723
  }
2724
+ /** URL configuration for a static image with themed light/dark mode support. */
888
2725
  export interface StaticImageUrl {
2726
+ /** The image URL for light mode. MUST be a valid URL. */
889
2727
  light: string;
2728
+ /** The image URL for dark mode. If not provided, the light URL is used for both modes. */
890
2729
  dark?: null | string;
891
2730
  }
2731
+ /** Renders a static image from a provided URL. Use for images with known URLs (logos, icons, decorative images). */
892
2732
  export interface StaticImageModel<Predicates> {
2733
+ /** Visual styles for the image element. */
893
2734
  styles?: null | LayoutStyle<StaticImageElements, ConditionalStyleTransition<StaticImageTransitions, Predicates>>;
2735
+ /** Alt text for accessibility. Describes the image for screen readers. */
894
2736
  alt?: null | string;
2737
+ /** Title text shown on hover. */
895
2738
  title?: null | string;
2739
+ /** The image URL with themed light/dark mode support. */
896
2740
  url: StaticImageUrl;
897
2741
  }
2742
+ /** Transition definitions for the StaticImage node. */
898
2743
  export interface StaticImageTransitions {
2744
+ /** Transition properties for the primary element. */
899
2745
  own?: null | StaticImageStyles;
900
2746
  }
2747
+ /**
2748
+ * Visual style properties for the StaticLink.
2749
+ * Contains the standard style categories: container layout, background colors,
2750
+ * border appearance, dimensions, flex child positioning, and spacing.
2751
+ */
901
2752
  export interface StaticLinkStyles {
2753
+ /** Container layout styles (e.g. flex direction, alignment). */
902
2754
  container?: null | ContainerStylingProperties;
2755
+ /** Background color and gradient styles. */
903
2756
  background?: null | BackgroundStylingProperties;
2757
+ /** Border width, color, and radius styles. */
904
2758
  border?: null | BorderStylingProperties;
2759
+ /** Width and height dimension styles. */
905
2760
  dimension?: null | DimensionStylingProperties;
2761
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
906
2762
  flexChild?: null | FlexChildStylingProperties;
2763
+ /** Padding and margin spacing styles. */
907
2764
  spacing?: null | SpacingStylingProperties;
908
2765
  }
2766
+ /**
2767
+ * Styling elements for the StaticLink.
2768
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed)
2769
+ * applied to the link itself.
2770
+ */
909
2771
  export interface StaticLinkElements {
2772
+ /**
2773
+ * Array of state-dependent styling blocks for the link.
2774
+ * Each block targets a specific interaction state (default, pressed, etc.).
2775
+ */
910
2776
  own: BasicStateStylingBlock<StaticLinkStyles>[];
911
2777
  }
2778
+ /**
2779
+ * A clickable link that wraps its children. Opens the specified URL when clicked.
2780
+ *
2781
+ * Use this node for navigation to external URLs. Do NOT use CreativeResponse for link navigation;
2782
+ * CreativeResponse is for offer accept/decline actions only.
2783
+ * The `src` field MUST be a valid URL string.
2784
+ */
912
2785
  export interface StaticLinkModel<Children, Predicates> {
2786
+ /**
2787
+ * Accessibility label for the link.
2788
+ * MUST be provided for screen reader support. Describes the link destination or purpose.
2789
+ */
913
2790
  a11yLabel?: null | string;
2791
+ /**
2792
+ * The destination URL to open when the link is clicked.
2793
+ * MUST be a valid URL string (e.g. "https://example.com").
2794
+ */
914
2795
  src: string;
2796
+ /** Controls how the link URL is opened (e.g. in-app browser, external browser). */
915
2797
  open: LinkOpenTarget;
2798
+ /** Visual styles for the link. Uses the LayoutStyle wrapper with conditional style transitions. */
916
2799
  styles?: null | LayoutStyle<StaticLinkElements, ConditionalStyleTransition<StaticLinkTransitions, Predicates>>;
2800
+ /**
2801
+ * Child nodes that form the clickable link content.
2802
+ * MUST contain at least one child for the link to have visible, tappable content.
2803
+ */
917
2804
  children: Children[];
918
2805
  }
2806
+ /**
2807
+ * Transition styles for animating StaticLink style changes.
2808
+ * Defines which style properties should animate when the link's conditional styles change.
2809
+ */
919
2810
  export interface StaticLinkTransitions {
2811
+ /** Transition properties for the link's own styles. */
920
2812
  own?: null | StaticLinkStyles;
921
2813
  }
2814
+ /**
2815
+ * Compares a static string input against a value. Use when you need to
2816
+ * evaluate a known, fixed string against a condition.
2817
+ */
922
2818
  export interface StaticStringPredicate {
2819
+ /** The static string value to test. */
923
2820
  input: string;
2821
+ /** The comparison operator. Use "is" or "is-not". */
924
2822
  condition: EqualityWhenCondition;
2823
+ /** The string to compare against. */
925
2824
  value: string;
926
2825
  }
2826
+ /**
2827
+ * Visual style properties for the ToggleButtonStateTrigger.
2828
+ * Contains the standard style categories: container layout, background colors,
2829
+ * border appearance, dimensions, flex child positioning, and spacing.
2830
+ */
927
2831
  export interface ToggleButtonStateTriggerStyle {
2832
+ /** Container layout styles (e.g. flex direction, alignment). */
928
2833
  container?: null | ContainerStylingProperties;
2834
+ /** Background color and gradient styles. */
929
2835
  background?: null | BackgroundStylingProperties;
2836
+ /** Border width, color, and radius styles. */
930
2837
  border?: null | BorderStylingProperties;
2838
+ /** Width and height dimension styles. */
931
2839
  dimension?: null | DimensionStylingProperties;
2840
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
932
2841
  flexChild?: null | FlexChildStylingProperties;
2842
+ /** Padding and margin spacing styles. */
933
2843
  spacing?: null | SpacingStylingProperties;
934
2844
  }
2845
+ /**
2846
+ * Styling elements for the ToggleButtonStateTrigger.
2847
+ * The `own` array contains state-dependent styling blocks applied to the toggle button itself.
2848
+ */
935
2849
  export interface ToggleButtonStateTriggerElements {
2850
+ /** Array of state-dependent styling blocks for the toggle button. */
936
2851
  own: BasicStateStylingBlock<ToggleButtonStateTriggerStyle>[];
937
2852
  }
2853
+ /**
2854
+ * A toggle button that cycles a custom state between values when clicked.
2855
+ * Each click toggles the state value, typically between 0 and 1.
2856
+ * Use with When nodes to conditionally show/hide content based on the toggled state.
2857
+ *
2858
+ * MUST provide a `customStateKey` that matches the key in When predicates.
2859
+ * Unlike ButtonStateTrigger, this does NOT require a `value` field; it toggles automatically.
2860
+ */
938
2861
  export interface ToggleButtonStateTriggerModel<Children, Predicates> {
2862
+ /** Accessibility label for the toggle button. */
939
2863
  a11yLabel?: null | string;
2864
+ /** Visual styles for the toggle button. */
940
2865
  styles?: null | LayoutStyle<ToggleButtonStateTriggerElements, ConditionalStyleTransition<ToggleButtonStateTriggerTransitions, Predicates>>;
2866
+ /** Child nodes forming the toggle button content. */
941
2867
  children: Children[];
2868
+ /**
2869
+ * The custom state key to toggle when the button is pressed.
2870
+ * MUST match the key referenced in When node predicates.
2871
+ */
942
2872
  customStateKey: string;
943
2873
  }
2874
+ /** Transition styles for animating ToggleButtonStateTrigger style changes. */
944
2875
  export interface ToggleButtonStateTriggerTransitions {
2876
+ /** Transition properties for the toggle button's own styles. */
945
2877
  own?: null | ToggleButtonStateTriggerStyle;
946
2878
  }
947
- export type InTransition = {
2879
+ /**
2880
+ * A transition that applies only when an element enters (becomes visible).
2881
+ * MUST be an object with a "type" field and a "settings" field.
2882
+ * Currently only "FadeIn" is supported.
2883
+ */
2884
+ export type InTransition =
2885
+ /**
2886
+ * A fade-in transition. The element gradually becomes visible over the
2887
+ * specified duration.
2888
+ */
2889
+ {
948
2890
  type: "FadeIn";
949
2891
  settings: FadeInTransitionSettings;
950
2892
  };
951
- export type OutTransition = {
2893
+ /**
2894
+ * A transition that applies only when an element exits (becomes hidden).
2895
+ * MUST be an object with a "type" field and a "settings" field.
2896
+ * Currently only "FadeOut" is supported.
2897
+ */
2898
+ export type OutTransition =
2899
+ /**
2900
+ * A fade-out transition. The element gradually becomes invisible over
2901
+ * the specified duration.
2902
+ */
2903
+ {
952
2904
  type: "FadeOut";
953
2905
  settings: FadeOutTransitionSettings;
954
2906
  };
2907
+ /**
2908
+ * Transition configuration for when visibility changes.
2909
+ * Defines enter and exit animations for the When node's children.
2910
+ */
955
2911
  export interface WhenTransition {
2912
+ /** Transition animations to play when children become visible (predicates become true). */
956
2913
  inTransition?: null | InTransition[];
2914
+ /** Transition animations to play when children become hidden (predicates become false). */
957
2915
  outTransition?: null | OutTransition[];
958
2916
  }
959
- export type WhenHidden = "visually" | "functionally";
2917
+ /**
2918
+ * Controls the hiding behaviour of When children.
2919
+ * Determines whether hidden children still occupy space in the layout.
2920
+ */
2921
+ export type WhenHidden =
2922
+ /**
2923
+ * Children are visually hidden but remain in the layout (take up space).
2924
+ * Use this when you need to preserve layout dimensions even when content is hidden.
2925
+ */
2926
+ "visually"
2927
+ /**
2928
+ * Children are fully removed from the layout.
2929
+ * They take up no space and do not affect sibling positioning.
2930
+ */
2931
+ | "functionally";
2932
+ /**
2933
+ * Conditional rendering node. Shows or hides its children based on predicate conditions.
2934
+ * All predicates MUST evaluate to true for children to be shown (AND logic).
2935
+ *
2936
+ * Use this node to conditionally display content based on custom state, offer count, or other
2937
+ * predicate conditions. Do NOT nest When nodes unnecessarily; combine predicates in a single
2938
+ * When node instead.
2939
+ */
960
2940
  export interface WhenModel<Children, Predicates> {
2941
+ /**
2942
+ * Array of conditions that MUST ALL be true for children to render.
2943
+ * Uses AND logic: if any predicate is false, children are hidden.
2944
+ * MUST contain at least one predicate.
2945
+ */
961
2946
  predicates: Predicates[];
2947
+ /** Child nodes to conditionally show or hide based on the predicates. */
962
2948
  children: Children[];
2949
+ /**
2950
+ * Optional transition animation configuration for when visibility changes.
2951
+ * Controls how children animate in and out when predicates change.
2952
+ */
963
2953
  transition?: null | WhenTransition;
2954
+ /**
2955
+ * Controls how hidden children are treated in the layout.
2956
+ * If omitted, defaults to functionally hiding (fully removed from layout).
2957
+ */
964
2958
  hide?: null | WhenHidden;
965
2959
  }
2960
+ /** Styling properties for ZStack container layout. ZStack layers children on top of each other. */
966
2961
  export interface ZStackContainerStylingProperties {
2962
+ /** Controls horizontal positioning of children within the ZStack. */
967
2963
  justifyContent?: null | FlexJustification;
2964
+ /** Controls vertical positioning of children within the ZStack. */
968
2965
  alignItems?: null | FlexAlignment;
2966
+ /** Applies a box shadow effect around the container. */
969
2967
  shadow?: null | Shadow;
2968
+ /** Controls whether content overflowing the container bounds is visible or hidden. */
970
2969
  overflow?: null | Overflow;
2970
+ /** Applies a Gaussian blur effect. Value is the blur radius in platform units. */
971
2971
  blur?: null | number;
972
2972
  }
2973
+ /**
2974
+ * Available style categories for the ZStack element. Each optional field enables a specific
2975
+ * category of visual styling. Omit a field to leave that category unstyled.
2976
+ */
973
2977
  export interface ZStackStyle {
2978
+ /**
2979
+ * Layout properties for the ZStack container (alignment of stacked children).
2980
+ * MUST be used to control how children are positioned within the stack.
2981
+ */
974
2982
  container?: null | ZStackContainerStylingProperties;
2983
+ /**
2984
+ * Background color and image properties. Use to set a solid color, gradient, or image
2985
+ * behind the stacked content.
2986
+ */
975
2987
  background?: null | BackgroundStylingProperties;
2988
+ /**
2989
+ * Border radius, color, width and style properties. Use to add visible borders or
2990
+ * rounded corners to the ZStack.
2991
+ */
976
2992
  border?: null | BorderStylingProperties;
2993
+ /**
2994
+ * Width, height and rotation properties. Use to explicitly size the ZStack or apply
2995
+ * rotation transforms. Do NOT set width/height if the ZStack should size to its content.
2996
+ */
977
2997
  dimension?: null | DimensionStylingProperties;
2998
+ /**
2999
+ * Properties controlling this element's behaviour as a child of a flex container.
3000
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
3001
+ */
978
3002
  flexChild?: null | FlexChildStylingProperties;
3003
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the ZStack. */
979
3004
  spacing?: null | SpacingStylingProperties;
980
3005
  }
3006
+ /**
3007
+ * Styleable elements of the ZStack node. The ZStack has a single styleable element: its own
3008
+ * container.
3009
+ */
981
3010
  export interface ZStackElements {
3011
+ /**
3012
+ * Style blocks for the ZStack container itself. The array represents breakpoint-specific
3013
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
3014
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
3015
+ */
982
3016
  own: BasicStateStylingBlock<ZStackStyle>[];
983
3017
  }
3018
+ /**
3019
+ * A layered container that stacks children on top of each other along the z-axis. Later
3020
+ * children render on top of earlier ones. Use for overlapping content such as badges on
3021
+ * images, text overlays, or layered decorative elements. Do NOT use ZStack for simple
3022
+ * sequential layouts; use Row or Column instead.
3023
+ */
984
3024
  export interface ZStackModel<Children, Predicates> {
3025
+ /**
3026
+ * Accessibility label for screen readers. Omit if the ZStack is purely decorative or its
3027
+ * children already provide sufficient accessible labels. MUST be set when the ZStack
3028
+ * conveys meaning not available from its children alone.
3029
+ */
985
3030
  a11yLabel?: null | string;
3031
+ /**
3032
+ * Visual styles for this ZStack. See styling documentation for the structure. Omit to use
3033
+ * default (unstyled) rendering.
3034
+ */
986
3035
  styles?: null | LayoutStyle<ZStackElements, ConditionalStyleTransition<ZStackTransitions, Predicates>>;
3036
+ /**
3037
+ * Child nodes stacked on top of each other within this ZStack. MUST contain at least one
3038
+ * child. Children are rendered in source order, with later children appearing on top of
3039
+ * earlier ones.
3040
+ */
987
3041
  children: Children[];
988
3042
  }
3043
+ /** Transition styles for the ZStack node. Use to animate style changes smoothly. */
989
3044
  export interface ZStackTransitions {
3045
+ /**
3046
+ * Transition properties for the ZStack container. Specifies which style properties
3047
+ * should animate and their duration/easing when values change.
3048
+ */
990
3049
  own?: null | ZStackStyle;
991
3050
  }
3051
+ /**
3052
+ * Root node types for a catalog stacked collection item template. Must be a Row or Column
3053
+ * that contains CatalogStackedCollectionTemplateNodeChildren.
3054
+ */
992
3055
  export type CatalogStackedCollectionTemplateNode = {
993
3056
  type: "Row";
994
3057
  node: RowModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
@@ -996,6 +3059,11 @@ export type CatalogStackedCollectionTemplateNode = {
996
3059
  type: "Column";
997
3060
  node: ColumnModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
998
3061
  };
3062
+ /**
3063
+ * Child node types allowed inside a catalog stacked collection template row or column.
3064
+ * Includes layout containers, text, images, icons, data-bound content, interactive triggers,
3065
+ * catalog response buttons, radio groups, and quantity counters.
3066
+ */
999
3067
  export type CatalogStackedCollectionTemplateNodeChildren = {
1000
3068
  type: "Row";
1001
3069
  node: RowModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
@@ -1051,8 +3119,28 @@ export type CatalogStackedCollectionTemplateNodeChildren = {
1051
3119
  type: "InlineContainer";
1052
3120
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1053
3121
  };
1054
- export type DimensionHeightFitValue = "wrap-content" | "fit-height";
1055
- export type DimensionWidthFitValue = "wrap-content" | "fit-width";
3122
+ /**
3123
+ * Fit behaviour options for height.
3124
+ * Used as the 'value' inside a {"type": "fit", "value": ...} height specification.
3125
+ */
3126
+ export type DimensionHeightFitValue =
3127
+ /** Shrinks to fit the content height. */
3128
+ "wrap-content"
3129
+ /** Expands to fill the available height. */
3130
+ | "fit-height";
3131
+ /**
3132
+ * Fit behaviour options for width.
3133
+ * Used as the 'value' inside a {"type": "fit", "value": ...} width specification.
3134
+ */
3135
+ export type DimensionWidthFitValue =
3136
+ /** Shrinks to fit the content width. */
3137
+ "wrap-content"
3138
+ /** Expands to fill the available width. */
3139
+ | "fit-width";
3140
+ /**
3141
+ * Node types valid as inline children in the combined SDK schema. Includes text, links,
3142
+ * and interactive inline elements such as buttons and toggles.
3143
+ */
1056
3144
  export type InlineChildren = {
1057
3145
  type: "BasicText";
1058
3146
  node: InlineBasicTextModel<WhenPredicate>;
@@ -1063,7 +3151,18 @@ export type InlineChildren = {
1063
3151
  type: "ToggleButtonStateTrigger";
1064
3152
  node: InlineToggleButtonStateTriggerModel<NonInteractableInlineChildren, WhenPredicate>;
1065
3153
  };
1066
- export type LayoutDisplayPreset = "FULLSCREEN" | "EMBEDDED" | "ATTACHED";
3154
+ /** Controls how the layout is displayed on the page. */
3155
+ export type LayoutDisplayPreset =
3156
+ /** Layout covers the full viewport. */
3157
+ "FULLSCREEN"
3158
+ /** Layout is embedded inline within the page content. */
3159
+ | "EMBEDDED"
3160
+ /** Layout is attached/anchored to a specific position. */
3161
+ | "ATTACHED";
3162
+ /**
3163
+ * All node types supported in the web platform schema. This is the union type used by SDKs.
3164
+ * Layouts are authored using OuterLayoutSchemaModel or LayoutVariantSchemaModel instead.
3165
+ */
1067
3166
  export type LayoutSchemaModel = {
1068
3167
  type: "Row";
1069
3168
  node: RowModel<LayoutSchemaModel, WhenPredicate>;
@@ -1161,6 +3260,11 @@ export type LayoutSchemaModel = {
1161
3260
  type: "InlineContainer";
1162
3261
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1163
3262
  };
3263
+ /**
3264
+ * Recursive child node types allowed within layout variant containers. Includes all layout
3265
+ * variant nodes such as layout, text, images, data-bound content, interactive triggers,
3266
+ * catalog components, and escape hatches.
3267
+ */
1164
3268
  export type LayoutVariantChildren = {
1165
3269
  type: "Row";
1166
3270
  node: RowModel<LayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -1222,7 +3326,22 @@ export type LayoutVariantChildren = {
1222
3326
  type: "InlineContainer";
1223
3327
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1224
3328
  };
1225
- export type LayoutVariantDomainStateKey = "offerComplete";
3329
+ /**
3330
+ * Keys for accessing application domain state in the layout variant (offer
3331
+ * format) context. Serialized as camelCase strings. These are the domain
3332
+ * state keys available when defining conditional rendering within a layout
3333
+ * variant.
3334
+ */
3335
+ export type LayoutVariantDomainStateKey =
3336
+ /**
3337
+ * Indicates whether the current offer has been completed by the user.
3338
+ * Use to show post-completion content or hide offer-specific elements.
3339
+ */
3340
+ "offerComplete";
3341
+ /**
3342
+ * Node types valid as inline children within layout variants (offer formats). Includes text,
3343
+ * links, partner event triggers, and interactive inline elements scoped to layout variant predicates.
3344
+ */
1226
3345
  export type LayoutVariantInlineChildren = {
1227
3346
  type: "BasicText";
1228
3347
  node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
@@ -1233,6 +3352,11 @@ export type LayoutVariantInlineChildren = {
1233
3352
  type: "ToggleButtonStateTrigger";
1234
3353
  node: InlineToggleButtonStateTriggerModel<LayoutVariantNonInteractableInlineChildren, LayoutVariantWhenPredicate>;
1235
3354
  };
3355
+ /**
3356
+ * Non-interactive child node types within layout variants. Only allows structural containers,
3357
+ * static/data images, basic text, icons, conditional nodes, and escape hatches. Used as
3358
+ * children of interactive elements like buttons and links in layout variants.
3359
+ */
1236
3360
  export type LayoutVariantNonInteractableChildren = {
1237
3361
  type: "Row";
1238
3362
  node: RowModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
@@ -1270,10 +3394,18 @@ export type LayoutVariantNonInteractableChildren = {
1270
3394
  type: "InlineContainer";
1271
3395
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1272
3396
  };
3397
+ /**
3398
+ * Non-interactive inline child nodes within layout variants. Only allows basic text
3399
+ * scoped to layout variant predicates.
3400
+ */
1273
3401
  export type LayoutVariantNonInteractableInlineChildren = {
1274
3402
  type: "BasicText";
1275
3403
  node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
1276
3404
  };
3405
+ /**
3406
+ * Node types valid for use in layout variants (offer formats). Layout variants contain the
3407
+ * offer-specific creative content including images, text, response buttons, and catalog components.
3408
+ */
1277
3409
  export type LayoutVariantSchemaModel = {
1278
3410
  type: "Row";
1279
3411
  node: RowModel<LayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -1335,34 +3467,63 @@ export type LayoutVariantSchemaModel = {
1335
3467
  type: "InlineContainer";
1336
3468
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1337
3469
  };
1338
- export type LayoutVariantWhenPredicate = {
3470
+ /**
3471
+ * Predicate types available in the layout variant (offer format) context.
3472
+ * This is a subset of predicates that are valid when defining conditional
3473
+ * rendering within a layout variant. Each predicate MUST include a "type"
3474
+ * field and a "predicate" field.
3475
+ */
3476
+ export type LayoutVariantWhenPredicate =
3477
+ /** Tests the viewport width against a breakpoint value. */
3478
+ {
1339
3479
  type: "Breakpoint";
1340
3480
  predicate: BreakpointPredicate;
1341
- } | {
3481
+ }
3482
+ /** Tests the position index of the current item in a collection. */
3483
+ | {
1342
3484
  type: "Position";
1343
3485
  predicate: PositionPredicate;
1344
- } | {
3486
+ }
3487
+ /** Tests which offer index is currently visible. */
3488
+ | {
1345
3489
  type: "Progression";
1346
3490
  predicate: ProgressionPredicate;
1347
- } | {
3491
+ }
3492
+ /** Tests whether dark mode is active. */
3493
+ | {
1348
3494
  type: "DarkMode";
1349
3495
  predicate: DarkModePredicate;
1350
- } | {
3496
+ }
3497
+ /** Tests whether a creative data attribute exists. */
3498
+ | {
1351
3499
  type: "CreativeCopy";
1352
3500
  predicate: CreativeCopyPredicate;
1353
- } | {
3501
+ }
3502
+ /** Evaluates a hardcoded boolean value. */
3503
+ | {
1354
3504
  type: "StaticBoolean";
1355
3505
  predicate: StaticBooleanPredicate;
1356
- } | {
3506
+ }
3507
+ /** Tests a custom state value set by state trigger nodes. */
3508
+ | {
1357
3509
  type: "CustomState";
1358
3510
  predicate: CustomStatePredicate;
1359
- } | {
3511
+ }
3512
+ /** Tests application domain state in the layout variant context. */
3513
+ | {
1360
3514
  type: "DomainState";
1361
3515
  predicate: DomainStatePredicate<LayoutVariantDomainStateKey>;
1362
- } | {
3516
+ }
3517
+ /** Compares a static string input against a value. */
3518
+ | {
1363
3519
  type: "StaticString";
1364
3520
  predicate: StaticStringPredicate;
1365
3521
  };
3522
+ /**
3523
+ * Child node types allowed inside modal containers (Overlay, BottomSheet) in the combined
3524
+ * SDK schema. Includes structural, presentational, distribution, and interactive nodes
3525
+ * but excludes nested modals.
3526
+ */
1366
3527
  export type ModalChildren = {
1367
3528
  type: "Row";
1368
3529
  node: RowModel<ModalChildren, WhenPredicate>;
@@ -1433,6 +3594,11 @@ export type ModalChildren = {
1433
3594
  type: "InlineContainer";
1434
3595
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1435
3596
  };
3597
+ /**
3598
+ * Child node types allowed inside modal containers (Overlay, BottomSheet) within outer
3599
+ * layouts. Includes structural, presentational, distribution, and interactive nodes scoped
3600
+ * to outer layout predicates, but excludes nested modals.
3601
+ */
1436
3602
  export type ModalOuterChildren = {
1437
3603
  type: "Row";
1438
3604
  node: RowModel<ModalOuterChildren, OuterLayoutWhenPredicate>;
@@ -1503,6 +3669,11 @@ export type ModalOuterChildren = {
1503
3669
  type: "InlineContainer";
1504
3670
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1505
3671
  };
3672
+ /**
3673
+ * Non-interactive child node types in the combined SDK schema. Only allows structural
3674
+ * containers, static/data images, basic text, icons, conditional nodes, and escape hatches.
3675
+ * Used as children of interactive elements like buttons and links.
3676
+ */
1506
3677
  export type NonInteractableChildren = {
1507
3678
  type: "Row";
1508
3679
  node: RowModel<NonInteractableChildren, WhenPredicate>;
@@ -1540,10 +3711,15 @@ export type NonInteractableChildren = {
1540
3711
  type: "InlineContainer";
1541
3712
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1542
3713
  };
3714
+ /** Non-interactive inline child nodes in the combined SDK schema. Only allows basic text. */
1543
3715
  export type NonInteractableInlineChildren = {
1544
3716
  type: "BasicText";
1545
3717
  node: InlineBasicTextModel<WhenPredicate>;
1546
3718
  };
3719
+ /**
3720
+ * Recursive child node types allowed within outer layout containers. Includes structural,
3721
+ * distribution, navigation, and presentational nodes scoped to outer layout predicates.
3722
+ */
1547
3723
  export type OuterLayoutChildren = {
1548
3724
  type: "Row";
1549
3725
  node: RowModel<OuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -1614,6 +3790,10 @@ export type OuterLayoutChildren = {
1614
3790
  type: "InlineContainer";
1615
3791
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1616
3792
  };
3793
+ /**
3794
+ * Node types valid as inline children within outer layouts. Includes text, links,
3795
+ * and interactive inline elements scoped to outer layout predicates.
3796
+ */
1617
3797
  export type OuterLayoutInlineChildren = {
1618
3798
  type: "BasicText";
1619
3799
  node: InlineBasicTextModel<OuterLayoutWhenPredicate>;
@@ -1624,6 +3804,11 @@ export type OuterLayoutInlineChildren = {
1624
3804
  type: "ToggleButtonStateTrigger";
1625
3805
  node: InlineToggleButtonStateTriggerModel<OuterLayoutNonInteractableInlineChildren, OuterLayoutWhenPredicate>;
1626
3806
  };
3807
+ /**
3808
+ * Non-interactive child node types within outer layouts. Only allows structural containers,
3809
+ * static images, basic text, icons, conditional nodes, and escape hatches. Used as children
3810
+ * of interactive elements like buttons and links in outer layouts.
3811
+ */
1627
3812
  export type OuterLayoutNonInteractableChildren = {
1628
3813
  type: "Row";
1629
3814
  node: RowModel<OuterLayoutNonInteractableChildren, OuterLayoutWhenPredicate>;
@@ -1655,10 +3840,19 @@ export type OuterLayoutNonInteractableChildren = {
1655
3840
  type: "InlineContainer";
1656
3841
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1657
3842
  };
3843
+ /**
3844
+ * Non-interactive inline child nodes within outer layouts. Only allows basic text
3845
+ * scoped to outer layout predicates.
3846
+ */
1658
3847
  export type OuterLayoutNonInteractableInlineChildren = {
1659
3848
  type: "BasicText";
1660
3849
  node: InlineBasicTextModel<OuterLayoutWhenPredicate>;
1661
3850
  };
3851
+ /**
3852
+ * Node types valid for use in outer layouts. Outer layouts define the frame and offer
3853
+ * distribution but do not contain offer-specific content. They include structural containers,
3854
+ * distribution nodes, navigation controls, and close buttons.
3855
+ */
1662
3856
  export type OuterLayoutSchemaModel = {
1663
3857
  type: "Row";
1664
3858
  node: RowModel<OuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -1735,25 +3929,47 @@ export type OuterLayoutSchemaModel = {
1735
3929
  type: "InlineContainer";
1736
3930
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1737
3931
  };
1738
- export type OuterLayoutWhenPredicate = {
3932
+ /**
3933
+ * Predicate types available in the outer layout context. This is a more
3934
+ * restricted subset of predicates for use in the outer layout wrapper.
3935
+ * Does NOT include Position, CreativeCopy, or DomainState predicates.
3936
+ * Each predicate MUST include a "type" field and a "predicate" field.
3937
+ */
3938
+ export type OuterLayoutWhenPredicate =
3939
+ /** Tests the viewport width against a breakpoint value. */
3940
+ {
1739
3941
  type: "Breakpoint";
1740
3942
  predicate: BreakpointPredicate;
1741
- } | {
3943
+ }
3944
+ /** Tests which offer index is currently visible. */
3945
+ | {
1742
3946
  type: "Progression";
1743
3947
  predicate: ProgressionPredicate;
1744
- } | {
3948
+ }
3949
+ /** Tests whether dark mode is active. */
3950
+ | {
1745
3951
  type: "DarkMode";
1746
3952
  predicate: DarkModePredicate;
1747
- } | {
3953
+ }
3954
+ /** Evaluates a hardcoded boolean value. */
3955
+ | {
1748
3956
  type: "StaticBoolean";
1749
3957
  predicate: StaticBooleanPredicate;
1750
- } | {
3958
+ }
3959
+ /** Tests a custom state value set by state trigger nodes. */
3960
+ | {
1751
3961
  type: "CustomState";
1752
3962
  predicate: CustomStatePredicate;
1753
- } | {
3963
+ }
3964
+ /** Compares a static string input against a value. */
3965
+ | {
1754
3966
  type: "StaticString";
1755
3967
  predicate: StaticStringPredicate;
1756
3968
  };
3969
+ /**
3970
+ * Child node types allowed inside scrollable containers (ScrollableColumn, ScrollableRow)
3971
+ * in the combined SDK schema. Excludes overlay and bottom sheet nodes that cannot scroll.
3972
+ */
1757
3973
  export type ScrollableChildren = {
1758
3974
  type: "Row";
1759
3975
  node: RowModel<ScrollableChildren, WhenPredicate>;
@@ -1833,6 +4049,10 @@ export type ScrollableChildren = {
1833
4049
  type: "InlineContainer";
1834
4050
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1835
4051
  };
4052
+ /**
4053
+ * Child node types allowed inside scrollable containers within layout variants. Excludes
4054
+ * overlay and bottom sheet nodes, scoped to layout variant predicates. Includes catalog components.
4055
+ */
1836
4056
  export type ScrollableLayoutVariantChildren = {
1837
4057
  type: "Row";
1838
4058
  node: RowModel<ScrollableLayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -1888,6 +4108,10 @@ export type ScrollableLayoutVariantChildren = {
1888
4108
  type: "InlineContainer";
1889
4109
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1890
4110
  };
4111
+ /**
4112
+ * Child node types allowed inside scrollable containers within outer layouts. Excludes overlay
4113
+ * and bottom sheet nodes, scoped to outer layout predicates.
4114
+ */
1891
4115
  export type ScrollableOuterLayoutChildren = {
1892
4116
  type: "Row";
1893
4117
  node: RowModel<ScrollableOuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -1952,31 +4176,55 @@ export type ScrollableOuterLayoutChildren = {
1952
4176
  type: "InlineContainer";
1953
4177
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1954
4178
  };
1955
- export type WhenPredicate = {
4179
+ /**
4180
+ * All available predicate types for conditional rendering in the full layout
4181
+ * schema. Used with the When node to conditionally show or hide children.
4182
+ * Each predicate MUST include a "type" field to identify the predicate kind
4183
+ * and a "predicate" field containing the predicate configuration.
4184
+ */
4185
+ export type WhenPredicate =
4186
+ /** Tests the viewport width against a breakpoint value. */
4187
+ {
1956
4188
  type: "Breakpoint";
1957
4189
  predicate: BreakpointPredicate;
1958
- } | {
4190
+ }
4191
+ /** Tests the position index of the current item in a collection. */
4192
+ | {
1959
4193
  type: "Position";
1960
4194
  predicate: PositionPredicate;
1961
- } | {
4195
+ }
4196
+ /** Tests which offer index is currently visible. */
4197
+ | {
1962
4198
  type: "Progression";
1963
4199
  predicate: ProgressionPredicate;
1964
- } | {
4200
+ }
4201
+ /** Tests whether dark mode is active. */
4202
+ | {
1965
4203
  type: "DarkMode";
1966
4204
  predicate: DarkModePredicate;
1967
- } | {
4205
+ }
4206
+ /** Tests whether a creative data attribute exists. */
4207
+ | {
1968
4208
  type: "CreativeCopy";
1969
4209
  predicate: CreativeCopyPredicate;
1970
- } | {
4210
+ }
4211
+ /** Evaluates a hardcoded boolean value. */
4212
+ | {
1971
4213
  type: "StaticBoolean";
1972
4214
  predicate: StaticBooleanPredicate;
1973
- } | {
4215
+ }
4216
+ /** Tests a custom state value set by state trigger nodes. */
4217
+ | {
1974
4218
  type: "CustomState";
1975
4219
  predicate: CustomStatePredicate;
1976
- } | {
4220
+ }
4221
+ /** Tests application domain state. */
4222
+ | {
1977
4223
  type: "DomainState";
1978
4224
  predicate: LayoutSchemaDomainStatePredicate;
1979
- } | {
4225
+ }
4226
+ /** Compares a static string input against a value. */
4227
+ | {
1980
4228
  type: "StaticString";
1981
4229
  predicate: StaticStringPredicate;
1982
4230
  };