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