@veloceapps/sdk 7.0.2-9 → 8.0.0-0

Sign up to get free protection for your applications and to get access to all the features.
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 +0 -40
  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 +1 -1
  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 +31 -8
  140. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +117 -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 +578 -89
  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 +408 -186
  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 +563 -85
  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 +397 -182
  178. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  179. package/package.json +4 -4
  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 +7 -3
  184. package/src/components/guided-selling/guided-selling.component.d.ts +29 -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
1
  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,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;