@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,1118 +1,3421 @@
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;
426
+ /** The opacity of the container, from 0.0 (fully transparent) to 1.0 (fully opaque). */
136
427
  opacity?: null | number;
137
428
  }
429
+ /**
430
+ * Available style categories for the BottomSheet content element. Each optional field
431
+ * enables a specific category of visual styling. Omit a field to leave that category
432
+ * unstyled.
433
+ */
138
434
  export interface BottomSheetStyles {
435
+ /**
436
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
437
+ * MUST be used to control how children are arranged within the bottom sheet content area.
438
+ */
139
439
  container?: null | ContainerStylingProperties;
440
+ /**
441
+ * Background color and image properties. Use to set a solid color, gradient, or image
442
+ * behind the bottom sheet content.
443
+ */
140
444
  background?: null | BackgroundStylingProperties;
445
+ /**
446
+ * Border radius, color, width and style properties. Use to add visible borders or
447
+ * rounded corners to the bottom sheet content area. Typically top corners are rounded.
448
+ */
141
449
  border?: null | BorderStylingProperties;
450
+ /**
451
+ * Width, height and rotation properties. Use to explicitly size the bottom sheet content
452
+ * area. Do NOT set width/height if the bottom sheet should size to its content.
453
+ */
142
454
  dimension?: null | DimensionStylingProperties;
455
+ /**
456
+ * Properties controlling this element's behaviour as a child of a flex container.
457
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
458
+ */
143
459
  flexChild?: null | FlexChildStylingProperties;
460
+ /**
461
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
462
+ * bottom sheet content area.
463
+ */
144
464
  spacing?: null | SpacingStylingProperties;
145
465
  }
466
+ /**
467
+ * Style categories for the BottomSheet wrapper (backdrop) element. Controls the appearance
468
+ * of the area behind the bottom sheet content.
469
+ */
146
470
  export interface BottomSheetWrapperStyles {
471
+ /** Layout properties for the wrapper container that positions the bottom sheet content. */
147
472
  container?: null | ContainerStylingProperties;
473
+ /**
474
+ * Background color for the backdrop. Typically a semi-transparent color (using `#AARRGGBB`
475
+ * format, e.g. `#80000000`) to dim the content behind the bottom sheet.
476
+ */
148
477
  background?: null | BackgroundStylingProperties;
149
478
  }
479
+ /**
480
+ * Styleable elements of the BottomSheet node. The BottomSheet has two styleable elements:
481
+ * its own content area and its wrapper (backdrop).
482
+ */
150
483
  export interface BottomSheetElements {
484
+ /**
485
+ * Style blocks for the bottom sheet content area. The array represents
486
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
487
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
488
+ * for the default style.
489
+ */
151
490
  own: BasicStateStylingBlock<BottomSheetStyles>[];
491
+ /**
492
+ * Style blocks for the bottom sheet wrapper (backdrop). The array represents
493
+ * breakpoint-specific styles: first item is the default, subsequent items correspond
494
+ * to breakpoints in ascending order.
495
+ */
152
496
  wrapper: BasicStateStylingBlock<BottomSheetWrapperStyles>[];
153
497
  }
498
+ /**
499
+ * A modal container that slides up from the bottom of the screen. Use for contextual actions,
500
+ * forms, or supplementary content that does not require full-screen takeover. The bottom
501
+ * sheet appears with a backdrop behind it. Do NOT use BottomSheet for persistent content;
502
+ * use a regular Column or ScrollableColumn instead.
503
+ */
154
504
  export interface BottomSheetModel<Children, Predicates> {
505
+ /**
506
+ * If true, clicking the backdrop area closes the bottom sheet. MUST be set to true when
507
+ * the bottom sheet is dismissible. Set to false when the user MUST interact with the
508
+ * bottom sheet content before proceeding.
509
+ */
155
510
  allowBackdropToClose: boolean;
511
+ /**
512
+ * Accessibility label for screen readers. MUST be set to describe the purpose of the
513
+ * bottom sheet (e.g., "Share options" or "Filter settings").
514
+ */
156
515
  a11yLabel?: null | string;
516
+ /**
517
+ * Visual styles for this bottom sheet. See styling documentation for the structure. Omit
518
+ * to use default (unstyled) rendering.
519
+ */
157
520
  styles?: null | LayoutStyle<BottomSheetElements, ConditionalStyleTransition<BottomSheetTransitions, Predicates>>;
521
+ /** The content displayed within the bottom sheet. */
158
522
  children: Children[];
159
523
  }
524
+ /**
525
+ * Transition styles for the BottomSheet node. Use to animate style changes smoothly,
526
+ * particularly the slide-up entrance animation.
527
+ */
160
528
  export interface BottomSheetTransitions {
529
+ /**
530
+ * Transition properties for the bottom sheet content area. Specifies which style
531
+ * properties should animate and their duration/easing when values change.
532
+ */
161
533
  own?: null | BottomSheetStyles;
534
+ /** Transition properties for the bottom sheet wrapper (backdrop). */
162
535
  wrapper?: null | BottomSheetWrapperStyles;
163
536
  }
164
- export type OrderableWhenCondition = "is" | "is-not" | "is-below" | "is-above";
537
+ /**
538
+ * Condition operators for numeric/orderable comparisons. Use these to compare
539
+ * values that have a natural ordering (numbers, positions, breakpoints).
540
+ * Serialized as kebab-case strings: "is", "is-not", "is-below", "is-above".
541
+ */
542
+ export type OrderableWhenCondition =
543
+ /** True when the value equals the specified value. */
544
+ "is"
545
+ /** True when the value does not equal the specified value. */
546
+ | "is-not"
547
+ /** True when the value is less than the specified value. */
548
+ | "is-below"
549
+ /** True when the value is greater than the specified value. */
550
+ | "is-above";
551
+ /**
552
+ * Tests the viewport width against a breakpoint value. Use for
553
+ * responsive layouts that adapt to different screen sizes. The value MUST
554
+ * be a string representation of a number in platform units.
555
+ */
165
556
  export interface BreakpointPredicate {
557
+ /** The comparison operator. Use "is-above" or "is-below" for responsive breakpoints. */
166
558
  condition: OrderableWhenCondition;
559
+ /**
560
+ * The breakpoint width in platform units to compare against. MUST be a string
561
+ * representation of a number, e.g. "768".
562
+ */
167
563
  value: string;
168
564
  }
565
+ /** A styling block with only a default state. Used for non-interactive elements. */
169
566
  export interface StatelessStylingBlock<StyleProperties> {
567
+ /** The styles to apply. Always required. */
170
568
  default: StyleProperties;
171
569
  }
570
+ /**
571
+ * Visual style properties for the CarouselDistribution container.
572
+ * Contains the standard style categories: container layout, background colors,
573
+ * border appearance, dimensions, flex child positioning, and spacing.
574
+ */
172
575
  export interface CarouselDistributionStyles {
576
+ /** Container layout styles (e.g. flex direction, alignment). */
173
577
  container?: null | ContainerStylingProperties;
578
+ /** Background color and gradient styles. */
174
579
  background?: null | BackgroundStylingProperties;
580
+ /** Border width, color, and radius styles. */
175
581
  border?: null | BorderStylingProperties;
582
+ /** Width and height dimension styles. */
176
583
  dimension?: null | DimensionStylingProperties;
584
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
177
585
  flexChild?: null | FlexChildStylingProperties;
586
+ /** Padding and margin spacing styles. */
178
587
  spacing?: null | SpacingStylingProperties;
179
588
  }
589
+ /**
590
+ * Styling elements for the CarouselDistribution container.
591
+ * The `own` array contains stateless styling blocks applied to the carousel container itself.
592
+ */
180
593
  export interface CarouselDistributionElements {
594
+ /** Array of stateless styling blocks for the carousel container. */
181
595
  own: StatelessStylingBlock<CarouselDistributionStyles>[];
182
596
  }
183
- export type PeekThroughSize = {
597
+ /**
598
+ * The size of the peek-through area showing adjacent carousel items.
599
+ * Controls how much of the next/previous items are visible at the edges.
600
+ */
601
+ export type PeekThroughSize =
602
+ /** A fixed size in platform units (px on Web, pt on iOS, dp on Android) for the peek-through area. */
603
+ {
184
604
  type: "Fixed";
185
605
  value: number;
186
- } | {
606
+ }
607
+ /** A percentage-based size for the peek-through area, relative to the carousel width. */
608
+ | {
187
609
  type: "Percentage";
188
610
  value: number;
189
611
  };
612
+ /**
613
+ * Presents offers in a horizontally scrollable carousel.
614
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
615
+ * Users can swipe left/right to browse offers.
616
+ *
617
+ * Use `viewableItems` to control how many items are visible at once per breakpoint.
618
+ * Use `peekThroughSize` to hint that more items exist by showing partial adjacent items.
619
+ */
190
620
  export interface CarouselDistributionModel<Predicates> {
621
+ /**
622
+ * Configuration for how many items are visible at once.
623
+ * Provided as an array of values for different breakpoints.
624
+ */
191
625
  viewableItems: number[];
626
+ /**
627
+ * How much of the next/previous items peek into view.
628
+ * Provided as an array of PeekThroughSize values for different breakpoints.
629
+ * Use Fixed for absolute values in platform units or Percentage for relative values.
630
+ */
192
631
  peekThroughSize: PeekThroughSize[];
632
+ /**
633
+ * Visual styles for the carousel container.
634
+ * Uses the LayoutStyle wrapper with conditional style transitions.
635
+ */
193
636
  styles?: null | LayoutStyle<CarouselDistributionElements, ConditionalStyleTransition<CarouselDistributionTransitions, Predicates>>;
194
637
  }
638
+ /** Transition styles for animating CarouselDistribution style changes. */
195
639
  export interface CarouselDistributionTransitions {
640
+ /** Transition properties for the carousel container's own styles. */
196
641
  own?: null | CarouselDistributionStyles;
197
642
  }
643
+ /**
644
+ * Visual style properties for the increment and decrement buttons
645
+ * within the quantity counter.
646
+ */
198
647
  export interface CatalogQuantityButtonStyles {
648
+ /** Layout properties for the flex container. */
199
649
  container?: null | ContainerStylingProperties;
650
+ /** Background color and image properties. */
200
651
  background?: null | BackgroundStylingProperties;
652
+ /** Border radius, color, width and style. */
201
653
  border?: null | BorderStylingProperties;
654
+ /** Width, height and rotation properties. */
202
655
  dimension?: null | DimensionStylingProperties;
656
+ /** Properties controlling behaviour as a flex child. */
203
657
  flexChild?: null | FlexChildStylingProperties;
658
+ /** Padding, margin and offset properties. */
204
659
  spacing?: null | SpacingStylingProperties;
205
660
  }
661
+ /**
662
+ * Configuration for the increment and decrement button nodes within
663
+ * the quantity counter. Each button contains a child node (typically an icon)
664
+ * and an accessibility label.
665
+ */
206
666
  export interface CatalogQuantityCounterButtons<Node> {
667
+ /** Child node rendered inside the increment ("+") button, typically a plus icon. */
207
668
  increment: Node;
669
+ /** Child node rendered inside the decrement ("-") button, typically a minus icon. */
208
670
  decrement: Node;
671
+ /** Accessibility label for the increment button, read by screen readers. */
209
672
  a11yIncrementLabel?: null | string;
673
+ /** Accessibility label for the decrement button, read by screen readers. */
210
674
  a11yDecrementLabel?: null | string;
211
675
  }
676
+ /**
677
+ * Visual style properties for the quantity counter's outer container.
678
+ * Controls the overall layout and appearance of the counter widget.
679
+ */
212
680
  export interface CatalogQuantityCounterStyles {
681
+ /** Layout properties for the flex container. */
213
682
  container?: null | ContainerStylingProperties;
683
+ /** Background color and image properties. */
214
684
  background?: null | BackgroundStylingProperties;
685
+ /** Border radius, color, width and style. */
215
686
  border?: null | BorderStylingProperties;
687
+ /** Width, height and rotation properties. */
216
688
  dimension?: null | DimensionStylingProperties;
689
+ /** Properties controlling behaviour as a flex child. */
217
690
  flexChild?: null | FlexChildStylingProperties;
691
+ /** Padding, margin and offset properties. */
218
692
  spacing?: null | SpacingStylingProperties;
219
693
  }
694
+ /**
695
+ * Visual style properties for the numeric input field within the quantity counter.
696
+ * Includes text styling for the displayed quantity value.
697
+ */
220
698
  export interface CatalogQuantityInputStyles {
699
+ /** Layout properties for the flex container. */
221
700
  container?: null | ContainerStylingProperties;
701
+ /** Background color and image properties. */
222
702
  background?: null | BackgroundStylingProperties;
703
+ /** Border radius, color, width and style. */
223
704
  border?: null | BorderStylingProperties;
705
+ /** Width, height and rotation properties. */
224
706
  dimension?: null | DimensionStylingProperties;
707
+ /** Properties controlling behaviour as a flex child. */
225
708
  flexChild?: null | FlexChildStylingProperties;
709
+ /** Padding, margin and offset properties. */
226
710
  spacing?: null | SpacingStylingProperties;
711
+ /** Typography properties. */
227
712
  text?: null | TextStylingProperties;
228
713
  }
714
+ /**
715
+ * Breakpoint-specific style elements for the quantity counter and its sub-elements.
716
+ * Allows different visual treatments for the counter, input field, and buttons
717
+ * at different screen sizes and interaction states.
718
+ */
229
719
  export interface CatalogQuantityCounterElements {
720
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
230
721
  own: BasicStateStylingBlock<CatalogQuantityCounterStyles>[];
722
+ /** Style blocks for the numeric input field element. Array represents breakpoint-specific styles. */
231
723
  input?: null | BasicStateStylingBlock<CatalogQuantityInputStyles>[];
724
+ /** Style blocks for the decrement ("-") button element. Array represents breakpoint-specific styles. */
232
725
  decrementButton?: null | BasicStateStylingBlock<CatalogQuantityButtonStyles>[];
726
+ /** Style blocks for the increment ("+") button element. Array represents breakpoint-specific styles. */
233
727
  incrementButton?: null | BasicStateStylingBlock<CatalogQuantityButtonStyles>[];
234
728
  }
729
+ /**
730
+ * A quantity selector with increment/decrement controls for catalog items.
731
+ * Displays a numeric input field flanked by "+" and "-" buttons that allow
732
+ * the user to adjust the desired quantity. Optionally shows a forced upsell
733
+ * text message and supports direct numeric input.
734
+ */
235
735
  export interface CatalogQuantityCounterModel<Node, Predicates> {
736
+ /**
737
+ * Responsive and conditional styling for this counter, including breakpoint-specific
738
+ * element styles and animated transitions for the counter, input, and buttons.
739
+ */
236
740
  styles?: null | LayoutStyle<CatalogQuantityCounterElements, ConditionalStyleTransition<CatalogQuantityCounterTransitions, Predicates>>;
741
+ /**
742
+ * When true, renders an editable numeric input field between the buttons so the
743
+ * user can type a quantity directly. When false, only the buttons are shown.
744
+ */
237
745
  showInputField: boolean;
746
+ /**
747
+ * Accessibility label for the numeric input field, read by screen readers
748
+ * to describe the input's purpose (e.g., "Quantity").
749
+ */
238
750
  a11yInputLabel?: null | string;
751
+ /**
752
+ * Optional text displayed below the counter to encourage a larger quantity
753
+ * (e.g., "Buy 3 and save 10%"). Uses a BasicTextModel for styled text rendering.
754
+ */
239
755
  forcedUpsellText?: null | BasicTextModel<Predicates>;
756
+ /**
757
+ * Configuration for the increment and decrement buttons, including their
758
+ * child content nodes and accessibility labels.
759
+ */
240
760
  buttons?: null | CatalogQuantityCounterButtons<Node>;
241
761
  }
762
+ /**
763
+ * Transition properties for animating style changes on the quantity counter
764
+ * and its sub-elements (input field and buttons).
765
+ */
242
766
  export interface CatalogQuantityCounterTransitions {
767
+ /** Transition properties for the primary element. */
243
768
  own?: null | CatalogQuantityCounterStyles;
769
+ /** Transition properties for the numeric input field element. */
244
770
  input?: null | CatalogQuantityInputStyles;
771
+ /** Transition properties for the decrement ("-") button element. */
245
772
  decrementButton?: null | CatalogQuantityButtonStyles;
773
+ /** Transition properties for the increment ("+") button element. */
246
774
  incrementButton?: null | CatalogQuantityButtonStyles;
247
775
  }
776
+ /**
777
+ * Visual style properties for a catalog quantity option.
778
+ * Controls the layout and appearance of the selectable quantity chip.
779
+ */
248
780
  export interface CatalogQuantityStyles {
781
+ /** Layout properties for the flex container. */
249
782
  container?: null | ContainerStylingProperties;
783
+ /** Background color and image properties. */
250
784
  background?: null | BackgroundStylingProperties;
785
+ /** Border radius, color, width and style. */
251
786
  border?: null | BorderStylingProperties;
787
+ /** Width, height and rotation properties. */
252
788
  dimension?: null | DimensionStylingProperties;
789
+ /** Properties controlling behaviour as a flex child. */
253
790
  flexChild?: null | FlexChildStylingProperties;
791
+ /** Padding, margin and offset properties. */
254
792
  spacing?: null | SpacingStylingProperties;
255
793
  }
794
+ /**
795
+ * Breakpoint-specific style elements for a catalog quantity option.
796
+ * Provides separate style arrays for the default state, the active (selected) state,
797
+ * and the passive (unselected) state.
798
+ */
256
799
  export interface CatalogQuantityOptionElements {
800
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
257
801
  own: BasicStateStylingBlock<CatalogQuantityStyles>[];
802
+ /**
803
+ * Style blocks applied when this option is the currently selected (active) quantity.
804
+ * Array represents breakpoint-specific styles.
805
+ */
258
806
  active?: null | BasicStateStylingBlock<CatalogQuantityStyles>[];
807
+ /**
808
+ * Style blocks applied when this option is not selected (passive/unselected).
809
+ * Array represents breakpoint-specific styles.
810
+ */
259
811
  passive?: null | BasicStateStylingBlock<CatalogQuantityStyles>[];
260
812
  }
813
+ /**
814
+ * A selectable quantity option within a catalog radio group or quantity picker.
815
+ * Represents a single discrete quantity value the user can choose (e.g., "1", "2", "5").
816
+ * Each option renders a template node (typically a label) and tracks its own
817
+ * active/passive visual state.
818
+ */
261
819
  export interface CatalogQuantityOptionModel<NodeTemplate, Predicates> {
820
+ /**
821
+ * Accessibility label read by screen readers to describe this quantity option
822
+ * (e.g., "Select quantity 2").
823
+ */
262
824
  a11yLabel?: null | string;
825
+ /**
826
+ * The numeric quantity value this option represents. When selected, this value
827
+ * is used as the chosen quantity for the catalog item.
828
+ */
263
829
  quantity: number;
830
+ /**
831
+ * Template node rendered as the visual content of this option, typically a text
832
+ * label displaying the quantity number.
833
+ */
264
834
  template: NodeTemplate;
835
+ /**
836
+ * Responsive and conditional styling for this option, including breakpoint-specific
837
+ * element styles and animated transitions for default, active, and passive states.
838
+ */
265
839
  styles?: null | LayoutStyle<CatalogQuantityOptionElements, ConditionalStyleTransition<CatalogQuantityOptionTransitions, Predicates>>;
266
840
  }
841
+ /**
842
+ * Transition properties for animating style changes on a catalog quantity option
843
+ * across its default, active, and passive states.
844
+ */
267
845
  export interface CatalogQuantityOptionTransitions {
846
+ /** Transition properties for the primary element. */
268
847
  own?: null | CatalogQuantityStyles;
848
+ /** Transition properties for the active (selected) state. */
269
849
  active?: null | CatalogQuantityStyles;
850
+ /** Transition properties for the passive (unselected) state. */
270
851
  passive?: null | CatalogQuantityStyles;
271
852
  }
853
+ /**
854
+ * Visual style properties for the radio group's outer container.
855
+ * Controls the overall layout and appearance of the group wrapper.
856
+ */
272
857
  export interface CatalogRadioGroupStyles {
858
+ /** Layout properties for the flex container. */
273
859
  container?: null | ContainerStylingProperties;
860
+ /** Background color and image properties. */
274
861
  background?: null | BackgroundStylingProperties;
862
+ /** Border radius, color, width and style. */
275
863
  border?: null | BorderStylingProperties;
864
+ /** Width, height and rotation properties. */
276
865
  dimension?: null | DimensionStylingProperties;
866
+ /** Properties controlling behaviour as a flex child. */
277
867
  flexChild?: null | FlexChildStylingProperties;
868
+ /** Padding, margin and offset properties. */
278
869
  spacing?: null | SpacingStylingProperties;
279
870
  }
871
+ /**
872
+ * Visual style properties for the container wrapping each individual
873
+ * radio option row (radio button + option content).
874
+ */
280
875
  export interface OptionContainerStyles {
876
+ /** Layout properties for the flex container. */
281
877
  container?: null | ContainerStylingProperties;
878
+ /** Background color and image properties. */
282
879
  background?: null | BackgroundStylingProperties;
880
+ /** Border radius, color, width and style. */
283
881
  border?: null | BorderStylingProperties;
882
+ /** Width, height and rotation properties. */
284
883
  dimension?: null | DimensionStylingProperties;
884
+ /** Properties controlling behaviour as a flex child. */
285
885
  flexChild?: null | FlexChildStylingProperties;
886
+ /** Padding, margin and offset properties. */
286
887
  spacing?: null | SpacingStylingProperties;
287
888
  }
889
+ /**
890
+ * Visual style properties for the outer ring of a radio button indicator.
891
+ * This is the circular border element surrounding the inner filled circle.
892
+ */
288
893
  export interface RadioOuterStyles {
894
+ /** Layout properties for the flex container. */
289
895
  container?: null | ContainerStylingProperties;
896
+ /** Background color and image properties. */
290
897
  background?: null | BackgroundStylingProperties;
898
+ /** Border radius, color, width and style. */
291
899
  border?: null | BorderStylingProperties;
900
+ /** Width, height and rotation properties. */
292
901
  dimension?: null | DimensionStylingProperties;
902
+ /** Properties controlling behaviour as a flex child. */
293
903
  flexChild?: null | FlexChildStylingProperties;
904
+ /** Padding, margin and offset properties. */
294
905
  spacing?: null | SpacingStylingProperties;
295
906
  }
907
+ /**
908
+ * Visual style properties for the inner filled circle of a radio button indicator.
909
+ * This dot appears inside the outer ring when the option is selected.
910
+ */
296
911
  export interface RadioInnerStyles {
912
+ /** Background color and image properties. */
297
913
  background?: null | BackgroundStylingProperties;
914
+ /** Border radius, color, width and style. */
298
915
  border?: null | BorderStylingProperties;
916
+ /** Properties controlling behaviour as a flex child. */
299
917
  flexChild?: null | FlexChildStylingProperties;
300
918
  }
919
+ /**
920
+ * Breakpoint-specific style elements for the radio group and all its sub-elements.
921
+ * Provides separate style arrays for the group container, option rows, and both
922
+ * checked and unchecked states of the radio button's outer ring and inner dot.
923
+ */
301
924
  export interface CatalogRadioGroupElements {
925
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
302
926
  own: BasicStateStylingBlock<CatalogRadioGroupStyles>[];
927
+ /** Style blocks for each option's row container. Array represents breakpoint-specific styles. */
303
928
  optionContainer?: null | BasicStateStylingBlock<OptionContainerStyles>[];
929
+ /**
930
+ * Style blocks for the radio button outer ring in the unchecked state.
931
+ * Array represents breakpoint-specific styles.
932
+ */
304
933
  radioButtonOuter?: null | BasicStateStylingBlock<RadioOuterStyles>[];
934
+ /**
935
+ * Style blocks for the radio button outer ring in the checked (selected) state.
936
+ * Array represents breakpoint-specific styles.
937
+ */
305
938
  radioButtonOuterChecked?: null | BasicStateStylingBlock<RadioOuterStyles>[];
939
+ /**
940
+ * Style blocks for the radio button inner dot in the unchecked state.
941
+ * Array represents breakpoint-specific styles.
942
+ */
306
943
  radioButtonInner?: null | BasicStateStylingBlock<RadioInnerStyles>[];
944
+ /**
945
+ * Style blocks for the radio button inner dot in the checked (selected) state.
946
+ * Array represents breakpoint-specific styles.
947
+ */
307
948
  radioButtonInnerChecked?: null | BasicStateStylingBlock<RadioInnerStyles>[];
308
949
  }
309
- export type InputValidation = {
950
+ /**
951
+ * Validation rules that can be applied to input fields. MUST be an object
952
+ * with a "type" field and a "value" field. Currently only "Required"
953
+ * validation is supported. Use to enforce that users provide input before
954
+ * submitting.
955
+ */
956
+ export type InputValidation =
957
+ /**
958
+ * Validates that the input field is not empty. The value contains the
959
+ * error message configuration to show when validation fails.
960
+ */
961
+ {
310
962
  type: "Required";
311
963
  value: InputRequiredValidation;
312
964
  };
965
+ /**
966
+ * A radio button group for selecting a quantity from a set of predefined options
967
+ * in a catalog/add-to-cart flow. Renders a list of mutually exclusive radio buttons,
968
+ * each associated with a CatalogQuantityOption. Only one option may be selected at a time.
969
+ * Supports input validation rules to enforce selection constraints.
970
+ */
313
971
  export interface CatalogRadioGroupModel<NodeOptionTemplate, Predicates> {
972
+ /**
973
+ * Accessibility label read by screen readers to describe the radio group's purpose
974
+ * (e.g., "Select quantity").
975
+ */
314
976
  a11yLabel?: null | string;
977
+ /**
978
+ * Responsive and conditional styling for this radio group, including breakpoint-specific
979
+ * element styles and animated transitions for the group, option containers, and
980
+ * radio button indicators in both checked and unchecked states.
981
+ */
315
982
  styles?: null | LayoutStyle<CatalogRadioGroupElements, ConditionalStyleTransition<CatalogRadioGroupTransitions, Predicates>>;
983
+ /**
984
+ * Validation rules applied to the radio group input. Can enforce constraints such as
985
+ * requiring a selection before the form can be submitted.
986
+ */
316
987
  validations: InputValidation[];
988
+ /**
989
+ * The list of selectable quantity options displayed as radio buttons.
990
+ * Each option contains a quantity value and a template node for its visual content.
991
+ */
317
992
  options: CatalogQuantityOptionModel<NodeOptionTemplate, Predicates>[];
318
993
  }
994
+ /**
995
+ * Transition properties for animating style changes on the radio group
996
+ * and all its sub-elements across checked and unchecked states.
997
+ */
319
998
  export interface CatalogRadioGroupTransitions {
999
+ /** Transition properties for the primary element. */
320
1000
  own?: null | CatalogRadioGroupStyles;
1001
+ /** Transition properties for the option row container. */
321
1002
  option_container?: null | OptionContainerStyles;
1003
+ /** Transition properties for the radio button outer ring (unchecked state). */
322
1004
  radio_button_outer?: null | RadioOuterStyles;
1005
+ /** Transition properties for the radio button outer ring (checked state). */
323
1006
  radio_button_outer_checked?: null | RadioOuterStyles;
1007
+ /** Transition properties for the radio button inner dot (unchecked state). */
324
1008
  radio_button_inner?: null | RadioInnerStyles;
1009
+ /** Transition properties for the radio button inner dot (checked state). */
325
1010
  radio_button_inner_checked?: null | RadioInnerStyles;
326
1011
  }
1012
+ /**
1013
+ * Visual style properties for a catalog response button.
1014
+ * Controls the button's layout, appearance, and sizing.
1015
+ */
327
1016
  export interface CatalogResponseButtonStyles {
1017
+ /** Layout properties for the flex container. */
328
1018
  container?: null | ContainerStylingProperties;
1019
+ /** Background color and image properties. */
329
1020
  background?: null | BackgroundStylingProperties;
1021
+ /** Border radius, color, width and style. */
330
1022
  border?: null | BorderStylingProperties;
1023
+ /** Width, height and rotation properties. */
331
1024
  dimension?: null | DimensionStylingProperties;
1025
+ /** Properties controlling behaviour as a flex child. */
332
1026
  flexChild?: null | FlexChildStylingProperties;
1027
+ /** Padding, margin and offset properties. */
333
1028
  spacing?: null | SpacingStylingProperties;
334
1029
  }
1030
+ /**
1031
+ * Breakpoint-specific style elements for a catalog response button.
1032
+ * Allows different visual treatments at different screen sizes and interaction states.
1033
+ */
335
1034
  export interface CatalogResponseButtonElements {
1035
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
336
1036
  own: BasicStateStylingBlock<CatalogResponseButtonStyles>[];
337
1037
  }
1038
+ /**
1039
+ * A response button for catalog/add-to-cart interactions. Similar to CreativeResponse but
1040
+ * designed for product catalog flows. When tapped, it sends a response keyed by `responseKey`
1041
+ * back to the server to advance the catalog interaction.
1042
+ */
338
1043
  export interface CatalogResponseButtonModel<Children, Predicates> {
1044
+ /** Accessibility label read by screen readers to describe the button's purpose. */
339
1045
  a11y_label?: null | string;
1046
+ /**
1047
+ * Responsive and conditional styling for this button, including breakpoint-specific
1048
+ * element styles and animated transitions.
1049
+ */
340
1050
  styles?: null | LayoutStyle<CatalogResponseButtonElements, ConditionalStyleTransition<CatalogResponseButtonTransitions, Predicates>>;
1051
+ /**
1052
+ * Child nodes rendered inside this button. Typically contains text labels or icons
1053
+ * describing the action (e.g., "Add to Cart", product name).
1054
+ */
341
1055
  children: Children[];
342
1056
  }
1057
+ /** Transition properties for animating style changes on a catalog response button. */
343
1058
  export interface CatalogResponseButtonTransitions {
1059
+ /** Transition properties for the primary element. */
344
1060
  own?: null | CatalogResponseButtonStyles;
345
1061
  }
1062
+ /**
1063
+ * Visual style properties for the stacked collection container.
1064
+ * Controls the layout and appearance of the outer wrapper that holds
1065
+ * the stacked catalog item cards.
1066
+ */
346
1067
  export interface CatalogStackedCollectionStyles {
1068
+ /** Layout properties for the flex container. */
347
1069
  container?: null | ContainerStylingProperties;
1070
+ /** Background color and image properties. */
348
1071
  background?: null | BackgroundStylingProperties;
1072
+ /** Border radius, color, width and style. */
349
1073
  border?: null | BorderStylingProperties;
1074
+ /** Width, height and rotation properties. */
350
1075
  dimension?: null | DimensionStylingProperties;
1076
+ /** Properties controlling behaviour as a flex child. */
351
1077
  flexChild?: null | FlexChildStylingProperties;
1078
+ /** Padding, margin and offset properties. */
352
1079
  spacing?: null | SpacingStylingProperties;
353
1080
  }
1081
+ /**
1082
+ * Breakpoint-specific style elements for a catalog stacked collection.
1083
+ * Uses stateless styling blocks since this is a static container without
1084
+ * interactive states.
1085
+ */
354
1086
  export interface CatalogStackedCollectionElements {
1087
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
355
1088
  own: StatelessStylingBlock<CatalogStackedCollectionStyles>[];
356
1089
  }
1090
+ /**
1091
+ * A vertically stacked collection of catalog items for add-to-cart flows.
1092
+ * Renders each catalog product as a card in a vertical stack layout, where items
1093
+ * are presented one below another. The visual content of each item is defined by
1094
+ * a reusable template node that is instantiated per product in the collection.
1095
+ */
357
1096
  export interface CatalogStackedCollectionModel<NodeTemplate, Predicates> {
1097
+ /**
1098
+ * Responsive and conditional styling for this collection container, including
1099
+ * breakpoint-specific element styles and animated transitions.
1100
+ */
358
1101
  styles?: null | LayoutStyle<CatalogStackedCollectionElements, ConditionalStyleTransition<CatalogStackedCollectionTransitions, Predicates>>;
1102
+ /**
1103
+ * Template node used to render each catalog item in the stacked collection.
1104
+ * This template is instantiated once per product, with product-specific data
1105
+ * bound at runtime.
1106
+ */
359
1107
  template: NodeTemplate;
360
1108
  }
1109
+ /** Transition properties for animating style changes on a catalog stacked collection. */
361
1110
  export interface CatalogStackedCollectionTransitions {
1111
+ /** Transition properties for the primary element. */
362
1112
  own?: null | CatalogStackedCollectionStyles;
363
1113
  }
1114
+ /**
1115
+ * The top-level schema structure for a child layout (layout variant). Similar to
1116
+ * RootSchemaModel but includes predicates for conditional display.
1117
+ */
364
1118
  export interface ChildRootSchemaModel<Layout, Display, Settings, Predicates> {
1119
+ /**
1120
+ * Map of breakpoint names to viewport width thresholds in platform units.
1121
+ * Defines responsive breakpoints for the layout.
1122
+ */
365
1123
  breakpoints: Record<string, number>;
1124
+ /** The root node of the layout tree. */
366
1125
  layout: Layout;
1126
+ /** Platform-specific layout settings. */
367
1127
  settings?: null | Settings;
1128
+ /** Controls how the layout is displayed (fullscreen, embedded, etc). */
368
1129
  display?: null | Display;
1130
+ /** Conditions that determine when this child layout is displayed. */
369
1131
  predicates: Predicates[];
370
1132
  }
1133
+ /**
1134
+ * Visual style properties for the CloseButton.
1135
+ * Contains the standard style categories: container layout, background colors,
1136
+ * border appearance, dimensions, flex child positioning, and spacing.
1137
+ */
371
1138
  export interface CloseButtonStyles {
1139
+ /** Container layout styles (e.g. flex direction, alignment). */
372
1140
  container?: null | ContainerStylingProperties;
1141
+ /** Background color and gradient styles. */
373
1142
  background?: null | BackgroundStylingProperties;
1143
+ /** Border width, color, and radius styles. */
374
1144
  border?: null | BorderStylingProperties;
1145
+ /** Width and height dimension styles. */
375
1146
  dimension?: null | DimensionStylingProperties;
1147
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
376
1148
  flexChild?: null | FlexChildStylingProperties;
1149
+ /** Padding and margin spacing styles. */
377
1150
  spacing?: null | SpacingStylingProperties;
378
1151
  }
1152
+ /**
1153
+ * Styling elements for the CloseButton.
1154
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed)
1155
+ * applied to the close button itself.
1156
+ */
379
1157
  export interface CloseButtonElements {
1158
+ /**
1159
+ * Array of state-dependent styling blocks for the close button.
1160
+ * Each block targets a specific interaction state (default, pressed, etc.).
1161
+ */
380
1162
  own: BasicStateStylingBlock<CloseButtonStyles>[];
381
1163
  }
1164
+ /**
1165
+ * A button that closes/dismisses the layout when clicked.
1166
+ * Typically contains a StaticIcon with the 'Close' icon.
1167
+ *
1168
+ * MUST include child content (usually a StaticIcon with name `"Close"`).
1169
+ * Do NOT use CreativeResponse for dismissal; use CloseButton instead so that
1170
+ * the dismiss action is correctly tracked.
1171
+ */
382
1172
  export interface CloseButtonModel<Children, Predicates> {
1173
+ /**
1174
+ * Accessibility label for the close button.
1175
+ * MUST be provided for screen reader support (e.g. "Close" or "Dismiss").
1176
+ */
383
1177
  a11yLabel?: null | string;
1178
+ /** Visual styles for the close button. Uses the LayoutStyle wrapper with conditional style transitions. */
384
1179
  styles?: null | LayoutStyle<CloseButtonElements, ConditionalStyleTransition<CloseButtonTransitions, Predicates>>;
1180
+ /**
1181
+ * Child nodes forming the button content. Typically a StaticIcon with name `"Close"`.
1182
+ * MUST contain at least one child to display the close icon or label.
1183
+ */
385
1184
  children: Children[];
1185
+ /**
1186
+ * Optional dismissal method configuration.
1187
+ * Controls how the dismissal is reported for analytics purposes.
1188
+ */
386
1189
  dismissalMethod?: null | string;
387
1190
  }
1191
+ /**
1192
+ * Transition styles for animating CloseButton style changes.
1193
+ * Defines which style properties should animate when the button's conditional styles change.
1194
+ */
388
1195
  export interface CloseButtonTransitions {
1196
+ /** Transition properties for the close button's own styles. */
389
1197
  own?: null | CloseButtonStyles;
390
1198
  }
1199
+ /**
1200
+ * Available style categories for the Column element. Each optional field enables a specific
1201
+ * category of visual styling. Omit a field to leave that category unstyled.
1202
+ */
391
1203
  export interface ColumnStyle {
1204
+ /**
1205
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1206
+ * MUST be used to control how children are arranged within the column.
1207
+ */
392
1208
  container?: null | ContainerStylingProperties;
1209
+ /**
1210
+ * Background color and image properties. Use to set a solid color, gradient, or image
1211
+ * behind the column content.
1212
+ */
393
1213
  background?: null | BackgroundStylingProperties;
1214
+ /**
1215
+ * Border radius, color, width and style properties. Use to add visible borders or
1216
+ * rounded corners to the column.
1217
+ */
394
1218
  border?: null | BorderStylingProperties;
1219
+ /**
1220
+ * Width, height and rotation properties. Use to explicitly size the column or apply
1221
+ * rotation transforms. Do NOT set width/height if the column should size to its content.
1222
+ */
395
1223
  dimension?: null | DimensionStylingProperties;
1224
+ /**
1225
+ * Properties controlling this element's behaviour as a child of a flex container.
1226
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1227
+ */
396
1228
  flexChild?: null | FlexChildStylingProperties;
1229
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the column. */
397
1230
  spacing?: null | SpacingStylingProperties;
398
1231
  }
1232
+ /**
1233
+ * Styleable elements of the Column node. The Column has a single styleable element: its own
1234
+ * container.
1235
+ */
399
1236
  export interface ColumnElements {
1237
+ /**
1238
+ * Style blocks for the column container itself. The array represents breakpoint-specific
1239
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1240
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1241
+ */
400
1242
  own: BasicStateStylingBlock<ColumnStyle>[];
401
1243
  }
1244
+ /**
1245
+ * A vertical flex container that arranges its children in a column (top to bottom). Use for
1246
+ * vertical layouts. Children are laid out along the vertical axis by default. To control
1247
+ * alignment and distribution, configure the container styles. Do NOT nest Columns
1248
+ * unnecessarily when a single Column with appropriate styling would suffice.
1249
+ */
402
1250
  export interface ColumnModel<Children, Predicates> {
1251
+ /**
1252
+ * Accessibility label for screen readers. Omit if the column is purely decorative or its
1253
+ * children already provide sufficient accessible labels. MUST be set when the column
1254
+ * conveys meaning not available from its children alone.
1255
+ */
403
1256
  a11yLabel?: null | string;
1257
+ /**
1258
+ * Visual styles for this column. See styling documentation for the structure. Omit to use
1259
+ * default (unstyled) rendering.
1260
+ */
404
1261
  styles?: null | LayoutStyle<ColumnElements, ConditionalStyleTransition<ColumnTransitions, Predicates>>;
1262
+ /**
1263
+ * Child nodes rendered vertically within this column.
1264
+ * Children are laid out top to bottom in source order.
1265
+ */
405
1266
  children: Children[];
406
1267
  }
1268
+ /** Transition styles for the Column node. Use to animate style changes smoothly. */
407
1269
  export interface ColumnTransitions {
1270
+ /**
1271
+ * Transition properties for the column container. Specifies which style properties
1272
+ * should animate and their duration/easing when values change.
1273
+ */
408
1274
  own?: null | ColumnStyle;
409
1275
  }
1276
+ /**
1277
+ * Visual style properties for the CopyToClipboardButton.
1278
+ * Contains the standard style categories: container layout, background colors,
1279
+ * border appearance, dimensions, flex child positioning, and spacing.
1280
+ */
410
1281
  export interface CopyToClipboardButtonStyles {
1282
+ /** Container layout styles (e.g. flex direction, alignment). */
411
1283
  container?: null | ContainerStylingProperties;
1284
+ /** Background color and gradient styles. */
412
1285
  background?: null | BackgroundStylingProperties;
1286
+ /** Border width, color, and radius styles. */
413
1287
  border?: null | BorderStylingProperties;
1288
+ /** Width and height dimension styles. */
414
1289
  dimension?: null | DimensionStylingProperties;
1290
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
415
1291
  flexChild?: null | FlexChildStylingProperties;
1292
+ /** Padding and margin spacing styles. */
416
1293
  spacing?: null | SpacingStylingProperties;
417
1294
  }
1295
+ /**
1296
+ * Styling elements for the CopyToClipboardButton.
1297
+ * The `own` array contains state-dependent styling blocks applied to the button itself.
1298
+ */
418
1299
  export interface CopyToClipboardButtonElements {
1300
+ /** Array of state-dependent styling blocks for the copy button. */
419
1301
  own: BasicStateStylingBlock<CopyToClipboardButtonStyles>[];
420
1302
  }
1303
+ /**
1304
+ * A button that copies the specified value to the clipboard when clicked,
1305
+ * and also sets a custom state key to signal the copy has occurred.
1306
+ * Use with When nodes to show a "Copied!" confirmation based on the state.
1307
+ *
1308
+ * MUST provide both `value` (the text to copy) and `customStateKey`.
1309
+ * The state key can be used in When predicates to conditionally show confirmation UI.
1310
+ */
421
1311
  export interface CopyToClipboardButtonModel<Children, Predicates> {
1312
+ /** Accessibility label for the copy button. */
422
1313
  a11yLabel?: null | string;
1314
+ /**
1315
+ * The text value to copy to the clipboard when the button is pressed.
1316
+ * MUST be a non-empty string.
1317
+ */
423
1318
  value: string;
1319
+ /**
1320
+ * The custom state key to update when the copy action occurs.
1321
+ * Use with When predicates to show confirmation UI after copy.
1322
+ */
424
1323
  customStateKey: string;
1324
+ /** Visual styles for the copy button. */
425
1325
  styles?: null | LayoutStyle<CopyToClipboardButtonElements, ConditionalStyleTransition<CopyToClipboardButtonTransitions, Predicates>>;
1326
+ /** Child nodes forming the button content (e.g. a copy icon or label). */
426
1327
  children: Children[];
427
1328
  }
1329
+ /** Transition styles for animating CopyToClipboardButton style changes. */
428
1330
  export interface CopyToClipboardButtonTransitions {
1331
+ /** Transition properties for the copy button's own styles. */
429
1332
  own?: null | CopyToClipboardButtonStyles;
430
1333
  }
431
- export type ExistenceWhenCondition = "exists" | "not-exists";
1334
+ /**
1335
+ * Condition operators for checking whether a value exists. Use these to
1336
+ * conditionally render content based on whether data is present.
1337
+ * Serialized as kebab-case strings: "exists", "not-exists".
1338
+ */
1339
+ export type ExistenceWhenCondition =
1340
+ /** True when the value is present and non-empty. */
1341
+ "exists"
1342
+ /** True when the value is absent or empty. */
1343
+ | "not-exists";
1344
+ /**
1345
+ * Tests whether a creative data attribute exists. Use to conditionally show
1346
+ * content only when specific creative data is available. Do NOT use this for
1347
+ * non-creative data checks.
1348
+ */
432
1349
  export interface CreativeCopyPredicate {
1350
+ /** Whether to check for existence or non-existence of the creative attribute. */
433
1351
  condition: ExistenceWhenCondition;
1352
+ /**
1353
+ * The dot-notation path to the creative attribute, e.g.
1354
+ * "creative.socialProof.number". MUST use dot notation to reference
1355
+ * nested creative data fields.
1356
+ */
434
1357
  value: string;
435
1358
  }
1359
+ /**
1360
+ * Visual style properties for the CreativeResponse button.
1361
+ * Contains the standard style categories: container layout, background colors,
1362
+ * border appearance, dimensions, flex child positioning, and spacing.
1363
+ */
436
1364
  export interface CreativeResponseStyles {
1365
+ /** Container layout styles (e.g. flex direction, alignment). */
437
1366
  container?: null | ContainerStylingProperties;
1367
+ /** Background color and gradient styles. */
438
1368
  background?: null | BackgroundStylingProperties;
1369
+ /** Border width, color, and radius styles. */
439
1370
  border?: null | BorderStylingProperties;
1371
+ /** Width and height dimension styles. */
440
1372
  dimension?: null | DimensionStylingProperties;
1373
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
441
1374
  flexChild?: null | FlexChildStylingProperties;
1375
+ /** Padding and margin spacing styles. */
442
1376
  spacing?: null | SpacingStylingProperties;
443
1377
  }
1378
+ /**
1379
+ * Styling elements for the CreativeResponse button.
1380
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed, disabled)
1381
+ * applied to the button itself.
1382
+ */
444
1383
  export interface CreativeResponseElements {
1384
+ /**
1385
+ * Array of state-dependent styling blocks for the button.
1386
+ * Each block targets a specific interaction state (default, pressed, disabled, etc.).
1387
+ */
445
1388
  own: BasicStateStylingBlock<CreativeResponseStyles>[];
446
1389
  }
447
- export type LinkOpenTarget = "internally" | "externally";
1390
+ /**
1391
+ * Controls how links are opened when clicked. MUST be one of the valid
1392
+ * kebab-case string values. Determines the navigation behavior when a
1393
+ * user activates a link action.
1394
+ */
1395
+ export type LinkOpenTarget =
1396
+ /**
1397
+ * Opens the link within the current context (in-app webview or same
1398
+ * window). Use for links that should keep the user in the application.
1399
+ */
1400
+ "internally"
1401
+ /**
1402
+ * Opens the link in the system browser. Use for external URLs that
1403
+ * should leave the application context.
1404
+ */
1405
+ | "externally";
1406
+ /**
1407
+ * A button that triggers a creative response (positive or negative).
1408
+ * This is the primary call-to-action node for offer interactions.
1409
+ * Children inside this node become the button content.
1410
+ *
1411
+ * MUST have a `responseKey` of either `"positive"` or `"negative"`.
1412
+ * Use `"positive"` for accept/CTA buttons and `"negative"` for decline/dismiss buttons.
1413
+ * Do NOT use this node for non-response actions like navigation; use StaticLink or ButtonStateTrigger instead.
1414
+ */
448
1415
  export interface CreativeResponseModel<Children, Predicates> {
1416
+ /**
1417
+ * Accessibility label for the button.
1418
+ * MUST be provided for screen reader support. Describes the button's action to assistive technologies.
1419
+ */
449
1420
  a11yLabel?: null | string;
1421
+ /**
1422
+ * The response type. Use `"positive"` for accept/CTA buttons, `"negative"` for decline/dismiss buttons.
1423
+ * Do NOT use arbitrary strings; only `"positive"` and `"negative"` are valid.
1424
+ */
450
1425
  responseKey: string;
1426
+ /** Visual styles for the button. Uses the LayoutStyle wrapper with conditional style transitions. */
451
1427
  styles?: null | LayoutStyle<CreativeResponseElements, ConditionalStyleTransition<CreativeResponseTransitions, Predicates>>;
1428
+ /**
1429
+ * Controls how the response URL is opened when clicked.
1430
+ * If omitted, the default link opening behaviour is used.
1431
+ */
452
1432
  openLinks?: null | LinkOpenTarget;
1433
+ /**
1434
+ * Child nodes that form the button's visible content.
1435
+ * Typically contains a BasicText node with the CTA label.
1436
+ * MUST contain at least one child to display button content.
1437
+ */
453
1438
  children: Children[];
454
1439
  }
1440
+ /**
1441
+ * Transition styles for animating CreativeResponse style changes.
1442
+ * Defines which style properties should animate when the button's conditional styles change.
1443
+ */
455
1444
  export interface CreativeResponseTransitions {
1445
+ /** Transition properties for the button's own styles. */
456
1446
  own?: null | CreativeResponseStyles;
457
1447
  }
1448
+ /**
1449
+ * Tests a custom state value. Custom states are set by state trigger nodes
1450
+ * such as ButtonStateTrigger, ToggleButtonStateTrigger, and similar components.
1451
+ * The value is an integer that represents the current state.
1452
+ */
458
1453
  export interface CustomStatePredicate {
1454
+ /**
1455
+ * The custom state key to check. MUST match the key used in the
1456
+ * corresponding state trigger node.
1457
+ */
459
1458
  key: string;
1459
+ /** The comparison operator. */
460
1460
  condition: OrderableWhenCondition;
1461
+ /** The integer value to compare the custom state against. */
461
1462
  value: number;
462
1463
  }
463
- export type EqualityWhenCondition = "is" | "is-not";
1464
+ /**
1465
+ * Condition operators for equality comparisons. Use these when you only need
1466
+ * to test if two values are equal or not equal.
1467
+ * Serialized as kebab-case strings: "is", "is-not".
1468
+ */
1469
+ export type EqualityWhenCondition =
1470
+ /** True when the value equals the specified value. */
1471
+ "is"
1472
+ /** True when the value does not equal the specified value. */
1473
+ | "is-not";
1474
+ /**
1475
+ * Tests whether dark mode is active. Use to provide different styling or
1476
+ * content for light and dark modes.
1477
+ */
464
1478
  export interface DarkModePredicate {
1479
+ /** Use "is" to check if dark mode matches the value, "is-not" for the inverse. */
465
1480
  condition: EqualityWhenCondition;
1481
+ /**
1482
+ * The boolean value to compare against. Set to true to test for dark mode,
1483
+ * false to test for light mode.
1484
+ */
466
1485
  value: boolean;
467
1486
  }
1487
+ /** Visual styles for the DataIcon node. */
468
1488
  export interface DataIconStyles {
1489
+ /** Typography properties. */
469
1490
  text?: null | TextStylingProperties;
1491
+ /** Width, height and rotation properties. */
470
1492
  dimension?: null | DimensionStylingProperties;
1493
+ /** Properties controlling behaviour as a flex child. */
471
1494
  flexChild?: null | FlexChildStylingProperties;
1495
+ /** Padding, margin and offset properties. */
472
1496
  spacing?: null | SpacingStylingProperties;
1497
+ /** Background color and image properties. */
473
1498
  background?: null | BackgroundStylingProperties;
1499
+ /** Border radius, color, width and style. */
474
1500
  border?: null | BorderStylingProperties;
475
1501
  }
1502
+ /** Style elements for the DataIcon node. */
476
1503
  export interface DataIconElements {
1504
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
477
1505
  own: BasicStateStylingBlock<DataIconStyles>[];
478
1506
  }
1507
+ /** Renders an icon from creative data. The icon is resolved from the creative object using the iconKey. */
479
1508
  export interface DataIconModel<Predicates> {
1509
+ /** Visual styles for the icon. */
480
1510
  styles?: null | LayoutStyle<DataIconElements, ConditionalStyleTransition<DataIconTransitions, Predicates>>;
1511
+ /** The key identifying which icon from the creative data to display. */
481
1512
  iconKey: string;
482
1513
  }
1514
+ /** Transition definitions for the DataIcon node. */
483
1515
  export interface DataIconTransitions {
1516
+ /** Transition properties for the primary element. */
484
1517
  own?: null | DataIconStyles;
485
1518
  }
1519
+ /** Visual styles for the DataImage node. */
486
1520
  export interface DataImageStyles {
1521
+ /** Background color and image properties. */
487
1522
  background?: null | BackgroundStylingProperties;
1523
+ /** Border radius, color, width and style. */
488
1524
  border?: null | BorderStylingProperties;
1525
+ /** Width, height and rotation properties. */
489
1526
  dimension?: null | DimensionStylingProperties;
1527
+ /** Properties controlling behaviour as a flex child. */
490
1528
  flexChild?: null | FlexChildStylingProperties;
1529
+ /** Padding, margin and offset properties. */
491
1530
  spacing?: null | SpacingStylingProperties;
492
1531
  }
1532
+ /** Style elements for the DataImage node. */
493
1533
  export interface DataImageElements {
1534
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
494
1535
  own: BasicStateStylingBlock<DataImageStyles>[];
495
1536
  }
1537
+ /** Renders an image from creative data. The image URL is resolved from the creative object using the imageKey. Use for offer-specific images. */
496
1538
  export interface DataImageModel<Predicates> {
1539
+ /** Visual styles for the image element. */
497
1540
  styles?: null | LayoutStyle<DataImageElements, ConditionalStyleTransition<DataImageTransitions, Predicates>>;
1541
+ /** The key identifying which image from the creative data to display. */
498
1542
  imageKey: string;
499
1543
  }
1544
+ /** Transition definitions for the DataImage node. */
500
1545
  export interface DataImageTransitions {
1546
+ /** Transition properties for the primary element. */
501
1547
  own?: null | DataImageStyles;
502
1548
  }
503
- export type DomainStateKey = "offerComplete" | "checkout";
1549
+ /**
1550
+ * Keys for accessing application domain state in the full layout schema
1551
+ * context. Domain state represents high-level application state managed by
1552
+ * the host application. Serialized as camelCase strings.
1553
+ */
1554
+ export type DomainStateKey =
1555
+ /**
1556
+ * Indicates whether the current offer has been completed by the user.
1557
+ * Use to show post-completion content or hide offer-specific elements.
1558
+ */
1559
+ "offerComplete"
1560
+ /**
1561
+ * Indicates the current checkout state. Use to adapt the layout based
1562
+ * on where the user is in the checkout flow.
1563
+ */
1564
+ | "checkout";
1565
+ /**
1566
+ * Tests application domain state. Domain state is managed by the host
1567
+ * application and represents high-level application state such as whether
1568
+ * an offer is complete or checkout state.
1569
+ */
504
1570
  export interface DomainStatePredicate<DomainStateKey> {
1571
+ /** The domain state key to check. */
505
1572
  key: DomainStateKey;
1573
+ /** The comparison operator. */
506
1574
  condition: OrderableWhenCondition;
1575
+ /** The integer value to compare the domain state against. */
507
1576
  value: number;
508
1577
  }
1578
+ /**
1579
+ * Tests a dynamic integer value resolved at runtime. The input is a path
1580
+ * that resolves to an integer value which is then compared against the
1581
+ * specified value.
1582
+ */
509
1583
  export interface DynamicIntegerPredicate {
1584
+ /** The comparison operator. */
510
1585
  condition: OrderableWhenCondition;
1586
+ /** The dynamic integer path to evaluate at runtime. */
511
1587
  input: string;
1588
+ /** The integer value to compare against. */
512
1589
  value: number;
513
1590
  }
514
- export type StringWhenCondition = "is" | "is-not" | "exists" | "not-exists";
1591
+ /**
1592
+ * Condition operators for string comparisons. Supports both equality checks
1593
+ * and existence checks on string values.
1594
+ * Serialized as kebab-case strings: "is", "is-not", "exists", "not-exists".
1595
+ */
1596
+ export type StringWhenCondition =
1597
+ /** True when the string equals the specified value. */
1598
+ "is"
1599
+ /** True when the string does not equal the specified value. */
1600
+ | "is-not"
1601
+ /** True when the string is present and non-empty. */
1602
+ | "exists"
1603
+ /** True when the string is absent or empty. */
1604
+ | "not-exists";
1605
+ /**
1606
+ * Tests a dynamic string value resolved at runtime. The input is a path
1607
+ * that resolves to a string value which is then compared against the
1608
+ * specified value.
1609
+ */
515
1610
  export interface DynamicStringPredicate {
1611
+ /**
1612
+ * The comparison operator. Supports equality ("is", "is-not") and
1613
+ * existence ("exists", "not-exists") checks.
1614
+ */
516
1615
  condition: StringWhenCondition;
1616
+ /** The dynamic string path to evaluate at runtime. */
517
1617
  input: string;
1618
+ /** The string to compare against. */
518
1619
  value: string;
519
1620
  }
1621
+ /**
1622
+ * An escape hatch node that allows passing raw data through the DCUI schema.
1623
+ * Use sparingly for edge cases not covered by standard nodes.
1624
+ *
1625
+ * Do NOT use this as a general-purpose data container. Prefer standard DCUI nodes
1626
+ * whenever possible. This node bypasses schema validation for its data content.
1627
+ */
520
1628
  export interface EscapeHatchModel {
1629
+ /**
1630
+ * Raw string data to pass through.
1631
+ * The content is opaque to the DCUI renderer and is passed directly to the client.
1632
+ * MUST be a valid string. The client is responsible for parsing and interpreting the data.
1633
+ */
521
1634
  data: string;
522
1635
  }
1636
+ /** Settings for a bidirectional fade-in/fade-out transition. */
523
1637
  export interface FadeInOutTransitionSettings {
1638
+ /**
1639
+ * The transition duration in milliseconds. MUST be a positive integer.
1640
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1641
+ */
524
1642
  duration: number;
525
1643
  }
1644
+ /** Settings for a fade-in (enter) transition. */
526
1645
  export interface FadeInTransitionSettings {
1646
+ /**
1647
+ * The transition duration in milliseconds. MUST be a positive integer.
1648
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1649
+ */
527
1650
  duration: number;
528
1651
  }
1652
+ /** Settings for a fade-out (exit) transition. */
529
1653
  export interface FadeOutTransitionSettings {
1654
+ /**
1655
+ * The transition duration in milliseconds. MUST be a positive integer.
1656
+ * Common values: 200 for fast, 400 for medium, 1000 for slow.
1657
+ */
530
1658
  duration: number;
531
1659
  }
1660
+ /**
1661
+ * Available style categories for the FlowRow element. Each optional field enables a specific
1662
+ * category of visual styling. Omit a field to leave that category unstyled.
1663
+ */
532
1664
  export interface FlowRowStyle {
1665
+ /**
1666
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1667
+ * MUST be used to control how children are arranged and wrapped within the flow row.
1668
+ */
533
1669
  container?: null | ContainerStylingProperties;
1670
+ /**
1671
+ * Background color and image properties. Use to set a solid color, gradient, or image
1672
+ * behind the flow row content.
1673
+ */
534
1674
  background?: null | BackgroundStylingProperties;
1675
+ /**
1676
+ * Border radius, color, width and style properties. Use to add visible borders or
1677
+ * rounded corners to the flow row.
1678
+ */
535
1679
  border?: null | BorderStylingProperties;
1680
+ /**
1681
+ * Width, height and rotation properties. Use to explicitly size the flow row or apply
1682
+ * rotation transforms. Do NOT set width/height if the flow row should size to its content.
1683
+ */
536
1684
  dimension?: null | DimensionStylingProperties;
1685
+ /**
1686
+ * Properties controlling this element's behaviour as a child of a flex container.
1687
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1688
+ */
537
1689
  flexChild?: null | FlexChildStylingProperties;
1690
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the flow row. */
538
1691
  spacing?: null | SpacingStylingProperties;
539
1692
  }
1693
+ /**
1694
+ * Styleable elements of the FlowRow node. The FlowRow has a single styleable element: its
1695
+ * own container.
1696
+ */
540
1697
  export interface FlowRowElements {
1698
+ /**
1699
+ * Style blocks for the flow row container itself. The array represents breakpoint-specific
1700
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1701
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1702
+ */
541
1703
  own: BasicStateStylingBlock<FlowRowStyle>[];
542
1704
  }
1705
+ /**
1706
+ * A horizontal flex container that wraps children to the next line when they exceed the
1707
+ * container width. Like Row but with line wrapping. Use when you have a dynamic number of
1708
+ * items that should flow naturally across lines (e.g., tags, chips, badges). Do NOT use
1709
+ * FlowRow when you need a single non-wrapping horizontal row; use Row instead.
1710
+ */
543
1711
  export interface FlowRowModel<Children, Predicates> {
1712
+ /**
1713
+ * Accessibility label for screen readers. Omit if the flow row is purely decorative or
1714
+ * its children already provide sufficient accessible labels. MUST be set when the flow
1715
+ * row conveys meaning not available from its children alone.
1716
+ */
544
1717
  a11yLabel?: null | string;
1718
+ /**
1719
+ * Visual styles for this flow row. See styling documentation for the structure. Omit to
1720
+ * use default (unstyled) rendering.
1721
+ */
545
1722
  styles?: null | LayoutStyle<FlowRowElements, ConditionalStyleTransition<FlowRowTransitions, Predicates>>;
1723
+ /**
1724
+ * Child nodes rendered horizontally with wrapping within this flow row. MUST contain at
1725
+ * least one child. Children wrap to the next line when they exceed the container width.
1726
+ */
546
1727
  children: Children[];
547
1728
  }
1729
+ /** Transition styles for the FlowRow node. Use to animate style changes smoothly. */
548
1730
  export interface FlowRowTransitions {
1731
+ /**
1732
+ * Transition properties for the flow row container. Specifies which style properties
1733
+ * should animate and their duration/easing when values change.
1734
+ */
549
1735
  own?: null | FlowRowStyle;
550
1736
  }
1737
+ /**
1738
+ * Visual style properties for the GroupedDistribution container.
1739
+ * Contains the standard style categories: container layout, background colors,
1740
+ * border appearance, dimensions, flex child positioning, and spacing.
1741
+ */
551
1742
  export interface GroupedDistributionStyles {
1743
+ /** Container layout styles (e.g. flex direction, alignment). */
552
1744
  container?: null | ContainerStylingProperties;
1745
+ /** Background color and gradient styles. */
553
1746
  background?: null | BackgroundStylingProperties;
1747
+ /** Border width, color, and radius styles. */
554
1748
  border?: null | BorderStylingProperties;
1749
+ /** Width and height dimension styles. */
555
1750
  dimension?: null | DimensionStylingProperties;
1751
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
556
1752
  flexChild?: null | FlexChildStylingProperties;
1753
+ /** Padding and margin spacing styles. */
557
1754
  spacing?: null | SpacingStylingProperties;
558
1755
  }
1756
+ /**
1757
+ * Styling elements for the GroupedDistribution container.
1758
+ * The `own` array contains stateless styling blocks applied to the grouped container itself.
1759
+ */
559
1760
  export interface GroupedDistributionElements {
1761
+ /** Array of stateless styling blocks for the grouped container. */
560
1762
  own: StatelessStylingBlock<GroupedDistributionStyles>[];
561
1763
  }
562
- export type Transition = {
1764
+ /**
1765
+ * A bidirectional transition that applies both when showing and hiding an
1766
+ * element. MUST be an object with a "type" field and a "settings" field.
1767
+ * Currently only "FadeInOut" is supported.
1768
+ */
1769
+ export type Transition =
1770
+ /**
1771
+ * A fade-in/fade-out transition. The element fades in when shown and
1772
+ * fades out when hidden, using the specified duration.
1773
+ */
1774
+ {
563
1775
  type: "FadeInOut";
564
1776
  settings: FadeInOutTransitionSettings;
565
1777
  };
1778
+ /**
1779
+ * Presents offers in groups, progressing through groups sequentially.
1780
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
1781
+ * Each group shows a fixed number of offers at once, and the user advances through groups.
1782
+ *
1783
+ * Pair with ProgressControl nodes for group navigation.
1784
+ * Use `viewableItems` to control how many offers appear per group at each breakpoint.
1785
+ */
566
1786
  export interface GroupedDistributionModel<Predicates> {
1787
+ /**
1788
+ * Configuration for how many items per group.
1789
+ * Provided as an array of values for different breakpoints.
1790
+ */
567
1791
  viewableItems: number[];
1792
+ /**
1793
+ * The transition animation between groups.
1794
+ * Defines how the current group exits and the next group enters.
1795
+ */
568
1796
  transition: Transition;
1797
+ /**
1798
+ * Visual styles for the grouped container.
1799
+ * Uses the LayoutStyle wrapper with conditional style transitions.
1800
+ */
569
1801
  styles?: null | LayoutStyle<GroupedDistributionElements, ConditionalStyleTransition<GroupedDistributionTransitions, Predicates>>;
570
1802
  }
1803
+ /** Transition styles for animating GroupedDistribution style changes. */
571
1804
  export interface GroupedDistributionTransitions {
1805
+ /** Transition properties for the grouped container's own styles. */
572
1806
  own?: null | GroupedDistributionStyles;
573
1807
  }
1808
+ /**
1809
+ * Typography styling for inline text elements. A subset of TextStylingProperties
1810
+ * without line-level controls (lineHeight, horizontalTextAlign, lineLimit).
1811
+ * All fields are optional. Only include the properties you want to override.
1812
+ */
574
1813
  export interface InlineTextStylingProperties {
1814
+ /** The text color. Uses themed values for light/dark mode support. */
575
1815
  textColor?: null | ThemeColor;
1816
+ /** Font size in platform units (px on Web, pt on iOS, dp on Android). */
576
1817
  fontSize?: null | number;
1818
+ /** The font family name. Use 'rokt-icons' for icon fonts. */
577
1819
  fontFamily?: null | string;
1820
+ /** The weight (boldness) of the font. */
578
1821
  fontWeight?: null | FontWeight;
1822
+ /** Vertical alignment of text relative to the baseline. */
579
1823
  baselineTextAlign?: null | FontBaselineAlignment;
1824
+ /** Normal or italic text rendering. */
580
1825
  fontStyle?: null | FontStyle;
1826
+ /** Controls automatic text capitalisation. */
581
1827
  textTransform?: null | TextTransform;
1828
+ /** Additional spacing between characters in platform units. */
582
1829
  letterSpacing?: null | number;
1830
+ /** Decorative line applied to text (underline, strikethrough). */
583
1831
  textDecoration?: null | TextDecoration;
584
1832
  }
1833
+ /** Inline text styling for elements like links within rich text. */
585
1834
  export interface InLineTextStyle {
1835
+ /** Typography properties for the inline text element. */
586
1836
  text: InlineTextStylingProperties;
587
1837
  }
1838
+ /**
1839
+ * Visual style properties for individual indicator items (dots, bars, etc.).
1840
+ * Includes text styling for number-based indicators.
1841
+ */
588
1842
  export interface IndicatorStyles {
1843
+ /** Container layout styles (e.g. flex direction, alignment). */
589
1844
  container?: null | ContainerStylingProperties;
1845
+ /** Background color and gradient styles. */
590
1846
  background?: null | BackgroundStylingProperties;
1847
+ /** Border width, color, and radius styles. */
591
1848
  border?: null | BorderStylingProperties;
1849
+ /** Width and height dimension styles. */
592
1850
  dimension?: null | DimensionStylingProperties;
1851
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
593
1852
  flexChild?: null | FlexChildStylingProperties;
1853
+ /** Padding and margin spacing styles. */
594
1854
  spacing?: null | SpacingStylingProperties;
1855
+ /** Text styling for number-based indicators. */
595
1856
  text?: null | TextStylingProperties;
596
1857
  }
1858
+ /**
1859
+ * Spacing properties for inline elements. Does not support offset.
1860
+ * 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.
1861
+ * All fields are optional. Only include the properties you want to override.
1862
+ */
597
1863
  export interface InlineSpacingStylingProperties {
1864
+ /**
1865
+ * Internal spacing between the element border and its content. Specified as a
1866
+ * space-separated string of numeric values following CSS shorthand: '10' for all sides,
1867
+ * '10 20' for vertical/horizontal, '10 20 10 20' for top/right/bottom/left.
1868
+ */
598
1869
  padding?: null | string;
1870
+ /** External spacing around the outside of the element border. Same format as padding. */
599
1871
  margin?: null | string;
600
1872
  }
1873
+ /** Visual styles for an inline BasicText node. */
601
1874
  export interface InlineBasicTextStyle {
1875
+ /** Padding, margin and offset properties. */
602
1876
  spacing?: null | InlineSpacingStylingProperties;
1877
+ /** Background color and image properties. */
603
1878
  background?: null | BackgroundStylingProperties;
1879
+ /** Typography properties. */
604
1880
  text?: null | InlineTextStylingProperties;
605
1881
  }
1882
+ /** Style elements for the inline BasicText node. */
606
1883
  export interface InlineBasicTextElements {
1884
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
607
1885
  own: BasicStateStylingBlock<InlineBasicTextStyle>[];
608
1886
  }
1887
+ /** Renders a paragraph of plain text in an inline context. Use for simple text content. For text with HTML formatting use RichText instead. */
609
1888
  export interface InlineBasicTextModel<Predicates> {
1889
+ /** Visual styles for the text element. */
610
1890
  styles?: null | LayoutStyle<InlineBasicTextElements, ConditionalStyleTransition<InlineBasicTextTransitions, Predicates>>;
1891
+ /** The text content to display. Supports data binding placeholders in the format %^DATA.key^% for dynamic creative content. */
611
1892
  value: string;
612
1893
  }
1894
+ /** Transition definitions for the inline BasicText node. */
613
1895
  export interface InlineBasicTextTransitions {
1896
+ /** Transition properties for the primary element. */
614
1897
  own?: null | InlineBasicTextStyle;
615
1898
  }
1899
+ /**
1900
+ * Available style categories for the InlineContainer element. Each optional field enables a
1901
+ * specific category of visual styling. Omit a field to leave that category unstyled.
1902
+ */
616
1903
  export interface InlineContainerStyles {
1904
+ /**
1905
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
1906
+ * MUST be used to control how inline children are arranged within the container.
1907
+ */
617
1908
  container?: null | ContainerStylingProperties;
1909
+ /**
1910
+ * Background color and image properties. Use to set a solid color, gradient, or image
1911
+ * behind the inline container content.
1912
+ */
618
1913
  background?: null | BackgroundStylingProperties;
1914
+ /**
1915
+ * Border radius, color, width and style properties. Use to add visible borders or
1916
+ * rounded corners to the inline container.
1917
+ */
619
1918
  border?: null | BorderStylingProperties;
1919
+ /**
1920
+ * Width, height and rotation properties. Use to explicitly size the inline container or
1921
+ * apply rotation transforms. Do NOT set width/height if the container should size to its
1922
+ * content.
1923
+ */
620
1924
  dimension?: null | DimensionStylingProperties;
1925
+ /**
1926
+ * Properties controlling this element's behaviour as a child of a flex container.
1927
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
1928
+ */
621
1929
  flexChild?: null | FlexChildStylingProperties;
1930
+ /**
1931
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
1932
+ * inline container.
1933
+ */
622
1934
  spacing?: null | SpacingStylingProperties;
623
1935
  }
1936
+ /**
1937
+ * Styleable elements of the InlineContainer node. The InlineContainer has a single styleable
1938
+ * element: its own container.
1939
+ */
624
1940
  export interface InlineContainerElements {
1941
+ /**
1942
+ * Style blocks for the inline container itself. The array represents breakpoint-specific
1943
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
1944
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
1945
+ */
625
1946
  own: BasicStateStylingBlock<InlineContainerStyles>[];
626
1947
  }
1948
+ /**
1949
+ * An inline container for arranging inline elements like text spans. Used within text-level
1950
+ * layouts. Use InlineContainer when you need to group inline content together with shared
1951
+ * styling. Do NOT use InlineContainer as a general-purpose layout container; use Row or
1952
+ * Column instead.
1953
+ */
627
1954
  export interface InlineContainerModel<Children, Predicates> {
1955
+ /**
1956
+ * Accessibility label for screen readers. Omit if the inline container is purely
1957
+ * decorative or its children already provide sufficient accessible labels. MUST be set
1958
+ * when the inline container conveys meaning not available from its children alone.
1959
+ */
628
1960
  a11yLabel?: null | string;
1961
+ /**
1962
+ * Visual styles for this inline container. See styling documentation for the structure.
1963
+ * Omit to use default (unstyled) rendering.
1964
+ */
629
1965
  styles?: null | LayoutStyle<InlineContainerElements, ConditionalStyleTransition<InlineContainerTransitions, Predicates>>;
1966
+ /**
1967
+ * Child nodes rendered within this inline container.
1968
+ * Children are arranged inline, suitable for text-level content.
1969
+ */
630
1970
  children: Children[];
631
1971
  }
1972
+ /** Container styling properties for inline elements. A reduced set compared to full container styling. */
632
1973
  export interface InlineContainerStylingProperties {
1974
+ /** Applies a box shadow effect around the container. */
633
1975
  shadow?: null | Shadow;
1976
+ /** Applies a Gaussian blur effect. Value is the blur radius in platform units. */
634
1977
  blur?: null | number;
1978
+ /** The opacity of the container, from 0.0 (fully transparent) to 1.0 (fully opaque). */
635
1979
  opacity?: null | number;
636
1980
  }
1981
+ /** Transition styles for the InlineContainer node. Use to animate style changes smoothly. */
637
1982
  export interface InlineContainerTransitions {
1983
+ /**
1984
+ * Transition properties for the inline container. Specifies which style properties
1985
+ * should animate and their duration/easing when values change.
1986
+ */
638
1987
  own?: null | InlineContainerStyles;
639
1988
  }
1989
+ /**
1990
+ * Visual style properties for the inline variant of StaticLink.
1991
+ * Uses inline-specific container and spacing properties suitable for text-level content.
1992
+ */
640
1993
  export interface InlineStaticLinkStyles {
1994
+ /** Inline container layout styles. */
641
1995
  container?: null | InlineContainerStylingProperties;
1996
+ /** Background color and gradient styles. */
642
1997
  background?: null | BackgroundStylingProperties;
1998
+ /** Border width, color, and radius styles. */
643
1999
  border?: null | BorderStylingProperties;
2000
+ /** Inline spacing (padding/margin) styles. */
644
2001
  spacing?: null | InlineSpacingStylingProperties;
645
2002
  }
2003
+ /**
2004
+ * Styling elements for the inline StaticLink variant.
2005
+ * The `own` array contains state-dependent styling blocks applied to the inline link itself.
2006
+ */
646
2007
  export interface InlineStaticLinkElements {
2008
+ /** Array of state-dependent styling blocks for the inline link. */
647
2009
  own: BasicStateStylingBlock<InlineStaticLinkStyles>[];
648
2010
  }
2011
+ /**
2012
+ * An inline clickable link variant that wraps its children.
2013
+ * Used within text-level contexts (e.g. inside a RichText node).
2014
+ * Opens the specified URL when clicked.
2015
+ */
649
2016
  export interface InlineStaticLinkModel<Children, Predicates> {
2017
+ /** Accessibility label for the inline link. */
650
2018
  a11yLabel?: null | string;
2019
+ /**
2020
+ * The destination URL to open when the link is clicked.
2021
+ * MUST be a valid URL string.
2022
+ */
651
2023
  src: string;
2024
+ /** Controls how the link URL is opened. */
652
2025
  open: LinkOpenTarget;
2026
+ /** Visual styles for the inline link. */
653
2027
  styles?: null | LayoutStyle<InlineStaticLinkElements, ConditionalStyleTransition<InlineStaticLinkTransitions, Predicates>>;
2028
+ /** Child nodes that form the clickable inline link content. */
654
2029
  children: Children[];
655
2030
  }
2031
+ /** Transition styles for animating InlineStaticLink style changes. */
656
2032
  export interface InlineStaticLinkTransitions {
2033
+ /** Transition properties for the inline link's own styles. */
657
2034
  own?: null | InlineStaticLinkStyles;
658
2035
  }
2036
+ /**
2037
+ * Visual style properties for the inline variant of ToggleButtonStateTrigger.
2038
+ * Uses inline-specific container and spacing properties suitable for text-level content.
2039
+ */
659
2040
  export interface InlineToggleButtonStateTriggerStyle {
2041
+ /** Inline container layout styles. */
660
2042
  container?: null | InlineContainerStylingProperties;
2043
+ /** Background color and gradient styles. */
661
2044
  background?: null | BackgroundStylingProperties;
2045
+ /** Border width, color, and radius styles. */
662
2046
  border?: null | BorderStylingProperties;
2047
+ /** Inline spacing (padding/margin) styles. */
663
2048
  spacing?: null | InlineSpacingStylingProperties;
664
2049
  }
2050
+ /**
2051
+ * Styling elements for the inline ToggleButtonStateTrigger variant.
2052
+ * The `own` array contains state-dependent styling blocks applied to the inline toggle.
2053
+ */
665
2054
  export interface InlineToggleButtonStateTriggerElements {
2055
+ /** Array of state-dependent styling blocks for the inline toggle button. */
666
2056
  own: BasicStateStylingBlock<InlineToggleButtonStateTriggerStyle>[];
667
2057
  }
2058
+ /**
2059
+ * An inline variant of ToggleButtonStateTrigger for use within text-level contexts.
2060
+ * Cycles a custom state between values when clicked.
2061
+ */
668
2062
  export interface InlineToggleButtonStateTriggerModel<Children, Predicates> {
2063
+ /** Accessibility label for the inline toggle button. */
669
2064
  a11yLabel?: null | string;
2065
+ /** Visual styles for the inline toggle button. */
670
2066
  styles?: null | LayoutStyle<InlineToggleButtonStateTriggerElements, ConditionalStyleTransition<InlineToggleButtonStateTriggerTransitions, Predicates>>;
2067
+ /** Child nodes forming the inline toggle button content. */
671
2068
  children: Children[];
2069
+ /** The custom state key to toggle when the button is pressed. */
672
2070
  customStateKey: string;
673
2071
  }
2072
+ /** Transition styles for animating InlineToggleButtonStateTrigger style changes. */
674
2073
  export interface InlineToggleButtonStateTriggerTransitions {
2074
+ /** Transition properties for the inline toggle button's own styles. */
675
2075
  own?: null | InlineToggleButtonStateTriggerStyle;
676
2076
  }
2077
+ /**
2078
+ * Configuration for a required-field validation rule. When applied to an
2079
+ * input, the input MUST have a non-empty value to pass validation.
2080
+ */
677
2081
  export interface InputRequiredValidation {
2082
+ /**
2083
+ * The error message to display when validation fails (i.e., the input is
2084
+ * empty). MUST be a user-facing string. Do NOT leave this empty.
2085
+ */
678
2086
  message: string;
679
2087
  }
2088
+ /**
2089
+ * Tests application domain state in the full layout schema context. Domain
2090
+ * state is managed by the host application and represents high-level
2091
+ * application state.
2092
+ */
680
2093
  export interface LayoutSchemaDomainStatePredicate {
2094
+ /** The domain state key to check. */
681
2095
  key: DomainStateKey;
2096
+ /** The comparison operator. */
682
2097
  condition: OrderableWhenCondition;
2098
+ /** The integer value to compare the domain state against. */
683
2099
  value: number;
684
2100
  }
2101
+ /** Platform-specific settings for the layout behaviour. */
685
2102
  export interface LayoutSettings {
2103
+ /** Whether to automatically close the layout after the user completes the interaction flow. */
686
2104
  closeOnComplete?: null | boolean;
2105
+ /** Whether to enable partner-side validation before submitting responses. */
687
2106
  enablePartnerValidation?: null | boolean;
688
2107
  }
2108
+ /**
2109
+ * Visual style properties for the OneByOneDistribution container.
2110
+ * Contains the standard style categories: container layout, background colors,
2111
+ * border appearance, dimensions, flex child positioning, and spacing.
2112
+ */
689
2113
  export interface OneByOneDistributionStyles {
2114
+ /** Container layout styles (e.g. flex direction, alignment). */
690
2115
  container?: null | ContainerStylingProperties;
2116
+ /** Background color and gradient styles. */
691
2117
  background?: null | BackgroundStylingProperties;
2118
+ /** Border width, color, and radius styles. */
692
2119
  border?: null | BorderStylingProperties;
2120
+ /** Width and height dimension styles. */
693
2121
  dimension?: null | DimensionStylingProperties;
2122
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
694
2123
  flexChild?: null | FlexChildStylingProperties;
2124
+ /** Padding and margin spacing styles. */
695
2125
  spacing?: null | SpacingStylingProperties;
696
2126
  }
2127
+ /**
2128
+ * Styling elements for the OneByOneDistribution container.
2129
+ * The `own` array contains stateless styling blocks applied to the distribution container itself.
2130
+ */
697
2131
  export interface OneByOneDistributionElements {
2132
+ /** Array of stateless styling blocks for the distribution container. */
698
2133
  own: StatelessStylingBlock<OneByOneDistributionStyles>[];
699
2134
  }
2135
+ /**
2136
+ * Presents offers one at a time, allowing the user to progress through them sequentially.
2137
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
2138
+ *
2139
+ * Pair with ProgressControl nodes to enable forward/backward navigation between offers.
2140
+ * Pair with ProgressIndicator to show the user's current position.
2141
+ * Do NOT use this for displaying all offers at once; use StackedDistribution instead.
2142
+ */
700
2143
  export interface OneByOneDistributionModel<Predicates> {
2144
+ /**
2145
+ * Visual styles for the distribution container.
2146
+ * Uses the LayoutStyle wrapper with conditional style transitions.
2147
+ */
701
2148
  styles?: null | LayoutStyle<OneByOneDistributionElements, ConditionalStyleTransition<OneByOneDistributionTransitions, Predicates>>;
2149
+ /**
2150
+ * The animation transition between offers.
2151
+ * Defines how the current offer exits and the next offer enters.
2152
+ */
702
2153
  transition: Transition;
703
2154
  }
2155
+ /** Transition styles for animating OneByOneDistribution style changes. */
704
2156
  export interface OneByOneDistributionTransitions {
2157
+ /** Transition properties for the distribution container's own styles. */
705
2158
  own?: null | OneByOneDistributionStyles;
706
2159
  }
2160
+ /**
2161
+ * Available style categories for the Overlay content element. Each optional field enables a
2162
+ * specific category of visual styling. Omit a field to leave that category unstyled.
2163
+ */
707
2164
  export interface OverlayStyles {
2165
+ /**
2166
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2167
+ * MUST be used to control how children are arranged within the overlay content area.
2168
+ */
708
2169
  container?: null | ContainerStylingProperties;
2170
+ /**
2171
+ * Background color and image properties. Use to set a solid color, gradient, or image
2172
+ * behind the overlay content.
2173
+ */
709
2174
  background?: null | BackgroundStylingProperties;
2175
+ /**
2176
+ * Border radius, color, width and style properties. Use to add visible borders or
2177
+ * rounded corners to the overlay content area.
2178
+ */
710
2179
  border?: null | BorderStylingProperties;
2180
+ /**
2181
+ * Width, height and rotation properties. Use to explicitly size the overlay content area.
2182
+ * Do NOT set width/height if the overlay should size to its content.
2183
+ */
711
2184
  dimension?: null | DimensionStylingProperties;
2185
+ /**
2186
+ * Properties controlling this element's behaviour as a child of a flex container.
2187
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2188
+ */
712
2189
  flexChild?: null | FlexChildStylingProperties;
2190
+ /**
2191
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
2192
+ * overlay content area.
2193
+ */
713
2194
  spacing?: null | SpacingStylingProperties;
714
2195
  }
2196
+ /**
2197
+ * Style categories for the Overlay wrapper (backdrop) element. Controls the appearance of
2198
+ * the area behind the overlay content.
2199
+ */
715
2200
  export interface OverlayWrapperStyles {
2201
+ /** Layout properties for the wrapper container that positions the overlay content. */
716
2202
  container?: null | ContainerStylingProperties;
2203
+ /**
2204
+ * Background color for the backdrop. Typically a semi-transparent color (using `#AARRGGBB`
2205
+ * format, e.g. `#80000000`) to dim the content behind the overlay.
2206
+ */
717
2207
  background?: null | BackgroundStylingProperties;
718
2208
  }
2209
+ /**
2210
+ * Styleable elements of the Overlay node. The Overlay has two styleable elements: its own
2211
+ * content area and its wrapper (backdrop).
2212
+ */
719
2213
  export interface OverlayElements {
2214
+ /**
2215
+ * Style blocks for the overlay content area. The array represents breakpoint-specific
2216
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
2217
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
2218
+ */
720
2219
  own: BasicStateStylingBlock<OverlayStyles>[];
2220
+ /**
2221
+ * Style blocks for the overlay wrapper (backdrop). The array represents
2222
+ * breakpoint-specific styles: first item is the default, subsequent items correspond
2223
+ * to breakpoints in ascending order.
2224
+ */
721
2225
  wrapper: BasicStateStylingBlock<OverlayWrapperStyles>[];
722
2226
  }
2227
+ /**
2228
+ * A modal overlay that appears on top of the main content with a backdrop. Use for dialogs,
2229
+ * confirmations, and modal interactions that require user attention. The overlay blocks
2230
+ * interaction with the content behind it. Do NOT use Overlay for inline content layering;
2231
+ * use ZStack instead.
2232
+ */
723
2233
  export interface OverlayModel<Children, Predicates> {
2234
+ /**
2235
+ * If true, clicking the backdrop area closes the overlay. MUST be set to true when the
2236
+ * overlay is dismissible. Set to false when the user MUST interact with the overlay
2237
+ * content before proceeding (e.g., mandatory confirmations).
2238
+ */
724
2239
  allowBackdropToClose: boolean;
2240
+ /**
2241
+ * Accessibility label for screen readers. MUST be set to describe the purpose of the
2242
+ * overlay (e.g., "Confirmation dialog" or "Settings panel").
2243
+ */
725
2244
  a11yLabel?: null | string;
2245
+ /**
2246
+ * Visual styles for this overlay. See styling documentation for the structure. Omit to
2247
+ * use default (unstyled) rendering.
2248
+ */
726
2249
  styles?: null | LayoutStyle<OverlayElements, ConditionalStyleTransition<OverlayTransitions, Predicates>>;
2250
+ /** The content displayed within the overlay. */
727
2251
  children: Children[];
728
2252
  }
2253
+ /** Transition styles for the Overlay node. Use to animate style changes smoothly. */
729
2254
  export interface OverlayTransitions {
2255
+ /**
2256
+ * Transition properties for the overlay content area. Specifies which style properties
2257
+ * should animate and their duration/easing when values change.
2258
+ */
730
2259
  own?: null | OverlayStyles;
2260
+ /** Transition properties for the overlay wrapper (backdrop). */
731
2261
  wrapper?: null | OverlayWrapperStyles;
732
2262
  }
2263
+ /**
2264
+ * Visual style properties for the PartnerEventButtonTrigger.
2265
+ * Contains the standard style categories: container layout, background colors,
2266
+ * border appearance, dimensions, flex child positioning, and spacing.
2267
+ */
733
2268
  export interface PartnerEventButtonTriggerStyle {
2269
+ /** Container layout styles (e.g. flex direction, alignment). */
734
2270
  container?: null | ContainerStylingProperties;
2271
+ /** Background color and gradient styles. */
735
2272
  background?: null | BackgroundStylingProperties;
2273
+ /** Border width, color, and radius styles. */
736
2274
  border?: null | BorderStylingProperties;
2275
+ /** Width and height dimension styles. */
737
2276
  dimension?: null | DimensionStylingProperties;
2277
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
738
2278
  flexChild?: null | FlexChildStylingProperties;
2279
+ /** Padding and margin spacing styles. */
739
2280
  spacing?: null | SpacingStylingProperties;
740
2281
  }
2282
+ /**
2283
+ * Styling elements for the PartnerEventButtonTrigger.
2284
+ * The `own` array contains state-dependent styling blocks applied to the button itself.
2285
+ */
741
2286
  export interface PartnerEventButtonTriggerElements {
2287
+ /** Array of state-dependent styling blocks for the partner event button. */
742
2288
  own: BasicStateStylingBlock<PartnerEventButtonTriggerStyle>[];
743
2289
  }
744
- export type DomainPartnerEvent = {
2290
+ /**
2291
+ * A domain-specific partner event that can be triggered.
2292
+ * Each variant represents a specific event type with its associated data.
2293
+ */
2294
+ export type DomainPartnerEvent =
2295
+ /** An upsell creative sent event, triggered to track upsell offer presentation. */
2296
+ {
745
2297
  type: "UPSELL_CREATIVE_SENT";
746
2298
  data: UpsellCreativeSentEventData;
747
2299
  };
2300
+ /**
2301
+ * A button that triggers a partner domain event when clicked.
2302
+ * Used to fire domain-specific tracking events for partner integrations.
2303
+ *
2304
+ * MUST provide an `event` with the appropriate event type and data.
2305
+ * Do NOT use this for standard offer responses; use CreativeResponse instead.
2306
+ */
748
2307
  export interface PartnerEventButtonTriggerModel<Children, Predicates> {
2308
+ /** Accessibility label for the button. */
749
2309
  a11yLabel?: null | string;
2310
+ /** Visual styles for the partner event button. */
750
2311
  styles?: null | LayoutStyle<PartnerEventButtonTriggerElements, ConditionalStyleTransition<PartnerEventButtonTriggerTransitions, Predicates>>;
2312
+ /** Child nodes forming the button content. */
751
2313
  children: Children[];
2314
+ /**
2315
+ * The domain event to trigger when the button is clicked.
2316
+ * MUST be a valid DomainPartnerEvent variant with required data.
2317
+ */
752
2318
  event: DomainPartnerEvent;
753
2319
  }
2320
+ /** Transition styles for animating PartnerEventButtonTrigger style changes. */
754
2321
  export interface PartnerEventButtonTriggerTransitions {
2322
+ /** Transition properties for the partner event button's own styles. */
755
2323
  own?: null | PartnerEventButtonTriggerStyle;
756
2324
  }
2325
+ /**
2326
+ * Tests the position index of the current item within a collection. Use to
2327
+ * style items differently based on their position (e.g. first item, last item).
2328
+ */
757
2329
  export interface PositionPredicate {
2330
+ /** The comparison operator. */
758
2331
  condition: OrderableWhenCondition;
2332
+ /**
2333
+ * The position index to compare against. MUST be a string representation
2334
+ * of a number, e.g. "0" for the first item.
2335
+ */
759
2336
  value: string;
760
2337
  }
2338
+ /**
2339
+ * Visual style properties for the ProgressControl button.
2340
+ * Contains the standard style categories: container layout, background colors,
2341
+ * border appearance, dimensions, flex child positioning, and spacing.
2342
+ */
761
2343
  export interface ProgressControlStyle {
2344
+ /** Container layout styles (e.g. flex direction, alignment). */
762
2345
  container?: null | ContainerStylingProperties;
2346
+ /** Background color and gradient styles. */
763
2347
  background?: null | BackgroundStylingProperties;
2348
+ /** Border width, color, and radius styles. */
764
2349
  border?: null | BorderStylingProperties;
2350
+ /** Width and height dimension styles. */
765
2351
  dimension?: null | DimensionStylingProperties;
2352
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
766
2353
  flexChild?: null | FlexChildStylingProperties;
2354
+ /** Padding and margin spacing styles. */
767
2355
  spacing?: null | SpacingStylingProperties;
768
2356
  }
2357
+ /**
2358
+ * Styling elements for the ProgressControl button.
2359
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed, disabled)
2360
+ * applied to the control button itself.
2361
+ */
769
2362
  export interface ProgressControlElements {
2363
+ /**
2364
+ * Array of state-dependent styling blocks for the control button.
2365
+ * Each block targets a specific interaction state (default, pressed, disabled, etc.).
2366
+ */
770
2367
  own: BasicStateStylingBlock<ProgressControlStyle>[];
771
2368
  }
772
- export type ProgressionDirection = "Forward" | "Backward";
2369
+ /** The direction in which the progress control advances offers. */
2370
+ export type ProgressionDirection =
2371
+ /** Advance to the next offer or group. */
2372
+ "Forward"
2373
+ /** Return to the previous offer or group. */
2374
+ | "Backward";
2375
+ /**
2376
+ * A button that advances or reverses offer progression.
2377
+ * Used with OneByOneDistribution or GroupedDistribution for navigation.
2378
+ *
2379
+ * MUST specify a `direction` (Forward or Backward).
2380
+ * Pair with a distribution node for the control to have an effect.
2381
+ * Typically contains an arrow icon as child content.
2382
+ */
773
2383
  export interface ProgressControlModel<Children, Predicates> {
2384
+ /**
2385
+ * Accessibility label for the control.
2386
+ * MUST be provided (e.g. "Next offer" or "Previous offer").
2387
+ */
774
2388
  a11yLabel?: null | string;
2389
+ /** Visual styles for the control. Uses the LayoutStyle wrapper with conditional style transitions. */
775
2390
  styles?: null | LayoutStyle<ProgressControlElements, ConditionalStyleTransition<ProgressControlTransitions, Predicates>>;
2391
+ /** The direction to progress. MUST be either Forward or Backward. */
776
2392
  direction: ProgressionDirection;
2393
+ /**
2394
+ * Child nodes forming the button content (e.g. an arrow icon).
2395
+ * MUST contain at least one child for the control to have visible content.
2396
+ */
777
2397
  children: Children[];
778
2398
  }
2399
+ /** Transition styles for animating ProgressControl style changes. */
779
2400
  export interface ProgressControlTransitions {
2401
+ /** Transition properties for the control button's own styles. */
780
2402
  own?: null | ProgressControlStyle;
781
2403
  }
2404
+ /**
2405
+ * Visual style properties for the ProgressIndicator container.
2406
+ * Contains the standard style categories for the outer indicator wrapper.
2407
+ */
782
2408
  export interface ProgressIndicatorStyles {
2409
+ /** Container layout styles (e.g. flex direction, alignment). */
783
2410
  container?: null | ContainerStylingProperties;
2411
+ /** Background color and gradient styles. */
784
2412
  background?: null | BackgroundStylingProperties;
2413
+ /** Border width, color, and radius styles. */
785
2414
  border?: null | BorderStylingProperties;
2415
+ /** Width and height dimension styles. */
786
2416
  dimension?: null | DimensionStylingProperties;
2417
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
787
2418
  flexChild?: null | FlexChildStylingProperties;
2419
+ /** Padding and margin spacing styles. */
788
2420
  spacing?: null | SpacingStylingProperties;
789
2421
  }
2422
+ /**
2423
+ * Styling elements for the ProgressIndicator.
2424
+ * Contains styling blocks for the container, individual indicators, and special indicator states.
2425
+ */
790
2426
  export interface ProgressIndicatorElements {
2427
+ /** Array of state-dependent styling blocks for the indicator container. */
791
2428
  own: BasicStateStylingBlock<ProgressIndicatorStyles>[];
2429
+ /** Styling blocks for each individual indicator item (default state). */
792
2430
  indicator: BasicStateStylingBlock<IndicatorStyles>[];
2431
+ /**
2432
+ * Optional styling blocks for the currently active indicator.
2433
+ * If omitted, the default indicator styling is used.
2434
+ */
793
2435
  activeIndicator?: null | BasicStateStylingBlock<IndicatorStyles>[];
2436
+ /**
2437
+ * Optional styling blocks for indicators that have been seen/visited.
2438
+ * If omitted, the default indicator styling is used.
2439
+ */
794
2440
  seenIndicator?: null | BasicStateStylingBlock<IndicatorStyles>[];
795
2441
  }
2442
+ /**
2443
+ * Displays visual progress indicators (dots, bars) showing the user's position
2444
+ * within a series of offers.
2445
+ *
2446
+ * MUST be paired with a distribution node (OneByOneDistribution, GroupedDistribution, etc.)
2447
+ * to track position. The indicator automatically reflects the current offer position.
2448
+ * Use `indicator` to specify the type (e.g. "dot", "bar", "number").
2449
+ */
796
2450
  export interface ProgressIndicatorModel<Predicates> {
2451
+ /**
2452
+ * Visual styles for the progress indicators.
2453
+ * Uses the LayoutStyle wrapper with conditional style transitions.
2454
+ */
797
2455
  styles?: null | LayoutStyle<ProgressIndicatorElements, ConditionalStyleTransition<ProgressIndicatorTransitions, Predicates>>;
2456
+ /**
2457
+ * The type of indicator to display (e.g. "dot", "bar", "number").
2458
+ * MUST be a valid indicator type string.
2459
+ */
798
2460
  indicator: string;
2461
+ /**
2462
+ * The initial position of the indicator (zero-indexed).
2463
+ * If omitted, defaults to position 0.
2464
+ */
799
2465
  startPosition?: null | number;
2466
+ /**
2467
+ * If true, the indicator is hidden from screen readers.
2468
+ * Set to true when the indicator is purely decorative.
2469
+ */
800
2470
  accessibilityHidden?: null | boolean;
801
2471
  }
2472
+ /**
2473
+ * Transition styles for animating ProgressIndicator style changes.
2474
+ * Defines transitions for the container and each indicator state.
2475
+ */
802
2476
  export interface ProgressIndicatorTransitions {
2477
+ /** Transition properties for the indicator container's own styles. */
803
2478
  own?: null | ProgressIndicatorStyles;
2479
+ /** Transition properties for the default indicator styles. */
804
2480
  indicator?: null | IndicatorStyles;
2481
+ /** Transition properties for the active indicator styles. */
805
2482
  activeIndicator?: null | IndicatorStyles;
2483
+ /** Transition properties for the seen indicator styles. */
806
2484
  seenIndicator?: null | IndicatorStyles;
807
2485
  }
2486
+ /**
2487
+ * Tests which offer index is currently visible in a carousel or progression.
2488
+ * Use 0 for the first offer, -1 for the last offer.
2489
+ */
808
2490
  export interface ProgressionPredicate {
2491
+ /** The comparison operator. */
809
2492
  condition: OrderableWhenCondition;
2493
+ /**
2494
+ * The progression index to compare against. MUST be a string representation
2495
+ * of a number. Use "0" for the first offer, "-1" for the last offer.
2496
+ */
810
2497
  value: string;
811
2498
  }
2499
+ /** Visual styles for the RichText node. */
812
2500
  export interface RichTextStyle {
2501
+ /** Width, height and rotation properties. */
813
2502
  dimension?: null | DimensionStylingProperties;
2503
+ /** Properties controlling behaviour as a flex child. */
814
2504
  flexChild?: null | FlexChildStylingProperties;
2505
+ /** Padding, margin and offset properties. */
815
2506
  spacing?: null | SpacingStylingProperties;
2507
+ /** Background color and image properties. */
816
2508
  background?: null | BackgroundStylingProperties;
2509
+ /** Typography properties. */
817
2510
  text?: null | TextStylingProperties;
818
2511
  }
2512
+ /** Style elements for the RichText node. */
819
2513
  export interface RichTextElements {
2514
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
820
2515
  own: BasicStateStylingBlock<RichTextStyle>[];
2516
+ /** Style blocks for link elements within the rich text content. */
821
2517
  link?: null | BasicStateStylingBlock<InLineTextStyle>[];
822
2518
  }
2519
+ /** Renders HTML-formatted text content. Supports `<a>`, `<strong>`, `<em>`, `<br>` and other inline HTML elements. Use BasicText for plain text without HTML. */
823
2520
  export interface RichTextModel<Predicates> {
2521
+ /** Visual styles for the text element. */
824
2522
  styles?: null | LayoutStyle<RichTextElements, ConditionalStyleTransition<RichTextTransitions, Predicates>>;
2523
+ /** Controls how links within the rich text are opened when clicked. */
825
2524
  openLinks?: null | LinkOpenTarget;
2525
+ /** The HTML text content to display. Supports inline HTML tags and data binding placeholders in the format %^DATA.key^% or %^ATTRIBUTE.key^%. */
826
2526
  value: string;
827
2527
  }
2528
+ /** Transition definitions for the RichText node. */
828
2529
  export interface RichTextTransitions {
2530
+ /** Transition properties for the primary element. */
829
2531
  own?: null | RichTextStyle;
2532
+ /** Transition properties for link elements. */
830
2533
  link?: null | InLineTextStyle;
831
2534
  }
2535
+ /**
2536
+ * The top-level schema structure for an outer layout. Contains the layout tree,
2537
+ * breakpoint definitions, settings and display configuration.
2538
+ */
832
2539
  export interface RootSchemaModel<Layout, Display, Settings> {
2540
+ /**
2541
+ * Map of breakpoint names to viewport width thresholds in platform units.
2542
+ * Defines responsive breakpoints for the layout.
2543
+ */
833
2544
  breakpoints: Record<string, number>;
2545
+ /** The root node of the layout tree. */
834
2546
  layout: Layout;
2547
+ /** Platform-specific layout settings. */
835
2548
  settings?: null | Settings;
2549
+ /** Controls how the layout is displayed (fullscreen, embedded, etc). */
836
2550
  display?: null | Display;
837
2551
  }
2552
+ /**
2553
+ * Available style categories for the Row element. Each optional field enables a specific
2554
+ * category of visual styling. Omit a field to leave that category unstyled.
2555
+ */
838
2556
  export interface RowStyle {
2557
+ /**
2558
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2559
+ * MUST be used to control how children are arranged within the row.
2560
+ */
839
2561
  container?: null | ContainerStylingProperties;
2562
+ /**
2563
+ * Background color and image properties. Use to set a solid color, gradient, or image
2564
+ * behind the row content.
2565
+ */
840
2566
  background?: null | BackgroundStylingProperties;
2567
+ /**
2568
+ * Border radius, color, width and style properties. Use to add visible borders or
2569
+ * rounded corners to the row.
2570
+ */
841
2571
  border?: null | BorderStylingProperties;
2572
+ /**
2573
+ * Width, height and rotation properties. Use to explicitly size the row or apply rotation
2574
+ * transforms. Do NOT set width/height if the row should size to its content.
2575
+ */
842
2576
  dimension?: null | DimensionStylingProperties;
2577
+ /**
2578
+ * Properties controlling this element's behaviour as a child of a flex container.
2579
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2580
+ */
843
2581
  flexChild?: null | FlexChildStylingProperties;
2582
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the row. */
844
2583
  spacing?: null | SpacingStylingProperties;
845
2584
  }
2585
+ /**
2586
+ * Styleable elements of the Row node. The Row has a single styleable element: its own
2587
+ * container.
2588
+ */
846
2589
  export interface RowElements {
2590
+ /**
2591
+ * Style blocks for the row container itself. The array represents breakpoint-specific
2592
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
2593
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
2594
+ */
847
2595
  own: BasicStateStylingBlock<RowStyle>[];
848
2596
  }
2597
+ /**
2598
+ * A horizontal flex container that arranges its children in a row (left to right). Use for
2599
+ * horizontal layouts. Children are laid out along the horizontal axis by default. To control
2600
+ * alignment and distribution, configure the container styles. Do NOT nest Rows unnecessarily
2601
+ * when a single Row with appropriate styling would suffice.
2602
+ */
849
2603
  export interface RowModel<Children, Predicates> {
2604
+ /**
2605
+ * Accessibility label for screen readers. Omit if the row is purely decorative or its
2606
+ * children already provide sufficient accessible labels. MUST be set when the row
2607
+ * conveys meaning not available from its children alone.
2608
+ */
850
2609
  a11yLabel?: null | string;
2610
+ /**
2611
+ * Visual styles for this row. See styling documentation for the structure. Omit to use
2612
+ * default (unstyled) rendering.
2613
+ */
851
2614
  styles?: null | LayoutStyle<RowElements, ConditionalStyleTransition<RowTransitions, Predicates>>;
2615
+ /**
2616
+ * Child nodes rendered horizontally within this row.
2617
+ * Children are laid out left to right in source order.
2618
+ */
852
2619
  children: Children[];
853
2620
  }
2621
+ /** Transition styles for the Row node. Use to animate style changes smoothly. */
854
2622
  export interface RowTransitions {
2623
+ /**
2624
+ * Transition properties for the row container. Specifies which style properties
2625
+ * should animate and their duration/easing when values change.
2626
+ */
855
2627
  own?: null | RowStyle;
856
2628
  }
2629
+ /**
2630
+ * Available style categories for the ScrollableColumn element. Each optional field enables a
2631
+ * specific category of visual styling. Omit a field to leave that category unstyled.
2632
+ */
857
2633
  export interface ScrollableColumnStyle {
2634
+ /**
2635
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2636
+ * MUST be used to control how children are arranged within the scrollable column.
2637
+ */
858
2638
  container?: null | ContainerStylingProperties;
2639
+ /**
2640
+ * Background color and image properties. Use to set a solid color, gradient, or image
2641
+ * behind the scrollable column content.
2642
+ */
859
2643
  background?: null | BackgroundStylingProperties;
2644
+ /**
2645
+ * Border radius, color, width and style properties. Use to add visible borders or
2646
+ * rounded corners to the scrollable column.
2647
+ */
860
2648
  border?: null | BorderStylingProperties;
2649
+ /**
2650
+ * Width, height and rotation properties. MUST set a constrained height for scrolling to
2651
+ * work. Without a height constraint, the container will expand to fit all content and
2652
+ * scrolling will not occur.
2653
+ */
861
2654
  dimension?: null | DimensionStylingProperties;
2655
+ /**
2656
+ * Properties controlling this element's behaviour as a child of a flex container.
2657
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2658
+ */
862
2659
  flexChild?: null | FlexChildStylingProperties;
2660
+ /**
2661
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
2662
+ * scrollable column.
2663
+ */
863
2664
  spacing?: null | SpacingStylingProperties;
864
2665
  }
2666
+ /**
2667
+ * Styleable elements of the ScrollableColumn node. The ScrollableColumn has a single
2668
+ * styleable element: its own container.
2669
+ */
865
2670
  export interface ScrollableColumnElements {
2671
+ /**
2672
+ * Style blocks for the scrollable column container itself. The array represents
2673
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
2674
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
2675
+ * for the default style.
2676
+ */
866
2677
  own: BasicStateStylingBlock<ScrollableColumnStyle>[];
867
2678
  }
2679
+ /**
2680
+ * A vertical scrollable container. Children that exceed the container height can be scrolled
2681
+ * into view. Use when content may overflow vertically (e.g., long lists, content feeds).
2682
+ * MUST have a constrained height via dimension styles for scrolling to activate. Do NOT use
2683
+ * ScrollableColumn when a regular Column would suffice (i.e., when content fits without
2684
+ * scrolling).
2685
+ */
868
2686
  export interface ScrollableColumnModel<Children, Predicates> {
2687
+ /**
2688
+ * Accessibility label for screen readers. Omit if the scrollable column is purely
2689
+ * decorative or its children already provide sufficient accessible labels. MUST be set
2690
+ * when the scrollable column conveys meaning not available from its children alone.
2691
+ */
869
2692
  a11yLabel?: null | string;
2693
+ /**
2694
+ * Visual styles for this scrollable column. See styling documentation for the structure.
2695
+ * Omit to use default (unstyled) rendering.
2696
+ */
870
2697
  styles?: null | LayoutStyle<ScrollableColumnElements, ConditionalStyleTransition<ScrollableColumnTransitions, Predicates>>;
2698
+ /**
2699
+ * Child nodes rendered vertically within this scrollable column. MUST contain at least
2700
+ * one child. Children are laid out top to bottom in source order and scroll vertically
2701
+ * when they exceed the container height.
2702
+ */
871
2703
  children: Children[];
872
2704
  }
2705
+ /** Transition styles for the ScrollableColumn node. Use to animate style changes smoothly. */
873
2706
  export interface ScrollableColumnTransitions {
2707
+ /**
2708
+ * Transition properties for the scrollable column container. Specifies which style
2709
+ * properties should animate and their duration/easing when values change.
2710
+ */
874
2711
  own?: null | ScrollableColumnStyle;
875
2712
  }
2713
+ /**
2714
+ * Available style categories for the ScrollableRow element. Each optional field enables a
2715
+ * specific category of visual styling. Omit a field to leave that category unstyled.
2716
+ */
876
2717
  export interface ScrollableRowStyle {
2718
+ /**
2719
+ * Layout properties for the flex container (justification, alignment, gap, overflow).
2720
+ * MUST be used to control how children are arranged within the scrollable row.
2721
+ */
877
2722
  container?: null | ContainerStylingProperties;
2723
+ /**
2724
+ * Background color and image properties. Use to set a solid color, gradient, or image
2725
+ * behind the scrollable row content.
2726
+ */
878
2727
  background?: null | BackgroundStylingProperties;
2728
+ /**
2729
+ * Border radius, color, width and style properties. Use to add visible borders or
2730
+ * rounded corners to the scrollable row.
2731
+ */
879
2732
  border?: null | BorderStylingProperties;
2733
+ /**
2734
+ * Width, height and rotation properties. MUST set a constrained width for scrolling to
2735
+ * work. Without a width constraint, the container will expand to fit all content and
2736
+ * scrolling will not occur.
2737
+ */
880
2738
  dimension?: null | DimensionStylingProperties;
2739
+ /**
2740
+ * Properties controlling this element's behaviour as a child of a flex container.
2741
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
2742
+ */
881
2743
  flexChild?: null | FlexChildStylingProperties;
2744
+ /**
2745
+ * Padding, margin and offset properties. Use to add spacing inside or outside the
2746
+ * scrollable row.
2747
+ */
882
2748
  spacing?: null | SpacingStylingProperties;
883
2749
  }
2750
+ /**
2751
+ * Styleable elements of the ScrollableRow node. The ScrollableRow has a single styleable
2752
+ * element: its own container.
2753
+ */
884
2754
  export interface ScrollableRowElements {
2755
+ /**
2756
+ * Style blocks for the scrollable row container itself. The array represents
2757
+ * breakpoint-specific styles: first item is the default (no breakpoint), subsequent
2758
+ * items correspond to breakpoints in ascending order. MUST contain at least one item
2759
+ * for the default style.
2760
+ */
885
2761
  own: BasicStateStylingBlock<ScrollableRowStyle>[];
886
2762
  }
2763
+ /**
2764
+ * A horizontal scrollable container. Children that exceed the container width can be scrolled
2765
+ * into view. Use when content may overflow horizontally (e.g., carousels, horizontal lists).
2766
+ * MUST have a constrained width via dimension styles for scrolling to activate. Do NOT use
2767
+ * ScrollableRow when a regular Row would suffice (i.e., when content fits without scrolling).
2768
+ */
887
2769
  export interface ScrollableRowModel<Children, Predicates> {
2770
+ /**
2771
+ * Accessibility label for screen readers. Omit if the scrollable row is purely decorative
2772
+ * or its children already provide sufficient accessible labels. MUST be set when the
2773
+ * scrollable row conveys meaning not available from its children alone.
2774
+ */
888
2775
  a11yLabel?: null | string;
2776
+ /**
2777
+ * Visual styles for this scrollable row. See styling documentation for the structure.
2778
+ * Omit to use default (unstyled) rendering.
2779
+ */
889
2780
  styles?: null | LayoutStyle<ScrollableRowElements, ConditionalStyleTransition<ScrollableRowTransitions, Predicates>>;
2781
+ /**
2782
+ * Child nodes rendered horizontally within this scrollable row. MUST contain at least
2783
+ * one child. Children are laid out left to right in source order and scroll horizontally
2784
+ * when they exceed the container width.
2785
+ */
890
2786
  children: Children[];
891
2787
  }
2788
+ /** Transition styles for the ScrollableRow node. Use to animate style changes smoothly. */
892
2789
  export interface ScrollableRowTransitions {
2790
+ /**
2791
+ * Transition properties for the scrollable row container. Specifies which style
2792
+ * properties should animate and their duration/easing when values change.
2793
+ */
893
2794
  own?: null | ScrollableRowStyle;
894
2795
  }
2796
+ /**
2797
+ * Visual style properties for the SlideStateTrigger container.
2798
+ * Contains the standard style categories for the slider's outer container.
2799
+ */
895
2800
  export interface SlideStateTriggerOwnStyles {
2801
+ /** Container layout styles (e.g. flex direction, alignment). */
896
2802
  container?: null | ContainerStylingProperties;
2803
+ /** Background color and gradient styles. */
897
2804
  background?: null | BackgroundStylingProperties;
2805
+ /** Border width, color, and radius styles. */
898
2806
  border?: null | BorderStylingProperties;
2807
+ /** Width and height dimension styles. */
899
2808
  dimension?: null | DimensionStylingProperties;
2809
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
900
2810
  flexChild?: null | FlexChildStylingProperties;
2811
+ /** Padding and margin spacing styles. */
901
2812
  spacing?: null | SpacingStylingProperties;
902
2813
  }
2814
+ /** Visual style properties for the slider thumb (the draggable handle). */
903
2815
  export interface SlideStateTriggerThumbStyles {
2816
+ /** Text styling for the thumb label. */
904
2817
  text?: null | TextStylingProperties;
2818
+ /** Background color and gradient styles for the thumb. */
905
2819
  background?: null | BackgroundStylingProperties;
2820
+ /** Border width, color, and radius styles for the thumb. */
906
2821
  border?: null | BorderStylingProperties;
2822
+ /** Width and height dimension styles for the thumb. */
907
2823
  dimension?: null | DimensionStylingProperties;
2824
+ /** Flex child sizing and alignment styles for the thumb. */
908
2825
  flexChild?: null | FlexChildStylingProperties;
2826
+ /** Padding and margin spacing styles for the thumb. */
909
2827
  spacing?: null | SpacingStylingProperties;
910
2828
  }
2829
+ /** Visual style properties for the slider label. */
911
2830
  export interface SlideStateTriggerLabelStyles {
2831
+ /** Text styling for the label. */
912
2832
  text?: null | TextStylingProperties;
2833
+ /** Padding and margin spacing styles for the label. */
913
2834
  spacing?: null | SpacingStylingProperties;
914
2835
  }
2836
+ /** Visual style properties for the slider fill (the filled portion of the track). */
915
2837
  export interface SlideStateTriggerFillStyles {
2838
+ /** Background color and gradient styles for the fill. */
916
2839
  background?: null | BackgroundStylingProperties;
2840
+ /** Border width, color, and radius styles for the fill. */
917
2841
  border?: null | BorderStylingProperties;
918
2842
  }
2843
+ /**
2844
+ * Styling elements for the SlideStateTrigger.
2845
+ * Contains styling blocks for the container, thumb, label, and fill sub-elements.
2846
+ */
919
2847
  export interface SlideStateTriggerElements {
2848
+ /** Array of stateless styling blocks for the slider container. */
920
2849
  own: StatelessStylingBlock<SlideStateTriggerOwnStyles>[];
2850
+ /** Optional styling blocks for the slider thumb (draggable handle). */
921
2851
  thumb?: null | StatelessStylingBlock<SlideStateTriggerThumbStyles>[];
2852
+ /** Optional styling blocks for the slider label. */
922
2853
  label?: null | StatelessStylingBlock<SlideStateTriggerLabelStyles>[];
2854
+ /** Optional styling blocks for the slider fill (filled track portion). */
923
2855
  fill?: null | StatelessStylingBlock<SlideStateTriggerFillStyles>[];
924
2856
  }
2857
+ /** Configuration for the slider label. */
925
2858
  export interface SlideStateTriggerLabel {
2859
+ /** Optional text value to display as the slider label. */
926
2860
  value?: null | string;
927
2861
  }
2862
+ /** Configuration for the slider thumb (draggable handle). */
928
2863
  export interface SlideStateTriggerThumb {
2864
+ /** Optional icon name to display inside the thumb. */
929
2865
  icon?: null | string;
930
2866
  }
2867
+ /**
2868
+ * A slider control that updates a custom state value as the user drags.
2869
+ * The slider thumb can be dragged to set the state to a value proportional to the position.
2870
+ * Use with When nodes to conditionally show/hide content based on the slider state.
2871
+ *
2872
+ * MUST provide a `customStateKey` that matches the key in When predicates.
2873
+ * Optionally provide `customStateValue` to set the slider's initial position.
2874
+ */
931
2875
  export interface SlideStateTriggerModel<Predicates> {
2876
+ /**
2877
+ * Accessibility label for the slider.
2878
+ * MUST be provided for screen reader support.
2879
+ */
932
2880
  a11yLabel?: null | string;
2881
+ /** Visual styles for the slider. Uses the LayoutStyle wrapper with conditional style transitions. */
933
2882
  styles?: null | LayoutStyle<SlideStateTriggerElements, ConditionalStyleTransition<SlideStateTriggerTransitions, Predicates>>;
2883
+ /** Configuration for the slider thumb (draggable handle). */
934
2884
  thumb?: null | SlideStateTriggerThumb;
2885
+ /** Configuration for the slider label. */
935
2886
  label?: null | SlideStateTriggerLabel;
2887
+ /**
2888
+ * The custom state key to update as the slider is dragged.
2889
+ * MUST match the key referenced in When node predicates.
2890
+ */
936
2891
  customStateKey: string;
2892
+ /**
2893
+ * The initial value of the custom state (slider position).
2894
+ * If omitted, defaults to the minimum position.
2895
+ */
937
2896
  customStateValue?: null | number;
938
2897
  }
2898
+ /**
2899
+ * Transition styles for animating SlideStateTrigger style changes.
2900
+ * Defines transitions for all slider sub-elements.
2901
+ */
939
2902
  export interface SlideStateTriggerTransitions {
2903
+ /** Transition properties for the slider container's own styles. */
940
2904
  own?: null | SlideStateTriggerOwnStyles;
2905
+ /** Transition properties for the thumb styles. */
941
2906
  thumb?: null | SlideStateTriggerThumbStyles;
2907
+ /** Transition properties for the label styles. */
942
2908
  label?: null | SlideStateTriggerLabelStyles;
2909
+ /** Transition properties for the fill styles. */
943
2910
  fill?: null | SlideStateTriggerFillStyles;
944
2911
  }
2912
+ /**
2913
+ * Visual style properties for the StackedDistribution container.
2914
+ * Contains the standard style categories: container layout, background colors,
2915
+ * border appearance, dimensions, flex child positioning, and spacing.
2916
+ */
945
2917
  export interface StackedDistributionStyles {
2918
+ /** Container layout styles (e.g. flex direction, alignment). */
946
2919
  container?: null | ContainerStylingProperties;
2920
+ /** Background color and gradient styles. */
947
2921
  background?: null | BackgroundStylingProperties;
2922
+ /** Border width, color, and radius styles. */
948
2923
  border?: null | BorderStylingProperties;
2924
+ /** Width and height dimension styles. */
949
2925
  dimension?: null | DimensionStylingProperties;
2926
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
950
2927
  flexChild?: null | FlexChildStylingProperties;
2928
+ /** Padding and margin spacing styles. */
951
2929
  spacing?: null | SpacingStylingProperties;
952
2930
  }
2931
+ /**
2932
+ * Styling elements for the StackedDistribution container.
2933
+ * The `own` array contains stateless styling blocks applied to the stacked container itself.
2934
+ */
953
2935
  export interface StackedDistributionElements {
2936
+ /** Array of stateless styling blocks for the stacked container. */
954
2937
  own: StatelessStylingBlock<StackedDistributionStyles>[];
955
2938
  }
2939
+ /**
2940
+ * Conditional viewable item configuration for stacked distribution.
2941
+ * Controls how many items are viewable based on predicate conditions.
2942
+ */
956
2943
  export interface StackedViewableItem<Predicates> {
2944
+ /** Predicate conditions that determine when this viewable item count applies. */
957
2945
  when: Predicates[];
2946
+ /**
2947
+ * The number of items viewable when the predicates are met.
2948
+ * If omitted, all items are shown.
2949
+ */
958
2950
  value?: null | number;
959
2951
  }
2952
+ /**
2953
+ * Presents multiple offers stacked vertically, all visible at once.
2954
+ * Used EXCLUSIVELY in the Outer Layout. This is the container into which offers (Layout Variants) are rendered.
2955
+ *
2956
+ * Use this when all offers should be visible simultaneously.
2957
+ * Do NOT use this for sequential one-at-a-time presentation; use OneByOneDistribution instead.
2958
+ */
960
2959
  export interface StackedDistributionModel<Predicates> {
2960
+ /**
2961
+ * Visual styles for the stacked container.
2962
+ * Uses the LayoutStyle wrapper with conditional style transitions.
2963
+ */
961
2964
  styles?: null | LayoutStyle<StackedDistributionElements, ConditionalStyleTransition<StackedDistributionTransitions, Predicates>>;
2965
+ /**
2966
+ * Configuration for how many items are viewable in the stack.
2967
+ * Each entry specifies a conditional viewable item count.
2968
+ * If omitted, all items are shown by default.
2969
+ */
962
2970
  viewableItems?: null | StackedViewableItem<Predicates>[];
963
2971
  }
2972
+ /** Transition styles for animating StackedDistribution style changes. */
964
2973
  export interface StackedDistributionTransitions {
2974
+ /** Transition properties for the stacked container's own styles. */
965
2975
  own?: null | StackedDistributionStyles;
966
2976
  }
967
- export type BooleanWhenCondition = "is-true" | "is-false";
2977
+ /**
2978
+ * Condition operators for boolean values. Use these to test boolean flags.
2979
+ * Serialized as kebab-case strings: "is-true", "is-false".
2980
+ */
2981
+ export type BooleanWhenCondition =
2982
+ /** True when the value is true. */
2983
+ "is-true"
2984
+ /** True when the value is false. */
2985
+ | "is-false";
2986
+ /**
2987
+ * A predicate with a hardcoded boolean value. Useful for enabling or disabling
2988
+ * sections during development or for static feature flags.
2989
+ */
968
2990
  export interface StaticBooleanPredicate {
2991
+ /** The boolean condition. Use "is-true" or "is-false". */
969
2992
  condition: BooleanWhenCondition;
2993
+ /** The static boolean value to evaluate against the condition. */
970
2994
  value: boolean;
971
2995
  }
2996
+ /** Visual styles for the StaticIcon node. MUST include text styles with fontFamily set to 'rokt-icons' to render correctly. */
972
2997
  export interface StaticIconStyles {
2998
+ /** Typography properties. MUST include fontFamily set to 'rokt-icons' for the icon to render correctly. */
973
2999
  text?: null | TextStylingProperties;
3000
+ /** Width, height and rotation properties. */
974
3001
  dimension?: null | DimensionStylingProperties;
3002
+ /** Properties controlling behaviour as a flex child. */
975
3003
  flexChild?: null | FlexChildStylingProperties;
3004
+ /** Padding, margin and offset properties. */
976
3005
  spacing?: null | SpacingStylingProperties;
3006
+ /** Background color and image properties. */
977
3007
  background?: null | BackgroundStylingProperties;
3008
+ /** Border radius, color, width and style. */
978
3009
  border?: null | BorderStylingProperties;
979
3010
  }
3011
+ /** Style elements for the StaticIcon node. */
980
3012
  export interface StaticIconElements {
3013
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
981
3014
  own: BasicStateStylingBlock<StaticIconStyles>[];
982
3015
  }
3016
+ /** Renders an SVG icon from the Rokt icon font. The icon is selected by name from the available icon set. */
983
3017
  export interface StaticIconModel<Predicates> {
3018
+ /** Visual styles for the icon. MUST include text styles with fontFamily set to 'rokt-icons' to render correctly. */
984
3019
  styles?: null | LayoutStyle<StaticIconElements, ConditionalStyleTransition<StaticIconTransitions, Predicates>>;
3020
+ /** 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. */
985
3021
  name: string;
3022
+ /** Accessibility description of the icon for screen readers. */
986
3023
  description?: null | string;
987
3024
  }
3025
+ /** Transition definitions for the StaticIcon node. */
988
3026
  export interface StaticIconTransitions {
3027
+ /** Transition properties for the primary element. */
989
3028
  own?: null | StaticIconStyles;
990
3029
  }
3030
+ /** Visual styles for the StaticImage node. */
991
3031
  export interface StaticImageStyles {
3032
+ /** Background color and image properties. */
992
3033
  background?: null | BackgroundStylingProperties;
3034
+ /** Border radius, color, width and style. */
993
3035
  border?: null | BorderStylingProperties;
3036
+ /** Width, height and rotation properties. */
994
3037
  dimension?: null | DimensionStylingProperties;
3038
+ /** Properties controlling behaviour as a flex child. */
995
3039
  flexChild?: null | FlexChildStylingProperties;
3040
+ /** Padding, margin and offset properties. */
996
3041
  spacing?: null | SpacingStylingProperties;
997
3042
  }
3043
+ /** Style elements for the StaticImage node. */
998
3044
  export interface StaticImageElements {
3045
+ /** Style blocks for the node's primary element. Array represents breakpoint-specific styles. */
999
3046
  own: BasicStateStylingBlock<StaticImageStyles>[];
1000
3047
  }
3048
+ /** URL configuration for a static image with themed light/dark mode support. */
1001
3049
  export interface StaticImageUrl {
3050
+ /** The image URL for light mode. MUST be a valid URL. */
1002
3051
  light: string;
3052
+ /** The image URL for dark mode. If not provided, the light URL is used for both modes. */
1003
3053
  dark?: null | string;
1004
3054
  }
3055
+ /** Renders a static image from a provided URL. Use for images with known URLs (logos, icons, decorative images). */
1005
3056
  export interface StaticImageModel<Predicates> {
3057
+ /** Visual styles for the image element. */
1006
3058
  styles?: null | LayoutStyle<StaticImageElements, ConditionalStyleTransition<StaticImageTransitions, Predicates>>;
3059
+ /** Alt text for accessibility. Describes the image for screen readers. */
1007
3060
  alt?: null | string;
3061
+ /** Title text shown on hover. */
1008
3062
  title?: null | string;
3063
+ /** The image URL with themed light/dark mode support. */
1009
3064
  url: StaticImageUrl;
1010
3065
  }
3066
+ /** Transition definitions for the StaticImage node. */
1011
3067
  export interface StaticImageTransitions {
3068
+ /** Transition properties for the primary element. */
1012
3069
  own?: null | StaticImageStyles;
1013
3070
  }
3071
+ /**
3072
+ * Visual style properties for the StaticLink.
3073
+ * Contains the standard style categories: container layout, background colors,
3074
+ * border appearance, dimensions, flex child positioning, and spacing.
3075
+ */
1014
3076
  export interface StaticLinkStyles {
3077
+ /** Container layout styles (e.g. flex direction, alignment). */
1015
3078
  container?: null | ContainerStylingProperties;
3079
+ /** Background color and gradient styles. */
1016
3080
  background?: null | BackgroundStylingProperties;
3081
+ /** Border width, color, and radius styles. */
1017
3082
  border?: null | BorderStylingProperties;
3083
+ /** Width and height dimension styles. */
1018
3084
  dimension?: null | DimensionStylingProperties;
3085
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
1019
3086
  flexChild?: null | FlexChildStylingProperties;
3087
+ /** Padding and margin spacing styles. */
1020
3088
  spacing?: null | SpacingStylingProperties;
1021
3089
  }
3090
+ /**
3091
+ * Styling elements for the StaticLink.
3092
+ * The `own` array contains state-dependent styling blocks (e.g. default, pressed)
3093
+ * applied to the link itself.
3094
+ */
1022
3095
  export interface StaticLinkElements {
3096
+ /**
3097
+ * Array of state-dependent styling blocks for the link.
3098
+ * Each block targets a specific interaction state (default, pressed, etc.).
3099
+ */
1023
3100
  own: BasicStateStylingBlock<StaticLinkStyles>[];
1024
3101
  }
3102
+ /**
3103
+ * A clickable link that wraps its children. Opens the specified URL when clicked.
3104
+ *
3105
+ * Use this node for navigation to external URLs. Do NOT use CreativeResponse for link navigation;
3106
+ * CreativeResponse is for offer accept/decline actions only.
3107
+ * The `src` field MUST be a valid URL string.
3108
+ */
1025
3109
  export interface StaticLinkModel<Children, Predicates> {
3110
+ /**
3111
+ * Accessibility label for the link.
3112
+ * MUST be provided for screen reader support. Describes the link destination or purpose.
3113
+ */
1026
3114
  a11yLabel?: null | string;
3115
+ /**
3116
+ * The destination URL to open when the link is clicked.
3117
+ * MUST be a valid URL string (e.g. "https://example.com").
3118
+ */
1027
3119
  src: string;
3120
+ /** Controls how the link URL is opened (e.g. in-app browser, external browser). */
1028
3121
  open: LinkOpenTarget;
3122
+ /** Visual styles for the link. Uses the LayoutStyle wrapper with conditional style transitions. */
1029
3123
  styles?: null | LayoutStyle<StaticLinkElements, ConditionalStyleTransition<StaticLinkTransitions, Predicates>>;
3124
+ /**
3125
+ * Child nodes that form the clickable link content.
3126
+ * MUST contain at least one child for the link to have visible, tappable content.
3127
+ */
1030
3128
  children: Children[];
1031
3129
  }
3130
+ /**
3131
+ * Transition styles for animating StaticLink style changes.
3132
+ * Defines which style properties should animate when the link's conditional styles change.
3133
+ */
1032
3134
  export interface StaticLinkTransitions {
3135
+ /** Transition properties for the link's own styles. */
1033
3136
  own?: null | StaticLinkStyles;
1034
3137
  }
3138
+ /**
3139
+ * Compares a static string input against a value. Use when you need to
3140
+ * evaluate a known, fixed string against a condition.
3141
+ */
1035
3142
  export interface StaticStringPredicate {
3143
+ /** The static string value to test. */
1036
3144
  input: string;
3145
+ /** The comparison operator. Use "is" or "is-not". */
1037
3146
  condition: EqualityWhenCondition;
3147
+ /** The string to compare against. */
1038
3148
  value: string;
1039
3149
  }
3150
+ /**
3151
+ * A non-visual trigger that updates a custom state value after a timed delay.
3152
+ * The timer starts automatically and sets the state after the specified delay.
3153
+ * Use with When nodes to show/hide content after a time period.
3154
+ *
3155
+ * MUST provide a `customStateKey` that matches the key in When predicates.
3156
+ * This node has no visual representation and does NOT render children.
3157
+ * Do NOT use this for user-initiated actions; use ButtonStateTrigger instead.
3158
+ */
1040
3159
  export interface TimerStateTriggerModel {
3160
+ /**
3161
+ * The custom state key to update when the timer fires.
3162
+ * MUST match the key referenced in When node predicates.
3163
+ */
1041
3164
  customStateKey: string;
3165
+ /**
3166
+ * The delay in seconds before the timer fires and sets the state.
3167
+ * If omitted, the timer fires immediately.
3168
+ */
1042
3169
  delay?: null | number;
3170
+ /**
3171
+ * The value to set on the custom state key when the timer fires.
3172
+ * If omitted, a default value is used.
3173
+ */
1043
3174
  value?: null | number;
1044
3175
  }
3176
+ /**
3177
+ * Visual style properties for the ToggleButtonStateTrigger.
3178
+ * Contains the standard style categories: container layout, background colors,
3179
+ * border appearance, dimensions, flex child positioning, and spacing.
3180
+ */
1045
3181
  export interface ToggleButtonStateTriggerStyle {
3182
+ /** Container layout styles (e.g. flex direction, alignment). */
1046
3183
  container?: null | ContainerStylingProperties;
3184
+ /** Background color and gradient styles. */
1047
3185
  background?: null | BackgroundStylingProperties;
3186
+ /** Border width, color, and radius styles. */
1048
3187
  border?: null | BorderStylingProperties;
3188
+ /** Width and height dimension styles. */
1049
3189
  dimension?: null | DimensionStylingProperties;
3190
+ /** Flex child sizing and alignment styles (grow, shrink, align-self). */
1050
3191
  flexChild?: null | FlexChildStylingProperties;
3192
+ /** Padding and margin spacing styles. */
1051
3193
  spacing?: null | SpacingStylingProperties;
1052
3194
  }
3195
+ /**
3196
+ * Styling elements for the ToggleButtonStateTrigger.
3197
+ * The `own` array contains state-dependent styling blocks applied to the toggle button itself.
3198
+ */
1053
3199
  export interface ToggleButtonStateTriggerElements {
3200
+ /** Array of state-dependent styling blocks for the toggle button. */
1054
3201
  own: BasicStateStylingBlock<ToggleButtonStateTriggerStyle>[];
1055
3202
  }
3203
+ /**
3204
+ * A toggle button that cycles a custom state between values when clicked.
3205
+ * Each click toggles the state value, typically between 0 and 1.
3206
+ * Use with When nodes to conditionally show/hide content based on the toggled state.
3207
+ *
3208
+ * MUST provide a `customStateKey` that matches the key in When predicates.
3209
+ * Unlike ButtonStateTrigger, this does NOT require a `value` field; it toggles automatically.
3210
+ */
1056
3211
  export interface ToggleButtonStateTriggerModel<Children, Predicates> {
3212
+ /** Accessibility label for the toggle button. */
1057
3213
  a11yLabel?: null | string;
3214
+ /** Visual styles for the toggle button. */
1058
3215
  styles?: null | LayoutStyle<ToggleButtonStateTriggerElements, ConditionalStyleTransition<ToggleButtonStateTriggerTransitions, Predicates>>;
3216
+ /** Child nodes forming the toggle button content. */
1059
3217
  children: Children[];
3218
+ /**
3219
+ * The custom state key to toggle when the button is pressed.
3220
+ * MUST match the key referenced in When node predicates.
3221
+ */
1060
3222
  customStateKey: string;
1061
3223
  }
3224
+ /** Transition styles for animating ToggleButtonStateTrigger style changes. */
1062
3225
  export interface ToggleButtonStateTriggerTransitions {
3226
+ /** Transition properties for the toggle button's own styles. */
1063
3227
  own?: null | ToggleButtonStateTriggerStyle;
1064
3228
  }
3229
+ /**
3230
+ * Data payload for the UpsellCreativeSent partner event.
3231
+ * Contains the details of the upsell offer being tracked.
3232
+ */
1065
3233
  export interface UpsellCreativeSentEventData {
3234
+ /** The provider's unique identifier for the offer. */
1066
3235
  providerOfferId: string;
3236
+ /** The title of the upsell offer. */
1067
3237
  title: string;
3238
+ /** A description of the upsell offer. */
1068
3239
  description: string;
1069
3240
  }
1070
- export type InTransition = {
3241
+ /**
3242
+ * A transition that applies only when an element enters (becomes visible).
3243
+ * MUST be an object with a "type" field and a "settings" field.
3244
+ * Currently only "FadeIn" is supported.
3245
+ */
3246
+ export type InTransition =
3247
+ /**
3248
+ * A fade-in transition. The element gradually becomes visible over the
3249
+ * specified duration.
3250
+ */
3251
+ {
1071
3252
  type: "FadeIn";
1072
3253
  settings: FadeInTransitionSettings;
1073
3254
  };
1074
- export type OutTransition = {
3255
+ /**
3256
+ * A transition that applies only when an element exits (becomes hidden).
3257
+ * MUST be an object with a "type" field and a "settings" field.
3258
+ * Currently only "FadeOut" is supported.
3259
+ */
3260
+ export type OutTransition =
3261
+ /**
3262
+ * A fade-out transition. The element gradually becomes invisible over
3263
+ * the specified duration.
3264
+ */
3265
+ {
1075
3266
  type: "FadeOut";
1076
3267
  settings: FadeOutTransitionSettings;
1077
3268
  };
3269
+ /**
3270
+ * Transition configuration for when visibility changes.
3271
+ * Defines enter and exit animations for the When node's children.
3272
+ */
1078
3273
  export interface WhenTransition {
3274
+ /** Transition animations to play when children become visible (predicates become true). */
1079
3275
  inTransition?: null | InTransition[];
3276
+ /** Transition animations to play when children become hidden (predicates become false). */
1080
3277
  outTransition?: null | OutTransition[];
1081
3278
  }
1082
- export type WhenHidden = "visually" | "functionally";
3279
+ /**
3280
+ * Controls the hiding behaviour of When children.
3281
+ * Determines whether hidden children still occupy space in the layout.
3282
+ */
3283
+ export type WhenHidden =
3284
+ /**
3285
+ * Children are visually hidden but remain in the layout (take up space).
3286
+ * Use this when you need to preserve layout dimensions even when content is hidden.
3287
+ */
3288
+ "visually"
3289
+ /**
3290
+ * Children are fully removed from the layout.
3291
+ * They take up no space and do not affect sibling positioning.
3292
+ */
3293
+ | "functionally";
3294
+ /**
3295
+ * Conditional rendering node. Shows or hides its children based on predicate conditions.
3296
+ * All predicates MUST evaluate to true for children to be shown (AND logic).
3297
+ *
3298
+ * Use this node to conditionally display content based on custom state, offer count, or other
3299
+ * predicate conditions. Do NOT nest When nodes unnecessarily; combine predicates in a single
3300
+ * When node instead.
3301
+ */
1083
3302
  export interface WhenModel<Children, Predicates> {
3303
+ /**
3304
+ * Array of conditions that MUST ALL be true for children to render.
3305
+ * Uses AND logic: if any predicate is false, children are hidden.
3306
+ * MUST contain at least one predicate.
3307
+ */
1084
3308
  predicates: Predicates[];
3309
+ /** Child nodes to conditionally show or hide based on the predicates. */
1085
3310
  children: Children[];
3311
+ /**
3312
+ * Optional transition animation configuration for when visibility changes.
3313
+ * Controls how children animate in and out when predicates change.
3314
+ */
1086
3315
  transition?: null | WhenTransition;
3316
+ /**
3317
+ * Controls how hidden children are treated in the layout.
3318
+ * If omitted, defaults to functionally hiding (fully removed from layout).
3319
+ */
1087
3320
  hide?: null | WhenHidden;
1088
3321
  }
3322
+ /** Styling properties for ZStack container layout. ZStack layers children on top of each other. */
1089
3323
  export interface ZStackContainerStylingProperties {
3324
+ /** Controls horizontal positioning of children within the ZStack. */
1090
3325
  justifyContent?: null | FlexJustification;
3326
+ /** Controls vertical positioning of children within the ZStack. */
1091
3327
  alignItems?: null | FlexAlignment;
3328
+ /** Applies a box shadow effect around the container. */
1092
3329
  shadow?: null | Shadow;
3330
+ /** Controls whether content overflowing the container bounds is visible or hidden. */
1093
3331
  overflow?: null | Overflow;
3332
+ /** Applies a Gaussian blur effect. Value is the blur radius in platform units. */
1094
3333
  blur?: null | number;
3334
+ /** The opacity of the container, from 0.0 (fully transparent) to 1.0 (fully opaque). */
1095
3335
  opacity?: null | number;
1096
3336
  }
3337
+ /**
3338
+ * Available style categories for the ZStack element. Each optional field enables a specific
3339
+ * category of visual styling. Omit a field to leave that category unstyled.
3340
+ */
1097
3341
  export interface ZStackStyle {
3342
+ /**
3343
+ * Layout properties for the ZStack container (alignment of stacked children).
3344
+ * MUST be used to control how children are positioned within the stack.
3345
+ */
1098
3346
  container?: null | ZStackContainerStylingProperties;
3347
+ /**
3348
+ * Background color and image properties. Use to set a solid color, gradient, or image
3349
+ * behind the stacked content.
3350
+ */
1099
3351
  background?: null | BackgroundStylingProperties;
3352
+ /**
3353
+ * Border radius, color, width and style properties. Use to add visible borders or
3354
+ * rounded corners to the ZStack.
3355
+ */
1100
3356
  border?: null | BorderStylingProperties;
3357
+ /**
3358
+ * Width, height and rotation properties. Use to explicitly size the ZStack or apply
3359
+ * rotation transforms. Do NOT set width/height if the ZStack should size to its content.
3360
+ */
1101
3361
  dimension?: null | DimensionStylingProperties;
3362
+ /**
3363
+ * Properties controlling this element's behaviour as a child of a flex container.
3364
+ * Use to set flex-grow, flex-shrink, flex-basis, and align-self.
3365
+ */
1102
3366
  flexChild?: null | FlexChildStylingProperties;
3367
+ /** Padding, margin and offset properties. Use to add spacing inside or outside the ZStack. */
1103
3368
  spacing?: null | SpacingStylingProperties;
1104
3369
  }
3370
+ /**
3371
+ * Styleable elements of the ZStack node. The ZStack has a single styleable element: its own
3372
+ * container.
3373
+ */
1105
3374
  export interface ZStackElements {
3375
+ /**
3376
+ * Style blocks for the ZStack container itself. The array represents breakpoint-specific
3377
+ * styles: first item is the default (no breakpoint), subsequent items correspond to
3378
+ * breakpoints in ascending order. MUST contain at least one item for the default style.
3379
+ */
1106
3380
  own: BasicStateStylingBlock<ZStackStyle>[];
1107
3381
  }
3382
+ /**
3383
+ * A layered container that stacks children on top of each other along the z-axis. Later
3384
+ * children render on top of earlier ones. Use for overlapping content such as badges on
3385
+ * images, text overlays, or layered decorative elements. Do NOT use ZStack for simple
3386
+ * sequential layouts; use Row or Column instead.
3387
+ */
1108
3388
  export interface ZStackModel<Children, Predicates> {
3389
+ /**
3390
+ * Accessibility label for screen readers. Omit if the ZStack is purely decorative or its
3391
+ * children already provide sufficient accessible labels. MUST be set when the ZStack
3392
+ * conveys meaning not available from its children alone.
3393
+ */
1109
3394
  a11yLabel?: null | string;
3395
+ /**
3396
+ * Visual styles for this ZStack. See styling documentation for the structure. Omit to use
3397
+ * default (unstyled) rendering.
3398
+ */
1110
3399
  styles?: null | LayoutStyle<ZStackElements, ConditionalStyleTransition<ZStackTransitions, Predicates>>;
3400
+ /**
3401
+ * Child nodes stacked on top of each other within this ZStack. MUST contain at least one
3402
+ * child. Children are rendered in source order, with later children appearing on top of
3403
+ * earlier ones.
3404
+ */
1111
3405
  children: Children[];
1112
3406
  }
3407
+ /** Transition styles for the ZStack node. Use to animate style changes smoothly. */
1113
3408
  export interface ZStackTransitions {
3409
+ /**
3410
+ * Transition properties for the ZStack container. Specifies which style properties
3411
+ * should animate and their duration/easing when values change.
3412
+ */
1114
3413
  own?: null | ZStackStyle;
1115
3414
  }
3415
+ /**
3416
+ * Root node types for a catalog stacked collection item template. Must be a Row or Column
3417
+ * that contains CatalogStackedCollectionTemplateNodeChildren.
3418
+ */
1116
3419
  export type CatalogStackedCollectionTemplateNode = {
1117
3420
  type: "Row";
1118
3421
  node: RowModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
@@ -1120,6 +3423,11 @@ export type CatalogStackedCollectionTemplateNode = {
1120
3423
  type: "Column";
1121
3424
  node: ColumnModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
1122
3425
  };
3426
+ /**
3427
+ * Child node types allowed inside a catalog stacked collection template row or column.
3428
+ * Includes layout containers, text, images, icons, data-bound content, interactive triggers,
3429
+ * catalog response buttons, radio groups, and quantity counters.
3430
+ */
1123
3431
  export type CatalogStackedCollectionTemplateNodeChildren = {
1124
3432
  type: "Row";
1125
3433
  node: RowModel<CatalogStackedCollectionTemplateNodeChildren, LayoutVariantWhenPredicate>;
@@ -1184,8 +3492,28 @@ export type CatalogStackedCollectionTemplateNodeChildren = {
1184
3492
  type: "InlineContainer";
1185
3493
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1186
3494
  };
1187
- export type DimensionHeightFitValue = "wrap-content" | "fit-height";
1188
- export type DimensionWidthFitValue = "wrap-content" | "fit-width";
3495
+ /**
3496
+ * Fit behaviour options for height.
3497
+ * Used as the 'value' inside a {"type": "fit", "value": ...} height specification.
3498
+ */
3499
+ export type DimensionHeightFitValue =
3500
+ /** Shrinks to fit the content height. */
3501
+ "wrap-content"
3502
+ /** Expands to fill the available height. */
3503
+ | "fit-height";
3504
+ /**
3505
+ * Fit behaviour options for width.
3506
+ * Used as the 'value' inside a {"type": "fit", "value": ...} width specification.
3507
+ */
3508
+ export type DimensionWidthFitValue =
3509
+ /** Shrinks to fit the content width. */
3510
+ "wrap-content"
3511
+ /** Expands to fill the available width. */
3512
+ | "fit-width";
3513
+ /**
3514
+ * Node types valid as inline children in the combined SDK schema. Includes text, links,
3515
+ * and interactive inline elements such as buttons and toggles.
3516
+ */
1189
3517
  export type InlineChildren = {
1190
3518
  type: "BasicText";
1191
3519
  node: InlineBasicTextModel<WhenPredicate>;
@@ -1199,7 +3527,18 @@ export type InlineChildren = {
1199
3527
  type: "ToggleButtonStateTrigger";
1200
3528
  node: InlineToggleButtonStateTriggerModel<NonInteractableInlineChildren, WhenPredicate>;
1201
3529
  };
1202
- export type LayoutDisplayPreset = "FULLSCREEN" | "EMBEDDED" | "ATTACHED";
3530
+ /** Controls how the layout is displayed on the page. */
3531
+ export type LayoutDisplayPreset =
3532
+ /** Layout covers the full viewport. */
3533
+ "FULLSCREEN"
3534
+ /** Layout is embedded inline within the page content. */
3535
+ | "EMBEDDED"
3536
+ /** Layout is attached/anchored to a specific position. */
3537
+ | "ATTACHED";
3538
+ /**
3539
+ * All node types supported in the web platform schema. This is the union type used by SDKs.
3540
+ * Layouts are authored using OuterLayoutSchemaModel or LayoutVariantSchemaModel instead.
3541
+ */
1203
3542
  export type LayoutSchemaModel = {
1204
3543
  type: "Row";
1205
3544
  node: RowModel<LayoutSchemaModel, WhenPredicate>;
@@ -1309,6 +3648,11 @@ export type LayoutSchemaModel = {
1309
3648
  type: "InlineContainer";
1310
3649
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1311
3650
  };
3651
+ /**
3652
+ * Recursive child node types allowed within layout variant containers. Includes all layout
3653
+ * variant nodes such as layout, text, images, data-bound content, interactive triggers,
3654
+ * catalog components, and escape hatches.
3655
+ */
1312
3656
  export type LayoutVariantChildren = {
1313
3657
  type: "Row";
1314
3658
  node: RowModel<LayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -1379,7 +3723,27 @@ export type LayoutVariantChildren = {
1379
3723
  type: "PartnerEventButtonTrigger";
1380
3724
  node: PartnerEventButtonTriggerModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
1381
3725
  };
1382
- export type LayoutVariantDomainStateKey = "offerComplete" | "checkout";
3726
+ /**
3727
+ * Keys for accessing application domain state in the layout variant (offer
3728
+ * format) context. Serialized as camelCase strings. These are the domain
3729
+ * state keys available when defining conditional rendering within a layout
3730
+ * variant.
3731
+ */
3732
+ export type LayoutVariantDomainStateKey =
3733
+ /**
3734
+ * Indicates whether the current offer has been completed by the user.
3735
+ * Use to show post-completion content or hide offer-specific elements.
3736
+ */
3737
+ "offerComplete"
3738
+ /**
3739
+ * Indicates the current checkout state. Use to adapt the layout based
3740
+ * on where the user is in the checkout flow.
3741
+ */
3742
+ | "checkout";
3743
+ /**
3744
+ * Node types valid as inline children within layout variants (offer formats). Includes text,
3745
+ * links, partner event triggers, and interactive inline elements scoped to layout variant predicates.
3746
+ */
1383
3747
  export type LayoutVariantInlineChildren = {
1384
3748
  type: "BasicText";
1385
3749
  node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
@@ -1393,6 +3757,11 @@ export type LayoutVariantInlineChildren = {
1393
3757
  type: "ToggleButtonStateTrigger";
1394
3758
  node: InlineToggleButtonStateTriggerModel<LayoutVariantNonInteractableInlineChildren, LayoutVariantWhenPredicate>;
1395
3759
  };
3760
+ /**
3761
+ * Non-interactive child node types within layout variants. Only allows structural containers,
3762
+ * static/data images, basic text, icons, conditional nodes, and escape hatches. Used as
3763
+ * children of interactive elements like buttons and links in layout variants.
3764
+ */
1396
3765
  export type LayoutVariantNonInteractableChildren = {
1397
3766
  type: "Row";
1398
3767
  node: RowModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
@@ -1430,10 +3799,18 @@ export type LayoutVariantNonInteractableChildren = {
1430
3799
  type: "InlineContainer";
1431
3800
  node: InlineContainerModel<LayoutVariantInlineChildren, LayoutVariantWhenPredicate>;
1432
3801
  };
3802
+ /**
3803
+ * Non-interactive inline child nodes within layout variants. Only allows basic text
3804
+ * scoped to layout variant predicates.
3805
+ */
1433
3806
  export type LayoutVariantNonInteractableInlineChildren = {
1434
3807
  type: "BasicText";
1435
3808
  node: InlineBasicTextModel<LayoutVariantWhenPredicate>;
1436
3809
  };
3810
+ /**
3811
+ * Node types valid for use in layout variants (offer formats). Layout variants contain the
3812
+ * offer-specific creative content including images, text, response buttons, and catalog components.
3813
+ */
1437
3814
  export type LayoutVariantSchemaModel = {
1438
3815
  type: "Row";
1439
3816
  node: RowModel<LayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -1504,37 +3881,68 @@ export type LayoutVariantSchemaModel = {
1504
3881
  type: "PartnerEventButtonTrigger";
1505
3882
  node: PartnerEventButtonTriggerModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
1506
3883
  };
1507
- export type LayoutVariantWhenPredicate = {
3884
+ /**
3885
+ * Predicate types available in the layout variant (offer format) context.
3886
+ * This is a subset of predicates that are valid when defining conditional
3887
+ * rendering within a layout variant. Each predicate MUST include a "type"
3888
+ * field and a "predicate" field.
3889
+ */
3890
+ export type LayoutVariantWhenPredicate =
3891
+ /** Tests the viewport width against a breakpoint value. */
3892
+ {
1508
3893
  type: "Breakpoint";
1509
3894
  predicate: BreakpointPredicate;
1510
- } | {
3895
+ }
3896
+ /** Tests the position index of the current item in a collection. */
3897
+ | {
1511
3898
  type: "Position";
1512
3899
  predicate: PositionPredicate;
1513
- } | {
3900
+ }
3901
+ /** Tests which offer index is currently visible. */
3902
+ | {
1514
3903
  type: "Progression";
1515
3904
  predicate: ProgressionPredicate;
1516
- } | {
3905
+ }
3906
+ /** Tests whether dark mode is active. */
3907
+ | {
1517
3908
  type: "DarkMode";
1518
3909
  predicate: DarkModePredicate;
1519
- } | {
3910
+ }
3911
+ /** Tests whether a creative data attribute exists. */
3912
+ | {
1520
3913
  type: "CreativeCopy";
1521
3914
  predicate: CreativeCopyPredicate;
1522
- } | {
3915
+ }
3916
+ /** Evaluates a hardcoded boolean value. */
3917
+ | {
1523
3918
  type: "StaticBoolean";
1524
3919
  predicate: StaticBooleanPredicate;
1525
- } | {
3920
+ }
3921
+ /** Tests a custom state value set by state trigger nodes. */
3922
+ | {
1526
3923
  type: "CustomState";
1527
3924
  predicate: CustomStatePredicate;
1528
- } | {
3925
+ }
3926
+ /** Tests application domain state in the layout variant context. */
3927
+ | {
1529
3928
  type: "DomainState";
1530
3929
  predicate: DomainStatePredicate<LayoutVariantDomainStateKey>;
1531
- } | {
3930
+ }
3931
+ /** Compares a static string input against a value. */
3932
+ | {
1532
3933
  type: "StaticString";
1533
3934
  predicate: StaticStringPredicate;
1534
- } | {
3935
+ }
3936
+ /** Tests placeholder/input values. */
3937
+ | {
1535
3938
  type: "Placeholder";
1536
3939
  predicate: PlaceholderPredicate;
1537
3940
  };
3941
+ /**
3942
+ * Child node types allowed inside modal containers (Overlay, BottomSheet) in the combined
3943
+ * SDK schema. Includes structural, presentational, distribution, and interactive nodes
3944
+ * but excludes nested modals.
3945
+ */
1538
3946
  export type ModalChildren = {
1539
3947
  type: "Row";
1540
3948
  node: RowModel<ModalChildren, WhenPredicate>;
@@ -1611,6 +4019,11 @@ export type ModalChildren = {
1611
4019
  type: "InlineContainer";
1612
4020
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1613
4021
  };
4022
+ /**
4023
+ * Child node types allowed inside modal containers (Overlay, BottomSheet) within outer
4024
+ * layouts. Includes structural, presentational, distribution, and interactive nodes scoped
4025
+ * to outer layout predicates, but excludes nested modals.
4026
+ */
1614
4027
  export type ModalOuterChildren = {
1615
4028
  type: "Row";
1616
4029
  node: RowModel<ModalOuterChildren, OuterLayoutWhenPredicate>;
@@ -1687,6 +4100,11 @@ export type ModalOuterChildren = {
1687
4100
  type: "InlineContainer";
1688
4101
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1689
4102
  };
4103
+ /**
4104
+ * Non-interactive child node types in the combined SDK schema. Only allows structural
4105
+ * containers, static/data images, basic text, icons, conditional nodes, and escape hatches.
4106
+ * Used as children of interactive elements like buttons and links.
4107
+ */
1690
4108
  export type NonInteractableChildren = {
1691
4109
  type: "Row";
1692
4110
  node: RowModel<NonInteractableChildren, WhenPredicate>;
@@ -1724,10 +4142,15 @@ export type NonInteractableChildren = {
1724
4142
  type: "InlineContainer";
1725
4143
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
1726
4144
  };
4145
+ /** Non-interactive inline child nodes in the combined SDK schema. Only allows basic text. */
1727
4146
  export type NonInteractableInlineChildren = {
1728
4147
  type: "BasicText";
1729
4148
  node: InlineBasicTextModel<WhenPredicate>;
1730
4149
  };
4150
+ /**
4151
+ * Recursive child node types allowed within outer layout containers. Includes structural,
4152
+ * distribution, navigation, and presentational nodes scoped to outer layout predicates.
4153
+ */
1731
4154
  export type OuterLayoutChildren = {
1732
4155
  type: "Row";
1733
4156
  node: RowModel<OuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -1804,6 +4227,10 @@ export type OuterLayoutChildren = {
1804
4227
  type: "InlineContainer";
1805
4228
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1806
4229
  };
4230
+ /**
4231
+ * Node types valid as inline children within outer layouts. Includes text, links,
4232
+ * and interactive inline elements scoped to outer layout predicates.
4233
+ */
1807
4234
  export type OuterLayoutInlineChildren = {
1808
4235
  type: "BasicText";
1809
4236
  node: InlineBasicTextModel<OuterLayoutWhenPredicate>;
@@ -1814,6 +4241,11 @@ export type OuterLayoutInlineChildren = {
1814
4241
  type: "ToggleButtonStateTrigger";
1815
4242
  node: InlineToggleButtonStateTriggerModel<OuterLayoutNonInteractableInlineChildren, OuterLayoutWhenPredicate>;
1816
4243
  };
4244
+ /**
4245
+ * Non-interactive child node types within outer layouts. Only allows structural containers,
4246
+ * static images, basic text, icons, conditional nodes, and escape hatches. Used as children
4247
+ * of interactive elements like buttons and links in outer layouts.
4248
+ */
1817
4249
  export type OuterLayoutNonInteractableChildren = {
1818
4250
  type: "Row";
1819
4251
  node: RowModel<OuterLayoutNonInteractableChildren, OuterLayoutWhenPredicate>;
@@ -1845,10 +4277,19 @@ export type OuterLayoutNonInteractableChildren = {
1845
4277
  type: "InlineContainer";
1846
4278
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1847
4279
  };
4280
+ /**
4281
+ * Non-interactive inline child nodes within outer layouts. Only allows basic text
4282
+ * scoped to outer layout predicates.
4283
+ */
1848
4284
  export type OuterLayoutNonInteractableInlineChildren = {
1849
4285
  type: "BasicText";
1850
4286
  node: InlineBasicTextModel<OuterLayoutWhenPredicate>;
1851
4287
  };
4288
+ /**
4289
+ * Node types valid for use in outer layouts. Outer layouts define the frame and offer
4290
+ * distribution but do not contain offer-specific content. They include structural containers,
4291
+ * distribution nodes, navigation controls, and close buttons.
4292
+ */
1852
4293
  export type OuterLayoutSchemaModel = {
1853
4294
  type: "Row";
1854
4295
  node: RowModel<OuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -1931,38 +4372,73 @@ export type OuterLayoutSchemaModel = {
1931
4372
  type: "InlineContainer";
1932
4373
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
1933
4374
  };
1934
- export type OuterLayoutWhenPredicate = {
4375
+ /**
4376
+ * Predicate types available in the outer layout context. This is a more
4377
+ * restricted subset of predicates for use in the outer layout wrapper.
4378
+ * Does NOT include Position, CreativeCopy, or DomainState predicates.
4379
+ * Each predicate MUST include a "type" field and a "predicate" field.
4380
+ */
4381
+ export type OuterLayoutWhenPredicate =
4382
+ /** Tests the viewport width against a breakpoint value. */
4383
+ {
1935
4384
  type: "Breakpoint";
1936
4385
  predicate: BreakpointPredicate;
1937
- } | {
4386
+ }
4387
+ /** Tests which offer index is currently visible. */
4388
+ | {
1938
4389
  type: "Progression";
1939
4390
  predicate: ProgressionPredicate;
1940
- } | {
4391
+ }
4392
+ /** Tests whether dark mode is active. */
4393
+ | {
1941
4394
  type: "DarkMode";
1942
4395
  predicate: DarkModePredicate;
1943
- } | {
4396
+ }
4397
+ /** Evaluates a hardcoded boolean value. */
4398
+ | {
1944
4399
  type: "StaticBoolean";
1945
4400
  predicate: StaticBooleanPredicate;
1946
- } | {
4401
+ }
4402
+ /** Tests a custom state value set by state trigger nodes. */
4403
+ | {
1947
4404
  type: "CustomState";
1948
4405
  predicate: CustomStatePredicate;
1949
- } | {
4406
+ }
4407
+ /** Compares a static string input against a value. */
4408
+ | {
1950
4409
  type: "StaticString";
1951
4410
  predicate: StaticStringPredicate;
1952
- } | {
4411
+ }
4412
+ /** Tests placeholder/input values. */
4413
+ | {
1953
4414
  type: "Placeholder";
1954
4415
  predicate: PlaceholderPredicate;
1955
4416
  };
1956
- export type PlaceholderPredicate = {
4417
+ /**
4418
+ * Predicate for testing placeholder/input values. Use to conditionally
4419
+ * render content based on user input in text fields or numeric inputs.
4420
+ * MUST specify a "type" to indicate which kind of placeholder test to perform.
4421
+ */
4422
+ export type PlaceholderPredicate =
4423
+ /** Tests the text value of a placeholder using string comparison. */
4424
+ {
1957
4425
  type: "TextValue";
1958
4426
  content: DynamicStringPredicate;
1959
- } | {
4427
+ }
4428
+ /** Tests the length of a placeholder text using numeric comparison. */
4429
+ | {
1960
4430
  type: "TextLength";
1961
4431
  content: DynamicIntegerPredicate;
1962
- } | {
4432
+ }
4433
+ /** Tests a numeric placeholder value using numeric comparison. */
4434
+ | {
1963
4435
  type: "Numeric";
1964
4436
  content: DynamicIntegerPredicate;
1965
4437
  };
4438
+ /**
4439
+ * Child node types allowed inside scrollable containers (ScrollableColumn, ScrollableRow)
4440
+ * in the combined SDK schema. Excludes overlay and bottom sheet nodes that cannot scroll.
4441
+ */
1966
4442
  export type ScrollableChildren = {
1967
4443
  type: "Row";
1968
4444
  node: RowModel<ScrollableChildren, WhenPredicate>;
@@ -2051,6 +4527,10 @@ export type ScrollableChildren = {
2051
4527
  type: "InlineContainer";
2052
4528
  node: InlineContainerModel<InlineChildren, WhenPredicate>;
2053
4529
  };
4530
+ /**
4531
+ * Child node types allowed inside scrollable containers within layout variants. Excludes
4532
+ * overlay and bottom sheet nodes, scoped to layout variant predicates. Includes catalog components.
4533
+ */
2054
4534
  export type ScrollableLayoutVariantChildren = {
2055
4535
  type: "Row";
2056
4536
  node: RowModel<ScrollableLayoutVariantChildren, LayoutVariantWhenPredicate>;
@@ -2115,6 +4595,10 @@ export type ScrollableLayoutVariantChildren = {
2115
4595
  type: "PartnerEventButtonTrigger";
2116
4596
  node: PartnerEventButtonTriggerModel<LayoutVariantNonInteractableChildren, LayoutVariantWhenPredicate>;
2117
4597
  };
4598
+ /**
4599
+ * Child node types allowed inside scrollable containers within outer layouts. Excludes overlay
4600
+ * and bottom sheet nodes, scoped to outer layout predicates.
4601
+ */
2118
4602
  export type ScrollableOuterLayoutChildren = {
2119
4603
  type: "Row";
2120
4604
  node: RowModel<ScrollableOuterLayoutChildren, OuterLayoutWhenPredicate>;
@@ -2185,34 +4669,60 @@ export type ScrollableOuterLayoutChildren = {
2185
4669
  type: "InlineContainer";
2186
4670
  node: InlineContainerModel<OuterLayoutInlineChildren, OuterLayoutWhenPredicate>;
2187
4671
  };
2188
- export type WhenPredicate = {
4672
+ /**
4673
+ * All available predicate types for conditional rendering in the full layout
4674
+ * schema. Used with the When node to conditionally show or hide children.
4675
+ * Each predicate MUST include a "type" field to identify the predicate kind
4676
+ * and a "predicate" field containing the predicate configuration.
4677
+ */
4678
+ export type WhenPredicate =
4679
+ /** Tests the viewport width against a breakpoint value. */
4680
+ {
2189
4681
  type: "Breakpoint";
2190
4682
  predicate: BreakpointPredicate;
2191
- } | {
4683
+ }
4684
+ /** Tests the position index of the current item in a collection. */
4685
+ | {
2192
4686
  type: "Position";
2193
4687
  predicate: PositionPredicate;
2194
- } | {
4688
+ }
4689
+ /** Tests which offer index is currently visible. */
4690
+ | {
2195
4691
  type: "Progression";
2196
4692
  predicate: ProgressionPredicate;
2197
- } | {
4693
+ }
4694
+ /** Tests whether dark mode is active. */
4695
+ | {
2198
4696
  type: "DarkMode";
2199
4697
  predicate: DarkModePredicate;
2200
- } | {
4698
+ }
4699
+ /** Tests whether a creative data attribute exists. */
4700
+ | {
2201
4701
  type: "CreativeCopy";
2202
4702
  predicate: CreativeCopyPredicate;
2203
- } | {
4703
+ }
4704
+ /** Evaluates a hardcoded boolean value. */
4705
+ | {
2204
4706
  type: "StaticBoolean";
2205
4707
  predicate: StaticBooleanPredicate;
2206
- } | {
4708
+ }
4709
+ /** Tests a custom state value set by state trigger nodes. */
4710
+ | {
2207
4711
  type: "CustomState";
2208
4712
  predicate: CustomStatePredicate;
2209
- } | {
4713
+ }
4714
+ /** Tests application domain state. */
4715
+ | {
2210
4716
  type: "DomainState";
2211
4717
  predicate: LayoutSchemaDomainStatePredicate;
2212
- } | {
4718
+ }
4719
+ /** Compares a static string input against a value. */
4720
+ | {
2213
4721
  type: "StaticString";
2214
4722
  predicate: StaticStringPredicate;
2215
- } | {
4723
+ }
4724
+ /** Tests placeholder/input values. */
4725
+ | {
2216
4726
  type: "Placeholder";
2217
4727
  predicate: PlaceholderPredicate;
2218
4728
  };