@rokt/dcui-orchestrator 0.1.1-rc.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { PluginCatalogItem, UpsellItem } from '../../../../libraries/domain/src/models';
2
2
  import { InstantPurchase } from '@rokt/partner-integration';
3
- import { FulfillmentDetailsState } from '../models';
3
+ import { FulfillmentDetailsState, VariationSelectionRequiredState } from '../models';
4
4
  export type InitiateInstantPurchasePayload = {
5
5
  catalogItem: PluginCatalogItem;
6
6
  quantity: number;
@@ -47,7 +47,7 @@ export type InstantPurchasePartnerResponse = {
47
47
  type: typeof INSTANT_PURCHASE_PARTNER_RESPONSE;
48
48
  payload: InstantPurchase.CartItemInstantPurchaseResponseMessageBody;
49
49
  };
50
- export declare const INSTANT_PURCHASE_WSDK_RESPONSE = "INSTANT_PURCAHSE/WSDK_RESPONSE";
50
+ export declare const INSTANT_PURCHASE_WSDK_RESPONSE = "INSTANT_PURCHASE/WSDK_RESPONSE";
51
51
  export type InstantPurchaseWsdkResponse = {
52
52
  type: typeof INSTANT_PURCHASE_WSDK_RESPONSE;
53
53
  payload: InstantPurchaseWsdkResponsePayload;
@@ -57,4 +57,9 @@ export type SetFulfillmentDetails = {
57
57
  type: typeof SET_FULFILLMENT_DETAILS;
58
58
  payload: FulfillmentDetailsState;
59
59
  };
60
+ export declare const SET_VARIATION_SELECTION_REQUIRED = "INSTANT_PURCHASE/SET_VARIATION_SELECTION_REQUIRED";
61
+ export type SetVariationSelectionRequired = {
62
+ type: typeof SET_VARIATION_SELECTION_REQUIRED;
63
+ payload: VariationSelectionRequiredState | null;
64
+ };
60
65
  export type InstantPurchaseActions = InitiateInstantPurchase;
@@ -14,9 +14,11 @@ export interface CatalogDropDownTransitions {
14
14
  }
15
15
  export interface CatalogDropDownElements {
16
16
  own: BasicStateStylingBlock<CatalogDropDownStyles>[];
17
+ dropDownContainer?: null | BasicStateStylingBlock<CatalogDropDownStyles>[];
17
18
  dropDownSelectedElement?: null | BasicStateStylingBlock<CatalogDropDownStyles>[];
18
19
  dropDownListContainer?: null | BasicStateStylingBlock<CatalogDropDownStyles>[];
19
20
  dropDownListElement?: null | BasicStateStylingBlock<CatalogDropDownStyles>[];
21
+ requiredSelectionErrorElement?: null | BasicStateStylingBlock<CatalogDropDownStyles>[];
20
22
  }
21
23
  export interface CatalogDropDownOptionData {
22
24
  catalogItem: PluginCatalogItem;
@@ -26,7 +28,8 @@ interface CatalogDropDownModel<NonInteractableChildren, Predicates> {
26
28
  styles?: null | LayoutStyle<CatalogDropDownElements, ConditionalStyleTransition<CatalogDropDownTransitions, Predicates>>;
27
29
  openTemplate: NonInteractableChildren;
28
30
  closedTemplate: NonInteractableChildren;
29
- closedDefaultTemplate?: NonInteractableChildren;
31
+ closedDefaultTemplate: NonInteractableChildren;
32
+ requiredSelectionErrorTemplate?: NonInteractableChildren;
30
33
  options: CatalogDropDownOptionData[];
31
34
  }
32
35
  export interface CatalogDropDownProps {
@@ -0,0 +1,26 @@
1
+ import { ContainerStylingProperties, BorderStylingProperties, DimensionStylingProperties, FlexChildStylingProperties, SpacingStylingProperties, BasicStateStylingBlock, LayoutStyle, ConditionalStyleTransition, WhenPredicate, NonInteractableChildren } from '@rokt/dcui-layout-schema';
2
+ export interface CatalogVariationSelectionButtonStyles {
3
+ container?: null | ContainerStylingProperties;
4
+ border?: null | BorderStylingProperties;
5
+ dimension?: null | DimensionStylingProperties;
6
+ flexChild?: null | FlexChildStylingProperties;
7
+ spacing?: null | SpacingStylingProperties;
8
+ }
9
+ export interface CatalogVariationSelectionButtonElements {
10
+ own: BasicStateStylingBlock<CatalogVariationSelectionButtonStyles>[];
11
+ }
12
+ export interface CatalogVariationSelectionButtonTransitions {
13
+ own?: null | CatalogVariationSelectionButtonStyles;
14
+ }
15
+ export interface CatalogVariationSelectionButtonModel<Children, Predicates> {
16
+ styles?: null | LayoutStyle<CatalogVariationSelectionButtonElements, ConditionalStyleTransition<CatalogVariationSelectionButtonTransitions, Predicates>>;
17
+ children: Children[];
18
+ customStateKey: string;
19
+ customStateValue: number;
20
+ a11yLabel?: null | string;
21
+ }
22
+ export interface CatalogVariationSelectionButtonProps {
23
+ schema: CatalogVariationSelectionButtonModel<NonInteractableChildren, WhenPredicate>;
24
+ testId?: string;
25
+ }
26
+ export declare function CatalogVariationSelectionButton(props: CatalogVariationSelectionButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,6 @@
1
1
  import { RequestFulfillmentDetails, PaymentRequestDetails } from '../../../../../libraries/domain/src/models';
2
2
  export type FulfillmentDetailsState = Partial<RequestFulfillmentDetails> | null;
3
3
  export type PaymentDetailsState = Partial<PaymentRequestDetails> | null;
4
+ export type VariationSelectionTypes = 'variationColor' | 'variationSize' | 'variationUnits' | 'variationCount';
5
+ export type VariationSelectionRequiredType = VariationSelectionTypes | 'default';
6
+ export type VariationSelectionRequiredState = VariationSelectionRequiredType | null;
@@ -1,12 +1,13 @@
1
1
  import { GlobalActions } from '../../../../libraries/domain/src/behaviors';
2
2
  import { ChildLayoutActions, childLayoutsReducer, ChildLayoutsState, StaticData, staticDataReducer, DynamicData, dynamicDataReducer } from '@rokt/module-utils';
3
- import { CatalogSelectionState, FulfillmentDetailsState } from '../models';
3
+ import { CatalogSelectionState, FulfillmentDetailsState, VariationSelectionRequiredState } from '../models';
4
4
  export type AppState = {
5
5
  staticData: StaticData;
6
6
  selectedItem: CatalogSelectionState;
7
7
  dynamicData: DynamicData;
8
8
  childLayouts: ChildLayoutsState;
9
9
  fulfillmentDetails: FulfillmentDetailsState;
10
+ variationSelectionRequired: VariationSelectionRequiredState;
10
11
  };
11
12
  export type StateActions = GlobalActions | ChildLayoutActions;
12
13
  export declare const appReducers: {
@@ -15,5 +16,6 @@ export declare const appReducers: {
15
16
  dynamicData: typeof dynamicDataReducer;
16
17
  childLayouts: typeof childLayoutsReducer;
17
18
  fulfillmentDetails: (state: FulfillmentDetailsState | undefined, action: import("redux").AnyAction) => FulfillmentDetailsState;
19
+ variationSelectionRequired: (state: VariationSelectionRequiredState | undefined, action: import("redux").AnyAction) => VariationSelectionRequiredState;
18
20
  };
19
21
  export declare function makeAppInitialState(data?: Partial<AppState>): AppState;
@@ -1,2 +1,3 @@
1
1
  export * from './fulfillment-details';
2
2
  export * from './utils';
3
+ export * from './variation-selection-required';
@@ -0,0 +1,4 @@
1
+ import { AnyAction } from '@reduxjs/toolkit';
2
+ import { VariationSelectionRequiredState } from '../../../models';
3
+ export declare function makeInitialVariationSelectionRequiredState(): VariationSelectionRequiredState;
4
+ export declare const variationSelectionRequiredReducer: (state: VariationSelectionRequiredState | undefined, action: AnyAction) => VariationSelectionRequiredState;
@@ -3,7 +3,7 @@ import { Log } from '../../../../libraries/domain/src/models';
3
3
  export declare const sagaActionTypes: {
4
4
  readonly INITIATE_INSTANT_PURCHASE: "INSTANT_PURCHASE/INITIATE";
5
5
  readonly INSTANT_PURCHASE_PARTNER_RESPONSE: "INSTANT_PURCHASE/PARTNER_RESPONSE";
6
- readonly INSTANT_PURCHASE_WSDK_RESPONSE: "INSTANT_PURCAHSE/WSDK_RESPONSE";
6
+ readonly INSTANT_PURCHASE_WSDK_RESPONSE: "INSTANT_PURCHASE/WSDK_RESPONSE";
7
7
  readonly RAISE_METRIC: "GLOBAL/RAISE_METRIC";
8
8
  readonly PREPARE_SIGNAL: "GLOBAL/PREPARE_SIGNAL";
9
9
  readonly OFFER_ENGAGEMENT: "GLOBAL/OFFER_ENGAGEMENT";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rokt/dcui-orchestrator",
3
- "version": "0.1.1-rc.4",
3
+ "version": "0.2.0",
4
4
  "description": "Rokt's DCUI rendering process",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",