@veloceapps/sdk 7.0.2-9 → 7.0.2-90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/cms/cms.actions.d.ts +102 -11
  2. package/cms/cms.default.d.ts +2 -2
  3. package/cms/components/element-children/element-children.component.d.ts +3 -1
  4. package/cms/components/element-tools-panel/element-tools-panel.component.d.ts +14 -0
  5. package/cms/components/preview/preview.component.d.ts +10 -12
  6. package/cms/components/preview/preview.module.d.ts +2 -1
  7. package/cms/components/preview/preview.types.d.ts +9 -0
  8. package/cms/definitions/index.d.ts +1 -0
  9. package/cms/definitions/ui-builder.definitions.d.ts +6 -0
  10. package/cms/index.d.ts +2 -0
  11. package/cms/injection-tokens.d.ts +2 -4
  12. package/cms/modules/migrations/services/migrations.service.d.ts +1 -1
  13. package/cms/modules/migrations/types/migrations.types.d.ts +1 -1
  14. package/cms/modules/runtime/index.d.ts +1 -0
  15. package/cms/modules/runtime/services/compilation.service.d.ts +3 -2
  16. package/cms/modules/runtime/services/runtime-editor.service.d.ts +6 -4
  17. package/cms/modules/runtime/services/runtime.service.d.ts +6 -2
  18. package/cms/modules/runtime/types/runtime.actions.d.ts +5 -2
  19. package/cms/plugins/element-hover.plugin.d.ts +33 -0
  20. package/cms/plugins/page.plugin.d.ts +15 -0
  21. package/cms/plugins/script.plugin.d.ts +0 -3
  22. package/cms/services/resources.service.d.ts +9 -0
  23. package/cms/types/common.types.d.ts +11 -1
  24. package/cms/types/index.d.ts +2 -0
  25. package/cms/types/integration.types.d.ts +1 -0
  26. package/cms/types/layouts.types.d.ts +30 -2
  27. package/cms/types/pages.types.d.ts +1 -0
  28. package/cms/utils/element.utils.d.ts +1 -1
  29. package/cms/utils/elements-resolver.d.ts +6 -2
  30. package/cms/utils/encoding.utils.d.ts +2 -0
  31. package/cms/utils/index.d.ts +1 -0
  32. package/cms/utils/script.utils.d.ts +2 -0
  33. package/cms/utils/ui-builder-layout.utils.d.ts +4 -0
  34. package/cms/vendor-map.d.ts +16 -19
  35. package/core/core.module.d.ts +2 -0
  36. package/core/directives/directives.module.d.ts +7 -0
  37. package/core/directives/index.d.ts +2 -0
  38. package/core/directives/primeng-calendar.directive.d.ts +14 -0
  39. package/core/index.d.ts +2 -0
  40. package/core/modules/configuration/helpers.d.ts +4 -2
  41. package/core/modules/configuration/index.d.ts +2 -0
  42. package/core/modules/configuration/services/configuration-runtime.service.d.ts +5 -4
  43. package/core/modules/configuration/services/configuration.service.d.ts +13 -7
  44. package/core/modules/configuration/services/configuration.state.d.ts +30 -0
  45. package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
  46. package/core/modules/configuration/types/configuration-runtime.types.d.ts +1 -0
  47. package/core/modules/configuration/types/configuration.types.d.ts +10 -0
  48. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -1
  49. package/core/pipes/date.pipe.d.ts +12 -0
  50. package/core/pipes/index.d.ts +4 -0
  51. package/core/pipes/number.pipe.d.ts +10 -0
  52. package/core/pipes/pipes.module.d.ts +9 -0
  53. package/core/pipes/price.pipe.d.ts +10 -0
  54. package/core/services/index.d.ts +1 -0
  55. package/core/services/runtime-settings.service.d.ts +21 -0
  56. package/core/types/formatting-settings.types.d.ts +11 -0
  57. package/core/types/index.d.ts +1 -0
  58. package/core/types/runtime.types.d.ts +2 -3
  59. package/core/types/ui-definition.types.d.ts +1 -41
  60. package/core/utils/line-item.utils.d.ts +10 -15
  61. package/core/utils/line-item.worker.d.ts +3 -6
  62. package/core/utils/ui-definition.utils.d.ts +1 -1
  63. package/esm2020/cms/cms.actions.mjs +140 -40
  64. package/esm2020/cms/cms.default.mjs +1 -1
  65. package/esm2020/cms/cms.elements.mjs +16 -4
  66. package/esm2020/cms/cms.layouts.mjs +73 -13
  67. package/esm2020/cms/components/element-children/element-children.component.mjs +11 -6
  68. package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +2 -2
  69. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
  70. package/esm2020/cms/components/preview/preview.component.mjs +30 -48
  71. package/esm2020/cms/components/preview/preview.module.mjs +22 -4
  72. package/esm2020/cms/components/preview/preview.types.mjs +1 -1
  73. package/esm2020/cms/definitions/index.mjs +2 -0
  74. package/esm2020/cms/definitions/ui-builder.definitions.mjs +18 -0
  75. package/esm2020/cms/index.mjs +3 -1
  76. package/esm2020/cms/injection-tokens.mjs +1 -2
  77. package/esm2020/cms/modules/migrations/migrations.mjs +10 -3
  78. package/esm2020/cms/modules/migrations/services/migrations.service.mjs +1 -1
  79. package/esm2020/cms/modules/migrations/types/migrations.types.mjs +1 -1
  80. package/esm2020/cms/modules/runtime/index.mjs +2 -1
  81. package/esm2020/cms/modules/runtime/services/compilation.service.mjs +5 -3
  82. package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +5 -3
  83. package/esm2020/cms/modules/runtime/services/runtime.service.mjs +41 -6
  84. package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +1 -1
  85. package/esm2020/cms/plugins/element-hover.plugin.mjs +121 -0
  86. package/esm2020/cms/plugins/page.plugin.mjs +37 -0
  87. package/esm2020/cms/plugins/region.plugin.mjs +3 -2
  88. package/esm2020/cms/plugins/script.plugin.mjs +6 -40
  89. package/esm2020/cms/services/integration.state.mjs +3 -6
  90. package/esm2020/cms/services/io-provider.service.mjs +7 -5
  91. package/esm2020/cms/services/resources.service.mjs +19 -1
  92. package/esm2020/cms/types/common.types.mjs +1 -1
  93. package/esm2020/cms/types/index.mjs +3 -1
  94. package/esm2020/cms/types/integration.types.mjs +1 -1
  95. package/esm2020/cms/types/layouts.types.mjs +70 -1
  96. package/esm2020/cms/types/pages.types.mjs +2 -0
  97. package/esm2020/cms/utils/element.utils.mjs +9 -9
  98. package/esm2020/cms/utils/elements-resolver.mjs +22 -8
  99. package/esm2020/cms/utils/encoding.utils.mjs +28 -0
  100. package/esm2020/cms/utils/index.mjs +2 -1
  101. package/esm2020/cms/utils/script.utils.mjs +42 -0
  102. package/esm2020/cms/utils/ui-builder-layout.utils.mjs +46 -0
  103. package/esm2020/cms/vendor-map.mjs +6 -3
  104. package/esm2020/core/core.module.mjs +33 -4
  105. package/esm2020/core/directives/directives.module.mjs +16 -0
  106. package/esm2020/core/directives/index.mjs +3 -0
  107. package/esm2020/core/directives/primeng-calendar.directive.mjs +41 -0
  108. package/esm2020/core/index.mjs +3 -1
  109. package/esm2020/core/modules/configuration/configuration.module.mjs +5 -2
  110. package/esm2020/core/modules/configuration/helpers.mjs +37 -7
  111. package/esm2020/core/modules/configuration/index.mjs +3 -1
  112. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +28 -19
  113. package/esm2020/core/modules/configuration/services/configuration.service.mjs +68 -28
  114. package/esm2020/core/modules/configuration/services/configuration.state.mjs +142 -0
  115. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +10 -17
  116. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  117. package/esm2020/core/modules/configuration/types/configuration.types.mjs +2 -0
  118. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +4 -4
  119. package/esm2020/core/pipes/date.pipe.mjs +38 -0
  120. package/esm2020/core/pipes/index.mjs +5 -0
  121. package/esm2020/core/pipes/number.pipe.mjs +27 -0
  122. package/esm2020/core/pipes/pipes.module.mjs +18 -0
  123. package/esm2020/core/pipes/price.pipe.mjs +30 -0
  124. package/esm2020/core/services/index.mjs +2 -1
  125. package/esm2020/core/services/quote-draft.service.mjs +1 -1
  126. package/esm2020/core/services/runtime-settings.service.mjs +95 -0
  127. package/esm2020/core/types/formatting-settings.types.mjs +3 -0
  128. package/esm2020/core/types/index.mjs +2 -1
  129. package/esm2020/core/types/runtime.types.mjs +1 -1
  130. package/esm2020/core/types/ui-definition.types.mjs +2 -2
  131. package/esm2020/core/utils/line-item.utils.mjs +24 -11
  132. package/esm2020/core/utils/line-item.worker.mjs +5 -5
  133. package/esm2020/core/utils/ui-definition.utils.mjs +1 -1
  134. package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +2 -2
  135. package/esm2020/runtime/services/runtime-context.service.mjs +8 -5
  136. package/esm2020/runtime/services/runtime.service.mjs +1 -1
  137. package/esm2020/runtime/types/runtime.types.mjs +1 -1
  138. package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
  139. package/esm2020/src/components/doc-gen/doc-gen.component.mjs +34 -15
  140. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +114 -0
  141. package/esm2020/src/components/guided-selling/guided-selling.module.mjs +19 -0
  142. package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +5 -6
  143. package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +7 -4
  144. package/esm2020/src/components/header/header.component.mjs +46 -36
  145. package/esm2020/src/components/header/header.module.mjs +7 -3
  146. package/esm2020/src/components/header/metrics/metrics.component.mjs +35 -7
  147. package/esm2020/src/components/header/metrics/metrics.module.mjs +7 -3
  148. package/esm2020/src/flow-routing.module.mjs +1 -1
  149. package/esm2020/src/flow.component.mjs +4 -3
  150. package/esm2020/src/flow.module.mjs +11 -6
  151. package/esm2020/src/guards/context.guard.mjs +11 -8
  152. package/esm2020/src/pages/assets/assets.component.mjs +3 -3
  153. package/esm2020/src/pages/catalog/catalog.component.mjs +4 -4
  154. package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +4 -4
  155. package/esm2020/src/pages/product/product.component.mjs +52 -61
  156. package/esm2020/src/pages/remote/remote.component.mjs +19 -19
  157. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +4 -4
  158. package/esm2020/src/services/flow-dialog.service.mjs +15 -15
  159. package/esm2020/src/services/flow-router.service.mjs +10 -5
  160. package/esm2020/src/services/flow.service.mjs +2 -2
  161. package/esm2020/src/services/guided-selling.service.mjs +33 -0
  162. package/esm2020/src/types/flow-customization.types.mjs +1 -1
  163. package/fesm2015/veloceapps-sdk-cms.mjs +947 -440
  164. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  165. package/fesm2015/veloceapps-sdk-core.mjs +579 -90
  166. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  167. package/fesm2015/veloceapps-sdk-runtime.mjs +7 -4
  168. package/fesm2015/veloceapps-sdk-runtime.mjs.map +1 -1
  169. package/fesm2015/veloceapps-sdk.mjs +435 -216
  170. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  171. package/fesm2020/veloceapps-sdk-cms.mjs +1027 -442
  172. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  173. package/fesm2020/veloceapps-sdk-core.mjs +564 -86
  174. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  175. package/fesm2020/veloceapps-sdk-runtime.mjs +7 -4
  176. package/fesm2020/veloceapps-sdk-runtime.mjs.map +1 -1
  177. package/fesm2020/veloceapps-sdk.mjs +424 -212
  178. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  179. package/package.json +1 -1
  180. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +3 -3
  181. package/runtime/services/runtime.service.d.ts +2 -2
  182. package/runtime/types/runtime.types.d.ts +2 -2
  183. package/src/components/doc-gen/doc-gen.component.d.ts +8 -7
  184. package/src/components/guided-selling/guided-selling.component.d.ts +27 -0
  185. package/src/components/guided-selling/guided-selling.module.d.ts +9 -0
  186. package/src/components/header/cart-overlay/cart-preview.component.d.ts +1 -1
  187. package/src/components/header/cart-overlay/cart-preview.module.d.ts +1 -1
  188. package/src/components/header/header.component.d.ts +3 -4
  189. package/src/components/header/header.module.d.ts +2 -1
  190. package/src/components/header/metrics/metrics.component.d.ts +10 -2
  191. package/src/components/header/metrics/metrics.module.d.ts +2 -1
  192. package/src/flow.module.d.ts +6 -5
  193. package/src/guards/context.guard.d.ts +3 -2
  194. package/src/pages/assets/assets.component.d.ts +2 -1
  195. package/src/pages/catalog/catalog.component.d.ts +2 -1
  196. package/src/pages/product/product.component.d.ts +13 -21
  197. package/src/pages/remote/remote.component.d.ts +4 -4
  198. package/src/pages/shopping-cart/shopping-cart.component.d.ts +2 -1
  199. package/src/services/flow-router.service.d.ts +3 -1
  200. package/src/services/guided-selling.service.d.ts +13 -0
  201. package/src/types/flow-customization.types.d.ts +4 -4
@@ -1,9 +1,9 @@
1
1
  import * as angularCore from '@angular/core';
2
2
  import * as angularForms from '@angular/forms';
3
3
  import { CatalogApiService, ConfigurationSettingsApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, GuidedSellingApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService } from '@veloceapps/api';
4
- import { ToastService } from '@veloceapps/components';
4
+ import { ToastService, ToastType } from '@veloceapps/components';
5
5
  import { Operator, Predicate, parseJsonSafely } from '@veloceapps/core';
6
- import { ConfigurationService, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloceapps/sdk/core';
6
+ import { ConfigurationService, ConfigurationState, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService, RuntimeSettingsService } from '@veloceapps/sdk/core';
7
7
  import lodash from 'lodash';
8
8
  import * as rxjs from 'rxjs';
9
9
  import * as rxjsOperators from 'rxjs/operators';
@@ -25,6 +25,7 @@ export declare const vendorMap: {
25
25
  };
26
26
  '@veloceapps/components': {
27
27
  ToastService: typeof ToastService;
28
+ ToastType: typeof ToastType;
28
29
  };
29
30
  '@veloceapps/api': {
30
31
  SalesforceApiService: typeof SalesforceApiService;
@@ -45,38 +46,35 @@ export declare const vendorMap: {
45
46
  findLineItemWithComparator: (lineItems: import("@veloceapps/core").LineItem[], comparator: (li: import("@veloceapps/core").LineItem) => boolean) => import("@veloceapps/core").LineItem | undefined;
46
47
  insertLineItem: (lineItem: import("@veloceapps/core").LineItem, parentId: string, toInsert: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
47
48
  removeLineItem: (lineItem: import("@veloceapps/core").LineItem, idToRemove: string) => import("@veloceapps/core").LineItem;
48
- replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
49
+ replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem, skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
49
50
  calculateCardinalityVariables: (lineItems: import("@veloceapps/core").LineItem[]) => Map<string, number>;
50
51
  recalculateCardinalityVariables: (original: import("@veloceapps/core").LineItem, updated: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
51
52
  mapAttributes: (attributes: import("@veloceapps/core").Attribute[]) => lodash.Dictionary<any>;
52
53
  getAttributes: (attributes: import("@veloceapps/core").Attribute[], names?: string[] | undefined) => import("@veloceapps/core").Attribute[];
53
- upsertAttributes: (originalAttributes: import("@veloceapps/core").Attribute[], attributesToUpsert: {
54
- name: string;
55
- value: any;
56
- }[]) => import("@veloceapps/core").Attribute[];
57
- patchAttributes: (rootLineItem: import("@veloceapps/core").LineItem, id: string, attrs: {
58
- name: string;
59
- value: any;
60
- }[]) => import("@veloceapps/core").LineItem;
54
+ upsertAttributes: (originalAttributes: import("@veloceapps/core").Attribute[], attributesToUpsert: import("@veloceapps/core").NewAttribute[]) => import("@veloceapps/core").Attribute[];
55
+ patchAttributes: (rootLineItem: import("@veloceapps/core").LineItem, id: string, attrs: import("@veloceapps/core").NewAttribute[], skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
61
56
  getAttributeValue: (attributes: import("@veloceapps/core").Attribute[], name: string) => any;
62
- generateLineItem: (port: string, type: string, parentId: string, attributes?: {
63
- name: string;
64
- value: any;
65
- }[] | undefined, lineItems?: import("@veloceapps/core").LineItem[] | undefined) => import("@veloceapps/core").LineItem;
57
+ generateLineItem: (port: string, type: string, parentId: string, attributes?: import("@veloceapps/core").NewAttribute[] | undefined, lineItems?: import("@veloceapps/core").LineItem[] | undefined) => import("@veloceapps/core").LineItem;
66
58
  getRecommendedPrices: (portDomain: import("@veloceapps/core").PortDomain, type: string) => {
67
59
  net: number;
68
60
  list: number;
69
61
  };
70
62
  generateModifiedAssetsMap: (lineItems: import("@veloceapps/core").LineItem[]) => Record<string, boolean>;
71
63
  getOriginParent: (lineItems: import("@veloceapps/core").LineItem[], currentLineItem: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem | undefined;
72
- isLineItemModified: (lineItem: import("@veloceapps/core").LineItem) => boolean;
64
+ isLineItemModified: <T_1 extends Pick<import("@veloceapps/core").LineItem, "actionCode" | "status">>(lineItem: T_1) => boolean;
73
65
  multiplyLineItems: (lineItem: import("@veloceapps/core").LineItem, qty: number, split: boolean) => import("@veloceapps/core").LineItem[];
66
+ isTechnicalAttribute: (name: string) => boolean;
67
+ filterOutTechnicalAttributes: <T_2 extends {
68
+ name: string;
69
+ }>(attributes: T_2[]) => T_2[];
74
70
  ConfigurationService: typeof ConfigurationService;
71
+ ConfigurationState: typeof ConfigurationState;
75
72
  QuoteDraftService: typeof QuoteDraftService;
76
73
  FlowConfigurationService: typeof FlowConfigurationService;
77
74
  LineItemWorker: typeof LineItemWorker;
78
75
  ProductImagesService: typeof ProductImagesService;
79
76
  ContextService: typeof ContextService;
77
+ RuntimeSettingsService: typeof RuntimeSettingsService;
80
78
  };
81
79
  '@veloceapps/sdk/cms': {
82
80
  TemplatesService: typeof TemplatesService;
@@ -99,11 +97,10 @@ export declare const vendorMap: {
99
97
  }) => import("@veloceapps/sdk/cms").IntegrationAction<any>;
100
98
  CmsAction: typeof cmsActions.CmsAction;
101
99
  DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
102
- UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/core").UIDefinitionMetadata>;
100
+ UI_DEFINITION_METADATA: angularCore.InjectionToken<import("@veloceapps/core").UIDefinitionMetadata>;
103
101
  ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
104
- SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata>;
102
+ SHARED_ELEMENT_METADATA: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementMetadata | undefined>;
105
103
  ELEMENT_CONFIG: angularCore.InjectionToken<import("@veloceapps/sdk/cms").ElementConfig>;
106
- VENDOR_MAP: angularCore.InjectionToken<lodash.Dictionary<any>>;
107
104
  };
108
105
  };
109
106
  export type VendorMap = typeof vendorMap;
@@ -1,6 +1,8 @@
1
+ import { FormattingSettings } from './types';
1
2
  import * as i0 from "@angular/core";
2
3
  import * as i1 from "./modules/configuration/configuration.module";
3
4
  import * as i2 from "./modules/flow-configuration/flow-configuration.module";
5
+ export declare const DEFAULT_FORMATTING_SETTINGS: FormattingSettings;
4
6
  export declare class SdkCoreModule {
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SdkCoreModule, never>;
6
8
  static ɵmod: i0.ɵɵNgModuleDeclaration<SdkCoreModule, never, [typeof i1.ConfigurationModule, typeof i2.FlowConfigurationModule], never>;
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./primeng-calendar.directive";
3
+ export declare class SdkDirectivesModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdkDirectivesModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SdkDirectivesModule, [typeof i1.CalendarDirective], never, [typeof i1.CalendarDirective]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<SdkDirectivesModule>;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './directives.module';
2
+ export * from './primeng-calendar.directive';
@@ -0,0 +1,14 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { Calendar } from 'primeng/calendar';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CalendarDirective implements OnInit, OnDestroy {
5
+ set vlCalendar(calendar: Calendar);
6
+ private calendar;
7
+ private ngControl;
8
+ private formattingSettings;
9
+ private destroy$;
10
+ ngOnDestroy(): void;
11
+ ngOnInit(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalendarDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CalendarDirective, "[vlCalendar]", never, { "vlCalendar": "vlCalendar"; }, {}, never, never, false, never>;
14
+ }
package/core/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './core.module';
2
+ export * from './directives';
2
3
  export * from './modules';
4
+ export * from './pipes';
3
5
  export * from './services';
4
6
  export * from './types';
5
7
  export * from './utils';
@@ -1,3 +1,5 @@
1
- import { LineItem } from '@veloceapps/core';
2
- import { RuntimeContext, UIDefinitionProps } from '../../types';
1
+ import { ConfigurationRequest, LineItem, UIDefinitionProps } from '@veloceapps/core';
2
+ import { RuntimeContext } from '../../types';
3
+ import { GuidedSellingSubmitData } from './types/configuration.types';
3
4
  export declare const getDefaultLineItem: (context: RuntimeContext, uiDefinitionProperties: UIDefinitionProps, qty?: number) => LineItem;
5
+ export declare const getGuidedSellingConfigurationRequest: (data: GuidedSellingSubmitData) => ConfigurationRequest;
@@ -1,4 +1,6 @@
1
1
  export * from './helpers';
2
2
  export * from './services/configuration-runtime.service';
3
3
  export * from './services/configuration.service';
4
+ export * from './services/configuration.state';
4
5
  export * from './types/configuration-runtime.types';
6
+ export * from './types/configuration.types';
@@ -1,8 +1,8 @@
1
1
  import { ConfigurationApiService } from '@veloceapps/api';
2
- import { RuntimeModel } from '@veloceapps/core';
2
+ import { RuntimeModel, UIDefinitionContainer, UIDefinitionProps } from '@veloceapps/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { ContextService } from '../../../services/context.service';
5
- import { RuntimeContext, UIDefinition, UIDefinitionProps } from '../../../types';
5
+ import { RuntimeContext } from '../../../types';
6
6
  import { RuntimeInitializationProps } from '../types/configuration-runtime.types';
7
7
  import { RuntimeContextService } from './runtime-context.service';
8
8
  import * as i0 from "@angular/core";
@@ -16,8 +16,9 @@ export declare class ConfigurationRuntimeService {
16
16
  uiDefinitionProperties: UIDefinitionProps;
17
17
  constructor(apiService: ConfigurationApiService, contextService: ContextService, runtimeContextService: RuntimeContextService);
18
18
  reset(): void;
19
- initTestMode(modelId: string, uiDefinition: UIDefinition): any;
20
- init(props: RuntimeInitializationProps): Observable<RuntimeContext | undefined>;
19
+ initTestMode(uiDefinitionContainer: UIDefinitionContainer): Observable<RuntimeContext>;
20
+ init(props: RuntimeInitializationProps): Observable<RuntimeContext>;
21
+ overrideUIDefinition(uiDefinitionContainer: UIDefinitionContainer): void;
21
22
  private id15to18;
22
23
  get isInitialized(): boolean;
23
24
  get runtimeModel(): RuntimeModel | undefined;
@@ -1,5 +1,5 @@
1
1
  import { ConfigurationApiService } from '@veloceapps/api';
2
- import { Charge, CompiledPricePlan, ConfigurationContext, LineItem, RuntimeModel } from '@veloceapps/core';
2
+ import { Charge, CompiledPricePlan, ConfigurationContext, ConfigurationRequest, ConfigurePrice, LineItem, PatchLineItemOptions, RuntimeModel } from '@veloceapps/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { MessageService } from 'primeng/api';
5
5
  import { DialogService } from 'primeng/dynamicdialog';
@@ -7,6 +7,7 @@ import { Observable } from 'rxjs';
7
7
  import { ContextService } from '../../../services/context.service';
8
8
  import { QuoteDraftService } from '../../../services/quote-draft.service';
9
9
  import { RuntimeContext } from '../../../types';
10
+ import { ExternalConfigurationProps, GuidedSellingSubmitData } from '../types/configuration.types';
10
11
  import { ConfigurationRuntimeService } from './configuration-runtime.service';
11
12
  import * as i0 from "@angular/core";
12
13
  export declare class ConfigurationService {
@@ -21,16 +22,18 @@ export declare class ConfigurationService {
21
22
  private lineItem;
22
23
  private charges;
23
24
  private pricePlans;
25
+ private isLoadingSubj$;
26
+ isLoading$: Observable<boolean>;
24
27
  hasUnsavedChanges: boolean;
25
28
  constructor(quoteDraftService: QuoteDraftService, runtimeService: ConfigurationRuntimeService, contextService: ContextService, configurationApiService: ConfigurationApiService, messageService: MessageService, dialogService: DialogService);
26
29
  reset(): void;
27
- patch$(lineItem: LineItem): Observable<LineItem>;
28
- patch(lineItem: LineItem): void;
30
+ patch$(lineItem: LineItem, options?: PatchLineItemOptions): Observable<LineItem>;
31
+ patch(lineItem: LineItem, options?: PatchLineItemOptions): void;
29
32
  setConfigurableRamp(lineItem: LineItem): void;
30
33
  get(): Observable<LineItem | undefined>;
31
34
  getSnapshot(): LineItem | undefined;
32
- getRuntimeModel(): RuntimeModel | undefined;
33
- getRuntimeContext(): RuntimeContext | undefined;
35
+ getRuntimeModel(): RuntimeModel;
36
+ getRuntimeContext(): RuntimeContext;
34
37
  get contextSnapshot(): ConfigurationContext;
35
38
  get context$(): Observable<ConfigurationContext>;
36
39
  get charges$(): Observable<Dictionary<Charge>>;
@@ -38,8 +41,11 @@ export declare class ConfigurationService {
38
41
  get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
39
42
  get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
40
43
  configure(): Observable<LineItem>;
41
- configureExternal$(productId: string, qty?: number): Observable<LineItem>;
42
- private createRequest;
44
+ configureRequest$(configurationRequest: ConfigurationRequest): Observable<LineItem>;
45
+ configureExternal$(props: ExternalConfigurationProps): Observable<LineItem>;
46
+ configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<ConfigurePrice>;
47
+ generateRequest(): ConfigurationRequest;
48
+ private getUIDefinitionProperties;
43
49
  private showInactiveProductsConfirmation;
44
50
  private getAsset;
45
51
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
@@ -0,0 +1,30 @@
1
+ import { StatefulConfigurationApiService } from '@veloceapps/api';
2
+ import { ToastService } from '@veloceapps/components';
3
+ import { ConfigurationExecuteRequest } from '@veloceapps/core';
4
+ import { Observable } from 'rxjs';
5
+ import { ConfigurationRuntimeService } from './configuration-runtime.service';
6
+ import { ConfigurationService } from './configuration.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ConfigurationState {
9
+ private statefulConfigurationApiService;
10
+ private runtimeService;
11
+ private configurationService;
12
+ private toastService;
13
+ private readonly stateSubj$;
14
+ state$: Observable<Record<string, unknown>>;
15
+ private stateId;
16
+ constructor(statefulConfigurationApiService: StatefulConfigurationApiService, runtimeService: ConfigurationRuntimeService, configurationService: ConfigurationService, toastService: ToastService);
17
+ init$(): Observable<void>;
18
+ cleanup(): void;
19
+ execute$(req: ConfigurationExecuteRequest): Observable<void>;
20
+ dispatch$(actionName: string, inputData: unknown): Observable<void>;
21
+ select$(selectorName: string, inputData: unknown): Observable<unknown>;
22
+ private get isStatefulConfiguration();
23
+ private executeStateless$;
24
+ private executeStateful$;
25
+ private executeActionScript;
26
+ private executeSelectorScript;
27
+ private executeProcessorScript;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationState, never>;
29
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationState>;
30
+ }
@@ -6,7 +6,7 @@ export declare class RuntimeContextService {
6
6
  private configurationApiService;
7
7
  constructor(configurationApiService: ConfigurationApiService);
8
8
  getRuntimeContext(productId: string, offeringId?: string): Observable<RuntimeContext>;
9
- private getUIDefinition;
9
+ private getUIDefinitionContainer;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeContextService, never>;
11
11
  static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeContextService>;
12
12
  }
@@ -2,4 +2,5 @@ export interface RuntimeInitializationProps {
2
2
  productId: string;
3
3
  offeringId?: string;
4
4
  defaultQty?: number;
5
+ attributesMap?: Record<string, any>;
5
6
  }
@@ -0,0 +1,10 @@
1
+ export interface GuidedSellingSubmitData {
2
+ modelId: string;
3
+ modelType: string;
4
+ attributesMap: Record<string, any>;
5
+ }
6
+ export interface ExternalConfigurationProps {
7
+ productId: string;
8
+ qty?: number;
9
+ attributesMap?: Record<string, any>;
10
+ }
@@ -4,6 +4,7 @@ import { Dictionary } from 'lodash';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ContextService } from '../../../services/context.service';
6
6
  import { QuoteDraftService } from '../../../services/quote-draft.service';
7
+ import { ExternalConfigurationProps } from '../../configuration';
7
8
  import { ConfigurationService } from '../../configuration/services/configuration.service';
8
9
  import { FlowUpdateParams } from '../types/update.types';
9
10
  import { FlowUpdateService } from './flow-update.service';
@@ -24,7 +25,7 @@ export declare class FlowConfigurationService {
24
25
  delete$(ids: string[]): Observable<QuoteDraft | null>;
25
26
  delete(ids: string[]): void;
26
27
  addTerm$(term: LineItem): Observable<QuoteDraft | null>;
27
- addToCart$(productId: string, qty?: number): Observable<QuoteDraft | null>;
28
+ addToCart$(props: ExternalConfigurationProps): Observable<QuoteDraft | null>;
28
29
  get(): Observable<LineItem[]>;
29
30
  getSnapshot(): LineItem[];
30
31
  get charges$(): Observable<Dictionary<Charge>>;
@@ -0,0 +1,12 @@
1
+ import { OnDestroy, PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DatePipe implements PipeTransform, OnDestroy {
4
+ private locale;
5
+ private defaultOptions;
6
+ private formattingSettings;
7
+ private destroy$;
8
+ ngOnDestroy(): void;
9
+ transform(date: string | number | Date | undefined | null): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatePipe, never>;
11
+ static ɵpipe: i0.ɵɵPipeDeclaration<DatePipe, "vlDate", false>;
12
+ }
@@ -0,0 +1,4 @@
1
+ export * from './date.pipe';
2
+ export * from './number.pipe';
3
+ export * from './pipes.module';
4
+ export * from './price.pipe';
@@ -0,0 +1,10 @@
1
+ import { OnDestroy, PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NumberPipe implements PipeTransform, OnDestroy {
4
+ private formattingSettings;
5
+ private destroy$;
6
+ ngOnDestroy(): void;
7
+ transform(price: string | number): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberPipe, never>;
9
+ static ɵpipe: i0.ɵɵPipeDeclaration<NumberPipe, "vlNumber", false>;
10
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./number.pipe";
3
+ import * as i2 from "./price.pipe";
4
+ import * as i3 from "./date.pipe";
5
+ export declare class SdkPipesModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdkPipesModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SdkPipesModule, [typeof i1.NumberPipe, typeof i2.PricePipe, typeof i3.DatePipe], never, [typeof i1.NumberPipe, typeof i2.PricePipe, typeof i3.DatePipe]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<SdkPipesModule>;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { OnDestroy, PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PricePipe implements PipeTransform, OnDestroy {
4
+ private formattingSettings;
5
+ private destroy$;
6
+ ngOnDestroy(): void;
7
+ transform(price: string | number): string;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<PricePipe, never>;
9
+ static ɵpipe: i0.ɵɵPipeDeclaration<PricePipe, "vlPrice", false>;
10
+ }
@@ -2,3 +2,4 @@ export * from './context.service';
2
2
  export * from './metric-calculation/metric-calculation.service';
3
3
  export * from './product-images.service';
4
4
  export * from './quote-draft.service';
5
+ export * from './runtime-settings.service';
@@ -0,0 +1,21 @@
1
+ import { ConfigurationSettingsApiService } from '@veloceapps/api';
2
+ import { RuntimeConfigurationSettings, RuntimeCurrencySettings } from '@veloceapps/core';
3
+ import { Observable } from 'rxjs';
4
+ import { FormattingSettings } from '../types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class RuntimeSettingsService {
7
+ private configurationSettingsApiService;
8
+ private configurationSettings$;
9
+ private currencySettings$;
10
+ private formattingSettings;
11
+ constructor(configurationSettingsApiService: ConfigurationSettingsApiService);
12
+ create(): Observable<void>;
13
+ initCurrency(iso?: string): void;
14
+ getFormattingSettings(): FormattingSettings;
15
+ getConfigurationSettings(): RuntimeConfigurationSettings;
16
+ getCurrencySettings(): RuntimeCurrencySettings;
17
+ private parseConfigurationSettings;
18
+ private getCurrencySymbol;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeSettingsService, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeSettingsService>;
21
+ }
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { Prettify, VlDateSettings } from '@veloceapps/core';
3
+ export declare const FORMATTING_SETTINGS_TOKEN: InjectionToken<{
4
+ getFormattingSettings: (...args: unknown[]) => FormattingSettings;
5
+ }>;
6
+ export type FormattingSettings = Prettify<{
7
+ currencySymbol: string;
8
+ thousandsSeparator: string;
9
+ decimalSeparator: string;
10
+ decimalsCount: number;
11
+ } & VlDateSettings>;
@@ -1,2 +1,3 @@
1
+ export * from './formatting-settings.types';
1
2
  export * from './runtime.types';
2
3
  export * from './ui-definition.types';
@@ -1,5 +1,4 @@
1
- import { ContextProperties, RuntimeModel } from '@veloceapps/core';
2
- import { UIDefinition } from './ui-definition.types';
1
+ import { ContextProperties, RuntimeModel, UIDefinitionContainer } from '@veloceapps/core';
3
2
  export declare enum RuntimeMode {
4
3
  TEST = 0,
5
4
  PROD = 1
@@ -20,7 +19,7 @@ export interface RuntimeContext {
20
19
  modelId: string;
21
20
  runtimeMode: RuntimeMode;
22
21
  runtimeModel: RuntimeModel;
23
- uiDefinition?: UIDefinition;
22
+ uiDefinitionContainer?: UIDefinitionContainer;
24
23
  productId?: string;
25
24
  productName?: string;
26
25
  productType?: string;
@@ -1,41 +1 @@
1
- export type UIDefinitionType = 'DEFAULT' | 'CONFIGURATION';
2
- export declare const UI_DEFINITION_VERSION = 3;
3
- export type UIExternalsType = Record<string, string | number | boolean>;
4
- export interface UIDefinitionProps {
5
- suppressToastMessages?: boolean;
6
- rootType?: string;
7
- pricingEnabled?: boolean;
8
- priceList?: string;
9
- productId?: string;
10
- }
11
- export interface UIDefinitionMetadata {
12
- name: string;
13
- type: UIDefinitionType;
14
- properties?: UIDefinitionProps;
15
- primary: boolean;
16
- createdTimestamp: number;
17
- externals?: UIExternalsType;
18
- version: number;
19
- }
20
- export interface UIDefinition extends UIDefinitionMetadata {
21
- /**
22
- * `children` is for simple previews only.
23
- * For applications use `pages` property instead
24
- */
25
- children?: UIElement[];
26
- /**
27
- * The page is an Element with `type: 'PAGE'`
28
- */
29
- pages?: UIElement[];
30
- /**
31
- * Shared components
32
- * These are not rendered on the screen, and only used by REFERENCE type elements
33
- */
34
- components?: UIElement[];
35
- }
36
- export interface UIElement {
37
- children: UIElement[];
38
- template?: string;
39
- script?: string;
40
- styles?: string;
41
- }
1
+ export declare const UI_DEFINITION_VERSION = 2;
@@ -1,32 +1,27 @@
1
- import { Attribute, LineItem, PortDomain } from '@veloceapps/core';
1
+ import { Attribute, LineItem, NewAttribute, PortDomain } from '@veloceapps/core';
2
2
  import { Dictionary } from 'lodash';
3
3
  export declare const findLineItem: (id: string, lineItems: LineItem[]) => LineItem | undefined;
4
4
  export declare const findLineItemWithComparator: (lineItems: LineItem[], comparator: (li: LineItem) => boolean) => LineItem | undefined;
5
5
  export declare const insertLineItem: (lineItem: LineItem, parentId: string, toInsert: LineItem) => LineItem;
6
6
  export declare const removeLineItem: (lineItem: LineItem, idToRemove: string) => LineItem;
7
- export declare const replaceLineItem: (lineItem: LineItem, replaceTo: LineItem) => LineItem;
7
+ export declare const replaceLineItem: (lineItem: LineItem, replaceTo: LineItem, skipCardinalityCalculation?: boolean) => LineItem;
8
8
  export declare const calculateCardinalityVariables: (lineItems: LineItem[]) => Map<string, number>;
9
9
  export declare const recalculateCardinalityVariables: (original: LineItem, updated: LineItem) => LineItem;
10
10
  export declare const mapAttributes: (attributes: Attribute[]) => Dictionary<any>;
11
11
  export declare const getAttributes: (attributes: Attribute[], names?: string[]) => Attribute[];
12
- export declare const upsertAttributes: (originalAttributes: Attribute[], attributesToUpsert: {
13
- name: string;
14
- value: any;
15
- }[]) => Attribute[];
16
- export declare const patchAttributes: (rootLineItem: LineItem, id: string, attrs: {
17
- name: string;
18
- value: any;
19
- }[]) => LineItem;
12
+ export declare const upsertAttributes: (originalAttributes: Attribute[], attributesToUpsert: NewAttribute[]) => Attribute[];
13
+ export declare const patchAttributes: (rootLineItem: LineItem, id: string, attrs: NewAttribute[], skipCardinalityCalculation?: boolean) => LineItem;
20
14
  export declare const getAttributeValue: (attributes: Attribute[], name: string) => any;
21
- export declare const generateLineItem: (port: string, type: string, parentId: string, attributes?: {
22
- name: string;
23
- value: any;
24
- }[], lineItems?: LineItem[]) => LineItem;
15
+ export declare const generateLineItem: (port: string, type: string, parentId: string, attributes?: NewAttribute[], lineItems?: LineItem[]) => LineItem;
25
16
  export declare const getRecommendedPrices: (portDomain: PortDomain, type: string) => {
26
17
  net: number;
27
18
  list: number;
28
19
  };
29
20
  export declare const generateModifiedAssetsMap: (lineItems: LineItem[]) => Record<string, boolean>;
30
21
  export declare const getOriginParent: (lineItems: LineItem[], currentLineItem: LineItem) => LineItem | undefined;
31
- export declare const isLineItemModified: (lineItem: LineItem) => boolean;
22
+ export declare const isLineItemModified: <T extends Pick<LineItem, "actionCode" | "status">>(lineItem: T) => boolean;
32
23
  export declare const multiplyLineItems: (lineItem: LineItem, qty: number, split: boolean) => LineItem[];
24
+ export declare const isTechnicalAttribute: (name: string) => boolean;
25
+ export declare const filterOutTechnicalAttributes: <T extends {
26
+ name: string;
27
+ }>(attributes: T[]) => T[];
@@ -1,12 +1,9 @@
1
- import { LineItem } from '@veloceapps/core';
1
+ import { LineItem, NewAttribute } from '@veloceapps/core';
2
2
  export declare class LineItemWorker {
3
3
  li: LineItem;
4
4
  constructor(src: LineItem);
5
5
  insert(parentId: string, toInsert: LineItem): LineItemWorker;
6
6
  remove(id: string): LineItemWorker;
7
- replace(toReplace: LineItem): LineItemWorker;
8
- patchAttribute(attrs: {
9
- name: string;
10
- value: any;
11
- }[], id?: string): LineItemWorker;
7
+ replace(toReplace: LineItem, skipCardinalityCalculation?: boolean): LineItemWorker;
8
+ patchAttribute(attrs: NewAttribute[], id?: string, skipCardinalityCalculation?: boolean): LineItemWorker;
12
9
  }
@@ -1,2 +1,2 @@
1
- import { UIDefinition, UIDefinitionMetadata } from '../types';
1
+ import { UIDefinition, UIDefinitionMetadata } from '@veloceapps/core';
2
2
  export declare function extractMetadata(uiDefinition: UIDefinition): UIDefinitionMetadata;